From e75a969e969c7c8c7a902ac6e14ec8196fd9b903 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 15 May 2020 12:20:30 +0300 Subject: [PATCH 001/915] Updated dependencies --- opensrp-chw/build.gradle | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 121d6e52a5..67620a80ef 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -94,7 +94,7 @@ android { buildConfigField "int", "BASE_PNC_CLOSE_MINUTES", '1440' buildConfigField "int", "SCHEDULE_SERVICE_MINUTES", '360' buildConfigField "int", "STOCK_USAGE_REPORT_MINUTES", '1440' - buildConfigField "boolean", "USE_UNIFIED_REFERRAL_APPROACH", "false" + buildConfigField "boolean", "USE_UNIFIED_REFERRAL_APPROACH", "true" testCoverageEnabled true } } @@ -141,8 +141,8 @@ android { versionName "1.0.2" buildConfigField "String", 'opensrp_url', '"https://boresha-afya.smartregister.org/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' - buildConfigField "String", 'opensrp_url_debug', '"https://boresha-afya-stage.smartregister.org/opensrp/"' -// buildConfigField "String", 'opensrp_url_debug', '"https://ba-unified-stage.smartregister.org/opensrp/"' +// buildConfigField "String", 'opensrp_url_debug', '"https://boresha-afya-stage.smartregister.org/opensrp/"' + buildConfigField "String", 'opensrp_url_debug', '"https://ba-unified-stage.smartregister.org/opensrp/"' buildConfigField "String[]", "LOCATION_HIERACHY", '{"Country","Region","District","Ward" , "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS", '{"Ward" , "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS_DEBUG", '{"MOH Jhpiego Facility Name" , "Village"}' @@ -254,7 +254,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.2.2-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.3.0-Test-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From caf0666ee580984adca2f1acc5435bf5446b1ab0 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Sat, 16 May 2020 10:33:49 +0300 Subject: [PATCH 002/915] Code refactoring --- .../chw/activity/HivRegisterActivity.java | 157 +++++++++ .../chw/fragment/HivRegisterFragment.java | 308 ++++++++++++++++++ .../chw/model/HivRegisterFragmentModel.java | 67 ++++ .../HivRegisterFragmentPresenter.java | 50 +++ 4 files changed, 582 insertions(+) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java new file mode 100644 index 0000000000..a7dac197ba --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java @@ -0,0 +1,157 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import com.google.android.material.bottomnavigation.LabelVisibilityMode; + +import org.apache.commons.lang3.tuple.Triple; +import org.jetbrains.annotations.NotNull; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.core.job.HomeVisitServiceJob; +import org.smartregister.chw.core.job.VaccineRecurringServiceJob; +import org.smartregister.chw.fragment.FollowupRegisterFragment; +import org.smartregister.chw.fragment.ReferralRegisterFragment; +import org.smartregister.chw.malaria.util.MalariaJsonFormUtils; +import org.smartregister.chw.referral.activity.BaseReferralRegisterActivity; +import org.smartregister.chw.util.Constants; +import org.smartregister.helper.BottomNavigationHelper; +import org.smartregister.job.ImageUploadServiceJob; +import org.smartregister.job.PullUniqueIdsServiceJob; +import org.smartregister.job.SyncServiceJob; +import org.smartregister.job.SyncTaskServiceJob; +import org.smartregister.listener.BottomNavigationListener; + +import java.util.Collections; +import java.util.List; + +import timber.log.Timber; + +import static org.smartregister.chw.core.utils.CoreConstants.ENTITY_ID; +import static org.smartregister.chw.core.utils.CoreConstants.JSON_FORM.getMalariaConfirmation; +import static org.smartregister.chw.referral.util.Constants.ActivityPayload; +import static org.smartregister.chw.referral.util.Constants.ActivityPayloadType; +import static org.smartregister.util.JsonFormUtils.VALUE; +import static org.smartregister.util.JsonFormUtils.getFieldJSONObject; + +public class HivRegisterActivity extends BaseReferralRegisterActivity { + + public static void startReferralRegistrationActivity(Activity activity, String baseEntityID) { + Intent intent = new Intent(activity, HivRegisterActivity.class); + intent.putExtra(ActivityPayload.BASE_ENTITY_ID, baseEntityID); + intent.putExtra(ActivityPayload.REFERRAL_FORM_NAME, getMalariaConfirmation()); + intent.putExtra(ActivityPayload.ACTION, ActivityPayloadType.REGISTRATION); + activity.startActivity(intent); + } + + @NotNull + @Override + protected Fragment[] getOtherFragments() { + Fragment fg = new FollowupRegisterFragment(); + return new Fragment[]{fg}; + } + + @NotNull + @Override + protected ReferralRegisterFragment getRegisterFragment() { + return new ReferralRegisterFragment(); + } + + @Override + public List getViewIdentifiers() { + return Collections.singletonList(Constants.CONFIGURATION.MALARIA_REGISTER); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + NavigationMenu.getInstance(this, null, null); + } + + @Override + protected void registerBottomNavigation() { + bottomNavigationHelper = new BottomNavigationHelper(); + bottomNavigationView = findViewById(org.smartregister.R.id.bottom_navigation); + + if (bottomNavigationView != null) { + bottomNavigationView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_clients); + bottomNavigationView.getMenu().removeItem(org.smartregister.chw.referral.R.id.action_register); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_search); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_library); + + bottomNavigationView.inflateMenu(getMenuResource()); + bottomNavigationHelper.disableShiftMode(bottomNavigationView); + + BottomNavigationListener referralBottomNavigationListener = getBottomNavigation(this); + bottomNavigationView.setOnNavigationItemSelectedListener(referralBottomNavigationListener); + + } + } + + @Override + public void startFormActivity(JSONObject jsonForm) { + //Implement + } + + private void startRegisterActivity() { + HomeVisitServiceJob.scheduleJobImmediately(HomeVisitServiceJob.TAG); + VaccineRecurringServiceJob.scheduleJobImmediately(VaccineRecurringServiceJob.TAG); + ImageUploadServiceJob.scheduleJobImmediately(ImageUploadServiceJob.TAG); + SyncServiceJob.scheduleJobImmediately(SyncServiceJob.TAG); + PullUniqueIdsServiceJob.scheduleJobImmediately(PullUniqueIdsServiceJob.TAG); + HomeVisitServiceJob.scheduleJobImmediately(HomeVisitServiceJob.TAG); + SyncTaskServiceJob.scheduleJobImmediately(SyncTaskServiceJob.TAG); + Intent intent = new Intent(this, HivRegisterActivity.class); + this.startActivity(intent); + this.overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up); + this.finish(); + } + + @Override + protected void onResumption() { + super.onResumption(); + NavigationMenu menu = NavigationMenu.getInstance(this, null, null); + if (menu != null) { + menu.getNavigationAdapter().setSelectedView(Constants.DrawerMenu.REFERRALS); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == Activity.RESULT_OK && requestCode == org.smartregister.chw.malaria.util.Constants.REQUEST_CODE_GET_JSON) { + String jsonString = data.getStringExtra(org.smartregister.chw.malaria.util.Constants.JSON_FORM_EXTRA.JSON); + try { + JSONObject form = new JSONObject(jsonString); + Triple registrationFormParams = MalariaJsonFormUtils.validateParameters(form.toString()); + JSONObject jsonForm = registrationFormParams.getMiddle(); + JSONArray fields = registrationFormParams.getRight(); + String encounter_type = jsonForm.optString(org.smartregister.chw.malaria.util.Constants.JSON_FORM_EXTRA.ENCOUNTER_TYPE); + + if (org.smartregister.chw.malaria.util.Constants.EVENT_TYPE.MALARIA_FOLLOW_UP_VISIT.equals(encounter_type)) { + JSONObject fever_still_object = getFieldJSONObject(fields, "fever_still"); + if (fever_still_object != null && "Yes".equalsIgnoreCase(fever_still_object.optString(VALUE))) { + HivRegisterActivity.startReferralRegistrationActivity(this, jsonForm.optString(ENTITY_ID)); + } + } else { + startRegisterActivity(); + } + } catch (JSONException e) { + Timber.e(e); + } + + } else { + finish(); + } + + } +} + \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java new file mode 100644 index 0000000000..1a21582815 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -0,0 +1,308 @@ +package org.smartregister.chw.fragment; + +import android.database.Cursor; +import android.os.Bundle; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.appcompat.widget.Toolbar; +import androidx.loader.content.CursorLoader; +import androidx.loader.content.Loader; + +import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; +import org.smartregister.chw.R; +import org.smartregister.chw.activity.MalariaFollowUpVisitActivity; +import org.smartregister.chw.anc.util.DBConstants; +import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.core.utils.QueryBuilder; +import org.smartregister.chw.model.ReferralRegisterFragmentModel; +import org.smartregister.chw.presenter.ReferralRegisterFragmentPresenter; +import org.smartregister.chw.referral.activity.ReferralDetailsViewActivity; +import org.smartregister.chw.referral.domain.MemberObject; +import org.smartregister.chw.referral.fragment.BaseReferralRegisterFragment; +import org.smartregister.chw.referral.provider.ReferralRegisterProvider; +import org.smartregister.chw.util.Constants; +import org.smartregister.chw.util.Utils; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.commonregistry.CommonRepository; +import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.view.activity.BaseRegisterActivity; +import org.smartregister.view.customcontrols.CustomFontTextView; + +import java.text.MessageFormat; +import java.util.HashMap; +import java.util.List; +import java.util.Set; + +import timber.log.Timber; + +public class HivRegisterFragment extends BaseReferralRegisterFragment { + + private static final String DUE_FILTER_TAG = "PRESSED"; + private View view; + private View dueOnlyLayout; + private boolean dueFilterActive = false; + + @Override + public void initializeAdapter(@Nullable Set visibleColumns) { + ReferralRegisterProvider referralRegisterProvider = new ReferralRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); + clientAdapter = new RecyclerViewPaginatedAdapter(null, referralRegisterProvider, context().commonrepository(this.tablename)); + clientAdapter.setCurrentlimit(20); + clientsView.setAdapter(clientAdapter); + } + + @Override + public void setupViews(View view) { + super.setupViews(view); + this.view = view; + + Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); + toolbar.setContentInsetsAbsolute(0, 0); + toolbar.setContentInsetsRelative(0, 0); + toolbar.setContentInsetStartWithNavigation(0); + + NavigationMenu.getInstance(getActivity(), null, toolbar); + + View navbarContainer = view.findViewById(R.id.register_nav_bar_container); + navbarContainer.setFocusable(false); + + LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); + View searchBarLayout = view.findViewById(R.id.search_bar_layout); + searchBarLayout.setLayoutParams(params); + searchBarLayout.setBackgroundResource(R.color.chw_primary); + searchBarLayout.setPadding(searchBarLayout.getPaddingLeft(), searchBarLayout.getPaddingTop(), searchBarLayout.getPaddingRight(), (int) Utils.convertDpToPixel(10, getActivity())); + + CustomFontTextView titleView = view.findViewById(R.id.txt_title_label); + if (titleView != null) { + titleView.setPadding(0, titleView.getTop(), titleView.getPaddingRight(), titleView.getPaddingBottom()); + } + + View topLeftLayout = view.findViewById(R.id.top_left_layout); + topLeftLayout.setVisibility(View.GONE); + + View topRightLayout = view.findViewById(R.id.top_right_layout); + topRightLayout.setVisibility(View.VISIBLE); + + View sortFilterBarLayout = view.findViewById(R.id.register_sort_filter_bar_layout); + sortFilterBarLayout.setVisibility(View.GONE); + + View filterSortLayout = view.findViewById(R.id.filter_sort_layout); + filterSortLayout.setVisibility(View.GONE); + + dueOnlyLayout = view.findViewById(R.id.due_only_layout); + dueOnlyLayout.setVisibility(View.VISIBLE); + dueOnlyLayout.setOnClickListener(registerActionHandler); + + if (getSearchView() != null) { + getSearchView().setBackgroundResource(org.smartregister.family.R.color.white); + getSearchView().setCompoundDrawablesWithIntrinsicBounds(org.smartregister.family.R.drawable.ic_action_search, 0, 0, 0); + getSearchView().setTextColor(getResources().getColor(R.color.text_black)); + } + } + + @Override + protected void initializePresenter() { + if (getActivity() == null) { + return; + } + String viewConfigurationIdentifier = ((BaseRegisterActivity) getActivity()).getViewIdentifiers().get(0); + presenter = new ReferralRegisterFragmentPresenter(this, new ReferralRegisterFragmentModel(), viewConfigurationIdentifier); + } + + @Override + public void setAdvancedSearchFormData(HashMap hashMap) { + //TODO + //Log.d(TAG, "setAdvancedSearchFormData unimplemented"); + } + + @Override + protected void onViewClicked(View view) { + super.onViewClicked(view); + + if (view.getId() == R.id.due_only_layout) { + toggleFilterSelection(view); + } + } + + protected void toggleFilterSelection(View dueOnlyLayout) { + if (dueOnlyLayout != null) { + if (dueOnlyLayout.getTag() == null) { + dueFilterActive = true; + dueFilter(dueOnlyLayout); + } else if (dueOnlyLayout.getTag().toString().equals(DUE_FILTER_TAG)) { + dueFilterActive = false; + normalFilter(dueOnlyLayout); + } + } + } + + protected String searchText() { + return (getSearchView() == null) ? "" : getSearchView().getText().toString(); + } + + private void switchViews(View dueOnlyLayout, boolean isPress) { + TextView dueOnlyTextView = dueOnlyLayout.findViewById(R.id.due_only_text_view); + if (isPress) { + dueOnlyTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_due_filter_on, 0); + } else { + dueOnlyTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_due_filter_off, 0); + + } + } + + @Override + protected void openProfile(CommonPersonObjectClient client) { + ReferralDetailsViewActivity.startReferralDetailsViewActivity(getActivity(), new MemberObject(client)); + } + + @Override + protected void openFollowUpVisit(CommonPersonObjectClient client) { + MalariaFollowUpVisitActivity.startMalariaRegistrationActivity(getActivity(), client.getCaseId(), null); + } + + @Override + protected void onResumption() { + if (dueFilterActive && dueOnlyLayout != null) { + dueFilter(dueOnlyLayout); + } else { + super.onResumption(); + } + } + + @Override + public void onResume() { + super.onResume(); + + Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); + toolbar.setContentInsetsAbsolute(0, 0); + toolbar.setContentInsetsRelative(0, 0); + toolbar.setContentInsetStartWithNavigation(0); + NavigationMenu.getInstance(getActivity(), null, toolbar); + } + + @Override + protected void refreshSyncProgressSpinner() { + if (syncProgressBar != null) { + syncProgressBar.setVisibility(View.GONE); + } + if (syncButton != null) { + syncButton.setVisibility(View.GONE); + } + } + + private String defaultFilterAndSortQuery() { + SmartRegisterQueryBuilder sqb = new SmartRegisterQueryBuilder(mainSelect); + + String query = ""; + StringBuilder customFilter = new StringBuilder(); + if (StringUtils.isNotBlank(filters)) { + customFilter.append(MessageFormat.format(" and ( {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.FIRST_NAME, filters)); + customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.LAST_NAME, filters)); + customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.MIDDLE_NAME, filters)); + customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ) ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.UNIQUE_ID, filters)); + + } + if (dueFilterActive) { + customFilter.append(MessageFormat.format(" and ( {0}) ", presenter().getDueFilterCondition())); + } + try { + if (isValidFilterForFts(commonRepository())) { + + String myquery = QueryBuilder.getQuery(joinTables, mainCondition, tablename, customFilter.toString(), clientAdapter, Sortqueries); + List ids = commonRepository().findSearchIds(myquery); + query = sqb.toStringFts(ids, tablename, CommonRepository.ID_COLUMN, + Sortqueries); + query = sqb.Endquery(query); + } else { + sqb.addCondition(customFilter.toString()); + query = sqb.orderbyCondition(Sortqueries); + query = sqb.Endquery(sqb.addlimitandOffset(query, clientAdapter.getCurrentlimit(), clientAdapter.getCurrentoffset())); + + } + } catch (Exception e) { + Timber.e(e); + } + + return query; + } + + + @Override + public void countExecute() { + Cursor c = null; + try { + + String query = "select count(*) from " + presenter().getMainTable() + " inner join " + Constants.TABLE_NAME.FAMILY_MEMBER + + " on " + presenter().getMainTable() + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + + " where " + presenter().getMainCondition(); + + if (StringUtils.isNotBlank(filters)) { + query = query + " and ( " + filters + " ) "; + } + + if (dueFilterActive) { + query = query + " and ( " + presenter().getDueFilterCondition() + " ) "; + } + + c = commonRepository().rawCustomQueryForAdapter(query); + c.moveToFirst(); + clientAdapter.setTotalcount(c.getInt(0)); + Timber.v("total count here %s", clientAdapter.getTotalcount()); + + clientAdapter.setCurrentlimit(20); + clientAdapter.setCurrentoffset(0); + + } catch (Exception e) { + Timber.e(e); + } finally { + if (c != null) { + c.close(); + } + } + } + + @Override + public Loader onCreateLoader(int id, final Bundle args) { + if (id == LOADER_ID) { + return new CursorLoader(getActivity()) { + @Override + public Cursor loadInBackground() { + // Count query + final String COUNT = "count_execute"; + if (args != null && args.getBoolean(COUNT)) { + countExecute(); + } + String query = defaultFilterAndSortQuery(); + return commonRepository().rawCustomQueryForAdapter(query); + } + }; + } + return super.onCreateLoader(id, args); + } + + protected void dueFilter(View dueOnlyLayout) { + filterDue(searchText(), "", presenter().getDueFilterCondition()); + dueOnlyLayout.setTag(DUE_FILTER_TAG); + switchViews(dueOnlyLayout, true); + } + + protected void normalFilter(View dueOnlyLayout) { + filterDue(searchText(), "", presenter().getMainCondition()); + dueOnlyLayout.setTag(null); + switchViews(dueOnlyLayout, false); + } + + protected void filterDue(String filterString, String joinTableString, String mainConditionString) { + filters = filterString; + joinTable = joinTableString; + mainCondition = mainConditionString; + filterandSortExecute(countBundle()); + } + +} + + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java new file mode 100644 index 0000000000..c26b372916 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java @@ -0,0 +1,67 @@ +package org.smartregister.chw.model; + + +import androidx.annotation.NonNull; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.core.utils.ChildDBConstants; +import org.smartregister.chw.referral.model.BaseReferralRegisterFragmentModel; +import org.smartregister.chw.util.ChwDBConstants; +import org.smartregister.chw.util.Constants; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.family.util.DBConstants; + +import java.util.HashSet; +import java.util.Set; + +import static org.smartregister.chw.referral.util.Constants.Tables; +import static org.smartregister.chw.referral.util.DBConstants.Key; + +public class HivRegisterFragmentModel extends BaseReferralRegisterFragmentModel { + + @NonNull + @Override + public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { + SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); + queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + Constants.ENTITY_ID + " = " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.TASK + " ON " + tableName + ".id = " + Constants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.REASON_REFERENCE); + queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T1 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER + " = T1." + DBConstants.KEY.BASE_ENTITY_ID); + queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T2 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD + " = T2." + DBConstants.KEY.BASE_ENTITY_ID); + return queryBuilder.mainCondition(mainCondition); + } + + @Override + @NotNull + public String[] mainColumns(String tableName) { + Set columnList = new HashSet<>(); + + columnList.add(tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.FIRST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.LAST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DOB); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.GENDER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.OTHER_PHONE_NUMBER); + columnList.add("T2." + DBConstants.KEY.PHONE_NUMBER + " AS " + Key.FAMILY_HEAD_PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); + columnList.add("T1." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.PRIMARY_CAREGIVER); + columnList.add("T2." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.FAMILY_HEAD); + columnList.add(Tables.REFERRAL + "." + Key.REFERRAL_SERVICE + " AS " + Key.REFERRAL_SERVICE); + columnList.add(Tables.REFERRAL + "." + Key.REFERRAL_DATE); + columnList.add(Constants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " AS " + Key.REFERRAL_STATUS); + columnList.add(Tables.REFERRAL + "." + Key.PROBLEM); + columnList.add(Tables.REFERRAL + "." + Key.SERVICE_BEFORE_REFERRAL); + columnList.add(Tables.REFERRAL + "." + Key.SERVICE_BEFORE_REFERRAL_OTHER); + columnList.add(Tables.REFERRAL + "." + Key.PROBLEM_OTHER); + columnList.add(Tables.REFERRAL + "." + Key.REFERRAL_APPOINTMENT_DATE); + columnList.add(Tables.REFERRAL + "." + Key.REFERRAL_HF); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); + return columnList.toArray(new String[columnList.size()]); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java new file mode 100644 index 0000000000..6d7ee6a583 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java @@ -0,0 +1,50 @@ +package org.smartregister.chw.presenter; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.R; +import org.smartregister.chw.core.utils.ChwDBConstants; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.referral.contract.BaseReferralRegisterFragmentContract; +import org.smartregister.chw.referral.presenter.BaseReferralRegisterFragmentPresenter; +import org.smartregister.chw.referral.util.DBConstants; +import org.smartregister.chw.util.Constants; + +import static org.smartregister.chw.referral.util.Constants.ReferralType; +import static org.smartregister.chw.referral.util.Constants.Tables; + +public class HivRegisterFragmentPresenter extends BaseReferralRegisterFragmentPresenter { + + public HivRegisterFragmentPresenter(BaseReferralRegisterFragmentContract.View view, BaseReferralRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { + super(view, model, viewConfigurationIdentifier); + } + + @Override + @NotNull + public String getMainCondition() { + return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + + "AND " + Tables.REFERRAL + "." + DBConstants.Key.REFERRAL_TYPE + " = '" + ReferralType.COMMUNITY_TO_FACILITY_REFERRAL + "' "; + + } + + @Override + @NotNull + public String getDueFilterCondition() { + return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + + "AND " + Constants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " = '" + CoreConstants.BUSINESS_STATUS.REFERRED + "' " + + "AND " + Tables.REFERRAL + "." + DBConstants.Key.REFERRAL_TYPE + " = '" + ReferralType.COMMUNITY_TO_FACILITY_REFERRAL + "' "; + + } + + @Override + public void processViewConfigurations() { + super.processViewConfigurations(); + if (getConfig().getSearchBarText() != null && getView() != null) { + getView().updateSearchBarHint(getView().getContext().getString(R.string.search_name_or_id)); + } + } + + @Override + public String getMainTable() { + return Tables.REFERRAL; + } +} From 45edf1edbaf9aaa7a8a94b4a973b9e6d82647a24 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Sat, 16 May 2020 11:07:28 +0300 Subject: [PATCH 003/915] Added TB clients icons and navigation menu item --- .../chw/model/NavigationModelFlv.java | 7 ++++++- .../src/main/res/mipmap-hdpi/sidemenu_tb.png | Bin 0 -> 3468 bytes .../main/res/mipmap-hdpi/sidemenu_tb_active.png | Bin 0 -> 3645 bytes .../src/main/res/mipmap-mdpi/sidemenu_tb.png | Bin 0 -> 2090 bytes .../main/res/mipmap-mdpi/sidemenu_tb_active.png | Bin 0 -> 2211 bytes .../src/main/res/mipmap-xhdpi/sidemenu_tb.png | Bin 0 -> 4837 bytes .../res/mipmap-xhdpi/sidemenu_tb_active.png | Bin 0 -> 5137 bytes .../src/main/res/mipmap-xxhdpi/sidemenu_tb.png | Bin 0 -> 8028 bytes .../res/mipmap-xxhdpi/sidemenu_tb_active.png | Bin 0 -> 8488 bytes .../src/main/res/mipmap-xxxhdpi/sidemenu_tb.png | Bin 0 -> 11490 bytes .../res/mipmap-xxxhdpi/sidemenu_tb_active.png | Bin 0 -> 12112 bytes 11 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 opensrp-chw/src/main/res/mipmap-hdpi/sidemenu_tb.png create mode 100644 opensrp-chw/src/main/res/mipmap-hdpi/sidemenu_tb_active.png create mode 100644 opensrp-chw/src/main/res/mipmap-mdpi/sidemenu_tb.png create mode 100644 opensrp-chw/src/main/res/mipmap-mdpi/sidemenu_tb_active.png create mode 100644 opensrp-chw/src/main/res/mipmap-xhdpi/sidemenu_tb.png create mode 100644 opensrp-chw/src/main/res/mipmap-xhdpi/sidemenu_tb_active.png create mode 100644 opensrp-chw/src/main/res/mipmap-xxhdpi/sidemenu_tb.png create mode 100644 opensrp-chw/src/main/res/mipmap-xxhdpi/sidemenu_tb_active.png create mode 100644 opensrp-chw/src/main/res/mipmap-xxxhdpi/sidemenu_tb.png create mode 100644 opensrp-chw/src/main/res/mipmap-xxxhdpi/sidemenu_tb_active.png diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java index 5a74606867..7ff2c3adff 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -28,14 +28,19 @@ public List getNavigationItems() { NavigationOption op7 = new NavigationOption(R.mipmap.sidemenu_malaria, R.mipmap.sidemenu_malaria_active, R.string.menu_malaria, Constants.DrawerMenu.MALARIA, 0); NavigationOption op8 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.menu_referrals, Constants.DrawerMenu.REFERRALS, 0); NavigationOption op9 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.updates, CoreConstants.DrawerMenu.UPDATES, 0); + NavigationOption op10 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_clients, CoreConstants.DrawerMenu.HIV_CLIENTS, 0); + NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb_clients, CoreConstants.DrawerMenu.TB_CLIENTS, 0); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) navigationOptions.add(new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0)); navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); - if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { + navigationOptions.add(op10); + navigationOptions.add(op11); navigationOptions.add(op8); + } navigationOptions.add(op9); } diff --git a/opensrp-chw/src/main/res/mipmap-hdpi/sidemenu_tb.png b/opensrp-chw/src/main/res/mipmap-hdpi/sidemenu_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..b52b45ae2749d41bc19b4cfc6224cf904b942fef GIT binary patch literal 3468 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

q&7b_VaG7B>|KSvP#oAciihN996 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 MRMmr(tGo#P9{`u`xc~qF literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/res/mipmap-mdpi/sidemenu_tb.png b/opensrp-chw/src/main/res/mipmap-mdpi/sidemenu_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..fee6712076bed46e36ac5ae9bafa1a02ae7121bb GIT binary patch literal 2090 zcmaKu`6CmI1IFhFn`uVNa=pyaNwpZ8QdEj>-|z3=_lM{C{P6h$o+ro2(N+Q^3jzQD5;&}t%O8^d8!?eTT^Qy$ z0RV`8##x!WCCsn;5=rjX2U=ic2Lo9Q4|ylN8542dGRQaE#>eSyny{xq3)1fVlX%X; zw%u*$gTZ^d&w8r85D^E8q+k|j#DcClID0E)pTRnV!tEQAt2TKCeSMYjGiA>c`IM2G zd;B-+l=vAi5x~2bZPQ&) zUuvT=ybHyQNp+>P0d$Pdt>5A`ju|q6N_a0szcf!|xntX)<6Bj#+Y9yT-hl_p3YpDP zlAwa*VEpt*$jXg=vIuxr9^UR6@agADQAXZ43`3xIbl z;gH6LhIw84nIj~#dHq4^rDKLq2^F7JwNh#O)bp>}RDDzk#xGJ);dhbyGdxyE0bfOX zg~9SKpj1?Ozy+BHDyriYjT-b`ZnacAjbUSx4X0vq;j88)af!1$P`S}7sF_++o*BF& zawO!7aL_0Z1QE?k2QezCpekbanaHixOBnRh?j3daU|Lkm&)%U(pqq|)QMwE{10q;V3NIU9V5JI2bf zl{1@M?aN6f43XFZ+WV#1>+*`$;bJ{cWIt`?-qr?0ufFB@@Y*MCD0N6b_J})j{e-Nk zH!=+cH=2;yB(I%0!b(6II4J}*fQAjqm5vT6%Hb6#TLQl#B`${|%~X9K3Nh9yC?UYn_|)B0YIjb{CuEc*j#4Wx9??LWBFQUCGRJiFvc6vBbmR!gX1>3LU*Vq{PL$Z zI$!>J7&bC9NPjnE>_nZ$&QUXT_(qiFH$dgW36L5E$@JD-7NO?KJ^2 z_q{n+FHgRTF*iOsQ|IUgZ<#pT0cWgfXZdv;B@FACL-U(DDLM(BfgRkSN$BHFUj^dY ze1*!GinMYD9Viec6sGyLZQiHC6sJL9*@`;Vwu6A&Q>s#RA6#rwl#Jc39?2M(O$Y=q zS7B1rxk6%h4fvcpQERMiQcSXGrk)|HB|Ca32a@?lMqiVEjCx(Ti}tIqBCfl_U)as!F7oW?|NgfpUudEcNPJ7LJTW79$X1kM2eZ=9aXl;5em?#-Lh zG3YI3{g&P*#OdNdD?>I}0H~SH-@7}@GJW1{^lOSE;5lD4#2eT>8SzZ^(M@3ErKOA8 znpTRoE7U*V6eCBq>reP&LpgCCI!z#YAJLVN(THq}}56-G8C20zVJ<`MP&A`E4C z{#}1wzPt&BhrwW?_D@M9a}01jg5MsrwjhaKy4G?iA}b~aZstim>a5WU2AHG~aHf;R zw(?RI?T+i0-{@I4N#tU85Q}v#k8Pa=Ims{2%{8%;C!&Y!-&X3wo&+@-T-_w)2wMJ{ z%!nLj9PCw54dfg4r4oFuh4A8vH-!)_EYR~^VHN+Z&kFEc*4g5fBOKpn+KTt?n-S_9 zSLs-Cz7<*%<#w*stk;uFZBe$NoQdjnI|b=ty1y@I^Jv#1 z1ok?Z=9tcM!A^S`a~Jwy@7`X?>>fQp-(9dncCkGw#ghDszBGKC+jH2DyL9nscQ>YG zlX+t(%4sT+du^lH6Pg`#`@Z&xi%n!x1l4X_i_}RNyeD4hAB!MmyfjK%9wXvFP~;Cjc*^()^uPLkOXu-KwPYTq#*Kkh=;K29sDPpx|=#q%&TBy`{v zy-TE5W~!lRbaeE$O2aHLeZti)R3|O{tZ}P!phB_YPjZ6mqNKJJjm&9ENHg*N=qDLY z1I=x@jxWUpF+31<`ax^WDyL$vT>&xNzt ztnax|u9~hY#qF{^4Kco1M%qXz#&pV)eY|hw*0ZsZ8qQK-zU4_qY7$~&$X060^dm1PiDynD@Lq$#GGFL3sP|?VVES^K;J=OP|J)bpJ)y7A0Gk81 S$RGZE007R~(W=EFApJj5Im5;P literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/res/mipmap-mdpi/sidemenu_tb_active.png b/opensrp-chw/src/main/res/mipmap-mdpi/sidemenu_tb_active.png new file mode 100644 index 0000000000000000000000000000000000000000..7f96219311dba629721fd8491720aea3d7cf9f99 GIT binary patch literal 2211 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 Z2Tbu(`bsPE(`y8W43Ci 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 Tw7BTtzf>BkIx1Dq;gSCX21m1c literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/res/mipmap-xxhdpi/sidemenu_tb.png b/opensrp-chw/src/main/res/mipmap-xxhdpi/sidemenu_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..a8372c319a890783a3a239f7b018bb5f08edec45 GIT binary patch literal 8028 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 literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/res/mipmap-xxhdpi/sidemenu_tb_active.png b/opensrp-chw/src/main/res/mipmap-xxhdpi/sidemenu_tb_active.png new file mode 100644 index 0000000000000000000000000000000000000000..1db2631f3cb00d871b905282b3a66293335664c0 GIT binary patch literal 8488 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 literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/res/mipmap-xxxhdpi/sidemenu_tb.png b/opensrp-chw/src/main/res/mipmap-xxxhdpi/sidemenu_tb.png new file mode 100644 index 0000000000000000000000000000000000000000..4e1d4098712440164ef0a334c30a708ba879b1e9 GIT binary patch literal 11490 zcmds7^mI?f*<^)egA$ zA5;rvIliZh+n#rpkM&)Z!+e45ilk(KSZn;&FhU{#Ti}?W(?UZ#03!y-eF_}?RSshs zSo|>Tm%Mcy?vq1l!Vgfeq)zQv1tY9Bky=r{RlC^p46eL`#pUJJhX&+;T;Tp`K3BDv z*BJf!rB>{G6jvOc!tccf)XQjy<#I{$N zir|LAfXjHI!ZqX^(~d>9!c5q6kOi5--5s6vQ~Im+rbM|I+Ik|u5}fK+xT@<#Ga zi*JH~>x+ECUm8uUxOOsp+I&U?3%M#?g~wgV_HJRkt3uJkxGl_!M7v8sEGId(`-e2H z)SIBe;W7g@k3D2@#L=Z*T`$9q#hsFKng!}f0Kc5T!koh4BfXW?MELdMEuVp-+K1bI zY?$5d@>c`_KSC;^=hMliwP6xod33$k)5&}gojPO!VXkftUy;(+D>I-@h4-sU&kO0OKlaP3F~hN4?kQ3ItvZYXIcij> zSzI>5eZUxZ)f?_qvlM*`_=)i@msqi0`~qy3cDvl0D%JX&(KfX$f6D`jGsx$`SFjoa z(F1cS3YlW7gnFS?A6KPB` zcf2!Y9{XAB`9v3JdG&b_ub3CY>Yj?l+W2Yo7|nZt!0%t>b6jVL9LQu6;c4$9s)ZM_ z#)84F&@ABoc@S6i%@Fgpiy=>dnmfJP`cm2N0tF+!@$90`a4e+FESC_Dlz=)wAh=Jn z&H&iv<&CSNT6OrY* zb2T0Cyh0z~6D|@M-5M`R67iUu8=6U0qyp{HYk7it8+de1qp44BMJg)aDQ2c-+8WGv z^YB(@XJ@}LT1k?R!T#Fz0_j}h(WyfmVnbZO-ThyGXj!Zg4TzIuch$9tU{1VO?g4(x zEG{+|64qRjyjbkoA>_fJsJtrD)brYSF*xNFa)8EHuU#!{%%dkIMKx#1gvwL|ImQxc$0 z_$c*H4F^ucrueze?#6ucU?(9zHce~h1>EN4exgT>gVXZeInZa`txXhz2wM>bkZ>-T z_O?#`U`tn~<*>34zKH_4%merc5tDP7fUh3-303~T{}C2h=c7Z1vIue!L!gO#A>B$9 zeB;@G(9x4bTEl&^+$_^@WW2(&xxy~Hi)R;9+|?b)bWmRWLDMFkbFZ18qFvIoVDVX! zcG^z`!t2D~-FuKn0VW~R`Q}zOUB`Y&uN!xREgS8Yw(9e!QnOpRt1g>lfaO&y1r$mv z9|2E!RsXzj3x+}5%ltbXb;={TzUyxH_Rhw0i?xf;lGTR*07mOA=)Yn1JjNSJHjM>y zI0YkB)N(_k=EZNMeFNZfw3tmY=P}M(}brV#b|bz$C-)Q#wvS#>obZ8 zYgf^Hukabo*9mDF65Ab`P=LD8qqYz3;_!IFffV)FE*1eOegYOxl}th19iBm-aSS&t zieix1`yR$yogo<8RcA6VssyNTXO0$Hwr|vzOmKkUCxBcX-cT(t4Y)j57a^P!0~VEi zHPAZ8FQ|on$BYaoTUTUwO!XOQe^;bhxYg$hJgHCJ!d#0$I0M339&mfE=!^sL9SsCA zQD}y>yMVAuiH?r0f-mB?Rlf#mj1Zn`5KbycrnxCZ60B$OK-l+;8oqIh3E!4%_k9IC zw*3hIMJ2Y%?;@7@v$cgWvrGAdSfJf})d&KZTVzp|kA=KjY-kKF1!@p@Nl>S^6#d~z_JKWWRX||{3|cD6{Nb)`&_z6H^AojutqKnyY=F;fKl5mkm@+TihqOA3z11NNxEU^vXG?5&}BD-rL>%s1%c|+UkCn z)0#VIa%(y7{7GgRfoP|Li0SNBD%$b_iE0Ix9-kokk)pW3=MZ*BEo{0p{kDl0p;f0+ z?zf&u#*H#Y!mJqvug+)PgPl;R0;KIPpW9HBiUng_+u!8HhJ)(}Y5Ed2VA$IaG5{_6 z&&nBGZKl6WZT>JD3`kt^M1m|vk}8S2`j!Qe&yPcwCx}84QqCjg*MrEu!T71FR zEFGAt_o4OP zjc;8jj^5<)4^fc3-Ha^c)OYVx8gM~JwW05wpABHo*QBg;;2I(Wx41GItkWo3~Yt zm2Xh8Lbs<-tgrIm#BS2Wn9AA9&dRv1)%A4pr6f-xh_ntzfpXME{>q9d@Xww-<9IB6N-5H%gV7Y7<1f3zCwSPEk>@sB#-4 za$4N$#e>M|q{CAnF9IC~v&6zCP;%~2_fA>6v}@ZJ&%tdzGTduOS^goLR*M*=Mo{cw z>7pyS$ceB2J<}gTTgf5wqtkZRmMQCD*uyN{%19@yU=B15CE-qLU>oDQO%RsA=;e|n zqNT&=3Mysp#euvWEZ-Q}rVMWDC;oC>uugp>CK|h0m)U0HdwvH0=N1z_^4NXf{?dY^ zZ6<5hbO8w~sfx>i>~+n*SWf6lUqWFUSFQsNfurF2U%=eetIqo%_h}^xS@M^L)bM%h zGm{?BYQp@Lnz6kUqZaSjpg&|1o_3Xi0J*PyOA8rKLWMaQcpZmPh@#N&lq& z=Sg1BeE^-nN^{^x&`HvE&xURXmnyPsiuo+U;nH{q)B}G%4ML+a9n)y}1DbLPbdm8} zuWX#e`B{sRv>PF4^6yyuXR`9Vnz2r*djP9}j*B3n?(%WOSg-ypEZvaH&PUNmUXrIm zGJZa@f`T~S2c9}_{X+6fHbXlRR`xXF`tnf9k*2OiMqMsD`JXsTf`6lR_37wAY>fFF zl3%9Nfn@$?9+26X3JB=k2?=}z7x>`ekV@Er3^9dX&Zb(wP&E_RZ6yJ-yPl;34^NEK z-Fs?k`Qy^QFVF9U%~lR?^vv&5`9@{?|JGvCObTas2?i)UF*0u_tV;gg5YoYznYn-S z#EU|8TVw>=Sy3#23fe3L<$?O$4-Ca#^|jXZU;HWqvnn0vme+LbC;U@TKYeZQQ;Rfz zNC{B<(lsj_d*5u=T`_cKIR#kUh)npGp4LJ>Yca2MbKSTJ#_(P(1DBSj>us^Jexj`Y zssGZq!Hm_;oHmuJZoFoqTAu-AYOnj?xo1U5OjbaFI0fPHA|m|;T`_a!B-VbDF<;$M26w%!94p{uc;$a{^0o#woT(tphoCxuH8 zX7ebec;}IyBfCnAviQBOR)c-vSd`p<%0xf}f_OQO7N^YGOR}1YxV)Y&0XwqynxMs`G&Rz8BD{ZwtO3% zhoS1G@3OZm_=PKB!XwD0{#hS2kFC?4n|Q#|@&&^?t0+p?A-2Q%V;RabAFX6=^;F?4 z!@MRhsJd1eYGm0W6gY_YD4>o`i;WLvBsXn()vG96Kk_dv5Y@O3o^Enn!Y`}&`y;-W zMsK4(>QZKk;ENLq^bTPc5Rj@ypn!YCEu8C5^t@Xa-vjg#~vCQnXvr@eZ zcs{LZ3shbdafJWw_b!2n2*81Kc4qPp_Xa1)QXz=CcKwOYTv$$;h==m5OM@Z(C~10FB@b)Wa{oU;Hb6&C&RE$>ag18tsZz@khNt4i$9 z&FpIakI)^v3G8LtZ;7G$wzyLdONFgnsmIODEbLvM&CG;1%+&`dvF5@yttnD6b|vuD9EGb* zzq=mvMoJ51d@&c?hbXb-*4I?!P^-8)1UeYzhNs+H0K+PP`@nG$f^>hP6kg};2l%R$ zmutd$xrEO%LDQ$i=@`oJ0G>M_RyiKQ5xc1`hdwwkEl~j46V4YNR8-d}apaZ){${@d z+-+RH5QVven&!_HxQSj`$`i!qqsl6OSi^A(Siv#IKM9LCBj0+&Tt6aqb zIdQInz#s8q4?GwtfnNe-P7vDv24!_jHSr6$n5znSt*Mg&E{x1kPrNv9KP{uV-~1$I zW@c7*GbK54c9V$%mQG)}@Y;AM}ZATOoZ(lkD!UNzwjXb*M>3 zPa^GcUJ&2CS@d%wh4=+a*IFNyuEF*dvo>M|+}&F(hnYsOl00g7iuXM%op0DA$A}4| zSBBN^X;|Q#O-bg)WWMbX&X(5Jx<&qzsg41%rKQAtdp@JlD$y(wDlj3&NEvY`gF&^R zZDSQqH9d+Z{KS#@Q7(hMBfBOkpTL}ZQkonzV!365tvbZ}TYt~mwQ{t)$5NkI-I#Xx z<+nK!1r{;@H7aqGCMi7?z}g5yg_71*=o7?=lxsp;`OGc|{9$nZdCI&7TWq3yplTVE zw^Ds=m{UpE!Yp>Fsz1s##`+wog*Mt-hOIFKsWwxmZhM(;v^>K8nMsN?Q834Mb7J1K zN#h4P)~$$r@4q#zo}82B_aqO5{QzpTMs4A|!$EpY62Y92CM9jo1Bc#JleKq+=W`WF zYEm;}(S&b?Z@COt`|9~k&ZVbFlX$y#ONboP>9H49@%{aqZlIz09G>b#(ZJ9O`%3L@ zt*>xj^+=17a*HxH%#?ER;c#d3GrOYvO8SH6x^_63J<3!+}GRjK{R3>@79E zCPI6bf~LM>$Msw8Wh&}@F18eNDfnu1X0x zNjjS#$CQ~4pUUkk_kGfxc>F1lTB96-3$9^e0a^Qd)Xo|ig+h%nzuqeL+)D@%PC zbICAYE@nDmOTDNAT-)z8q4+aXSyPxLEi_`3^&|;TxLT3y>u*etRA*0O@kfdMew|1-_?b2+wfEF;~2G zpZ!8F_x^x?YN+*^7H2ugA~JtuNu@%$7u_gM`2bdwAn>gwBj`vQ5&q=n((Y5j#BIyZ zZS6aZ37*+Yyc!1$Vs6+~3lC7;G8|09*T_v@hj26fK!Kvi0O`BEm!W(O%OH?G6ckwn$t`0({91n;s+ZFhEYsnoX`F(Cr0_ z2c>FZ#g-|}vw}LA3F9}7PysYs9W;%rJn1Xp=oWX}2~kDEG*Rwh(JZ&uLn+?uKKC{6 z=n-)~ps*)(Yi^)-@VF(>N{Al!J5`}N+KMR-W7Xi|Hb-wD!K6IdPxXyWDFh?(snAMO zTItCFqw#8%O8Bp6f5ex`v9t7*AH>{a`tQ3ho?wDpHQOa^pZuJKfqIeW3n7(#M=D$n z>K0i_Qi)my2J)G=eF+USZJ^u)#|;SI}{c1j@k zEp_@pT~J0_*bOSXdzDC}%4F1Dpqbx&sho@f4~6!q4YjmJIkL243R zrg!YIlv+P@+G``{UT?|F>s=3i7JYf8xM45UEJUi*IQpw5I z$gJ&9=%&*O{6t3PTI)|cvjH{6iaH*%wj5>HFX-#f84bwmt2eVv*nTzb<)K(7~4j4epCK zPIKHVnp7zNy%xO|=E15WWh-766)96m-C*5`uUK@?l4a|j${mQ=9p7|Z7KvLmZ zJ}d1bb`zgpncDbP$V?if8MJL&IP&fvW%p|rT!Ped-i{Z~S)lj9qKzLbZZ!!*rnmx3 z2FGN+cqu}@M|3*1x3`n30%AQ;uzNT6>>9}#Z15KCO z)Tk7Zc!z(!KJRJgaJNwM^4SR)s?@X-(jWc@BjlMzUgE3wXowDT8k%bRP*dbigjV|{?HjFyq)k2ALy8vn}unNfR&U|X-w{uoRi1ru%c+B z-D4eVY!e!OK0RVDT|`{8yVSH?K=*Wt298%=DTO@gArM;Zl0+si+#W-C_bx?QZ=bAz zacMGkoa}+^3!9fGy6#sx`1|nLJbP^pUV$FEJEpF$%hTBC)AliM&A;+;K~D3|;ycV$ z6EDl9>FBrZ4?Q1zv5^0g`J>((mh2s6f3*W9e5K9-6q&W^KYa9GXwzlOUA>;pOS74; z>G+sZo9>@O#Inkt!>D~dRNnUbeaI_Q=?bB8Se@MO)x*oy!MZu?kMNc)sLC$`dsq^t z1$|f}1;qpNwsL-m_$Fp&zb@do)KEn&{Y&`|D^EAniJvjuWPo8MvLpN6SSM`tv;Hc( zKu=*!WJ3d#rV5H!_mW?4C$UiP;SM;Z`MOy6!uj zknW+Vl9v`0JYo?1QD07y{b{`yq}SM@^UL9NT4jPH$B-|f^uTBRqKEXBY8H!`j131{ zip>ugm4c4&Yv?1FLL0&t5wp=5JtDh|{i_AQS!OCa0oj|a>v+b73Tqpm0dMA`>Cz2r zsrA>k#zoa#rvVF>?!qVGgkfsDV%r*y3k_PUXVyY|D4Tjr(m@2Nszpj+Y}d`hvevBG zJdNSc9GqmT7U+tV>Vvd8_MyF!o%(-wOxyX@kpzuwj)kXeD@W*Ey=FCZvpvgc!=9h- zPJ180m(2M5R=j83G^oWo(dVZ06^)Ga2W<GrYL!29=k;kbGj>IeJf1CtVa}tm^%UtlQj8!^$O)01@D=)Q#~e??nnK3+3OiulT8Q6D zZyy;oMPk%f%F~2(Cmz17%5|a9ag1~(&#`i75lp{9T?Gp zsB}NhY4qPaFDOsM-@mRw4-u3??*=lz3Q?LG;4&mgz6l}cz58e)Ivs*h zm;EDO|L55sjzMNZnmA7Wu#Jo6k z;%b86CyLL-?}_A+r!=+R8>EThX1GFX$6;Me&yeDb-rin1vdWN!jgQw_MELomRMc(7+ZvbB4* z4$X~twJGHYPxcUe!9MNq!X#+7ou0e|^S%dur&^XreotJC|05Y$7hs@X1vXebtYVD( z&lM3v=&CH#nE8rio z{0(zJYgFyzeVa~y!PTqO{5EpHV#XUO7d4(viZj`ag_B^;g1**unQewS$QUY9yeG3| z@=JX;zjkeH@B3!8HFV}@@buRvq30b?7I6J8fug^Pdk7G?FX6Zlmhg?4vPVpOeJ53pZ6M`-$eyiHKfUsQOyjZL@OvAZEOAFfs69vz1#+|EsU=a z40q76bL<4{yVSL16k$cJW+}Z*jqT!b>xFkFB{-5l21X;*ozx4@hux;`wQN;|kK<;R z2PQ8~%LU_L98pQOsjn&Ys1_bMF0@b-tq4wkHGD6J^YH+U3?spGkN2&1OjFm6TJ-LnuvNGu@yqFz=Qk_;BM-HA-HY}@tE`2i@lqWe zag;?|)soG2#N+|`Twde}@OcON>vCJ+5u;>=MVy>yHv9qe+H<||{*K$8c&-V}Dwx4f ztalO=U}1(2P0MIlxI9oOZFYxbm?29(SZ^;_2tKouK2u ziYGWY$^5mQ21k(Pof4T5B9Xf?+4=b00{$6>j3-RyP7_s|?Py6@_(w)H(%Qnr(XkPt zWid&e4L11|1ioeY%1B1~pz`f>x^edYe<^Xgy~TVoD|L^qS9r?GPzOR~EEC-O+7|Wl zQ%iu<+P3c-zty{PQCpzSuroNFs6a*G`d*}9s$4nmx$5`^ZJUSxB-99S&Nl^t>K%;p+Qf>Ar9Xxc$UK{I*Oi`$Rx48@boyhB;k%IA8@*!ek znE$V8yvpN`+$Pi+3TE$3Ua-ZlX$d(nU&3s&Skw2WOv8hsJUv4Fx_dmxys!t z{Mo&q)zYY#s~|X6f8GZfuNJ@Ufti!{?2oITvm#u%@WhTi?|5Sp0e^Rx_D;EC$9Up0 z;Nrpk{Wc?*RuT!~B1pH1@%kpL7Vm9eHXH|H_Zo}Cp>F@9O49WPTiReI$X3^-Oao(# zWFKp^yKc3fXw#Y{Z?Dm&&*ZCCUWV|`;E^$|6E z;{R;m_djA~W2-wg@zBocZL%wFEo$}=o%TeBz_dP;tk-? z+lVTg@7-zv6OZux^0$bWg4CmFsGt^0yu~@lQNn1wQf|I`rIU~pF0Xbq|<+&vt-DSkN} zG|`?oJt!X%TEVkbX2j$el;ZJO3YI$+ALR2^MJ|2%##dNY*tmfq>_7O4!)Y3Yim?Ve}WP34+$8!_48Wk<29 zI{v`K@fYt(F{0ATGBx#GQF_s!WX!?!(`i@elwC21zC?^?LpvGSRk zDzEsXFAcL9QsQD#-5mB_S&tjqSV+f1vC(r5As4~;lLDsk>?h@Vdkcl-Eswapd_k+h z1-0LO&=r|f3+yJAiRb+8Nmq_Vn~TQvTEFM6m)#rKYl-5*|Lcb8aqH~2)tQi=b||^v zrTUm$Z{M^dw;`hBPg*IYrb#RHw~qg-j7t=p@b_bdxDavEMmV~&u9X&iguF>0Ki=Na z|I%GpU~lur)jyBQ9jmCNhvK#Cl#!&-U=xPHf`XrAUFxk=<2rW6PqDY4kXq0TON`&! z4q5fLI%!-DZ^N{MZ>JSvXFuG3l;v@)n*UL6?_Z>D3M&xK+wlDFUEf*5k@u_pd&~ou zRnKs`v!RzJFW(DCI>fFYK5{~Fk;#%v`LVHCxIQI?b9smFzT*~l@0^%T>%uZ`H^kT3 z_B0^eW>QN_5D6y2@1wQS@8=LP`c7xk?-QYaz)KI9)Pn@>$G9zuEGR8BbFRE^2}CPw zYsfN*pRzT_vE(nlR>uUN;Z-SoXw_5>9BvHYlo`#M`ie#%yg8mxoq4;a;dY-#eZ#t;J(&_RSd2W&(86l*+$)V;}w qnU>vpA9QP*`u~4REdZdvbHln;JCLdseMR%%epTOSDOJ9<2>Kr$3oCp8 literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/res/mipmap-xxxhdpi/sidemenu_tb_active.png b/opensrp-chw/src/main/res/mipmap-xxxhdpi/sidemenu_tb_active.png new file mode 100644 index 0000000000000000000000000000000000000000..ed84ea2996720769859058b29ed7251277979107 GIT binary patch literal 12112 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 T>Io$L+pn6kwo=W1))D^)TR=2h literal 0 HcmV?d00001 From e144d6e78ea6011821224d227f1b163e83dd0a79 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Sat, 16 May 2020 13:16:05 +0300 Subject: [PATCH 004/915] Updated chw application flavor interface to include hasTB and hasHIV --- .../chw/application/ChwApplication.java | 22 +++++++++++++++++++ .../application/DefaultChwApplicationFlv.java | 10 +++++++++ 2 files changed, 32 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index 511fa5d868..23ebe19e6d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -43,6 +43,7 @@ import org.smartregister.chw.core.utils.FormUtils; import org.smartregister.chw.custom_view.NavigationMenuFlv; import org.smartregister.chw.fp.FpLibrary; +import org.smartregister.chw.hiv.HivLibrary; import org.smartregister.chw.job.ChwJobCreator; import org.smartregister.chw.malaria.MalariaLibrary; import org.smartregister.chw.model.NavigationModelFlv; @@ -204,6 +205,17 @@ private void initializeLibraries() { ReferralLibrary.getInstance().setDatabaseVersion(BuildConfig.DATABASE_VERSION); } + if (hasHIV()) { + //Setup hiv library + HivLibrary.init(this); + HivLibrary.getInstance().setAppVersion(BuildConfig.VERSION_CODE); + HivLibrary.getInstance().setDatabaseVersion(BuildConfig.DATABASE_VERSION); + } + + if (hasTB()) { + //TODO Setup tb library + } + OpdLibrary.init(context, getRepository(), new OpdConfiguration.Builder(CoreAllClientsRegisterQueryProvider.class) .setBottomNavigationEnabled(true) @@ -302,6 +314,12 @@ public void setOpenSRPUrl() { public boolean hasReferrals() { return flavor.hasReferrals(); } + public boolean hasHIV() { + return flavor.hasHIV(); + } + public boolean hasTB() { + return flavor.hasTB(); + } @Subscribe(threadMode = ThreadMode.MAIN) public void onVisitEvent(Visit visit) { @@ -352,5 +370,9 @@ public interface Flavor { boolean hasReports(); boolean hasTasks(); + + boolean hasHIV(); + + boolean hasTB(); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/DefaultChwApplicationFlv.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/DefaultChwApplicationFlv.java index 875b6ae3e1..eb4228cbfb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/DefaultChwApplicationFlv.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/DefaultChwApplicationFlv.java @@ -80,4 +80,14 @@ public boolean hasQR() { public boolean hasTasks() { return false; } + + @Override + public boolean hasHIV() { + return false; + } + + @Override + public boolean hasTB() { + return false; + } } From c2488639de5faac0cb12d39c5ff7b6724cc00050 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Sat, 16 May 2020 13:17:26 +0300 Subject: [PATCH 005/915] Added hivRegisterActivity to the list of registeredActivities --- .../java/org/smartregister/chw/application/ChwApplication.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index 23ebe19e6d..7215ea1f18 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -26,6 +26,7 @@ import org.smartregister.chw.activity.FamilyProfileActivity; import org.smartregister.chw.activity.FamilyRegisterActivity; import org.smartregister.chw.activity.FpRegisterActivity; +import org.smartregister.chw.activity.HivRegisterActivity; import org.smartregister.chw.activity.LoginActivity; import org.smartregister.chw.activity.MalariaRegisterActivity; import org.smartregister.chw.activity.PncRegisterActivity; @@ -289,6 +290,7 @@ public Map getRegisteredActivities() { } registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.FP_REGISTER_ACTIVITY, FpRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.UPDATES_REGISTER_ACTIVITY, UpdatesRegisterActivity.class); + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_REGISTER_ACTIVITY, HivRegisterActivity.class); return registeredActivities; } From 57a7cb594d4ba915c402153334552f5809f11c61 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 18 May 2020 10:01:20 +0300 Subject: [PATCH 006/915] Added ec_hiv_register to client fields --- .../src/ba/assets/ec_client_fields.json | 220 ++++++++---------- 1 file changed, 91 insertions(+), 129 deletions(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 3bfa8ca82e..9e9bba8858 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -1765,135 +1765,6 @@ } ] }, - { - "name": "ec_referral_followup", - "columns": [ - { - "column_name": "entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, - { - "column_name": "base_entity_id", - "type": "Event", - "json_mapping": { - "field": "formSubmissionId" - } - }, - { - "column_name": "chw_followup_feedback_id", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "chw_followup_feedback_id" - } - }, - { - "column_name": "other_followup_feedback_information", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "other_followup_feedback_information" - } - }, - { - "column_name": "chw_followup_date", - "type": "Event", - "data_type": "date", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "chw_followup_date" - } - } - ] - }, - { - "name": "ec_referral_service", - "columns": [ - { - "column_name": "name_en", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode" - } - }, - { - "column_name": "name_sw", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode" - } - }, - { - "column_name": "identifier", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode" - } - }, - { - "column_name": "is_active", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode" - } - } - ] - }, - { - "name": "ec_referral_service_indicator", - "columns": [ - { - "column_name": "name_en", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode" - } - }, - { - "column_name": "name_sw", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode" - } - }, - { - "column_name": "is_active", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode" - } - } - ] - }, - { - "name": "ec_followup_feedback", - "columns": [ - { - "column_name": "name_en", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode" - } - }, - { - "column_name": "name_sw", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode" - } - }, - { - "column_name": "is_active", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode" - } - } - ] - }, { "name": "ec_sick_child_followup", "columns": [ @@ -2432,6 +2303,97 @@ } } ] + }, + { + "name": "ec_hiv_register", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "ctc_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "ctc_number" + } + }, + { + "column_name": "cbhs_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "cbhs_number" + } + }, + { + "column_name": "client_status_during_registrations", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_status_during_registrations" + } + }, + { + "column_name": "clients_hiv_status_during_registration", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "clients_hiv_status_during_registration" + } + }, + { + "column_name": "client_hiv_status_after_testing", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_hiv_status_after_testing" + } + }, + { + "column_name": "clients_tb_status_during_registration", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "clients_tb_status_during_registration" + } + }, + { + "column_name": "client_tb_status_after_testing", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_tb_status_after_testing" + } + }, + { + "column_name": "tb_registration_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "tb_registration_number" + } + } + ] } ] } \ No newline at end of file From 19cd60595374f1f3b22b2192acff0fff8810dff8 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 18 May 2020 10:01:35 +0300 Subject: [PATCH 007/915] Code refactoring --- opensrp-chw/src/main/AndroidManifest.xml | 5 ++ .../chw/activity/HivRegisterActivity.java | 55 +++++-------------- .../chw/fragment/HivRegisterFragment.java | 12 ++-- .../chw/model/HivRegisterFragmentModel.java | 14 +---- .../HivRegisterFragmentPresenter.java | 8 ++- 5 files changed, 34 insertions(+), 60 deletions(-) diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 15f37b02fe..56ef851190 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -243,6 +243,11 @@ android:parentActivityName=".activity.AllClientsRegisterActivity" android:theme="@style/FamilyTheme.NoActionBar" /> + + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java index a7dac197ba..fa8cd4836b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java @@ -8,19 +8,16 @@ import com.google.android.material.bottomnavigation.LabelVisibilityMode; -import org.apache.commons.lang3.tuple.Triple; import org.jetbrains.annotations.NotNull; -import org.json.JSONArray; -import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.job.HomeVisitServiceJob; import org.smartregister.chw.core.job.VaccineRecurringServiceJob; import org.smartregister.chw.fragment.FollowupRegisterFragment; -import org.smartregister.chw.fragment.ReferralRegisterFragment; -import org.smartregister.chw.malaria.util.MalariaJsonFormUtils; -import org.smartregister.chw.referral.activity.BaseReferralRegisterActivity; +import org.smartregister.chw.fragment.HivRegisterFragment; +import org.smartregister.chw.hiv.activity.BaseHivRegisterActivity; +import org.smartregister.chw.hiv.fragment.BaseHivRegisterFragment; import org.smartregister.chw.util.Constants; import org.smartregister.helper.BottomNavigationHelper; import org.smartregister.job.ImageUploadServiceJob; @@ -29,24 +26,17 @@ import org.smartregister.job.SyncTaskServiceJob; import org.smartregister.listener.BottomNavigationListener; -import java.util.Collections; import java.util.List; -import timber.log.Timber; - -import static org.smartregister.chw.core.utils.CoreConstants.ENTITY_ID; -import static org.smartregister.chw.core.utils.CoreConstants.JSON_FORM.getMalariaConfirmation; import static org.smartregister.chw.referral.util.Constants.ActivityPayload; import static org.smartregister.chw.referral.util.Constants.ActivityPayloadType; -import static org.smartregister.util.JsonFormUtils.VALUE; -import static org.smartregister.util.JsonFormUtils.getFieldJSONObject; -public class HivRegisterActivity extends BaseReferralRegisterActivity { +public class HivRegisterActivity extends BaseHivRegisterActivity { - public static void startReferralRegistrationActivity(Activity activity, String baseEntityID) { + public static void startHIVRegistrationActivity(Activity activity, String baseEntityID) { Intent intent = new Intent(activity, HivRegisterActivity.class); intent.putExtra(ActivityPayload.BASE_ENTITY_ID, baseEntityID); - intent.putExtra(ActivityPayload.REFERRAL_FORM_NAME, getMalariaConfirmation()); +// intent.putExtra(ActivityPayload.HIV_FORM_NAME, "form name"); intent.putExtra(ActivityPayload.ACTION, ActivityPayloadType.REGISTRATION); activity.startActivity(intent); } @@ -60,13 +50,13 @@ protected Fragment[] getOtherFragments() { @NotNull @Override - protected ReferralRegisterFragment getRegisterFragment() { - return new ReferralRegisterFragment(); + protected BaseHivRegisterFragment getRegisterFragment() { + return new HivRegisterFragment(); } @Override public List getViewIdentifiers() { - return Collections.singletonList(Constants.CONFIGURATION.MALARIA_REGISTER); + return null; } @Override @@ -90,8 +80,8 @@ protected void registerBottomNavigation() { bottomNavigationView.inflateMenu(getMenuResource()); bottomNavigationHelper.disableShiftMode(bottomNavigationView); - BottomNavigationListener referralBottomNavigationListener = getBottomNavigation(this); - bottomNavigationView.setOnNavigationItemSelectedListener(referralBottomNavigationListener); + BottomNavigationListener hivBottomNavigationListener = getBottomNavigation(this); + bottomNavigationView.setOnNavigationItemSelectedListener(hivBottomNavigationListener); } } @@ -120,7 +110,7 @@ protected void onResumption() { super.onResumption(); NavigationMenu menu = NavigationMenu.getInstance(this, null, null); if (menu != null) { - menu.getNavigationAdapter().setSelectedView(Constants.DrawerMenu.REFERRALS); + menu.getNavigationAdapter().setSelectedView(Constants.DrawerMenu.HIV_CLIENTS); } } @@ -128,26 +118,7 @@ protected void onResumption() { protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == Activity.RESULT_OK && requestCode == org.smartregister.chw.malaria.util.Constants.REQUEST_CODE_GET_JSON) { - String jsonString = data.getStringExtra(org.smartregister.chw.malaria.util.Constants.JSON_FORM_EXTRA.JSON); - try { - JSONObject form = new JSONObject(jsonString); - Triple registrationFormParams = MalariaJsonFormUtils.validateParameters(form.toString()); - JSONObject jsonForm = registrationFormParams.getMiddle(); - JSONArray fields = registrationFormParams.getRight(); - String encounter_type = jsonForm.optString(org.smartregister.chw.malaria.util.Constants.JSON_FORM_EXTRA.ENCOUNTER_TYPE); - - if (org.smartregister.chw.malaria.util.Constants.EVENT_TYPE.MALARIA_FOLLOW_UP_VISIT.equals(encounter_type)) { - JSONObject fever_still_object = getFieldJSONObject(fields, "fever_still"); - if (fever_still_object != null && "Yes".equalsIgnoreCase(fever_still_object.optString(VALUE))) { - HivRegisterActivity.startReferralRegistrationActivity(this, jsonForm.optString(ENTITY_ID)); - } - } else { - startRegisterActivity(); - } - } catch (JSONException e) { - Timber.e(e); - } - + startRegisterActivity(); } else { finish(); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index 1a21582815..b9a59957f3 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -17,7 +17,11 @@ import org.smartregister.chw.anc.util.DBConstants; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.utils.QueryBuilder; +import org.smartregister.chw.hiv.fragment.BaseHivRegisterFragment; +import org.smartregister.chw.hiv.provider.HivRegisterProvider; +import org.smartregister.chw.model.HivRegisterFragmentModel; import org.smartregister.chw.model.ReferralRegisterFragmentModel; +import org.smartregister.chw.presenter.HivRegisterFragmentPresenter; import org.smartregister.chw.presenter.ReferralRegisterFragmentPresenter; import org.smartregister.chw.referral.activity.ReferralDetailsViewActivity; import org.smartregister.chw.referral.domain.MemberObject; @@ -39,7 +43,7 @@ import timber.log.Timber; -public class HivRegisterFragment extends BaseReferralRegisterFragment { +public class HivRegisterFragment extends BaseHivRegisterFragment { private static final String DUE_FILTER_TAG = "PRESSED"; private View view; @@ -48,8 +52,8 @@ public class HivRegisterFragment extends BaseReferralRegisterFragment { @Override public void initializeAdapter(@Nullable Set visibleColumns) { - ReferralRegisterProvider referralRegisterProvider = new ReferralRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); - clientAdapter = new RecyclerViewPaginatedAdapter(null, referralRegisterProvider, context().commonrepository(this.tablename)); + HivRegisterProvider hivRegisterProvider = new HivRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); + clientAdapter = new RecyclerViewPaginatedAdapter(null, hivRegisterProvider, context().commonrepository(this.tablename)); clientAdapter.setCurrentlimit(20); clientsView.setAdapter(clientAdapter); } @@ -109,7 +113,7 @@ protected void initializePresenter() { return; } String viewConfigurationIdentifier = ((BaseRegisterActivity) getActivity()).getViewIdentifiers().get(0); - presenter = new ReferralRegisterFragmentPresenter(this, new ReferralRegisterFragmentModel(), viewConfigurationIdentifier); + presenter = new HivRegisterFragmentPresenter(this, new HivRegisterFragmentModel(), viewConfigurationIdentifier); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java index c26b372916..b608933e2d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java @@ -5,7 +5,7 @@ import org.jetbrains.annotations.NotNull; import org.smartregister.chw.core.utils.ChildDBConstants; -import org.smartregister.chw.referral.model.BaseReferralRegisterFragmentModel; +import org.smartregister.chw.hiv.model.BaseHivRegisterFragmentModel; import org.smartregister.chw.util.ChwDBConstants; import org.smartregister.chw.util.Constants; import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; @@ -17,7 +17,7 @@ import static org.smartregister.chw.referral.util.Constants.Tables; import static org.smartregister.chw.referral.util.DBConstants.Key; -public class HivRegisterFragmentModel extends BaseReferralRegisterFragmentModel { +public class HivRegisterFragmentModel extends BaseHivRegisterFragmentModel { @NonNull @Override @@ -26,7 +26,6 @@ public String mainSelect(@NonNull String tableName, @NonNull String mainConditio queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + Constants.ENTITY_ID + " = " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); - queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.TASK + " ON " + tableName + ".id = " + Constants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.REASON_REFERENCE); queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T1 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER + " = T1." + DBConstants.KEY.BASE_ENTITY_ID); queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T2 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD + " = T2." + DBConstants.KEY.BASE_ENTITY_ID); return queryBuilder.mainCondition(mainCondition); @@ -52,15 +51,6 @@ public String[] mainColumns(String tableName) { columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); columnList.add("T1." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.PRIMARY_CAREGIVER); columnList.add("T2." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.FAMILY_HEAD); - columnList.add(Tables.REFERRAL + "." + Key.REFERRAL_SERVICE + " AS " + Key.REFERRAL_SERVICE); - columnList.add(Tables.REFERRAL + "." + Key.REFERRAL_DATE); - columnList.add(Constants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " AS " + Key.REFERRAL_STATUS); - columnList.add(Tables.REFERRAL + "." + Key.PROBLEM); - columnList.add(Tables.REFERRAL + "." + Key.SERVICE_BEFORE_REFERRAL); - columnList.add(Tables.REFERRAL + "." + Key.SERVICE_BEFORE_REFERRAL_OTHER); - columnList.add(Tables.REFERRAL + "." + Key.PROBLEM_OTHER); - columnList.add(Tables.REFERRAL + "." + Key.REFERRAL_APPOINTMENT_DATE); - columnList.add(Tables.REFERRAL + "." + Key.REFERRAL_HF); columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); return columnList.toArray(new String[columnList.size()]); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java index 6d7ee6a583..3df9bb85ad 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java @@ -4,6 +4,8 @@ import org.smartregister.chw.R; import org.smartregister.chw.core.utils.ChwDBConstants; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.hiv.contract.BaseHivRegisterFragmentContract; +import org.smartregister.chw.hiv.presenter.BaseHivRegisterFragmentPresenter; import org.smartregister.chw.referral.contract.BaseReferralRegisterFragmentContract; import org.smartregister.chw.referral.presenter.BaseReferralRegisterFragmentPresenter; import org.smartregister.chw.referral.util.DBConstants; @@ -12,15 +14,16 @@ import static org.smartregister.chw.referral.util.Constants.ReferralType; import static org.smartregister.chw.referral.util.Constants.Tables; -public class HivRegisterFragmentPresenter extends BaseReferralRegisterFragmentPresenter { +public class HivRegisterFragmentPresenter extends BaseHivRegisterFragmentPresenter { - public HivRegisterFragmentPresenter(BaseReferralRegisterFragmentContract.View view, BaseReferralRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { + public HivRegisterFragmentPresenter(BaseHivRegisterFragmentContract.View view, BaseHivRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { super(view, model, viewConfigurationIdentifier); } @Override @NotNull public String getMainCondition() { + //TODO Coze update this return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + "AND " + Tables.REFERRAL + "." + DBConstants.Key.REFERRAL_TYPE + " = '" + ReferralType.COMMUNITY_TO_FACILITY_REFERRAL + "' "; @@ -29,6 +32,7 @@ public String getMainCondition() { @Override @NotNull public String getDueFilterCondition() { + //TODO Coze update this return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + "AND " + Constants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " = '" + CoreConstants.BUSINESS_STATUS.REFERRED + "' " + "AND " + Tables.REFERRAL + "." + DBConstants.Key.REFERRAL_TYPE + " = '" + ReferralType.COMMUNITY_TO_FACILITY_REFERRAL + "' "; From 7bcfb426b5889e48338e04071d24b20ecf23dfeb Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 19 May 2020 13:20:47 +0300 Subject: [PATCH 008/915] Implemented hiv registration forms --- .../ba/assets/ec_client_classification.json | 7 + .../src/ba/assets/ec_client_fields.json | 33 +--- .../ba/assets/json.form/hiv_registration.json | 143 ++++++++++++++++++ .../rule/hiv_registration_form_rules.yml | 0 4 files changed, 155 insertions(+), 28 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form/hiv_registration.json create mode 100644 opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index b2198563c7..58d906c5c1 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -283,6 +283,13 @@ "creates_case": [ "ec_referral_dismissal" ] + }, + { + "field": "eventType", + "field_value": "Hiv Registration", + "creates_case": [ + "ec_hiv_register" + ] } ] } diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 9e9bba8858..3c2a35987c 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2346,19 +2346,11 @@ } }, { - "column_name": "client_status_during_registrations", + "column_name": "client_hiv_status_during_registration", "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "client_status_during_registrations" - } - }, - { - "column_name": "clients_hiv_status_during_registration", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "clients_hiv_status_during_registration" + "concept": "client_hiv_status_during_registration" } }, { @@ -2370,27 +2362,12 @@ } }, { - "column_name": "clients_tb_status_during_registration", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "clients_tb_status_during_registration" - } - }, - { - "column_name": "client_tb_status_after_testing", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "client_tb_status_after_testing" - } - }, - { - "column_name": "tb_registration_number", + "column_name": "hiv_registration_date", "type": "Event", + "data_type": "date", "json_mapping": { "field": "obs.fieldCode", - "concept": "tb_registration_number" + "concept": "hiv_registration_date" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/hiv_registration.json new file mode 100644 index 0000000000..bd51f97d2e --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/hiv_registration.json @@ -0,0 +1,143 @@ +{ + "form": "HIV Registration form", + "count": "1", + "encounter_type": "HIV Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "HIV Clients Registration form", + "fields": [ + { + "name": "ctc_number", + "type": "text_input_edit_text", + "properties": { + "hint": "CTC Number", + "type": "Clinic of Treatment and Care registration number (CTC Number)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "required_status": "false" + }, + { + "name": "cbhs_number", + "type": "text_input_edit_text", + "properties": { + "hint": "CBHS Number", + "type": "Community Based Health Services Registration Number (CBHS Number)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cbhs_number", + "openmrs_entity_parent": "" + }, + "required_status": "false" + }, + { + "name": "client_hiv_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's HIV status during registration" + }, + "options": [ + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify your gender" + }, + { + "name": "hiv_registration_date", + "type": "hidden", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_registration_date", + "openmrs_entity_parent": "" + }, + "required_status": "false" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml new file mode 100644 index 0000000000..e69de29bb2 From 34cfed6da4011b58d80c360045a69f8b5fb542ef Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 19 May 2020 13:23:04 +0300 Subject: [PATCH 009/915] Updated BA ChwApplication flavor --- .../chw/application/ChwApplicationFlv.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/application/ChwApplicationFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/application/ChwApplicationFlv.java index 9a359f9425..e6be8a406f 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/application/ChwApplicationFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/application/ChwApplicationFlv.java @@ -38,7 +38,7 @@ public boolean hasWashCheck() { @Override public boolean hasMalaria() { - return true; + return false; } @Override @@ -64,4 +64,14 @@ public boolean hasTasks() { public boolean hasStockUsageReport() { return true; } + + @Override + public boolean hasHIV() { + return true; + } + + @Override + public boolean hasTB() { + return true; + } } From c2adb72605c2644ee3145242e87237449c2b8b04 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 19 May 2020 13:24:43 +0300 Subject: [PATCH 010/915] Updated hiv queries --- .../chw/model/HivRegisterFragmentModel.java | 13 ++++++++----- .../HivRegisterFragmentPresenter.java | 19 +++++-------------- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java index b608933e2d..75ced379bf 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java @@ -6,7 +6,8 @@ import org.jetbrains.annotations.NotNull; import org.smartregister.chw.core.utils.ChildDBConstants; import org.smartregister.chw.hiv.model.BaseHivRegisterFragmentModel; -import org.smartregister.chw.util.ChwDBConstants; +import org.smartregister.chw.hiv.util.Constants.Tables; +import org.smartregister.chw.hiv.util.DBConstants.Key; import org.smartregister.chw.util.Constants; import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; import org.smartregister.family.util.DBConstants; @@ -14,9 +15,6 @@ import java.util.HashSet; import java.util.Set; -import static org.smartregister.chw.referral.util.Constants.Tables; -import static org.smartregister.chw.referral.util.DBConstants.Key; - public class HivRegisterFragmentModel extends BaseHivRegisterFragmentModel { @NonNull @@ -24,7 +22,7 @@ public class HivRegisterFragmentModel extends BaseHivRegisterFragmentModel { public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); - queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + Constants.ENTITY_ID + " = " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T1 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER + " = T1." + DBConstants.KEY.BASE_ENTITY_ID); queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T2 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD + " = T2." + DBConstants.KEY.BASE_ENTITY_ID); @@ -52,6 +50,11 @@ public String[] mainColumns(String tableName) { columnList.add("T1." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.PRIMARY_CAREGIVER); columnList.add("T2." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.FAMILY_HEAD); columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); + columnList.add(Tables.HIV + "." + Key.CTC_NUMBER); + columnList.add(Tables.HIV + "." + Key.CBHS_NUMBER); + columnList.add(Tables.HIV + "." + Key.CLIENT_HIV_STATUS_DURING_REGISTRATION); + columnList.add(Tables.HIV + "." + Key.CLIENT_HIV_STATUS_AFTER_TESTING); + return columnList.toArray(new String[columnList.size()]); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java index 3df9bb85ad..606a015c6c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java @@ -2,18 +2,12 @@ import org.jetbrains.annotations.NotNull; import org.smartregister.chw.R; -import org.smartregister.chw.core.utils.ChwDBConstants; -import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.hiv.contract.BaseHivRegisterFragmentContract; import org.smartregister.chw.hiv.presenter.BaseHivRegisterFragmentPresenter; -import org.smartregister.chw.referral.contract.BaseReferralRegisterFragmentContract; -import org.smartregister.chw.referral.presenter.BaseReferralRegisterFragmentPresenter; -import org.smartregister.chw.referral.util.DBConstants; +import org.smartregister.chw.hiv.util.Constants.Tables; +import org.smartregister.chw.hiv.util.DBConstants; import org.smartregister.chw.util.Constants; -import static org.smartregister.chw.referral.util.Constants.ReferralType; -import static org.smartregister.chw.referral.util.Constants.Tables; - public class HivRegisterFragmentPresenter extends BaseHivRegisterFragmentPresenter { public HivRegisterFragmentPresenter(BaseHivRegisterFragmentContract.View view, BaseHivRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { @@ -23,19 +17,16 @@ public HivRegisterFragmentPresenter(BaseHivRegisterFragmentContract.View view, B @Override @NotNull public String getMainCondition() { - //TODO Coze update this return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND " + Tables.REFERRAL + "." + DBConstants.Key.REFERRAL_TYPE + " = '" + ReferralType.COMMUNITY_TO_FACILITY_REFERRAL + "' "; + "AND " + Tables.HIV + "." + DBConstants.Key.IS_CLOSED + " = '0' "; } @Override @NotNull public String getDueFilterCondition() { - //TODO Coze update this return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND " + Constants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " = '" + CoreConstants.BUSINESS_STATUS.REFERRED + "' " + - "AND " + Tables.REFERRAL + "." + DBConstants.Key.REFERRAL_TYPE + " = '" + ReferralType.COMMUNITY_TO_FACILITY_REFERRAL + "' "; + "AND " + Tables.HIV + "." + DBConstants.Key.IS_CLOSED + " = '0' "; } @@ -49,6 +40,6 @@ public void processViewConfigurations() { @Override public String getMainTable() { - return Tables.REFERRAL; + return Tables.HIV; } } From 9e762f78615d6955ad0f5cf4f6b254fd7e87b569 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 19 May 2020 13:25:37 +0300 Subject: [PATCH 011/915] Code refactoring --- .../fragment/FollowupRegisterFragment.java | 39 ++++--------------- .../chw/fragment/HivRegisterFragment.java | 11 +++--- 2 files changed, 13 insertions(+), 37 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/FollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/FollowupRegisterFragment.java index 9eeee06a17..6b350e6ac0 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/FollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/FollowupRegisterFragment.java @@ -60,7 +60,12 @@ protected void initializePresenter() { if (getActivity() == null) { return; } - String viewConfigurationIdentifier = ((BaseRegisterActivity) getActivity()).getViewIdentifiers().get(0); + String viewConfigurationIdentifier = null; + try { + viewConfigurationIdentifier = ((BaseRegisterActivity) getActivity()).getViewIdentifiers().get(0); + } catch (NullPointerException e) { + Timber.e(e); + } presenter = new ReferralFollowupFragmentPresenter(this, new ReferralRegisterFragmentModel(), viewConfigurationIdentifier); } @@ -233,37 +238,7 @@ private String defaultFilterAndSortQuery() { @Override public void countExecute() { - Cursor c = null; - try { - - String query = "select count(*) from " + presenter().getMainTable() + " inner join " + Constants.TABLE_NAME.FAMILY_MEMBER + - " on " + presenter().getMainTable() + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + - Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + - " where " + presenter().getMainCondition(); - - if (StringUtils.isNotBlank(filters)) { - query = query + " and ( " + filters + " ) "; - } - - if (dueFilterActive) { - query = query + " and ( " + presenter().getDueFilterCondition() + " ) "; - } - - c = commonRepository().rawCustomQueryForAdapter(query); - c.moveToFirst(); - clientAdapter.setTotalcount(c.getInt(0)); - Timber.v("total count here %s", clientAdapter.getTotalcount()); - - clientAdapter.setCurrentlimit(20); - clientAdapter.setCurrentoffset(0); - - } catch (Exception e) { - Timber.e(e); - } finally { - if (c != null) { - c.close(); - } - } + //TODO coze implement this } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index b9a59957f3..9277fc9768 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -20,13 +20,9 @@ import org.smartregister.chw.hiv.fragment.BaseHivRegisterFragment; import org.smartregister.chw.hiv.provider.HivRegisterProvider; import org.smartregister.chw.model.HivRegisterFragmentModel; -import org.smartregister.chw.model.ReferralRegisterFragmentModel; import org.smartregister.chw.presenter.HivRegisterFragmentPresenter; -import org.smartregister.chw.presenter.ReferralRegisterFragmentPresenter; import org.smartregister.chw.referral.activity.ReferralDetailsViewActivity; import org.smartregister.chw.referral.domain.MemberObject; -import org.smartregister.chw.referral.fragment.BaseReferralRegisterFragment; -import org.smartregister.chw.referral.provider.ReferralRegisterProvider; import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.Utils; import org.smartregister.commonregistry.CommonPersonObjectClient; @@ -112,7 +108,12 @@ protected void initializePresenter() { if (getActivity() == null) { return; } - String viewConfigurationIdentifier = ((BaseRegisterActivity) getActivity()).getViewIdentifiers().get(0); + String viewConfigurationIdentifier = null; + try { + viewConfigurationIdentifier = ((BaseRegisterActivity) getActivity()).getViewIdentifiers().get(0); + } catch (NullPointerException e) { + Timber.e(e); + } presenter = new HivRegisterFragmentPresenter(this, new HivRegisterFragmentModel(), viewConfigurationIdentifier); } From 56086252eefff1d0bfac851ed6dc421af5bb1ab5 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 19 May 2020 13:26:24 +0300 Subject: [PATCH 012/915] Code refactoring --- .../chw/activity/HivRegisterActivity.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java index fa8cd4836b..321a251a1d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java @@ -17,8 +17,10 @@ import org.smartregister.chw.fragment.FollowupRegisterFragment; import org.smartregister.chw.fragment.HivRegisterFragment; import org.smartregister.chw.hiv.activity.BaseHivRegisterActivity; +import org.smartregister.chw.hiv.activity.BaseHivRegistrationFormsActivity; import org.smartregister.chw.hiv.fragment.BaseHivRegisterFragment; import org.smartregister.chw.util.Constants; +import org.smartregister.family.util.JsonFormUtils; import org.smartregister.helper.BottomNavigationHelper; import org.smartregister.job.ImageUploadServiceJob; import org.smartregister.job.PullUniqueIdsServiceJob; @@ -28,17 +30,17 @@ import java.util.List; -import static org.smartregister.chw.referral.util.Constants.ActivityPayload; -import static org.smartregister.chw.referral.util.Constants.ActivityPayloadType; +import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; public class HivRegisterActivity extends BaseHivRegisterActivity { public static void startHIVRegistrationActivity(Activity activity, String baseEntityID) { - Intent intent = new Intent(activity, HivRegisterActivity.class); - intent.putExtra(ActivityPayload.BASE_ENTITY_ID, baseEntityID); -// intent.putExtra(ActivityPayload.HIV_FORM_NAME, "form name"); - intent.putExtra(ActivityPayload.ACTION, ActivityPayloadType.REGISTRATION); - activity.startActivity(intent); + Intent intent = new Intent(activity, BaseHivRegistrationFormsActivity.class); + intent.putExtra(org.smartregister.chw.referral.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); + intent.putExtra(org.smartregister.chw.referral.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + intent.putExtra(org.smartregister.chw.referral.util.Constants.ActivityPayload.ACTION, org.smartregister.chw.referral.util.Constants.ActivityPayloadType.REGISTRATION); + + activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); } @NotNull From 844d06bc1ecaacb8d232a36a049d5d3513a6b986 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 19 May 2020 13:27:18 +0300 Subject: [PATCH 013/915] Implemented profile menu actions for launching HIV registration form --- .../FamilyOtherMemberProfileActivityFlv.java | 9 ++++- .../org/smartregister/chw/util/UtilsFlv.java | 7 ++++ .../AllClientsMemberProfileActivity.java | 5 +++ .../FamilyOtherMemberProfileActivity.java | 37 +++++++++++++------ 4 files changed, 45 insertions(+), 13 deletions(-) diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java index cad252431a..b7f54f159e 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java @@ -4,6 +4,8 @@ import android.view.Menu; import android.widget.Toast; +import androidx.annotation.Nullable; + import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.core.fragment.FamilyCallDialogFragment; @@ -27,7 +29,7 @@ public OnClickFloatingMenu getOnClickFloatingMenu(final Activity activity, final break; case R.id.refer_to_facility_layout: if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { - launchClientReferralActivity(activity, getCommonReferralTypes(activity), baseEntityId); + launchClientReferralActivity(activity, getCommonReferralTypes(activity), baseEntityId); } else { Toast.makeText(activity, "Refer to facility", Toast.LENGTH_SHORT).show(); } @@ -48,6 +50,11 @@ public void updateMaleFpMenuItems(String baseEntityId, Menu menu) { UtilsFlv.updateFpMenuItems(baseEntityId, menu); } + @Override + public void updateHivMenuItems(@Nullable String baseEntityId, @Nullable Menu menu) { + UtilsFlv.updateHivMenuItems(baseEntityId, menu); + } + @Override public void updateFpMenuItems(String baseEntityId, Menu menu) { UtilsFlv.updateFpMenuItems(baseEntityId, menu); diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java index 551be1c1d1..fe884297a0 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java @@ -9,6 +9,7 @@ import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.MalariaVisitUtil; import org.smartregister.chw.fp.dao.FpDao; +import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.malaria.dao.MalariaDao; import org.smartregister.util.Utils; @@ -57,4 +58,10 @@ public static void updateFpMenuItems(String baseEntityId, Menu menu) { } } + public static void updateHivMenuItems(String baseEntityId, Menu menu) { + if (HivDao.isRegisteredForHiv(baseEntityId)) { + menu.findItem(R.id.action_hiv_registration).setVisible(false); + } + } + } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index e1f341154a..73df91b4e4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -167,6 +167,11 @@ protected void startMalariaRegister() { MalariaRegisterActivity.startMalariaRegistrationActivity(AllClientsMemberProfileActivity.this, baseEntityId, familyBaseEntityId); } + @Override + protected void startHivRegister() { + HivRegisterActivity.startHIVRegistrationActivity(AllClientsMemberProfileActivity.this, baseEntityId); + } + @Override protected void startFpRegister() { String dob = org.smartregister.family.util.Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.DOB, false); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index e4a37dcb41..3990d137cf 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -9,6 +9,7 @@ import org.json.JSONObject; import org.smartregister.chw.R; +import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.activity.CoreFamilyOtherMemberProfileActivity; import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; import org.smartregister.chw.core.form_data.NativeFormsDataBinder; @@ -60,6 +61,11 @@ public boolean onCreateOptionsMenu(Menu menu) { flavor.updateMaleFpMenuItems(baseEntityId, menu); } + if (!ChwApplication.getApplicationFlavor().hasHIV()) { + menu.findItem(R.id.action_hiv_registration).setVisible(false); + } else { + flavor.updateHivMenuItems(baseEntityId, menu); + } return true; } @@ -101,6 +107,11 @@ protected void removeIndividualProfile() { commonPersonObject, familyBaseEntityId, familyHead, primaryCaregiver, FamilyRegisterActivity.class.getCanonicalName()); } + @Override + protected void startHivRegister() { + HivRegisterActivity.startHIVRegistrationActivity(FamilyOtherMemberProfileActivity.this, baseEntityId); + } + @Override protected void startEditMemberJsonForm(Integer title_resource, CommonPersonObjectClient client) { @@ -150,7 +161,7 @@ protected Class getFamilyProfileActivity() @Override protected void initializePresenter() { super.initializePresenter(); - onClickFloatingMenu = flavor.getOnClickFloatingMenu(this, familyBaseEntityId,baseEntityId); + onClickFloatingMenu = flavor.getOnClickFloatingMenu(this, familyBaseEntityId, baseEntityId); } @Override @@ -169,11 +180,21 @@ protected BaseFamilyOtherMemberProfileFragment getFamilyOtherMemberProfileFragme return FamilyOtherMemberProfileFragment.newInstance(getIntent().getExtras()); } + @Override + protected void startMalariaFollowUpVisit() { + MalariaFollowUpVisitActivity.startMalariaFollowUpActivity(this, baseEntityId); + } + + @Override + protected void setIndependentClient(boolean isIndependentClient) { + super.isIndependent = isIndependentClient; + } + /** * build implementation differences file */ public interface Flavor { - OnClickFloatingMenu getOnClickFloatingMenu(final Activity activity, final String familyBaseEntityId , final String baseEntityId); + OnClickFloatingMenu getOnClickFloatingMenu(final Activity activity, final String familyBaseEntityId, final String baseEntityId); boolean isOfReproductiveAge(CommonPersonObjectClient commonPersonObject, String gender); @@ -183,16 +204,8 @@ public interface Flavor { void updateMaleFpMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); - boolean hasANC(); - } + void updateHivMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); - @Override - protected void startMalariaFollowUpVisit() { - MalariaFollowUpVisitActivity.startMalariaFollowUpActivity(this, baseEntityId); - } - - @Override - protected void setIndependentClient(boolean isIndependentClient) { - super.isIndependent = isIndependentClient; + boolean hasANC(); } } From f3b78e66425bba689740fa2c362be3f67105e4ed Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 21 May 2020 10:08:36 +0300 Subject: [PATCH 014/915] Refactored openeing of hiv profile --- .../chw/fragment/HivRegisterFragment.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index 9277fc9768..a038f9f354 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -10,6 +10,8 @@ import androidx.loader.content.CursorLoader; import androidx.loader.content.Loader; +import com.google.gson.Gson; + import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; import org.smartregister.chw.R; @@ -17,12 +19,12 @@ import org.smartregister.chw.anc.util.DBConstants; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.utils.QueryBuilder; +import org.smartregister.chw.hiv.activity.BaseHivProfileActivity; +import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.fragment.BaseHivRegisterFragment; import org.smartregister.chw.hiv.provider.HivRegisterProvider; import org.smartregister.chw.model.HivRegisterFragmentModel; import org.smartregister.chw.presenter.HivRegisterFragmentPresenter; -import org.smartregister.chw.referral.activity.ReferralDetailsViewActivity; -import org.smartregister.chw.referral.domain.MemberObject; import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.Utils; import org.smartregister.commonregistry.CommonPersonObjectClient; @@ -35,6 +37,7 @@ import java.text.MessageFormat; import java.util.HashMap; import java.util.List; +import java.util.Objects; import java.util.Set; import timber.log.Timber; @@ -160,7 +163,8 @@ private void switchViews(View dueOnlyLayout, boolean isPress) { @Override protected void openProfile(CommonPersonObjectClient client) { - ReferralDetailsViewActivity.startReferralDetailsViewActivity(getActivity(), new MemberObject(client)); + if(getActivity()!=null) + BaseHivProfileActivity.Companion.startProfileActivity(getActivity(), HivDao.getMember(Objects.requireNonNull(client.getColumnmaps().get("base_entity_id")))); } @Override From 85a5ed99ab479ceb7be1b6f70ca937fd2b571ff0 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 21 May 2020 18:27:31 +0300 Subject: [PATCH 015/915] Added tb registration forms --- .../ba/assets/json.form/tb_registration.json | 273 ++++++++++++++++++ .../rule/tb_registration_form_rules.yml | 14 + 2 files changed, 287 insertions(+) create mode 100644 opensrp-chw/src/ba/assets/json.form/tb_registration.json create mode 100644 opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml diff --git a/opensrp-chw/src/ba/assets/json.form/tb_registration.json b/opensrp-chw/src/ba/assets/json.form/tb_registration.json new file mode 100644 index 0000000000..fc871abf64 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/tb_registration.json @@ -0,0 +1,273 @@ +{ + "form": "TB Registration form", + "count": "1", + "encounter_type": "TB Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "TB Clients Registration form", + "fields": [ + { + "name": "community_client_tb_registration_number", + "type": "text_input_edit_text", + "properties": { + "hint": "CBHS Number", + "type": "Community Based Health Services Registration Number (CBHS Number)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community_client_tb_registration_number", + "openmrs_entity_parent": "" + }, + "required_status": "false" + }, + { + "name": "client_tb_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's HIV status during registration" + }, + "options": [ + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify your gender" + }, + { + "name": "place_of_domicile", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "place_of_domicile", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Place of Domicile" + }, + "options": [ + { + "name": "a_family_with_tb_patient", + "text": "A family with TB patient", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "a_family_with_tb_patient", + "openmrs_entity_parent": "" + } + }, + { + "name": "a_family_without_tb_patient", + "text": "A family without TB patient", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "a_family_without_tb_patient", + "openmrs_entity_parent": "" + } + }, + { + "name": "community_gathering", + "text": "Community gathering", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community_gathering", + "openmrs_entity_parent": "" + } + }, + { + "name": "pharmacy", + "text": "Pharmacy", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pharmacy", + "openmrs_entity_parent": "" + } + }, + { + "name": "traditional_doctors", + "text": "Traditional doctors", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "traditional_doctors", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify place of domicile" + }, + { + "name": "community_gathering", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community_gathering", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Type of community gathering" + }, + "options": [ + { + "name": "school", + "text": "School", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "school", + "openmrs_entity_parent": "" + } + }, + { + "name": "worship_houses", + "text": "Worship houses", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "worship_houses", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining", + "text": "Mining", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining", + "openmrs_entity_parent": "" + } + }, + { + "name": "public_meetings", + "text": "Public meetings", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "public_meetings", + "openmrs_entity_parent": "" + } + }, + { + "name": "prison", + "text": "Prison", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prison", + "openmrs_entity_parent": "" + } + }, + { + "name": "others", + "text": "Others", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "others", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the type of community gathering", + "subjects": "place_of_domicile:map" + }, + { + "name": "other_community_gathering", + "type": "text_input_edit_text", + "properties": { + "hint": "Specify other community gathering" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_community_gathering", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please specify other community gathering", + "subjects": "community_gathering:map" + }, + { + "name": "tb_registration_date", + "type": "hidden", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_registration_date", + "openmrs_entity_parent": "" + }, + "required_status": "false" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml b/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml new file mode 100644 index 0000000000..b350194fef --- /dev/null +++ b/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml @@ -0,0 +1,14 @@ +--- +name: "community_gathering_visibility" +description: "Display community gathering types if community_gathering is chosen" +priority: 1 +condition: "place_of_domicile['community_gathering'] != null" +actions: + - "community_gathering_visibility = true" +--- +name: "other_community_gathering_visibility" +description: "Display other community gathering types if others is chosen" +priority: 1 +condition: "community_gathering['others'] != null" +actions: + - "other_community_gathering_visibility = true" \ No newline at end of file From a091fb47510ceb93323c8fecdc6208492ce2339e Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 21 May 2020 18:28:05 +0300 Subject: [PATCH 016/915] Code refactoring --- opensrp-chw/src/ba/assets/json.form/tb_registration.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/json.form/tb_registration.json b/opensrp-chw/src/ba/assets/json.form/tb_registration.json index fc871abf64..85d0884fea 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_registration.json @@ -80,7 +80,7 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Client's HIV status during registration" + "text": "Client's TB status during registration" }, "options": [ { From 2372aa1f419888775ad67b6095eb69133dc37164 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 21 May 2020 18:28:29 +0300 Subject: [PATCH 017/915] setup tb library on chw application --- .../org/smartregister/chw/application/ChwApplication.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index 7215ea1f18..8938854ee7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -54,6 +54,7 @@ import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; import org.smartregister.chw.service.ChildAlertService; import org.smartregister.chw.sync.ChwClientProcessor; +import org.smartregister.chw.tb.TbLibrary; import org.smartregister.chw.util.FailSafeRecalledID; import org.smartregister.chw.util.FileUtils; import org.smartregister.chw.util.JsonFormUtils; @@ -214,7 +215,10 @@ private void initializeLibraries() { } if (hasTB()) { - //TODO Setup tb library + //Setup tb library + TbLibrary.init(this); + TbLibrary.getInstance().setAppVersion(BuildConfig.VERSION_CODE); + TbLibrary.getInstance().setDatabaseVersion(BuildConfig.DATABASE_VERSION); } OpdLibrary.init(context, getRepository(), From 125194fbd80167e92d6ef5f5a0c2784ae369216c Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 21 May 2020 18:40:59 +0300 Subject: [PATCH 018/915] Implement TB register --- opensrp-chw/src/main/AndroidManifest.xml | 5 + .../chw/activity/HivRegisterActivity.java | 8 +- .../chw/activity/TbRegisterActivity.java | 130 ++++++++ .../chw/fragment/TbRegisterFragment.java | 315 ++++++++++++++++++ .../chw/model/TbRegisterFragmentModel.java | 60 ++++ .../TbRegisterFragmentPresenter.java | 45 +++ 6 files changed, 559 insertions(+), 4 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/TbRegisterFragmentModel.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 56ef851190..1a73201b08 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -248,6 +248,11 @@ android:label="@string/hiv_register" android:theme="@style/ChwTheme.NoActionBar" /> + + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java index 321a251a1d..e7b1a55b76 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java @@ -36,9 +36,9 @@ public class HivRegisterActivity extends BaseHivRegisterActivity { public static void startHIVRegistrationActivity(Activity activity, String baseEntityID) { Intent intent = new Intent(activity, BaseHivRegistrationFormsActivity.class); - intent.putExtra(org.smartregister.chw.referral.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); - intent.putExtra(org.smartregister.chw.referral.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); - intent.putExtra(org.smartregister.chw.referral.util.Constants.ActivityPayload.ACTION, org.smartregister.chw.referral.util.Constants.ActivityPayloadType.REGISTRATION); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, org.smartregister.chw.hiv.util.Constants.ActivityPayloadType.REGISTRATION); activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); } @@ -75,7 +75,7 @@ protected void registerBottomNavigation() { if (bottomNavigationView != null) { bottomNavigationView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED); bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_clients); - bottomNavigationView.getMenu().removeItem(org.smartregister.chw.referral.R.id.action_register); + bottomNavigationView.getMenu().removeItem(org.smartregister.chw.hiv.R.id.action_register); bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_search); bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_library); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java new file mode 100644 index 0000000000..50e9c17b26 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java @@ -0,0 +1,130 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import com.google.android.material.bottomnavigation.LabelVisibilityMode; + +import org.jetbrains.annotations.NotNull; +import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.core.job.HomeVisitServiceJob; +import org.smartregister.chw.core.job.VaccineRecurringServiceJob; +import org.smartregister.chw.fragment.FollowupRegisterFragment; +import org.smartregister.chw.fragment.TbRegisterFragment; +import org.smartregister.chw.hiv.activity.BaseHivRegistrationFormsActivity; +import org.smartregister.chw.tb.activity.BaseTbRegisterActivity; +import org.smartregister.chw.tb.fragment.BaseTbRegisterFragment; +import org.smartregister.chw.util.Constants; +import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.helper.BottomNavigationHelper; +import org.smartregister.job.ImageUploadServiceJob; +import org.smartregister.job.PullUniqueIdsServiceJob; +import org.smartregister.job.SyncServiceJob; +import org.smartregister.job.SyncTaskServiceJob; +import org.smartregister.listener.BottomNavigationListener; + +import java.util.List; + +import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; + +public class TbRegisterActivity extends BaseTbRegisterActivity { + + public static void startTbRegistrationActivity(Activity activity, String baseEntityID) { + Intent intent = new Intent(activity, BaseHivRegistrationFormsActivity.class); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(Constants.JSON_FORM.getHivRegistration()).toString()); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.ACTION, org.smartregister.chw.tb.util.Constants.ActivityPayloadType.REGISTRATION); + + activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); + } + + @NotNull + @Override + protected Fragment[] getOtherFragments() { + Fragment fg = new FollowupRegisterFragment(); + return new Fragment[]{fg}; + } + + @NotNull + @Override + protected BaseTbRegisterFragment getRegisterFragment() { + return new TbRegisterFragment(); + } + + @Override + public List getViewIdentifiers() { + return null; + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + NavigationMenu.getInstance(this, null, null); + } + + @Override + protected void registerBottomNavigation() { + bottomNavigationHelper = new BottomNavigationHelper(); + bottomNavigationView = findViewById(org.smartregister.R.id.bottom_navigation); + + if (bottomNavigationView != null) { + bottomNavigationView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_clients); + bottomNavigationView.getMenu().removeItem(org.smartregister.chw.tb.R.id.action_register); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_search); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_library); + + bottomNavigationView.inflateMenu(getMenuResource()); + bottomNavigationHelper.disableShiftMode(bottomNavigationView); + + BottomNavigationListener hivBottomNavigationListener = getBottomNavigation(this); + bottomNavigationView.setOnNavigationItemSelectedListener(hivBottomNavigationListener); + + } + } + + @Override + public void startFormActivity(JSONObject jsonForm) { + //Implement + } + + private void startRegisterActivity() { + HomeVisitServiceJob.scheduleJobImmediately(HomeVisitServiceJob.TAG); + VaccineRecurringServiceJob.scheduleJobImmediately(VaccineRecurringServiceJob.TAG); + ImageUploadServiceJob.scheduleJobImmediately(ImageUploadServiceJob.TAG); + SyncServiceJob.scheduleJobImmediately(SyncServiceJob.TAG); + PullUniqueIdsServiceJob.scheduleJobImmediately(PullUniqueIdsServiceJob.TAG); + HomeVisitServiceJob.scheduleJobImmediately(HomeVisitServiceJob.TAG); + SyncTaskServiceJob.scheduleJobImmediately(SyncTaskServiceJob.TAG); + Intent intent = new Intent(this, TbRegisterActivity.class); + this.startActivity(intent); + this.overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up); + this.finish(); + } + + @Override + protected void onResumption() { + super.onResumption(); + NavigationMenu menu = NavigationMenu.getInstance(this, null, null); + if (menu != null) { + menu.getNavigationAdapter().setSelectedView(Constants.DrawerMenu.HIV_CLIENTS); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == Activity.RESULT_OK && requestCode == org.smartregister.chw.malaria.util.Constants.REQUEST_CODE_GET_JSON) { + startRegisterActivity(); + } else { + finish(); + } + + } +} + \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java new file mode 100644 index 0000000000..5fd5fabb31 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java @@ -0,0 +1,315 @@ +package org.smartregister.chw.fragment; + +import android.database.Cursor; +import android.os.Bundle; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.appcompat.widget.Toolbar; +import androidx.loader.content.CursorLoader; +import androidx.loader.content.Loader; + +import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; +import org.smartregister.chw.R; +import org.smartregister.chw.activity.MalariaFollowUpVisitActivity; +import org.smartregister.chw.anc.util.DBConstants; +import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.core.utils.QueryBuilder; +import org.smartregister.chw.model.TbRegisterFragmentModel; +import org.smartregister.chw.presenter.TbRegisterFragmentPresenter; +import org.smartregister.chw.tb.activity.BaseTbProfileActivity; +import org.smartregister.chw.tb.dao.TbDao; +import org.smartregister.chw.tb.fragment.BaseTbRegisterFragment; +import org.smartregister.chw.tb.provider.TbRegisterProvider; +import org.smartregister.chw.util.Constants; +import org.smartregister.chw.util.Utils; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.commonregistry.CommonRepository; +import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.view.activity.BaseRegisterActivity; +import org.smartregister.view.customcontrols.CustomFontTextView; + +import java.text.MessageFormat; +import java.util.HashMap; +import java.util.List; +import java.util.Objects; +import java.util.Set; + +import timber.log.Timber; + +public class TbRegisterFragment extends BaseTbRegisterFragment { + + private static final String DUE_FILTER_TAG = "PRESSED"; + private View view; + private View dueOnlyLayout; + private boolean dueFilterActive = false; + + @Override + public void initializeAdapter(@Nullable Set visibleColumns) { + TbRegisterProvider tbRegisterProvider = new TbRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); + clientAdapter = new RecyclerViewPaginatedAdapter(null, tbRegisterProvider, context().commonrepository(this.tablename)); + clientAdapter.setCurrentlimit(20); + clientsView.setAdapter(clientAdapter); + } + + @Override + public void setupViews(View view) { + super.setupViews(view); + this.view = view; + + Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); + toolbar.setContentInsetsAbsolute(0, 0); + toolbar.setContentInsetsRelative(0, 0); + toolbar.setContentInsetStartWithNavigation(0); + + NavigationMenu.getInstance(getActivity(), null, toolbar); + + View navbarContainer = view.findViewById(R.id.register_nav_bar_container); + navbarContainer.setFocusable(false); + + LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); + View searchBarLayout = view.findViewById(R.id.search_bar_layout); + searchBarLayout.setLayoutParams(params); + searchBarLayout.setBackgroundResource(R.color.chw_primary); + searchBarLayout.setPadding(searchBarLayout.getPaddingLeft(), searchBarLayout.getPaddingTop(), searchBarLayout.getPaddingRight(), (int) Utils.convertDpToPixel(10, getActivity())); + + CustomFontTextView titleView = view.findViewById(R.id.txt_title_label); + if (titleView != null) { + titleView.setPadding(0, titleView.getTop(), titleView.getPaddingRight(), titleView.getPaddingBottom()); + } + + View topLeftLayout = view.findViewById(R.id.top_left_layout); + topLeftLayout.setVisibility(View.GONE); + + View topRightLayout = view.findViewById(R.id.top_right_layout); + topRightLayout.setVisibility(View.VISIBLE); + + View sortFilterBarLayout = view.findViewById(R.id.register_sort_filter_bar_layout); + sortFilterBarLayout.setVisibility(View.GONE); + + View filterSortLayout = view.findViewById(R.id.filter_sort_layout); + filterSortLayout.setVisibility(View.GONE); + + dueOnlyLayout = view.findViewById(R.id.due_only_layout); + dueOnlyLayout.setVisibility(View.VISIBLE); + dueOnlyLayout.setOnClickListener(registerActionHandler); + + if (getSearchView() != null) { + getSearchView().setBackgroundResource(org.smartregister.family.R.color.white); + getSearchView().setCompoundDrawablesWithIntrinsicBounds(org.smartregister.family.R.drawable.ic_action_search, 0, 0, 0); + getSearchView().setTextColor(getResources().getColor(R.color.text_black)); + } + } + + @Override + protected void initializePresenter() { + if (getActivity() == null) { + return; + } + String viewConfigurationIdentifier = null; + try { + viewConfigurationIdentifier = ((BaseRegisterActivity) getActivity()).getViewIdentifiers().get(0); + } catch (NullPointerException e) { + Timber.e(e); + } + presenter = new TbRegisterFragmentPresenter(this, new TbRegisterFragmentModel(), viewConfigurationIdentifier); + } + + @Override + public void setAdvancedSearchFormData(HashMap hashMap) { + //TODO + //Log.d(TAG, "setAdvancedSearchFormData unimplemented"); + } + + @Override + protected void onViewClicked(View view) { + super.onViewClicked(view); + + if (view.getId() == R.id.due_only_layout) { + toggleFilterSelection(view); + } + } + + protected void toggleFilterSelection(View dueOnlyLayout) { + if (dueOnlyLayout != null) { + if (dueOnlyLayout.getTag() == null) { + dueFilterActive = true; + dueFilter(dueOnlyLayout); + } else if (dueOnlyLayout.getTag().toString().equals(DUE_FILTER_TAG)) { + dueFilterActive = false; + normalFilter(dueOnlyLayout); + } + } + } + + protected String searchText() { + return (getSearchView() == null) ? "" : getSearchView().getText().toString(); + } + + private void switchViews(View dueOnlyLayout, boolean isPress) { + TextView dueOnlyTextView = dueOnlyLayout.findViewById(R.id.due_only_text_view); + if (isPress) { + dueOnlyTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_due_filter_on, 0); + } else { + dueOnlyTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_due_filter_off, 0); + + } + } + + @Override + protected void openProfile(CommonPersonObjectClient client) { + if (getActivity() != null) + BaseTbProfileActivity.Companion.startProfileActivity(getActivity(), TbDao.getMember(Objects.requireNonNull(client.getColumnmaps().get("base_entity_id")))); + } + + @Override + protected void openFollowUpVisit(CommonPersonObjectClient client) { + MalariaFollowUpVisitActivity.startMalariaRegistrationActivity(getActivity(), client.getCaseId(), null); + } + + @Override + protected void onResumption() { + if (dueFilterActive && dueOnlyLayout != null) { + dueFilter(dueOnlyLayout); + } else { + super.onResumption(); + } + } + + @Override + public void onResume() { + super.onResume(); + + Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); + toolbar.setContentInsetsAbsolute(0, 0); + toolbar.setContentInsetsRelative(0, 0); + toolbar.setContentInsetStartWithNavigation(0); + NavigationMenu.getInstance(getActivity(), null, toolbar); + } + + @Override + protected void refreshSyncProgressSpinner() { + if (syncProgressBar != null) { + syncProgressBar.setVisibility(View.GONE); + } + if (syncButton != null) { + syncButton.setVisibility(View.GONE); + } + } + + private String defaultFilterAndSortQuery() { + SmartRegisterQueryBuilder sqb = new SmartRegisterQueryBuilder(mainSelect); + + String query = ""; + StringBuilder customFilter = new StringBuilder(); + if (StringUtils.isNotBlank(filters)) { + customFilter.append(MessageFormat.format(" and ( {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.FIRST_NAME, filters)); + customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.LAST_NAME, filters)); + customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.MIDDLE_NAME, filters)); + customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ) ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.UNIQUE_ID, filters)); + + } + if (dueFilterActive) { + customFilter.append(MessageFormat.format(" and ( {0}) ", presenter().getDueFilterCondition())); + } + try { + if (isValidFilterForFts(commonRepository())) { + + String myquery = QueryBuilder.getQuery(joinTables, mainCondition, tablename, customFilter.toString(), clientAdapter, Sortqueries); + List ids = commonRepository().findSearchIds(myquery); + query = sqb.toStringFts(ids, tablename, CommonRepository.ID_COLUMN, + Sortqueries); + query = sqb.Endquery(query); + } else { + sqb.addCondition(customFilter.toString()); + query = sqb.orderbyCondition(Sortqueries); + query = sqb.Endquery(sqb.addlimitandOffset(query, clientAdapter.getCurrentlimit(), clientAdapter.getCurrentoffset())); + + } + } catch (Exception e) { + Timber.e(e); + } + + return query; + } + + + @Override + public void countExecute() { + Cursor c = null; + try { + + String query = "select count(*) from " + presenter().getMainTable() + " inner join " + Constants.TABLE_NAME.FAMILY_MEMBER + + " on " + presenter().getMainTable() + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + + " where " + presenter().getMainCondition(); + + if (StringUtils.isNotBlank(filters)) { + query = query + " and ( " + filters + " ) "; + } + + if (dueFilterActive) { + query = query + " and ( " + presenter().getDueFilterCondition() + " ) "; + } + + c = commonRepository().rawCustomQueryForAdapter(query); + c.moveToFirst(); + clientAdapter.setTotalcount(c.getInt(0)); + Timber.v("total count here %s", clientAdapter.getTotalcount()); + + clientAdapter.setCurrentlimit(20); + clientAdapter.setCurrentoffset(0); + + } catch (Exception e) { + Timber.e(e); + } finally { + if (c != null) { + c.close(); + } + } + } + + @Override + public Loader onCreateLoader(int id, final Bundle args) { + if (id == LOADER_ID) { + return new CursorLoader(getActivity()) { + @Override + public Cursor loadInBackground() { + // Count query + final String COUNT = "count_execute"; + if (args != null && args.getBoolean(COUNT)) { + countExecute(); + } + String query = defaultFilterAndSortQuery(); + return commonRepository().rawCustomQueryForAdapter(query); + } + }; + } + return super.onCreateLoader(id, args); + } + + protected void dueFilter(View dueOnlyLayout) { + filterDue(searchText(), "", presenter().getDueFilterCondition()); + dueOnlyLayout.setTag(DUE_FILTER_TAG); + switchViews(dueOnlyLayout, true); + } + + protected void normalFilter(View dueOnlyLayout) { + filterDue(searchText(), "", presenter().getMainCondition()); + dueOnlyLayout.setTag(null); + switchViews(dueOnlyLayout, false); + } + + protected void filterDue(String filterString, String joinTableString, String mainConditionString) { + filters = filterString; + joinTable = joinTableString; + mainCondition = mainConditionString; + filterandSortExecute(countBundle()); + } + +} + + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/TbRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/TbRegisterFragmentModel.java new file mode 100644 index 0000000000..5b1a78bb76 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/TbRegisterFragmentModel.java @@ -0,0 +1,60 @@ +package org.smartregister.chw.model; + + +import androidx.annotation.NonNull; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.core.utils.ChildDBConstants; +import org.smartregister.chw.tb.util.Constants.Tables; +import org.smartregister.chw.tb.util.DBConstants.Key; +import org.smartregister.chw.tb.model.BaseTbRegisterFragmentModel; +import org.smartregister.chw.util.Constants; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.family.util.DBConstants; + +import java.util.HashSet; +import java.util.Set; + +public class TbRegisterFragmentModel extends BaseTbRegisterFragmentModel { + + @NonNull + @Override + public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { + SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); + queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); + queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T1 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER + " = T1." + DBConstants.KEY.BASE_ENTITY_ID); + queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T2 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD + " = T2." + DBConstants.KEY.BASE_ENTITY_ID); + return queryBuilder.mainCondition(mainCondition); + } + + @Override + @NotNull + public String[] mainColumns(String tableName) { + Set columnList = new HashSet<>(); + + columnList.add(tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.FIRST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.LAST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DOB); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.GENDER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.OTHER_PHONE_NUMBER); + columnList.add("T2." + DBConstants.KEY.PHONE_NUMBER + " AS " + Key.FAMILY_HEAD_PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); + columnList.add("T1." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.PRIMARY_CAREGIVER); + columnList.add("T2." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.FAMILY_HEAD); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); + columnList.add(Tables.TB + "." + Key.PLACE_OF_DOMICILE); + columnList.add(Tables.TB + "." + Key.COMMUNITY_CLIENT_TB_REGISTRATION_NUMBER); + columnList.add(Tables.TB + "." + Key.CLIENT_TB_STATUS_DURING_REGISTRATION); + columnList.add(Tables.TB + "." + Key.CLIENT_TB_STATUS_AFTER_TESTING); + + return columnList.toArray(new String[columnList.size()]); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java new file mode 100644 index 0000000000..73bc9af71e --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java @@ -0,0 +1,45 @@ +package org.smartregister.chw.presenter; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.R; +import org.smartregister.chw.tb.contract.BaseTbRegisterFragmentContract; +import org.smartregister.chw.tb.presenter.BaseTbRegisterFragmentPresenter; +import org.smartregister.chw.tb.util.Constants.Tables; +import org.smartregister.chw.tb.util.DBConstants; +import org.smartregister.chw.util.Constants; + +public class TbRegisterFragmentPresenter extends BaseTbRegisterFragmentPresenter { + + public TbRegisterFragmentPresenter(BaseTbRegisterFragmentContract.View view, BaseTbRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { + super(view, model, viewConfigurationIdentifier); + } + + @Override + @NotNull + public String getMainCondition() { + return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + + "AND " + Tables.TB + "." + DBConstants.Key.IS_CLOSED + " = '0' "; + + } + + @Override + @NotNull + public String getDueFilterCondition() { + return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + + "AND " + Tables.TB + "." + DBConstants.Key.IS_CLOSED + " = '0' "; + + } + + @Override + public void processViewConfigurations() { + super.processViewConfigurations(); + if (getConfig().getSearchBarText() != null && getView() != null) { + getView().updateSearchBarHint(getView().getContext().getString(R.string.search_name_or_id)); + } + } + + @Override + public String getMainTable() { + return Tables.TB; + } +} From a1f5e7355c216c00c3522d33d711d8f68a3f4a6c Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 22 May 2020 09:57:19 +0300 Subject: [PATCH 019/915] Refactored TB registration forms --- .../ba/assets/ec_client_classification.json | 7 ++ .../src/ba/assets/ec_client_fields.json | 76 +++++++++++++++++++ .../ba/assets/json.form/tb_registration.json | 13 ++-- .../rule/tb_registration_form_rules.yml | 6 +- 4 files changed, 93 insertions(+), 9 deletions(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 58d906c5c1..00006d9493 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -290,6 +290,13 @@ "creates_case": [ "ec_hiv_register" ] + }, + { + "field": "eventType", + "field_value": "Tb Registration", + "creates_case": [ + "ec_tb_register" + ] } ] } diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 3c2a35987c..d8277e12d5 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2371,6 +2371,82 @@ } } ] + }, + { + "name": "ec_tb_register", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "community_client_tb_registration_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "community_client_tb_registration_number" + } + }, + { + "column_name": "client_tb_status_during_registration", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_tb_status_during_registration" + } + }, + { + "column_name": "client_tb_status_after_testing", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_tb_status_after_testing" + } + }, + { + "column_name": "place_of_domicile", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "place_of_domicile" + } + }, + { + "column_name": "client_tb_screening_results", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_tb_screening_results" + } + }, + { + "column_name": "tb_registration_date", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "tb_registration_date" + } + } + ] } ] } \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/tb_registration.json b/opensrp-chw/src/ba/assets/json.form/tb_registration.json index 85d0884fea..b4672f52a8 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_registration.json @@ -61,15 +61,16 @@ "name": "community_client_tb_registration_number", "type": "text_input_edit_text", "properties": { - "hint": "CBHS Number", - "type": "Community Based Health Services Registration Number (CBHS Number)" + "hint": "Community Based Health Services Registration Number (CBHS Number)", + "type": "name", + "padding": "8" }, "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "community_client_tb_registration_number", "openmrs_entity_parent": "" }, - "required_status": "false" + "required_status": "yes:Please add cbhs number" }, { "name": "client_tb_status_during_registration", @@ -145,7 +146,7 @@ }, { "name": "community_gathering", - "text": "Community gathering", + "text": "Community Gathering", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "community_gathering", @@ -241,7 +242,7 @@ } ], "required_status": "yes:Please specify the type of community gathering", - "subjects": "place_of_domicile:map" + "subjects": "place_of_domicile:text" }, { "name": "other_community_gathering", @@ -255,7 +256,7 @@ "openmrs_entity_parent": "" }, "required_status": "yes:Please specify other community gathering", - "subjects": "community_gathering:map" + "subjects": "community_gathering:text" }, { "name": "tb_registration_date", diff --git a/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml b/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml index b350194fef..a3b2cdeb78 100644 --- a/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml @@ -1,14 +1,14 @@ --- name: "community_gathering_visibility" -description: "Display community gathering types if community_gathering is chosen" +description: "Display community gathering types if community gathering is chosen" priority: 1 -condition: "place_of_domicile['community_gathering'] != null" +condition: "place_of_domicile.value=='Community Gathering'" actions: - "community_gathering_visibility = true" --- name: "other_community_gathering_visibility" description: "Display other community gathering types if others is chosen" priority: 1 -condition: "community_gathering['others'] != null" +condition: "community_gathering.value == 'Others'" actions: - "other_community_gathering_visibility = true" \ No newline at end of file From 62ec8bcc86be269dfaa4b9244d4d5fb378524e7e Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 22 May 2020 09:57:34 +0300 Subject: [PATCH 020/915] Code refactoring --- .../FamilyOtherMemberProfileActivityFlv.java | 5 +++++ .../org/smartregister/chw/util/UtilsFlv.java | 10 ++++++++++ .../AllClientsMemberProfileActivity.java | 5 +++++ .../FamilyOtherMemberProfileActivity.java | 13 +++++++++++++ .../chw/activity/FamilyProfileActivity.java | 17 +++++++++++++++++ .../chw/activity/HivRegisterActivity.java | 1 + .../chw/activity/PncMemberProfileActivity.java | 10 ++++++++++ .../chw/activity/TbRegisterActivity.java | 7 ++++--- .../chw/application/ChwApplication.java | 2 ++ .../chw/fragment/HivRegisterFragment.java | 6 ++---- .../chw/fragment/TbRegisterFragment.java | 2 +- 11 files changed, 70 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java index b7f54f159e..bb09841015 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java @@ -55,6 +55,11 @@ public void updateHivMenuItems(@Nullable String baseEntityId, @Nullable Menu men UtilsFlv.updateHivMenuItems(baseEntityId, menu); } + @Override + public void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu) { + UtilsFlv.updateTbMenuItems(baseEntityId, menu); + } + @Override public void updateFpMenuItems(String baseEntityId, Menu menu) { UtilsFlv.updateFpMenuItems(baseEntityId, menu); diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java index fe884297a0..11ae5f9100 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java @@ -61,6 +61,16 @@ public static void updateFpMenuItems(String baseEntityId, Menu menu) { public static void updateHivMenuItems(String baseEntityId, Menu menu) { if (HivDao.isRegisteredForHiv(baseEntityId)) { menu.findItem(R.id.action_hiv_registration).setVisible(false); + }else{ + menu.findItem(R.id.action_hiv_registration).setVisible(true); + } + } + + public static void updateTbMenuItems(String baseEntityId, Menu menu) { + if (HivDao.isRegisteredForHiv(baseEntityId)) { + menu.findItem(R.id.action_tb_registration).setVisible(false); + }else{ + menu.findItem(R.id.action_tb_registration).setVisible(true); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 73df91b4e4..7bdf2a7084 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -172,6 +172,11 @@ protected void startHivRegister() { HivRegisterActivity.startHIVRegistrationActivity(AllClientsMemberProfileActivity.this, baseEntityId); } + @Override + protected void startTbRegister() { + TbRegisterActivity.startTbRegistrationActivity(AllClientsMemberProfileActivity.this, baseEntityId); + } + @Override protected void startFpRegister() { String dob = org.smartregister.family.util.Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.DOB, false); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index 3990d137cf..0e5879da0c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -66,6 +66,12 @@ public boolean onCreateOptionsMenu(Menu menu) { } else { flavor.updateHivMenuItems(baseEntityId, menu); } + + if (!ChwApplication.getApplicationFlavor().hasTB()) { + menu.findItem(R.id.action_tb_registration).setVisible(false); + } else { + flavor.updateTbMenuItems(baseEntityId, menu); + } return true; } @@ -112,6 +118,11 @@ protected void startHivRegister() { HivRegisterActivity.startHIVRegistrationActivity(FamilyOtherMemberProfileActivity.this, baseEntityId); } + @Override + protected void startTbRegister() { + TbRegisterActivity.startTbRegistrationActivity(FamilyOtherMemberProfileActivity.this, baseEntityId); + } + @Override protected void startEditMemberJsonForm(Integer title_resource, CommonPersonObjectClient client) { @@ -206,6 +217,8 @@ public interface Flavor { void updateHivMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); + void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); + boolean hasANC(); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java index 726c6f00d9..1aab43201d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java @@ -19,9 +19,13 @@ import org.smartregister.chw.fragment.FamilyProfileActivityFragment; import org.smartregister.chw.fragment.FamilyProfileDueFragment; import org.smartregister.chw.fragment.FamilyProfileMemberFragment; +import org.smartregister.chw.hiv.activity.BaseHivProfileActivity; +import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.model.FamilyProfileModel; import org.smartregister.chw.pnc.activity.BasePncMemberProfileActivity; import org.smartregister.chw.presenter.FamilyProfilePresenter; +import org.smartregister.chw.tb.activity.BaseTbProfileActivity; +import org.smartregister.chw.tb.dao.TbDao; import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.family.adapter.ViewPagerAdapter; import org.smartregister.family.fragment.BaseFamilyProfileDueFragment; @@ -30,6 +34,7 @@ import org.smartregister.view.fragment.BaseRegisterFragment; import java.util.HashMap; +import java.util.Objects; public class FamilyProfileActivity extends CoreFamilyProfileActivity { private BaseFamilyProfileDueFragment profileDueFragment; @@ -141,6 +146,18 @@ protected void goToFpProfile(String baseEntityId, Activity activity) { FamilyPlanningMemberProfileActivity.startFpMemberProfileActivity(activity, FpDao.getMember(baseEntityId)); } + @Override + protected void goToHivProfile(String baseEntityId, Activity activity) { + //TODO Coze update this + BaseHivProfileActivity.Companion.startProfileActivity(this, Objects.requireNonNull(HivDao.getMember(baseEntityId))); + } + + @Override + protected void goToTbProfile(String baseEntityId, Activity activity) { + //TODO Coze update this + BaseTbProfileActivity.Companion.startProfileActivity(this, Objects.requireNonNull(TbDao.getMember(baseEntityId))); + } + @Override protected boolean isAncMember(String baseEntityId) { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java index e7b1a55b76..c13f332a8b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java @@ -39,6 +39,7 @@ public static void startHIVRegistrationActivity(Activity activity, String baseEn intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, org.smartregister.chw.hiv.util.Constants.ActivityPayloadType.REGISTRATION); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT,false); activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index 29f184a3a1..5ac16bbeca 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -382,6 +382,16 @@ protected void startFpRegister() { FpRegisterActivity.startFpRegistrationActivity(this, memberObject.getBaseEntityId(), memberObject.getDob(), CoreConstants.JSON_FORM.getFpRegistrationForm("Female"), FamilyPlanningConstants.ActivityPayload.REGISTRATION_PAYLOAD_TYPE); } + @Override + protected void startHivRegister() { + HivRegisterActivity.startHIVRegistrationActivity(this, memberObject.getBaseEntityId()); + } + + @Override + protected void startTbRegister() { + TbRegisterActivity.startTbRegistrationActivity(this, memberObject.getBaseEntityId()); + } + @Override protected void startFpChangeMethod() { FpRegisterActivity.startFpRegistrationActivity(this, memberObject.getBaseEntityId(), memberObject.getDob(), CoreConstants.JSON_FORM.getFpChangeMethodForm("female"), FamilyPlanningConstants.ActivityPayload.CHANGE_METHOD_PAYLOAD_TYPE); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java index 50e9c17b26..d70930512a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java @@ -16,8 +16,8 @@ import org.smartregister.chw.core.job.VaccineRecurringServiceJob; import org.smartregister.chw.fragment.FollowupRegisterFragment; import org.smartregister.chw.fragment.TbRegisterFragment; -import org.smartregister.chw.hiv.activity.BaseHivRegistrationFormsActivity; import org.smartregister.chw.tb.activity.BaseTbRegisterActivity; +import org.smartregister.chw.tb.activity.BaseTbRegistrationFormsActivity; import org.smartregister.chw.tb.fragment.BaseTbRegisterFragment; import org.smartregister.chw.util.Constants; import org.smartregister.family.util.JsonFormUtils; @@ -35,10 +35,11 @@ public class TbRegisterActivity extends BaseTbRegisterActivity { public static void startTbRegistrationActivity(Activity activity, String baseEntityID) { - Intent intent = new Intent(activity, BaseHivRegistrationFormsActivity.class); + Intent intent = new Intent(activity, BaseTbRegistrationFormsActivity.class); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(Constants.JSON_FORM.getHivRegistration()).toString()); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(Constants.JSON_FORM.getTbRegistration()).toString()); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.ACTION, org.smartregister.chw.tb.util.Constants.ActivityPayloadType.REGISTRATION); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT,false); activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index 8938854ee7..2845e9543c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -31,6 +31,7 @@ import org.smartregister.chw.activity.MalariaRegisterActivity; import org.smartregister.chw.activity.PncRegisterActivity; import org.smartregister.chw.activity.ReferralRegisterActivity; +import org.smartregister.chw.activity.TbRegisterActivity; import org.smartregister.chw.activity.UpdatesRegisterActivity; import org.smartregister.chw.anc.AncLibrary; import org.smartregister.chw.anc.domain.Visit; @@ -295,6 +296,7 @@ public Map getRegisteredActivities() { registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.FP_REGISTER_ACTIVITY, FpRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.UPDATES_REGISTER_ACTIVITY, UpdatesRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_REGISTER_ACTIVITY, HivRegisterActivity.class); + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.TB_REGISTER_ACTIVITY, TbRegisterActivity.class); return registeredActivities; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index a038f9f354..f5fdd133f2 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -10,8 +10,6 @@ import androidx.loader.content.CursorLoader; import androidx.loader.content.Loader; -import com.google.gson.Gson; - import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; import org.smartregister.chw.R; @@ -163,8 +161,8 @@ private void switchViews(View dueOnlyLayout, boolean isPress) { @Override protected void openProfile(CommonPersonObjectClient client) { - if(getActivity()!=null) - BaseHivProfileActivity.Companion.startProfileActivity(getActivity(), HivDao.getMember(Objects.requireNonNull(client.getColumnmaps().get("base_entity_id")))); + if (getActivity() != null) + BaseHivProfileActivity.Companion.startProfileActivity(getActivity(), Objects.requireNonNull(HivDao.getMember(client.getCaseId()))); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java index 5fd5fabb31..273cc3fe9e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java @@ -162,7 +162,7 @@ private void switchViews(View dueOnlyLayout, boolean isPress) { @Override protected void openProfile(CommonPersonObjectClient client) { if (getActivity() != null) - BaseTbProfileActivity.Companion.startProfileActivity(getActivity(), TbDao.getMember(Objects.requireNonNull(client.getColumnmaps().get("base_entity_id")))); + BaseTbProfileActivity.Companion.startProfileActivity(getActivity(), Objects.requireNonNull(TbDao.getMember(client.getCaseId()))); } @Override From 9bcb19099f91f6295a4e4ac57d75bba01d347484 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 22 May 2020 09:58:53 +0300 Subject: [PATCH 021/915] Code refactoring --- .../smartregister/chw/activity/TbRegisterActivity.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java index d70930512a..54e99b5ae1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java @@ -14,6 +14,7 @@ import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.job.HomeVisitServiceJob; import org.smartregister.chw.core.job.VaccineRecurringServiceJob; +import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.fragment.FollowupRegisterFragment; import org.smartregister.chw.fragment.TbRegisterFragment; import org.smartregister.chw.tb.activity.BaseTbRegisterActivity; @@ -39,7 +40,7 @@ public static void startTbRegistrationActivity(Activity activity, String baseEnt intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(Constants.JSON_FORM.getTbRegistration()).toString()); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.ACTION, org.smartregister.chw.tb.util.Constants.ActivityPayloadType.REGISTRATION); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT,false); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT,false); activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); } @@ -83,8 +84,8 @@ protected void registerBottomNavigation() { bottomNavigationView.inflateMenu(getMenuResource()); bottomNavigationHelper.disableShiftMode(bottomNavigationView); - BottomNavigationListener hivBottomNavigationListener = getBottomNavigation(this); - bottomNavigationView.setOnNavigationItemSelectedListener(hivBottomNavigationListener); + BottomNavigationListener tbBottomNavigationListener = getBottomNavigation(this); + bottomNavigationView.setOnNavigationItemSelectedListener(tbBottomNavigationListener); } } @@ -113,7 +114,7 @@ protected void onResumption() { super.onResumption(); NavigationMenu menu = NavigationMenu.getInstance(this, null, null); if (menu != null) { - menu.getNavigationAdapter().setSelectedView(Constants.DrawerMenu.HIV_CLIENTS); + menu.getNavigationAdapter().setSelectedView(Constants.DrawerMenu.TB_CLIENTS); } } From e0649c93a29bb0c4f98cabd2cc063c7ff967cad5 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 22 May 2020 23:20:48 +0300 Subject: [PATCH 022/915] Code refactoring --- .../src/ba/assets/ec_client_fields.json | 4 ++-- opensrp-chw/src/main/AndroidManifest.xml | 19 ++++++++++++++++++- .../chw/activity/FamilyProfileActivity.java | 6 ++---- .../chw/fragment/HivRegisterFragment.java | 10 +++++++--- .../chw/fragment/TbRegisterFragment.java | 4 ++-- 5 files changed, 31 insertions(+), 12 deletions(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index d8277e12d5..8400e072ce 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2366,7 +2366,7 @@ "type": "Event", "data_type": "date", "json_mapping": { - "field": "obs.fieldCode", + "field": "obs.formSubmissionField", "concept": "hiv_registration_date" } } @@ -2442,7 +2442,7 @@ "type": "Event", "data_type": "date", "json_mapping": { - "field": "obs.fieldCode", + "field": "obs.formSubmissionField", "concept": "tb_registration_date" } } diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 1a73201b08..81895000ed 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -202,7 +202,8 @@ android:label="@string/stock_usage_report" android:theme="@style/ChwTheme.NoActionBar" /> - + + + + + + + + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java index 1aab43201d..2dc12602ef 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java @@ -148,14 +148,12 @@ protected void goToFpProfile(String baseEntityId, Activity activity) { @Override protected void goToHivProfile(String baseEntityId, Activity activity) { - //TODO Coze update this - BaseHivProfileActivity.Companion.startProfileActivity(this, Objects.requireNonNull(HivDao.getMember(baseEntityId))); + HivProfileActivity.startHivProfileActivity(this, Objects.requireNonNull(HivDao.getMember(baseEntityId))); } @Override protected void goToTbProfile(String baseEntityId, Activity activity) { - //TODO Coze update this - BaseTbProfileActivity.Companion.startProfileActivity(this, Objects.requireNonNull(TbDao.getMember(baseEntityId))); + TbProfileActivity.startTbProfileActivity(this, Objects.requireNonNull(TbDao.getMember(baseEntityId))); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index f5fdd133f2..2ed2305648 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -13,12 +13,15 @@ import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; import org.smartregister.chw.R; +import org.smartregister.chw.activity.HivProfileActivity; import org.smartregister.chw.activity.MalariaFollowUpVisitActivity; import org.smartregister.chw.anc.util.DBConstants; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.utils.QueryBuilder; +import org.smartregister.chw.hiv.activity.BaseHivFollowUpVisitActivity; import org.smartregister.chw.hiv.activity.BaseHivProfileActivity; import org.smartregister.chw.hiv.dao.HivDao; +import org.smartregister.chw.hiv.domain.HivMemberObject; import org.smartregister.chw.hiv.fragment.BaseHivRegisterFragment; import org.smartregister.chw.hiv.provider.HivRegisterProvider; import org.smartregister.chw.model.HivRegisterFragmentModel; @@ -162,12 +165,13 @@ private void switchViews(View dueOnlyLayout, boolean isPress) { @Override protected void openProfile(CommonPersonObjectClient client) { if (getActivity() != null) - BaseHivProfileActivity.Companion.startProfileActivity(getActivity(), Objects.requireNonNull(HivDao.getMember(client.getCaseId()))); + HivProfileActivity.startHivProfileActivity(getActivity(), Objects.requireNonNull(HivDao.getMember(client.getCaseId()))); } + @Override - protected void openFollowUpVisit(CommonPersonObjectClient client) { - MalariaFollowUpVisitActivity.startMalariaRegistrationActivity(getActivity(), client.getCaseId(), null); + protected void openFollowUpVisit(@Nullable HivMemberObject hivMemberObject) { + //TODO Implement } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java index 273cc3fe9e..defb7bbd95 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java @@ -14,12 +14,12 @@ import org.jetbrains.annotations.Nullable; import org.smartregister.chw.R; import org.smartregister.chw.activity.MalariaFollowUpVisitActivity; +import org.smartregister.chw.activity.TbProfileActivity; import org.smartregister.chw.anc.util.DBConstants; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.utils.QueryBuilder; import org.smartregister.chw.model.TbRegisterFragmentModel; import org.smartregister.chw.presenter.TbRegisterFragmentPresenter; -import org.smartregister.chw.tb.activity.BaseTbProfileActivity; import org.smartregister.chw.tb.dao.TbDao; import org.smartregister.chw.tb.fragment.BaseTbRegisterFragment; import org.smartregister.chw.tb.provider.TbRegisterProvider; @@ -162,7 +162,7 @@ private void switchViews(View dueOnlyLayout, boolean isPress) { @Override protected void openProfile(CommonPersonObjectClient client) { if (getActivity() != null) - BaseTbProfileActivity.Companion.startProfileActivity(getActivity(), Objects.requireNonNull(TbDao.getMember(client.getCaseId()))); + TbProfileActivity.startTbProfileActivity(getActivity(), Objects.requireNonNull(TbDao.getMember(client.getCaseId()))); } @Override From 3e2ae7dc3185ce074304da85a39bf4c2724ea759 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 22 May 2020 23:21:29 +0300 Subject: [PATCH 023/915] Added hiv and tb followup rule files --- opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml | 8 ++++++++ opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml | 8 ++++++++ 2 files changed, 16 insertions(+) create mode 100644 opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml create mode 100644 opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml diff --git a/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml b/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml new file mode 100644 index 0000000000..e7ed04586e --- /dev/null +++ b/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml @@ -0,0 +1,8 @@ +--- +name: schedule_every_month +description: monthly +priority: 1 +condition: "true" +actions: + - "hivFollowupRule.setVisitID('1')" + - "hivFollowupRule.updateDueDate(30,8)" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml b/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml new file mode 100644 index 0000000000..338f5e0439 --- /dev/null +++ b/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml @@ -0,0 +1,8 @@ +--- +name: schedule_every_month +description: monthly +priority: 1 +condition: "true" +actions: + - "tbFollowupRule.setVisitID('1')" + - "tbFollowupRule.updateDueDate(30,8)" \ No newline at end of file From 289c4060370c92aa897efe13ce575c379c8a49df Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 22 May 2020 23:21:59 +0300 Subject: [PATCH 024/915] Implemented TB and HIV clients profiles --- .../activity/HivFollowUpVisitActivity.java | 82 ++++++++ .../chw/activity/HivProfileActivity.java | 179 +++++++++++++++++ .../chw/activity/TbFollowUpVisitActivity.java | 80 ++++++++ .../chw/activity/TbProfileActivity.java | 184 ++++++++++++++++++ .../chw/contract/HivProfileContract.java | 9 + .../chw/contract/TbProfileContract.java | 9 + .../chw/custom_view/TbFloatingMenu.java | 12 ++ .../chw/presenter/HivProfilePresenter.java | 30 +++ .../chw/presenter/TbProfilePresenter.java | 30 +++ 9 files changed, 615 insertions(+) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/HivFollowUpVisitActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/TbFollowUpVisitActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/contract/HivProfileContract.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/contract/TbProfileContract.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/custom_view/TbFloatingMenu.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivProfilePresenter.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbProfilePresenter.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivFollowUpVisitActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivFollowUpVisitActivity.java new file mode 100644 index 0000000000..d7c649b164 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivFollowUpVisitActivity.java @@ -0,0 +1,82 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; + +import com.vijay.jsonwizard.constants.JsonFormConstants; +import com.vijay.jsonwizard.domain.Form; + +import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.anc.presenter.BaseAncHomeVisitPresenter; +import org.smartregister.chw.core.task.RunnableTask; +import org.smartregister.chw.core.utils.Utils; +import org.smartregister.chw.fp.util.FamilyPlanningConstants; +import org.smartregister.chw.hiv.activity.BaseHivFollowUpVisitActivity; +import org.smartregister.chw.hiv.domain.HivMemberObject; +import org.smartregister.chw.hiv.util.HivUtil; +import org.smartregister.chw.interactor.FpFollowUpVisitInteractor; +import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; +import org.smartregister.chw.tb.domain.TbMemberObject; +import org.smartregister.chw.tb.util.TbUtil; +import org.smartregister.family.util.Constants; +import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.util.LangUtils; + +import java.util.Date; + +public class HivFollowUpVisitActivity extends BaseHivFollowUpVisitActivity { + + public static void startMe(Activity activity, HivMemberObject memberObject, Boolean isEditMode) { + Intent intent = new Intent(activity, HivFollowUpVisitActivity.class); + intent.putExtra(org.smartregister.chw.anc.util.Constants.ANC_MEMBER_OBJECTS.MEMBER_PROFILE_OBJECT, HivUtil.toMember(memberObject)); + intent.putExtra(org.smartregister.chw.anc.util.Constants.ANC_MEMBER_OBJECTS.EDIT_MODE, isEditMode); + activity.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); + } + + @Override + protected void registerPresenter() { + presenter = new BaseAncHomeVisitPresenter(memberObject, this, new FpFollowUpVisitInteractor()); + } + + @Override + public void onBackPressed() { + displayExitDialog(HivFollowUpVisitActivity.this::finish); + + } + + @Override + public void close() { + finish(); + } + + @Override + public void submittedAndClose() { + // recompute schedule + Runnable runnable = () -> ChwScheduleTaskExecutor.getInstance().execute(memberObject.getBaseEntityId(), FamilyPlanningConstants.EventType.FP_FOLLOW_UP_VISIT, new Date()); + org.smartregister.chw.util.Utils.startAsyncTask(new RunnableTask(runnable), null); + super.submittedAndClose(); + } + + @Override + public void startFormActivity(JSONObject jsonForm) { + Form form = new Form(); + form.setActionBarBackground(R.color.family_actionbar); + form.setWizard(false); + + Intent intent = new Intent(this, Utils.metadata().familyMemberFormActivity); + intent.putExtra(Constants.JSON_FORM_EXTRA.JSON, jsonForm.toString()); + intent.putExtra(Constants.WizardFormActivity.EnableOnCloseDialog, false); + intent.putExtra(JsonFormConstants.JSON_FORM_KEY.FORM, form); + startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); + } + + @Override + protected void attachBaseContext(Context base) { + // get language from prefs + String lang = LangUtils.getLanguage(base.getApplicationContext()); + super.attachBaseContext(LangUtils.setAppLocale(base, lang)); + } +} + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java new file mode 100644 index 0000000000..06844d80f3 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -0,0 +1,179 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.view.View; + +import org.json.JSONObject; +import org.smartregister.chw.BuildConfig; +import org.smartregister.chw.R; +import org.smartregister.chw.core.activity.CoreHivProfileActivity; +import org.smartregister.chw.core.activity.CoreUpcomingServicesActivity; +import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; +import org.smartregister.chw.core.interactor.CoreHivProfileInteractor; +import org.smartregister.chw.core.presenter.CoreFamilyPlanningProfilePresenter; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.hiv.domain.HivMemberObject; +import org.smartregister.chw.hiv.util.HivUtil; +import org.smartregister.chw.model.ReferralTypeModel; +import org.smartregister.chw.presenter.HivProfilePresenter; +import org.smartregister.chw.tb.util.Constants; +import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.family.util.Utils; + +import java.util.ArrayList; +import java.util.List; + +import timber.log.Timber; + +public class HivProfileActivity extends CoreHivProfileActivity + implements FamilyProfileExtendedContract.PresenterCallBack { + + private List referralTypeModels = new ArrayList<>(); + + public static void startHivProfileActivity(Activity activity, HivMemberObject memberObject) { + Intent intent = new Intent(activity, HivProfileActivity.class); + intent.putExtra(Constants.ActivityPayload.MEMBER_OBJECT, memberObject); + activity.startActivity(intent); + } + + @Override + protected void onCreation() { + super.onCreation(); + addFpReferralTypes(); + } + + @Override + protected void removeMember() { + IndividualProfileRemoveActivity.startIndividualProfileActivity(HivProfileActivity.this, + getClientDetailsByBaseEntityID(getHivMemberObject().getBaseEntityId()), + getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyHead(), + getHivMemberObject().getPrimaryCareGiver(), FpRegisterActivity.class.getCanonicalName()); + } + + @Override + protected void initializePresenter() { + showProgressBar(true); + setHivProfilePresenter(new HivProfilePresenter(this, new CoreHivProfileInteractor(this), getHivMemberObject())); + fetchProfileData(); + } + + @Override + public void onClick(View view) { + super.onClick(view); + int id = view.getId(); + if (id == R.id.record_tb_followup_visit) { + openFollowUpVisitForm(false); + } + } + +// private void checkPhoneNumberProvided() { +// boolean phoneNumberAvailable = (StringUtils.isNotBlank(getHivMemberObject().getPhoneNumber()) +// || StringUtils.isNotBlank(getHivMemberObject().getFamilyHeadPhoneNumber())); +// +//// ((FamilyPlanningFloatingMenu) fpFloatingMenu).redraw(phoneNumberAvailable); +// } + + @Override + public Context getContext() { + return null; + } + + @Override + public void verifyHasPhone() { + // Implement + } + + @Override + public void notifyHasPhone(boolean b) { + // Implement + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == JsonFormUtils.REQUEST_CODE_GET_JSON) { + try { + String jsonString = data.getStringExtra(org.smartregister.family.util.Constants.JSON_FORM_EXTRA.JSON); + JSONObject form = new JSONObject(jsonString); + if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(CoreConstants.EventType.FAMILY_PLANNING_REFERRAL)) { + ((CoreFamilyPlanningProfilePresenter) getHivProfilePresenter()).createReferralEvent(Utils.getAllSharedPreferences(), jsonString); + showToast(this.getString(R.string.referral_submitted)); + } + } catch (Exception ex) { + Timber.e(ex); + } + } + } + + @Override + public void openMedicalHistory() { + OnMemberTypeLoadedListener onMemberTypeLoadedListener = memberType -> { + + switch (memberType.getMemberType()) { + case CoreConstants.TABLE_NAME.ANC_MEMBER: + AncMedicalHistoryActivity.startMe(HivProfileActivity.this, memberType.getMemberObject()); + break; + case CoreConstants.TABLE_NAME.PNC_MEMBER: + PncMedicalHistoryActivity.startMe(HivProfileActivity.this, memberType.getMemberObject()); + break; + case CoreConstants.TABLE_NAME.CHILD: + ChildMedicalHistoryActivity.startMe(HivProfileActivity.this, memberType.getMemberObject()); + break; + default: + Timber.v("Member info undefined"); + break; + } + }; + executeOnLoaded(onMemberTypeLoadedListener); + } + + @Override + public void openHivRegistrationForm() { + TbRegisterActivity.startTbRegistrationActivity(this, getHivMemberObject().getBaseEntityId()); + + } + + @Override + public void openUpcomingServices() { + CoreUpcomingServicesActivity.startMe(this, HivUtil.toMember(getHivMemberObject())); + } + + @Override + public void openFamilyDueServices() { + Intent intent = new Intent(this, FamilyProfileActivity.class); + + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_BASE_ENTITY_ID, getHivMemberObject().getFamilyBaseEntityId()); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_HEAD, getHivMemberObject().getFamilyHead()); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.PRIMARY_CAREGIVER, getHivMemberObject().getPrimaryCareGiver()); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_NAME, getHivMemberObject().getFamilyName()); + + intent.putExtra(CoreConstants.INTENT_KEY.SERVICE_DUE, true); + startActivity(intent); + } + + @Override + public void openFollowUpVisitForm(boolean isEdit) { + HivFollowUpVisitActivity.startMe(this, getHivMemberObject(), isEdit); + } + + private void addFpReferralTypes() { + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { + referralTypeModels.add(new ReferralTypeModel(getString(R.string.hiv_referral), + CoreConstants.JSON_FORM.getHivReferralForm())); + + referralTypeModels.add(new ReferralTypeModel(getString(R.string.tb_referral), + CoreConstants.JSON_FORM.getTbReferralForm())); + + referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), + CoreConstants.JSON_FORM.getGbvReferralForm())); + } + + } + + public List getReferralTypeModels() { + return referralTypeModels; + } +} + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbFollowUpVisitActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbFollowUpVisitActivity.java new file mode 100644 index 0000000000..77bc5f98c5 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbFollowUpVisitActivity.java @@ -0,0 +1,80 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; + +import com.vijay.jsonwizard.constants.JsonFormConstants; +import com.vijay.jsonwizard.domain.Form; + +import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.anc.presenter.BaseAncHomeVisitPresenter; +import org.smartregister.chw.core.task.RunnableTask; +import org.smartregister.chw.core.utils.Utils; +import org.smartregister.chw.fp.util.FamilyPlanningConstants; +import org.smartregister.chw.interactor.FpFollowUpVisitInteractor; +import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; +import org.smartregister.chw.tb.activity.BaseTbFollowUpVisitActivity; +import org.smartregister.chw.tb.domain.TbMemberObject; +import org.smartregister.chw.tb.util.TbUtil; +import org.smartregister.family.util.Constants; +import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.util.LangUtils; + +import java.util.Date; + +public class TbFollowUpVisitActivity extends BaseTbFollowUpVisitActivity { + + public static void startMe(Activity activity, TbMemberObject memberObject, Boolean isEditMode) { + Intent intent = new Intent(activity, TbFollowUpVisitActivity.class); + intent.putExtra(org.smartregister.chw.anc.util.Constants.ANC_MEMBER_OBJECTS.MEMBER_PROFILE_OBJECT, TbUtil.toMember(memberObject)); + intent.putExtra(org.smartregister.chw.anc.util.Constants.ANC_MEMBER_OBJECTS.EDIT_MODE, isEditMode); + activity.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); + } + + @Override + protected void registerPresenter() { + presenter = new BaseAncHomeVisitPresenter(memberObject, this, new FpFollowUpVisitInteractor()); + } + + @Override + public void onBackPressed() { + displayExitDialog(TbFollowUpVisitActivity.this::finish); + + } + + @Override + public void close() { + finish(); + } + + @Override + public void submittedAndClose() { + // recompute schedule + Runnable runnable = () -> ChwScheduleTaskExecutor.getInstance().execute(memberObject.getBaseEntityId(), FamilyPlanningConstants.EventType.FP_FOLLOW_UP_VISIT, new Date()); + org.smartregister.chw.util.Utils.startAsyncTask(new RunnableTask(runnable), null); + super.submittedAndClose(); + } + + @Override + public void startFormActivity(JSONObject jsonForm) { + Form form = new Form(); + form.setActionBarBackground(R.color.family_actionbar); + form.setWizard(false); + + Intent intent = new Intent(this, Utils.metadata().familyMemberFormActivity); + intent.putExtra(Constants.JSON_FORM_EXTRA.JSON, jsonForm.toString()); + intent.putExtra(Constants.WizardFormActivity.EnableOnCloseDialog, false); + intent.putExtra(JsonFormConstants.JSON_FORM_KEY.FORM, form); + startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); + } + + @Override + protected void attachBaseContext(Context base) { + // get language from prefs + String lang = LangUtils.getLanguage(base.getApplicationContext()); + super.attachBaseContext(LangUtils.setAppLocale(base, lang)); + } +} + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java new file mode 100644 index 0000000000..36d6ba1213 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -0,0 +1,184 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.view.View; + +import org.json.JSONObject; +import org.smartregister.chw.BuildConfig; +import org.smartregister.chw.R; +import org.smartregister.chw.core.activity.CoreTbProfileActivity; +import org.smartregister.chw.core.activity.CoreUpcomingServicesActivity; +import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; +import org.smartregister.chw.core.interactor.CoreTbProfileInteractor; +import org.smartregister.chw.core.presenter.CoreFamilyPlanningProfilePresenter; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.model.ReferralTypeModel; +import org.smartregister.chw.presenter.TbProfilePresenter; +import org.smartregister.chw.tb.domain.TbMemberObject; +import org.smartregister.chw.tb.util.Constants; +import org.smartregister.chw.tb.util.TbUtil; +import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.family.util.Utils; + +import java.util.ArrayList; +import java.util.List; + +import timber.log.Timber; + +public class TbProfileActivity extends CoreTbProfileActivity + implements FamilyProfileExtendedContract.PresenterCallBack { + + private List referralTypeModels = new ArrayList<>(); + + public static void startTbProfileActivity(Activity activity, TbMemberObject memberObject) { + Intent intent = new Intent(activity, TbProfileActivity.class); + intent.putExtra(Constants.ActivityPayload.MEMBER_OBJECT, memberObject); + activity.startActivity(intent); + } + + @Override + protected void onCreation() { + super.onCreation(); + addFpReferralTypes(); + } + + @Override + protected void removeMember() { + IndividualProfileRemoveActivity.startIndividualProfileActivity(TbProfileActivity.this, + getClientDetailsByBaseEntityID(getTbMemberObject().getBaseEntityId()), + getTbMemberObject().getFamilyBaseEntityId(), getTbMemberObject().getFamilyHead(), + getTbMemberObject().getPrimaryCareGiver(), FpRegisterActivity.class.getCanonicalName()); + } + + @Override + protected void startTbRegistrationActivity() { + TbRegisterActivity.startTbRegistrationActivity(this, getTbMemberObject().getBaseEntityId()); + } + + @Override + protected void initializePresenter() { + showProgressBar(true); + setTbProfilePresenter(new TbProfilePresenter(this, new CoreTbProfileInteractor(this), getTbMemberObject())); + fetchProfileData(); + } + + @Override + public void onClick(View view) { + super.onClick(view); + int id = view.getId(); + if (id == R.id.record_tb_followup_visit) { + openFollowUpVisitForm(false); + } + } + +// private void checkPhoneNumberProvided() { +// boolean phoneNumberAvailable = (StringUtils.isNotBlank(getTbMemberObject().getPhoneNumber()) +// || StringUtils.isNotBlank(getTbMemberObject().getFamilyHeadPhoneNumber())); +// +//// ((FamilyPlanningFloatingMenu) fpFloatingMenu).redraw(phoneNumberAvailable); +// } + + @Override + public Context getContext() { + return null; + } + + @Override + public void verifyHasPhone() { + // Implement + } + + @Override + public void notifyHasPhone(boolean b) { + // Implement + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == JsonFormUtils.REQUEST_CODE_GET_JSON) { + try { + String jsonString = data.getStringExtra(org.smartregister.family.util.Constants.JSON_FORM_EXTRA.JSON); + JSONObject form = new JSONObject(jsonString); + if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(CoreConstants.EventType.FAMILY_PLANNING_REFERRAL)) { + ((CoreFamilyPlanningProfilePresenter) getTbProfilePresenter()).createReferralEvent(Utils.getAllSharedPreferences(), jsonString); + showToast(this.getString(R.string.referral_submitted)); + } + } catch (Exception ex) { + Timber.e(ex); + } + } + } + + @Override + public void openMedicalHistory() { + OnMemberTypeLoadedListener onMemberTypeLoadedListener = memberType -> { + + switch (memberType.getMemberType()) { + case CoreConstants.TABLE_NAME.ANC_MEMBER: + AncMedicalHistoryActivity.startMe(TbProfileActivity.this, memberType.getMemberObject()); + break; + case CoreConstants.TABLE_NAME.PNC_MEMBER: + PncMedicalHistoryActivity.startMe(TbProfileActivity.this, memberType.getMemberObject()); + break; + case CoreConstants.TABLE_NAME.CHILD: + ChildMedicalHistoryActivity.startMe(TbProfileActivity.this, memberType.getMemberObject()); + break; + default: + Timber.v("Member info undefined"); + break; + } + }; + executeOnLoaded(onMemberTypeLoadedListener); + } + + @Override + public void openTbRegistrationForm() { + TbRegisterActivity.startTbRegistrationActivity(this, getTbMemberObject().getBaseEntityId()); + + } + + @Override + public void openUpcomingServices() { + CoreUpcomingServicesActivity.startMe(this, TbUtil.toMember(getTbMemberObject())); + } + + @Override + public void openFamilyDueServices() { + Intent intent = new Intent(this, FamilyProfileActivity.class); + + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_BASE_ENTITY_ID, getTbMemberObject().getFamilyBaseEntityId()); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_HEAD, getTbMemberObject().getFamilyHead()); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.PRIMARY_CAREGIVER, getTbMemberObject().getPrimaryCareGiver()); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_NAME, getTbMemberObject().getFamilyName()); + + intent.putExtra(CoreConstants.INTENT_KEY.SERVICE_DUE, true); + startActivity(intent); + } + + @Override + public void openFollowUpVisitForm(boolean isEdit) { + TbFollowUpVisitActivity.startMe(this, getTbMemberObject(), isEdit); + } + + private void addFpReferralTypes() { + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { + referralTypeModels.add(new ReferralTypeModel(getString(R.string.hiv_referral), + CoreConstants.JSON_FORM.getHivReferralForm())); + + referralTypeModels.add(new ReferralTypeModel(getString(R.string.tb_referral), + CoreConstants.JSON_FORM.getTbReferralForm())); + + referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), + CoreConstants.JSON_FORM.getGbvReferralForm())); + } + + } + + public List getReferralTypeModels() { + return referralTypeModels; + } +} + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/contract/HivProfileContract.java b/opensrp-chw/src/main/java/org/smartregister/chw/contract/HivProfileContract.java new file mode 100644 index 0000000000..ad9d39a174 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/contract/HivProfileContract.java @@ -0,0 +1,9 @@ +package org.smartregister.chw.contract; + +import org.smartregister.chw.core.contract.CoreHivProfileContract; + +public interface HivProfileContract extends CoreHivProfileContract { + interface Presenter { + void referToFacility(); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/contract/TbProfileContract.java b/opensrp-chw/src/main/java/org/smartregister/chw/contract/TbProfileContract.java new file mode 100644 index 0000000000..76f4bc431a --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/contract/TbProfileContract.java @@ -0,0 +1,9 @@ +package org.smartregister.chw.contract; + +import org.smartregister.chw.core.contract.CoreTbProfileContract; + +public interface TbProfileContract extends CoreTbProfileContract { + interface Presenter { + void referToFacility(); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/TbFloatingMenu.java b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/TbFloatingMenu.java new file mode 100644 index 0000000000..87e773f9ef --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/TbFloatingMenu.java @@ -0,0 +1,12 @@ +package org.smartregister.chw.custom_view; + +import android.content.Context; + +import org.smartregister.chw.core.custom_views.CoreFamilyPlanningFloatingMenu; +import org.smartregister.chw.fp.domain.FpMemberObject; + +public class TbFloatingMenu extends CoreFamilyPlanningFloatingMenu { + public TbFloatingMenu(Context context, FpMemberObject fpMemberObject) { + super(context, fpMemberObject); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivProfilePresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivProfilePresenter.java new file mode 100644 index 0000000000..34d42ace37 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivProfilePresenter.java @@ -0,0 +1,30 @@ +package org.smartregister.chw.presenter; + +import android.app.Activity; + +import org.smartregister.chw.activity.HivProfileActivity; +import org.smartregister.chw.contract.HivProfileContract; +import org.smartregister.chw.core.presenter.CoreHivProfilePresenter; +import org.smartregister.chw.hiv.domain.HivMemberObject; +import org.smartregister.chw.model.ReferralTypeModel; +import org.smartregister.chw.util.Utils; + +import java.util.List; + +public class HivProfilePresenter extends CoreHivProfilePresenter + implements org.smartregister.chw.contract.AncMemberProfileContract.Presenter { + + private HivMemberObject hivMemberObject; + + public HivProfilePresenter(HivProfileContract.View view, HivProfileContract.Interactor interactor, + HivMemberObject hivMemberObject) { + super(view, interactor, hivMemberObject); + this.hivMemberObject = hivMemberObject; + } + + @Override + public void referToFacility() { + List referralTypeModels = ((HivProfileActivity) getView()).getReferralTypeModels(); + Utils.launchClientReferralActivity((Activity) getView(), referralTypeModels, hivMemberObject.getBaseEntityId()); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbProfilePresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbProfilePresenter.java new file mode 100644 index 0000000000..f3d627fb1c --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbProfilePresenter.java @@ -0,0 +1,30 @@ +package org.smartregister.chw.presenter; + +import android.app.Activity; + +import org.smartregister.chw.activity.TbProfileActivity; +import org.smartregister.chw.contract.TbProfileContract; +import org.smartregister.chw.core.presenter.CoreTbProfilePresenter; +import org.smartregister.chw.model.ReferralTypeModel; +import org.smartregister.chw.tb.domain.TbMemberObject; +import org.smartregister.chw.util.Utils; + +import java.util.List; + +public class TbProfilePresenter extends CoreTbProfilePresenter + implements org.smartregister.chw.contract.AncMemberProfileContract.Presenter { + + private TbMemberObject tbMemberObject; + + public TbProfilePresenter(TbProfileContract.View view, TbProfileContract.Interactor interactor, + TbMemberObject tbMemberObject) { + super(view, interactor, tbMemberObject); + this.tbMemberObject = tbMemberObject; + } + + @Override + public void referToFacility() { + List referralTypeModels = ((TbProfileActivity) getView()).getReferralTypeModels(); + Utils.launchClientReferralActivity((Activity) getView(), referralTypeModels, tbMemberObject.getBaseEntityId()); + } +} From 5abb6ebf875c5f503c7527eb5a61bf02daaea696 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 22 May 2020 23:27:15 +0300 Subject: [PATCH 025/915] Optimising imports --- .../org/smartregister/chw/activity/FamilyProfileActivity.java | 2 -- .../smartregister/chw/activity/HivFollowUpVisitActivity.java | 2 -- .../org/smartregister/chw/activity/TbRegisterActivity.java | 1 - .../chw/activity/UpdateRegisterDetailsActivity.java | 1 - .../smartregister/chw/application/ChwSyncConfiguration.java | 1 - .../org/smartregister/chw/fragment/HivRegisterFragment.java | 3 --- .../org/smartregister/chw/model/TbRegisterFragmentModel.java | 2 +- 7 files changed, 1 insertion(+), 11 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java index 2dc12602ef..e30c7f460f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java @@ -19,12 +19,10 @@ import org.smartregister.chw.fragment.FamilyProfileActivityFragment; import org.smartregister.chw.fragment.FamilyProfileDueFragment; import org.smartregister.chw.fragment.FamilyProfileMemberFragment; -import org.smartregister.chw.hiv.activity.BaseHivProfileActivity; import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.model.FamilyProfileModel; import org.smartregister.chw.pnc.activity.BasePncMemberProfileActivity; import org.smartregister.chw.presenter.FamilyProfilePresenter; -import org.smartregister.chw.tb.activity.BaseTbProfileActivity; import org.smartregister.chw.tb.dao.TbDao; import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.family.adapter.ViewPagerAdapter; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivFollowUpVisitActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivFollowUpVisitActivity.java index d7c649b164..c3e2ca90f1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivFollowUpVisitActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivFollowUpVisitActivity.java @@ -18,8 +18,6 @@ import org.smartregister.chw.hiv.util.HivUtil; import org.smartregister.chw.interactor.FpFollowUpVisitInteractor; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; -import org.smartregister.chw.tb.domain.TbMemberObject; -import org.smartregister.chw.tb.util.TbUtil; import org.smartregister.family.util.Constants; import org.smartregister.family.util.JsonFormUtils; import org.smartregister.util.LangUtils; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java index 54e99b5ae1..32fda4fc86 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java @@ -14,7 +14,6 @@ import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.job.HomeVisitServiceJob; import org.smartregister.chw.core.job.VaccineRecurringServiceJob; -import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.fragment.FollowupRegisterFragment; import org.smartregister.chw.fragment.TbRegisterFragment; import org.smartregister.chw.tb.activity.BaseTbRegisterActivity; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdateRegisterDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdateRegisterDetailsActivity.java index cb3d5625d4..2d965da360 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdateRegisterDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdateRegisterDetailsActivity.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Intent; - import org.smartregister.chw.core.activity.BaseChwNotificationDetailsActivity; import static org.smartregister.chw.core.utils.CoreConstants.DB_CONSTANTS.NOTIFICATION_ID; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java index 6f23f67deb..0bd45e6ca7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java @@ -5,7 +5,6 @@ import org.smartregister.chw.BuildConfig; import org.smartregister.chw.core.utils.Utils; -import java.util.ArrayList; import java.util.Collections; import java.util.List; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index 2ed2305648..a11f5daa99 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -14,12 +14,9 @@ import org.jetbrains.annotations.Nullable; import org.smartregister.chw.R; import org.smartregister.chw.activity.HivProfileActivity; -import org.smartregister.chw.activity.MalariaFollowUpVisitActivity; import org.smartregister.chw.anc.util.DBConstants; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.utils.QueryBuilder; -import org.smartregister.chw.hiv.activity.BaseHivFollowUpVisitActivity; -import org.smartregister.chw.hiv.activity.BaseHivProfileActivity; import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.domain.HivMemberObject; import org.smartregister.chw.hiv.fragment.BaseHivRegisterFragment; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/TbRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/TbRegisterFragmentModel.java index 5b1a78bb76..3dd5716b4a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/TbRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/TbRegisterFragmentModel.java @@ -5,9 +5,9 @@ import org.jetbrains.annotations.NotNull; import org.smartregister.chw.core.utils.ChildDBConstants; +import org.smartregister.chw.tb.model.BaseTbRegisterFragmentModel; import org.smartregister.chw.tb.util.Constants.Tables; import org.smartregister.chw.tb.util.DBConstants.Key; -import org.smartregister.chw.tb.model.BaseTbRegisterFragmentModel; import org.smartregister.chw.util.Constants; import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; import org.smartregister.family.util.DBConstants; From e7d0e2bc81de8a9ad177f055e37f935f3cde51fc Mon Sep 17 00:00:00 2001 From: cozej4 Date: Sat, 23 May 2020 07:07:20 +0300 Subject: [PATCH 026/915] Code refactoring --- opensrp-chw/src/main/AndroidManifest.xml | 8 ++++++++ .../smartregister/chw/activity/HivProfileActivity.java | 10 ++-------- .../smartregister/chw/activity/TbProfileActivity.java | 3 ++- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 81895000ed..5c64b8be5f 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -261,6 +261,10 @@ + + Date: Sat, 23 May 2020 08:22:57 +0300 Subject: [PATCH 027/915] Implemented TB Followup form --- .../assets/json.form/tb_followup_visit.json | 466 ++++++++++++++++++ .../ba/assets/rule/tb_followup_form_rules.yml | 64 +++ 2 files changed, 530 insertions(+) create mode 100644 opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json create mode 100644 opensrp-chw/src/ba/assets/rule/tb_followup_form_rules.yml diff --git a/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json new file mode 100644 index 0000000000..baea3f9fa9 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json @@ -0,0 +1,466 @@ +{ + "form": "TB Followup form", + "count": "1", + "encounter_type": "TB Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "TB Followup form", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Registration/Followup status" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "New Client", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_transferred_to_another_location", + "text": "Client has transferred to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_transferred_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Clients continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Client has completed and qualified from the services ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the registration/followup status" + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Condition of the client" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Client does her daily activities", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Client takes care of him/herself (bathing, Eating)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Client is unable to take care of him/herself", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's condition", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick problem/Social challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "other_problems", + "text": "Other Problems", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's behaviour & environmental risks" + }, + "options": [ + { + "name": "none", + "text": "None", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "drunker", + "text": "Drunker", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drunker", + "openmrs_entity_parent": "" + } + }, + { + "name": "vulnerable_environment", + "text": "Clients lives in a vulnerable environment", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "vulnerable_environment", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_positive", + "text": "Client is HIV Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_positive", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's behaviour", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Supplies/medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "other_medicine", + "text": "Other treatment", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies/medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Supplies/Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Please specify other supplies/Medicine given", + "subjects": "supplies_provided:map" + }, + { + "name": "tb_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "TB services provided by CHW at the community" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "other_services", + "text": "Other TB services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_tb_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please TB services provided", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "tb_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other TB Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_services_provided_other", + "openmrs_entity_parent": "tb_services_provided" + }, + "required_status": "true:Please specify other TB services provided", + "subjects": "tb_services_provided:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "State of therapy and (TB) care" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Registered in TB clinic but hasn't begun TB/DR-TB medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Registered in TB clinic and uses TB/ DR TB medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_tb_clinic", + "text": "Client is not registed in TB clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_tb_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the state of TB therapy", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "visit_date", + "type": "hidden", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "visit_date", + "openmrs_entity_parent": "" + }, + "required_status": "false" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/tb_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/tb_followup_form_rules.yml new file mode 100644 index 0000000000..818562707b --- /dev/null +++ b/opensrp-chw/src/ba/assets/rule/tb_followup_form_rules.yml @@ -0,0 +1,64 @@ +--- +name: "client_condition_visibility" +description: "client_condition visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "client_condition_visibility = true" +--- +name: "problem_visibility" +description: "problem visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "problem_visibility = true" +--- +name: "problem_other_visibility" +description: "problem visibility" +priority: 1 +condition: "problem['other_problems'] != null" +actions: + - "problem_other_visibility = true" +--- +name: "client_behaviour_and_environmental_risk_visibility" +description: "client_behaviour_and_environmental_risk visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "client_behaviour_and_environmental_risk_visibility = true" +--- +name: "supplies_provided_visibility" +description: "supplies_provided visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "supplies_provided_visibility = true" +--- +name: "supplies_provided_other_visibility" +description: "supplies_provided_other visibility" +priority: 1 +condition: "supplies_provided['other_medicine'] != null" +actions: + - "supplies_provided_other_visibility = true" +--- +name: "tb_services_provided_visibility" +description: "tb_services_provided visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "tb_services_provided_visibility = true" +--- +name: "tb_services_provided_other_visibility" +description: "tb_services_provided_other visibility" +priority: 1 +condition: "tb_services_provided['other_services'] != null" +actions: + - "tb_services_provided_other_visibility = true" +--- +name: "state_of_therapy_visibility" +description: "state_of_therapy visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "state_of_therapy_visibility = true" + From 49cc4711470c0185441955f9467edf98eea414e6 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Sat, 23 May 2020 08:52:24 +0300 Subject: [PATCH 028/915] Implemented HIV followup visit forms --- .../assets/json.form/hiv_followup_visit.json | 529 ++++++++++++++++++ .../assets/json.form/tb_followup_visit.json | 12 +- .../assets/rule/hiv_followup_form_rules.yml | 64 +++ 3 files changed, 599 insertions(+), 6 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json create mode 100644 opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json new file mode 100644 index 0000000000..f09a511b3c --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json @@ -0,0 +1,529 @@ +{ + "form": "HIV Followup form", + "count": "1", + "encounter_type": "HIV Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "HIV Followup form", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Registration/Followup status" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "New Client", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Clients continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Client has completed and qualified from the services ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the registration/followup status" + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Condition of the client" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Client does her daily activities", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Client takes care of him/herself (bathing, Eating)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Client is unable to take care of him/herself", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's condition", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick problem/Social challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "other_problems", + "text": "Other Problems", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's behaviour & environmental risks" + }, + "options": [ + { + "name": "none", + "text": "None", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Alcoholism", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Has multiple sexual partners", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Sexual relations with different peers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Fisherman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "women_having_sex_with_other_women", + "text": "Women having sex with other women", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "women_having_sex_with_other_women", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Sex workers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Wood workers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Mining workers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Men having sex with other men", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Trucks and long distance drivers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's behaviour", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Supplies/medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "other_medicine", + "text": "Other treatment", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies/medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Supplies/Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Please specify other supplies/Medicine given", + "subjects": "supplies_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "HIV services provided by CHW at the community" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "other_hiv_services", + "text": "Other HIV services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please TB services provided", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other HIV Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Please specify other HIV services provided", + "subjects": "hiv_services_provided:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "State of therapy and (HIV) care" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Registered in CTC/PMTCT clinic and uses ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_ctc_clinic", + "text": "Client is not registered in CTC/PMTCT clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the state of HIV therapy", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "visit_date", + "type": "hidden", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "visit_date", + "openmrs_entity_parent": "" + }, + "required_status": "false" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json index baea3f9fa9..7607983855 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json @@ -106,11 +106,11 @@ } }, { - "name": "client_transferred_to_another_location", - "text": "Client has transferred to another location", + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "client_transferred_to_another_location", + "openmrs_entity_id": "client_relocated_to_another_location", "openmrs_entity_parent": "" } }, @@ -268,11 +268,11 @@ } }, { - "name": "drunker", - "text": "Drunker", + "name": "alcoholism", + "text": "Alcoholism", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "drunker", + "openmrs_entity_id": "alcoholism", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml new file mode 100644 index 0000000000..18a49ddffc --- /dev/null +++ b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml @@ -0,0 +1,64 @@ +--- +name: "client_condition_visibility" +description: "client_condition visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "client_condition_visibility = true" +--- +name: "problem_visibility" +description: "problem visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "problem_visibility = true" +--- +name: "problem_other_visibility" +description: "problem visibility" +priority: 1 +condition: "problem['other_problems'] != null" +actions: + - "problem_other_visibility = true" +--- +name: "client_behaviour_and_environmental_risk_visibility" +description: "client_behaviour_and_environmental_risk visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "client_behaviour_and_environmental_risk_visibility = true" +--- +name: "supplies_provided_visibility" +description: "supplies_provided visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "supplies_provided_visibility = true" +--- +name: "supplies_provided_other_visibility" +description: "supplies_provided_other visibility" +priority: 1 +condition: "supplies_provided['other_medicine'] != null" +actions: + - "supplies_provided_other_visibility = true" +--- +name: "hiv_services_provided_visibility" +description: "hiv_services_provided visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "hiv_services_provided_visibility = true" +--- +name: "hiv_services_provided_other_visibility" +description: "hiv_services_provided_other visibility" +priority: 1 +condition: "hiv_services_provided['other_hiv_services'] != null" +actions: + - "hiv_services_provided_other_visibility = true" +--- +name: "state_of_therapy_visibility" +description: "state_of_therapy visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "state_of_therapy_visibility = true" + From d26b141581601ea9604cced92e02287e5ab71b4b Mon Sep 17 00:00:00 2001 From: cozej4 Date: Sat, 23 May 2020 11:41:09 +0300 Subject: [PATCH 029/915] Code refactoring --- opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json | 4 ++-- opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json index f09a511b3c..8a5f859808 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json @@ -514,11 +514,11 @@ "subjects": "registration_or_followup_status:text" }, { - "name": "visit_date", + "name": "hiv_followup_visit_date", "type": "hidden", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "visit_date", + "openmrs_entity_id": "hiv_followup_visit_date", "openmrs_entity_parent": "" }, "required_status": "false" diff --git a/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json index 7607983855..0708e328d1 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json @@ -451,11 +451,11 @@ "subjects": "registration_or_followup_status:text" }, { - "name": "visit_date", + "name": "tb_followup_visit_date", "type": "hidden", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "visit_date", + "openmrs_entity_id": "tb_followup_visit_date", "openmrs_entity_parent": "" }, "required_status": "false" From d0fe3f61f3de1b2269d60d6a198b8e3b20bbd466 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Sun, 24 May 2020 18:03:45 +0300 Subject: [PATCH 030/915] Implemented opening of HIV and TB Followup forms from their profiles --- opensrp-chw/src/main/AndroidManifest.xml | 7 -- .../activity/HivFollowUpVisitActivity.java | 80 ------------------- .../chw/activity/HivProfileActivity.java | 18 ++++- .../chw/activity/TbFollowUpVisitActivity.java | 80 ------------------- .../chw/activity/TbProfileActivity.java | 17 +++- 5 files changed, 31 insertions(+), 171 deletions(-) delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/HivFollowUpVisitActivity.java delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/TbFollowUpVisitActivity.java diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 5c64b8be5f..f4d8d02470 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -257,10 +257,6 @@ - - - ChwScheduleTaskExecutor.getInstance().execute(memberObject.getBaseEntityId(), FamilyPlanningConstants.EventType.FP_FOLLOW_UP_VISIT, new Date()); - org.smartregister.chw.util.Utils.startAsyncTask(new RunnableTask(runnable), null); - super.submittedAndClose(); - } - - @Override - public void startFormActivity(JSONObject jsonForm) { - Form form = new Form(); - form.setActionBarBackground(R.color.family_actionbar); - form.setWizard(false); - - Intent intent = new Intent(this, Utils.metadata().familyMemberFormActivity); - intent.putExtra(Constants.JSON_FORM_EXTRA.JSON, jsonForm.toString()); - intent.putExtra(Constants.WizardFormActivity.EnableOnCloseDialog, false); - intent.putExtra(JsonFormConstants.JSON_FORM_KEY.FORM, form); - startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); - } - - @Override - protected void attachBaseContext(Context base) { - // get language from prefs - String lang = LangUtils.getLanguage(base.getApplicationContext()); - super.attachBaseContext(LangUtils.setAppLocale(base, lang)); - } -} - diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index f550d08500..456c7b3af9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -10,11 +10,11 @@ import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CoreHivProfileActivity; import org.smartregister.chw.core.activity.CoreHivUpcomingServicesActivity; -import org.smartregister.chw.core.activity.CoreUpcomingServicesActivity; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.interactor.CoreHivProfileInteractor; import org.smartregister.chw.core.presenter.CoreFamilyPlanningProfilePresenter; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.hiv.activity.BaseHivRegistrationFormsActivity; import org.smartregister.chw.hiv.domain.HivMemberObject; import org.smartregister.chw.hiv.util.HivUtil; import org.smartregister.chw.model.ReferralTypeModel; @@ -28,6 +28,8 @@ import timber.log.Timber; +import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; + public class HivProfileActivity extends CoreHivProfileActivity implements FamilyProfileExtendedContract.PresenterCallBack { @@ -149,7 +151,8 @@ public void openFamilyDueServices() { @Override public void openFollowUpVisitForm(boolean isEdit) { - HivFollowUpVisitActivity.startMe(this, getHivMemberObject(), isEdit); + if (!isEdit) + startHivFollowupActivity(this, getHivMemberObject().getBaseEntityId()); } private void addFpReferralTypes() { @@ -169,5 +172,16 @@ private void addFpReferralTypes() { public List getReferralTypeModels() { return referralTypeModels; } + + + public void startHivFollowupActivity(Activity activity, String baseEntityID) { + Intent intent = new Intent(activity, BaseHivRegistrationFormsActivity.class); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); + + activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbFollowUpVisitActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbFollowUpVisitActivity.java deleted file mode 100644 index 77bc5f98c5..0000000000 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbFollowUpVisitActivity.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.smartregister.chw.activity; - -import android.app.Activity; -import android.content.Context; -import android.content.Intent; - -import com.vijay.jsonwizard.constants.JsonFormConstants; -import com.vijay.jsonwizard.domain.Form; - -import org.json.JSONObject; -import org.smartregister.chw.R; -import org.smartregister.chw.anc.presenter.BaseAncHomeVisitPresenter; -import org.smartregister.chw.core.task.RunnableTask; -import org.smartregister.chw.core.utils.Utils; -import org.smartregister.chw.fp.util.FamilyPlanningConstants; -import org.smartregister.chw.interactor.FpFollowUpVisitInteractor; -import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; -import org.smartregister.chw.tb.activity.BaseTbFollowUpVisitActivity; -import org.smartregister.chw.tb.domain.TbMemberObject; -import org.smartregister.chw.tb.util.TbUtil; -import org.smartregister.family.util.Constants; -import org.smartregister.family.util.JsonFormUtils; -import org.smartregister.util.LangUtils; - -import java.util.Date; - -public class TbFollowUpVisitActivity extends BaseTbFollowUpVisitActivity { - - public static void startMe(Activity activity, TbMemberObject memberObject, Boolean isEditMode) { - Intent intent = new Intent(activity, TbFollowUpVisitActivity.class); - intent.putExtra(org.smartregister.chw.anc.util.Constants.ANC_MEMBER_OBJECTS.MEMBER_PROFILE_OBJECT, TbUtil.toMember(memberObject)); - intent.putExtra(org.smartregister.chw.anc.util.Constants.ANC_MEMBER_OBJECTS.EDIT_MODE, isEditMode); - activity.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); - } - - @Override - protected void registerPresenter() { - presenter = new BaseAncHomeVisitPresenter(memberObject, this, new FpFollowUpVisitInteractor()); - } - - @Override - public void onBackPressed() { - displayExitDialog(TbFollowUpVisitActivity.this::finish); - - } - - @Override - public void close() { - finish(); - } - - @Override - public void submittedAndClose() { - // recompute schedule - Runnable runnable = () -> ChwScheduleTaskExecutor.getInstance().execute(memberObject.getBaseEntityId(), FamilyPlanningConstants.EventType.FP_FOLLOW_UP_VISIT, new Date()); - org.smartregister.chw.util.Utils.startAsyncTask(new RunnableTask(runnable), null); - super.submittedAndClose(); - } - - @Override - public void startFormActivity(JSONObject jsonForm) { - Form form = new Form(); - form.setActionBarBackground(R.color.family_actionbar); - form.setWizard(false); - - Intent intent = new Intent(this, Utils.metadata().familyMemberFormActivity); - intent.putExtra(Constants.JSON_FORM_EXTRA.JSON, jsonForm.toString()); - intent.putExtra(Constants.WizardFormActivity.EnableOnCloseDialog, false); - intent.putExtra(JsonFormConstants.JSON_FORM_KEY.FORM, form); - startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); - } - - @Override - protected void attachBaseContext(Context base) { - // get language from prefs - String lang = LangUtils.getLanguage(base.getApplicationContext()); - super.attachBaseContext(LangUtils.setAppLocale(base, lang)); - } -} - diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index 99888c526e..549a6e658a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -10,13 +10,13 @@ import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CoreTbProfileActivity; import org.smartregister.chw.core.activity.CoreTbUpcomingServicesActivity; -import org.smartregister.chw.core.activity.CoreUpcomingServicesActivity; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.interactor.CoreTbProfileInteractor; import org.smartregister.chw.core.presenter.CoreFamilyPlanningProfilePresenter; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.TbProfilePresenter; +import org.smartregister.chw.tb.activity.BaseTbRegistrationFormsActivity; import org.smartregister.chw.tb.domain.TbMemberObject; import org.smartregister.chw.tb.util.Constants; import org.smartregister.chw.tb.util.TbUtil; @@ -28,6 +28,8 @@ import timber.log.Timber; +import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; + public class TbProfileActivity extends CoreTbProfileActivity implements FamilyProfileExtendedContract.PresenterCallBack { @@ -161,7 +163,8 @@ public void openFamilyDueServices() { @Override public void openFollowUpVisitForm(boolean isEdit) { - TbFollowUpVisitActivity.startMe(this, getTbMemberObject(), isEdit); + if (!isEdit) + startTbFollowupActivity(this, getTbMemberObject().getBaseEntityId()); } private void addFpReferralTypes() { @@ -181,5 +184,15 @@ private void addFpReferralTypes() { public List getReferralTypeModels() { return referralTypeModels; } + + public void startTbFollowupActivity(Activity activity, String baseEntityID) { + Intent intent = new Intent(activity, BaseTbRegistrationFormsActivity.class); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); + + activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); + } } From 07c846587d734467ad5a5e30b4b19c75398491b3 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Sun, 24 May 2020 19:44:58 +0300 Subject: [PATCH 031/915] Refactored Hiv register fragment --- .../chw/activity/HivProfileActivity.java | 2 +- .../chw/fragment/HivRegisterFragment.java | 276 +----------------- 2 files changed, 5 insertions(+), 273 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 456c7b3af9..60449112cf 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -174,7 +174,7 @@ public List getReferralTypeModels() { } - public void startHivFollowupActivity(Activity activity, String baseEntityID) { + public static void startHivFollowupActivity(Activity activity, String baseEntityID) { Intent intent = new Intent(activity, BaseHivRegistrationFormsActivity.class); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index a11f5daa99..5fd7d3116a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -1,109 +1,20 @@ package org.smartregister.chw.fragment; -import android.database.Cursor; -import android.os.Bundle; -import android.view.View; -import android.widget.LinearLayout; -import android.widget.TextView; - -import androidx.appcompat.widget.Toolbar; -import androidx.loader.content.CursorLoader; -import androidx.loader.content.Loader; - -import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; -import org.smartregister.chw.R; import org.smartregister.chw.activity.HivProfileActivity; -import org.smartregister.chw.anc.util.DBConstants; -import org.smartregister.chw.core.custom_views.NavigationMenu; -import org.smartregister.chw.core.utils.QueryBuilder; +import org.smartregister.chw.core.fragment.CoreHivRegisterFragment; import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.domain.HivMemberObject; -import org.smartregister.chw.hiv.fragment.BaseHivRegisterFragment; -import org.smartregister.chw.hiv.provider.HivRegisterProvider; import org.smartregister.chw.model.HivRegisterFragmentModel; import org.smartregister.chw.presenter.HivRegisterFragmentPresenter; -import org.smartregister.chw.util.Constants; -import org.smartregister.chw.util.Utils; import org.smartregister.commonregistry.CommonPersonObjectClient; -import org.smartregister.commonregistry.CommonRepository; -import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; -import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; import org.smartregister.view.activity.BaseRegisterActivity; -import org.smartregister.view.customcontrols.CustomFontTextView; -import java.text.MessageFormat; -import java.util.HashMap; -import java.util.List; import java.util.Objects; -import java.util.Set; import timber.log.Timber; -public class HivRegisterFragment extends BaseHivRegisterFragment { - - private static final String DUE_FILTER_TAG = "PRESSED"; - private View view; - private View dueOnlyLayout; - private boolean dueFilterActive = false; - - @Override - public void initializeAdapter(@Nullable Set visibleColumns) { - HivRegisterProvider hivRegisterProvider = new HivRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); - clientAdapter = new RecyclerViewPaginatedAdapter(null, hivRegisterProvider, context().commonrepository(this.tablename)); - clientAdapter.setCurrentlimit(20); - clientsView.setAdapter(clientAdapter); - } - - @Override - public void setupViews(View view) { - super.setupViews(view); - this.view = view; - - Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); - toolbar.setContentInsetsAbsolute(0, 0); - toolbar.setContentInsetsRelative(0, 0); - toolbar.setContentInsetStartWithNavigation(0); - - NavigationMenu.getInstance(getActivity(), null, toolbar); - - View navbarContainer = view.findViewById(R.id.register_nav_bar_container); - navbarContainer.setFocusable(false); - - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); - View searchBarLayout = view.findViewById(R.id.search_bar_layout); - searchBarLayout.setLayoutParams(params); - searchBarLayout.setBackgroundResource(R.color.chw_primary); - searchBarLayout.setPadding(searchBarLayout.getPaddingLeft(), searchBarLayout.getPaddingTop(), searchBarLayout.getPaddingRight(), (int) Utils.convertDpToPixel(10, getActivity())); - - CustomFontTextView titleView = view.findViewById(R.id.txt_title_label); - if (titleView != null) { - titleView.setPadding(0, titleView.getTop(), titleView.getPaddingRight(), titleView.getPaddingBottom()); - } - - View topLeftLayout = view.findViewById(R.id.top_left_layout); - topLeftLayout.setVisibility(View.GONE); - - View topRightLayout = view.findViewById(R.id.top_right_layout); - topRightLayout.setVisibility(View.VISIBLE); - - View sortFilterBarLayout = view.findViewById(R.id.register_sort_filter_bar_layout); - sortFilterBarLayout.setVisibility(View.GONE); - - View filterSortLayout = view.findViewById(R.id.filter_sort_layout); - filterSortLayout.setVisibility(View.GONE); - - dueOnlyLayout = view.findViewById(R.id.due_only_layout); - dueOnlyLayout.setVisibility(View.VISIBLE); - dueOnlyLayout.setOnClickListener(registerActionHandler); - - if (getSearchView() != null) { - getSearchView().setBackgroundResource(org.smartregister.family.R.color.white); - getSearchView().setCompoundDrawablesWithIntrinsicBounds(org.smartregister.family.R.drawable.ic_action_search, 0, 0, 0); - getSearchView().setTextColor(getResources().getColor(R.color.text_black)); - } - } - +public class HivRegisterFragment extends CoreHivRegisterFragment { @Override protected void initializePresenter() { if (getActivity() == null) { @@ -118,47 +29,6 @@ protected void initializePresenter() { presenter = new HivRegisterFragmentPresenter(this, new HivRegisterFragmentModel(), viewConfigurationIdentifier); } - @Override - public void setAdvancedSearchFormData(HashMap hashMap) { - //TODO - //Log.d(TAG, "setAdvancedSearchFormData unimplemented"); - } - - @Override - protected void onViewClicked(View view) { - super.onViewClicked(view); - - if (view.getId() == R.id.due_only_layout) { - toggleFilterSelection(view); - } - } - - protected void toggleFilterSelection(View dueOnlyLayout) { - if (dueOnlyLayout != null) { - if (dueOnlyLayout.getTag() == null) { - dueFilterActive = true; - dueFilter(dueOnlyLayout); - } else if (dueOnlyLayout.getTag().toString().equals(DUE_FILTER_TAG)) { - dueFilterActive = false; - normalFilter(dueOnlyLayout); - } - } - } - - protected String searchText() { - return (getSearchView() == null) ? "" : getSearchView().getText().toString(); - } - - private void switchViews(View dueOnlyLayout, boolean isPress) { - TextView dueOnlyTextView = dueOnlyLayout.findViewById(R.id.due_only_text_view); - if (isPress) { - dueOnlyTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_due_filter_on, 0); - } else { - dueOnlyTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_due_filter_off, 0); - - } - } - @Override protected void openProfile(CommonPersonObjectClient client) { if (getActivity() != null) @@ -168,148 +38,10 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable HivMemberObject hivMemberObject) { - //TODO Implement - } - - @Override - protected void onResumption() { - if (dueFilterActive && dueOnlyLayout != null) { - dueFilter(dueOnlyLayout); - } else { - super.onResumption(); - } - } - - @Override - public void onResume() { - super.onResume(); - - Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); - toolbar.setContentInsetsAbsolute(0, 0); - toolbar.setContentInsetsRelative(0, 0); - toolbar.setContentInsetStartWithNavigation(0); - NavigationMenu.getInstance(getActivity(), null, toolbar); - } - - @Override - protected void refreshSyncProgressSpinner() { - if (syncProgressBar != null) { - syncProgressBar.setVisibility(View.GONE); - } - if (syncButton != null) { - syncButton.setVisibility(View.GONE); - } - } - - private String defaultFilterAndSortQuery() { - SmartRegisterQueryBuilder sqb = new SmartRegisterQueryBuilder(mainSelect); - - String query = ""; - StringBuilder customFilter = new StringBuilder(); - if (StringUtils.isNotBlank(filters)) { - customFilter.append(MessageFormat.format(" and ( {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.FIRST_NAME, filters)); - customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.LAST_NAME, filters)); - customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.MIDDLE_NAME, filters)); - customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ) ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.UNIQUE_ID, filters)); - - } - if (dueFilterActive) { - customFilter.append(MessageFormat.format(" and ( {0}) ", presenter().getDueFilterCondition())); - } - try { - if (isValidFilterForFts(commonRepository())) { - - String myquery = QueryBuilder.getQuery(joinTables, mainCondition, tablename, customFilter.toString(), clientAdapter, Sortqueries); - List ids = commonRepository().findSearchIds(myquery); - query = sqb.toStringFts(ids, tablename, CommonRepository.ID_COLUMN, - Sortqueries); - query = sqb.Endquery(query); - } else { - sqb.addCondition(customFilter.toString()); - query = sqb.orderbyCondition(Sortqueries); - query = sqb.Endquery(sqb.addlimitandOffset(query, clientAdapter.getCurrentlimit(), clientAdapter.getCurrentoffset())); - - } - } catch (Exception e) { - Timber.e(e); - } - - return query; - } - - - @Override - public void countExecute() { - Cursor c = null; - try { - - String query = "select count(*) from " + presenter().getMainTable() + " inner join " + Constants.TABLE_NAME.FAMILY_MEMBER + - " on " + presenter().getMainTable() + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + - Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + - " where " + presenter().getMainCondition(); - - if (StringUtils.isNotBlank(filters)) { - query = query + " and ( " + filters + " ) "; - } - - if (dueFilterActive) { - query = query + " and ( " + presenter().getDueFilterCondition() + " ) "; - } - - c = commonRepository().rawCustomQueryForAdapter(query); - c.moveToFirst(); - clientAdapter.setTotalcount(c.getInt(0)); - Timber.v("total count here %s", clientAdapter.getTotalcount()); - - clientAdapter.setCurrentlimit(20); - clientAdapter.setCurrentoffset(0); - - } catch (Exception e) { - Timber.e(e); - } finally { - if (c != null) { - c.close(); - } - } - } - - @Override - public Loader onCreateLoader(int id, final Bundle args) { - if (id == LOADER_ID) { - return new CursorLoader(getActivity()) { - @Override - public Cursor loadInBackground() { - // Count query - final String COUNT = "count_execute"; - if (args != null && args.getBoolean(COUNT)) { - countExecute(); - } - String query = defaultFilterAndSortQuery(); - return commonRepository().rawCustomQueryForAdapter(query); - } - }; - } - return super.onCreateLoader(id, args); - } - - protected void dueFilter(View dueOnlyLayout) { - filterDue(searchText(), "", presenter().getDueFilterCondition()); - dueOnlyLayout.setTag(DUE_FILTER_TAG); - switchViews(dueOnlyLayout, true); - } - - protected void normalFilter(View dueOnlyLayout) { - filterDue(searchText(), "", presenter().getMainCondition()); - dueOnlyLayout.setTag(null); - switchViews(dueOnlyLayout, false); + if (getActivity() != null) + HivProfileActivity.startHivFollowupActivity(getActivity(), hivMemberObject.getBaseEntityId()); } - protected void filterDue(String filterString, String joinTableString, String mainConditionString) { - filters = filterString; - joinTable = joinTableString; - mainCondition = mainConditionString; - filterandSortExecute(countBundle()); - } } From d964054333ebe7ff128904297c3662baf13408a0 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Sun, 24 May 2020 19:49:26 +0300 Subject: [PATCH 032/915] Code refactoring --- .../org/smartregister/chw/fragment/TbRegisterFragment.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java index defb7bbd95..ec891ebaa8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java @@ -22,7 +22,7 @@ import org.smartregister.chw.presenter.TbRegisterFragmentPresenter; import org.smartregister.chw.tb.dao.TbDao; import org.smartregister.chw.tb.fragment.BaseTbRegisterFragment; -import org.smartregister.chw.tb.provider.TbRegisterProvider; +import org.smartregister.chw.tb.provider.BaseTbRegisterProvider; import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.Utils; import org.smartregister.commonregistry.CommonPersonObjectClient; @@ -49,7 +49,7 @@ public class TbRegisterFragment extends BaseTbRegisterFragment { @Override public void initializeAdapter(@Nullable Set visibleColumns) { - TbRegisterProvider tbRegisterProvider = new TbRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); + BaseTbRegisterProvider tbRegisterProvider = new BaseTbRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); clientAdapter = new RecyclerViewPaginatedAdapter(null, tbRegisterProvider, context().commonrepository(this.tablename)); clientAdapter.setCurrentlimit(20); clientsView.setAdapter(clientAdapter); From f4602b43a1f260c9a455ef60da6c5037e20ee6ed Mon Sep 17 00:00:00 2001 From: cozej4 Date: Sun, 24 May 2020 22:16:39 +0300 Subject: [PATCH 033/915] Refactored TbRegisterFragment into chw-core --- .../chw/activity/TbProfileActivity.java | 34 +-- .../chw/fragment/TbRegisterFragment.java | 277 +----------------- 2 files changed, 20 insertions(+), 291 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index 549a6e658a..b0699dfcd8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -41,6 +41,16 @@ public static void startTbProfileActivity(Activity activity, TbMemberObject memb activity.startActivity(intent); } + public static void startTbFollowupActivity(Activity activity, String baseEntityID) { + Intent intent = new Intent(activity, BaseTbRegistrationFormsActivity.class); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); + + activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); + } + @Override protected void onCreation() { super.onCreation(); @@ -67,6 +77,13 @@ protected void initializePresenter() { fetchProfileData(); } +// private void checkPhoneNumberProvided() { +// boolean phoneNumberAvailable = (StringUtils.isNotBlank(getTbMemberObject().getPhoneNumber()) +// || StringUtils.isNotBlank(getTbMemberObject().getFamilyHeadPhoneNumber())); +// +//// ((FamilyPlanningFloatingMenu) fpFloatingMenu).redraw(phoneNumberAvailable); +// } + @Override public void onClick(View view) { super.onClick(view); @@ -76,13 +93,6 @@ public void onClick(View view) { } } -// private void checkPhoneNumberProvided() { -// boolean phoneNumberAvailable = (StringUtils.isNotBlank(getTbMemberObject().getPhoneNumber()) -// || StringUtils.isNotBlank(getTbMemberObject().getFamilyHeadPhoneNumber())); -// -//// ((FamilyPlanningFloatingMenu) fpFloatingMenu).redraw(phoneNumberAvailable); -// } - @Override public Context getContext() { return null; @@ -184,15 +194,5 @@ private void addFpReferralTypes() { public List getReferralTypeModels() { return referralTypeModels; } - - public void startTbFollowupActivity(Activity activity, String baseEntityID) { - Intent intent = new Intent(activity, BaseTbRegistrationFormsActivity.class); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); - - activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); - } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java index ec891ebaa8..a72e4a17fb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java @@ -1,108 +1,18 @@ package org.smartregister.chw.fragment; -import android.database.Cursor; -import android.os.Bundle; -import android.view.View; -import android.widget.LinearLayout; -import android.widget.TextView; - -import androidx.appcompat.widget.Toolbar; -import androidx.loader.content.CursorLoader; -import androidx.loader.content.Loader; - -import org.apache.commons.lang3.StringUtils; -import org.jetbrains.annotations.Nullable; -import org.smartregister.chw.R; -import org.smartregister.chw.activity.MalariaFollowUpVisitActivity; import org.smartregister.chw.activity.TbProfileActivity; -import org.smartregister.chw.anc.util.DBConstants; -import org.smartregister.chw.core.custom_views.NavigationMenu; -import org.smartregister.chw.core.utils.QueryBuilder; +import org.smartregister.chw.core.fragment.CoreTbRegisterFragment; import org.smartregister.chw.model.TbRegisterFragmentModel; import org.smartregister.chw.presenter.TbRegisterFragmentPresenter; import org.smartregister.chw.tb.dao.TbDao; -import org.smartregister.chw.tb.fragment.BaseTbRegisterFragment; -import org.smartregister.chw.tb.provider.BaseTbRegisterProvider; -import org.smartregister.chw.util.Constants; -import org.smartregister.chw.util.Utils; import org.smartregister.commonregistry.CommonPersonObjectClient; -import org.smartregister.commonregistry.CommonRepository; -import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; -import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; import org.smartregister.view.activity.BaseRegisterActivity; -import org.smartregister.view.customcontrols.CustomFontTextView; -import java.text.MessageFormat; -import java.util.HashMap; -import java.util.List; import java.util.Objects; -import java.util.Set; import timber.log.Timber; -public class TbRegisterFragment extends BaseTbRegisterFragment { - - private static final String DUE_FILTER_TAG = "PRESSED"; - private View view; - private View dueOnlyLayout; - private boolean dueFilterActive = false; - - @Override - public void initializeAdapter(@Nullable Set visibleColumns) { - BaseTbRegisterProvider tbRegisterProvider = new BaseTbRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); - clientAdapter = new RecyclerViewPaginatedAdapter(null, tbRegisterProvider, context().commonrepository(this.tablename)); - clientAdapter.setCurrentlimit(20); - clientsView.setAdapter(clientAdapter); - } - - @Override - public void setupViews(View view) { - super.setupViews(view); - this.view = view; - - Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); - toolbar.setContentInsetsAbsolute(0, 0); - toolbar.setContentInsetsRelative(0, 0); - toolbar.setContentInsetStartWithNavigation(0); - - NavigationMenu.getInstance(getActivity(), null, toolbar); - - View navbarContainer = view.findViewById(R.id.register_nav_bar_container); - navbarContainer.setFocusable(false); - - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); - View searchBarLayout = view.findViewById(R.id.search_bar_layout); - searchBarLayout.setLayoutParams(params); - searchBarLayout.setBackgroundResource(R.color.chw_primary); - searchBarLayout.setPadding(searchBarLayout.getPaddingLeft(), searchBarLayout.getPaddingTop(), searchBarLayout.getPaddingRight(), (int) Utils.convertDpToPixel(10, getActivity())); - - CustomFontTextView titleView = view.findViewById(R.id.txt_title_label); - if (titleView != null) { - titleView.setPadding(0, titleView.getTop(), titleView.getPaddingRight(), titleView.getPaddingBottom()); - } - - View topLeftLayout = view.findViewById(R.id.top_left_layout); - topLeftLayout.setVisibility(View.GONE); - - View topRightLayout = view.findViewById(R.id.top_right_layout); - topRightLayout.setVisibility(View.VISIBLE); - - View sortFilterBarLayout = view.findViewById(R.id.register_sort_filter_bar_layout); - sortFilterBarLayout.setVisibility(View.GONE); - - View filterSortLayout = view.findViewById(R.id.filter_sort_layout); - filterSortLayout.setVisibility(View.GONE); - - dueOnlyLayout = view.findViewById(R.id.due_only_layout); - dueOnlyLayout.setVisibility(View.VISIBLE); - dueOnlyLayout.setOnClickListener(registerActionHandler); - - if (getSearchView() != null) { - getSearchView().setBackgroundResource(org.smartregister.family.R.color.white); - getSearchView().setCompoundDrawablesWithIntrinsicBounds(org.smartregister.family.R.drawable.ic_action_search, 0, 0, 0); - getSearchView().setTextColor(getResources().getColor(R.color.text_black)); - } - } +public class TbRegisterFragment extends CoreTbRegisterFragment { @Override protected void initializePresenter() { @@ -118,47 +28,6 @@ protected void initializePresenter() { presenter = new TbRegisterFragmentPresenter(this, new TbRegisterFragmentModel(), viewConfigurationIdentifier); } - @Override - public void setAdvancedSearchFormData(HashMap hashMap) { - //TODO - //Log.d(TAG, "setAdvancedSearchFormData unimplemented"); - } - - @Override - protected void onViewClicked(View view) { - super.onViewClicked(view); - - if (view.getId() == R.id.due_only_layout) { - toggleFilterSelection(view); - } - } - - protected void toggleFilterSelection(View dueOnlyLayout) { - if (dueOnlyLayout != null) { - if (dueOnlyLayout.getTag() == null) { - dueFilterActive = true; - dueFilter(dueOnlyLayout); - } else if (dueOnlyLayout.getTag().toString().equals(DUE_FILTER_TAG)) { - dueFilterActive = false; - normalFilter(dueOnlyLayout); - } - } - } - - protected String searchText() { - return (getSearchView() == null) ? "" : getSearchView().getText().toString(); - } - - private void switchViews(View dueOnlyLayout, boolean isPress) { - TextView dueOnlyTextView = dueOnlyLayout.findViewById(R.id.due_only_text_view); - if (isPress) { - dueOnlyTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_due_filter_on, 0); - } else { - dueOnlyTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_due_filter_off, 0); - - } - } - @Override protected void openProfile(CommonPersonObjectClient client) { if (getActivity() != null) @@ -167,147 +36,7 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(CommonPersonObjectClient client) { - MalariaFollowUpVisitActivity.startMalariaRegistrationActivity(getActivity(), client.getCaseId(), null); - } - - @Override - protected void onResumption() { - if (dueFilterActive && dueOnlyLayout != null) { - dueFilter(dueOnlyLayout); - } else { - super.onResumption(); - } - } - - @Override - public void onResume() { - super.onResume(); - - Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); - toolbar.setContentInsetsAbsolute(0, 0); - toolbar.setContentInsetsRelative(0, 0); - toolbar.setContentInsetStartWithNavigation(0); - NavigationMenu.getInstance(getActivity(), null, toolbar); - } - - @Override - protected void refreshSyncProgressSpinner() { - if (syncProgressBar != null) { - syncProgressBar.setVisibility(View.GONE); - } - if (syncButton != null) { - syncButton.setVisibility(View.GONE); - } - } - - private String defaultFilterAndSortQuery() { - SmartRegisterQueryBuilder sqb = new SmartRegisterQueryBuilder(mainSelect); - - String query = ""; - StringBuilder customFilter = new StringBuilder(); - if (StringUtils.isNotBlank(filters)) { - customFilter.append(MessageFormat.format(" and ( {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.FIRST_NAME, filters)); - customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.LAST_NAME, filters)); - customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.MIDDLE_NAME, filters)); - customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ) ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.UNIQUE_ID, filters)); - - } - if (dueFilterActive) { - customFilter.append(MessageFormat.format(" and ( {0}) ", presenter().getDueFilterCondition())); - } - try { - if (isValidFilterForFts(commonRepository())) { - - String myquery = QueryBuilder.getQuery(joinTables, mainCondition, tablename, customFilter.toString(), clientAdapter, Sortqueries); - List ids = commonRepository().findSearchIds(myquery); - query = sqb.toStringFts(ids, tablename, CommonRepository.ID_COLUMN, - Sortqueries); - query = sqb.Endquery(query); - } else { - sqb.addCondition(customFilter.toString()); - query = sqb.orderbyCondition(Sortqueries); - query = sqb.Endquery(sqb.addlimitandOffset(query, clientAdapter.getCurrentlimit(), clientAdapter.getCurrentoffset())); - - } - } catch (Exception e) { - Timber.e(e); - } - - return query; - } - - - @Override - public void countExecute() { - Cursor c = null; - try { - - String query = "select count(*) from " + presenter().getMainTable() + " inner join " + Constants.TABLE_NAME.FAMILY_MEMBER + - " on " + presenter().getMainTable() + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + - Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + - " where " + presenter().getMainCondition(); - - if (StringUtils.isNotBlank(filters)) { - query = query + " and ( " + filters + " ) "; - } - - if (dueFilterActive) { - query = query + " and ( " + presenter().getDueFilterCondition() + " ) "; - } - - c = commonRepository().rawCustomQueryForAdapter(query); - c.moveToFirst(); - clientAdapter.setTotalcount(c.getInt(0)); - Timber.v("total count here %s", clientAdapter.getTotalcount()); - - clientAdapter.setCurrentlimit(20); - clientAdapter.setCurrentoffset(0); - - } catch (Exception e) { - Timber.e(e); - } finally { - if (c != null) { - c.close(); - } - } - } - - @Override - public Loader onCreateLoader(int id, final Bundle args) { - if (id == LOADER_ID) { - return new CursorLoader(getActivity()) { - @Override - public Cursor loadInBackground() { - // Count query - final String COUNT = "count_execute"; - if (args != null && args.getBoolean(COUNT)) { - countExecute(); - } - String query = defaultFilterAndSortQuery(); - return commonRepository().rawCustomQueryForAdapter(query); - } - }; - } - return super.onCreateLoader(id, args); - } - - protected void dueFilter(View dueOnlyLayout) { - filterDue(searchText(), "", presenter().getDueFilterCondition()); - dueOnlyLayout.setTag(DUE_FILTER_TAG); - switchViews(dueOnlyLayout, true); - } - - protected void normalFilter(View dueOnlyLayout) { - filterDue(searchText(), "", presenter().getMainCondition()); - dueOnlyLayout.setTag(null); - switchViews(dueOnlyLayout, false); - } - - protected void filterDue(String filterString, String joinTableString, String mainConditionString) { - filters = filterString; - joinTable = joinTableString; - mainCondition = mainConditionString; - filterandSortExecute(countBundle()); + TbProfileActivity.startTbFollowupActivity(getActivity(), client.getCaseId()); } } From 1450324fcc6a3cdb07cdbdf052a4c91f458554ff Mon Sep 17 00:00:00 2001 From: cozej4 Date: Sun, 24 May 2020 23:31:39 +0300 Subject: [PATCH 034/915] Code refactoring --- .../chw/activity/HivProfileActivity.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 60449112cf..ea387b3139 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -41,6 +41,16 @@ public static void startHivProfileActivity(Activity activity, HivMemberObject me activity.startActivity(intent); } + public static void startHivFollowupActivity(Activity activity, String baseEntityID) { + Intent intent = new Intent(activity, BaseHivRegistrationFormsActivity.class); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); + + activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); + } + @Override protected void onCreation() { super.onCreation(); @@ -172,16 +182,5 @@ private void addFpReferralTypes() { public List getReferralTypeModels() { return referralTypeModels; } - - - public static void startHivFollowupActivity(Activity activity, String baseEntityID) { - Intent intent = new Intent(activity, BaseHivRegistrationFormsActivity.class); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); - - activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); - } } From bbf0796334f7122d3cf377ab531c1c81c9e588e1 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 25 May 2020 01:53:39 +0300 Subject: [PATCH 035/915] Implemented hiv and TB visits schedulers --- .../smartregister/chw/dao/ScheduleDao.java | 21 ++++++++ .../chw/model/FamilyProfileDueModel.java | 2 + .../schedulers/ChwScheduleTaskExecutor.java | 30 +++++++++-- .../chw/service/SchedulesIntentService.java | 35 +++++++++++++ .../chw/task/HivVisitScheduler.java | 50 +++++++++++++++++++ .../chw/task/TbVisitScheduler.java | 50 +++++++++++++++++++ 6 files changed, 184 insertions(+), 4 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java index c03d40b6c5..ed98942271 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java @@ -5,6 +5,8 @@ import java.util.List; +import timber.log.Timber; + public class ScheduleDao extends AbstractDao { //TODO @@ -49,4 +51,23 @@ public class ScheduleDao extends AbstractDao { DataMap dataMap = c -> getCursorValue(c, "base_entity_id"); return AbstractDao.readData(sql, dataMap); } + + public static @Nullable List getActiveHivClients(String scheduleName, String scheduleGroup) { + String sql = "select base_entity_id from ec_hiv_register where is_closed = 0 and base_entity_id not in " + + "(select base_entity_id from schedule_service where schedule_name = '" + scheduleName + "' and schedule_group_name = '" + scheduleGroup + "')"; + + Timber.e("Coze :: HIV = "+sql); + DataMap dataMap = c -> getCursorValue(c, "base_entity_id"); + return AbstractDao.readData(sql, dataMap); + } + + public static @Nullable List getActiveTbClients(String scheduleName, String scheduleGroup) { + String sql = "select base_entity_id from ec_tb_register where is_closed = 0 and base_entity_id not in " + + "(select base_entity_id from schedule_service where schedule_name = '" + scheduleName + "' and schedule_group_name = '" + scheduleGroup + "')"; + + + Timber.e("Coze :: TB = "+sql); + DataMap dataMap = c -> getCursorValue(c, "base_entity_id"); + return AbstractDao.readData(sql, dataMap); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileDueModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileDueModel.java index 6b95177ee2..cbb7659b9a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileDueModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileDueModel.java @@ -6,6 +6,8 @@ import org.smartregister.family.model.BaseFamilyProfileDueModel; import org.smartregister.family.util.DBConstants; +import timber.log.Timber; + public class FamilyProfileDueModel extends BaseFamilyProfileDueModel { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/schedulers/ChwScheduleTaskExecutor.java b/opensrp-chw/src/main/java/org/smartregister/chw/schedulers/ChwScheduleTaskExecutor.java index 84d167af64..38d87ac6a3 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/schedulers/ChwScheduleTaskExecutor.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/schedulers/ChwScheduleTaskExecutor.java @@ -9,9 +9,11 @@ import org.smartregister.chw.task.ANCVisitScheduler; import org.smartregister.chw.task.ChildHomeVisitScheduler; import org.smartregister.chw.task.FpVisitScheduler; +import org.smartregister.chw.task.HivVisitScheduler; import org.smartregister.chw.task.MalariaScheduler; import org.smartregister.chw.task.PNCVisitScheduler; import org.smartregister.chw.task.RoutineHouseHoldVisitScheduler; +import org.smartregister.chw.task.TbVisitScheduler; import org.smartregister.chw.task.WashCheckScheduler; import java.util.ArrayList; @@ -23,6 +25,10 @@ public class ChwScheduleTaskExecutor extends ScheduleTaskExecutor { private static ChwScheduleTaskExecutor scheduleTaskExecutor; + protected ChwScheduleTaskExecutor() { + //scheduleServiceMap.put(); + } + public static ChwScheduleTaskExecutor getInstance() { if (scheduleTaskExecutor == null) { scheduleTaskExecutor = new ChwScheduleTaskExecutor(); @@ -30,10 +36,6 @@ public static ChwScheduleTaskExecutor getInstance() { return scheduleTaskExecutor; } - protected ChwScheduleTaskExecutor() { - //scheduleServiceMap.put(); - } - @Override protected Map> getClassifier() { if (scheduleServiceMap == null || scheduleServiceMap.size() == 0) { @@ -55,6 +57,12 @@ protected Map> getClassifier() { if (ChwApplication.getApplicationFlavor().hasFamilyPlanning()) initializeFPClassifier(scheduleServiceMap); + if (ChwApplication.getApplicationFlavor().hasTB()) + initializeTBClassifier(scheduleServiceMap); + + if (ChwApplication.getApplicationFlavor().hasHIV()) + initializeHIVClassifier(scheduleServiceMap); + if (ChwApplication.getApplicationFlavor().hasRoutineVisit()) initializeRoutineHouseholdClassifier(scheduleServiceMap); @@ -125,6 +133,20 @@ private void initializeFPClassifier(Map> classifie addToClassifers(FamilyPlanningConstants.EventType.FAMILY_PLANNING_CHANGE_METHOD, classifier, scheduleServices); } + private void initializeHIVClassifier(Map> classifier) { + List scheduleServices = new ArrayList<>(); + scheduleServices.add(new HivVisitScheduler()); + addToClassifers(org.smartregister.chw.hiv.util.Constants.EventType.FOLLOW_UP_VISIT, classifier, scheduleServices); + addToClassifers(org.smartregister.chw.hiv.util.Constants.EventType.REGISTRATION, classifier, scheduleServices); + } + + private void initializeTBClassifier(Map> classifier) { + List scheduleServices = new ArrayList<>(); + scheduleServices.add(new TbVisitScheduler()); + addToClassifers(org.smartregister.chw.tb.util.Constants.EventType.FOLLOW_UP_VISIT, classifier, scheduleServices); + addToClassifers(org.smartregister.chw.tb.util.Constants.EventType.REGISTRATION, classifier, scheduleServices); + } + private void initializeRoutineHouseholdClassifier(Map> classifier) { List scheduleServices = new ArrayList<>(); scheduleServices.add(new RoutineHouseHoldVisitScheduler()); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/service/SchedulesIntentService.java b/opensrp-chw/src/main/java/org/smartregister/chw/service/SchedulesIntentService.java index 510561bb8e..95736643c3 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/service/SchedulesIntentService.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/service/SchedulesIntentService.java @@ -5,10 +5,13 @@ import androidx.annotation.Nullable; +import com.google.gson.Gson; + import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.dao.ScheduleDao; import org.smartregister.chw.fp.util.FamilyPlanningConstants; +import org.smartregister.chw.hiv.util.Constants; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; import java.util.Date; @@ -51,6 +54,14 @@ protected void onHandleIntent(@Nullable Intent intent) { if (ChwApplication.getApplicationFlavor().hasFamilyPlanning()) executeFpVisitSchedules(); + // execute all tb schedules + if (ChwApplication.getApplicationFlavor().hasTB()) + executeTbVisitSchedules(); + + // execute all hiv schedules + if (ChwApplication.getApplicationFlavor().hasHIV()) + executeHivVisitSchedules(); + if (ChwApplication.getApplicationFlavor().hasRoutineVisit()) executeRoutineHouseholdSchedules(); } @@ -115,6 +126,30 @@ private void executeFpVisitSchedules() { ChwScheduleTaskExecutor.getInstance().execute(baseID, FamilyPlanningConstants.EventType.FAMILY_PLANNING_REGISTRATION, new Date()); } } + private void executeHivVisitSchedules() { + Timber.v("Computing Hiv schedules"); + ChwApplication.getInstance().getScheduleRepository().deleteSchedulesNotCreatedToday(CoreConstants.SCHEDULE_TYPES.HIV_VISIT, CoreConstants.SCHEDULE_GROUPS.HOME_VISIT); + List baseEntityIDs = ScheduleDao.getActiveHivClients(CoreConstants.SCHEDULE_TYPES.HIV_VISIT, CoreConstants.SCHEDULE_GROUPS.HOME_VISIT); + Timber.e("Coze :: Hiv ids "+new Gson().toJson(baseEntityIDs)); + if (baseEntityIDs == null) return; + + for (String baseID : baseEntityIDs) { + Timber.v(" Computing HIV schedules for %s", baseID); + ChwScheduleTaskExecutor.getInstance().execute(baseID, Constants.EventType.REGISTRATION, new Date()); + } + } + private void executeTbVisitSchedules() { + Timber.v("Computing Tb schedules"); + ChwApplication.getInstance().getScheduleRepository().deleteSchedulesNotCreatedToday(CoreConstants.SCHEDULE_TYPES.TB_VISIT, CoreConstants.SCHEDULE_GROUPS.HOME_VISIT); + List baseEntityIDs = ScheduleDao.getActiveTbClients(CoreConstants.SCHEDULE_TYPES.TB_VISIT, CoreConstants.SCHEDULE_GROUPS.HOME_VISIT); + Timber.e("Coze :: Hiv Tb "+new Gson().toJson(baseEntityIDs)); + if (baseEntityIDs == null) return; + + for (String baseID : baseEntityIDs) { + Timber.v(" Computing Tb schedules for %s", baseID); + ChwScheduleTaskExecutor.getInstance().execute(baseID, org.smartregister.chw.tb.util.Constants.EventType.REGISTRATION, new Date()); + } + } private void executeRoutineHouseholdSchedules() { Timber.v("Computing Routine household schedules"); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java b/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java new file mode 100644 index 0000000000..d65c30ede8 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java @@ -0,0 +1,50 @@ +package org.smartregister.chw.task; + +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.application.ChwApplication; +import org.smartregister.chw.core.contract.ScheduleTask; +import org.smartregister.chw.core.domain.BaseScheduleTask; +import org.smartregister.chw.core.rule.HivFollowupRule; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.HomeVisitUtil; +import org.smartregister.chw.hiv.dao.HivDao; +import org.smartregister.chw.hiv.domain.HivMemberObject; + +import java.util.Date; +import java.util.List; + +public class HivVisitScheduler extends BaseTaskExecutor { + + @Override + public void resetSchedule(String baseEntityID, String scheduleName) { + super.resetSchedule(baseEntityID, scheduleName); + ChwApplication.getInstance().getScheduleRepository().deleteScheduleByGroup(getScheduleGroup(), baseEntityID); + } + + @Override + public List generateTasks(String baseEntityID, String eventName, Date eventDate) { + + BaseScheduleTask baseScheduleTask = prepareNewTaskObject(baseEntityID); + HivMemberObject hivMemberObject = HivDao.getMember(baseEntityID); + Visit lastVisit = HivDao.getLatestVisit(baseEntityID, org.smartregister.chw.hiv.util.Constants.EventType.FOLLOW_UP_VISIT); + Date lastVisitDate = lastVisit != null ? lastVisit.getDate() : null; + HivFollowupRule hivFollowupRule = HomeVisitUtil.getHivVisitStatus(lastVisitDate, hivMemberObject.getHivRegistrationDate()); + + baseScheduleTask.setScheduleDueDate(hivFollowupRule.getDueDate()); + baseScheduleTask.setScheduleExpiryDate(hivFollowupRule.getExpiryDate()); + baseScheduleTask.setScheduleCompletionDate(hivFollowupRule.getCompletionDate()); + baseScheduleTask.setScheduleOverDueDate(hivFollowupRule.getOverDueDate()); + + return toScheduleList(baseScheduleTask); + } + + @Override + public String getScheduleName() { + return CoreConstants.SCHEDULE_TYPES.HIV_VISIT; + } + + @Override + public String getScheduleGroup() { + return CoreConstants.SCHEDULE_GROUPS.HOME_VISIT; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java b/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java new file mode 100644 index 0000000000..bae13d8f2d --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java @@ -0,0 +1,50 @@ +package org.smartregister.chw.task; + +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.application.ChwApplication; +import org.smartregister.chw.core.contract.ScheduleTask; +import org.smartregister.chw.core.domain.BaseScheduleTask; +import org.smartregister.chw.core.rule.TbFollowupRule; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.HomeVisitUtil; +import org.smartregister.chw.tb.dao.TbDao; +import org.smartregister.chw.tb.domain.TbMemberObject; + +import java.util.Date; +import java.util.List; + +public class TbVisitScheduler extends BaseTaskExecutor { + + @Override + public void resetSchedule(String baseEntityID, String scheduleName) { + super.resetSchedule(baseEntityID, scheduleName); + ChwApplication.getInstance().getScheduleRepository().deleteScheduleByGroup(getScheduleGroup(), baseEntityID); + } + + @Override + public List generateTasks(String baseEntityID, String eventName, Date eventDate) { + + BaseScheduleTask baseScheduleTask = prepareNewTaskObject(baseEntityID); + TbMemberObject tbMemberObject = TbDao.getMember(baseEntityID); + Visit lastVisit = TbDao.getLatestVisit(baseEntityID, org.smartregister.chw.tb.util.Constants.EventType.FOLLOW_UP_VISIT); + Date lastVisitDate = lastVisit != null ? lastVisit.getDate() : null; + TbFollowupRule tbFollowupRule = HomeVisitUtil.getTbVisitStatus(lastVisitDate, tbMemberObject.getTbRegistrationDate()); + + baseScheduleTask.setScheduleDueDate(tbFollowupRule.getDueDate()); + baseScheduleTask.setScheduleExpiryDate(tbFollowupRule.getExpiryDate()); + baseScheduleTask.setScheduleCompletionDate(tbFollowupRule.getCompletionDate()); + baseScheduleTask.setScheduleOverDueDate(tbFollowupRule.getOverDueDate()); + + return toScheduleList(baseScheduleTask); + } + + @Override + public String getScheduleName() { + return CoreConstants.SCHEDULE_TYPES.TB_VISIT; + } + + @Override + public String getScheduleGroup() { + return CoreConstants.SCHEDULE_GROUPS.HOME_VISIT; + } +} From 9e88defe80cecb93e7d62daf0bc4151d26cfd9f2 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 25 May 2020 02:55:01 +0300 Subject: [PATCH 036/915] Refactored hiv and tb followup rules --- opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml | 2 +- opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml b/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml index e7ed04586e..9da8e1dd68 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml @@ -5,4 +5,4 @@ priority: 1 condition: "true" actions: - "hivFollowupRule.setVisitID('1')" - - "hivFollowupRule.updateDueDate(30,8)" \ No newline at end of file + - "hivFollowupRule.updateDueDate(30,8,365)" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml b/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml index 338f5e0439..1bd700c602 100644 --- a/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml +++ b/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml @@ -5,4 +5,4 @@ priority: 1 condition: "true" actions: - "tbFollowupRule.setVisitID('1')" - - "tbFollowupRule.updateDueDate(30,8)" \ No newline at end of file + - "tbFollowupRule.updateDueDate(30,8,365)" \ No newline at end of file From 3363081d8e4dd54af413631b31a2b2291a6f5c5f Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 25 May 2020 02:55:17 +0300 Subject: [PATCH 037/915] Code refactoring --- .../smartregister/chw/provider/ChwDueRegisterProvider.java | 4 ++++ .../java/org/smartregister/chw/task/TbVisitScheduler.java | 2 ++ opensrp-chw/src/main/res/values/strings.xml | 1 + 3 files changed, 7 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwDueRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwDueRegisterProvider.java index e6ab0a9e3e..e5fe0a3bda 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwDueRegisterProvider.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwDueRegisterProvider.java @@ -104,6 +104,10 @@ private String getVisitType(String scheduleName) { return " · " + context.getString(R.string.wash_check); case CoreConstants.SCHEDULE_TYPES.ROUTINE_HOUSEHOLD_VISIT: return " · " + context.getString(R.string.routine_household_visit); + case CoreConstants.SCHEDULE_TYPES.HIV_VISIT: + return context.getString(R.string.routine_hiv_visit); + case CoreConstants.SCHEDULE_TYPES.TB_VISIT: + return context.getString(R.string.routine_tb_visit); default: return context.getString(R.string.home_visit_suffix); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java b/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java index bae13d8f2d..cb1fea0f2b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java @@ -13,6 +13,8 @@ import java.util.Date; import java.util.List; +import timber.log.Timber; + public class TbVisitScheduler extends BaseTaskExecutor { @Override diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index e4c1803dd9..ee8982781b 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -340,6 +340,7 @@ Sick Visit Reports + Eligible Children Doses Needed My Community Activity From 0255abae0a4f2774b5ffea9507e9a004539d3a93 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 25 May 2020 02:58:20 +0300 Subject: [PATCH 038/915] Code refactoring --- .../smartregister/chw/fragment/TbRegisterFragment.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java index a72e4a17fb..c9478e8adb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java @@ -1,10 +1,13 @@ package org.smartregister.chw.fragment; +import androidx.annotation.Nullable; + import org.smartregister.chw.activity.TbProfileActivity; import org.smartregister.chw.core.fragment.CoreTbRegisterFragment; import org.smartregister.chw.model.TbRegisterFragmentModel; import org.smartregister.chw.presenter.TbRegisterFragmentPresenter; import org.smartregister.chw.tb.dao.TbDao; +import org.smartregister.chw.tb.domain.TbMemberObject; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.view.activity.BaseRegisterActivity; @@ -35,8 +38,9 @@ protected void openProfile(CommonPersonObjectClient client) { } @Override - protected void openFollowUpVisit(CommonPersonObjectClient client) { - TbProfileActivity.startTbFollowupActivity(getActivity(), client.getCaseId()); + protected void openFollowUpVisit(@Nullable TbMemberObject tbMemberObject) { + if (getActivity() != null) + TbProfileActivity.startTbFollowupActivity(getActivity(), tbMemberObject.getBaseEntityId()); } } From 416e654f4925167f3f7cb0beaecbd570fd218bf9 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 25 May 2020 09:29:07 +0300 Subject: [PATCH 039/915] Updated tb registration form --- .../ba/assets/json.form/tb_registration.json | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/opensrp-chw/src/ba/assets/json.form/tb_registration.json b/opensrp-chw/src/ba/assets/json.form/tb_registration.json index b4672f52a8..7d04b27d0b 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_registration.json @@ -258,6 +258,66 @@ "required_status": "yes:Please specify other community gathering", "subjects": "community_gathering:text" }, + { + "name": "client_screening_results", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_screening_results", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's screening results" + }, + "options": [ + { + "name": "coughing", + "text": "Coughing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "hemoptysis", + "text": "Sputum with blood (hemoptysis) ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hemoptysis", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "weight_lose", + "text": "Weight lose", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "weight_lose", + "openmrs_entity_parent": "" + } + }, + { + "name": "history_of_night_sweats", + "text": "History of night sweats", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "history_of_night_sweats", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify your gender" + }, { "name": "tb_registration_date", "type": "hidden", From 3e8248a2f5bd9c2a01d8bd29735f8b2169543d9f Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 26 May 2020 10:51:50 +0300 Subject: [PATCH 040/915] Code refactoring --- .../{ic_logo.png => ic_logo_ba.png} | Bin opensrp-chw/src/ba/res/drawable/ic_logo.png | Bin 736484 -> 706227 bytes .../src/ba/res/drawable/ic_logo_ba.png | Bin 0 -> 736484 bytes .../chw/activity/HivProfileActivity.java | 21 +++++---------- .../chw/activity/TbProfileActivity.java | 25 +++++++----------- 5 files changed, 15 insertions(+), 31 deletions(-) rename opensrp-chw/src/ba/res/drawable-hdpi/{ic_logo.png => ic_logo_ba.png} (100%) create mode 100644 opensrp-chw/src/ba/res/drawable/ic_logo_ba.png diff --git a/opensrp-chw/src/ba/res/drawable-hdpi/ic_logo.png b/opensrp-chw/src/ba/res/drawable-hdpi/ic_logo_ba.png similarity index 100% rename from opensrp-chw/src/ba/res/drawable-hdpi/ic_logo.png rename to opensrp-chw/src/ba/res/drawable-hdpi/ic_logo_ba.png diff --git a/opensrp-chw/src/ba/res/drawable/ic_logo.png b/opensrp-chw/src/ba/res/drawable/ic_logo.png index c075e49c194be8eda864b7b9a4429dfc225e34d7..c799be157a4ade366de297288d2395878d9f1af0 100644 GIT binary patch literal 706227 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

raW`!9$i{`RQWb_ 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�l6enE?;x_^(s{-o+S{b?SEp#D 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 z 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 z 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

0(_dm6jod%4pc?yW#A$yDo0VvB{(H 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%0AErt`Cg1+~Dr2aXLM&{$D8-l3_ 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

vlFLcerW+MCZzb}F=Cf%$1LdyJEV1s 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

  • (0{1>VViH2(HO&DOKC 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 qYg+&Q%V+k(dvE>yR4p}K)zXKSAO9bik2)g& literal 736484 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%0D=NHg~6Xd)b50 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 z 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/hhBSf((-qj$|fwxwM(Yy{f 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

    Bw`)i#19&!~q}ql27g;v-Mf)7S0q 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 h$MK058siE=>@Ko#1 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

    yIyH^Gvr&gbv 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 mbiGgO8dTH#UdT)%&$MF_kpE~v|=NF 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 HjDr3TS+MPT diff --git a/opensrp-chw/src/ba/res/drawable/ic_logo_ba.png b/opensrp-chw/src/ba/res/drawable/ic_logo_ba.png new file mode 100644 index 0000000000000000000000000000000000000000..c075e49c194be8eda864b7b9a4429dfc225e34d7 GIT binary patch literal 736484 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%0D=NHg~6Xd)b50 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 z z-f@l$TQmOCX*4h)z6SUnUI?qX{93)nuQ_mCC(@HiEvoW;{?5I8pP`OYGvK4*V7YuA zpS9r&7&ytErW5EAM&bE8!2Z7B|2f?#`yKHi+2<>oaQIaHQ0KthWc2VJBpzz@+h6eh zBt8BOG)R4DA1}4ZR$}Wp7Pf4AkJe_LVbwk4k8Cl*Y{SC2-32VAuIaHkIRo_%hie=( zvB<)5aJ@<&TI4zetwF^UiP|&=J*;GOnPWe%js0)Wv(wV|y1rhIOC5tAi}P{-(2I$M z@jY%yR&V+{@S$ExA*siiY@yG+z0O*)YV+BRWWpgPCOf*f&*e50waJN?s%L*K;L~Y6 znf0c0n$3YcKdq**^Na86E&z^4PDy{=8yvi=1*R>tt>*VmH&1<| zeqSt)l4BhFm7ot~%;;WQycoYnAJ3EogDe0patKg7%ftgd`{$n5(Yfv5wi1N8^)SE& zC#lbwRf<7slz+kb7B-*~YAL3KgU*g*z*UvI%63tS5Vtq{Zqx0otwVCxKd*4;tFggJS!AI5*6O&C4flhUM!Z; z*{|fJnT7!>q>6uy1Qb1^K5^0xf2^ zgo}K+NN~T%2)?anXORWSb0uDgePU8NmCfryUX_Xy^#+ejRtVd|Yc9DkI;bDjlSLpA zCe)J!x5Wi1kLCBL2P1Z@1i{g+WQKc?!Vprl)F&+a+j(YZ7+uiN#rOep@D$aO z3}4Y}3~|(KXcZ2+SV-W^gicOvi8$?js>^Q@lj%WyvxCjQzS3UJ*d*leza+?~mqcW< zsPJrlKtZ4v)kPh%_Bw3hR8=-99H=P$5pfgSzO4W%NJ<2;$sHOhOc63f%1n=s3Qjzer&vWIKJVr(C-4OOL$bwk&V{BAqvH8CFNqsPRe zHD%KmutT<^{%>!S%k=!#Y4~m)+8ZCl;niD~fK=#wzbCM2^TuS7zQ=KjEF*h6@8$Dq zW0c?bud9L8c>`3siFDb`)>q5h=qkA(mfB`ZHeO+)eh-&>!Q{)d7$uCfQ#4a@t@^>8 z^SCWLuY;{k8rs%6-dbT8;!=~2yesJYNUoZ`U(Yh>*`#*n@ROFYJn2Ku$GTTh;?7*I zw>BFKMckoUQXdL>>gTdsmuJQ!aMB%0#G{qG;7ZM1n`pkYT1JZ+(D)tlKI|mAKmZ-s5IH6Px}I99#mfX ze>=P4Y8-}TNYM!vW!LN}oxp{NDpzBJlBCY~jYw#x`qN@s?DSae%`d8zGc0kmyd2bL zHK`=c3VJn)VU)FngGA^@iKD>PXE6asOxJ3{F)>2O2IAukNx@nf z>C@L`LO!`#R$VVc$BOSK->{C%m_)v{$p0-7_P8zaTzS0SQfn2L=guC!sd`^+iK~-c z&8(csE>r;K?mbpQ_FvskOze?)K5qyUAd=cqeCgq0TC<%ax?TqbO{I!ETWfohYo&>; zow*EI|D_f{_4D6#_xJ8{9=B(XsBztzFFkw`nr%iGI{4B$dDW6yTcZpp{wrZ3N8 zk&#nMVI(3O3(IWQc+-UXH02YnHz=S={atYfIXoGgs}`&0K)^658^ti8&}X5dBt4-v z?>R_X3y|ny?R=$)_45;wQJNh6-czC~Z7~iM`aX!p8prX&_dSVO_)M#sqPGjSx_Q1; zJ%h()ZI(FSIAIy1D1zPAf?_IpzkmyC{ZmREe&PkfS3lh7x9zU^l2bA+;dA*}eH@2! zdh8$3(tF2gFwxOVJEcrNe${VVa9q^$)3K8J4K?P3VaDb0>8R*0x4NYbL;;Y?Bh9gR zJfkD7nr6od9rgJ5tbC`#MUitl4(Xt|LrHi4?%ZwQ!J>V_8+X|!o~ZrvpH!S>7cV(a z936@H{MK3n@j9HM%tY5|Cs!BK4gbFrTKe2W;_(E$W(IA1E{oa=u>Ue6ZK3Ouc+r0E zu{x=9=5?Yk)32KNStQlIt1N_qA$BWkd3&u(cA2OOfLYkRgc;l!;$d$o}H0 znLad|Dx8pLNA9t>0d9vq3ZX{j*Pf)U+!YfRsl@ANf{O*Dx8L*0vc|*$wFasW6x+*! z_Cq9sj6;?#u+rh}!iI*@UD+Gbk82ABd(5TC7NOH5XF#*cCMuQvVaA$$llNH2@jeqL zucZejT);>4*Oodlw~(tIvFuhxNPH~3k0=bfV`_x*zSXv74u})2f76Vss{)z`CGwG% z;=cZhV5hK&K*VPXyGH|{@IGrF@;0d9}kmkeuti<-dl;Tq~4z(2(4U&R`FOw ztK4j=sfps)cd}G`!C`a(^As66!AkTfBnAD#72v=KSu6X2amR9VQ9yKJ9pyP?ErHX(_IX-2pvs-`$F=BmPAu%dDcPNSYQ5%9sSW@2#XNoQ?j zL{9Fe!!&0@FLjCwX0X6)gNUkBmDPQSuGpQP3)-ZRsTwwgq@My*+73a;?a%f^>3FYl zxk(5f@ah;?#5KFw6}YjTpp41rs>!KJ%G%^|OUbY}kSM^Y#$ZZM+XHkIA%YIJmLdiN zigwg##-5MF@&in8A{a)haUlhaY{jC*O4CFnQ8C;Stc^}ia1CEL+!5hM0tE_oJ>L35xS7@>3hzn_ z;mj>t5P&|9}qas~^BOwp8c5h74#AoXOZaMj|0tLBS?LHED9&x1)K0T6N; zV!7=xMb8S`*}IJ)JDru%Z}6a~w&(k#Z>z`YcMjkZJ(c!S%!BR1a};=e;@P8*iHHAdsYT!>0QIpOaq ze9yC4?Oq!h3!j}OYBAOi21mg+%ysS<8|O&}(IZi-B7a8s^9gPxpTS|>zkB~8f5U6F zEL6oI6uYwFG7?59DP`lPCmU0{HaSd98V;7zVdoQ=V!fT^rL@OFnt`2mCm)p-g|h;CcbEBN>hay6GvV}tkdb<&11jbW-e z)NjtTqo%6H`fG&nIj+6inw|F6Si;9tEMtUuzgctY#w)^xZ8NKs+dD4p1)f)C;v92U zVR46o3%+PWgpUzwUshK*j#vjP3lNmSulaLmlDm4_&1--LOB zhezVsTHhm(t2Qm?I@|gHnG}b&{5mqO+3#tOe$A?(=Zn;>eC+7CYqNJxX|=!qv@Ep) zai>kXKL0U1fxM%rDiiz#RXXYLYVzdoy#b+YJOVBOep9?BxfTl+n|X5FGLyyR#rNl6 z;>>lmIWxO;SeYuYa1;|RM}3}x0lxXE1PPv2O_{6A$vJxr5JCar_Oc=bYy^##s)x7{89XUWFNLAy@h4?}zPeNp#%D6rwE^;V7Nl2Gl_jrrm&)~kC8cRjz-L#QLSv~I^lbyFkjo$Bc|G%?+U+FA~q9(%dTsr2}uhciMhsO(%U#}5yzigOtoI!aq^A2?BE7L^~(hYyI?eiofF%;<;M zjlk&kbQu;IyjN3>8fLK<+lA?+#oKC5hk?qQQH`2rVo^rX*}|1#`ZQkkwe zD6o+cmKae9h7on7;m$RWgW|7S1PHJSW}tML_at5+G3In)0RIN!9gS($v1~vblvEQ{ zB@aXeQ=Y)Ct4BC+3^7+gfg#%5q@vcr-C%wZkj%~!6nb#_vohV~9pvuf_KZH)R*6DH ztm*)*JXg9oP+xzfql*LNoOE}vqoV|$tZ`_lHZ?qu30cV9EG<}tl$~>5lE8ytpT+_t zfv1=hEGEXbi}UY@DiUJDFgoZ)u-GD`2yvvJ)xm#Ie^^>l#2OOiXp1hs;(YFg1{4|@ zY18jIkNOl-`BQ=qLv_&8u5 z196=McBKjLSoO#FK`QcCN}pZ?2wK4cDfPC)3Q@}}688@z_5?(6|JekjN07n=yR`fs z2CWE&7O`M@F7_YwrmdqI@kNF)G>Q@0vg^$DdzVyGYx zLOobouxYw%%8GmvGDxomju{9kIGB+t%#PJMhDfgNB{|ecR50`$o;DcpySXS44i0M; zYAOQ%8i(k*A~u5_jDdIN=0xxjaYAh!T_5#YQO-C7=*O`4Ag!F!GN|j-s%y{S+iP z<}4$S^~OG#(R1?x!-U4jOy(YFqY}P4pf0}F7@iRTJF)x|!k_5b)wsBh2UgVRdsaYs z!Oiy8|D$8fWUbdLbT=~Ec;3p1nBV7pHTdDqkatc6%2_>;rh<7v9d-;FcodpBzn4~- z-~05u)|9T3^6`*{-T@11F`{5_q*bU|+2=sUGQrUsuH9-mv-o`zJ=>?RtG#CI?x_`q z(1x|jnE%p0V-|V0r=n0_eN$z9ZFWjTKZRr5>9CQsS#!uAKGWy9E21-d8?Z%wn?WKm zI~fDtqGwh&QwOY+vT1))-ijtJxl!hK`0}0_Us3&~odSs@uB4rtl_lc4)?0TQD{97G z>-$a16Mgvt&W8{`6^%Dk!M#$WVnHtMV37Lq+gn{s7r*A*$8)F`6{Isk1wH zK+0cKQffUCN~y}C!RK(6gYT7qPu)O?PKV_T?+7|Re{ks$yw(|j7fF*q+QI{b560y} zZ-?D49=mAydaBt7%d;?l$gx#-Rn53|cxl5HYOXX^1TX_#C#qN1(x&q;>Y^Y&yJnGb zjlCQAO|tnDoEa5mrZ6xIJeBX*yq@=Y;bdD}lRUpm#O1fr(Hhg6FM$7hLv7L>iM4Z= z5Oo8%CI81ZruhFeL^B#|N5^F|etlzYzP`e$!zJGnskC-IUv7EIXY4uh<;UO+MRiTB z9S$#vurIa@o&FmnGElE>s_HGDpYdJZ5IJyTn$21CHurKAUt$!+q%-9P+{j3W<48m4 z1na|0O@pNYMwzX7h3VUTPfz~sHcphHCr2eEWD>DF{B9puV~xbb64fJ)^qt3*>GA7Z z1aZ)R^>@J|i_T)2GyG$=yk^rz((BpUp5ohmLC9r(GZ)%u9LklBLv?#}bZlI~hG4nq zXdGIxB{LI-hvfnc^iBGLv&tG;QfX%Ct6k=6-I9VmGfaQ4iHM1fmxE%;;`|&ZJ`*;< zTGYQXz18V{E0khqnP8Vj8tt`~3`a0!pXtS3ofG^$yK&>~@oUm&l_5zX8w(fw+rM7_ z_hiRL+xvxp;bZ+^qufthXZ7uZ@+Ft1-rXCNupVna`GZRr?=5c%@5?>n3ClEl;xBS=Lrrx_v{@1edB_X zRmB93tYlR#X&81WJbto>tG4u1B{|m9nes2(R%hMK2xr-i?O*?VVT zwA0IMs2y)*93d0fqX5P57NbZ3>S0DeL{BS2 z0WR@Ek}*6+icgQCkldGwY63)^pLu{a%o1!AoAXXcEy4C$md85j=vTABU9pTXw#M^7 zCKUQXDvnI?$cQ+B3`^`L!1h=Wkum*DXgsn)ZH(yA4w1hAx3ss|q`!BPeFvKNw&WyP zuFBWulrzgNFL4wjVT|;$Cril!*cU5@0yZBL&h>eGZiO@4$L!cGc#}{?n)*9h8|z&k zbD`YSN`8Hs>KohJtTl_(;S!?+>%AoaJKuS&#|!UCwRV?UqsvVg_*o@$Q_1oKzhco@ z`3_ZHdTzJdvYL=zvXleJq5dE5+>cKi$`|~;VZ}M=fEJ|`b=2;TGnezF!-|p+$J=(H z7u^x#%jL^(jcp#itv^>U4>Haw4*+vmJ8uycKDVFMOQei7ykyS@Z0f}I<1<`5J?%tJ zel|zLORt^Gb56~rO5Ql(ePoHM)pBD8ZJO!9lvR{*9b`pCt=;#$gMPi`Da+aNeGPU4 zn`pg3YMYC~duG%-z$~*`KR!Jpo$;z#Yp&A?;S~OnZmgY9KKmoLTSI4RMNP){DiKviEQBhru_rH!bOZ+Y#H>`&7}USa#^2 zz<=(-pa0&E0Y9BXY8!v_HvSwvd1=%z{*a5zdrurO*6lLh9{g-xcz9yGqUToDzDg&{ z4O_J07Dl7R9KqGe|nW_TUy= zo&UT%cNlyf*@bV6{k&XJdjo{(?2{^??FjsgETc9Q*FA7TF`nmihf7K0l;atwP<3WO zRi_{KIm>-WqU+gcUSgLo)cBt6bm9ATb+yr?gY9rhaOH z0PoE*;u%rBMvg z{LXEcM7!9OkW1<#%{2=*INGhx-}C%^N2QxF^Px8y<`Xg{VgNg%|L0-bBEiBUDbk|7 z&x<&vVQ+1wJ=-9cT+ZC>{E-cuV<_AY)r6dZM<=3H!38EFRL=Dkqz*5MB?ndAUtH>c zI$aLf7&3qc!G-OH)cTR#rR&>oYe=1e5D62mR*r@!)4PO*hqOy zEBu;3NH~V*J$eLYxoJJ%m}Ng`@#8~M7Gs>1gdl(o`tGOVHje-GDxq+S-_k^fSmfFxZvEi-C7tyD>2%#*k9$*g+ z9Rgk1YOlQjWXr5s1aTRG5HQJ4L}>_*0Js52!#C>KQ${wBTf=>XXcfT(@nfQ70-3v2 zgdy53PdGM7kx7&Kypka(jBY`wnt>m<=*G>rP;C3~LU|3$oM2e}Ch-Ra*<3BenlR_S z$a_Xuswb7p1$UE{$bCs^vPKlk@T3+3Q%^-S+_0d>9U6I{2dnBL#m0p?#q-0~mQ*f1 zvZC(ZJX^t_bCNT}K;LkWaYZ)pS;uaH>^TBIKqJ-|WKcwhekhXiL`PiW32|b~fVGi{ zdX*%N9u5wwFi@C^T}U3l90i26;cTtJRgjXod@Sh9i;qz~3FFVht}-4;atP}&!bE@% zi~Jp9%+pvXH}E`<&iB$~pNRlep)7J9J#~$(KW1|_ob`DQ;(M`movaYe8PPTm)r#dcj5Ws0+Yc^X=?3dPN=)xcy#t>hq{7-yivDqhMH)(Tv9JM*609&ZtFHX&Ha>(O>ghSR9@`0UG{bDWNw&l7fz{XUEa48sE>UK zb&{Z9UQ1_s_lCwM;tguLlsC>$Q|cRQqKeFQ#+d1vygX-$+EnEAYXp_Go4%Z!{p=HR z`lDx))uC64Dl$c$jvTm2{GMM9tyDL!bAvp~cNy+qaR$DSMlH z5pMe7%S&IkH-L39EziDp-tJ)~UGBCVnCk_-cX0~&+~NnYYm$PWKxZ~Z*ci1+V_!oj zIVZGyv48}zqVkSu*UG5>HxDJ(1_cooVaf3iFaMv#ed{-lYx|5kTZgZYu(qw6#HDw~ z%RHMM%lS&(lwL2@hqUX(jy|n`XRrC3fCO_5RTQ3FtzN>Le{XYB1(9v^P`TgDld*!^5=UOB-_8qZ$aaf_5)-kzf!H&MlqW;#> zvH;UQVg#Iw^D2|7DZ1M7rpm`j+uzrPM9<2Gw+^d$W{$YhWxAp0h5mrzn(o5xy4s!V zGHU5!b2H&Nt9C(tcg?lY#XY*o6*f1Xt?d^O4ysgUoR;Nje!-8g>yQjb0U(5WxJeIw zfv7SU99KKZ9RdQGL07-~SnrR#3TcNjG7j0qE@pA3&{j+I(L7&AX2B2J=N@ygs{{hoJ6@ z+VE$NfYY{U8TLPVc-ndGmCj4_E+&i3qidH6;1u%u^rcr4689;Hzb+6Fl5*HnT)q_ZSIYpTHrq{SKzGs33#nzj^4z+wck z1ydC=###iD8Tt)E9f-g>c=k>e3=M>sMLbT)1jE?Dg@}h_4h|J!8)V!W4m8Ne_orOK zQ(JKuIG0#fN)M`?g$;@_Zar|KpZGp%q~;kSU~2BBMr9%E+PuP(ss=nJ76eDq2j&f zaTgYenBC9}wmPt)fbm<&V#qsfkNlrs%4Q~$b<>9MoO1@B#r-EtO>@YyK-(zqpmXeK zvrz=YKuHCVEfA-c!4OVO@v6mfr>YBPHpkRfQj5t?lB!S%R1vK}f|><=g}y-CVu^zO zHe}j--DShsLzz2&q$1Tq5D7e`1}_*0epalY&sZXro)CwFWWB-tu`gO#3J>?Ow38>` z*^0%(jPOT^`$45&(Ti%GDrlPDx1ZeU9t21A`WfQ%Wx$ANAO;$w5tMztOLX%JrXp~tC|`0E$lGfUDRoW=W^u>}!sP&GpSUH& ziqA{T@IJV3bZ*157RV%CQtv>NlduK)@^h?D0NE_yebaZ<Zk?F4)9Ry4({L6wZ6NU3(OVEmCh^&Cnscbv6sQFkB_Ng&jS7deKub~ zb4(94>>vpGC4BDIypRlS&oB#?bKelJp{E2Q_PlB zYITXvGFhtXy4>hFdA}H+U(4h4e&5>iz`A%ax*=jQE%h4l#+aL*nT6!p(E4R5wY*-+ zooHnGgfcIuXspYnYqb!AK_k78+8I~>dCSPVis^SY0MD$%kw#p{L@3fog>cQyw6*xq zc?dSSKX{SUW{a!-BJeQrkK0GRe`8(1=hWkMX1Zi7()=@0UMGzaW~<%&b+;jtdQMN} z1hBea{y$%QlU6wnul>cl;M<&hbY4gr1xZ#9$^ZRVOw7H;RI9GS-tGoFswETisMLyW z6F#qE#Zk+7Kh^)n8IEw*V9Vcp=}ImZzRz7|-Y$^P5Zh5liJ14tIIr>xF)8r;I4*>^ zi>e8%P4oGMc_Efq{ns3aQe)7o*tt!Y^2h>QwMpF;VGY)taXYUq5an>#^?L8Ct(uId z>qf((2Frr6gK^2=VM;|%hg9lQE;{?wmM`f)Q=?^6^a-EVASL23CWDwjN5J19x71pW2fMYfZWI3{p-vIzo;PFgJDel% z0X$UGI4yBefi@5DuF@*(CIW|&TzJ0@aWJ|fj6P-pRv1_Th2;`ci=hM@v^IPbs)Y9Q z$Da5yRy4+67$EjS%U3mrmHsnr1~DmLI1jPLL~VUYGQ?RRrXMB3L=5dZ#3zCB{eqSW z2PMMsP8{KiP{B7YByLcko)V)&A{f<#D@KTjAhttSzeLHmQs{vu>)F-0G{jso1Mt;} zygH5evGbvhCVmTft&Ukc*$RbWoq;b%eTB+MudBd@_n3q6jP$(RC@&NZ2H`U2QVniS z{(({zMU$``1xVP?B!&{~@bv-AZ^6P3Y`Mw>O*6u)g;e-SLaj*V zkXa@&i)i21QHg`44UjAXzbSBA=gu@nR$Df94f6&Lgocsr&ZqVm(?I;3vsq}#i=OEAyfP^LS2rT_f_ybInYK8;|AO8X) z;&o%G5sg5mAYc=RnxePD!O>)10b3&@5m>`PS9v4lAr${p7mknyG{1bu!m|MwiSr{<-3Xk>Z7iE^H zh72AeL4=3X;6o)`GVkQ33yl3#7a+_)@aLGsDCY!Cc?+|kT^)KSHU=Xn8$nLGiksR}nGNlX$X!A)*7@8FTM#xR z5_OAU`>22Dp0tN0SqZvp2l#dY*P*YbWcsSbnI$PTRt#5nlFw`U>L$E-5#bnzAkeN2 zb>Z*8UZN5flRmH(dV?bfmBQyS&oD$=kRmJ`E8{HhSi$Ni^4v%mTS(JHL?CK0-03I? zJRH$D(sX6BHCK#T0k2C%sySF=BhCPh04C1!>lfG1Z<3|(sIXvBPcFmu6}-@fX=39ZHhU5gaTx{kkj1SWor(JV17`yEChxx=%-EsRr6` zuFWwerR0{|XraSsH6Sqn$?F?b`H5*8BCv)7tX|38ATLoq zZvl70f-BH^WB%bf?l~woV5HAE6%-ym#3nesh;kqDs{l(1#VPLe;zk5LAS%?-u*2F^ zIVp)Jhv5Z_>%wC`OSBgGlO7ALWYi>F$^{YTYms-MuB4SorWu{0X%U5(Ld2R1O=AZP zy~5H`Wq~s9wKi$AOk^e#+p0QUw4@}Z{etzRx|#?`1v6@I9|yO{#PDY}olzSoQfx5B zZ!Q63FZ>uEMl5L#oC2%3#68@z;$gCielrNqABK_;G1!PR{KRc=m+Hij7A0JlFhMyG zI6iaz(!8quu|AOi19Ei{Id@C_AipgmM`i72wODJP6xNpPd);U_V80xy)DGag`m z&x?sI-0fWPL}aGLm7Xc#a+mOzxmA@^dbMo|raP_GVk!)ItZ*DPgefYrI4DZ+UjjCJ zXnt%Qs`mEmqF;iLImRNi-PFS76oMLiM1sK0(*>V*Z*Vh;d* zBY_6<6K_ZsRrQd3{S2`&wd3I(VC{bDTVVASg^D(QOZt}F?k z5&9(6AzKpU=HwQGbO*IS)Me>4YG;y^DB$%{%wP?NwZ3)^UW`mXX?T%gQb)sC#zDAe zmKf;jRwT83u*c*Pp9}5hAIJb%ZAn4kOqy{Ejxe6q2OiwYIr)Y?UeZXyLbi#r2*@cVt~GTW zpOqIoCRUPQUAwNe-B4L)v$HdB2m!>b+qLpTk4}`Mk1|P7e9;`zKf_|FojOx3*SL6J ziw}}{o>zzb*-;#|6WQ4W7E3nJSjU}7-MxD~;pJUudQL%}d!H}dLipH5dMzd2M{TA* zahOE{2ln z5h84I`%9NqrOvEL#Sjozlrt+lx!2hlo-Qty1DmF4Mp3h?PmgPnEs+A9Qxv}H)|Yf0 zn0CY8M7cl(P`RV) z+lz>y2%yKp;aqq$Xb|HU!oV3z3FY(fkKpQ)6}7+mN3O&J6Cez|46z{5BpD6qjV#}y z3H7~TBWEG0ma6F#C>qSCCBQ=l5 z-eZfs4I4Fz-{wLbQWvrH&wWLt&Bu7qv$J7In+5Q9I6tJiSRfAvL$L?7WbRS);R12L z|KQRM!-A(~=5poajSvQwrTW-LmC+XMRtF)bI;-8`+|)WXs!O>3=syz7%)VfQ;uSctuHYcd_I~Y z6*k8VUhq&IWnj*{7gGIL45!v;1|G2Y)3en)C1eyhK#5ZSPB?I~>vEErl!}&G%YNGA#>|A?HLo%=c(=p4iqZLSZn#ijZy^!WHpo_{XOGy=YTI}B3bq1}A=ulmc( zYmp_6i&)vuY}jM$#)ZpLvqc`eo0}_us_=))9pTKUC==6$EyPa8fsr9m+zKMfIYlj` zMt2Yke)#^s>cc7S|2{Q?-*H$DhCFX~{}G)L@L$O~jZ@WgR&X_GqmzlooQjM^=!xWh zd5Oo!ul>oTi<^FYXi8z2KbV+P$buTE0!?GOqkRpKd}Qi4r8Z@Eybm-cZ! z04qnoRX(#!r2S zSnKmu|Dqq2)@pKD256%rj`6@`wAC&Gd>frw$nTGbFY%#lg}=I5xn?wWHA@%C zrJPc79$dG}W8;Z6Xy;{ND}Fe;QcLBHreRY}>#5Cd;Qv2E#%bCAq3WHZBa6GH(bzU8 z&cwDk$;7s8PMl0^V`AGA8{M(hv6G2yY%=g-rt*Xnh;d;eG*x!F-vBapKyr2j~@8IHbc}NJ5iO@tS!VAf; zp%bOvU^I|Npb%pL@DaDh9N@WR^GJKhIL4+D+Jo_ZAwVZoG&V{E6wn$NW}#;P_;4Tr zAY^`#i_ZEWC}{6ldkp3%tb4D17GAv*lM7SL;821Ye7on>A z7%bbWRUG8&UfxS1#tF4a<5`f~4;kQ#*94Zlt2e- zx69h5)z=;ik3%7!mzNhmA1W3cQX@EKW62ifXj40uM%&A(_q@hVnpFko#K=W2;#UbtW_ZP~&Z505Ns;_O(3f-|zB^1p&_qAUn>0 z^-Ly^R+MODodum}hXorXO`pht{HccA+G8@2`okh3g#M;KT~w3KmnCo}9|mu~>(POw zsLy;B)Htkj-_%P85bpK^L`Ir5#km^&DZ#jLUPBWv)Z6Yk`b#weO8>PtQ5nEFqVmKb z2~r_=iJT8JfK3rM+}Q?v(LbmJ z$X|OLP4&q1x+9ifSt)(8>dmzu*Q3Wywd0#=nkJb`Jb!Re-I3&`>X7_So9Xpyp>uT5 zJZoz?H04VD9AM#tyrd{;*&GY?QBK7+f2}0VxsB83;bjUq6~4X~v8(@qzWw9+yP&nF zp}gDY%x?PV7wL~6qlnF(s9V9w*nJ-qH@$kCZ?>nP&*K`u$(u?-Ze~LrRTY&ZS3U+! zV{_=-6^ii2PHcif=eXu7CRc*Z*7J^fk`GEjzC`upISSLj4WB4sXW`=-2}I_pQ)hip z1B)oj@vJi~8e3X|C-eUqvlq6~V}OfG+|^>j2a)}sd*nJHQA5dx-or^1cPC-1QFG7h zh_n4gH1OTzw|bhHgbw&bELmmzBE=Da;!0CtDW3R_ z)o!Rb@k?(K#8zqZJ)!0T=RB5X%7KBPzKDDYWap!qk1kFD%XIg%3q_xG^oqxL%QcB` z%0^Ih#>kGT*W>1t*Lra)24fvw)nI#v^$l)(W0ooIGi$ zuQRbznG)`xa&ZRFiT3xyGV^^?+c#;{K>-Hq`?hm2*p5fLRBM8U0ga0NTr zOm!sk2vef%6>3n`>S|z`As8%U$Ibwx)PQpMRXU?YpjxBR81}XzW8^w6PS_}0rj(+p z=U-1SBtin{*RmIj-*+2%fV_=5_w&uy3-G+XLx7o!Y6W~md2_s>M8vYxJp ziBWobn59?|aBQN#^G-ZP;jk3ClEP{URNAv}_imt648fZ6Fib3GVKtdwIN8)9tk?rX z#f(8wPPqLX>yVnWI{yzL1$)i@1M@6oqsVFhC|Uf^L{d$}lgD zKsPdT!I8dMxLErba9jLAz$R(_AlO!U3Xm=z&6?t$E}KTwN=yJ|qZ4n9xjS`)1(nEu{C$CTbVSW>UdfPB$1@W;Qst zd$u5wU%0W~@*7k(Ozo{`d{(CPvGo>MHdowUSq8qADZz9^CS{Np zH99qArWHz_oz9S_7TJajFluDvX#|6*P3Dp|g*XpM1F;2GLawA&u=UUGWHQHdPHYJQw)Nw313?rd?~Rba)?I9a=TXTdO~+ zqWy|Sw((?G^Qd23S|zYy{(Q^Ub-4RHf#*%yIB&u@^zQRPJ?uHenbVELF-WaMC?HkL zP9J;8;b0VGD~-Zml@t1}t*(~GzLt@HhTkQW@VE(X+V7Y`p6a={Cn93gjXe78zr`T} zr{G2EO;B9bA-trbpf7?Vo4Gmnm@o$gfynhVwyK6wFTko`UP-gzw|UM_<+vPTJc7K8 z;q2(!Ze(m|EOS2ZQehlLbWO}|Ki;#{PDg{siw12_)5FvbiQvr}?&pW4|D(VE?TqQ` z)P0OhQddNk^-H8a!4S|=F=q0h-JN2vC-Po1^+d*UJku^sKW;F{=Yjqj>VGQv;%N)B zqh7jC$uRZ8_*y{Le?Rh(x{g8i)=RTuBHWkU#^aQkc{iv^yVu8|6`mAUgbnSiE>%rZ z3A}&Cfe?VFh7$-IVb6kxy2De)M+xr)#}+z(lDdzTu9bvd2p|m)7P|<_7TpbkXv4yU z{##^17u(xo4i8axvvIX!%+)^{NV%7-s#adM&VeKus}MJom~m$T<%)ZILY zEcLOQoHqlqU$S2S6~XER7X*Be;|1)8DZalr3+6n)&WhnJjZcSDZEIv6lL#@G^0`CV1$9i^dKY?^>0!ALqGL@rQv7LAGAZu;d1AS zC?OzoPbwKbrz4s3ehY-#ZNj}GYu#}2IcF331@&UQWdG^4jf9L!T^}jtFkUmmwa%6Q z>bY@O0bl3t36_0eQE=jg>e+9u)`XA5ZVR&%K9_KB0_4gT)j*!kw-@Ltt-CC*9B`S> zu6eP3@<$-)r3)=Ofq@8Hl*3i*6Ds<|m0Fj^LTt9dR2uN(ZBGMrVqW7NfOEMr%q4Ni z^szdauA!JhB16a1j0Cg(0EjovScHWS)AFa>>2ZT;{=RWdw^l`Z!fb(UM808Q3Q_=; z%>+jBoN#pX=K`jTBGsgkg^;yGKnxFT(%N>W(7XYA$`UN4^(`(N zL$-IgkN#(nTKqGWy)VI+$JTieHE|8V(0aTkA{|vclt89s={l)Qtu9$K+@w-Yr=orY zjWymKrPhMa>ty6QETd7Y3&QyEWhY}dHa1ZQtd`0X*>;zx(1rA=Y7DkC zR0-b;p_4a^wU_kntMqGY10!3e3Wi=9o^5^yWf*o8pS2eqzJ!+zl|n$boB5-Cfvc#( zuL0bHzrTkQHJ;xRK1pne`z3$Tr>=@>S8cn+SB<-;x6MX5C9f(nQ}o}p^Jw8VLytlb z(B0;7BHU+@vRI@^$^5ajVCYzk>R!9{h#-e?uUw>aD5K&M!zbIcpkt$~dOk<9R*q zV{*<3H3udRn%#t$Gn7enlsGvx7^-OHCqht(FC!%mF^%e~JC;pb$D-yoc^SqLoH=LL zG_?~igFWoMHF0-*x1Pk~&tF%2KW?hFUbdw2gxJ`GI@9T_9v-L1XV1cDlo?L-T7z!8 zj@$SSJJegkI_!Kz5JH1qQ7Wt;(WP^~TTHX}xqu$CyyBJl1|few*7V@;;#nW~D`kEu{tlc%=udQn}!80Mcj^ z0NDuH8J%5n04g4K!naYZHxo^~)dDcX0_gyd6%2V5B{EDB2M#*hkTa!9ItM33zbG$? z=_v(!K-!4()#^5Iz{xMi3%`!(=EbanzP7gxj-`LVbKBjTfI-bKq3kb>l%i|&&E4I@ zQ56goD%gd|{bm&r0&&j=#zc+e$z<95}Iv|7S;GCxKL`kbi`>an#ZH<+~h zdV{25>lVT~K^C?rS4w2-724^`UUKg&C^jq5)40A1_#62GLu*P1Bm|dAAsNgTs7Q%3 z)_1-AET);H46r~^=FUb{K;sk$O2=R~D4(&eX43$SaYk-qLRS!{1W2g_G#Jeu;(WvB z!Xi`z>Z&^Dml4@r&VZ;XZ8&}^c|oXf@Idp>6I$66`Br4gJbD@%aVBDO({AEZ%F2kDgxm+*a%JasE#MZ6r|w$$^VB4q=TQ5Ani7-)*c z=zP^S_4xQbE3FVS-9TbC=F7Q-4hBr8Gi!6=pA$RdxhpOOQ&yG9IzypZjc#PA=a3GJ zt{yKaaYpg9FQe*W#L)1JJDA}xqn;(|h!}=pcEaTk`Wa0~&ya{@Qix_Gi1ZO)tH3PmE%IY5Y7HXPWj`={$sR^YhQg)5v291EJgyHS&ga>64D9E9448U} zCudVEsl!Ts#EdPT=ro}N&<5X^Lv-aIn~TRx;Pbb(kYT3Oh-l^D_qZ!M%pe0EL_CcV zz-=t2FS%&D){xi^rd%mmY(BRcO4VqTq5$kVJqHXL@#2umGDZrINqwD;{|$)b`1s_q zS?@RUmkGUFUS1)5wId8aQ>UYt{QEFxJa23688J~-vrqO?bw#VrsDZQuVr6DjP)ReD zl!AL6A2-K7s@M9%^O%>Ls@v~cAFfOum&!{&554{dq-(C(wIv@%{m;AH#Jr z*@0WwHPoClhicmP7W2_X+f+_9-0roiA8|u{uyHmn?%X~m`U;o#SzCRfP1+-!k1asQ z58ak`G+tkZS~jA#5g6WM1(F$24@bO?kt zveuctY1BGO+SPq0`+s=7YIA|tw|=I#>5boqwe_>bRZHV860vs3(I%4-TsHFB{Sz5- zWlIMziQl(gFZB(d%ffr#x2GC6iY`xfLr{t2<6|t}6V{DX#-I5k7m#gZC8ts2oY1Ll@rU$>beMJ=-mz^6%p z2Vx-gu^?SU*XPU00KqyoP|{ckh;TitAaSedxOk|{p$(*|pV zjCA~2y}v0jwVQ`}+dKp|(?NfSg-p{@J#z22xy-t3e>UMe4<~tJz6ea1t3@&D7w9~F z?1HyK%ZynhMFvD`s3l7EoqFEsN7c4T^Y&OrmI|y}cm_ zGSW@QJ_j~X6qALIjmZd}eiios1?BdZ#zu6Sf~-1yr@o+ zU8)3RkJ!Ih8aw_UenpPRSV)}Q$ui0(gTh60F6l9@E8L=J*NVaWO!2U`N~{-@S42Gt z*QD7)#__pCq1sI(A81xoou~naX|)x9D`CYHu_~1HzX#^A^Fq|nhY6(rQu)$~=i_$M z7Bs^!4c6)PXBH-ao90_lV(Y+(vup6rzb>8z#?CibJaf}2^qy?`eA+J_qC%tMalgwq7;g!N6uF# z=_J*Rj5JhvU;A%XH0W}U&j_cbT_gklwgLFRV9R5yJF=WjRELA4x&z7zV&oCAlB>A2 zx$%^<|7GI84Q>a6i(gZONTv0qM=KPTmO-;S_1bxBqBG_aw}tjusat-aj$scHU7|r{ zwdO_-z0b1G?bRmtNP{LS&cVx}AgJ7xqGA>8ZfM40JaiFG74bpvn0@0j#{&&DSi(LhK*?T*y`0+F2 zk{C{8*74_#&Xoi3oziX>K4tHSb_QPC$+&FvgQmPQzI}LTh__vEaC3oYu}j zNGWCO6WDqG%h$Ik*PwTQ75I%*SKwymGa!_D1auze)}&#UCoO#(L2YaR9M715*e0RG zSK);$kq-~VP8feHVBvB`U2b^khZ}88=3{++P?do26<5hyf#6czrF7Vk@sWfZ-wI2ph=3 zo3~crR0|&*-}bZjG>mE_(}bBN&VbsJGtTV_Fe4>k!lDw$Fo6WmFZ&WyP2t zTx@hYN6`yQXEv|n0_q_1(o^dl$yFHf!U|B*Y*SMv6`v`csA4KxVjJt|0W7 zcxvz`w4G<4OwQ6Wn{#Ak=<=D$N&b281r{vm22^xnXwUq+NAt~^W9`(~g z*HcBDj85L`D$CAv2xT2-=k!Vq#ZX>XM9Fr6XwzduS=qGblJDYj#8 z8jVWLzQ(N6t8T>x2&n#Ju}M_{AVEtN;=euRTZN2)(Tw2bF3uz)XAGB!~P%H4R)&i(!N?*Bt5I3l8<4utSW!@0FHkPyOWp#?OhRtcr56p+~UFbYhFx1lMK|Q?(yWMzP&mzS~adZ8(!} z+DSwCqM))q`i32P_BxT92fZ9#Mc6htS$M-^D9AHW)l(1N2ZtR$Z@B%@BdKsz+tt)h z@v{l={C@k}9{M=0d0xt&@?31N0x*0X9ATW}wXx*avQo9^HgOCFH8jul>IJ+j8LLul z8oop$10Em^A>p*IatDn$=$!2s7-Yl-0^fD|Z?~r1%FTK7`Aul`p+8NBe+U=C#KTY) zbUu0iA|H7h8G%#()tIT5sS$`#p%4d=;@L7mrOgaoFw!Yl8wNm@%(48-0!o920V93a zV}AhkB`LGVEuEP38q2Lsd-x-h2im6N;LC0$1!4!k#yYJiKP~k%(!X=98U5DTChHR! zputCJg=#P&4Z<|lGx3$V0%mu&<8bF6hZ2?kApIsbB%NusD<5BogNuuITxy?nhpRq* zDp#jEhv?n$2rbPCJMa_EVm(hf)G10WszDd1Y=CEJ^9$8XEUCuhn&3t`N!|94Ew3K$_8@14AqOrtg-=zM&v;`F zyuAXGt{~*_Fz!`nRx6^GGv15vznnRv`MluhgjCK?jZFmxinb2=C{kVe-hB8Wv(qt1 zKNM`EsQZG(J6oz3LHpby_CwBpv(w`GMmGe}Itq#b2QX!>C6EsT^|E+bp{z_;Ki;fd z6A6DHA+%V^a0W?hA*olO<)2yhqs`4PEI`H%L!{zn70k&u&>8nz%%Wx!KkgcD!^IkN zBZVoNV@Z)BO&!*aFUR0vt-_%cG4V~d{dF-Oqm9Lx!qbJ@(Uv_uVJ=G?{)gu8YPKaR z*u8TQZ#2vD5PC4k;hEq2*_C_Y+;$;%kR&gp9NTk2t#3~VKgfn8 zBSpdcY10>`4gvkgV80f209FK$mFs`dYE$+Ke5hIUCg=cHh2!wKibiO1avIp{?qirk!J z5Vf|YLSA6wmZH#CyV6iwKMDYhq)hf{{xN*XFy(TUT6=~3eC{L>xN;7A4pu*?tepE> zf8k4wb^0w+C8*x5wVIjX3QZWZTUDo}xT_qnwj{ji{QD@=4LK;oX8}I55@_+mAFp%) z#QvZt?CT2(8(JD$JZ$-M_zFX9;RExX;<|YHoV1oYliA*2>FST-)^)7or_D9CeCnTv zTZ-T!c4i{0&jDBmt=@(Q1a2O7%m^aBTKv}?3;7uBk#@J&waEd8asN;K6_lXBz)(y} zld@G`?k(vra1az}Vzsyrv8bGyA$OJaD-7z(R>jDL3`@bk*75L&BB^rR!s?F|o|}zR z&`#OAe!8ir>nx?(jVRR^8BvRNJb5p2S(h7@ygP^%zCZZvP*qpbQdmKmH$aYd+~M!n z_;I;Q;oyH+ckP?Sd@S!Et3Q~!$~Lzd5mAegNc#WoKpdoy2mL66h%DC9II61X_=SdK z&bD%Puyy93zo2z}joQzUla$Cmg-R?itE#@&xqpx7U2%}-%^Fk9R>Kn|{LGt-icdkm@#Iv1uN3l_Tp_^u`K3rp8nIY$6#B>ehA zRB$rF(XTE5c;m2w0F{Vsn|c4MAI8(q=#oru_zOgZ7U#u*BH8toY#-TJ>U5K!*uul4 zk)WNKsn^HCGuM!${__4)OsMaT{}~d+Gzw5D_Hl|&CvZ&6{TBH>mk%+nGBbA;WZ(9w zu#b?Rq}NDPjSu&)R4qM?cd6ZvKID|^54gFd+2yU#8n4KFlYGCv41Rg1J?~7mhDtX6 zW0V-^7e!qKAwODyA_r981iIFIyE!NYVZTO=G%uD2&F?`GY;wPtuocP$P^y645)wm* zbj{F$3`=e>k)DMg$S0kjA+OsJ7C`k+%pnT-5k5I)G9C+3Ecjz7=CukYnK}}77=6Oj zU0l?LkdV2|UNHvvp~nSl5|wRqC?d=eJeylVAr&am@Oh;ym=hU3lRUF@!p+PMbeDB< z`P?LHE4HMGd~m8p?k?DABsW((9hBj2fi(fkgOp@{(CGZiC-Oe)&}}hog-}x@J9v9A zw-YF2+eVgz_?&?=kjV`qw{=)ugL`$=P6cE8z7wc3-U_j>{x85p2g(X25vmwoS(ZZJ zCtDzi3Bg`}K`Zh_90Q(i*v^mv^~xxLA}{75ar6+L63xKqHjErAA<>~}C0(DWyF(sU zxjb)_j~cRk;xs9FA+(YJElTXSD2*~;AVl+`ra4hUn9U3YsgE}G!b z(IE=owhBMbehTzj+xy9?-XA@kfqbUn-06pV3_$uS`c?<&o&tiHF zjU+vmvOJk@qkkV57TFYF$x#JcF6UQ(y>EN=ra^*B<}*J4l9kqkF{C)go_EaGEGJ%8xBKu+5x2L6L$>PUs=}VGfpfwqv8G@ zqgQFNC&v%p-naZ1<-cYN!)qCj8!MX&LI+!0{AL|!)kY&=(?`rL^BO5$8@eZSW8F+D z@)Cb-1oAweD#nqtXB2&mmOehsv{%c$*CjsDQLap0k);_OQkJ{G)cFVW4ww8UjTO{%qBxf8!VWDy8d zuskQs7ie5Af12idA-?wU5gw1K7@oW8s=}UOmAT8yMG)DmFg3{Q(7M5fDgWy})=>u} zV)9knHMyd%LgO!H^144iW*VcLV=`iV8%(!d{a?58-T=s7-$^vURdZ2lZ#H?f)?j^t zBf4t#k{a3?VS?C~3xxW!Hw72ao^C?@KdWsMDWOMhU z;d%2}TUj3snHaq<%dY39s*dcQ(N@l~j)Z>)^w9UPzn-aWBot83?c@xa8p=Kt$dma) z54I24lRY0%BG_K!8sh`Q12iMXfJ91VMcS3l7NK0?)kawaMiu2Eo$*azqP=5#p zP@d8PR#ml#etbjFBgmHcJ;Y0DlQQU~$b=QuERs1D(3}b5MP6p$7In(EkxK|I zoYDsPo>FKe543hQiqTX^J@VfMtFloNpJBhFpUO|9Y6=N=YzkFypo+80O^3pms0G{8 z`@XAd&az}R6}U*QrKh!#C_u;}{2&ZzSUQ~-tic!spk1+m>DS;fLTCg)Eewo#W5PmO znYm0Lb4?~1#oYCQVZD{jc>>C%aO$K>f8g94V;KoFnLE;+ zv4aWZD0lkuKF?Z>01O;co_ZSBi(Dja<&_9v0+Bp*G~dIF&9zP=g^nV3SelZviP(RO zK)qe1MrD)1yo>CJi}YFiol-U~r-}_weK}d`tt{i-^dx=?G(LF0{&N{@cqU0(C+vl% zGrj^6H=1)P|JwG3pA3n@Oc(gEe+x!65*W|iimZ|wWMJJWvOq&1`A?iSHJ}|(2RE24 zKecNMkT-y1g^c7$Gm zgxu9Wld~NK1r@a)&Y0p$*oWRZT)UQq9vTZJ?UKAxEu$;9e*dy`2tM%S&A4t!{5}_R z3r4quJje%GILzm!3#?v_aTVm{Lp7PJy4>HBsF3$dg^^ro8K&OwP!&mYd%T3(b0 zVOF{3t(n69pD3M@PZ$1|V`h7UIuk}bACAKBe$(4~hJFWeMAO(!{R&Q7#?Cf;|B=6F z@MES8KA$fZDju3On>tVvlE+IevCnz0 zbKyUUkp4sP&90&Uf0cm(2q7l@{~B>}8K-W$T-ehLg#m-TM1Q60;Um$Gk2a?*+O;L<%yt+mZ-r+>crDrc59dmw$>Ttg;GuOBw6a;O^W zu6A{iPyf4m&K`nE!F?d3%;f%q<$3F>N6qg4X7>2%V0hU%KV|69`hH8&{(N-YGitPM zvClC%!1{|P@wd%Z#;_sJj;j{;-|E-5yv;6`{qd|8th56hZ12vnQWz=Akv$^i)PdWx zydKA@57PI=USWK=VH{glcKqkjLj}1f@z1CINA*AZ`tZ~xQr}I!uQqHn)5eXr@BfG@ zIHVU}+@I*SUxR=GMkIfX05#Td!vT_H+}i1qVU`1W)-V(pHjN}{k`k?x0yNB08m`8X zwH?d|QUAZg`=+W+DaBJn@V@%$78ee>Bjzdh{>Q%S*@E%<89Nv$M#B}T&E-}pMM>}g zCWxsud@CG{#42kZ9$J9s>4!$ZOvucNhXYt@P4p$3+_P zq_H%DGVfJN1tePXg`2{!dRz=`<(p`LB|N%*s}vIg4YvFTiZ z_t%R0%J)Fo2dg0KM3zoYc6FNomg+LN&^W^mJ{-{^5A7C7Nk~w3Qgy+<&)|#l&0@tY zNflZflC?$G7lF|3#K;IjT8%V!0f9M!rj6hM(OBt-Gm@Fc*qg~co~H7hPKJ~z1L)03 z96*SbphAptlbwd&+%IJS{p7ZRUWY2lt9_okY0Jz){IK6SR}_V^m0b<_)eL$6 z@v}V)C*$W`VjM;kHnldp^5OmCeF{Sf5qg9Ano4RgR;;(x{+1N?(zhR_XD*0G zJOuDqR=wE-*;3CtogC6$S7UFp%IvL!ZO_L>u0boD`XDeE*YViYF}As%kvL*6tt4?2 z4qx%k-o%ng$B#l!r_av>2^hl9SC_f(b5b}HPi1R9E&iXlPzTP<)|Ng?Yw-c?%OSs? zR89~7I+7Vs{fCqF{*N;IzaAQiXo=C3WkHsT%1V&&`1pO-4PzOo!~E9e-H@C%dlJXWoWT=CIfxF z)=j&g{nqPoZNc?Q@7t5T|8>Qhb?V3S=LJ3q>f1Q?1tC7-8Sl*EDy!3#L|P?H1C;U{ zlI-b{3z2E7wieDDQEPJxPpi3Gf5$>|yU_RP%^DW_b zUJJonFMF;2Z}YWj3T2Yk^{IDy)5~eS&m*lLC+}bS^4?%@|I9)tLjfA8qLo@r%W*na z?d!LLF)zJ~Q*KFx>`|^EYUiHstKM@e$~NRrY=vjC@}*eojkM^a^%_uZf2+^lJ)I@_&x#!1S!uSEo3@2mMA^i4oO zzzV(z1{*(72c}aPXqIooGDbl@A23GKg{_T65F^PJ0h+OTYZ2{thQG$MkZ`c-iqvot z{j{H)VzFrL0~?U z036agH^khZ85-C{b$U|piD>1;Ah?QHrp;TPq8AXB&PG-)59ydFCvuJI0a=_TpGhE? z0Qr|7z!nNF!yqgOufnDSEI`zDfpv^I{7lH^_DNmyRWzoHol zMPi||A8oP}$dX3&;-mB9+zUvK+r*qva|xsvKyu3ZZ?-2VOuZWfO=O4=ZV1rZp92UKPzT;%kBn&_*1>llBJWm3VP^*Io zd@_7}?cHcH-hdG3G4Q;A79_q_6bsjZ;VEg5pQ#zpW1+4dO2*JIp|tBzvZt#tsP@X5 z`CC?EkiPi<=bjq|i#05^0u4>KR3Wz3=rq$LfS)c;B$qc_mYtGR5Ip|$RES1QMn*Wa z{a9|z;~;P48V?O+SP^y2il{yfxBcT!(WoWb7qtF^Q!;v-P*~2(TYK{r>LqO4oRO85 zx;DAqR=qMY4|~~RVZr5IXu7R+IO6fU>o&{(T{QZ60SFFa-}xwjXQa|dIoS97J5~oa znIczWuKhDo#p6*+cj*c=org4t0o`6((p=)PH77=~?D%gr?A-)*xK6i~Vd>MlauLKX zB*e?lMNEJ?NaJfaH6c-$D8ZMLfh-Z!Sa13Aoy7YjV%q#YIcsUdXKm=F!M8Iu#z{Z* zWDHS2;dIZgxYNUK|AsEr2Vbf9_1Smni2LK&U&Y$mOMY~0=qB>`D!L};MROpkp=;M< z>(oqFBWalB7axTisvH+{1?g|ep`{DSGI;+hW|F78 z&)56cT5Z)&g_SR9lfcSG)_La)(P6joZI`92bGB_iK>>^5mqy(k-NHlYaI-;_hK_V2 zndVeQOakk=WV6S?i z&(U7H!``}`9{d4)@Yd(~=j&_ymn4nxZG%%XmWa0=44qO; zInW36Vz+0z3l}THU;DH@Wd$s zrC-x~D=7WR5N`mre!4wsqI7pQGZZzJ2ZGZi7gYS@|09m*mP{l~uTp>~Qs3jz+nw0H zvM_-&7DA5iGVva=RFi~L30o845WnA3KF-0mYJRK+u--!C+MqWXa?UG?)cLR*1x4j zKyl@(V1Jx+s%Ni@6BiNHa&j#p%~ zb|GGuI}g!cM|E@kKe@RgW+P2V77XIj@ygs-lC09#&J-HHIbakuT`=z7gt?$5mHu=`Ls>^IOSDbmm2HhdNreN~GA$ zuZ9*7A>$LB5Jf^~;3M7e9*luM(=%i7N#sigQyRXS0&#Eb;a}I93omCq4y%OmK8$@mp|Ew25#pYO_qb@|g%srCG~ahLpV> znr_9=XH+D-_l!s?xFLo1CO80U-qgD#vNQTHC?TT1qLAYxD9bN$6oV)Ia{QKf^QBTq zu|kHv73jB3N+Kc~#6iqpdt!@hVnh>)&okS1Rd42mWb&;!;~>F_YVtYz;t*&N5mmY1 zl;IvxhqiBXz^|o;mes8VX_i@1*B6=Qs5Jd)-Tnuji;c0Gop`MrK$LQDKrQ&bDD0=I zxKwSBcn-V7J`%9f?pl_+SRJVATD6T&j-5UmZIqt!^A-tU$Dn}{4F(-)0r-B56h}al zfC5tx9c!DN7A*6nu5*`#GHPiogeK8e0;mvr(pCV~fJ(k8T&kXkSK@SJCT>~vMF3}* zZZnqOJlz{)!_uq-s2WWx;FDpT-@5+Vg?*vO+Zr>OZ1@4FxJeHk!$%3aMClqsjd$F< zHezqq>BR+{(@&xM`m9nW&TC=Jh`5*j6m^=>`>Vc%R`Ym^RiC51GW`j& zMeZe>r)>U5BE!aphend_Nbf;8W6et~ZRgE`qQh?+8{V}ZXC270nt!W}wSV}BxV(kt zeQS!u)=Fa;o~NZ9)$i^2h$iX2PyGIH&g*;8=zse!$@j9EFpaT_-oBi6YTR|D+M+Sz z`{b)S9rHNjn6vxHoCHlN%^3Ywq4f)hWb@*-TaK}^mhNr!@bcqG^MgIn7xFHD-28f# z@mkH>&Lx#6!wRUTo%z_^`#RG2y88PetNW#hf_F<*NHgdq{N4YZ`SZ2k{|S@?aS5@- zC&-2)=xzhDlSf15NNvYVnGDBZp!dGc#k_V20Jv@0bV*?IW?1&;qWs*({y z(j?M|a;R~FzU=c;%UYT4rv2k3+5;P>+uJZb=uKA6J2rOm$+8F~o_+e%b9g*m#=O*$ zBB{C#ZBnixb7&?7;5;9?@u`)%!<$-26CG-qp2lrbw0TnKE)Ob>QBh5O4DNj`H^N0B z7W6MPopE6IKfRdb`~!Xb>jxGUEd_lg8=p|;ZH6hggZ6db?Cp6@zw8*|M34dD#FK=P zH(!^Fq#F&EYx`LT@s8Cx9PJ`IHxfPL`15Mo#q)07=G=ntLvY^t$D^UZsq+dn`;wkv zM@xmxdqTkS$8@!|3EP-l4&EtJpUMc9h_d`l4M3`!EA=7*e^cA zT+ajOq3>NCh%s5IZk*o9@kQoG8~k3cQ3KHPG;olr^ZJ#boH3!MJx_T_al~BQ|4gNFFUI)>`T-LYc>>T9_bi zweD88_)}_nSh#+E&4T}PZ3g|1{3QmC5>gawJCIrwG9QVCFPI{Rfk7NyJ_bN~J-D1g zT)_f?Sam&t6pssGM-f_w8D=~=Lh5{*FcdS9AVvN!Qw>}5-NF-KTAcioJ~ta{hp`GQ zx`r2VLO9Y|Z@Vf0oT&?U*lf2ABBB48Pyw3VBC%QIw$5{Eyg&7%5KOzBn_~zjpt#}o zC+UwFI5um84l{#n3#q97vYsbvL1b$1h?_H2#lY5tPh;+2_DQcg+ct*M4nE_m`*os- zioXou!NBd1+_)ETCyXBf2;tEqh|w>T>F0UB_pI}sy6Bs}`_)?YuiCY1?~shaBcb__ zWguA0uA%hc7u3BI&Hx`zd=Gl`uZCg$$={8E_G&OIUz6xFin$)2!8tW%Cz+ZSUs<;- z=|EA=Ibh_H;<50O7!=@`Y>;$Cw->35N+yM&Gb@yKr(yJO7=uT>MOaBw2~@&zr|g++m{QE49S zVAPsg{bHn9U`W4*MMe;|!;DCf*(Edcgm39hlCJ_|IWRLLh@Z!U2}|bS1VYFsW7=0l z0Dn%IJl~{tzE=ed1gb_0xwJXa@3V%7Q+FaG%4MdmSJqZ}+~RbaGT# zcTHxMLhNXgtLrN%cGOuPGM3L@Kp1#!Cn&OAI&074M3hixYB_Mx^GztSQAkCunNCkR zo)FoX7JDFN=4~Hgi>jFAG&;~vFv)ignX#{(t2c&lW^#Ym6#Wg zTCrt?iy4ceH+m^J$H+qEx_>^uZ8ch|Ik`9)x93=rX8`bW`8}&D3+TW4#%lUW{Ma(e z7=Ao|Y^qEX+HAEIQ08DD6YvTWMDyLA`CPR(Q)G`dH6w3!_)KlD$dY5M&CF3(S_y9w zi4m;gr!3N0ecf*^yxD6Ba-)B|pufR{nLjqWn)<%Kjf+gbs<~8V(B7^8UB?gGFjHZd ztCfzz%<09Kae8f4-dnB2jwmqEnpI^lEX{bNB{~&Iz>rJaH{q-9E$_{iF5O`tm}aw) z88hJl$WhKER+R?`Ia|?Im1nGy9uxhz5%ZL?y%`Z~dq{Sqg8va}8hOjFp2;LY2s;Uk zgxm6G$mcy(A=>2N`Goeyjx~4kX6#-R+Z_{Qx$u;jki4hWLu9>`4?Ebq>fK2>)8N1D zg!qAf4#-9@K^bbbXu1peJ#i|1&%(GuknB#{^i`HP`6{6Dx0!D8pm=p6clyTDeg%Ki zPgA7gBd!iQc6!VZ3TWzx@xkwJLogjodN_;ura|C4u1o;_Pav) z9;kJX`&T}ST^J?$>#+oS*XTb0RRJd*2(I~GgsKSu8c>*Ur%f<&B}ONny8fmo|7XJR zNKLOUsc773!S%gp(wi7#&vKXuR)@iCs_4WGCl`V5c3)U)@l@s)^l%As z%abYj%j)0}V7$rH_M?^1d)$(lccaB;gtykRCNu4O?gdW!UTAZtD^X<`^)~nL*-Oxh zf!utHO()-G((4C{XP>`O&Xn=1#6BHailc2PVoT3%w0Cct>j3%KRB20Y>=AXe7bvfzMc z&9`7mY|Fa4yW@N9T^5wECxLp=@76XCx>;4s0_}}03u&j8qFlw1Oa;XeN#>sBY2G1N2N``5LclYC6u2HO+q@#ch4FR3%zpam+ z5(v=Ln76mlh2mv~GT`x`LXaPm%t65nx7|LR$MlH$wu@J z+Js@;Q4Zu7IpHPW7W-x$7z+C+R4nsUm|!1AF~5P66dcefF;?m!QDvPi&2I_Zuwl63 z!g<|2EKe!e_csq2e2in~r3q*@d%tg^@?Y?{02R6!LDyS!4Di8*#K!JF5vl`Wk53cP z_@|~r*a9BikinvP$R<+8aj7NcV{=}oVeXylkjtnR*l|#D5M4T`5cD$+ zlG*W=j(^l_HQ>reMW3C_{;qTR7~?Q}U&-p5Q)HcC`N&s2g+%b7g!uN?vLjztVOg*9 zFQg($n&jEPZXJc`Qm_CO(Hnhoz;`sy!R?+I!?tOp7!CcX>8JqLwkOfd z5sr>e1Si`INMoLlSDwSpB@D&hbo&B5^jk}{mXE#^%ld~w@7)HB-@8iLA4bsK;QY>awRpN8e^y!HE-_&d9 zMMsS5ADmWfs2h;t!l|v5F(`25PU7gp)J7jx46YV9=TXsV9BDC@i2_3iI|nCw_l9iB zXkOpL?7YqF*CLzREEf~!vmq#6azGyJ{iuE-%2qP)f1jc$q<@`G+)ZZ@DN|Rp*EG2~ zc+)18F--lSy*?od#*tFSSbWC*K0Gh`OGL>ltaKdSr=S2KZh9#hTYfSa5K24h7>2f+ zk}_NYzE%G>z>xfL%>I49gB>x3T|6LNa^hcT{h0r>?N;NLbN;ereY(U)e(VxsY(A(s z=zo+;&!emK|BDofH6`3~l1@3;2;+Tc-5CJCa;Em($k5I(?y`HU3^a^BD$1^a2eVm%l?XlzJE|4>dTZIuV&MJT4;7 zUah6mTa>RW8-c}Ypq*mPmhMb@cO~fY@3Kyt%Z>-oxJz}yTN#L-Izfu?8Z@i=x;w0F zZ!k0@Ag)F>E5?>Xj+{a#T`#7slvG*T^`IvH+WWNGvQvH}-?QLZWAC8+)VEtU06iLq$F=k_FJ#T$K$d0xj){j_GBFmMi;Bb|Q8#3F_TN|6UnUo@+xDAD7v zk&Q<#L{m$U!aIRfdq|K#()Ar>7Sg)UnX!>*T5bngv<(k64*ea0!i1@SLTc}l0Wcch{|!6~JO@6oevav0fsQ3qC~e&gFkr0J zW&(ZW69iz$-|ecc>W_BOE-r@5O6j*&`JUESGo)owYxw7zAqqkai2qm91luyTJExA@ z>M*Vt--zn^`*2&|3|TfloWzkD*6(mZlz6C*W+n7+RWF{F%h+cv7Vl^%Ch!~M^SL=l zPb9ZC03}624&|HUDIj>DXrZj0vaJgcsA^_L;=Mn~4I55F4f%FfVdR#KDPu%dI+k9J z8Xc^(V$G z%yo~^rVm=H=ZQs#k5NZw|KL%n;bpJ;H(KjoD5O+NMqJ|c1v3ErJ^aiKC43y^O;SiYrBB8iUvC1@3;1c{HWtT#W=o6IrSi$hDW?_tSv zP(&go4zKHP#vBhsA7@Qi%ujfcPuUjwqq1VrCx)6z4aqe`*HdEERXYJH9{haU(Q)?` zk=<9IN0yoK!|Hj5ZS~u!f+}!Oxw%+O)BY$Ax)*AF4}EU!PG1b`-uO^t`%b3kuvcdS zX~i0%q{z`qCrHF2Q-j?CtECOa>zT%$ww^Hzh;7`cqjNC9WmG6a1Fmw@TLJ^*n@s5p z*Ltsur_*J%bc5*kx(T04{g&o)`S0O72$x2+)xX^*IzqJMx8ny6a}gFMDIW_#;|7W5 z{kjh66Uh+H#cQvpv6x0cERPC8$|ReCqGiiT3ZHdxh0Tego>7|u?C!P*<>}C){gGvZ zYwedF>f=tj|8g}0Lr4E8iq4lLxMIBx?6Kyb=f$l9^S5JwL8C~&CP&NoCELo6Pemq--kZ?mauc(w&6d*&k-LzVr0`Pv zcE^Xv!;INk%WfKXeZd(k;r;q_J&wi_D-~8$Ep={$2;aBc7kmWq6C#TU8>9q00LksP zCpzJLlOY!)-RYwG^_c$)nYr`ttOd&Td5sg(rcV^Bd4K#=XWV zjTi%r&C>NpYv-szhimLHCZ4*hv0jq@ICbRCdT4J-r*b>k^f?2^h&(<`N|ZIH#14-V z`Y(W@U(Q05FZw@chp2j(|JP<)xS~LO52ebi8P?2bGtls7y%;qL>rK}5#f+2hNEFT3 z_-hJu+!|^OWhz_JhZNcNjAlwX^|T84&>zL8O_vzjO1^1di&gbXt(EShKVFyrG~=(j zP3*G1VPKW6sj4E7Bw}L69_{)nHxz&pT+mBB>Q<|(bkTC-Vj4ol17j<%^S0W5NA@XK zX$6%M`)7{Gdph!I^It)QHZZYr{0?AusWIHwXR@{$u(|2jIMLJ8;IMW`nNghUyYpwS zGp^gY>&@h7=Iisa&&y8R+)49@R%y|h8R6q=^$qTtC$2X0z>`dn&b^TcRn7FOphgS_K=a&juKq#S6EP7nF_##Nsst?yU6_fybN74!(3#`N*0@4oKH

    WWdY*yxvf`w_05C87Yw;&1QAM5M{NZ$WF~BKS)bYr`BO- zXKR|y;<1{f-rkwFP}5qahL%?1^9`OYYSOkwtzMxu*9#t>{DCq_0P(TOBu>hoq}6WIM1pSP$3bcjI*<7L-c|V} zJu%odM!)l(QZCZ?X#^L3;?L>g!^F0o;RY&ZU$@T(l5zR~E1GS*m(8uic*w5O8$UY7 z$*?BXX4r82V4?kZmaUzZ*`cU@xFFOYkP;KO`HSt6#u!?}<4NdqLjET-u)|R&5yR?W z4V^)|n=PU$q|}E5-u^-2YVe$4gl8@&w8&?%`@A4|e!#xhPC|sJ&{7Ht9Uo!A;^SI? zcHszOSiP*e;X}L+#H#1aS~#*h=KC@K$b~EOakf}rHccd$YcL}oUk$UU6<^H{ZaoKa zj3iHjq@}2OZbDa@D(E!%)eVpk$qDpfA}raT9Zk7hczlIOS8AifV{jTiFN77X$8!jQ zv?9nn!?C}U_+m!#nd+1wP{u&%oz5%zwdG7l^U(`z1NW?nM`(_L-Y~^VYczA+2JNY%UWm9UdKbi&Smw-ui>KMamlBie~46 z*~IxQWV(@w1<9)y`#T5DO9*`dM{ zwwQ`BC$VNNGvzoezIm~bcC86kD14#-Th;m#0JRt;Y2jXvE~V@3PRCF7Hiy|z109)= z3KPebuzoN)Ypi%6x$QTO!%fPE-^1l)t0})NU}+V|e)E@bTkNLr2MPacH_NFrn2GXE z!dSU8E&jaU>#~BBk?w-xM^Qa*o`GQFwVQI=Pcp8i$gy!)0tm)@d$!WjG3~98(8B*h+L*e^QUxk>5YQvFym^L91sA+xOMO;tk~mCUwhm&2QOC zOiM_vqxS*7Uz1V{P?NvLLx0y%j9S-#yWc(pV(!M1gsQVx?IX<8vB;o^?WrpIQ}uk< z-Xf6_1C*cN11|M>i}RvAtJPWEflQ1F2ED)4>JyamPb>Rifw(67j>9H%riD-llTK*; z^g(7P>*ppO^33^MGCk~W>az!5s$AyLKkES=!T^ITJ*^FtTnv2;FZELO&*K{p@t5-I z3x4Tl7EZbocohH#JrB!Vht)@AXXP1J4v`?`UFlZF*OXU@JmcTb5wEkYXZJO?T;HRW z^21KM927HVj#d|mkT7y8pRuT6Gbisl=QlYgI422myLG2~^R4cK=W@zwd7s_=bOkrn zO_oXrP47RU7s>hghtWl&s3$iq0?YiZ$svecVq)p4(E5x=?mmgX3yb33`7wNi2e@k0 zq;e~Dk3_2|e=EtbI!lDvqI?&L=82K7Zt!}~?tUbBCmCnSKQyd6$=ZAGJS2G#j_nNa zCh@8Nb;|yGI3`|T#Og18Sp}V-cgL-mlZ4w=vu5h+VeC`N)%y;oIkFy>Zg02!71%1p zS-c1@y;5!_4!$u++__bj`h24;#tpf>w49X4CS=eSzn9JD-br>Wh|^?q7+a%o}8cV+q*yi{0aBNo_zp|S~TRq(@Z%zKRF5!W{sOUS)j$F zYx6-mLSgBjVKZfcHvYaj?X>H%<2rT*f4`C?JQ{vf3#O7;)#QG{>UWxE+{^$|af+nA zq>*iN>;AE%8)3tn=I>1FMk(+KN=xkEP z`ioG|RM26C$B{3;niQZL-nDIOrv`a&AXcdwJu7A+FXX^bz((QdsIa(Am6;)CBEv+E z%WG1RjEyJ$|H%j^eiasR>r?i%bp9M9yjnCN2WI@C5J_#${H8zHi?*sX*CqXE6HMDB zS#1q(yx`zo7@1qs(qP&4HqBLtbCzA3sSt}R`kWzGx4>vZKYlW8N(i|(oMF!OFBGj9 z8=@WDm0U%fZB$fC)+A{LBZ!#sUh}LlU4bDS}0$MQzF!KG842!!IfIb2wmN zRFqB;E@1>w$fG^9fFv8t6=yP-fH*KOZlcvj_C5cZ2f}&Pz zAcrh@Nb4P- zd_GT~Qs#1mV_M(GK)k{gkbP}1l8eIV@UIbP&VXsAPtX#oJ7$?cy#~1}k0C}v^v=7N zDgB9riSHkZh~whBG(97kuc%O`nH(5xJuNI|BJz-i1Un_YjSgo?REhtcvL^Odtgjbi zd_+R2RB6FzY_OQgZGS~ZV`!L%*e#t6(IUP;sr<7IW$ygaDrumw)Agk*;7*Ulf2fXB zN>-Hxun;9cAC27>{=O-s3XVZ+1z_u+p9Y7KwNk!CiIGWO?2Er&3z-g}%nHO}ksS{* zBH=X^V>20l&1*6OTG&-nV!*@Eo*sRa1_E-0VGwGA7i9BM11WdQ%kEBBI z7<;~91TCFtkyG#9RJ9;KcmN2s06I(=T|uz0p%?;!FuZwe#Sjfi!kGshT|EM+BPI(O z&Zl^~0}a2+uO04eIThOOON%r%Cuzvg_Xds07%E%Uxw=0EyI-~J%#=^-$|MNWa&mB= zE~(ZuY5h$Q= z=1SX}-`s5{dIp;@M{r{on{??8?5{3$n%j3bYgr2PdHx9H`EB+4PjT!+B`ZSZ95F}Vp6J@u;YpsX`#USw*%aGvKOfWf2Z;Y0C9k6hOn?TQb|RW42(qH zWN98AIASf3qQUL$mX(!O(413QE0T?|GuWsopwLAMM@0bpKhgj2t#xE=?Wl-m+=M`u zh|V|m3A#p4rRA~M#7x_aW+I!&ux zpYOd9TQPpx5&F0pG=e96tK4xRuP(gd=e1ffJt61$@mw%z%UemMFj-wu!+Giw;z85v z>oH`EEXxdFLlB+LQOX0-!Bj3%mu97>JCLzSgbP>x1Y}O21Nht|p}XZPl_Cm`Z{5S1 zu0<4)`kz+t!TtE%Q5$&qFZ0cL@~OpD+YU0&EE%WN-> zyT_xZ?gsuUYVL+|D4VyJHdOA9aZd6)s<|lgfzsnoMpBWV8-y=v&WQhT^ zlM_<_XR@>_Ia=~S3Sv;S@x>Rv;~~+E)d@74g1~A;FuoateONen7!|8HB5n;p26Ap4RftjEMA5+s z?gtD4A?^Y{1kk$3AM;Rl*^x%}8p0ru;@dg`!J~dLS`Hj@-??sI!^?{+^*0u)=Z+D{ z{8aEmWMrRkEdKz}9f;k?PjyL^k-q9{_p)EV>`E|}76+t{;r(=O_tD{tew+*{!)SE1 zx2OC0zTi*`@iOWB3Er34$-n5ER#Jgi5%S`kkvX2v(>JDy&f+uAxF5oWv%z0mzDgd5 zOX;Qwk%+rY9C&}1`r_|gyGkbusZ_5@8~`aso$y3}-OMF@?earugT;^m`EK zpnLkShm_>S(5#a)kx4}>f!R`_-;HKb#{(KhN0GLm$URXVh2sl|8)5?JDj^)CU0OvE z2#~zV=Sz~McKFAHwjE!&@P9tPH!>)@U+?3%uYa$639*_`8T~{n4?$mJQ}2s9X*C+w z=e*Q!BgU?cyR%A24S|s=P^X1UsvA)c{*=hn%QN)C?yoo=9~v1z6CP+hDw5o(^CC%& z#8oUcZ(WiyvSRT50rX8!o&Br4{vxe6xj;(n5{Xl*U@jzn=C$#%X?8NvdY?dz?v9c> z9OkbFq)g;)r3pz+EKi0^$ABighCt1mTgwGG%T?L;UKiIhJiAf!;1h3V)lE*!F8xVM~-1{+AN4~Ft?k@g|oXR)CT5;~TbAj|U386@u-&nuCYd}=~ z9zxKn^c;It2t73XYt$h!(<#0OYXVF<;Yvjk2`iz~TH^#25-!7lpR)%nqf z8QSIa9X1pTEcWU3olP7EA?PqE0RFn#+^hJ>e=LvvbWv{KS5(B{cOPjMS90d*o+C~|(tz&PpZ6}Ye%myzO0>1Q^nM$ZvnxGPl{@SCbq$Mx_A`S^;Ot0Yz2SN2iXU{i zvbAH$xAwMq$}h8=4D8&*$yR{PZ?i32QpW06v~)F(uG$sB!eGKOzOxnP z;0)i7$47*J9KB0<9O)1ERL;&%h~*=s)!O2S{Ouxcaf3Ve`Y^T|D|3s+P6#jHV4~Kb zBOJB#*}SPK**34w=dJf?f*%5R+rPK6_-T1xPU$NK4_4jUTxWhG-mloKJ%tBJpgiQ} zNrgAdGv)`{afw%|899|!&On?i7Mfp}**jGR`Wwa*yZgkFNd(RC!|+(@B2-hFt%F7v z+8)k&CMu3!b;_BUnd%uCVnxzSMeY|pFF|Slaf#?%LPY* z#)esK=f+MUnu}u>(ZjH#57n5eBQ1&Mqu?vL8q{`v>i@|cWJ0*n_BRh9&cp4*>SUsu zbNcr{)qPSwTCHksndGzMoPHybat^o+zNICKr(WIj<}&gdIuKowo}4GRG{4D?cSVAV zJXFfa0(K^D86Rdi_J?WUEb-gl=Nl;Hw%!gAI9^%ebS^=LyB0;s-h!1-pV6K~S+e{n$3dO>4p)#JK#hm zKv640C^hpxdV?#DO%v4JE^nihD4)V|nUD`Mg|U73jyx$^6h zg){KDaIu(CRCE`GzVDZ$yY4?09oUIfj*+WXuFQi2vvJ#GU_}<*`vr%@Dm@vw=gJ-cuuT&)x zGtxh8LF{dB!dy1pM(GsOh?nPNQcBAE9j}tE*UMLS9pq`+v9+c~S{};tl62!~38oC^ zA!AmFqM;2om|Rd8tULP z#QJ3rd)x-Ai^Ff1T%L{ICm}^EA@+}ht0rX%I1#1;U_Cw6M*~u1DeLCJscsL?4ouwd zRIdI!;u-6+Ehi=}k6GMiO6J&~08&@*Kx+)M?8ApQ`;5=sPK`?p8Y+(4hc`P?QVM`o zQVAtLd#AG^Ao`MSGCMU>SWNoAAj#_g4U)LC0ZlBWr$CR~yS4{&3Z)N=$gWLaf+v<( z$$?KjDiaae^zXv1P|1rzmw>^%!}zDDr6(~|wtRLD8gDb((>w#F4Ci^T>FqJ<;7?Dl zi-d%fsN4q4=--qkM<$e$)Du3R7cNw|yjl7NItpLWiCJ=;ahqN;V{}(ld+z}+#V^%* z-JD#aaf$i)0b&l)TJUme41L|tM-qm>@XFz6SeYHd zBIUgJBcXDQ#!;d@I3Ye{G#N;6lyr5GS5UVMD@q9|>)7EluFZzmv8*ZWry+W`)idgt_yB}7CT(19DH4!(rJ5mD@ zEDD3rV6r+)k<9?+M%_M!1Qop@!>dU)#@|eR@{m1vkT%zV=l-UJEx0^VFRb;eY&fck zT|gINy`pw8TDudMK_C30QiTwBLPFgo4gn$t8DcZl5B`yca`YmHsmfX@qaPfKd{f~C zvazIh38PI+E3qu4AAKQCeq!km&~`U0Ti*%EQZz8drS)}!<5M!=ztAoAuljY?I`g~b zcXxV^R~;f92ikOLRAFpfsF0-$9xr%FLq_oYbAv{V%)7on|FTmPej6_2d4WJ`@7|wE z3E+pTipAAZ(^M*1jX$Fp4`z$@UdNeGKxSI)Bf}*sOW#B`LMV=A>Fb!bB0BDC$yWRq zI$x*G>jf;pz}nEK56S+xe%?{Q3Mc_^LV|66U|&cowV}G(4Pi-nij7WC_U(mz)C98`T2GHncRLeUSn(lt6SF`% zPXZ$6W{kk%2_zudSu-FTp;Vbemi9!Y+lBMv$mC{U6+DX_#FoNIaJ^0Z;C^&J-_9Kn zd-Gs86Iv3R8)elrNDL69Tt1WlbG6mDEk87qokvAX{H!th_O<(MYKb^T4=w>afG8#( zC!^;x-7q7w6RW3g;pD~&XECa_Rys1y^Ldjd)%^SHys@9@ED(q?94pP4*;FV|oYSkO zoWx#A{?*Oi$w|Paw7lTBmR0YXI#MK4(kxMe1q&s0H6(0on?U)T*w@){fj`1pkw531 zt!~_WI^E=g+?-UQz&4f5BJIb(3cbkb!q)5xLqZm%WX-1A>N9S#Af3D47OrE4gs z(_yw%6GYYfsLZXK6QqX7I&lk4Ck(0$)BogzaRUPfhHje&-CDYj?iiGw7>S)20_h;H zoL#C{QJP{4G@e3hn8Z>GQVf={vaB+#W8zzbZ)ox2tj3BC}Ji@&}?dc zkS@PgJwKv+k7#QJz_MB_Qw!{CZFZTsX9x;(_?=@!-8sP@Zu!X@?I{P)K1O19C8}`j z^jUTm)yTH8vpIni0jf8W{Hf~g@rsci0*0m^$r8Q{%p-TbthZ8OoBMUs3)|K9zN+5k zQBXz34lZt{H0~n`grjiRSPy9n3lNG4IY3>ru|L_ZV>O*elR0U@GY66ow-NfgG9mMU zUXG66bgm*-hso#T_ZBf06J-C$hq%X^@294e)qsYlbmR|yae5GR1PW-V;O~c_LGp3$ zDAHV;N5DWtFe!LGea)GKCs)msWNrpAK}8&ZsU1?0nxeb^V_&7{KR^+JQWRU5DjY55 zJKnaVQFy3?$!(fH(W+v6y=dX`HNI@;Tb9G@;NZ_DByPecX)d@z;BE}ZI{1y}yOfep z1gcO$k}ogct_Tn&1U8OooQEdbFkoM_5>83wxH~7P0m`9We?(-FNh&0~2|?b_N|7r> z$VNH({$SEkQ`*;Q%!;OIuUqT4bdBNwTf@RiywAUjKo%XgzUv>bidyOKp(9hcp=Mgz zF|EWIOOQ}85n-oUJgY@q5?HszU618BgF82A?lgRn&7*l*zeh0RF@L1%G`cvbgM=XoGcVLSECHlHXV}ok zpVJH)6Mjm$_3!kw)mf_kyM^&ehwATR8q)!{MD`E_I;{oza1sv#6*FZ6_=^6k5xg{- zLB2=i4v|G=d0B;;D>)H^dO{QjqV)xKD$(?0&<}EXJIFykVeOJdd<+OlPTT*WxaYAU zt1R;Jt>o}i6OgQG7kxum+d!%hDD{r0iX!_8XeOtW+}P4#R>M&5iteF^hEKsY<3BYn z&c7k0)i9Dr&mw=~rdN&izRlk$KhG5m-FR$IyX-$RD{5C_Qha+Y5`HA;#wyPT&l}U% zXR^rS@$JQ{^iL8T-6p*n{cd&4D^D02sBhjV>E&P%2pdgQa9sbr3$PZz$4EN(^T9ME zaU2>Ambf-~7IsTiG$FF2QpGWLRC=cn5;uf0&Ym#5M1tVac<;g3Ps4~I3Ab4!Xuv!l zFl0Ou|AYi4Ji{c^>=Nr~H51lwwgy|0UvB)=v$yqeXj7cH+EdukMBKRRUO2e3^oi#Y zN*;zzm6^?WwZeP?y8XbwBs7wfjrQ(fvYyBpk6XHMbNA_W|1^e}c;5|ceew2f#-+5` z8!q|y9BCE&*u8D+MzTEAQc@dvgAgyAFD&GDtT&2AJ0wt6o*Pw|Z(?7#k0RP&jA^^_ z?&uuZv9i1pxOV-} zR%uiwasHtTDyT9O)iN4B&f53EZ2r>h>Nyp=TUJgK^0yXPW7RBw@v`a8bc?6y&l}X! z*y^>;b&;k)h3YpIy?*svvP&4)mO}#`f|S$~_`v!fz#8T67S0>qB5w^gwRY5#uCM2vt9aMa|&)QE)QEiYuLF{1=O^(q}!P$|k;;VSbIefD#IjBUR zOE8%^kzK3;B)X9$>Xnxr&Gdh)K3|-O*jk=WU2xea?jLw%hD`|s7xA(2>^M$nEAimq zSxCwHywyw91YfqRL?!SltfuXF74P11HpUk~ zXCj*k&O-*xUL*W%D1%<()gm(I+G|$-51>MA&>mC@4x|X~bou;;7t((cC3^j`wq*c} zHiWH#+&oOVR67ew$rfM`$0U&Y1KJ*DlQ92zFNK;fR#20XFqQFgvd_hM^y+e-NCa3( z!PY00P)N;&SHaexfo7Sp5(Zu?Jhvr|F@t@bcE?$)>JD;t<{uo90Gt0w6wiOSDKLmR z;8KK0>m*d3eja*!#md6q+3sCs z3}kusBl|G8idK)Gz!-uPpnXxbp%!Sm3@$`YVVkiiWx-imqufz+Yx`+1&^GTM1Jb*s z%Tq1Ml^Yt09Ik+Q-p?inJk)}Z5tbCG(=f&?gVWJB=;l)SgWum#@=+DdQWD+%=1H>T zL%GE6i{FcGSXQ}c0?rYt?N=B=BNkj=qhraF7{0y>!PA+Q;)^<1zvy52j>Ns!@tVH!?DAxiWgprlPXEW-bQ(!LP94cpCL;d z>EJnsIZ`k~Il&2yh-@dQz#z$xfPA#Ri^AatImk0AGD)|UO&+C*GbS0tQZCA1?Fg+h zH7KW4Pc{VWsIQ(LIU@Vcsmo8c+fDlmIbVO@a&)s*k5u2Bzh#c zqW!y*k^`#+P2MjbVd~`$IIkEt-AX$bB-}nf; z&P-g30>zQ|AK@dhMk5zaLGTjaG5O@zptSU+3GgLiaf)Jg#I9a+xr%_xg;wQkRz&a$ zA)$RWIb&s1R|MdJdHLOy2Dp*M<*}_dvxa_0zXE*C_2y zU4U)M0bkJTQ8TneP_tz(S^VtlDFO)5=47srdpB#aPK0a5<9I7;20gP}FKu?X zpaiNotJtYmT)Nh7Z4cwK)g2uQP#9b_v9oT(WVx5)Y*(@tmwme*rvVj@W4`<}CxtZWt)Rn}4k25S4e&G;ckkB?Yr$ z0LWCZ{=Ey$hJmd`f+l>#!e6R8`C_-Ash$or)fXctK=iW*-z_mI(1f>=frBE@&>zsh z?qCR5*_4cfAxj%{p(;{58X*9`kKYBF6Y<1^D)#}o!j>51RnePKTO)nyq9)-SX#C%v z7}fh5>Tb@PL`~qbNz2(SjG5~mzO4;|aoPYX0mZ}vcFy#d4G5ek*Btu?_x-~WFfmX} z{2_hRx`cH~+cc6SlW3G72?ClpO)uLWQ4mWOc#Gd?Dlznb6m7eSuBu8?M~~63IpsBy zAg-&0^oQ~kqkJ?NV>lZms>6OtYs;%j?mQBB5lh_TvO0|)*Z?dR(n8?8S64jWiX1d6 z&ck3UqJac(ga`C+d@+O$$6#OV4s-)>Ya%4j*VcQE`PFeJiCChIz#z^7xr5H4>*x$Q z;7R3y7;}6zyU7_=I-|kke&7<38{?g=%&0!GLSBdzF1M@75S$ej$ZS@%4v`P7#xlc0I;$bZo1( za403Fq-M|%dtN3-Bhp(qQA`0O0LmMzRy(3*o^J+QmoH;#)-aUf)R1np#y>xgz^B-e zwD7jSkrrPc+`{2#h|aYs`&R+s==!`stg$KT3uD@VyQAWnTOphyajqSV_U*$BskV>O zuQ0^C4+A2}%@xsnb>mp*wo7cWe&~Z)tw9HX$*5PDKe5HOsmxlxoC?Z2m^^Onq7|l` zK_w6qpGs1(Tr+HNW9=+FE-pTuuxqpLQBSR#<7lDbJ@&8u?=ci~^xKz`AaE+#Og^iz zQ@u4;_3ozYg!e2X<^7J1#@e3N`X(mh!-d(}?$-W1CBfI3$%@ks5Yr3ix5Pgiq}*xy z?(jv?@teDB3A5A#DDd^o(@-dtVRydIFTJ+od|oOSmq)y4+-h|OOk-W)Lp;BizXRAQ zzFnVvw^Nvce%_nitw}w%OC4m34+I+@lq#PR6Rsw4lA8^czqGYJ37nz?HJe-82PwV2 z@o6o;ZpVH3ZcR~mW}jZTEl=n2{xzAQRXhLMId5O-Ejl+idA&j?C}?m0NJehGZ|4gk zQ>oD=1AL#|Q4bOZ?R#-gqdPob1=k$5$HL6?oRZ|HsyFc5)R99{TYqR07#{y=tHX11 z49=H0LU=nGknp{0Jpla;Epf=AYiD5pMGWYF?(_t$nn>>g@-xi1^zv0Xoi&(B;RUc+)NKK4_HI5sMt-8AUS6FSgA{9jo18tmeWk>FT#qX4 zt3liZB3??Li$hV~$DHd|@Y=5K%jYpxadEPuD-yF018jk;%w)0oq`@6Ko72~u*26fW z)Q7u}C~+uud-a{m?h(+3gy`$ADw53Qi~~Qh0UpwwTO|jZ!Zs%APbE4;M zi~~xvdR2MH`Gssy6m53^uJL!5uY5IhrC2u*9n+3q+wC#;szyORmPgs+b>oTCs~e2a z#uu_zc4_FYRKEG~-XF|V!|f{|s98XeYGd~++4IlUk+<(<#|eCah_jauc=60B+pGpB zwx?J)GYgv}g>HkDy_ee;`%+Rto6A=HEm<>&=ToU>UOc?9U7J|uFwrR3V|@50q2C$) z;P$!0i$EhIl9&q#|0dg(3Y5&#IKHh`>)y_mobbTy%0M?SZ38b21jxXYLPiR$OpYwc zoc~QD2=WbuG74-LX3lR@gxk`3NWiFAuZzk{<_64g!WEmC5=QwWi^zXFg#^O}GgXEt zCX%9esPtE7VbKdugt|mWe$C#|t9$uVVdN!R9Bh6L7G8y^RS4GKD(z@frI>n8R%CX`0JN5hEIHx$#Pirkz??|XwfUC_6RuKqM`aoW$hcw0Ht=u{ra9f zdpU*a?5TvBxrd z`#mg5s75Yi0R{sUUVL$Wou@#gGB7_A5GgUj443W?$$x9u5B;q52Mk6wiI3E%hNU`+ z%V8MlMaH33wotr;C?y%k06L3f4C6;6yf??LxHr?Wpw#0r`CH%sTmjEe0lqYSJ+Tuf z^}r1w@zte{yNphQd6qBAUci8|W;e9RqSK zoOmvArF$WCVyWo!7z=+Nm}hxUv3TW5WUQX63|$aW-1j8Itg&BTUKE{vNSn+~d^R5j z#Our|^xp_5NOuxwC*Ds$3g62gX?FJKCAZc*%|rMhudp+d6S3cks+i{fE7)YJG35)hSCZ+9zJj19JXG7sF0veJ`lM z#27`Z8VU#m!)%5_Fq{IB)DT2hDv;rXkfrxT(U_F{i=q^)|Ipmob&q-zbuqcq(uYg0auyatyKL=FPl?4bwzuw=-iM&) z+Ik0)&pPuD1;TW%%HpE@I-A#j@iHmbc-b5igggI=@zQha9c08rblxsol5=d%Jx+6J z%qA&oSF_GJ2(x&MDi_A2ix&Ew)mwZ%jzqYyp-)e5mEws>XcNAnq1e^RMB?6#2WtL% zzns_|!zmaG;sbjRvR{&i9F{8TPA$<9wWLE5;DBWXgl{tZK(%c11ix}P4~dZ6YW4DzPXg`blJgN` zeM#gKh+h<+4_=~Z;He1lnB4qYTP;9+Mi#c1(fL7f)Lqp7ki7p@8@2!c8{?o;H4VM1 zG7(Jw)?H#IP=&`El=cU^A+o`7hxK%fEAaA+zX`|)N32JI8 z;usFbVo+7vtz)yx;(Rx&@?b=AoPq|3S6S-wj?2PvU9MHOL?f=YI?pD{Khe?#g>;a$7==l7)q45dhx7R3%_1 zbG)~yt4(F{G82VOe?IPe+0vgnJ?HpXytol&r6*y1Ugq{BF!6qNAWnbJAnkiMr)iYu zpQw+zv0q2&Mk3LW6+_QckqXwEF0$=x%wEqGGVIY)k}=`XAI6Vcr$sNJF$K=z_v}i3hi;J+L3Lw2^0|NtJH<5tL$5Z+H#30`x1$eOg@uUf1&5FmK=saS#my@#g z^toMCCQBEQi~EHW0|Nt2GC9@wor2qBHs8`A!u!W$Q<+q}MVW&P|0*(pZ4NV&-+l7{ zFF+xkwS4=kIj!$*^ceQU+4Ahn$se>EK@7Q4@2klg402i@!i&o!1>PgD_Knbx2~Hsj zE~6ErW`)U2sr%o}@?hGq!+XRd6m<+cI2~YibpTQZ(BXL*8q1avGdYug`OFr&B6;q1 zmH8AYzz|RE7~T0p40wwJh___M#?oSf`q7oy0^oJ+nKLAxBWe}ptcYoP-_O=RlB}yN za;Low{=buwpgl?8_mY+uCIjw>T!o-UY9jozkg(f{;J}|FjDYP5Ncqb+zDX?H8M*)j z?I$Z#WML(4E2^_@jSk{Flr9`LY5I;mru0!dCL#cW9|kv4yZUkN{` zVd)Y?PFz~M2K(F;3!TP{(S13mFK=6SQ*h=GnLvtyLSj?(ZiX9j`>d*(mJZh_lx;Kt~vsp&aS zs$_VE5aemf5

    kehn@Y)swyK5IhSlQxU~5W`m!h&Qz@j)<0n((n$puv!-f#!?WXa zz}v7YmE7mnSx~}R8=0FRuk=UOy?)qQ)`B@xG3$gAIW-)jw0$3+ia?X$ z)RV_)Q&rJm#7_~9{XqxsG}Ot~x%WdXY63RE>`f7xO4{Lywj~TvQBoXb z7m6T$bVMdeI@sn`(5q@2lvaq&EJkuS?Z)J6?_-5MYvmZHCdR?N$Z6W1*Ly9#?Gy1J8 zQ}`Hc=wb-iIpFv~;}5ya5z=QP5@7$9LHl~F2=SML@J>a-#o|Y(^>dCw?g*Lj!2RjO z7Z>*ldhBFpw$%+c>Gt`o`me3pvk7{lR&9HpFxXXrg>YD?BI*T_PO^4 zJC$|mdjhDLpr6d-ad}{wW;pcrk4kD~>nP9EZl7vg=hyzmE;PmNO`}gQPGTc!d4UyB zx}IJ-e=#kmoZUS>b6)mSYt|FlY1!$>YzKxTkg;#Y3;9_WN|owH2MWHLZ+5@crMNdIRvo5+Hvzu%$qWv^)Pkmk3Wr#m4`qPrZpSCOo32r_?fL%Z%R->=81j_r)xpNatgKo9`)1hW)Ei@rm}C2Q4xlm1<|>wC>+@D6=F(M4qw}=s z7r)CPU~f&T0bf=-i~DzX1wWspMC{&@Q_zO$;Q+TnNU00(D7T6VHT$DxTfRHZ;fUKzOw1GB=s0mcRNr@|nhi~ck4G>RXoxrp3jxZS7Gi#NOWmmlc9s z*9VU!PNvtJ>jJy<*Hxv>Cy*05|7Z}YL9=2sGIA_Baw0lX9-nLW`SP zd+m*Hiyf{xwK!b>vd$ zo?LZ#T%or*X8?Te*5AulJsuJx57BVkFCeYzur2>mRV^wnk~{lXU-`PxeYOn506imwHpuT`G z{ILcnL8vvzTRm8;N2HF}OUVYX+j6;I+n96<>hJ2Mk^_RL)0kfwYO1O$th&yNZ|&$; z=T_&xMs$>ytawcexP*2e!vRVe#eR+UvmYGj z(;2L1sndSE#7tU+N&>ePE%S!`59FH?RzP{0sZ%HS=1ZR2nSlCiC@XokoR34G?RxX^ zNdlV}L5G=E>(FzgfG;C27dJikL&GFgC_pSqDmK;k@~zXKL;WJIfY14Da2-?jcZI6J z=hbAq!O?biCoLJ3<$cUp7$dA43qyCerIN!{h>e7(ZW@z^vvcEOP$Lb;B(-c9^xM_^ z^+i=VZfbT`0-lafxrL#Ft8q|pL75Z;cCJmi`)=2C&*`l^UMgD~<++>cBYs!R!eA-b zV#zlwCx?~UbW@}NXSqlMoYv^N&D-ApS_))Q;As4K3RbYqP~^-vAGG`I{AVufITdzb z_Ss2FM`igs_^!tXR16!kKYj=>sdy5V(8S!(s&_uzQZCWEvesXllOp-VPJKpW!D< zV`E~HKSH682c59)QB)0=W9ItnV=UOPY*jK~*vWmM{m& zp}d=p6NN^=@%8%J=6QCYp>KInHR|F6{&G82Vc`-k!oIY*WA~oHh)xA8~)c5WU6?| z-pH()`r?SXtk&cE#zVpaDHSW!(A)>C_HM@z`N_%CtUScmZAVgI0FDy+-irm)9C~1E?x9`iF&pwunfi8y9bO&l0GTP1C?g}Fsl-+ybsnsf>SM~5 zY9S11wH&e?febc3CRn)L`!{b(tnw~hHiGw72XF7;&aH4?61D!q$OJA`@F9)5^zOZ% z-zjkVUF-GxvfJ?#g`I@Yv8GA_CL1A*K278=vDh!7OYpfZN=oT}oJlNq^*=`}@`Ev5 zjY%0-IWIm^bBw~!rFAvfF^+Vt)Laa4gNYm<1nh~C()Fj<2u4t1VU>UI^@0b|;y79% z-jwO{rW*w36P1akRJZhbd)jdYVHlf@vVpwGS3{7`Gi~u(JCDpFzQz1j22G5M{jHSN z{kJ57OC=w)8bd!If66MA2ou_Z*IYh$=r0X_jtE~;W5TdwJtlZ*91FTh6`w#a)1F|# zkELkjgUWcQL*fXW^leHd8>~VoW`YuY@{>t;Mns-<=niH}LSE)AkUv6jXPw&=KkLKj zVNU(K)H{jQ)$*}cOq0*qdpp32obuK)-WH*56o#xtmZQs<6_|3Ga2ejuoj;Nd?D>c1qAMFF+b&|2zdb^-LUAAF?X z3pqteY0QOv8J-a7H_&Y9flzF%{uKI3tXt@uQ`ZAJHZ6Kfl31w=lFJM%gYJwOxWU*+ z=E)Pg;Mn#by~e15vleoUpQX2+y@x_oc@cNwf%L&4@ow;-LUBUyod}{Hyj)OsJ}dot9R?%hP-gUk_vzZZ(^(&&RP-iMoLbJ+00U zVWKG}%@;iE)FiWqw`@(1Nl~M`T27|&Qns$1KLEE?ReZBd`8Z8;mJ8yc8vK8{BqB7q zxi1G#m--bg&;e&f46AkFcL@bUyE+Gucx^J+)C>>hD;mmb^%p@ zEyrRSE-uTxppAbk@Y+E9SjMwZfH*0cxP^w=Sm~Xy(`j1ch~)Y7=S?3S3qYPQ_v2!l z9~zeB>%D`cX3hO(63F4V{}dj6yDRW=$-^=(9z80j`P@HO*G8pTR;TcOR@FH%n4T!X ze-A)xU_mWOI_&N+UN4(BBkVF8d!unxQCa+WDsfw8ZT4w2UMB%6@cdSMyGp1kGMd*s zRNWU$X&lRUqi20!vy5@ z`n2b}jZfXYu!K|o{Df`w^}3I&S!=%d>Dawy5I!8>P3-qQ%|PGrpO=>>euaODhzpl; zabQS7RHKuJ__hEKZ4M*HXc!y{KLq-&Zt3W268HuBs({}tOUOd6;cWL6;&$Ikh)Uxsf5t5BM_Q!G*d9*Z-=be zGbTI}HQhcPs?=M}Dm3l$&NU2IJa^^`)kO4{SJSZ*r1@tI5ea*DMUW7l5;G={F0tKD^q`+~ii z>*@}ZwUhoV1K6*&`tBkY8m7B@pT&gVQx6aLWdaoj>0`>1UG#PiPqoSGF=>x$9cGwa z4Ti@do2mn-h5RqxelOu6loh87>D5LqW|8+w)Cw)^O|CIG@ek|EY8eY-4ux|Hi#eK% zZr=Op^f{PH%0?7uX17U(i^UO>UNKc$ijODRiPn4{7>QF$*VPtRY3#qQcXrnbn6NF; zy-p-`JS{IKPK}l>D|Op_{q%CZhR*oXsT=_EY~LGQVL>HCdN_R5W=Y1nww9OmCPK|f z6Od~-8f$53@#|&lY~2(iRx;*uv>}pNc|Yg%)5gxH@nsRnF_q1^c4hx@6dY@&FwvqB z)$=kQO5&tcg|V5dtF6jQ&c;DC>mtZ82LWO+c2N(3X9bI2#((eZb9C{pI)G#Onw=C>vVc%`dh( zY(l|BN3mpMZE=Nn5#RfJJ~y6RJFxn=dTfk?#Cjud1}uNfXQ7z?M#UieFasLar{6D| zVi48A1+4C$g>4*(E&kg!AisB{;2yt6rKf);+%O(rx?55{mQ#ZjiNV6`ejXN9FL`MR zS%8-+V8TLBiD@c)u#T9j3}8P}9YM`fN$Kl~+f2e{-zZXDH{W0evmBt1Y7@r~L_b0( zGyKy&j4%_L7d^FHQKyuSdCkLo0z*~U-bBKg(1Sv|rv7rbbl1mx+S(ePtJ5L!>TR$| zsPn!`gcC1W=JURiEkak?S1-$5`a9JkErUva(g)jtn3KTZ|%3!v)7P&~y{<=YmJ~qhD>OXXZthsMJx{lYBU65`{By5d75= z66;UK>+wtbp$}c4-uX9LA*w##X5j2=ljF}>I2=hjQFymEkDch7pWYzQ7I3tpjC*w# zU*@HO?&#tdPAUoUCb)4SGjsw_uxYJo8I&CR5|+#-UtGHn|mG zayQ$L|Nc0`&HGqEvYn8(71DBuAqo;w!-!8&i(dC`Q~z(QaQrLd|b5vfyd7&8Z43Z9dS0fY%Zu`Ft&(0CN9d$(rN zIza{Pe9=u7jQJ0=#K+%dEI(KWsc;$n1}%w-u+Vu|A|cL8id5pXAy|qayT|)gvcBlE z)`gV}iqUk{s08EX!{UylD#t&DhVl}%E{oiZQ^$3j&PdI*q!1R+PGdyV9VN(b+Exlf z15z7Oxb)3w1!eG^DLZggSef^jW5aKFzs3Z%61uIcx#4=WBmCz=|Oqb&H6F- zV}yPZBpx0PRS*Lk*D^`&D7kM}CX|;Rfx(iq+&@I^xsJt?uk>?-Wyqko63nxp40AnB zB>c8f33d@#=h;q<2z3manY_-^hWC5$ybW!j>BfIXW^B4&`C0ONj)$NtubyO)9P*tZ;{)!gj;IZ?Oo zsLXy*PQcGw+%^7m7n%viTccVpqkf&Pm4%99_U^G7BMPjeW1^~QE<5gMZ0a}xJU;v>FuQr!Np`>O z2d3Ex-)9S*P>HL?m#=gAERv=%-Cti~_X~t0@07Q7>H_y)GK(>2HJduVHOR`jcO58s zH5HD}X(OjejDg6SYVQmG^ly@_Mu+f1zGWeURb*%=B!?pa*(1NOL1C1!fKr-42z|i) z9kfhO5?NF#)_)Wss`sBq0Bh!rLDHmx{c(a#VnSyypymDZ-B zE(&wU?<>5IyO-D^?x`$y7yMMW*3K`D#@#A1?SL!>k@+GcmXrKOZ%gab_n}<=HO&mS z<@de*cQiKn>1szTXPho^{HWYx+CoLWZm!_-XR75<90(z#U2e7g6~7hU{J3ucZM*Mr zeY*3(^9^b|Ft>@Do7wqQR7-B6;oGBv@ckfhn!(8E^IiVTjRO7CQ0-K;DZ0J<>_8#K z=G#IcHnOgv+2bfOQd$XBx8v)muZipA-W~EqeN+rut;zY_c=h-z`}%n77tQbtwlQyq z={noLy6={w= zjM$VnB{Fu>vx4}|!2bCrVE>uO)x_vanr1?WxA*MLr&Rupi<{R6%cl8D z7iiokA`TA3rYz6*~pr)%P*y)z#_O zJPl2%w{PC~(aiZ`qIgLtuFL5_Aw}w;g=+b?m6W&D5JIAs$8_gjN;5&WnvI)#AxRZ^ z;?*Y)#i1El*Td9n(K(Q#1<32WoHQS8rmSpOuWXq6IuGTAkmYILHweE@EpCdK%jqg= zDg5wR_~=D*&YWn3Vl=S*;$D#?b67?mt(A^t@$I^yqvxx#Gt|I`KnOTpEZ0GAs%XK_ zVP|ik6zIAWP2@p(?&C03qIFs_Wf+x7b~Zk3_i35Nq8Y6!Tz^_{v&~^~y13ns?s@IY z*3t2)@vXguik*^+jrIO&$Yv>tnv#z3uv>MF6|e_pIdmZ8oH?}mJypG!t=oKy!V%bH zFItzXb-~wnQ2!B$m({RGuqT&cdl3G`r`jbkR0N4j*LN#?pk;oXSvgw-CCxO#T{G2KzJ<1O|)5LNlD34VEtOR8?gC0hvmn9 zhz0e?eJr!C8gMF`%gJ^&o27@uvn$)q##J_R!k)GXa`6S_+dTQ}t|n%A8z-)?15?M2 z21iW7Kf;po6voUocU8Ck+*!wu9H#BJUVnd~75k$?uRnr_L4@B&D&aQo@vg_R;LO=R zt}B0c{ulF!kM-|T2LU0f_spMQRA5>m9B`qvdiI5H$^9xU-}Ddhl) zC58vVK~anlnJ74T`%WYQShuA*S@=*HImQe8k?s@dZdfm*@oHlj8d8^{f^H=<(=$V0 z-IOBs4!roouq|@##qCMf?2a%sWF!5^S@A0Sj9nLlgxN`0ach=- zMmYOcMrM^C-0r!yL)FkiY1R71Rctdyf*^`ao~?cwHVB)V&Y=`PW38IOCA9=hrXJT_ z?IchI;kW$`b|dSmbZY?YV1oq|KQC#qxIhsm_ag8@>>bdsqX&MaNu+>V3%v7_pn{NQ za`coY4>g#b(FcHwu)07Ba>7JLB3c6;3+Wm2HpNWu@;*@3)UJk-Bmgql8|MYU&nfI)VH zmbpp7PRv7D%1alS%OI90($kcJ0*4 zK=RTTo=Nrx+#@k|f#DgRE<{=Lk8{cM<-3cf7XGWxWHM-V7%gMhv!LAielU8bOwoi0 zq}PK9CBY}HC3N&m5c+lekGc$o**}g;)OT48Dk%9chpTNGy_7MY-`${Hv+a6?4;DZC zl2XaP-m(K(u=!Ku^68%=fkJMM8nOqpnEf+R=1G5?b~@R${R!ut$m&UD@_5W8MT4cmHl|E30UloZr25@eq+)`wHBp@VyCsX^5Dzxo*sC zf_49WQc^afpsE~syr~1|`usUi8u9Nr@R#53nVcCzrcpw;P?Fhy?&_o{mp71J-ud`Y zH09@OjR4+;(N+&TO~o%9A+XzqPXy3B~;i_zC=oqGD__vSg z>)gBHtK=H%w^ijDfv1_vm(|gl&L*I{N1$t$ZqpT?E+C42#M&14{BCeLx=?xC^ku!~ zuwcMJ!+j(w7de_&V|lUSSu5NDEa9xW=`F)i&8C)il+NnPpS&;Jt~`PZX$ALk%-S?v zplG%3KumfI2zcVvALLO9m~02$oKAK~>(E;n3TL?{QK7Sxwgd1t4A&@(tHUxsois2kl~2EfC0WR09dwNaC?Jps+8=R~7u|+VPe~#oE@N zlH;{KdcIu+KlTu7ni@T>x@gS{Vw7$oIYyjlJ3CA@4wnSSTf4Lyz-G+=d z5U;$|XZHa2I7UGx2Dh;#Sze*{9Pw$uf5Ox#YrxUtZFr5xtNFTU8svjc6&{ZUUNx&Z zn*QH#p6A!An%36CgI-q$5OHKyF5Ln;@|Yz_Qd&&xQ7GHoR_{6V7>XBR7!#w>^xw_?wEKGyfGzGeJ8 z%*_!Ga38hRd(V5!itC=Tc>jkMa@4_CvrbdCP0YioBt|~MZLqBp572I7sv2xAo4IPt zBsB6f9MnWp9OY1;tJdTEQ+YQ`V|#0U7XKSDGwo}UHz~n27F%qv7E-%g{*KkQwY4-$ z1u{(AeSVC!5c=4UMnRLD;czRVW(l)CHPviznh5tT0p&a2*AP&PEIqRmn9L#Ui4Axst zjh?U10q&_E(UVXIX(z54@=Go0nQIaU|F|!g@X1W#OXv21Elpm>=&^r%-((vUYbeVD zvi+k3%Bjtv;*9kKPoRUF?AF#jGuC|YrY-oMUINO?Maj6ZP{z)*I)41J5fDQ1h?zgf zR#T)S4;-+K6fM*W#xA?neo74`o;A>v`nr#WSNxTdhK30Z>-ChZfRk&-3eN~99-pND zdq$jM%V2-nDE+5m9RPJ^BhbJ_?OZ|^f3M7-9;b=$GVq)hc#`G$?ypZdQD<$~S-Abm zY;-rW0sp43-2B)8|KUIK_4#;t7SjBdI!T3-&PTM56(hR6>2z1aU`NBV$w>r1Q;ptG z97VLd_ECISZhC39>>sg?A(zfqG!v~j6)4vfoz2&6FMvlmWk6=(!63r7zJNT<;kU_EIvZLbc`p?Umpk~Ok_-)PC-Ns#!OazPoEWtS} ztk&eTH3RkyKfCjr?fXD^=n*>bK74grusC+{dm_3lFTW2dY!|95X-R!|9GC*-Of$uc8gMj$e=Eg5kQjB;VNW$@%BiNFI4G|^vRAd$OS zVQ31BAq>&5|x3DV5jpOZh)$<9^Gmj(LL_Y9u+8L)62dV5I&B)v} zr|W7pRlp~P(;4%a=afL24UU}h&L}%gg1*G_CYe!0f9fR2=8oXWLY_Dn_GVjU<_Ypx zDX3c=;+`*A9bU@VwPC?R4b-A^Re|aT{3PxaXwtZOywaR&jbK+(Rdh@F-A`0N&JWRk z5fjP^o@3iPM@nX$6O(C5{P2@X7ds0Flgv>;V21F}DBTMwv>8nCU2a=*FhNLXJ2xZco z>$4i2(5azwXA(?n!VBV}c>ZN4rP)z|B)Kr`EkuGtK}}o;3&IfGT~%C$sVR@O)hS7y zzYDc6nX288;S0_@x0+Mln^E0!F_Y_k_+d9fC0omS0JqpKqq_&NZ`JR(QoE_PNIX8B z+KZ%DV&XOUx;eORbo_|vDpNKP>NMb_)t8eCSp-8MVWkQ{9cDt+7!A@OB1fUvAtQ?z z-krQ58xJ@Yj%Vbi&WeBuJt)yQFB=gm4ZRMC#%3&pkbQ56v}ePMl;(6ts-gm=|Uwk*C%!+SE(eWYHMU=^j3{^p%a^1y0xtAuuXUhn-Uc_} zhL1Vn9mpGMT=uNd^&2zq2<*a8N6e+SAKh0pWkk_umd&ExJb^=sa5&W`eBQ%yh#J*p zMHy#q8n$HO%hOCZxE2ac->(%0Pa4kMuWcsJ-d9eV8Z=tv?-m?2^L@_LMTC%`KjQ1; zeA^D!$Y(OwR}H*fw*aer@4MLTes{>xwi)aN;0_O@@cDOM925^f`E@qZ?I6k#>dma8 zQs!tdn*2bLIFiL~Gt+xnlY=UW!se%DDXXl0TsehI96E8aWBu92EjY z5j^eNZ8)rheKnk2cD=luDgzEDvl)p6XiT=E&gHW$4xMEc4NS+o6W2C*`wTeFUhFvw z_=eNmUB^zo5!}L*O=dQpbK>uSp(iBVc~D*nr`TFrnv7WUBKAGsU*$e0XAf?!?q1&h z=CTiv#Ji;{s1fGF5061w-0$V(Dry`MA^`=ZYGB(NhuPfCJHck%$q9Qn8fHHs`}sCO zHP!aM0-e~XEjuUHl*k~ioSo%#2hYTt?!?R0l&05UVguv7W3F< z)jRk7OB(dWUn(?dVyIc~uyC^=!osGM$l$LdqTzE8MCf|cAL^T9X();6JbZRJ08mptEV(%hERU~(bSgFPH+rx&xEb}A1)>`ndEa8`#zF(0+J1-4it>>jaNUwM0 zruh3sSszA|xENd7_l8;ee<~yZ&U5Op_C!U82n`yx&Pj+dqMX&u+3i)twq!AwOOI4D z#aI<>NMF!?jm{HH<}c+Mu%MKb!do9^!;py+Ppzz~q^L>)jjYS}Z*Feraq;_2=D3EM z+oA)IV}d@T*4Iv^!%o=Xs8|P(sl^8vKmYn1zLI23NycFa-wUVyDT7X2N4Fk(4`;=U z{dt^=JB(pk(whCv-^r)Pm3%xcq^Dr&Zr&ahg8}_)uVMnxPs6Kg{2X=(Kbt&&@h~l$ zm7$g5b;twC-@=8`wEQbZ^q9vTl%D(95S_r+<#^BYmCksIETU-8-5sQjQOCgA!WA|j z@4l!@A_rD@n3727GA^3$^Wu;UhTPPo6hEfMJC&icxRYHuCTel7%*Q`ERaGYhDMdE3 znJnU+Snxn$*(it~24adILX%jAB@8FE+BVJpetv8F@Q@+~Vkw)p6jDagXyKxnnLHx+ zeB>#+X)@L9dFkB5%-rnNe!F=0#X2n(>K4Z!ie(jNYdL>jmaYPmTNpBU?bb>;&2oVs zDlYdSml7P;+`2jfy>`D+r*e(E{=khU%Y;Q_x}_3O@- z?M|T6w4ak>>V&Nolq78mh^+3!`j8FMnQPbHSIMBV$&aUgAchNCUo1hTrPYf6v$2oR zPCbY3H#!0CBLyihk@Nt2+KrG-S~_^c+VYNY5r7gIgdfXs1|dk#nzahD>6 zX^IzXQM*vVaXlTtSUcI=2p2PlpwU#DhR!8}OvwzrHB=8`+_BfVh`2q5iJPQOyAo3zg-^ zPKIT_@vOMeY+aC?@D8blz}u&y3Ny{T44#sK*9xpvFWWhj^S>oieSeiq>sHuXJP}WB zyw_KcUM6NDiz8Yc37?+8F4#OTtD{<`5svl71 zkeEsi!-}i{xg~>SlNs>fN$=Kxwj3mh#X?XiRq8BhNi5=29lnK|>(pk;Lw}vGrLog_ zdX|~)hNdw`7Nvv3TOu zG>A;?*$)539n|M39|gAIyY{8p4*uw7acBC7^!iTBgpI>wxkS_>q#HKyjOey1wi__#`w9nzC#+ z84uUw_=AEkQw)`9BiOs3ZX7tqPt4-pQP{_Tyd2$aFcpJt?{MaK5m0udeX=4&3GERYxlRMiLR8FlT=fAsTt1CgAw<=HYc7?_Xc?)Y}ZSKMWrW zY1!iAwYm$#PK1>>DAsu_6gArO-#2r;py9FaZ0{`h=q_siZc0Z64XAgAkt`1L>Ons9ZVsdvg01; zXywbtIp1W8|G=f;NQE1^;)?Hb%DMz4PQn!X#EURO+YFx?6%ts6>-*w~FQk8@v4&32 z8s!D@gFj-~Gp`3F$4O#V4P(_C2ZH`o_%-g@#J_ot9MwS5u#rn}@wqq`U?{!a;Vr4qRfcgv5qCU+8my z{tvNV7HJyU5e?+uDRP><;;VI`92Ph;#H#tl?5%r{M+tsqTAo&ry^H)2*I?WK{X*RKqijFd8vg<6W9ZX$)n z!lvMr(BM7i+QZfTwF0t?ZHCgh8Dl7kP?M1O(<-r#t1xZM`SXzji=M0w4IO<^H7Vy9 z4~8CEz3#RH$`sx*tpo(l;Y5soV?xIHIj;qj34JaZSBrPbBUf&mJu&g zDee9lcr7RQBB&MdPn3dGHEPha)4vu8cg?^S_9%)+QLV#bdh{YG=!jlVu%o{0>`_@_ zDp!})z+2a?Dk*-ksmkwpeBCvZi*EK&50T#E zDcCL0|0cHE1JI+p?z`^&aaY9R2b^}Jwp<69Gh$_Jb`^)P&=8*+x4YbI=<&W7vDQ^n zn%kRZb^F}b+x{F!r4c_UBIMG{jNhp&wcyg+Bn?wy#B$}Ki{0qhvC`98QAcK6&UlYc z6QDKc=$?3RzXKOOh-mP8J8!wYd7ji&Ynm;kU3XtHyd4;XzzPI(*c`rUgk)t+;o&oIPm3EGwkH^TRDu= z4;seUzWR8O=B$ND$$q-zi)(!lw~Uw$OVXgVe{MBf_wpA3h?G=}YA5+8d$`NLMjU1h z2}^`VM0{sp-?^zS>TJFG|dR2?mVm&hw}gY8Og z9}i(^SPXj@56zt)M^*4{vRaM(Y*>AMD4)F4`P7`3P+e^N^!VZ#x64evsDE@1JiXsE zL664wzX^JedcQy`9O85^j^UX_M;;0nYac7|N);BOspd8bFN~+p)*MHHuFOC{#psR?6R^$V4 z(!Q=A$#(1)@11_*M{2K_zBSxl0o`$VZKdO;{D>|k1YC-5el*)S9Kz<-Ru(3iqc$z;v?o6{3b7Mm$YaO7%mA~XEmcV9G*()Txo+D$@hNzz={N$W zqH3<5!k*YEV)>_6*d}y%(dMgPos_AdUVMVFu4X zOvb|FCPP*OUs9=F9BW=m>5L@rJ9&KHBa3W8RN%eEHNUhNIZ8~5;QFJ&i^0S}uCD|# z8vtMrY(mTiKLM66|81xTYOp!~A^%56vi5cHW+n@qM+Il8-hzpPi-kLhvEv0v_nG(! zrDW74Lm{O`fU z;=(<|QpM5=0jh|pIWuFc4ZpILb$$Daa+(h*@;n}0%u+Vk72GgL7S2VwJiKdzCHV}d zKIPG+*y+t>Z8ov-Bvy#H4waX3AO{$sZZ5C=)M?xZxbl+s{|8m?z#ZxL1&vN7wv&!+ z+sVY%#5N|jZF6EL6LoA`6Wg|JO!D^cfA3oNzULEkuk);3yJ}bMgEa}V&x4;SIPlc# z^?FI~Gc#erOGcsq;=$xbP%P1NVUnopA`T)&yeRb`jspu{=oaC=k=J~;kdY!EFEZiB z?Myoi-oVD`I1<;yZ1XCkFAOsc6UK@gBOZfnz&*Xy#82htBtz-je|t1Wc8NkB5aPk1 z5w^_GCmPCtaYs3`KRr{`^@z~zU1#<%iXk->5i3ht1hZ)00G~<#5GmTzfrhCRaVF?{ z_?@}&aCLDCU#~4g6BC2Twv|$M@p(S4v9^*AUW}A7NXfg$@jlfj`)EIJ_|KcOT(MNF zTej!X0jU}6jgyuQS*7y0%KU-`Nu~nRKP_9**E@WQ;2SLD#;&jK++AKv6{xvAfr2bkxG`d1cXQ3<=#p}o3CpYd z>%Oh^A9CkiF|WEPdT2zfmPu3aqGpK5pu`W?oowTe%A+UwvwO)vFrekj-lW9 z$5QfdX&yoG{}O!N(` zeR2l2doBm6s5gvSv9xDnUH;s!&60XkZdgsgK#pJ4_ir7+HpQVN9sKBvSSC8Vf`t&7 zm0~|b7K18<-|RA#kSTO_XlB5OOwF~TuCdyxy<8~^iYec}Kbi(4r{XV{Lfc;62zGeg zuj|BH25$*%vg15}4D`Mgr)aZHgK=7&86mw+DHopHn z;sOOouVeiAxXJE=)oA?K9%bN@ytbSCaFQu+!uIoxkz;zuT0?EqqR6xV^)sphFn@EBIoVNxTc&|bA;e?AjuaMk*8hJ`BoPJ%J8a#uq$4Ew)&waQ|9(~b zycf4T-QiaNc@-A_-JG{a)q@{B^KL2y@(tfd|>m{&h44`B}5&7J8RLjN$cmvQ|Cj-?!cTRhN&reM*zCX zMUMP$vGR`f@p`%JdEDdLCx6h}uhRzX6(@_2?}x&in~Y-Om!<1?mX@AhnMFB}^y8Th zlRxB=2DbuC9y1*ZGLqqH^87Xp2YP*^lE}H5-F^vqBdb-uJzs$&_l#utk(j>|?54p2t{#gyc< zvo3TR4jxIU_}r{Fb(-uN{BDCQ^RrNS^xQ(85>q2fcXghOF0@}pObJ35DU_l{@!~-Y zH#6j|MANwf17R#M0Rs+k3Wj-kK{^B3KZRosKk+|&{@1%-Ak3T}W=A9+upc!EfppRt-rRato=y9>mPZsY(Pcyd>W%4#^3(Ur8H9 zW51L2p@4Hm*Gcs!Xr_d_53+U>?$tsmLuW-sfJg3JF_QgGj4(t&)Wo?cl!{1<_)$)b zH%tiKk&Z%(j=4aHi4{|C-plr)rdfR1{B1jks~30D5P}#H7WO8#(9$<3+^-1ITm=Ef zSh?sgpD<_SCLAJ4f&vM!l3En}`-_*jp&_f`LTkD9syft>*Ok5h;@Gv&n?O~gmY_MX z*D{#tT>IMysR;%B6m5A_|JjZ*+9@V4m^!eCz4G1`fKF38s zIN<{37pJ^k!vG&Nn>t(nDs?Oa=)9U9Lj5EO6IM^PK?f-xlH7jaAJWY>obTj=4){b^ zfk6#+1e&hngk|zc1zJ-|HOhQ|0nv7{9(5F|wqX-en14pNK$(v2csoGxZSj=`GH5i? z^4wIjT{`41Z>@k$nS>ckW=3Au;~Y%Z#^gea?yj5xfxYOUF=pePv-@_4Z;$EcYX%%K zAw_8k`5$s)XBd~#<(er^*5CmNzY42v3Nn7_!1^u%N(T>qwZ{*t>cV8lv^;?)m8y*{ zYt-xby?D?!n;5vQjdG^D}|urGP^9kaUl!qi&S!S|CJTl{$RkpP5{EnnAxhgw#)`K)C6Ge|1hJM_G@~C_#D6(Y6 z6eL6oM2|&y5UTp*{Nye|{m>%U2?@AE#8Q+|=glbz+uTq}ia^8~%uS;Q3n)aGZK*d{k21JOvNg$NzQL+|$!8YW|JASis(AKNs?OgC%++M@Stf zW7MvttGv9T>z?g-ZpMc5^CZ#iS2=9O(uIfHqPf6`3v@_2c{>ZgvH!1FCV&>VcV(cF z3VJqU_~EEfjZV+`;LY#W;o+&dsNoU9_WkbZ>D$*}d%KOVXnSA3+3eftsx4KW`KPPy z`u67PFE7KcHGZ^Z10= z{MzoOeTU6(3soJ#bquRNSRN60o97QNIQ|kyj3jslDH;{l-vM zHD*!6fNn#b;L%zY@(FS0DHBpsR#w&v`)utx*lip7opU42JG=2Y9@_y@1aEL{dzk3y zKL&a}5>J{|UN+SbH7KNH+4{jNmXs~J1OA(afE*JjClN<%bm~=lZ6E5qC90}KXox`t zh5zrtC1uTuiFABgYj0LCI7x2S>N)NG`sZu%BO)`#tA?r3XSC72QqzWA9|oA0ZK$Z| zvXr*W(darNHk$usBOt^<_xJr=R_Ck9O;IMu`RE{VJ}S(@qErEpSF!r!pX+CG*BUf*Pu1O25HednZlBZS zwRxo%PAjX(<@@V&;xI3-;b7RfN?WnztEuJrl2L$7kjZ5DWtU(xkh}D;dfg(Hc4E&n zuKhWD;S#pl>pO2Mjg%t$&GkF^v}4cLYufV_LyfIvmEC2v{jH0;buJ;Q*s2waj@-@} ztyna$zVZR0|I`lKo3M)*1C@`tRMFr#r!Am<9=+RZxpVu|Q;(T`Ch&@E({p@*WglE8d|ff;*VP4*r5zTMByB7A`Q?4HlpTyL{D>D8mG&^L`G9P8! zA;FXN?5Jlr*=}lRtm0P_Q5*$(lZX3dkudW=%F$zFe4$sZ<^aJhfr~nOojd1pw*P%A zxuB0>o==7v;pjU^2p&x;3|f8VSw0}*o9=RomFPtg=r&qTD(t75ka`5QY|D+PZ`uIz zMz_D|mafvLl^@xMDkF1=#f5LZ)?ilOX$y@`Z+@U7_Tf2Lt2&;dE(V;yq2;IuF-?KVz)MJre1j@Cw(vjO>LoCIdeE_~f9?RuL zl14BP`O9*dtgm+pD`8&5huoJ)S(^oXvOXk5g|v5VB>ilyX-A}^aM2dRngK{loc%wh zHCrKUtY5^^KN|dX%2U4l?CB8BKVWB`cRhx+3Z~epvUQOJBulpVzXSMb`-Cpc13H*l zY86Z2B-u~oxl5o}*F`pTcD(a#Im;M`!DjUy1L1MRYU5Lmb39UNNhqXh`t$GkAK-jt zmV>{QB4IX10-ZvB03){d^8d2DP)4L8zoU|245P~%sf7%d9kUoV3e4))c0{q4R6lV7 z4ALgkAa8h*y8O2diOjgP{(ONtfj-JtRp zIXxESQ@9TfX?(u`5yuZBnnG&X`i*(?%4)k)1PD-=N(M=tu*NDv25!1;t%z^h>8I+% zxO{Z9cb=K1&Nk!VPFPk>E^~rCgMCK(wdEooUz{FYd1y65EaTr+i&KPiHF>IquQ@`y zVkvg~NH=fr*sAvWF-nE|U#W{5Ss&sh{|2mB(XfpHl(^_75ekWo=%UJv^+NN6zN*^E zCGyk&7XC}tr$?Jj3eSK4W~5ZiGo6oqTQ5s*z#lhP`RP482@J_A`@ADj(Cb@HO_pc? zfZbRYEXSV@d(cgrJZDgY+d}8gbX}dy4x!1#?NoVeY=&o(H`GOSAShahOQn58SZ5-Jz%s< z*#OIbonD;1B0%+_)X`guRQ87y?kaxlY+Zkzg-#27EW|`Y@=vRAxpH#4OGix^v#PQ; z-qNR~Wt}-_a>wa(ln)y2*z2$g&<-|V3!=sj*=6(D4J?u2&|F1ObGSdKE;MNfKD&LB zq8MvM<=OsPoAYcKamdTgiHa&KDVRJ*)|n{T$Zm`;jCt_Vk2g9;>Y$(_Qyw`%BC1|{ z+=`S^-Fw6zI3d@14DYA0dk@lD9%{2WcB5yiz!YE2KXzh8hpu(k-tTEKmUgwZR@1{H zIIr-@VaFltwD^qJXe3!;(o#NH2@lrxa_Q^iM|t-5LmJm-jgd?_tZw0=tJ4%>pL5%! zUjK`_T-$;??lhHMm{CC#hsm#ek^{+LrUvdOG5GDk%LlH-ANNkV9P z8rsr*u-G$^M^9?+@di4Sz~>jgHlyPi=Fb#zaW5Y!K*9Bc`mdoGc(l3dUm5^DadD0Z zvHu*VYUu{~DJEgDvtuQe75#>Oj;17l$6AS*e96J@Bz-6VSgb;7*4Fm8;StFq+rKaa~EoL<#Z2r*2;G=e{ z`N6#E<4DxH(P^Z4Q#&ICQFP)A%z76-;NLSL@BN*2>tP-cEDPj<2}(HH-;=6-HV&M@ z2vbJ!B^ie}3F0K_G46{A2Yze2z035~_B^iI-`g}4#UVJ|pq0aixuE|Z?l9=m;g%x! zrJeFrPz-%$F>|h(a>L_b;zCjsDVoR5M(Zer@0(2pPu6R4+{asmAK9A)2@e-ZL`y4T zneZx{AkH%9M;KTCrJ1bWeM8HSyTmmDI2cO^26p{MvEd2q-nnAc`d!(C>@Tk0B8#7X zwUS|1<#Srhp#6Htv<-ulU`4^yQlS7&Uebsm#e8p{U7S)RX>iAPs04%NBL?YFAY`>b z9nC}7GraWVhK?AK=FX~V#bgz+iz+ogkF=AQ2^Hbe{aAfI<$5Nn{XE5|t>tvW%>BA| zUeJsIFcw0#kayyrNviaEkw`KQLQ=pNW-dzBy!jns0_hkD1hY7rkP3noCq=8b!XR8b zLLO*4Iu9a2ArH8{@p|!V6+nWPWo5fjgw|*IY5T*NOJ|1~6|A$R9#h61qZw5#WyEjL z!Nr)RHAYHcg?SL8eD>K_af#7V3SeyJLjJ&rHSI`-{21O5@OxlzCn{M#;Zpf;Ib8A9 zw`NR8Sov_#_>oLCh+2w{MHzdLSpb~6VKgE2!kDMI15~J90*TY(kgol|t{w+U&*Uk= z;ak20pReO{&gc4?)!1>D>6vBebcC6e zPGoY<9V6FxANMZ6Lb@W_X1js^JlLBZxYp&rRMoStUuUsCI|&gRX-Y3F{#snweGDh% zIfZTWq`_X1^ZsUSbEe&9b)U%q{hejja-kv$7fbBYy!qk{7J0MBQq}0`m3Sc4ExwW( zE0~0d&&-f7Jtg;M6H~VP`5fCPkeT4B!sE{Gb;>jPD5fiB1s+(zhjL#MpUcmA{U4sJ zqS~Iub40(jwzl%jSD!|@h3zL@X>JG!GXpC<+%Furna9%=`Vv%qDV7ZXeqM==x^MT* zXd3-jg(?a_KJgjibolezSiTwt^eWBAqXcOO=hfQ678$y*Z}6qp2k`Lm)vNsE9d4m@ zDypiYilBMWe_-_Av5JT=S>5F+ryqwPo3-=b`7o&RvK^TcEq(Bcv+!1V7v6~;L)n9o z&MGYfR+c4^dw2FN*=@geSd_FT>n*J{=e`Xysx8hEBToL^A4VYJ^U`Dn+e~edwmaW7&b3%A6Mk+ZglidTRy&(?0zwr7WCN;V%laC;?a7m`FLnwYu;TQ zZ6FMsg=f0{(Hm5n#yI#oH3qS&Uhk}R!7^zzdhbHf|9wnh|_YM{wU4!ry?CZ z$v0?gRI%xsU>Ud1bM^bA2N{p&?Oxxy;9thmht+>qKVFX|N`YV@J=ZFa{Yu;2OJ|mP zB!u)U@l*5URLF^6)h+5jTv#kh8%_V0^Cj2jj^m3^45F#++91lSe|>AVkE;NTR}*cy z#trJb00PfDcH*^OwLl>Ni{s<$JUdXPCXTD+vKnaM-gyT+Ub>YmRJ^8ciwOuTz}r5FnW>u?<_*SZfGI1&_>9kATRG1`$f5hbUZ8NTL~H#Tsa4 zW63yI-s;iYE@$9Vq27HvMJdoPPT2YN>DLQiI}31m^zS9&IRkq z3`4AZ(?CDqi2gIcZ`WZ(2X7bWDoKhNohohtjOmXQU5hPGVM?;aH>cnh;eXRTUO(xO z@%i?ViM_%(j4NPnA)l$z(eDt;l`jvMm@TMKrvJ&P1umju6d)WdV}zo&yesTp*3H}9INQE&5oWg}1f?wSJLyixkcd?fim{-9XE3^@fD_;4Y#X5u1(^&kgV>Z}yyL#zYL6svMT z@Y)13gd2KxXU^r!-yfRnYp6}610Ce!5IHzwakJO!glf7I{%=NJIAGWO=D`AmYw%PG2or~Z9t|Loh{@@|X0_zC zKsdw3>r^rq;VPoRD#p{MgD$evx-o?e&te-WFoA2m`c3*0oN#))>*T? ztFN6C`A%=Ehk%WqZXD&P5ZEQg)Cp@M6%9P|WSq5MiyIP$v2@;^6_*U9PzR$GhBA=q#r-) z(L_BAQnWvAlPcHG?>;e#H(1!d4!}N*U1%(9e&@fzbNrN5s%?7|zdBBIbrO^&{5tS6 zqc70kV`uAJhnFApPK2TeJ^o@!nWgCynE{B0zE3fPLe}esl&_(D~}>K0OmD zbUspA!Tk>;Dq7++`1xznLAHVRFhl0}?k%c5qGwEO0k`pu_*hy8ZMlYf=f=DdyWEBf z;MFZ6UyU8clv%G~qdCGZOgx=N*U0n4QxeIBus`|R%Nqe*+P2I{W|WNN|KAUvl#L|2 zRr|YoKn?LxZ#TiP?y;L5keg<{aNnmiV^fODZ;AYeB|V-|!Oz*B2XV+G^Wpx8c7~CPrxK*nS-*8~8g;USTg^#)^@! zDle8NOPc#z4DIbXzUm2l8VLLwZt?q^9`w+VOIqvjou|a)e`;Eni2M7eq(gPF(Ur@) zlYTsgD9!qxAxaE!1ZGO?boE-}ZWnqc_WC6j3ni>F4ab(>NdGAERtq!9EqWTn;zF|* zzh9V9l!Pf_QW<%i8IkwPQ?tT$oUfVFw&Dk}(V;no|ChBae0Zs{3PLL-_Mz{sa|4sT z!S&U@r0H$s*oBdfoOvo_Fl#pabLw2fF)2)3owr?w&!mA}6*bWT7u8_Nl9%>V3Q%hf<$TnJ|)4wv^W+A7VTs@#9q%Q^0V4Vv|PIds=LynI5(#++f6>5@+B zmqMQ)O-zH1Vjgr;gxj^ryqBRD4SpjD*ZXHlbBb{5AoEaVBnYN_f4ET@;)(R-6EGzf zhMXY%2@*?8BPRPMDuxo>2gi)um8&7HnI^p@Lq~d1NCtx=BJ*Rc9ZZ@PVO$#p(}eR! z`3a0A#F!EcHR>)izIfl83BJh>+>pV9w*vEEasMe-Oq@h=I5c4heTm^1VdN?_wR}l- z==LU7l)%Xc#uXMIxCG>M13oz3pcv#kJO(u6G*l6yK8+KUA&(TTh~z>9>Mty$EXebb zB13pr+8q`#NKV-)2*QaI*m)U6bxWcrf^QIi8);OgS2^i_Kx{J579#o~Nx2h4KtaQ-TQ1vyf7R zlZ{#JcVNYdphWsP>)=M=g_lM}rI)r?dE+J`9+I@BB0Ca7UGW)lpCos)7~T~kl>tHP zX$rGrMys`P2@b5CU^`YH-U12ATN}E?DSE=GLv>_`J2T;b>i|%dedmalI4-c#V&n-( z1PAoj5WDQ!4BA@i>m@1HOWn}h=cO@SNK0BWC(L~){K2`ro4^#Ne|TZ#os>~X-yZRB zQhW6Pm247F5h#u>*Zwue_nIl+lGw2++k9b}{y6PfHtz z2>ZFL>z?oEr^QCEFs#VBT3CK@TP5GAwlkq0d_lY+lMjJw4J z46{=uBqVg1J(rt^m%Pu|%))#o3kGx1Fk#$oYFuW^`^3fDqNS9| zff0t1kHK$MerSyX^w63h83!W=h0#NqP23mrIVoCX*UQnB#`4wd)VqcMy`h^q6Y{X> z61FMj*=5OC*woQd?nX9-)mglMdZP|ur+?y;%J$6Rb9flCY@Mce@*_DpPu|x)7ncpM zOJn7d4W}IASQd*d#`w=~6BM#)iz=nK9i0XElNsoOH~K}@1^YuB9bd1*Q@Q#1IIC7W zO~(@+rDpoKCz$RA2HdRY{T$0pF0P)zYw4yII$=g9Jb4+MEK#&- z;VNBz#YPMlTu?~*f9Y6~>d`cG0?NvZZ*KP1Elm417~>JUr#+v2U3u-^*51=ZUv1@; zos4W$hrI=3pqN!ATv#zB)nHSLw?dv>HcN3p@#!>U*+nHp&XviXEA93H zmQgEC^HM4#;L9KG(#sa1&gYIEFQfNvR<&YB=CqRRm_H+g-M&x16BjVR85>4#PJ(5l z1R3xzlNauH8J&BQ-hO~T*d)1se}RX&G+XDQN?j+#BoNCyC1|u=1QJGq52x$m3@=X<{;4j zx{nu>Vy6>2@7{CFbQHu0xh0_;)hWiTcp~!ecyP(%l&I+0+Q*wPgtbMfvAY>L6z@g( zb=3&EIeA~>L$zO{6p0?WSMOp%TDMb&Lncj6x-XTp5~gaSj#Y=jw74by%*@fzaKq+* zCdQ_x;^O(fDp%FiG`26-_0(Fb8}F=!q_X zjDcYjfJ-8jdpY6>Ys4IyKt+P~B$`ZanPcgtjreN^3)tPvkPh5L6hH>?8NfoKP;RY@wMUeyaze9!P!k$dd5Lnj} zu1CJ$U}<5XTKY2s=Ej(f?f0CVfF13P$TgL#Whq5)Ms;!XV2`F2$5w}7Nus=(W=ILJ zS+OazxDeI-P9au7OneR?zi~{SQP#r3#ghUP=QrE|y|KadLOkqWhtXeN(73gzxgq#C zQay&rvr{nR`LIYD%wFze$&hmV-~qacl>+j1DPe6P6QV$hO#BHLih*A z>jN{I50P zkGaY?w}1^@E=TqU>M7sU&%4k3Y^G*+Ns*dF-|qY;&{)DMo!OtnCH%%!iIBX)|5`(6 zag3Ld+va;VHVM2=#H|yI%x1+O4=(zTz!syv`Kj(5c<7Uf4C_E6np8Q6HOwPQ zpopjTVUdDMkOs$j;KhOYv+crWu7 zk#^c*^|mn+wPvQruPFPDfoMi_tfQ{?=%=O5o9!q6wO01M1XCvIE9+5 zteDH@YLVBfpuzd;DmN?VchUi_O_v*QWzWCeE+LP-;!Ad>xngQAy4R8IRucu5*Z>@i zmQto|p6e-{61}Y}AhnzQCIbm$U5%NXtRqvqA2rT)Qrdo|z-EJ)q!2#c($*;*j}0B} z(2SuLkS>9Qhvre%y~Oub|38iZEC4A@AaDAlmf+*Q@+wHCAnNc`0JZ&~Zr@klj(cl? zvn*|#qDiIr?oWlhu>MZhPGjcdSTC>l&x-TxGy*WuKb{MqwCx9I zSBS>wOA0m)#J&12@ok({BhF7yZNNT-%7o0F(0n4Fu5R;K0&VxVvhcklUN?s*6 zMHp%%m(Nt0*2h*FG%mg%cTghHry?0FjvYIJ!Y^LdST9R^>S>Xa0{YdM+P5nYzH zVLS1isAMj@*)4`sn7rZ?o*mU1FRrE%P(~ogO(%4O9GdQdjiIW~!;IMIAMm76P)L-t_2V zD4HFylu8`UUlcbu!~JjmLh}n=CNUU)v~6nbKT?U&69CMt;izNAmS_$ra8s*tQs|+C zW><`6U3-$8ooEVY=*X7j8ex-ftOOY@d4am{LnY&hWDB;d-DI_XoKGMti#T+CDkovt zc`L}?@EQ|sP?*wEx{ydsfQb>>*){Pen~pah1h}gqK*{lT!kI(Tq_z*)@6Lo-17a@~ zj#AG;Avom_i!B{Aj4dXfMf68$pFn{a7(1x%O->f+!w{#$mkFav`;ID<{9u~!k2c6N zjx>?jKKx!|VZ`C$248X=N(7|{J>Db@KfE|+-sD4u8Ky&(Ll{v{+43if=!1w6EZ(jI&n49uI~Jn@`BqqbwOEl4d6_<#vb=QFBn&M< zcVDu|Ed))x3_f<_tV=h%u1HYPK|`FD8Iw^gv%e@Sx9(c-jfEO$Wf`b6Zy+8uTa+iT z%{^%JxT|O+*Dz8T`y5COmaO38{Q!OZR{5Z1hVm-1EgV}~-29uS9zwZI#fvKIXOR*V z%DaX)hDL6KAZZg@{`%FSnsWPlrjh~IC{7_S!LUfy#%#23~Nr8n888~Sm3TT z@mbobM~&Ozgb>6#ujRh<3G{fnZMM53OR}Wrp7rDECERw^Fy!!*CuAD;7XKUd87ZXM z{+KHquO{)RC)IUq7g`&uf4Vh^DIXOb{mdTy?J)k4Yullwbrn9~YQKWp8!NRGWp7L%Av%PsMD6&y}iD#mR~6s)oXqJ6FTwY4;(ED zj~$babl3Kb!!&VXriK_$jx!@rS4n!R8o)|8Fj0$TvR`>VV6*S8byK9K&R*{-Se?JP zWr<_d z#tp&_R@-$h?jA%{JUb=@+=rF$zNI$Bc1HKkoU;vsY|>{k zE&OE@!r{~Q%EK=y#SEb&Tt+#g#R8?bkIE$cLMr|1H1gIV|HwQ&)>+q!HOITBRg=#B z3X;>%Rt0gv26`#fiL(g}Y@Dvk)74=C#sETN{4}xJi2c;0RZEjx_9VSw@_I8dKy#%5 z0Xz3bO_Mn-Mk`$EJ3$gKY+*XdJs5Zd6M3s(6@y(NFVqG&TQ z(WpfUcD1Oc@LT#+F(2N8X(qzaAKY4so?lTAMbO$hSp{oSrjhZXyQa*B-EkxdnG*R)ZOaqkyO}6-dxe=- z!#Zl#-`N=;U{Z;%dADg^o*_%2L4GSyj*!_Pb~1C6^zlO|(bz0vBvllPJnB0#VGp0} z%kVZzm|7OJk*pBC-!{QU2FAfM5|)9=MC?|i-|*rQeh9fy&orXiJl9SG7{15t1Q;g# zsfEVuV|T?e4wm>vcHwn#f?~l+EkwVhdjT%$nPoWUEX_kG)Y}rX9z#h{{FedMUMy(qAWo72kqy$)+L&xbQPoGaufk7X?ojtuMW+tsWir-`N-QRH&T_Dd>gZzben+~03s+t`&(yD*YuiFg0n{E+PS@U>~&ZvX~sVHJ_u zkeS%65gc4Szct+x{=2h9>Uc%BK*Pn$ohqB1;|M@e>311~cTO*MCv5wg_mEFaUWfO0 zTsGkUx8|aGbUM(qt+@K5hEG-Fkw|L+0+bi{e~z;>XGL~i3c0kg#hVlVG?!5|oJRqb+00v>zk8oTHzWy46Pc@Ko@~)K-I;ywgvNCeB5K zb1_j1mE&&%tg=`K;<`UXLAe|T+kdMWuoM(p6gzI#bC|Xp`=@y6mcnkzI@eMf&ojL{ zFE=3_{tLFKuayS?vg*8o`6|7r!Zq8}&dNVpvOyVhsq!gpII!_Tk5kpbkF=q2y7}1; zFYopSzRU9CtS_G@@PifB(sL z-;1r#X)UgB%H|m2uJv<^3HcKLfp4Pa5}@zK9(;+<6pYGS5M&i3PsxlJnZB(;EJ-GgHjxZRGAXOlNQd&n!Du` zziW6xB<1@U#0C1pZ6{8iaj#uy^lo#vL||{>Bh`*uID8-ho&rar%jw->Jqb(K-?!JLnNr* zLx!#=Q0PPXg(pz*Bek`4i8*3nKkR7dL|iVQVvPVHP^+dZCPq9H5o6-LlT%Xx%P${- z)VB*Xtr~nDm2KUq^!cQ&Vr;OQ&J!RrL8hU_=6pq=fPK%uI7LntOvpPPXS9T{&^DzE z7)jE#ltm6-;9|1K{&|G(Pj=rkuIKdgm)m_M4myNcF8x<uZ70|eB<=%!$%TgtqFa9_Fcu;PdsN>5(9!vL%Lb-$2muWI z3L>S8tlUudb_mBo{lcX$p4=Nj;Wu{Noy!ParxtQKMd_kk6Rk@|mTTOCST6fg@Feuq zroDRPeSpy@mLjoiU_|V$qaZ8ynTP}f&Lkigirn1T6fpA5CUM`WB*cM~dKgD>QH#Dm zM4cmF9-pwb)ae_HMoe>ABt4f)5H)Z+bK)KCY8>sb?H+zUPbSng8`J7kit3VO~fi9J(#T zKuzo6X7d~?)!hFnWw#A)Y0{vh(&K%r-Ti5S5cn(G;kCM%P&y*^<9@oT>$zEt|G6AL zsqu${=?LM_VP<4p!>X}er(5+?M0OHJlhNZ2o&A)YBX~{sp(eMzf)|Ez=xy#IOAr5B zd(&*zl8PM)r~%GS8=&{~A0Jjs7WMj_d~kEargNNb_FwH-Zu>(|@i}|0A<$e!+xb{& zWs?`Wg!lY5aH8s{;_2s6(L&2bMz6r^{e^K^QeENBdvpPhyoouCkc0L5-eTW+6|Ok_ z!41pA_;-fsY7@WuuU5(FEedH{A}pGI4 z5dp64+QAUNJcRKZ>{@-}J+i+eFV$hH^N_7+Y!-ZPZ<3=u8jOq>+*dLz5d(IgXW+|f z7#92;kG&o5XBdxX;{6BaG!Qo|C1nTLtisiVJW7KlOMsuBF@WqVj^5Z&c2{c2)=nSr!7WKkwr zV<14_Dd^kE*%_931Gy$SJYSUEFy_^?>1#A`Sxu#%-L!vD6e~oaKxmZFKr{#3hyh`b zxghn=l?>`Xm|Q8Cp!GVx?ofbMR`B)$ho zF?gH;r7j#mwcm|W3+*Y5f~wPB2J>}8h9)Ym|J_N9eR#*ecQ&S)IU<}zA~$RWkQ=`6 zLmm)-!W2A+M8~9!x`!rmCGu@9AHq`x;rHGk_8A1W9r9`Bw?|lN5_()e=e7K!dI)?} zfi9CBtyLm!>A56sht}rso!AvZQ~>j&FtGyLz7;?85JeO$dDB>c zIL=f1ENeoR&^HPw)Nqr!Iy6$2Vg4JVYYGR`VdRT7(K(t+tGV@r)d*-WS2LfYpz>JjZRPd+nspv*jOPI8IY2c>Aj24H9A2A4AIrO=^T0TjZ1~hfdaPjnxyYLJ?oLcMZ$Eov%`JE#09_zL zvk04flA+7K|B69OptlifpD}N|Imvnx{8}y+vReDTx`$OI4Pg?Y7x>khsD5oE+nV=u z4$e%l9rX>@bWrL2O>2<4*vvS2%YaKY?{OgYFy1@w-p>W;aXd9+2O_9f;gZ;toni0g z9Hqbsgcruz;|5)2umQtE(&KnPSXV)}!f}`CI$ZD(ycnFgK$cT?F6`qUoiW)PoglP; zegjii^>z`GCVH6*R??vtCqoCxD4}f0O>DSkD_|u70VYm`Jxv{$P;Mxr5;a|KoC}@p zP!}1-eZufnhC$3_nyVKM0iiso2!bcy;o(<0NPp^N(|49o)-$(Z=b-7}*1CK#KtU0o0iuIQ!?77NpE1hBLNrY;PGuNzk0IvkU*=AzP%6|h6r!XM;ZR7CXpZ3ta(D|&8p-k zkw7!lo_L6^>S78lA7=r2jdLw<-^lxycHAlc|KK8(nui2P&SZAIJCA7Fl_M}9j?LY7 z;nDJz^Uw7WQExH_+{CU1c#7Y)Cu98EMgwE<5;5evOw7Dh)997q%;D1_hif83KabRU zXHra1Oi0O5^*>P4>bnkn@pxNfT%0KXv^gFfCY&|bXJw+|T@!5DJiNOU@LIAbo~lEE3wx2t;$Fn6Yc0jO{ee@P%5jZGCh+Xt-FquW&!`*-7LfGurR3p zV}T3%sOxE}u81nLrdb&k?{K9Sc+q^0HBC2`p2HF2pvhHZP+L-O`Mj%Qe_dY1>oazY zJhe+$mrgN9@NBP@lY)hviXgeQj*X9>8JOAdoyd2yy-l9G0pnn8EQ&I2Y2t?#aG9^( zH?68Qptx5G2v061xr#jzt=+NF<`M`Xl0*~%Z3KKgp|kD>=ks)#KdT)u6cpW#OKJPH z3m3u;9tJ!=%drK)f(1pMIq!lX{~PKsG9T=)QEESjg^&-eW{2rfj$uDx@aZhxQb)3YI9J*0U3J!cYtk_T4;CmNgjd!hpBf8uPoZOg=4c~+qRR6 z&5CW?wr$(CZ5tKab}G)l_CEKX|Bi?8GS@ff%lK9wt@no8D*}siOiF5Af|ui?_1N9+ zb}a+UD$!PTW0j@P@A$F9L(abj=u@yP=*ma5lrjWZkKU(gbss@e!cKNtUV64WN79`M z39XR_(c5F#F9cTBmX}3xjLIzJvMaGU=I57K)3cIPbaH0vkHD%3c>LQuy!cR+R1U~i z)KRiX?5s~890*riI$f6vUqyPo$4+fE#5fe>-PhM&8X3^4S#N{cEAdKhmD?B!D2F6U zC`Rct_Rw4B^}hQjXwuXVu2(f)hdoAs5qe#uz=_ArMv94>cAv3>N2><9nTHLY>*L8Y zY%0SvkJ7eG=y4aMTx^WjiEbHfPM+IpjI?CmxWPd%xaa%U3dIvv0d9l?6S9@s^tA?w zh^UC2HV=y&qloaP>*#LJNOrCigMqTh-$356gUE1`sG4I@q2MI!V1O#4axuolV_!(h zntsZUb8F?p{9mBO3SY`&DV3RFd0j>cv>su!$Lt{Z^UHoimGLj+L%-lYWgE5h9Nrrp zX1mP6v*eOtK+tj6Hq9}K^2!?e3(5v-4ikQluZz0@V~dUtIe@3D4yfoCzoa7M8Hvh= z^o`2N35o3`X7}v7CP3t$K5^qQm1PyDp?VmJbDHe+N{B26<74kIC;F`zqXoei;Fuv# z=CHGohFR{$gA(xWwE2yXxsKYbd`UUL2v3n9^&t@SN)EE`%2$sA&K|1AoyPN!eCmVT za1k0L6#zrQWZ0-kUT8#K3l*&G$YKxMLsK_9b7 z?EM@StPd3*WPx4uQ4f+d6gn6sEfE>1RZ}Vc&>!Lg9Ue?ag}=&xVMJI8avMBcRjC3J zdbCyH%dI6e!-XZU8aY8KP@Uo!jEqG$Cq2K_-GN1S9oREY@F|o-ughWu(3(^jF&Q_G zK*}Z|M<-_(1s^f$F8sx$l~{eQfRL-z+DFGf zEehbZu(>!t2hEfN(qd!;k|-Eg$HxgNvG&R!Mh$Zso^SbunJSYr z;quavwicH>4y8Uz?{7(~s!0|Tf!)i??cWAzm6o6=_+7MQW8x=eV|3J0R17mRQE{`= zGDu*xWoBpVH6Pp`VjEr%ms*~s+4|$>rVbu*Qq%h^vfEuRx#@mn)qH zu8$ifBRHz5YO_DRB{Bs-&6`#25NKHt1d#oC@| zU6y2JC2OZC+%%_Jkq@+78P1FVd8|$j49V57MS__-xQ}K_2d!VGBYCK1O4c{T!}m~0 zLw)CRu;?|3S`^B3`)v`(lw5F^l`ZvD)~JDAu0YbC*CN?}(9XAs=P>S4aw)O(@3kR4 z*MO^W>RF!d|Ls62J1Lw`G>CRknPqlfW_5;%YdbU~*;yzjn~jOB@o+;vE~20_jML1> z(KAfQM8`>l$Lx(f{u@Q;auL*c=|!0-vfYhHvf-$%L7MIPtH&k4AVAa5V5R@@-3fWy z@i&_hP(~sPJIJ>R@+TE`yXK@iBaX4kmL?xru-VVlZ5|^|=oiTAbd^x?T=>x!&+bIF z&t2g`Wp>(afh$r8WhxR2{b_4<2sNO6k;n&ma?v8^F* z<;2#)t4PcSgi4%i^b^Ek3Xz2%`lRgHTvqQQq?p40ww(AR^E^&O6Cpx3I*N@SOmx}1 zl|KLJY5!iVE(EKFb5^BPj8o2yU#$V_A5{H3 zrON`sWQq3OowEU@mF)*|FBi*k!Q&!;15tF&(9$c zM61?O0O8;6>8T(381skWUxv{yUg*TPg8ht1Zn8y2)p3Sz#c+K*JbEy{+b-*6-{kUX`nn9@2olsseAL9>o<$8HKrMQ7y;yP`P z?U}X3b%tYLg2_Dre)j?n+)?pJS?TCTjcICEFh|6SsjhZ{m6yld@c3}8@UxqpMoLPC z{-<$MR$B7uRh!tIasWyWYNRGAAs-L)PSF-GohiHHWR zzPGkEGZV5|^$sJWn@SQhG03q=sYdi<6CKW@*p-%MX9TKB)#TiIOHnHA1fAYCHx(A# zG1#q#5O7*Vo`27Ac-0n$VD#jGd=OG$_B=ONE~V`~#}8}MifTrmP(H6xc?}DPBd3|g z1BR{c?u)x~oiI5UXGGnOnFKNeL5sg^Q&Q+@CS_%#nlp>IXC#uSQm~6s4}UnSGgs#~ zK6buQKH}J&pW*ccWeJ~m>l?jgO$>BZ51gm*)SjW$W+E~yqPS?58q9OgsgY@;6j?z_+XK-&FKCH01fTQ)WvJjDwr5dDnIOB)MIV8>vHdfEs==wfbk0oT57Ex$w z@zkZSifN>3D5o}=>%JT`UR5{04!3i?az?{-G#8scXlSRd@NoK;ckaJV{1qO{3KgR; zwaLkGothj0pF%%ks2G=xjmzd=ZMYW}4+0ftSt>uftTh1Jr|uB0M?K=C#)$4!V?zl! zf8Qf$6}3?x;<Y4%=?t8 zhvah?aEZ9sVzFG7%!z(^Wb}w!r0=ul$V}bc7Oc@D1;rVg|1`6t%LxTm$p?|wmL*ONetjc{Zr$40E~i7J^QVL`K#a;qmK84Rqsm`dpAk~XKaq67b`1`DIa zy&65>OvWN@k$~Dn@}DOJ69PWsP9F_u>4yPIg32)9fKDT=Zr@g4LK4wgATm=4F#?4N z{Eey~7EM);GdEBNj6R9|&nX+>5}g-zt{{|R&&x}kN74xIE;E)?n93Es)@-I0V1qo( zloM|TlzAx14qf*u_3O^rl!UF6r{jx-JTJ{7p!mo?wISVv1at$3r5K@@3Z$uii1(q636ZCA9 z$3%$igZdPBP8z|+$rr@$kIx3rDolm$PbbPbkp2ziERM9#3O7Z)hJ*h%AIyRCi-{v! zH5dAIw!^_BVeMbwJSq7KP!FLP6cML7Y|^CFs4FPq5Oxttfm9|m{K%o(iFes!HdQcX zW;|qQJedH_WvCguHR?v9b6+q87Bdo~JVJtyxyz`&9#OWgqO#{c0G;Ga&dE`aOYZP- z`c~Jz{k=pN7tQm+O6#dM`QFM-F7y3V$(qSVIyIJwt}Nf`NSW>KP98B?pV1M%y{hwS z@A1>s_#4d@sU2r5c{G!#fzEIaCM@TwYp0ON>8RN)vx*2&cN?eI2B1!sRE;q)BWvNp{uLx@By_Dj@p;Tv;@&)skpJa?5r1trJCM8kMJ z!wG$X?dvP^q;&MA{U|*p3g#GA*BcibSHQC|Cw-I{wrt}A|FtZSfm#L+*O3aY*uQ%aBpt)(4V$R9rg&Z@X(M1T#Z-STHN3hPH6Si_v$lFk1G026CRmS99a%l z85poI9RSmOf(i?6_3imZE+jbWrkYk`-C;2<>PVJUx^bEbdD-xoaC>zViyJQr&MWkX ziHY#tZeKz9A9Lxk{(_59K%3MHQcRf0Bo(eW#H9a_YDQjKHqvpUX2}!(uEkXbm)|xM z`2fSLMXXxG^?3^)Dgim6Ds46%C3@nhl5fAZCQiL~%{jvXZem1brL;?R<4J}_C#x%( zJN4K&qDf=qmD9T^!r!}{*Xa3!pvf=;YYEzlSB#ruP7 zUL*khder)zJTeJZMEe8opot@R+NTFxTk$?6xr);Ky6Dhvp{~>W{5j&>TN*~}Q zF#M9Dq!@IdvB*~ZJGJn*5YN)G0Jrdv065{!^_oFLk7|&pV|k^8&fSzWa5-usg3sk$Fb|l+Gsb`$9_(7AHz9j>C-ENzfmf_y^8BSX%i%^rL{Mv5 z?mQWG)g=l5Xr$=x>a**<=T;`iLVrwUcnfaWy!G2-PrRw#7_->pOw5aE(4Tkhv=kv^ zKA7Fxc@0)mbO!fvfQv(#4W|t%B4&b6m9^afizO`6%zqm~Ap-tVQ-_l&+UHKY-?Doc z!1U$F_EP#~Xtx9Od0lMI(u(1uFi%Aktmuf!x>1}WqT5e2?06SW*$>KB(F&>LdQd0##7uXweZ9vy6`Cp4!r%K#W%ZJTw74x(p3 zS(Xjoy9yJxvKpvR54?>Q95$OD+-4$(^G};~$2E%lXi*p;l9Dytk+v=bJ#A9l3ZqP1 zZByuOC^AaGm_bq2Jj0Ov^Y4$o#T^A^7M+g)Nk2%S4kfO76pwY~;=>yPyrYDy|X zwy->+(twJ6plYIC9Vs#?T@7QGrZ26||?gK}xp6w;5Yd1_Cu8#DUPmh)L1|Y7#1% zaKUv<#XM|i?%3Z(#78B@^RSR;D_6>w8EGXof zzmGUJv9r9s->TYF=*KyH4>(^oj>&HEIoJR4JOHL{g@MY7*$ZTrCtIh6fVe~}>PPvO zr0Vp_+k1NT#KAfg*Ljvvxae?)R^&Mwqcz8WVNC$4K#kqnwLj#~#5 zA>0|KM^f_)TAH8jcK=jaZVWC)zm*W&wR?W_7}@j)7t0yTban^)lW$(mwLDaJtQ)@U z#3s1jn}>8ZA8t8S=qY7Ul)H=^2}$$@^b9^Iv>?TGXveD6lLgxN=*HvIotq@$^jaBj z1^=-H4IQ$TZO*Z}w7J0N+Faw|{PR|IK@sI=A!8Tdp`u~y?WW`-A)B>Lkx=1!sf@}K z%EUcyPLOxdy~rdJMZxz|yH$9ecv+g!fd?>WbAni|yk$B|87asZND8VMZ3Hb`Ws>Oz z4RSJk9q_82Sy}f9%$KyXYb}v!sB7N1)D}36Fh4$-y)+uCYJDLJQITQ)eSMpZ6-G`K z2QlJ`Tb6{CHe5=ks4He8#KlZ-C!x@Lg>(d+WzO>8b;BFVKCt85)-xqi4vRRUYlO$5 z9~uUiLlN<(x^b#2>d*Y5nbH^jpD{p{q!G)MaLIf1QM1g)CDXa$Y!yZFf5fC_WEWt< z|9dSLzjfwn?WWv5uXlcq{hMP+!!XIH^O7jjkKt`+w>`BPhg)NJjgt)p5j2Ic%s@GF zGKXAQtHX9%q4w`3uH(D@@C%Z^jh%_#lATp!#W}&?$9gJLudm(8&*t&i{tss8{W~ZX zbOPeG&$ScaUA0yTBLZI>fpRjaP$lFdTV9WmyWa-4`|s>wvfoKNRNVeI%h|e$gy0ak7rB>g+^=(WHqLUD*XB;2p)SId!%WXmV802e2*zplSiekkN9-#5$5(+U8j?*| zho!DTn}+d&WONkewB!pUnjax2BP&1S)ddcAmB8lu*3Rxa4=?WtOo*}%HYaXiKTq|^ z(eU`^ba8WWdUv&mV`gMrM0mZHNJ1ZWK0_K+*NhDR#C-yqXvX(%^TESQJWM>?O!IS0 zfKR@S?d9ba7WpPTs}UvxZUaC=l&tRfMma7e6&XkBLpoKc@vD^KYJu!nowslA{+1b6 z;5yf>lDveRscBD}BZ=9p)Z}NZXdpl^H1B)NFw^$e>r@>3v35)I9mWr=-JMKcP;99a z0uG9+8+~YlS~A+ti^EciJJW*mUsF>u_mzOAbd4ssSl(h-bw`^1q%L4a4Dg=+SoA6C zC}JbF%}IGk@wQx;k(GIz2tlp5Jj=Nuvq++4N-hC@F+=@d=n!tQ{;IA%ZtxKhuFnoU zHGl!u4fenwgMZWlhIf}PW8e(m2BS(E5{y*B2&^T@CgaAB_cw7-SyH;_PR!XD^<*yZeLG@WczkOUi=#>tS%8ddwbsIgI0sx&GET z8Z(vY6$Pl_j&N2m2^?Oyq<%DspF$hFXNW%0)kTms?}+lZtq7Cz(m|5ni+#2gn zw+#g$OnVrrI&7-Kn4|f8G-B!a_?=>=MDkGtAVObnL2g68BR>J>jwoB|x~5FB)A86l z(exBucmcCad=*Xtkws%+;u!0SWIKEZ{3kcvzd=h6a-iv#(w`zmr0NE5oB&D;3sg&d zsv)8b2YoCz_WV%qGH!2(Fv)-%FF8a5Kj2jIA%x+aaoThe9o-`q=-zK=e`vN?5O#8E z1osFmRrNxrxS{ULe?zi#V}d5?WWz@C_lX0Z15hUPuM-?_^<=qt^Q>HX zO{8d6w7o?3Krak4=XcE5aOlM0{O~tWF)}(&k39erYpS4{B%>E!S6A{VFS!r3z!nn! zu)>+<`#EpcUZ}O=@vr!%j$O2Q1osl zxp7O~abW03S`k=UL)hjU(sILnmUE}ZK&917{wb*K_;I@Y3kYIxyHj4dXK^Xp;0YTQ zRYdZb{k;Y!?_L?phFfX#3ycT}CIh^;kd=mk!R6wviO#2N(`%x{`M7XUBJ7x&R}>0F zp5L_!7w4FAv|I}?h0mwVEUdJ(%eS*{_OtI!i^lh>uk%~Rf%4$>O#=*wu-}?Y+?Rcr zbS1{TyjK*sKQ$DFbW?csFPza%1v z<@pi1xX6eiv%SZ8$xe+`6hVnx+=o}T1r|9t*|~49a5K{FKe~JO)`G=JC~#yca3*4> zMSX^ytesJ}`XoVaoz<_=shIew$rn>oag!2ot(qo_^++Qy+;hLK%+Vb!6SGrgy!<+A z({asaX9@GLsBejD*Tmsp(Eu)EMdDl>)&a;&a++^(jR(4pp!r6cmanrs&jz2CYsHCd^n zqvF%vpf1|2c@HG_;2=>_izJ2CQ|PBt^1b_r)JZh$oe`&4u8S#XTT-a9EC|G5EZi)0 zgxl7s)RT?H9Efu6pM}8Y0dA}76~`X%#6W>0lRSh*dTHI%STo_9R8`?X>pVCuG4;3-KDo~bZ(mfPD zXe(7cbT|K@^C@I~Q-g~#$)Kl>Iy!uLXF(}i{By|M^vfy9Xs-3?RT!q7_Uu*ZA2`1B zFly$$O+{Ath!jd;R8x|1RB}p&y{ldhC1-zk=d2?wqFun8GsbGR^|snJrDpN7bW|kl z68{qoR)$B%L~&(amywFJmEB4L%k5Qdt=-Mzdr+lhnusoHKM{F3C6TDp+7W<00^8G4 ziI97RhuO3~4J*Y=XBv^qG~T~Aw@ySon3{@OlQ;m(A~WUz0a6ANN<@x_^{9Q-4RVi# zHEPR}Ws-n9E~Jct4jROG=ZD^_kd`J-VkkC5G5Ttz-Ap0?5bHvoFmd)``hb1Ub+R+x zD6)MW@c(kBpR@@11D*>n5of<9{Oa=e2?3A7NwS%v0w4(oEP5psqs^kym8CSl4;3U^ z08@nA8<;zFuxg|B+hWF#oQY8_+u@>=%MUPPlKKzBV6kz7@rr<-ku{%?w>Hx}Jac~S zaXB?!66HRRo0*$c+nv#zd=iYC?qOUmo(K;iL_JN=)}MD~Tnw66V$>?2Ei8f0z))!X zN8cqRC=ZUfof4#PAk+%K8@d5QhOf)op@ii*hCAiJ(LbXq4Uq+X7A|YY{*ZPIJis&B zYgwD4DgDiQXkAcIZAg$*mA!77OGM zz$5)$;kYE31&TXBCrLndp3`tM#S+*1wLWT!p*CvP1w|ahWI~RwL6KQFB;P}&t zWd1mkGSi_q{onHrxKK&y=3+nnU8`$LS8tCI(e80G9J3_nBL03}ABtxr!IqeRp@`>0 zhKPP)z~(&cZD+|KDHDeY4$g<55{%}zVhY1HFlB;hO*e)JGsZ2b$b$ zH6|7x`ZC%{JGqVjUbq{@97Qf4m~k*b4+d?&y*Vb8m25sJM|kK4))>g zCjPq?Hb!wpPNFclhUqWU%KrniHUQJ2)8)EOksBlnznANMv8J2&z0~#tABmDb5ec#+ z#iYPDeFRe45Q(LXhmo~Vg_v?#xzTbo2p=jY(YZ~4$(OS zZ5NV+%zqPr&Illx+nvR4h%45QUfI04D z?hYiCFmJwgo;iBXIe=yqpG62yOacAjmk6NEaab5fSJnsl3If66Auits_rIk)97_0q#?dk5zL>!GK7vTV@mb#-h18kufxM?3CtiP;_oY44r#1RY?ii!)Mpyp9Ls z&)vE@KN^*M{1A4O8E%x?8=7I5qo0$twZ2Y@=QT?mMs8cZhOLL|0A|zxqdW>^7tb&R6`6h|PSG)N zBn0CQP|y~R3YGyZ> zdQ601VlF!D{@hO`AivOY&`HaLlgiRiO;S$Fcm2$=&CvDO^=bLsiAW1O{kscROZEsj z6fXGfYWuJl0{(|9I<^xb$NU*w81~fU)RcU2X@m^?U$FUel%UW8GAcL+&2XR}fzw1k zlU!KJ1|T`@|I|YOMMDSpqI0M_lOJ|yGP!K{*5;~x67oOH+&fdwec1Sc4E*El+61nz z{nS$VC7bMxT6>Ue07H9$g>Geq_W#AdX>4_jd=z{IHD2bYJDE7O6%zcXgF;6RAG_Os z9xrB%K4RJ1K?F4pL?ju{x!vu4w-YQyK3oCxE;AWVxBT~}yLZC?B4SaC?1bdPpIFv5 z+iGu{v4+su0W;moPLriyQ6^#<*xW`B?}3--s9S!g7v&OOg!yOWd>kAhCK=%pA4Wgk zb7yD4gizHHT)LaDdVL-=#pd1pm6@d#lbxdAZo8e4X|MhQlrTb;*stH@BjVqyMgKas z@B=V7W4GP%zsKfomgB7piZs~ksJpI9ODYQ?g@~dw*kh>~X1qT)^|I|fBpQ6+mV?l>1n6~IrK0_Ohv|{gA&Kr>-y=8m-Q6%ns}F(& zM)FO*t$5YybTiH!!h!`Aw6~X+o4YeQe9+OP(oqx2B8d(hK78+~*{QB{U_Pl6{|$HA z_v&RYp<>~)r49oy+VgDAiAapE6AxZ7A^Ft)3vd4eaRF;4ojY{wvh#iF zu4Mgu{?f&4Fl!$-YTU`hB9t#)w~p^Ir6px4^=&=FdTMg(>CRMrW#08R@xh|<8V$80 zBGU3DihDpoM-!c<9(N0$P%6<7tw7*G0H%UjmKsiAXVU}-HltMSdn z%}6f>c0YA~+oHYE&%otFwqa2Xi2F3ei+1jR(+kXXRaY|}wX>I%+qq&RWyvg_8?X~? zJMU3?`?3;I-NsVA#?$n^PcTTgI}X_refMv|3JAc9^~xcv!0vIdhhzi&WY$LXxkUr; zIID9TDARF4M?XJf))7oWY++;B1X*+#vqg|QIcE`gww&R+qr7Jt;c(@E;=*`Ejk7UX z3!JL{#AAo!8bdi`4;R^>t>ohopMf{9ian>Q4I4nBB{*+t6(q&%30#WKh6RJN3BYq7 z=kn~!J{@eSQ>umh+t7fj&}T)0$@JdF-b6scT^pA7L9BqN95WV4EBEb-E$(^&Qa!ER zR7+U4Z1H~Zs?hP0$jkul?X1Y?P!Mj0p6Z7}awknYDf+TodRIQKo?p3!+``Pr9=_s_;P@JV#4>tlF+eRbiZodJ8130`67DiU7mZvQ z6henRhj|!~LL`sZ!9y<6ZNH|Mt!T!pZQ=sIt{5G8MOGvngADM0LMAf%!Bi&a{Y91?$3Eroo$YiG-FWni(sk@K94!z=EeJh5!9tx*V+RxdND#%}7bdR#47z zs&Ct0DSJ72`8g^*DT`#)@a+DK{k-}ptW29O5W^nng4k16lHXYqmY0lj{k-?a(4?ll z_Iz)P&t{unV7qv<-PUR}v=fq>KIFt@XBW4mh~oKt$ThzJy#1QqLMJn<(&gkdWa3R) zZ>o~4A9ne?|CqWihfroNFRMS?zkzJJt$v^VFalw!h!Jhl)^`1n}^I5o~@|UyT@Wjka~3@(D$(cD|~tfl9vK+ z&z2|fden5w-}H6Y&Ox}>k%r521N&upsarMVxLQNQ;QXsm^LTKObun_F;GRNP;I->o zd>kHs^k#uBah{F!{_u1Mg>Eqh2VIl)H19cmM#(@Cd)>@<`8mqWt+%l(^pvY;C9t3E zAHvVo$aX@*Y|2#R2rQ)`GBW$a0&9<-{*|BK^GR<~4L1uHj6|1Q>+|=~n_J(vTH7qm z9D607hjMX@_qaRf(!8kan%=4ueft*Npl@jCSe}>5?pb;lCxgl1g-5q@t|-9tFxT7S zUw=K%q=mrBhT6}o)m)#$S+ACwuG`FKdpndN%3@g}ExnGC1i#r?Lfo~_^dccvUg2CSAVR8e5v#XU1yKYV?NU+~N# z^}-U}<^Rub$vo6-CH#qTi_5dU+G%OC_0=eyVSj_XD_p!P4leKAcNl64_)N<{YH>6e zm?)jCyco?bxCd>Kok~NSLigB?e6Z=N%JLF>QQ=t5yVk^W!uR(4XG7C=U3HC*`76`If2jD02Ua_kDLa{PTI$LZP==$5JhNGB@(W z6ajLJSn>0?{1Vh6yZd^97e(#Z4oe)-+=lqMI;ZR9G3F3!CVJof2WqaNh1nj|=9d5aqSc3jGa!kfJgC2E=y0d*XRjn^EbDt;n&bGGRGy2d zq7p!5d8#4kR#sU$s@EV*$f_)$h0Xyj();>r2WVS+9u?pu^bTe7NbR=#8~*3}V)?u- zSEZ8sAZ36hmiUS?!-x32go3!;a3cNBEw(I_mR}sYqx|U(Dv7o=hg`YDp=RsX4miMAZE4zx=R*fcQPX~wD{7~MQ18D=sA#< zmU>FJm-1&&kEaX53v$%?Nq~I{WWA%p>n!j4G~{%L(|#3x%63N?3(dl4?zsZMx#}ql z_NJdMC}_BpkWH$r0x)Dt1YarsJCFE3TP4=YQkZ3LuSLqzFW>Poc~?9buiSHh$AfAA z-TSe(ht099iAPgS46^BC-Y|GVEp#0U+(b=fgAKPfWiG!m&pzyQG4K$ARwn-;@5|rZ zbzZ^p@>eQ3^#|eXFOu!OgN>0G zfUgQXAyuQ*OUx>$gs2!$g|JCbL#@oakIRmgK#lk}O8DnPRq`Xep%XvgU>Y;N-h)^u zM-0e-2<~xH_P2@KgNJqOd%}l>aXNGnIIww2WLbmLd#gtagPCVW+I!)tc|wc=%@_&| z<65zUi|dC$V=z*{1xJUM)I(g1!fqPT0m(WbzK*^F!;u)EaDwef{5m=pC!T%3tjl6{ z)U|D00ftMw!QV?RJ_#wkq9w`*;z%b6Z!vI|6-Nq>gpU~JnJolljpA}U1{bexyW?#f zC3WX?n@n*h^8XyLkop`x=aA-bAeIxE9PeFQbxT|ee?p9g&X--7vd;ToYqwJlTPeg$ zgN>c`0lg)w3GszN@UC^(ONbG})o&To#G-@F6+x{PbnEZQ5Uxb?B8wFoX~49`nb6`! z-O}K68PwTBWJ8?O@_rk6n4oWgn3Cr4@`?05y$FII9Qe;F>4G&dHYOFUI+LI@vrI81 zRT;L!lpXpnV;Xf69fz}ovvS6>rU>dw>M$efZJ0S@No$o_|+G|FUQwXVgHR}DlH?}r-uS(ZfA?O?T3yo zWrFJ+soiHan@NxJ#aA#E8hQui$JMVSL$>u37MrDJN0J@hCxrob=somCb*DG}UC$~Z ziUZ<1nr{JKQBP`-YW&|ydaS9OtCF4O*jnN>w-D+DF$SQvJ2ob<*HFHVNUIzj*(C)- z+Uh#|oUV=xbL#ni_3sp!^#ttA`cT;IDrcl*w6_zRt$zmA7LeHR4cXoD^Y_tC+2&0b z6AC=PqnY%1yX@}2|6SeT_uM`GJ8OTb9vTthtjyu;^XR8LEg?%eE}zkv&-+hmMLySu zgL!bYsrp;+7Cyj;gygCVA@|@_;Pa^=ED@!s)c4&_-qy?D19_eH9>aZ9249ptqr~Pz z-n{c=_}};9O}cTe$M*M+=RwTru7?2o27-x>GwN7FpWjD3E$q*S9isgyF$_Gsy!UOH zmK#2QQZiD-t?OqhrQ=gr&)R%o3Gu^1?lS^5`?TLqCfFd!7Ida?jXA#$Cne532i!k z#usH@VR8a5NopTDxs+uoTTwH{ZL!gvxqd!Bdw1>zwv#qE=uwUC`*q+U7Bm>AdA8Sz zDlu#5?F_{7GRmu4S|5E3z4h1gdfQzNZwG;}ItKj3By6&>c%Y4>HR{O(IHE>G|AP(w zXP;>%_YTOr;{QB*t{Td+`51p?3A-HB-PDjsfwBuOb*Q_AAv24&4C9NQHQIcs_9UJD ziwRH!-<&#dX=Y@h>l)5GW1gN1w-}Uh)J%2}kFlVsv=1wx{4WTZvC){RU(7?o(Qqrh zmXIxS4d58k$x;(pGZ9@-meuPmUJG|(?PIkPG*FdL#M$)RT?b`U3LA2~o?JBV5>;8@ za8u!Ed)7(+>CsXp6W^4qmG4nH&b<3i7g*<1qm+?@j0m52$)g8YXGtTqhH|b!%lL-4 z4pq3aQp5VBaM~TRQNCNZuc3#LXT+9+#c#MFm37H9^|3Jt9ubp(n{pHPNTYvlmJiSASW9)r%Ob!aQ)7qggb4CbA&ueX~^VIJr=FR;B8bpSb3n^v^P-6 zWu>E|#%E$?w4+)4fswG_2(aL&O*QH@k2gkZ!}{*0!hY_} z>TCpP1#B_ENKbOHv)}K%Tb|C+|o-@uGY*buyzV>Gx0dZz*SI@Kn zR({A|8tDi(ZKUeAKbE0GPr<7Q26Ik!Mq~fQgQsn~l`vg-W5<+Ny|TlcaW=4J9P)r; zu&TR*zay1ck$`{93K*A;{Kv6KT6(kv=`XDOiY&fNLTo;f{tz4(*q?rN`G#_kIAk#U zZ4q(h=s_$V5`cM`7Y-q$7@9NaivJNrsA5@YLFg+Ccm*T%A_GQ z6b-@wQbQh%JT89`EH1F0W^*8hd+7Kq(?B}t_AJmxJ6pWvZ3TIB3v^2$DTk_hVO4Z( z^G7GAIUEhtw3=;^UR)lB%;FR)HNk~f)ed`vpn%XYzy6DP(kw8gCa{05XeRzGyKlRj z5*zE##<9)I+4A$-iU~;V`;Trra*Ma#mtCY^=W%%y=ewUIaG-h6pA~VrK*r%y$0!SX zBOUdlt?vBYR<`UzRTGh>3W4=uNIArJ*4-!WdmcwtKeq zllaeenV8>f?nF-rAvxp%7957DuuufBArfOa%IUf{A=%(O{l^Cn-S_KB(&O1(3=HcZ zS+g=624SiKdD4YPyBRxiUiLgF)5d_27M1au{@k+`YQ%>h4hh5Uz?BBr_PvTz!}2Mo&zHRgEkd<0l-L4{R_W** zxoLesjpX@1Y$Xle0Y!}ryuyRZ!K^cEdNIuIW8#?+Ngnb1pildETm!kSySwdHJv$+(*-3aSp%Vqe$ZI;v z?QCv-5V3okeFrY(lxVlp{+d|a2ma_Z<(Sw7IXWK0G{(3d!Bj-A_fsCFyktnUD()jM zdpNLha{TDT-{&!Mfi|*`aO%KttHwc4Wrs#)U?FPjC`8Kl-$c&;Tg7}-JeBTx1Q_;6~=e>BoSu@OnUnGUQ6Jj<-lh0CjHuE39%ab$ zuxQ(+uB#j;Terjj2LfqgDlN=Tej~%uY9n~t^z*xDAn1D-@B2EL!5edIO2R-jv&?jr z{2f)9iH>eEOd-nmbFmZl{dNlYw3go6Xx%^j>N%;Xs_eW|N3RU&j`Z@(R!_m)(n|TB z`paAVk88j0hZ*tSw<=J81qg%OoP5M1WO5XuqO$C-f)5Fb@4E<&?{9%zk0(fmuPHZQ zw|DE+(3ZzSlIn|+LhOploBDAYj1zdcSie*8y3cJlU-4MaCxN`nD}2q4az-+y$y3A}qpdEaL(`Rht-T;;=0z-no#0=*FzKarF{3hf8A)N7hQqu3Ws|ra4RJ# zskt&rzz!tbzZAeo+wI5s_mK_YS@4CJxm zE|vq1OmZ(DO~-I;(kj@uq}YOaa(QtSvq8(3Tr*+JKY_#?(Q)$wt}*VIpUtxE4k_OK ze&Ogx5Cj^~5OK#^)lbDdsQ0X_Wr5HYtv9U6Kj8}TuhVNT2iT1x2|r9oFoxcAoU$kO zKELZG_O|^)lGLGQoi`5sC}X*X>QfY=&E)_Tu@w$mfcWi_LkQfEq`K589Al`s_{YTv z3l0Mt-WSo%KFI!fUY#sUJIc^`XplVkKKmTVbnXRDT(Z-MLWHq}xGrP>cXM-8*Bjo_ z-A)-@lI5V-j$RF1q~wc>Gn_KVK%rp;+4_`Y0YCr76bjRkXO5$@;FZ-V#PIZ%iES=h=2LNIWScmUb8k+6O~b~WJgRZlCXrcus90Q|VB zukX5gsN zwrzK;PSUY$+qP|+-#+)b=X>8~RZNtFbgN8-UW}dlNs-RG>>FQ~OZl;sWEg3rT=+-*`m*;Y z6jQ@v?8imv<@cAIp8g8XeTF}qv##dG&-OCE`?;&os(=w_E#eaIW2|bo$GC&SA>K+; zN19#1aKTxZ7_-&nffXGupo?rJsPrL&k*W#Fv7ZvE=2eR-kQKo_<*G!}4Aw#9UJ zob~&94B7@tBh-k~k}rs_3Hm;aRqJh3 zvPdgd)VI~1k8giG>iPQWXnF^aIAj$0jUb4tsASR)4vK#~Pd5p4x(K#LM8`N>mD^Z+ z9#waLw7Ph#N+E0lX__;F;n@nxF~)?jp)LZ zDQ~tg(o9e5EGqv~c?p`H)Zy_N3#O#Gj7WzwGr?yT5RCAp6^&Vrun0}wP>$xt(lA}y zE}qWu)H8a~7m%Db?-OX_jFywBx{9J4NUFyq7-4wXKM7bKI%v2ZSoJENwsk~IJENR0 z{j*1f2&}0B{;%C82~}6ww7W|3Wh!-e?*~X+6U^2605+NZoNw_IWy&^0-_F3&1U3taN-o z^trSTBc5-ytGyEy>FlH#V#pq%+if^8gOQ=?x!-24Kl;? zba^b#Qk*}z2lg_jW+xvwYIX{oZfcZk4Fo&V7wGN{_cQN!bl6-+0AD0s8x85gUyDNV z_F*h|?^<(A{F7GHqXx`YAHUD({FRdU8u_q_60C&Y z_-e-X!+D<5)mM|ibS}7fx&e!ydfK-~!@q?^tU04f^c1m5B^Mjwx@D#r9M%a`>qo3I z2nlc;cbu>EikVzjDnX~uQr&y)@sFS0wqFegR|Ds6?2CH>hK)qiobI>wC1i8hq5?M& zS#o^+{UyutC*N%QbI8odLU|6kG~N-{m63x-I>pDD4;IC(XGMgUv|M#p`?E&K z44Hz@E&G*|*`9dfq@8+D^hif)BH-b}o~5%#czbocY@I$mso}ui;e;DG+S#s+M1>uQ zG|z@f#QijP0zjz4$xr7>sp^&`1$fOXicnuO4ayM$c}#nE;W3b&V6y%?9lUp>)RMJ% zknyg809*{gJMob=HGdO~6tFRHIHUu*GRWWHsvGv!;)$WecYY-mQ-(aI+O^E(lIMZ{ zO4Y-|E13CE-I6nn1rsMvV3Uc7U&kP};7WcA>%!6{ihyH?nQ72NA&Q6J@GQknpphnP z(~gK2si#Ak@hOR~*iou#D$G*|h zUSh#(g*=xB*+|QP8_W)AgkTD=2+HU(9jCe5?bf>plBJ;zy2p1sWFh557~|7}eG|+{ zP3k}d=k~cF=Tqn7B#frzEo14F*H%78@N|H-Sw=9RRI4DH{B zuG4o!JRboLS?>d7zjD(AZM|j!929D31V}Qs_(MqDtpl}UmIn^_tzj1RVVf7W8{ZXT zU}^3ieJDN(mQAV}i1Shr%}BZkJIDA+7q10TzhaZukVoV13i=Cfq%CwmL#Z5LHxPrk z^*06zJYvkzUxhL(*;7Kv&I|_}HJ^7y8}6SLD)mW(16LR^iM8w#r1tjdCm>hUkQNpz zswfbu@)?okeeiX%4y;ooe3C_4dDMU)%vx3}SHpBk#((*;AG#waH8YJOu#uTC_~Ws- z8!qcxXd1_`sa5Oqj5M;yWrU$&2xoJQEJx<5y|?uq+w?0Rb9UDxP(PdGi2W8d;MJ52QwV@0Z)_?JUt97*ro&v#y@^;ni!WLgh<0H7-_>?6HP z4W%ZP7+LLLjlgiHn#TDsJ_tQ;NHKd!5!shE(dm!YQayZ7)KG+Y;fQ=Y-7KJZ%Zy5*&|9ghsv&w_S!!tX7gs)F}y zmNU`mq&%r){?xkn2M;LBX!I*q?NnT!u?PtKAKQZjgb2QTY^V@bOuJh==iC~24!K}hYp3F6C>jF&T@gZ~QSuVDVA^kfeamN79VJo!NZ2kpWT+Xr#h*zc-c(>=o&2fu77Rjg#9(J2koOH4EtC zn%w=49+xH#&PBLI0S-<9K#GVq;VjAy_VZaRV+J$0 zB8Bf@BcTzC06JDQgm&!{o`RTk#qMBVK`JO6&a8?(4&J6-nQ-OKAf*aM%y={h6wVwh zk~oL(HOx{8mXD~k02*&@8aw^4m8kXXtb$M&g#*&tWX(yG(Gj=UAT=$1vi@)oVf0qM z5iwN~#-?qBd(6}>ulwR!YaqZW`i~dJAw9Q>=-fwzw|T0NGT5D{s1P=;8TH0xn=65J zpgK?LZOqP$95rVbk5sdn&`GZ9XmdJaa0cs|VZ~KRTa_W2^JX{)7~Bm$En62)#WaB+ zBIvr${fgDqn{CVL=j%2`Huuws)qb|crik6N((P)a+^2d6`6IlyE0^3;!HTpy| zG%l(K2N1()9Wbt#86YyW;@~5#Vk@gch^;c)pd2H{Uv6F-8J(gJuC|9jm42#eNF1i{;<%#Y23n33cK`B95_4OLuHI=$idFER`9#^#qrD!81*v77%{ zn)?E(I2@`*|N4+&Z5pF{I(Q)WhXbnq48nM5ETB%~=7u9+0u=Qv9;b~1RN=3y7(4~$ z1B8Y(l##hMYgP(#B&KIKjH$U|8uZb@PK8IWaEWlgxhOZnDE6H+7iodP{oybCjyh{r zd@E^=P0ImB){eZue<$E%!cpqQ$jL0UN!muV+$w3@Mr(j;9HS>A(IvuwDMsuKnWP@H z-#zBG3A42iz5w7CYGAMV&Kbe-I*0+MdgW=q*Yk3OGUO08&ud`}90Grz`EryXQ2o7U z-Ih~({*nsE$t1O{q51&7R2ll!MDNrFb;LkvWMxzlv-6!Z-uF$({1=c1oBz9 zsM)GKL6KiR_NOkr_fWFCgz=7E^s9kx8RAZll*BJ$rEw~8SV|ndW^sGm1XaPG4n~qU zVL|10sfurU>QPzcYf(ru>&@=BD!NC9g2B`~QTiGsC(R^gNQ5olTh7m{4k6 z75hhMC$s|*6|xcPl48VpHMvo9IMXs~5&E1sY0&8;eH~S{(sq9m+iwPJO>pCzy>CQz zk|p%tI2gD(i1ez z!NJbW_{dt^Xkams#Iojfc&d~l!~0bX@I2na*n!U}6Yu>`f5=8OS#M$PVv zQ&dERy`*y3hNmj#QAjoXO6a3W1bT*&mPB>r|eEAs@o}0 zg^ljwpBAN-n9XO#z0ApgNx$A@cy3Tn41YauF%iCQnM+Ge@3;Ti8ntwpq9QZvqOb#z zv+piYG6E7ea8d-F%Frc~mA^otqEPEK+QtteC3P9kUE&rt?l`C*|G#VlnmPaYLx!m4t`2<_TpPd5+S ztFa;%$TsvvX-=+9|2KmNqrMqa!73zV7ENA1Mfo(K$b9gRK4yRiDJ6Ykp~h>gKAq(B z4lINrJP~9VOZc9~AUUMJARyV`cNK;k0US1_znMN+V=b4a_!VY0n#)Ej9T{9O#y7AdQ}^-Txy*iMg@Jg7!rzL0i3td+h%2Uwl!3%;l@qL>*4f;**X;i`Sc z--91uqV&DQ_)I(s0L4)%qa+BzQ!Q;->iL-4#I@&>h?vg&@tb%6vgAo6R~O~!4N8v} z3I>8GD{kT#HlP$cgo9cd8y?4~-XGighge;2pVll-ysOq5WumP2&XzcCPeI%k3@jhq z1yim!Y@i0c#9uQqMIJy<^vW|s+29v;ia+vGAB#eS^Z6!l zC2d~#rhqz9b~dB9_ETYKa)3~MX{QGP#0qfa8L^K5)%^|*`S;GH`JsDymCAUv8VAJX zj2bEtjAG~8-90%15}aN1)cA(JA5{^&g6AAZ82k5>Ls7D%;T6Ba4FV@#T+J^U$$I{-W*D>9CnQX*fw^-gh5QnbiFT){ur(^-dY@={4$)*D17`3Aq2U zNsD4{c>WsioHdBO4QjjK^KQzU=saIpwL7x&J{rAUG-keBr{a6vnNi!$bvrShYA0gy zIzJ49sHGul?H49U5`VZzNIY>?FM*qg1C^TXyG#kcp^Obr{iE`7bxcPgV}pkE`cP0H z2G43PwEWnZ`OKu*QPz5qGO%*9GBT5VfGNe0zi&vExIUPqpy^INgaw2k)j7^Z{YZtz`%wm6UQPWw*~K(Hh0Pi=Jq z9}$!j96W6Th!jlHeA^NmxvI^FrQ{kAXHhKZME&A6MOL`3+#CuHkEdbB1m?|wz*z3T z_7RMXa)!So_;|4TVPtl{WGnE}Qy8#VZ0XfgvF&_Q4w0#5!>@dbq-kRsHBwHCT)mOA zw7VMt2KgYJ{*gu4c_UGotL z{F*5i_T>tk5jLs}6%lrp>Y`HlH3kc6b#$iDMR~4yzPKHQ zf!TIkJ#qscsPnS{cdHw1+R2$S?|)kfSkk;A9!|k=7zj#YxM%i>R9XK9xoB{qaA79y z&~`=Q-6xNX+x~*k^jX3%_emcAt9&S4MxU}-AA6CN17M#vGvk4+%5~`>esp=0u==E>tD?B7e z9(GiAyUK6N08jb`BnW9cUz1Srdl2<65cKoJ{wy$GKfG1QTZB}0@&@4_kl>M4Ki#to zZV?2kZ$={iYUS~=*-64l)aav$(i3BO8CVREgtM}Go1@w*l%S53TGvt;a;<7DKT%RF}eQ_)A@(;M)|ERx3V zA8zbe4J=l(Qi)C05D#LESmvRFx~3jm`iisCkhzhy2SI)MTnyWZ5_8ktprC))Ru6gM zq{-oPSh4lM8w}7pBB4Sa0hn^5u?capq(qAC93TXeZ*?Zjim>&(&sotn?ATWF(;1K1ZChO&xYnERGBODKsR-|1c{`Zb$+K3G$`$Yt$w&y8pA7Q;lpncAfb}6WKlCqf`sh< z9!?ZPeESW&zbfF?Pz}Y3asxp-H{xMobSmOQn!zBVG{S_v|1iUx)WsT!a$yF$2x?F4 zCzgi*>Tmx5=qBWo`BBA7&<}75!xUz|u<=!S>lAB8UJF-e-ScO$tpmH~tlD}Q(PF!Q zPH^wCM@8qm!2%%yl;^nfcE|oMFp2u^wEElFU4CswuSXi0MK-yE39T-ltuX=(Ae^WH z59jjo0cak!V}XmTh$UL{`6$sn7|R8+I#V`>pYg}XrkJ!^42SD&3_YsG%86NNA5JBP zFL=C8`bo&Pm_)mX_$W=5_@?H_hV0l@V?h8`IouspiDK z^LVvc;K_erFz8IP9a~kK-$UiLi!UP%$>z120t8~~=-0U#7eyNJ>*2ZaQ&^ham>j&~ zvPX@0mQEXB>FFXrTKnplQf;Sc%CLE;8^@pf-E|@v+T$v>6HcAgq5l1Au)~u$2KjF= z`=2$k?RJhJ$PQCsJA>VEHellX>^nhckJ3+2J(_k7b1omU)-!m8J{kVV(v@|u>vVgw ztdfn?a#pt}k69>NpZdS%s~H{zgU6EhTUB;;YvN*%&P~91dgn|DgYfz%TZ(V1b9ujo z6HjG^EiJVJm1u}~@Xu+C6pxNx47{hfu1+mwWpia^No(nnQ+3So+I6I?J1>gj@*%KB zx#@#kLFS9b?}=?M()VsQwU5V;F!%Zy^1kt_x{A|pC%X-X;NWyd#~FQTO(9Iftjn+0 zwgR8BUG97<%hOl_s_z@FDa-aqI+*caAs#UEIgy!f)K;Z;-b;aBN_KuHKfPm1Gr5Be zl&hx`u@{eG)PSvfy+!z`rc4FixnvS>s;Vy9D$Y89)Ubt>cS<#)4U7d`SvcQ z;+LA4GU&WUEzQ%$Vsi4&_iLF$@Fb6qjrLrIXYhlg-6^cxw(=&mlzkWHkVc=N zudngVgU*N?z^H(*na*>B5gN^h#782%Qh0()a1v9KMy(q!;jqSpBoUo~YPK)TVM$Lg zCM_A|L{YWkW-G+}m>|On!AaNmhF#bbX2oC|S0OzN`rWX{ETo74gTrBLq@U-`8)nE1 zx!E};gee>32s%iZsG3C=Fjtcv8s0{HwqghY!}s=lEjL$ka?}PPH6($q8 z#hSk?xeISbkR%p2x4RJ$8(1BLLJR<+gq~abN7Qfs?D=vokW5L}soR4lnVsuXph~ky zwllM^`+Kq+*khFcn0dHh#-Ip}&O)-@kQF+BH8v&Dd2@|`ywgitj!=rDkT}r;nwTd@ zloE0hCW>K<7Tm=5Q|B#ULUDoD-tGhvB?{0RNN_Mr3~>w>kRu9n#_Jjk_#`=8^E_1m-!^sJ<7JfmA4`paC>1KShnl`gT z5!5n*4oy6qI14o#2XLx`^?y8&D;QcRKI6O$fDuO*Iu<)5hBShwmYS>m7w`k#BSoYO zlVB3R(K5aoJqO|{-E_6}=!m$U@CVO7xB`&H5HKPy`N2dPMWG(JiV?8FotAm~5?0Iu zRbb1xB7oUzCn_p4%KI>3LvKsdF0NBgPzP(Ifo!~v89L_sNFHUGCWDw)(uTfK2iVy0 zg*^1{BjhY_crPJMI<&aLU#y6XPgY z#LC?~I_9YAmys^F|7lpKIc!+66}w8lc)q&UYm_`ByjQX|n2p&L$09-gTi(i4Qoxbi z_PDSkn(*6+6_AiUy5dh9bfBMh!XWJ4CaSmu?}ytENrJo-aQ2*SI0v9$)y zb`VRC@h9O7`_@vH8ACwz;6d{?nz)_(cPm8(IbIxyS|Fja3qYas>zZIexwJ%kjAoa9 zshqnPoSXr9A&}!X+BvDJg}?U#H3b8^cB)K8Ce`F$#hn+FiOLuq*(yh_Yb_eQhbcXy zYmw_-EwX<$e&{+m`#23H$h6BPM!j#RY!oP2@q+y~X#YR! z0!ZqjH`;6uw!6hd-hWUUKJMALa0`(++>DUKUTq9EN;yg2$4;$jxsy^7i_%+`20t3= zGJx9kfA0utU&ruBdl~H2dqFle0-o%4eX*fwB0Lj(uBg6EqxY(9U-#2Uf>NC|*-pQc zk@faLt~hFjs_-~OL03vW^wtooXX|yZvCCUe3aK5BY9?en0z;=Xrm}nw>lfgQ{^@x4 zF}jg|s#keF!&qfynMvvH?G_sPaH3FWPd0uVt?{BON*?_QP0qND6gF&+Z`D}Cd9PxK zT1!8!rT(=?1YNNzeYZ4OEc|Q9LR5a?8Z+>1qVDUKVYqK%-pM z3||4=<)ddI?3%!Fb``eS?Q!T+BF==3e!WWOezxDULC$uzN#!DKmtVDF{eCm?5=!nU zjUm6^;E&0pvaP~W76Kh7K^m{c&VF2U1!G~!$miu=Nb zz8vJ2l=%UrL(w#7p4~j3ODBQAd~IJ*sfuL3q1S?q?a3^)r4&aGlZ10Tnr7dwHcv8p z-*78~Jm9vo*~BTAtMU>f-ZsO5S8MD_Zy4G%{-MzSm>6uQ|75VU6E zG#3WPbSJ2B%p045;KptU#5Yi-4l`4yN3%o;Y+($(OTy2<=>j$_@c>w89DK~wDzGAn zy(UzOKA#m4$IsQfwg~MSB)Q$t$J;QA@h*X;vWSDBi~Ru*W55ye!l&t9s9O0nY&J1m zjAifBQCVD_Dv`^a&cVxK8j6enM`Vyq!McT5?$#veSYir*RS-D?dff4)NY9u1Qz4ohS)|P}?ay7M(|IJG1O#Y$${$Ui3r8 z{|TJ_W-vC0ZUGZ8hblNj-}>l?uS<#e9ifUJA&FWbRb!IdUv)V1f}OtTAZm_iWC<#o z40yfLZb_4Z5A(c~WD=!E&MY8-iLPxZBSlL#41!b@2Qa142>~0cmXNZJo#~gj+bh?=N!K0tKso2 zZwE)|`kJA!N&8sY(UcUHFSJ(~48zk<|F3-vt?x3NBtqpDWH0kvfeLC)-8Pr=XFp!5 z&HdEGy#n1d&e`3U9E@ykhp)!w?#;Gua#-jNK|Q9mw>~Aer?XkcQWtB(jc|pawyHIE z{iQycbPb4njhc0avi$6kscHiGh>g1?TizDi^@JPw_nNP4rFE*gTDkw{fJ32@3Kt>B zw&PI9#l*c17oq?;EiP~meOgK4I$A@>nTJ52+?ItZu4oV#;T4A#`lRJJSg{YAaLfxy zqNAq<{-gc>A%_Cd^f?zi^$Ha80^_a5rRI{n2d zGP65+%z$H!029!Fyy0^u+R7VMNWxrh^NVo8EEEgLc^8#(j|J0Jui@u()~;&&SeWBhEzZ2or3Upt;WvGUq5@CELjRb8b^DK=HYDtQ>o;c3BxtJMEIm2J;OF*%!M5*9 z<}p!sfkw&vWz_>XDA~I!K1YRw3s38-Nv>bBu1T6JL#7P=YLd|@lFrPybr7xJc|hQZnVB-qF}!-irfl6jvRq+&YJi#vKQnpDP2&n2I*Oi#?n|gUl1P= zD!#F0XK<>szIIL8&g?HZq0U4pU@*K4@>`z+Q;9sFCmNKs5xNCoc_LH!z;33J_)oYt zZX1#$Yawj>_5oPB_sG9q4fRb}!x3r&6P`p%NlEB{3R+jT8g1}E`Q+jaJop}(Ey&`j z+=-y5=^ru>)&5!Vi~%FC3sdP0Hz$&Jy@#NseWV5F)tB;E%Dm1e%!yZ9joF1#1YUnr z{Qm~;t7A%ixg5}-C>$peu^Yt~t>D`?x%^()%*=M$(t=sQat$lEHPvqv*7|xl)=Ogl z9_>>yiw#m{+^Iy#659OxS0#KUyAAPYoLts@;=_FPl9@>(F_AbzV3=$#JOYm%^aYbd z9Egha+Y^4GY0e{nBbu6YA1-Lp;IWK<+8sPS40|Sy5kw|js+`?G?F>={zKXNX{dN~P zdQq-hU1qKhbVu}bi()i@gf4ByCHLykeU0L`3IrB^Q5DH7o_P z(6GnA5EDsRuoQ+N2`zuz4KCyAyU5nWV^-#I#S!vI&W)JQunlYdigI*7^`ANv!*?4A zDHt2tWAr|P;64{nYib663E<7t-v}8JPXE`!I+E8~Ru;Gq!63TtO#iox9YhhwA_cWC zB6Uc}lHa`7Ve+pjdysngAWQgCA2n}OJ`P)`RPd-MEyVdAE#L)G@Ssw#mV889-rIY`D352 z9-^XH0*(fW%la?>huI00%%^O7p31~R$PbV^WZOn)62|i-A1Y33!8z92v&+y`dh&*F zPt&uNgrN2*t&Cdh%PI*<1Xtej3bn-KknyH#UQbTGJ`O|u)Pto-3oc;U?tg3{0O$b` zq%A#^xORbl@%b1Xe}bV!>hKyL>wYc`5JPV~bO1A2-KDmRq?lACB1X3Lxp&lv2KJrC zzPHwAsvy5{mxl*J^WR9;H{YJeMoxfPdgryn@Hvc4P46jVVj{~;KsQBi&tYXkpnHK+ zz;a^ds@ucy!mC>FX?mHk)l9fs{=uKek^OxXtH`gBZ@-^O&2Ggx&lQG7%3+$HMWEE= zVl}X?SwOeV;r{Q?Z^E@|y^;8>HrhqXoWCto`UiD&H-CM!`8_#vAdj|*m~^{N{fCLL zf7XmA#YH!$TL#jVMz*=X#!esGacWIwlp$QF-z{6XJzvD1JdX$VNJX|;ZI{j^My~zS zs5ER|SYrC}oD2N!WHuI>jBTFS=gFPi9*Giu=bR+U;hwQKF8=?ohyVO&p@$@==-{vz znB0m)&NNwMLvo94r)g!;R%Ju!ib%eJ<~Y?_l!cd;{hiH89s?{U44MGa^{LN5j9>I8 zh5q&6;$z^V8l8k9l~(*Efv{&0s=aY1d}WKr5TA)}0^w037h@%H38M$_&<0s!g2qcz z$EPW4k0dzfHO^=(=6N%p;5h$bE9{+vM}(mkt?y4DE(fB#(R8@xMgC zjw+iwC@kD+GyWW%v{?{eZ1nMBy$gLhhAOYIk+KG zlrCP)IS0wYlyOq~Nt@qL;>+_EsA|EDJ3h@&-x@*0FD4N)ctk?gQa6Nk8ahUj(Ge9wK=7BUh8Ne}q- z%N|phZASxziZLwMa#??%(RQ(ENE>)|ZB5~c;(0s#j!jOzmTiBw7(QMp^mj{)DCl0j zzN~ZnM9g()t?-pXtk=52TjpXRi8R2D(kSV&K8?(_`*NF2|3Hlrqj&cD{`l(nW{)a~ zwH09`+~}TXLyGf${A>-IKKR@(5MxpJJ34wB;~DN2I<&zyRd3|STpaAQMvXJ^=tpSE zZYLCt5aIJ8z`|OV5Hk5e>9f>V`HxWVxrssdYjNO4-t4k|ST6f}xp*8j!}93Wpp&=b zbBzo!tkNkprQ7#13hfwHgDhwEkaxopL#v@AVe%YqBBOhE;&l)6R^d7NlmKHlfAjyz z1RW@xW24gfAG@>)7()H}Wh6oZ37O;ARp`qWUee+y9*BGSuYphkhnF~P|(se>Kc42`>lu*dh>)&V1IwTf3k=Dg&;eTt@d zg)oUp=4-g_DS;YdH5EttMfvN-q4V#lCLt*o@BrNWFYF7G!vK{iwEOac)-HLWh!}Oo7 zxgVYuq5Za(DT&+;%1mov=>OZ)gpXU&RHpehl&`S3Kqa+UzaJhZ2k&o}3KL3iWoT}I z>^6Z6zMKrVO;<;@yIwxvq3{IO)fNzd+oXWSjVOsIinuBOUN{g>@+Uq)7~l$=@Kcaz=BqHjewOSddw7Ya^g_~g=v*wiV~=j-)g%p_`!os@ysQ)E{b!b`$B=N z_B%r6dFD2>N!WZX!$C<@2}neK4-isxzo!AY!+W}}n7MH(7oJs-lm8S08LPOjS#)-+ zW)sxIdt>!ia3itQIgBkGdTK(m^(|Q&VnDyOA6)#7|IWmQaTg>0ht)LXx7|@FKFT>)ncR z4MSUm&ZQe0cZh}}kX>P_!hTCO5IW^fLHNQWq`UPpMvr|Uud65SmR;ISlGhwJJ|PYp zbPm`Z-C0AC&N2YQN0br|zN#^Thlc#Qs06Zv8gHPQz_Zkn))*0*;2*4rEPV`hBo`-&X9sTJf~RDcY8uL+YfC(UOWkT0HH5RV>b?B_a|E z+#mU2Wlb`(8YtKiN8knk(YahncZi~#P$ccY|-f= zHQRUjhB-@^;E$##MHoOBf%hPDOhd{zrtpK5rKP+Z8XBol4WO;8xS{YTd=+4>5`iOn z4VMhnQU1rgGFVJMi9-VFLa4-2yK+srmO}rqkx|9kk7&)1@FF$kxABcFeR)hV0p30_ zQ!%3z&bsG_V3lsO2zS2anbpt(iu%Ze^SLSu^SF2veRz<&S6tIVtF+uvrj|CVQies2 zX_7}G4srzW!#mjO^?kCTQ|A@oY}F_Y@?1RL`vo`ch5j-XWZCM+oJ&pKxBPdp&*Nsw z4w(NF%WkZ-Jo4$oZ)o!o5y=n={&P#EWLlz5y6e?mlm$u(994$`GKF`}jcL)*o3VjB zD={5rOn;aDpFjLKp=POsmS?9$O5bRv_92GyTOu8#+^25L0mb0`3Seq=CSq98dfWNC zn}IlD+=ogIlk4gl5`MT^J%#VPVl@LEwZ`y+hC|`Zs?LhF{gLg|eGXH7p{qNGU4ggq zv_A0^;eoX(*M&C>{$M&#)|BOFOIhUF0JV-8YCKf}6wqo6bck3<3VG;r7YW#!KtlRJ zXn`VBc;8?q5$xzUq`3q(Ig(M8jTa;h<%_3)LHD$+MNr!uO_1;?tfkWbGlt zh-DVnxC;M?tlh~V5Uc1Bq0k@nUA)(`_45-<0+d9t1OZ;ImdliIu##`iYf5ONVS`ae ziR^+{8_w=*C&Q?VDB%6b3gQQp*|YH7VYC+IftZWQL-`@v(B1Zvf<`70Tv6ZYXOTP!#(EVvzMefhJcQ5@P*mVAyaWhJ0030cHo z+)_KU`U2R-G(#!4Fb1JRvevlWr?AeCD_t1B2-6^^=@e!isNwBKR54B?*pvq{7~SDU zu|p^Df-h8i9iCQLMnYr>JKr8VISty}AV4ZOvC%66dq+M1GQ#JuJ?d~Tvw8y&w~2i_ z+&CiC4DcoX>(#$b^a2^>b@91Lpzb7b@epNyYn=G><*!Fh+TCUBSoMGe#9x@cm>jZ- zHzRn~Zy|mF7a=fB=xz!T%AfWpClbtV_E0+tD9{L@xDt|gReOox zE8LP#T{PvO8W4MswplOsYA>-buHErmG>iz|reAZsSn!A?>sE8l5Azy&uuXE0$($ae z>zMD>)!MyHno|~wiHdm{JlK7l?mFKoJv@D1uu?DS!Vmv3ncr8$uZfZN_>$hCanD(| zB0Wdb4^{Zo&d_QAVYxQ-S$tHvV$c{~XrH;s>MHrX@C4IXO_F_g_#u;Sc2{wtqazoU zXwoRs{?aZ{yeO#VQ)4rI%XDPx?Bxy6$nie*hv~PoiVvIbov47Ib4%DRqyJ5)qrw^q z^?d4X(}jDm{5I#})pRMq7|BO7cG$qrY9Vj!eDYjWbWf2xxthm005^7Xhr?CjrP*9) zNfiDmG0mvn2)DG!R7;A`6lq_$mE6QksDoIpfnKE6CR~orKKx81T0eE&n_>Te5}T=Q?FGoil0`8`l`I)ikVlPjOl; zs_6hDIeijTVKW>=2S}FNz{b<9bCuiVB{?2hSpMf@c#b*int50!u6tIM)$A>CbjlYt zS+VS;j~aBk!ua*&;B(GKCY7kT`*_Kp-00$Vbb8TO7x_!hq~|*5x3a1_aPoV3vulnfEVz2bV z)lzY^D!1{Ix%AM5cH2IU_*YA7pvY&BD=Sb5IS@X>m15J8aM-a`Bn)t%`;QLezxJ_! zf^+44WLBW(eqUbEG3V#k@zBqeTcWFUJzIGRdW$~~uKId!V{@v>} zeXB*r+reVF&KI@sU8f6#(I*F`pjnsI{YG*QyT`ujYyw`6qLPn}Ikl}fQC z+4t1A*c!dNP!>+k52op@`zNaLrmLT$HPIS797$h?ckr=B>Kkio&XCZW8N3i78BDC0DL`>wlGHOUNGRc9}&HH>~D}m|<3IP(*rvuPa{R%(uHW zlc(O(e%WMHRd2ZKpI=R!k!kRV*>!*1aJU=2fX$s>PiJ;Jnms1CR%URFz#NT4WL0C@ zyb_*^@5j&Z&DjUex@0$;pATx4%ZW*ZaxTD#FFzDeIUX@imv9CpFHJH5hklZKOs0tZ ze9E;hDd}`vlf_;tfXUWJSIKNhIFXcM*b z9`#3dZI)Ff_R9p#ZtYH@(?Ha%`hZ=Zn0i!?X+xX8M`?{cm%V6NC0k!vW_*-xv*Uhc zkE7jLQ}QEdj(3Br$!;@)I785v*X}jc z$M}iu?Ey90JsN5KIfr;is>p=&82Hz&vo`k1z%BmSUYpe~FVFMP(=RwI->hGC706`{ zr2YO}PgQQYnBRRmk>FStWlP$}FT2Dxibh_+5w;VQ@$F zw)b5LM33$SGAPz z;c6D_d}>Dg1)w0w3+7`BzXyA)MKz3d$Nwo*zLYaSkKVy87;0>c?pI&+eWht zqa_BR2ZsLsP{iRYuH#0{MnR^mkQ64RM$1T_!Ug-q^-@wHzCvam5`DYLeb7Fq4qqr% zm)Af)q|MgXuqyUeAq8;w9bmMI0@hx!>TPfFmV?k9H?7lg`4s_HHvM(Cn~+h3!{rt? z{Jgj!^Zm8W+RSuPqs1Zf2$jq@%Fxyrqto#!|F0r`m7-Keo51DqB;{dG$*t>S>i;9^ z9fKt8ny%65Y1=(*W7@WD+nTm*+qR}{+qP|M+BWLc{havXtzUITR8&+{?983H*2ViJ_ z31=(4Vap`N&bQ6}uH>tsV2874Gir7V58E?CLW5_v_(>*Xp6+`PKnvLYoKEqTMDxf} zC7m7W@yA6y$z~`JS6NamuzC0Hf8o=0?df8oqk7zz1l1lA+iE+k**8VhOyAJQLdM*y z0V;Z+CV-<|S{=3oiepWbBs%K1ik)q%R9z41SD)V3C6`+To{zZay{h8py!MRSh}e&eqHR12e8U z-s)RM2~BVMtuyJY-ifr(G07U=-V(7y!*-{gunj4H!xZ(Qf|a-@6*NOWqgLeeu8@(Cy9pO6`i3wzj|)sM~%&i zjxCY@L`qTfWi=YkG(=Mn;Ih5dfVi|pCCnRQ3|ms9zXyj@+`g{b@^XAtvX0Ikt@aYF zpGNWLa$b)LG~1{yo8zOW542+_i{I(ZD+ z$?AWO++1I*)eN&@;!id-mm<_S80LcIgE)-=A;Tj(;J7_KKX1L)=t^^Egf|8b{=XP= zv8qPcu_h0?TIZEO*~Swan3b&jr1VkX+?-#d`2|p<6t~6uyIi%A%ZL+s+=i{ObU{Ba zadLv1|I7BPOO;#ybvT$iY}Ym6YsvNbfb)7|Kt|4koZ`1_*kN z#9@{IS@2#~iz9i8vI(G29yCcyE~ouA6efm+t$90o9Mu=IH53SrPVw{l+(g^4=Zt+L zXMHZD2jIwOe>s?xfeuM9`2vP6CfR*~ocf`JsMrO;C>$}HjF}uvB*dpo$^S9yf9*GD zdp-ZCsH9KoV!hs|Tgl~c>HADvH*x8@sxIH(OY47)ve$NTml6}M+n7o!l1gIDbzh0w z$;jHS4jjU!J0~p?ld^TXQ#3t(p=a*5x_LbVMp|Ow>8l^RpRco3&%9Vwt)g%9yCKQD zzdZl-*^Q4igP>F+)O^n9wUlyn$=<4{+rG3%c^`Q1-=F%GWo&j>-G$UFQw+ zA~UDR@2|Ut_fC6VZQ~1$$p)90Q7QdBeFAz9Kvc?+aFB{3q$BKvo{!n{%}%ifsiV;!pZs6b=^=$ujhR z@6{lNG0pORou2}u&e~g1BrLK*uN?f(leDUEJxYYU?Cq2l%P_g%H!N$tjZFhWR7&aQ1idpfXEIG~6a3XhNG=ediMB+=oA zsJ!qm3I;yDE#CPv#$yvakeq)W?0%~~w90QWe?$-@uLUhN-)D&X(!c|O{`KzxRQeb! z=b%mK`30a9q{`hC2KiMi-ptyPn@Ou25)NEc_R!_vn$MRQ~M2I7>QN`i3dBG<$`F4A+^(- zj~t-WS=Zr8r)Y4SIQJC=;KFF&8hp}Ky4Jw7M_Kg$7QvkfOaxF54E(4K0(YY?mq=E! zfCQ;ZAasgXXXUs4p*oRJG60uoMfaNmF-uJi1{bC4XY*)SFtw<_>OSpHBSXQ_3J>^V zRz9P}+vBM1@!_E#XTvt#cFe3sFRCmk>bGN44u5X=5?gFHfh?ZZGgr_V`u)wvN2?BYcpYa+@>e^DVEXm zB@hECcLG#OJG!S>DE_5Y+@CJtg+TnL{X9TE377_Lz-`5OmorWf1e5fHBga%#jvhvV z*!9DbT8w6I`5p6@&?h`!Ls5myJe;2(Gb1>Q*6(EtcCM+ejvPx39bLdQDYqxINLWlD zIB*4TGr+e(kGK)y5XGwQ7&DpecWGo7cgIgxx;@hd-c3YvnzBl}8{ZgYN*b{D$vuJ! z4pooS7J-;d*JQ9+iDM~8R zqPQ~SBP1fan3#T7Z-FWYTnAR9AYr}+g4H(0h?1q4z;_UWzYJu~qsi*E`9F~eM+-Iv zXReM*h@Ieoe1ty)d=hsD0HwW==Bp)dP2%ET$KCCtGiY5e>-X&X*+$JPU}IzSG=L}S zJepna-#lAHjylEi4Y!v*g9f5KettIzL^hC3-Gr7feM5Tk{s5qbd!=Yd%x}$ zLaf}pz7mJ0qKNZ)n4Na#FZKCYtS7dE3Jd6kp`G5HcYp-e0%wbd^DA>)Oh@}t?pB9~ z%%5=Y<7Q#m#T-{@ye>Q&lma_x8)1B^abt9kBWf3~MkmjVCN zK2u2F!${`=-d;T&XVc@g4}$2`nk|uaXZ-~s<4gc=-5xRe_Ayb=H;c3pzX1)fr?``; zUR|SdCu$#2EOF5C(NSF}v>+Y}a?w%m4%6dC7)l!>>(wV*JdxqIf|_RwLBIbE>}B!CXp7 zsHB?ZR*6gD=SRUO2~+4Cv>K@vt5m7c;!lANiFfWNI)ZwJ9#^j>dA^-BE<%spZjU`| zw$U47JU-uVy*?gib?^=w;U}mE1rnkOh6tkblBzrY&L=vCa(Wh$<)vj!1bqu|Nh6cZDRcfR{FwXB0N zBuXw~pcG-HTsP`<4Jt@NOto40^j_Ws9RouhEw#;RR-N;WY_^;6;q%a#pxaErXC!&i z@MW1YjA)uu#(rFhf>Uucfo8$s<6Sbvla0I&WCMV$?i?Eo!pe z39jGypCY9OwFF)gXO-+YruYKrVfAWg`B{$Kr=xbNywJhJ?skk=@*sV;6yL-ji~njo z+?=nbPVj?liXb<=-3Nd($^NM^pYWf$gT)jnAy_U24Q=&)F`~l%zqa*%uYurvT=Lk< zcHqDEcqN`%v%A@;y#R^|sg|dTzDxs!QTg|RJdPbW*6Ds8kPnmwp;6f5x4tZ`d&i!# z$VP?Rx7aA7*ALvl(rC3mq_~}+rKrT~#PK?N*@S+MzaThzc>}(!-+-=8r-1KbTc#MS zmF=Z)GE^rOozC7~y(ViS0&I|6-(wvm^~ zbP$`rU3)&ODE>F^n^#%S*Hh_=Bv%TsQ60vg)%d+vk6m&c*Q?8I>mE1MHU^}eYCaEp zdpNy$N}v006~tR(tFPO-H~aJ`4T*ly+f6n&l9#$4hx%Bx;8tBx3f(>(RFnFApQ4_J zzd0gDN^RBl^1lS}^Y4(~QPEw#i5}B`J!AzQ+>cQEnfJ;CEo|spjHmwd9{o=0eLbXD zz7{DAbN2a;aDbcqr>+(FRS#+}A|CvCQA`OvP10P+1x_5GpuC(_e=`Iu!++tCk~7*3 z$L5yXoZCU94M*3mlC#9M`RVj_6#fJ!^LS^!kce4TlU{v}AOL)gSH_Cyu3m)8i&&f5 z=fwi$N;S{@3-=R112OM=Sx-4%$!Sc@wqm;%S9R>TCy|r0u3g{(AB(uL;Gn<#oQ45>}JD> zprf_=qI8vS>cR^^_3lT#H@z(`5l&7Qz=De&{tx^C*`gc7>92qngE^8z5?NCisE;JCdQ61O zuk)H3J9Q*{h@_Hs*HnNQ2_b~#u7MlCMD3wLu)Nh%?W;~S&HAgcmyDGbm96GJtluw? z0bv+T-hcPQ_6H2aXEvf-{TQ_|QoIC&d@zLe^nkG8uF{|1V>;(gUfZ{!LaOoeL}2Gp z_8^U-#fTE*$xISijkkmY@5$NBw_Gv^KV(BfT8#?-;s%6mw)BG-w+tqXr6UOjJBl>o zrL2?@rDi7!EmT|mN@#kSD;R@feioay(h0gb64GJD=mb?3i?V~pDUH0}`uAvcwWajxG0~tLufVK zx~e3rVmIK>it+F`{Vr6-q^?oHQCCfur_ARwzTZBMU=6tw^zzS3>J@2>AVwbapg;9Z z5Wt#xh96Y_22)^RfXQ7hrxkYvvkOIMOsgS0iRz4S-~fND(6uKv2jUNaT(UY@J!T} z2(i&w7?6H|>NT6XSf=IPE?qmaijgAd>s7jo--0J>iJJXUL7*oFjf{S;DwqZ7$5o48 zuLQgMQ3X>-o?s%bYVRzN8Vt2X|IdHlz6V#$Tt$^_e;5Pd4}u9%^O*v6SUny?>v);& zBAQs(^M(ed+fT>wTkNs%Nrr2Uplz%NqztU8WYK4A;7)~{c-`iMt|5|BRL3a>p82YL zvoeX5m~kobH=<5_5m&4zQ#h8vL=(||(*d)_btyXpAi;d%g_QP{kry+=larRB&2gCZ zxXINjCl$#qM+OvWKDEB2eyz9qp4R8$X#>8;9SXx<8063~Iv?((-5o*Ip33agV1I2! zMos`;o;qH7H1Ouo=81bghVM=1iHyactGa6*mPkl|64A%?GqZcCJiun!A5(1RDskf@ zGjOY^;13IaHq2f9k>+L@Qok6QhN89u0)QsRSEsY4;)ko``=-;&%jM4V$Lv~3koXL6 zV%TXrRhXjT0cd-&=u#?bjY_awtA77w{NW;RV{DWGNe+LRoqgN?i#pA2ajK=P&m1JeTCodH7C0Y9qI;DWI-j3pI6gv81zZ7W+r~gk#7|cc<#9P&&0naOsiC|()uuO^ zv0VUdJ&V1Xtp>-jN=I2N|6Kz6`!g2GVtOtK&DcO7ruX~1%kRrU3eOt_-)?Uf*iB0; zSrLH1DQ}A2D5Z<`v_wq-%x<{$3V-(iY})k}yvTTwP`CmFpt@hkm4-r}D4xGtKQHea ziP#hr1(A_OJnizqq2lL+U?@q8(mIdccdq?*tbr0HV(4EYTeaRJozvHsQ&}&jFFRdt ze2*oo97?TM=Tw5X8441K9VRa#hdsuCGxD@zAQ`Hxpo2`{)rdM7reFK;;vg?+O*vvT zICHrB-El$giyhBy5y4Y)S|;!wEkjA#cX5p9M_Xw<_3A|aaZp}WVBipUs}nFg!?(h-nSpHok0YD#Xp;ZPpp=ut>*FJX-J}lS+>lh$I~%bV+i(AH<9H zKLw*g)_VYt+o*HpzinQN>l zU)&DlfKt|vmaEAoGeIHY_J5<*zIru-iKtq!v?TSudW+ViNo!;Nt$8`uXEmCilL*|! zbI+iq_}PqYUx5Zt5{bWEBXeMo2nGE8H(`jb>3XNL^fU^6%noy1GEQCCQw#1OkT3V| z-C^ePnyd%|qja9*lHLy14}Zzv_n6CXG&DuK!aKCF3eRbgiieWVB5tQC*L~WDE(QfC zr0HXE8t8aG;vqQ?hYeKCPHDMv6n2v=n^L%XcpKdG^2$j0`*Z&gLW=$Y@)Hc|zu)i! zM1797X0Wg^tf$+4`Yih(u1B+X@5yT^O*unE?3Lf+W(?t54{-)Jd#`RwN!_k&g|+V< zdQ^0uln}_P^J_OaJhhNC$(+}yony|BA-l_^OzmW_e?=PNwM9sxPc7crHft zB@#Uf@7K+dJ{VwRo0$-3BNGh&wzRp~1^-#P*w|1tf4&u2S?PR3tJUbfj2~)}ghIUI z^Iem>U4ScJmri@ZM(}kRMq7FxX#q`}5Uxwg0+xeXkeyf&tsnVPY|?!{7FBmjA++|S#3YHBRKLMWK;`92(AWs`bx>1O$PuJhU$Rvfj$ za4G|iIj-M}AH$LIEDAroAFsrGLlRLP%o?H$qdu3VbN|)y*KX&zGOhZ8KB|x})nCp313puCnj!Ls}p)}FxCv7wvhoz1a8N5m^^n_-5vRp*vweUUcVTvke zY$PCfKRm=cs((5PuA74*dPIf!+I?W-L~i0QqT!@3?P zNRydT4~`D~P0;Nn;pN)Wr?Sws2CER4S#%vPTg~EowY2fC1$KRQNv9;>-=AUC&jPqb z>P!)B{RWmHc$|lf0q5p31(1)ic-%#siRj!{;tlt7@N$t>+6x$@Sbr!-<#bbCEi?eH zW~VV<(sX3p@n`S^@&4b{n+dU0Mc-8RQtEaZomXXFm1yGO|LEzJuXx-|@5grj=@z)e z6;>ui<<9~Gd~#Em*+)h{@$&<|I^ymXYH|=+MAJEZ}8i?LBqcxtNU}%vkBx<&>3%w71FG zcd8=U-k9m8?Lf;CYJw?q!8BVtJJm6M>>8uPMaSo9EyRMos6F>e);NOraY<1M2S1bR z6vgz}@%vA0G`9b@2}T;d^rV21n-L4#!tzns+B_+i`AT^nnf;4qSg5hG*Z!NB0h2$>* z#O9g9bV3NIHMdRh>Fz=z4e8uqei-UPl#CLTC=U&D>8%hKEz@9|lM+}>TLinSR6i-0 zCN<1aahp)wU!u8_pVmqZD?&4MW$oMZU?wJEbXga|g1Mj~CV?%U*AZ9BfNzR@ zyadShZ9dnEn)LQlmchYUYkLrt*jvzLdfC9@rk$uJjReSZ#j#Q z#ow`fwxFb_rr1Xepbw}(yHHT?3gs>x!8kBk@~*&t4oAjCac=f;5Q1az;y#O`pu8%p zZ9uD>WOMjWm!_AIX2yP2P1C0mIevcR>TFSH^NmHjyW~_U ze1UQD+Cz26M*e1w8l6{jn^8dMS|J6U7}WC59x(`R)eHGFHMX-!HzKt`WaxjqhEd_& zN1k)UQKLY)sSs8=V9#*SFlWo1g3y;U#326JNR~6f6DQRymXw}-)WlBfR@Mu~4zV3N z3@WCOUL6*k`Y>r>E2ZGVNl%A8)vrp_Y&hDH(WsZez{VH?u7&eARQ;1_izHUm6uyLX z7~(?EU#(MvP(MfyY(&POn0PqdYeZ^Hl;IlY=LY$p4hIZGE$(ga;2l0+LBe5a!bcdZ z(Lg%HoCezx`jXO5ara&Rapo-zS=^XXWSP}JhWjN(KlvUU&d8_2Nm7lr_n>;@q@wBj zJFlUX#+Zl&`tV>QNlT+IeOO4`uAUFG5VOxaxLkI!^TF0J+nJmV)E{p$r5osy&*9WE zl1ql2N5}de57%pb?mv1C*KKR47)4jkAFrj}vO6Jm-Cp)CTAh_q-ZR2RBRQ_4(77F> zD)qkqt!8p<>!N-n%@ov9Kq(O&O5iB33QUj|sRZK36F=({z<^r7ajY1bz?(i|5I-+* z)L%C&WPh)=iv{)bKzF^c=E@vfEaT?d>pH}M#v13lN z#VSvbQKejZ8x8|}8l>pb;IW|SbzzD>`4OY97Z@LtZrDn4#(WIk`#>Zeo?)6dLfv|G zyz0B;%HwBx?f%HL^%{(=5|*1y6_{whN&HMbrb^JnmRYUJ!sko)xCjl36%T!m^1E2K zz(?p8WBbz7E0<;V(z$DgSvHv1~Lu_x=!MCA4MHQF1;COfKYO3z2>rYH&*w3cf;qm z`eZR_3wCH59St9I_DynnsjvL*?C7Rgqv7Tc(9*2l_BzthQJITL;=hA>d=lVqgNdZR z#D3}>#!(O#gOg~(%gvxAAT zrgGuy?`mD?4FPSEM2}X_w7rMPi;nGhXwE1>E@#nn7xxZ+CI=+6KPpKtOS_qjmCIgB z&MvSbxuqBJ{yW?9_QKQZ8O2<2ug&0*?v!;}5O0&kf7*ZSXBktnS?4ixPBP1r&zk;x zjBz%9!wc@#WgFkT96#XO-; z*$IXza&i+1Iq)b>g&IGs_cQ2~XYQ7lua5nFHT2r*XdzgDpvaD$!`=m=Q5kaP#*R_` z(Zk17&D7zIkEU`30s+FS%|CGus%Vo_3|LS3(FGG?{$DxuvnEiB%j z(Bi(_qtL{0T)o$Nwq4`yoT4&X>>}F&bcj7oCIC`U>AYrJIM=Vtbye_doyRIC_3v<# z5FN^)a{z$N2oslWydGEEZqHgxiBk0?+!=3c*6S0~Y@3L`_pv*~%6Horj>CXUyz662 zcU7d1(0a@Fa`1+YO#`!ChN_`nQkUfYCH&b{S+}Z8mN(Jm(mG#;{MlX^U47Z-d9WmS zhDa~B<}>8$!xiS%MSgY+CmxLggS`UPtkLIbaAoNcw_S$G*8GLC5Ct5y2cM}t-QGZ> zL8FSiahVaSq^G~l(9E-17`t#xVYd_?b9(~{6W=(@nO=Ob)j7&1;c4&g;Vk2AFiU@` z2J&gLk*LcwO%*D;kqHlOz9|YZ6J;z@_B)i=5<}lXeHgoFB=I zep?g!m6U;qxAmB?8=|c_gI=3Pe;D<$#ZxCjHUjK($(UNz`ld#U_$dN(J>_gyV^>*G zB7fV(-dTurYuEjn$SBz}SI+mL9eeHsRRe+KKg>vH_r>c?>YosTlu152IJI>ucs|x9`vG^*G=a{@mOW3b~|Osma{% z95GFTl2Zqs$Im2Wf`5%J-@L6h4?1WKyC<>$b~vzeN_oD1ziAq}T4rouB-HXVuWhpq z4U!EFUfslW>}jfgpBafWHHmYs4aZJk9Mrsv56tWY|Jdawe41t5-c3{XmpZk~X-v;{ zZ(|$I^R(*AI;AF_^Qi7mR#Z~csHUw5*rs$5b24?XDAXM@fez@2t#CY@KY~KC#}Rtv zCI3rSrYc}2bPI+~^STa=lZ??7JZRVhnTmYp+>fH}zQEuPJ|-2&AJs2|5)GwHqp{Z* zQVccKNtpC|zY>nmi8P8pg@w-0iBulHuo-*m71S71402|GxnF>n9JR|P{OMM6;sZdI zz5bJ86O&^sG9ScJy)9}3H1PMZl6~-5Wj|1h<)DVj(WWY8?=5XJC+maG;P)HHzkWm? z`Vwv9rvXSg4P}ZXBX2Z>-PTYrHO6J3mGhFJB?jsVWKCH)yMukh$T0LrMEBNqz8TEF z;ebK$!@5)He7K>YKo6!{q}yOLF!1|R_fYg(A|ZLy`aB;<)4=r}@W7XwPC#h7!NOvI z&e!lS0HPRblFin`91rr`I9y6cM*!GV^gpJsi8Y5WK|Z>s5KbJYm9wP6Nsh56L5MN7kC9fSH4@VBovN(W3%wn>e{fE zP+LVq;Aiz*ns51#k5Gdr+Lqedc8;3$kM>%%thLBUBV^^4a8$gViUe3Us`8UV9<|C!*ll;iQ91 zM0m^)LLh&!*E z`m%VkO^0_Z8C$Ff+~QM)|I}2Ez8f52X>xdDH@ykbMXUdD8^Z*umMuwsGv*3NRCRx{ z2;G03jC)qu2M?fKqok@CnGs8_->MjlP@uZLA+^c!@PbZmNaS|G)Uw@eh>rJ-*tAW9 z@jIuVhl)O+rjm}oNYS;lX4`@LF%b<{sZcRe2Vw>FgNc&rS&FVM$EQX~(yU_4RwjiEeWY3EuuP>{# zb2!y+p9hvNT+I|%IC<(1spI5(_ATjfIfskfxT1`obtP7JGMmbF9|*(2J_rMFskhpAzdn||=I{!+UirA~aIa_(^0{F< zJcEpxV9Qk;Wz{k-KNq&cW;c4Njus$I;cRIw!bnPDuDw2G_E)+o-fDp<&j(P>w@u7? zUII;G!-gXn-$+45Fx^$><7Z6w9BFw4sbBr{F~ z>f&~+ipY*u#~86v3s{J0)V1dPhGN~TJmzlESz&*rJ=?!u`YI$A@@@j^^T}%or~6RK z(@8@{>;DJH*z>t}KpDR2AbnJW?K)7n>RT~vCj>ewjtNL51P%jpXs5udB>8`!&Hssw=VlDglVm5GCXqO4xdb{pSaZktUC?tdhwngu7c)eUu15D zs3^8T@G7g1E}d&6rQAH{JZVG5!1QNem9*rRR~t7y1qV9IMk0E9yB>)He!cDE1iWnD z3_+#)gw620%*^^-^HHYGp+Y!+?G>-DiuVy#X}A$m0}_SkmM>(TD4zVT>!F{aFoV<6 z{{pi3EhK8!JcA-IlE|5zK2>^#t!=JLP8*{DFIT{Eo%8(?@3Z=dtM2#B8L`#alp8+p z6=%(8Qc3rY3RQ&4(&!jo2lCwn2q3sxmyGe2_l<(x?CmV|OS~Zic!-nP?dEYwy_zIQ zADs|mt}s2wVkG1Q*8_(ysBc43SUbR@*w+>h2!p{ty5937|IwAX3Asl1BBxQEw_Hxv z`Nf>?O)9%NU!iSqa*g@&)Yf?e>Z?}n8#HL(l;+C|QOu%ysgTbHinX70Vz=I1zWND# zfqT!BbjUrdXX?Irjpw>I#2OZS1!TFBeCCfBs=*;WCyEoi|3CP6i&Et(Rd5h%76Bzm#|Q;`EAYJMt>I% zQaCob%d6o0WzT$oso9vu#r|hPVU7AfNbtYYWuNju+S=ES4$~eCe3~N#BgX`x&6k7J z!$}OvyG8@i!>ojV#hhYMXq2E_;~m%1XoSbrU}NN1eMAeBZp*d;?n?WGYU(DSp5)1~ zZWM_9$l{LsI`tzOo$rDH5Qgz_7F`rVw(p7y>z8<*ucEzIg5u3IX|RIj{flw?pX3pP za+C^msYg4g7bi6&IXYg?R_MzcgO*ZNz$BW~T6j5a(3o-y!j>7xwE*T|s^9|*lmAd) zUFO%9Kantb5Ess4Iwq)-ga)G`d>9s`JCoUr%s69ENL<|F0@5>Hdf>!xUUz~ILQAmg z6|}WQRm`b!zYg}=t}IgeL?CD(xn%kB&rKxs>$w(RpZw4ythX{6`cAOv2b)x&1r$S( zir;mFS$>d9oteW5?@K`gzZ@!I0wvDv+8wg9R2T0yc+wAe0(idlq&37&+l#z18fva1 zyp3O>8t`-mp?%lt2ayzGBSQ2>p8@YCD@{Y;67(N}j4SXdD3&FE+%HJMg-Me7j$P12 ziL;Hehc-l`{z}g8$5R@d==SXueBocGYGa^g?24JY`Lq%{KVi23fb*}=5jqliT+#q%emJo?OLwMjb49EXUxb@GDRxl zCp9PJjGC`LV+_0b{kH`tMmZWPV}eoQ$O;kqLo%EFT(oS@KO=NF2hb@}>`Un7GZ`KS z*pM&{av%lKj7it3xetb&)r4yYPloyDgspQxx$6%uhk-kYo}BF*2egI*4QEt_fjLj_ znl+CDvdInMJ7@%SF*dXXgB?7@U>CO$0uFME?bJk&OthJwp~NQzWwu&*bqivA-MBmu z;znmGe+}q_FgZ@S2s6Cn%)&_NYPxx|{TqV%5788(~4 zH#b>nA+_eD`OEE+8*9DaZ)mQP{K4Yzy~8TG)~Ab!`DP(;x%`+FewL4gZNgCWlbq=3 zHVNU@35TIiBiU|jhCO?B0dICGkFrihMT5#ET6I#ZCaU#SoTdtO)z`Q>y14;?7nF2| zZh_Fww74fUG-{ny`RBEElLFogYt`5A8DRO@}sL@z{Gl%|u35%Xv*q{$yppfj4jf|}eR&HzM?-)HkD-7}hZaKKhk;uV=xRmXK*POJ zaO_SXU|pML(+J6c$CvQX55!x1Ju9NbJhXXCYDd&3Te%mMJv_>?veM!iHVo2%m%|Kq zbaPl`huupVn{vzAe6QJKo_3rrO|>O%Lsdbfl?PMZN)&F?{^t2m?fxH&UKW_2m+rsGSoggX@8*xbF!m&;Xcy|6fuz$NuKCmEYm7 zXezi?c^;lkvx|XxkUjIGbr{Kp zZE0%yEQ%PTWXB|rzqxuBOhgHdo$}b5SF_`C`FXP$r>0_+=W8J2s6 z43Qy4uPH^xnmx;uO<%U%8RnX%pM)LJ$bdVDtkl5Bm>b@yt3+|<5z7FIXlB9@b_AOp zQ<#FXS|k^l&f&89Th+O0ZB-lNNFHfMpMVuhCMwMa;CWmVD7}nb{Fz@)8Mn({(Y{xD znSBt6jVC()1pjVGsq5XPlf^?zHNa2Y_wmP;Q4&cF$I3V>o@263|GUZMBf-fCnwOZ< z@Z{AO;OwN`d1Y=ZSU$dFEl0pI!&L5m66_mky3#(JXyvza9&^GAIZLD2UfEW);X5Z< zjp^oct69AgpQCRIIKQrlgmV%S=}hY^G5+(H7Yc&t!F%3+NMl&PdXd5<&ewWo&aGF& z>ZouwK=nYuR&c$%ia0AMm!Hv1#IbhGZ{;^hl#Os3sI2n6+K2?v=KOEF1PT@H+TD5p zn%BDAeA~+f@^qNdVDb*VFOZF-m_@tQpARF!^7!%^X;QQ8GVS?X3qDw=c=&~_JgNVi z%5VQGj~2tqMYsFw2v{u;WbmqxqqkOb8*OktqOT%4=g9S1yhPmiZCaTr35Fv)+~DGD zrS^s2Z%7}rBFtL7+$!w49t$6ETn}aZ94+G6<_gGCD`coTV+AmS}! z@03qUD%nC5rl?umQdIREITQR52F_{NXy;xh?;hUD3surmlV2sZ$yi|#h}Dr1j-lJ_ zaP?fcTeDW|vY^>t_xGH#0Xed1IzY5Ws+&0Vc1uDGUD}PDp6c;)rjJBw$O%po|~Vx(NjO0 z6-^=7A?Q8#zMN=GF$_6k$@aAp|sa z{biD=3@owuK;&jPynd#LzMW#z4UqH4At>>*<<61f$e(~L5gPI_Ji5hP1x{S+e!ltG z;*N&XJ-`hQKZ%*hv2jSsXM;p$Uf(e^gw3oXV&g*|7XO^_tAuCvuA7U#&hei)>akEb z&E#MF%XmtkF%7n&;f6}Y~Wivw#WzR!af!g#`g{ohAJ ztsv7xh_u4nK~!I|up;|8Asu~?3Az**3O>u9cqonVt$Ol@!w_hdIAl%0cqI4he@> zZjOn`MjhmgAYy-r|4y?_X)7zk8k^133YZj8(2%DnsG%&Ephw1+Gb8E!JrIIx$bi8K3T#H?-4ozH0WivcVNPC9-6QW<_6 z#oNu@mskg@!HR>pzh&wk4n%|mH5&dR2AO_Rv+mD~UNATC z!n*M8+h-iGM1Sek!TEQJkL-X>4=addnj}h|wxLnevlG8W_W2e@@hE-i{#A2!Na3_< z%h&K?z7mp1#cZ4+MP}jxZ|D2$6|}=+_=o;i8uezU*HgIW?fK=)uj((S-H7echKb5% z`6(k|#;{5wZ94$oirxeV)0M;Z~W^wld(`kj%HR2aU!4o}a2P%EYn_l`uF$Rs?)Q10l2{;V+=%Cc46U!Na4#}^3k zr0dnnVP+>WE;566h{Gki6l^zq^Nt0W>M@Q3b-B~v3AmgYALB1sbCaBaPz6^gr9{XZY+PLXW$EO8^NNc3jowi3Hx8>WCel7-;(XfFk+IwfOFX27PgNv1Nfh9! z6uJ(T?mxqF-{CDgb*HyjqfVx>m;5%)d45~JnWJsI&MB*B#+ajb2sL7Pb6o0G*@555 z3)rEjN@)U*F|w`_Bf?>?60Z#o&pKOL&rS?FTYs+IJ{;^EcB%7Ir8XISA2vHqy@mFV zcl_@7R>-SKaLzK46$0(n^K+aquBB}@yJ-kpy#=Odue*6@_CaIkd+Ys&o3E)R4grix z+O^%o9t+Cp?Xi(M$XJtk((yVPhV?pY)#hs%Z5RK}Z?l2vJGuGB@cISNEdR&DuR51jb`F2Ig-s;Zy}f8M4o zO{^Ly!ku^F8dM8o(eAC{-a9YwHo6YiwrdZQ|5I2Fx0EI<|NG~(F?vcz!^Fna!>`#B zG;Y&Z$Hg*Jc^TW9+`y=mTAEk%m}Fy~-R9>RN2&J5>pRJu0&L}od>mHHnzESQ*2>Be z=x>Zi0YQjk_ah|__)Ls{CAsbB%N;J<3qUZ49%N;tKwQQng^jzH*&5R|5OSr+#Hpc+hb=5*a>n*eHv&UO&%PabU9R2MEBth%1X;@IR;n+s_#LKk~lx z1nsYq+tVc6z^~55M3SJkO{n6%u)VFx+`cwSQtTdZP<)h zb&FBXFa##$GT>IRIDwI=8$yEhhn3z^+SzZQ;p~hAt2Yk2cV{#pqbp2A6ON`^}@s^#obcMVK-jv0TPIz^-fdU_uOHjaamY@kk$78 zxN6#Srcgs>QKCs&yESU*2a|s>=wdk-9+(i+#Q1C~8+mKN`Sl^1j2Y&`K#cnybTd-t zjX9U{50!DpqEux}7ftH3-vWWd*M^iY-)p00dTzimT;~1-ad;t=E-3~&^e+~eEv9%p z*l1}{AQK@N8?(#R4tfg3B4VNAwNbHI2jrW=TU%Wx3w59iwO~x?{{HcQB~+J#T4N-e{rZw7uSbS zUTqLPBs<0`f@EO`Q3DXRlh*zhVy`wN$z`_1koy8`|?SiC(zRZXnhkVll zdR%1RC2D*GJ2ZSdFThbT1wj!$Oz4z@@t*604`F`&S5mI^h0qU3K0AofR)#3I2mTeZ zuag6PreADh^p+z|f#IrA@~_fa9-*Q^!m}8{>z`*{bH}27JP;z6Xj_$-gGZEipagHO zUz<{u;)ofclg$FBYu*3-8$uhKsDu~D;KD@wyuiW0GH#~+G@<)x4TUCoU{A~(>w-#s zOJ+F-f>A1c=sxnJ$21mc-<>8h?n$xi?$e*SQ&UjhJhu>kvl*S7o#!;35Eth3s9}G} z?th9b00a^kqpd_7tSI{KX9LNV_4j68tp}i3v!_R0?Q$gcvialRI{!;{vcgg{a(AAG zyG|HF&#FoT1*_9x&0+c3x~K^&&E&k16nR>Nq)wvEDEh+<-u^*}ZE3EOV=>dYmKwAY4ZP=(?_j);lW)kIQbKvt zl2&PR>Z&6K#`HqGZ7?x(Ci#35v?KylsWidz___fZB$P$`;Z8|S19PtnF|Cbu#NKWD--m%U{g|u$FHaPu2$E;S7`t-=Y@*5` zqUbc9IX0F=pGJzuAq!OQ4ag!2{;f(rSC+dyKBav6Eya3vz=qq;bSFJLo|_2771pZ2 z^>$q%Yw!%1yNnVc_{=AAC5MoiN1k(d+X1YQ7f<9#$5PWZ*ddL9k={JIx=RxilYBi| zHbEin`Fn^NDxZ7Nf}&)qvC@04k2hEkV^#V0S#pF=tI9P5u})3Np}m-CGNu zv`kaIM+B#t^85L=rC(8htiskdTKSykG{%WSq+=b9w-G;wnWp6pH`aXY601;)ZR)$*=t_{GWb%kB z=AojsQrVP$X~Swk+QLOF+p`Kfgod)x*J|JLwSES&%yCbzP9vQ>kBMZXVwoMvdG~A7 z)*RqmOSk`jlEXga5Y~++EX@n%#&4z(+xhFJXQ)6AvqimAHB5p%61YlW#?Sn=pbY;% znA_hUgD@$QAcM20uFdiA8Wra``|-uq>*=iAl@10GaoXykbb0B_YgC+v$&KUPvNyh- z0chKx(|NTvzvz)h@X3ZeZRH9P%CuA0u_6M^G2-Z?0g$Y=^ws`U_GP7# z?$?XI>KQq2K;{xRK}~fU1o0^LaFeyDXJv&1H_$X6;Q?+k`7O~cHcpVmYb|h-u1&%f zeq_yfTOSfoBEdwn=Cv~PeHixqI(ca@-EUq0vo^6?F4B5cN8+Ey*XT;&vx>M!zqv1lF@;Z{X4Hhv1Nw5?8*&S71#3_;r-!=D~xCCCZO zbbv3{NCJuudnvB*@)fCVlPG62*QbF%%&i-+XAK|(1M)8%;6U7Fa)AjK75|G&$tiN~ zZ6+qDJz+0vMQAL96xh0+5Q6nXnM1e#x)WuIlNJ6(%~lu+ z_3&qO=nOx2!?fQ)Mg>Xx&6xjl7^w;U)VtnL2z+PQU%q9Z;8ZOedN`UBUqYo8T?2zA zJyMLcKSPSa22}En!s%70ElPzFW8B|vB^2i`>!2Es6DR|hhOB+?vM?xGFfKto6Px>5 z=lFhQG)S+uBElbQ%88IA2`11Y6X@IEoE6{iYe)39bm~GHx84*yK zve;m_RJqsqGk8(S$%du!KgOTimCwo^pTIrgA_x9Is@^d=5;o}8o|)LTCz{x{&55mv zZD(TJ_H=C9PCB-2o2Q@mUF$pF>EGS|?p0m2>)N}z?D(S*hv%#~4%2t9?HSYfL;Jv3 z&3|1N=W-&1N5l~M&kK(RDnE}so%_p5ji*!#{Q>Oz+TV&2 z9wM?SH^Aa3S;UwD-o*w)Wi@%XS5Z5iuu}hmEK_#DOs;kBz3j!QSH!_W!pU%tFo2mn zYP6809dv?VyS?158f9a2C7b%wZ&}+UIT(cdXpI9y)5WHS&A*0{dkz_^cm*!tt$#H} z9eC_`Nm7pU2>1DNMpRP4upT^i`C&l1u^)N`CI$;#S%2+KX>S#XF%p#KxonogitY|z z*v2>9`U3xObh-1q?(*>Cay^n=bDT#c_piQlpCclaUEy zlj~^j=(iT+qG6pNhes$`s6_;s5qA6UBSCWtjFR+!<+ z5P=x(tF_Gd(Nb!(X|cMo5Q7FjhpAvNaG0cDyou5tqvR(H&r8! z5SSzkJXm0}%%YEynS?%Q7p-8gw%Cl?uwqch8KIJ~zoha*lnUYF%;=htUAJArFG&7p ze%;$CQ0jU<4$`Xh^?QA}S}KBs^5o~V!gleJ>X!n24|Kt8i&dx;e%0JAbsarf^& zQ>~r|$5*|N?}HP{LazvU%}&3eNNr|xp^?c+nk)YV=<1j}LLm>YMtNrT8nC3LXOxAo z04$%1wXNvGwa8A*F*NQC?2|pCrIen|PEm;{;b2Ks9i=G%Nzy+6a_{Z-rA4oMc1w1v znMzufiOTb6ETR04KuN!DJn5quD)xb;wc?rvE$Yjve%W9gvD1u6lriC~|q8$;#Gb-4?rQ)DviN=G}C0`6vFn`*}NW*GF%jq{R5#bg<> zC$&|Qqg3VyAuIJuD8okfGF_dNL+_?3Ao{lJgyx|Qk06m--8u`j9!TUa+`^=I4h1OU_RE^kOxpaNj*i()?95&pthQG z(l66k$6#X1Trb^SZ2GlA%>l#$|3O>T0(9IH0$jCdxVW3wXLwOo%|t%dkBp^7(Xn)_ zFdh7UV=Py+-NL_Am#$C0)O>FiJ7Jav6+d+aS=M^GvQ4AT)*6kWMlzh|1l2}$d@%MU2v`nluc95_&Nmx_NMSHOILz(uuk+rsl8Q@B8tn-n=X(D-K0y=Z0% zC;T7Po%z3nUj>kJ%cQRmuQzafvAA;|YxgqCTLe^lON0S#zo7$AK;Lxwe`WG#s~~W9 z{ z3OUk5S-eH3!+}qN!oaOJZ#lV6rJzsg-(YV8Wl1$A%KCQCe-?7uDW2RMS`+TV{*`|J z*bVr>*Zu5!H{1Be;u!hWZaz860s+c{=WeOY9MAq1P=sy?3rIwRfGXeJ<&}tSUR0CL z!h)hzYjbtKfzY}TZ#Vyyu0z&Fmtqe}t$#V0ji#)ZY49|LB5FQ5ipCM3z8QM*Zf`3^ z-6Ne1DBUE3)H?lbTIhu)K5p&Clo)H%n3- zAz%J=oC%u5r^fyyP?37^xi96hGgNGbr198n#}&1t)bA4q&Xr^&H_id!pBZu zBg&tePfiiGzM6P=2LPirV8z11zl$CmX@f?s*|f9Jrc|{7OKjNZ`h4qbl?c01QsxeGIVuW~9O}Fmd;@l_sO)Am9$lnjg~u7Q*2Yj+_pcV~ zxGURO_`O3{>8ff65he2EldrJ(oXexMBSfIib$sT;_!Sbwj=Ws@v`ggo`kVw}JpQem zjaW?;cz>8%IuZ|g-NYS#xV67={;f+eKP>epfmi^k$g39RGoGYtsR+{&mEKaUxdjoo zu>(S$))_8X7JvK9HuaIspKZbAVPs&yi1L}`0kYn>fW9=yHU<)2j*1|lqk8JwU_M8K zpa4)F#h(e~lL_VfJJ>NMJQS+rQwyV=g50=~NrkLvNj36!Qo$YpEUiF`m7T-@{QuVX zkRVQ0qk+e!Uk+;aB2JmqQb{!N2lb;0^-dN9g;U_p`(z3_}6g6-D zjC)p-n6fg3ffTh5+ukP8_CZ4~Qj#S>EZXGg_zjCcCWq3k-SMXND*`DTwpE{=g2{_F zH+ln4P7if8V0j*waj)AlaB@7sS(3tPmyqlz|8TWn(NU10rXMpqg`nlfjT-H?=OMKo zA>}b!2r`)eoj{93eCvbWbnCD0vj_jqhcU;9Z;IBiwM2w(vNtRzao`^qs)RF#^D8Mb zlA-J7@XS7dp@Tju1D>+QLu3;FvEWt(pPsr)*dhBnrvNTIuMqU%QZM=<>%Swz8gKL} z;vf{XkTaJWI>)0|eZ_PaR9jDTP(Cu?DMg0ZN^s9tzXY~T@i#){_EgYNG{?An8Fg5x%jgT=S zzjw@JtFLdXna6R8DpOwXh9xU-)TQNi#I@5J9q}6>3w1(JB6i3k+2Q>?s=DfW0b|87 zDK3}bFwm%8Nal|76Q=Iv+ArgdIaqnd-W=^^cb3NW-_PK$QjBh(>!Omkh$f6|Q6mC| zRMh<)33<~(#y&+t8$tv8gB%itNd+(9A|p6u9aMCGM}#i?YMWpQs?;YNLTA8)#P0>K zG^+8?szs1ynt_X)Oc@%ER;wAl!-@OQom6Xay$s_2RXe8>axoZ{?S{`z6Yw{q65Z|u zyqbWOs*&SwkI&IHOi&mlMV~djQ2-DVXh<&V^dpH^39Tx)=9)c#fdpDU!i)tb%ao=6 z6y0I~%jiXWz+Lg08bfZT0P^@pu$7|wHk@Y5QtW*vs^#+tPNe z{9r{??Wjrxh0qaETnHlPZq!q=MyN=x%PLibd&z)8w~@!hR~$zQCo_D?#R<7UDt_;u z!$URj!$TpjE*JPhyQ5}1y9iqqtMx}CE9$vvtEI+a#*>EmT_BdW^0)IeK!)QeRqdnh zZ_N(?Y_~` zG~-j1&ww_R`JG039^T5rM~IcWp_x2%2ZEl9Gb|7w4O&}*@=YFpHet6}P-f(*d>w;Z^z68<6AK&s z8P?Z*VBrl7W@fT_oAu--Unua_&&c|Gv%%?Z>)Bx^)5(XodSm!s!ng`-I^T+fl!u(= zpX}ea2pGvK9N1MYFC7~T?`ujlo72A>hgypIcE|qs74169OWg}_bwXIaM>+VI$xH5P zf#gKUd!WrQ|NB3Tc1X}j22wyaksxbVcnkx;mFcaF$#BLUL5LFYAZa;Pr>w-|w0oS) zD58`87E?u#a7|GC{r zN#R5ngZxS(r8IWPf|Ku0$X9c==M-9KS)sNDl83s#Y@TK&ct5L078h*s2_lN(|-NYzwSm27Dhw)7VT&266jAha7l)OXnbH`vvy9U7P%swv#>LL2+(h*eMq z+ZG#rsVc3aI-eoT514wjwd?wWUjhKMfF4C5=?jBH zCeG7b3L^gT|MM`|f|E(XE1W3nsXm>|PGYFGsSCW=o@%6o|r=&Ea)6fLg zC`T}6R46kII^xU4lP9m<*Mp1!!o=J8g-3VvDZg1Q*tFWkpuBeAqr4EaUTr7&%jKMj z_xe5<=zXmZ<5uRNxHon83bOd<$n%Xyp!BOYJXp_Ed`F##KI`7LSFi~2h^AE@qt}Fu zsvO63E$GXNRHc=i&iwF)aVLW^P_1mY;$kj%6udv@QW96N@S;qUWx2mDNsuORPn|ZV zd^0CO5zjjpm5Z!fSbl!7sYJQ=>t5saaO262>7v5gHcfTX*9!5-Ok!zrm`LgeaCbwK zY0Fz(b>>W({9m?nyQ*H2Obd<1BlUMfA&{OMhL3}F>vD^K2Q2gzpKhE_2(jAS2dC`R zFL$|AIAdf4e0Gu{x_uvq)~ztFbXg<96!m!~MS2Iv-gn372}JDb_#g|p+P4#o8HF^$ zV)w=_5rio)1h~zfNBnjB0(@-CMe%ID35CtWmI5;WHMZreNNRggl37N#5e%ws87#M) z1(Ci%&$4>;6?TgXIV?2I|DLm>kE_)O9$#VcRwz+rjX($dBLI}7>-hf3^Xb%ScZU7A z1yq8RmxEYFc2_UUf6bwXCs5+e7p}gWRs4GNkHl%~eRa2EZJ8uG7T*E&k-(g8_lIM= znQpvR%*k(7O@st&HD_`&o73|XHy`w>^B>o1gzaMloGA~ll-&&8K9_U`L_&+si9!*N zPrrhN7q$A~uU$miOgO44))RJTPcxAMsHn>6epNYVS#J6Bdm|ygfBs*8p!O)^pwCz$nngZP~L2=GFYDRoUAB zGC=cWJ~sX~8>SG2Bc%t)ET(?aa3Df}3|n?txe($LCLMP()`nT5nQ>>5gZB@FLW4n} zITJ-WF{2?f&`M6ykSHn&9EpK4fYb;xDSG=?PFYaDDDBUQ-kxnVY{=6h#&$5Xezw9d zMhCc2o(L(H&(i84a{eNwZO9%oFylfd|DaJw83+}Gd4*H=F{mz7^X?URXGBycy6TYf zu_=tc#$?6%RoK+_7D2E+p589tUqt(uQEMaYmNDyq*#HZ5=&Ym+G?DCwhi$hz=fDsP zR#bicFIU{8eG^IUuDX3r>hiL`MU=mOsW_)&2R;Sg(7WQA1RPA<=rgfE!Bt+&)KgNc zS8qm-l_nkuKH=fYV#e)HbD=4o;NimmK<`!dhj&XP%Ns|XfCiVvbN@<)NAj78 zhj8Hz8NNfBp1T@*MD{dKO+vKAZ(k#Vn8tdy_Eld4=wE-6>*HIlcw6BVz{&eYm!vwj zvJ(T8(|;jnsQxs%3E}!7@SD@xffmZhc{oX!b<+!vU#gLmH4h{5^K)NwGh}P?&jyDVUrCeP$@_>z>HU|V$fTrB{SLc*}7leE;ATC z2MgraIor&ka(pZ@$=>WR8Jy}!D5Lypx4!X0a*aYb{GyJZMw57omm&jp)x*n4Jw;vd z*eb>%w9jFEH9_&Q3cNYgkD7RzJYE}{-8CYJ7c0|a&WS*hnO{GCfQrvmZc>M{4YlV6 zb!ml<(@e%WTxyP&bHUJo^evXNZ!8^I<1A)&^)*>L7N5syCm%=TpMqop z7b!}JQ+`y`>2rTyfkJoHnnzfTl<53|l?-^ssOF-%8W}i*z)Rd)k74spSSq@@?`QvE zw4WWNQ?Xn$Vd7sLJJhSz#k3$YIPd#q))&0xZY74gH^!s5)?xc8pDww zMp`Kg>|pHh>)1V9gptqgPD^+Bvx7g01jE#ezLJs(Wru|D>J|!*Hr!}vqV0n*yy2~( zIzB@GYt8FfHj_bu`(kn{%3iXkWP%{<`+EPLd4$&M z8)19?N8P2MXvx)mtv&%zh z1`jJ7A)Vs6vCL4H=mU8f+nTBjFPaKFtd$a7&jmn*w|vvnRLd)~vcBPm>KtVM{jGgC z^i3^PuMTY`w?`8r3Hv<-ULZO}_4U{fCzZ6^?pUvSy6#De*+-dAa!|SKM)_adFoj^s zJoXxku=lbmAPWMzWe;U{$JkV)=j#()Nl0 z`~ExN9$sRYr)LOO?8S6?wKRa1fCEuj7(O?xTT&+pcdu5R?tLBAVjs7itL`hwW({kZ zuVuW&UbAx$y0RdfAZjf;($`GH>CDRWprK}~7rtOBLP|)0G0#KNp%81{C~nvdVP&jd zA?5Qn-Y5=-hPnUo-cj3$`ZKHj&<9H7=Xa~hip9?^u4skg-sR=oFUgBJx;p(>?BTh# zfsg`++UluGE^pU~ZCg-!iQVDlTWof>`-yZ_^d<~S*QRY>-a3vsW7_As=R6bR?oj0{ zp+X##A?p#OVMtArLj70PiXc@gKeL&+W~1xfCE7cRNphs`IxZ2~Iu}JtVwX<%T+pXw%?HHu928k<2D^R(zRBaX|>-k&CsR;E3w08q- zfk2dOzq)NBv!6BJ?nS;38i9%aehbg+x;LM0+d%N8K+2!gqs7j2s_<-K+W^RFdBB#- zbrc^Qp>XUoGzV6(tB!ZfLPl_$9 zhNe_|**+}pkHqbdOg{_eA|o{;KMjRL$eFu{lTx!pj)VNb+^Nz3q$V!2iQ$_;Ki2vS zdZBq1^Yh=I#C;vUQ+I;(MykX%cOj>B1^i>`h5Rl}?MW0V50Q?ke-)F-#^EGydPH09!K zjR9EpASBKi)k7><3?-qo6mecN#sBQc3+Tkd#VxC2O{0b-c54@dTPH;4|1~Vb-1}M6 z&&&<)Z4ZmYX71`jkHFlwy5uApPhp(eN2>iq6JG>N9h4Hb>sdH{&sMqof= z9-t&6TZM|$|FhES14o^R>g61DMO}w>w5_zmQICp$B^>M(&Qyymg^F+1n*qsf%G6tR zP$)4cni_7RA}t2$51eU#C5uW&CQq}|gtn^IxY(ybh7U?Shse}i9G9PQ$r6Yfdt#T5 zhVj64+7H?e&~LOA-flc?h5A#J!VMN5_d8v62aW}v~WSSo8b75*uZVFK-cx&xW5e5%_?0H9#S_u|pGl+r23 z`z%!9)6VwzfD^k^Wxd(0;={zwZt06(pnqKVV=dycZ}_pw)Q^@ zp58h6QnY+pv-GCJJoE3@1d-b>28R$V#%PHuUsZ+*8v_6As95!%ZRxRR8 ze0JFac{x2rr2~+^&uLlt+{E9sLL3asv+*~cJ^X{%s)$9rbDOxFp`xzw11@)3n7vdN zV>EW#apR+1UX@wwWgO@9ANg*%FLzNyi`y7%$@6*?ffAC6F&u12!Be7H9lry@N9Wo zN?X;h5ob!D<6;o*dVThhe@f~ZzO33v98F?-C)QFdOI(Yg?5eaEB#SexL8T%7x5stwyW2oqDIChfKEOZmq(OXkkO>J~P;$PCa)g6f+ai zxX;jsRxh3BGlnfS0jUX7D|z{wrE$=)W03z%4#X8cdu?)f^i)udTDqV)lt6-R^W3cK zZ4`RCM0+00gnxY)MGsp3rY>p?PPX&=94_Fvx`Q)k=gm-94UlL^gRD`lg=JFu(~L3Yj}Vj;FMC1Q5|;MHo8 zX z3J#Fiv@T7%n(Z2SwJgA_f!q#4K2ay+Wm^aWR8}$SJ%`t%%>Q$~4EFVd_=I%8lCyIf>tM(WwkST$ zA=foiV+aDvSWN>4(cd`}(~`ua9s`x40R-DhH9;F{*%xBdZAfq!?RGN!bBwu+ZP4vO zmiZs4fug`UfgVIc)H#7`Sw`xLi&F+8ayJ*!*d!99L2HH3{uaRGnghc_s%Za3G@qQ z$!|rD#R}+zXF~DP6BzAr5C+X?c7wUzuIT*5CF=$){sFVGBIF{qYRKEv7&KuM_ptZ* z0l`+f(8NtEUa<5;$?(zn1L$gd+$vSNwU0*!0>V}Y(}&@1a$T0<^#@q zXp}#(*CV^>-rC}Jxm(7Mywk60nG@pS)7CgdXHB@u9E)C%#_=i zX1vO@?(fOv>;#0#v*i5j1HMy#HwmD~T-RN$VL5t^1gur54-!M3lBBhSXyg5AcR{v5 zd|3g%19c9$4K{kJvcOzMWH-oD=MaSUn3ZnG7Z1dXrI#Th{6vZS&*wD+Z`53^Y~PQV zdp($)FX|8g3YG4xg6^}!1HaeA3Wvbe`2sof&jCQAsvJ&oT1vbX2$0dPU|`U=iFbAd z0sb-f792lf_R1_zpNPg!*Z5Y4>m5utJ+AMIZ!^S2{*8bbNn6GrkcRG#eRg<=rbnqa z`k+9}Om!7Pg2N!m$SJ1Y>dD;q{Y-)RGd#a2bWpg&RzftZ*k&nrAjM8?U^~ddxJvl? z8?ey*a&jdd+#uoo9PNg`vT<@J_NCp?^`Co9u`+2gXSupjM-=oojBKCS!uAr2Pcq#D zg3_*fm!H!NkW#hd;*RYGXbOJ^`D22ph;d>Fl>h4;M4o1MZz=nF8mrjXBVfZl@JDM^ z=(zC_QWA5b{Jr}>nV}WbRiEt#4^5pMO?9;Av#Fbr#ByyAwdw^Fi`a?J=>r-C;TZ#j zUj4Ap)Oq)tZvMr#hF)7f9~-ZeTv(~aC(7XSFJGH>EghY6Q(P=hUFj@e{iWRENhV@S zII2tC+JF)JVVI{Dt(e zgVYC)uhuPI$F-!6d+^A?77vA!j^WL=%gZnCI(uE?LYbjyywq=L%QV&DY3!?U=sEY> zx)tR6%I1knc$_*q59>6Mrju_+-J9B*=Z_M>+(QWGud92_?|WZWJi$;=WmcAsosUzq zz^dNF2Pd|xx_c>11aRyRc@IJV7SjczHx zw5RIfPpQg+DC77*0W6D>ZXYJzh3l`6C6qi(p$>DJ+!3LZ3tvWKZXN;4-j_@m_UYA0dNStP)m!) zqEoTMHF#gg?T}36y7BG+thVQNI3aiHr(Wg(g*?KB2sRM8b4vHrSmk=@5Za$@ppVnIvxZ4;4NO0jAM7$V>#4#H@@%G{pGG5olyDx%6_m8F5m0 z1;1}vYvuuVS`ag_iGRi827d0rh1P!yRblGbLGM_{WtyO2cn>U6;Cn-r(tq7{QFP{u z66J?vUaWtpLlD=I6vdV*6z+A`s`+kf60KbGJ*4oQn|lhp)nxy>GR`l3(8;y<^H3ok z71oCg4^2F*mWN_0;e`~^8!wp9?%qgzmLh6aFB?IN4CR|93OBSV#~&G;{`@?kSDX#) zpponQd^t^#C|aO!%qL<+SyAdvNv?R#&v-z+PW!cQwV{-ui(M zQPA;mGxkUOQHz$skxpjppzxOPWpe(hTLYAJo5D6GEf;xY$3PDcR}0MHC&NaM9{wGr zVSR{Kg~Mj5@#H3;+iCJJRaZ8|1`*nPPIZ#ne3?NN2s%%Li(+JjBKCqTjCZtEsJ%$fxzwUz<|*r{mmv zr>}~$sBP5cIbU?bE~%*ku6tfln@xvzgM0soP;3928`oUHzo-+Rl7_>Fmo1n+rPzMV z)Te3&?bu?tY5sJ43!Pituc+1qO_{!Ay9cYX1#7kzpxmR*O%Vpt9Gn#auiKs=w-X~x$}H@OW#_kAy; z^)SNuzCYL9t#9bK<&j^j9;tFb@n6%WKtDgb!RbqN1)OCrx=llt+zDR^^oz$=nX$7i z{hG@=J9Z)g8Adem`z$_-9-JAU>_qTwN&)B{i4ST&gD@sR#>IT$1~I%4&k03E9Z&O{ zHwOD?shz3yAaiOD*a&^3!~5~KrwF;=VJ88&q|7v*r01{|NDt> z64nU22oJ6D-oANKvtDmEUF+TYJeV{iO80WqDH0i6D3-9ihYS=TK0GRNmKR{6=*s}z zC;fO-4io}1bNeY?W@q2`WG9OB5xA{$@{^K3t}LZm|KeOOmk|HzTKR*4kV~(%#lyhY zZPqs9oQ0+*EIc6MrjX6e|5abj?%VnAdON=Ds_A^I=1dV-k%WWxigccsoP}*sn?ava zfgQp`2}l4As%je7TRm;wUM*gJy5EG+ zj&XEpY-~TKM?-=E51k{rEgox1(V&_(5_2%$jyLA6-uKR;ZM!E;E1W!Xeg8=5IJ^7i z(%vp@c*zjGEe&tkZc0r2ojHMg8jFZVwCm;~2Oo^>(s)~j%WZuZHnM(pnG4`3HuV|Zp5!Dl z^9oS1QBjkyPgwd3k&R008e9F5o2%;lGrowy-s~=4QtPC(Uic(yr_Vna>_2?=<@nN6 zA_=(tFnysCVl`(y_Hw;QLdV+dO?blpwWVeMyd0+x0oo>?rL$k1j)HBy8AS_xi0%B zQ_A&lQ4$BF1*O%n(4BT^Q-F(|bOM*agN@haX*e#)bGtlF0^dxB#X^UMgSao$a=@0p zS2Jk*-cnXwYVh)V$(Ve@%ZO!iq}po7KweAhb{En1HyO%h>e@r&`+VahJLGMZu=DSZjW zv^l2ug8a{%M=-4Q1n4Y zNa&_8Po5DSATEc|5@tD$8bB!jkJ_DI6|wJUXOu)CHlZ4_N~fmiSOf*HGLCH^*yN$2 zq@1rix+Xc~> zKdd~~DNurXTtM&*F;DPF4Sx%#w4`Cb08W0eFoa@AQJvzv>eGhc>`tLL?9bUXjXdQ* z^;m?zti*jnta|?B0*F|u?-A&tV^EM>bSgLpfA87r;4j>a^!tSKybEVs4c(_Cq9C{v z{}2fX&*t}Uo5@-;TNjm5qiUH0LjK}{;S~y-vH7AU!l)FMT;~${_-mTg8 zYP4h)8P9sfp+i)lHT)sp7h)<1Kvy;5OrlGn-K9<#D(SU9uZ1N36IMk1vr5)sK;P{8HLW=I~@S7B=vCv_; zYXpB4o=MCxf|cO%LZEoyeb_!v2`PnkQ@jStlPU~B6#~CZu>pF0R9_PLh+%Kpm zA~*v@3PG13xG+;*K?)XoZN(W+e*$$O#Dwp-R1g7=Y1oeO3t;m%_uZQmCjg=!M6v}4 ztGs(-!#%4wg$3pj)1rX9n3$Wh8cDT*ogi8ox&io6v6CI6gw_81_stJ_9dPhU&6AZ4 zM66^%Fnb+ys6BMd$sff#DRI#-(Y;p8Qn(7J0KVUXWu9R0ehjEXWPt1xdsRFJqzyM7 zsrJMDxcjFk0Ysc;p(nAGE2jSNi6QeiGf`>q`CLeE#wfJlQo;TrwPgXuICl4#QO!_h z^?1gRc!#<^HU$g?NLbVC2x?Q&2FEN8m32`y2L?@ynTlz7_rT=d7)DNnGG5&7?-4ZB z{;scqjBiR5*r5Lfu0D}-1wQWw5e4t-i?$7`CZd+J8II4-o@Cv+#MQ0DEuORgO3AxX zW%&Y&wP5qWbJ(LF9fRHTT{piAgjl2$5%NF@qOL7VagzZT}%DF-AN;aN-! zQs3;dudnOxe7=(m7;b25JF1tPmCibK_!|!)jQH$do`hdW2LAZm zeh)tTy02FFQIM2?{E~S#q~|nfz}+&%P?gJn-~Q0Z~f#RIIt zGmG5@jlfra>c6+v`LCw%9jvPbwV>C z|1g2S85qt-vLV5~mb}bdreVYrk|AW8o4D|iS+E5PhDRsR1R{!_!^T6Op7+b;R{dzK zGO_5kJo_t9QUi`75LGu{hL?C8&7_6r@xEFhJMaX}{$OQ?_CuKaIx zy~bCeWfJy&iX)zSV)|sU8TK@vJGQo^GvH_5kb zzBJ({A~J@|^mOOrdBWMhK9-{?IeUBV@h;uZn_0rCvFNuBAMu9^1rJ?sN%rD964K=$ zf7&P|oZ)IKoKOj$Kh_y;fQt6dbRa_!xMb$n$Ket|2Nx+hMe|)pVzxoY=XT^3{e=O^ zm&ZBeDY%G`kdVDx_oWInXmVwTAC+u%a{u&GvwkIau@ttYK)4ha5}FYLbv+Tk3!5-C z{J7SUj~r69v{zUPmcocF;*IR7dI!vR#K;6%V&_$N!@}2-R}cZ) zkHwrh4I253qtXI5zkMf4(hN=-v5ij@br$bMu!j7wt5{`c=Uz0Q;=ngux?vt4U6%hf z7judCP+XH?+AQduyLQ!?S;Xf>;NrC;zwRm>P+7{1M4OmSS5uca3@y=tfqCma$#0#2 zJV30NB_A0Tm_1nO07H6+J+ZA~IPgts#vvR_T!<73iTGsLPS{MnYF%vBLLEVn3$LaW z5<|OOO2p~c4AU=<^}$p{GgH!{M2gt8PBVs9je6LhSMc}t?pzA6)dV;_6k%`{p+~#L0r}Dl$$0SK?;0-Fc@7+i^2)lJrvJk$-2s#}|bY^jw#0rvHwZH=v2#;TSnfh=et2ZYxP( z-w&dYF^p;M)|@t;H4BRAwaClJwfC?HrdCXdKx}LF*$){9CW#$dPJY4Y%EB`j1?amP z=P@b${T``jGthSJ&Z;G5;w&4gXBa zf*b@ITPXJQ>~tnwPieGbHW4X4M8jV-PR)}BdzDqe9+I9B)WGshiEIPT$zr6jnF4;p zbr$BAyfyuv>bdpS>vW4APFq;|r}luFEZsG5_Vbz~BNr*6sG1 zi~)1|Jn>Ul7vSl>swFy_naPh`XVFbK0Cufrr6w=?CIXKTcwcspykyF))e?V=^Y*VZ zdF}swKYu(hD;oSb=`9}_ENg5R(5#ywB%IxT{5l~bVupXq%pAgtaSNDvB_zT~|r@Q=P@#(owe4+MIgJi+5UMOGTUWG-8ENc}eP0 zxnH?#!M4t8HPCT3lvz2<9{bVNb9P1Vbr@a!k&uOq=lX<@s>|kqOrUl|fY^Sp!vk2i z{{lU2CBlG4?MI&)gA2Oh;j9cE8*@-mq`6{XSa#btAxeFvSVCGt#lzq>wZF`E8jiE@ zAA3g)oyog$uZSyKJ+xc8uzj;r)_MLT0(6wISRD8sseV2^Vh|SXQ{QI4Smb}StLVri zI-G5slzhK`Yz07g8NbVIjIQJ0*IeP@c&IZpBVF*aYvX03I=xU(#~>)lDDe1SpLXf z-4#Q$FWeus0~QyWZRvR5WpL9d5_g=z<_tLmJb_VB^0h?tI?Y%13ow4kWUWp42NDQ& zug|_qKx|h`LTfD45GO>#(Zo~{T)6On0AWBog#ZUvRF$TZ;ydomNDE0hQqreUz)$jE z9{o;JW>p#p2r&siWF-{E|L>E9B^tt$<9%EP(AQ)2y9wC{rMY@JW$WRla0r~v!+V{4V}_GPLNK)!a*m%;Idvr2m0xr-+g6p zFjV=*oM?oTGQ(6cX=#A7NCYj9y{dcn7bRf#u}|d7!+3?`431Z5=6x26LBOHB-;fO# z!A*~&YF~20Y|9o2q45T?tENQ@;!2l|i~D>NkD=Rf)d8gDJYCTz(w%oW!AH#b;(a4=#H%*ZJO?`U#rv6#F(LYz4H*N6T^)(d%0(U*KyIQ1r|Eck9w#&CMIcHQ+`Ag+J*uJ8rIB^P?WZ;;PgMO`{B9&puYt9 zKfTaiOSXC{o%gV{S?B1Q*(tookbSD#0}~-g6x35V{7+Bu_r0yEqJ#u1>Mv8^_4k#6 zP*o&EDRg|;8U|v#NO@>*517K-YXkZ3C~Bc%v5&IB^MS$c@n^z+G&&=AiCSoB91@yZ z1eL+62LpPE`B6CmXJEX061S+dl;DLZQtm49gAjluY%>vFyQhUaQYfnnCUcB;@SvLtDBc#-Ve^3s;jlrUTEvmE|j`m+Aiz4Yf+iPkX z`^~5kv0ldg{Q=yl;@hEB2Y|ACT&GCM2f>iKg=b%gfRrckM#RKYIozdrCHQ!LC=_30?-5gTob)qN_1YFYre%9U5NIaSV!Ip* zBe|S%O;5?lXZM8`1^<0r*J=B_Nmu3>Kko;E_AjR?BOimhzw^kV@GtV>=E z?uZGX!eshOeu5L{8|0sbh=#SL#3#w(;UOa<-_Rl$zTfjKM1%VPG65`hdDnHg8=iw_ zZQ5+^GTtLyc$mE`dhRywL;5 zH|O)D#A#MMJjPYs$7Gv+e50qX~kfNC1vP>=%SkYFy{b|*;}@AHsN5`=u#uAIlWfWY=rKKt_n0g(2l z+RBRd)AUr-&JO#oKI>8O7;pEjB&1FTpK?IHDIyWO$1bh7X#jx2(@mg_t8t0(CwJ}` zAu7lu1f-pT7}se`N8%vTgjgo>+U*`{0GNvG#y$>pi`{c@aIQ3!3@4}l8CZ2x87a?bQGg? zT%M@#0GhVI-qZUgr-rh8to~R{gSC-@jA`!t(W)RO5|)IImh%JxX|K-MHNs#AMd9!_ zE#=;1mnb?Z^<2&=OdDws?)8>o;StN){Q1OJ$o>odK z7F8t;^)TTWCL{HIPrXpg*>ebSo#4m&!wb7pbv;pDnQlj>yoNh#l!^U%Xe%!A?Uod-J3+M{1 zfK5?lYj*GI_QRJH5FnmfIRDLPuMtz9A!B@i_-b4-ba-6+c$Ts@{Mb-k$4)>>{R`v} zz76Jlo8|NcGQ=#%zpF6>?nF~twNL{VVKcrWq-v2pWgpRKARK*+TaYtN;7BNkr-O3z z#QmXVA=l@3JS!+MbEXrhC|eW4pjV z)T__os7#oT$J&b4w$6*wHRLJSDU=F1pi&$8X9e;9#59?-=;wf&E&`^Z=V#${#hDha z&r#u<>5NNbh*nkU$}TNMwf8|eoK=Pv4r?PFIVW{U=&_81WCXX#n8~4woo_oQzQnGp zlef^sOJ5t($b;#M>pEqFrqVJoB;w4yf&zg}4x3FKS5<24r3`O}E1KP=Mkjzh$$p=R zpgQZ(X?b5~=^!i^@N_$0q~Xbzn|U~R83h2dp$m6R30@{5-Wo3Z{(;F{k&;lb%E%W~ z_ibLBDKI~qkDspBsK|cX_t5fmI7^C0ee60KOT0SY4)c9Eb;lS9Rj1_Pb7cR~GL8O+ zz8*uWOM~fvP2&692BXpaKC6BYOqgu6_9`=4GXYG#p5(67+)PdmhWa`UZN_%D^)#*7 zvdo~bAAhZrmX_ikXY*^m4@T;FwHbzvS)ZjO-}Krfh8~%HONx&B>83l(<%@#QO;8S; zgpFle{0y(({eJGi2*7WkrlN9m78Yak25=6seD)?fMo_V^ND0(ToT|Jq7Q)J{MsKZN zcN~hV@|qgk8)q=T3{`9*tH|RGTq9S}_v%DLxfBr#FUi!Dh=M14$Ln?@8Ag>#ZJHU;9+ANX#_7zkuv0u%3EnT9oP*X?Fp;(y* z!eJS^!;%p#63t{Z6&Eq03s1z4_n)UycKM;2Mm%86VoIYY@G`c8r60|bBB2>Fmo7fG zj>bMjt<|xJaB{Yh@1mr*L&>1Pz=r64z&75VS{RjM|8t|$7T{oIzpFm=b-PUy{z3t$ zxCo{f23Zk)2S&-*z{o$=JY%epKmN{`;f_sJ0CcE3UXdze|}w1 zR17p>pjS=wQ9BiTPf-O9kwQEF?+D6iT&c7^EmZ;R}N)_hZ71+61MFE&CQ8r^BG_AK7(2$g};-J)b zz+?8~xj)=6fw#>3Ea*$3Igk&|bWk+I4}c4yc!Gjn7IaBJt2LR0jSPZuAIilk+qU>T zL13s*qI;m;p!NzY*qB-XqB;Ez2q#kIP{{BPnthF~u!Q?Nd#uoJ26}rTzhIVDRk+z> z<|H-0c9L4dAD3vz0wCPQy)ulKXH*iHnTtOq1!#6C+lIvgvc<4eV-i-(iNI(uMr7&H z)t_<78j8VQ^xvK?{;3<~LzUw5Zbgx#fnl`;tL^-|@hpPw&Af<<${p%H@g*a6L?p2! zjD84akVK-q|JoK7%kHah3tBvb|_8~)vbwNs*n-L z8GTOvbI~p;$SDGdY=e5go(*JPxSTgy>=%Xa=tWSc66Z&)sD?4W3p#R^>ud!FYWHzf zr*R%}^y5pBqq;8@h^?WPWP=EbX9@B%^WWmz1|$4^;% zsYbJbKi*nUl5ok&U|@6R^u(mXN5+Fs<5Q#3d_(!ioi*hLOpkXT0K>lZ=OkM?@-6SO zf}-}@^IA47pslmryKRT3%=HZBGdT5b{!R$kgkV@7RDM^%&6LzpBrX5`c*WE3^D zD+(IQa>`1Zr={i-_F)8+wJt5qXIhHa-{s!zW<_oh49-d|jsJdCzE9A1+*xb4?^Tq<{DUbpBQwG%kY zQJ>G>Dbkqh?>SneLBTj~X+8rb1wG%-kuYFGs*&ZsGf@zBxzd{N=NP001gv))sff~| z-Vienxlt=+aVty@!{QOK>}afE3&`$15%cG-Rg0~;vKpw33|ybo>y|C)PK}Av#jYU+ z0Fvh59^^R=FYWjw;cmZ@jN2^+hXaEnJ)F!JW3Mg*U@ukdMcAG;3V-+N?-}=#^mgN% zGu5<|IBN|8pa*luVpKF_oX#59cfRDX8Wamnm>CnzM91=J(3;mE0@O+bq!*pYkA*}v z`?W$AV`zK5v=}*qQBKo({-S|jRb*XA@Mt)gXgD4*!CBj-aDe<(3jt_@g@r-^z|e`$ zkq`YMNJv1y94gN($|}uRFxd-xBd}xHKEJ;QgOsdugF@Cqp)VwPU09~xB`cs@Q>|BZ8s6oH zcIPu(mZHyHu@|vkgUV);f=;TMR%GjUF)+d%=BC9G8?oYm01GEVz9JmFc z*if(iw;S2ZF`J6=+REAkS}>+i*c){zc?^?Vjo3JVK` z#5I`6;6^7Tt`d^XZRC&&$a8(0Ps>x$aL8+&)Tj2v9y+g&Cb&pM=luWSHvT(qCq#9< zCc(-MGd?!L+p^1>=u7}qN4{WQtNsheTc5eJ>VKcf1wWuHl=c6Ffcxd6KT0oV0BucN zwiC}MbfB*`R1KmFg9Uf~Vk&FLL}&mFH3=UDiv80TsK(@=eJ2iDs5YJ!lo*x5;6Z%a zZXTn~7~f+T1K;HK)Nf9Ju~%;@f?^Sx8J6Z(!YpL(o*y?IC(@l|nsnS8deGwfEMnD< zqbM%h45|6kg%anY(m94Yo%}hqo4VqlC6FG-gmHY1XxRj?g9v%R96+Bpi49ZGah@f3 z8zCYh-5S^VVQMtl>9HL*wBwCGyftg7XkP&?4A+z)SAFy7WPSzaL~z)0#TYc(pm6`z zihn>hK2l3&kt_6Vj4)q2KH^y2q=F;bPnEnK2eX6Ub6|n;8958Ba_Y=KR8aE?F)%Ee zU^s{$<}~CRtA1&G0O8+@OUkugm7KfuR)I*a`~gbSM+d>?Wg;Cm((9c}vwyiAX23*> zmUUH$Z>k3l1MJZ(vziCRH$3Gtr)P$<>a*V&I01gQdm52 zqb=|b^Kbihb`)ouU~x8DTuJPAH$1ij(HszW*lBqQU><`_11*i35d1+@`)Xc!=;w$0 z2F;b_qDZmPC1ER3LTNVQa#B`rD+aP;lOW3^^o<3Kas|7Kf1HK&c}oi+W~DI)^_k{V zKt6(VXw>KJT1eB5G7X~NVxdmqu13T-632^Dii-tN>N}(?B;{K+@c`vdnVZBQIh+}= z$ovHG9O-55O_vevcYi1XOxWMx^Yik|V}BBPiUzF$R3o>;I1s2cYZ^M+UfWYhV$mma zt{?*qJWfjAZ#x$k53RREo*Y@Fq{H@YUUt)Zzl*v_7$@iUo(_wK^;k^mj+E;SUHWo! zvwQC4i>E9b)+cRa^$=0Q^n2-jG*;VNoR_%=$f;)lq1sA>B9w$sK4@BrjpjG zr7N8^*^Y|)j0<~+dqfvcc(>jTZQKAeuhYk$%hT9f@$eu36oYLV{psXB7hGh_eCN}r zT2tJ2^0z3pZoaOU- zY%>oRV6pnS?`@Wgny#*8dkE%&m(MO+j^ zsFq9|SuNvMCgw?8L_-!#_RP7_6Lg*#PHWW1MU*p8fx8!w1IZ-g9`ZKsz7$e5rNoZ5 zq0RZTYM0;VTHG?xS0$!ui4*5{5Pd^`@ra+f`m~Xgt}j*oh@2HB1IJm!qM6e&5c*DbZcG7=B)nSUsO`EEzA>uKw}0 zQ_x7gIPjxuwSP@vJE~pNa3(Gr1&Xy>Jqu`C2yGs!v=owXcx0;eejU2IOei284BB*k zEaOlLO{43QR|1^OzrlwPVodC-VZTF0*{S9AFyB#IEZ99LFh)a8JAaVaaQfUb?e$vN zKfWf_mL15HaJ0=G3GQ47DAv&a3xCdQdI%#Ys0;<89<&4Q2SK2Ke-KZ`fA{-2JOp$p z&?s}=i-YaW%pF$+ZR`v=3PeP(3f@4M7RM#PdSd)jLc7iwH}#zZToDSc2uBomg(!-X z9fan_G4hAXyEZ>*K9YZ$|9&1S3Y0^;L8uV5MLAfqx)u6Vyt7BBQU5-SDbf=<#IU%m6;$G)IU)v8OTw3eqk{u&YHx;L;_f3` z;0afo8q)K+AbX(5@dCAACTjH)?!nr;oWw^87+FB>e;&kfURzG!>oknru0`fYh4Ywh zBP_LYISwcYFhFI1MBVbR|jiYrT!OBdO zk@Ma3AmRGToW$QcAsM%oKsR?QR1+7me`3=I;1*3$;g)wpPSzSSIWvJWvzy+b5KrX- zm)4WOPD=d3hl|F9Cf66V^`&A3Un9l$j>bbd-R0JAR|V_~Q2Z?*;6j808OX*piAoJ) z8@7jp-+|g6 zan!;6Iu$<{aWXImL?Iud#6d})1LpZ*M}8|_$AK5HtV4RTX<6<NM0%Tk?$n7!H)KpZKx}~MMdExv9VCb8Ks>n-R@%o z>AG9I>?D#0Y`5xr9>URj+;49)2L`wX*$taB8X6NCT-y7*8#ZwD8YlErRkd{1mFIRS z*YtF?6?GOCHP_E7EuP3B#$9fvhfgLwB3I2BF=b2xSFPz!U+pu4n}Uv4iIKRqG5lIyM=&>x0HHWcIThYyWNQKiebJD78Z_IF=oU1 z3?H|NL#}7Ma+@dg=r^JznVHTe^J$boUajuWOcpMzO&2ZA=iGC%=%&>vGGo1N z%jNrTt%l!jKWmSj8WXNMe(#M6=y0SI8wCaY8+*%v1Q-;2@kmieKtgUYbl%dFg?$y| zw6F;SS(!e*6Wb|OZ|ez5srvWWru#(uq0?A7ax5YO0uC|%$P@o3`2JCVwdnA0auD3L zEvI6Wm;biA4GA<^>glkUuj|wCWiNzBKBm*`v2b$`Zr!~6DIB_bB#ncJ3lu}``HZvL z&=IuH5o4CA)zu=6<*|L4IM5wifrNV{E*Cv@f$a3X%|}jI$(jk1`75$Vz4Lb1YQ&ta zETY|J*&u;|jEI+(cdv;L{lUw;EYM4FPCz)}poCP;DRLbR`3zHgsF+1X1?F+;Dnr%H zyRfu*>HO(MGgEuXMj5E{y5 zFi3qM`)?S$R%udeQql>1$EqP~NGJz(OpJ#*Wq~kgx0T!2a5ls)!S%pic32i|c1;HTPOcqYvdO9; zL)BV+&yBr^NwyUJcWQD~(dc<8OeXgqJ8Nt8cWpy?uh&hJ+G#xnm2FD~ELyAtx8r6b z$Hv6dSwM^ZpLl6DkoDQpOReI(Mv$l(oALHoQ$GW8It?_Z04ZRg2J96#* zUZ`Eh=5{=70*IN878d9V3j+bISEnCmpFB1M*iY^X%L*7&eD1oC-qR&h*mA@hxnBS; z#emT~zbZIgkq0b)#y<0quIN167sP(+xXtpw3tYMnmO;=9ST9H-$x+PyfvI1N@%X1v zvIZ(UK5qOWdcdSroXT(-RnVP-k&iUQEH8d;21f_w#5ioW*3KIkVi3@9 z5DmXzF(jJ?#xg*Gfs2+{__6n%+(|IF%8qYYG2USv>+l7{O<99b#AU;JZr&)X%ScbZ zKMyq$aMwV%X>+Ib_~&J_l?Dc4n?w6(uoe7Mn9%Y0Yax~(2}j$^zrWbF-m&>6gM+uSX&b|>q~C=M_vx{N*zr^>C=tY1wRqqxWWrd#}jZ*8Z*JWi(CsoyJzv27Gn0TA}x zUl1V)>N~jT9PnEr@aPa4o~2(0Y>W+lCkl;&CBk$~8jJbm<+DY8z$Hs7nsCv(`39yy z^N?I4Vs8TA1YJh7g)@QflH}t&3RX~uT>V|UDj#>{=RZ$C7Hl51EE|qit!TA~F zo|TP`eHuYtZ!X1ciok8Y#a#qm)XU*sRAnQ1!11PE45&P40AvG-(HrrI2>1Ki9*b54 z>lJO+vz^^0x7ERvTI>;Ysc9l1T->7;Tqmn<@TRT8s8$%U9&0N=E*kskF!%25f*ZVsc zX)MMZ69-2^lZ=XTh|y}|S(nAMc|qTlh}fiP4mZ{KxsCvV`R*gr$YaN2#y|C^$EQPV z;ND(_Z`aphe=-+vz(rH0U7O`Wvr_1waLDYxtv}%VmMUn$@NMem<6eA#zYWPp6o1?U zkTEDBA|hipf==wNa^9zhb$s6~m*R*2My{vzVMzF*^Er!){#yD6etrestOQhy|A|)n zlhx)0rr62X?GKb%?-w1D!uN1BG@DhIm*@MEqSD;{d{y|tOR!L?%FHZ-7=He7>6mmb zo3K|;)nwCDHFy%)8P8z-@6M=|v{|LUE0vy>u8z_I7BCZxC`(fiaLNZq#R=C`=NZ4? zl9!o1xdjga4Pv(Jxel8Qy~T7nPRLfTm2Sd_fC`F;N^dCW2EU2MtpNR$QhQw)_e{F9 zXox>wBlM3f+35}c2AJsRni(`Z?GBso-Mf&pcG4d5u?9?dFo~r8>_0V|ijE6NA<&}+ z9Ih)nwsfNG-(S}=J=%?t&fAtOS2X3nZ%*O7fEX4Hn9!kT0sDQJzb9PnIjf#G8DED( z^$?A-3zUQj(lSwfN3!M$LtWrt>T~Vy(e!Lzp4X+^@M`uRwM8W-16yP;8SusKaRI|K z|Hg}p;a1%TnyNJ?oiRP2Cf7}83U(y>(5C-RNl&T{-J9BSXC1VI5VA*gngi;D&XWNCo&4%C6;^hE zu9)(%Q6-S**Zx0>OqyYcbsAC8RlDDguv(TyXl*;e8i-8~1k-^T&Cv5RtIIr8gRi70 z7iJ+3NKAP)^bPsj2rJS?kY*SeKl9R0Hhgj+q*PsQis}5S$iz=~nf+xiRaYvFn0-)# zFQjAvG5OX_8&WR~89&Aw*LkT?v0+@rMBg zu@3~gj6>ijWrYRJJYe=b^OqV%2kU1Dbq>vCkXlY;X8dKD&hZTUvW1vWJ}May#V7`s zNc0#VAWS4cm-abN*AsxCyv}a)#**4^t?wqN9TkC@hNO_AyB?4;&M4n-=CtyK*^w`=_ahb}ET z9EML1`D7dA%lB$BIEMA;x?XM;7B2Ub6A;elYvr5UDp`}t8mfkd{jwv3!zbt+Q$^$r zx-+jJeP?SW+Boce*p%hfHqPq|y>V5exn9i{duhC@=|3;;S=rj)aLY!o60EQ7UkIua z44R)~3pZ!e<cXR2QN@vb^E(UYqIs>!cVN6^{EhGj6 z_HPW;V#r2XoNhXea6kWTd+8$vs3hA=5jVNN+5jrBZqCrN$UViNqhF10`llUOZe1Pa zJHU(LCA9!>_84ZS6xIt+a`PdSAwmE9gJ46!AxqX-%oS>>4?$*npN^*)0U#)kzFt>} zG99qnP76T?2W5ZO)l`TXro+BCCs*8t6@~O_o z@VD8R+Xx!4-oPzmm}H|6wQP zY|`@BDErzJjXwK5CvyA@-YGypJ`U|VTy`vYiTX$9CBLa@Wut}y>nREIp>r8)@;c)# z^L*scMWTLvinK7FrbIDQPs&<)1?0XaEC$;9$X7}`$8W*5!p?DtrTu|hSWuCLH#0HK zLOrI-=O`@X?eDFT2OQqwlqJtC@pglq8~5{YLbZrVr++MD^EQLoEsjU-1yAC@GndoKE91mYm;^2 z_(58>oCseBO~6)>Mfjg^j+Nw$g#(E0Ac}6{d0~UHv(2kcwIK=d;->rUcH(Qbb}dx3 zAh2l%*gJs;kF3fOrsC>95j{ac>!f8>&^PFeL7U9LG`wcL$@TxjVPbcyKtrmCO$UJwV#1&8bROGQV1 z)WeJzEsf?E;2shIEn$=UUtqERh=iNb`rY-Vm18Y&t9 zWDkzcm2>15X0BPBKC8JWhkQ-{}~nB_!eW<`d!=TmZW@{%fRYlb(F zJD!qC=}=lCCZCDdcKv|I&FHf!{f&1=iBGq2qg+snddo;|3L+8;ieppX($xAha_y!E zevjF35JOipUAFAHjnha;$>7IpE?%k%8z;8uW%D8V>I%R{NRd;7?{Vc3wQ(18x^X-r z31AZZQt$PiRk4_=aXC7Fi6@9d+atI^OgtUXxhkWZZ9}fyjZEF+d)Pq|Hp#4`?LyzkDKE;sf359>WIsOh>TrK|J&%bjA%sC78-#YR z)9WS^K|2p<&GrdG#6S(1MEib^WF8Q*zyRZ>&v6xXgByygv3{`uBfBx+Bkrz(HYPS}-hDS-py?JLxJ%WkEsQCNGk(g&VxRDKoBXb;&kl4ZRmSv*~CoaWzB zc7j2LDpt?W=P$U8bTsznaOvudao1x~U4B?doNcW~8 zT`MgB$l$xnjQd?NnAM*PF72h8ceCT#mDcB)bGq~S!&VJ|?EiMD%gMCA7xxrm-1322 zO?Ulcu!rya{km3GI?CF2CY}gprt7x3plh&P($HEQ7S;2`eyL9=85OECdaPlRK5EKz zO;@?ya5E>V$ef3FKNCx*NWi%NV02?-^z+R)d)AMi-~IFRkPfh}LAhw*w64L!b^4%> zi41xct99Q_S?7vh9$o@#G_+I1nVWO|?%K8c=88?lWs0_C1}RS5HHBG3K?N*g-U&b~ zQCC~&{`r0VFz1Pz!A3&J2uhNe76-3ke-k!j%&D%>W2ENbCA|Xh5J;`1Tj_48YHH~2 z9#YcTX0()NOB^awF{VEoi9Jh)$9cO+#Is)00*E4B@Su(%1i5m4h$0q)NwId_Jk5WK zSwe&Jau0I4t<{~ILjQ!TXM%?D2WayD4F|$3)CIg@xNJ6RUxU7{fbq3}h_n4KOV&e@ zLE_-xxFin+ZD;ApOYP6aPhll1*pw8O<|+>Ng9FdCKOaunU)Sld;Y9H?IE4V+o4G9B+2?MdX{FqrlW=(*~q-+Ei(B=&Ry95Bx^8Z9@ncV?* zYBs|6-L{>NZ(sX&cVkoc*yG_@K(%LtT^57k-y$G`-IxUvV~(c`3n5liY+6ojo92uZ zyHz#M??|>u^pxCGTue(S(BgnD61q+RF1klqIfM^cFl3I-la~q9_9j_zMun9zg_=k{ z7CvXd+cSIdbov`ky)w>L0Rfe^wqw8axI*ln9Z?!+h6@+dd`Lgn<(p zyxTz9K4B?L8I?4Uml(N|3xrUf5i~%&v2Q0`(^zlzHcliyE>TF4149Bcjz6H!oW0=( zn>&`jS8+bSw=B?DGI?1b_0;MaMIIM6B+hJ_Td80g(1>!$!NO9u=yQO1z@4TAjTnsRQxy?FdD>=gAY?A)?i#0fTf1haOa^! z?X9A5*q>B`E$PrXW3cn^c- zD<;4iFFyPxz~!=<&7ZavGZl`)jCe8i#|BOGib*0y2HIJWCN#QYsESO6Mnx;wPrzANNRx^(^ZggvptpzHk{hye9DgwA;0}852SO_Vi$m5lBnzgcfHB6XIVYOtnCu5{`xzFID(;8gJw$qKkn-L>>+v z#~C>(6j5p9Y4`X$uxG;KdCUoIT`P(H;T`!V0(xwdX2I5Q*9~fEuu0Q9!kt z`uy>wH2P9YYyD#@A=)(3$IfCY;c(rq(<7;`7ww|b`r#!SoR^%ELSjw>*bOQYI%v(GaOzJJLS9tro(kjzhg=oCi8zA$$-67m@_2)|9T-fl=}nN zlK%;9M16EpGN#)e-?rVr;Pb6l>&M-OHJJ`6H=eiQ!@!PhRx@W)(SSbth?eJgA*X23 zPrcmlrXBgWN=$JJ51z_n4gpnT4V-zZb2&G;76aj-@w1YE0!1E(K}uMF ztNyaGR`+QKjR;CJ4fl-q+fvEc{@uQzAe-&hguXV1Z0Q71b4#Q_QANAVI;_vr5^3gC zkx&n6iV3u6cTK&^NQ}^CN70SP)!2ZOe4amFc zOeRx_lqqnt*}qvg0$^Uq(@Weo-mx8#?eu)W-N?k1X&TrhV4!9}62zY%0FFfbVvXb# z-M75m%nNbhd3i0c5?jxQg=IuU#t%%y4{1V>gl6GZycDvEO*S&kq1^uHs|8&sLry?^ z`^7x7nsHWvwB=OMF6Q#)h8|+@U!ULiyAt%16XdA*xAwsxhCjAvQ3(FPZy4LeGu~*8 zKK#ftjfd@vz5b(#+hf~zKu}S%YQHNCL7`iPiT%^#*BUrcAkU%T6uID9Ug_>u9OdXL z&5nPBRKGd2@PI3(_NGB;aT*crPTfz&VD^a{FX6j;*R==maxfD|4q;3Kz(4~5RC<;O zC?m-tN4ij=OkWk>Q<-wT5}SRRb^g&Vsq%opSAtrw0ik5Dp#y2mQD+@qMjW2cH4qn1 zs~x&OrCMKBmcV9O{RW;GSb{g zz?|aG$XglRTT!)iK!Lp6hF*If#M?X#J9W6OpI$Kt8^zGdL7eK{;m*s<5gCN88&I^; zyHxxbD+LWlW~oRFqGg`fwgr_hKNU?EmPD4Lqp-OE@~jBI$KIJZ>OYcgIF^w;nV5Cy2)kojIDrsK^#cFIVVV7g^ za%H2ZOOQoq)hZ@DJTx_lK6z-+YH?n!2Dns09d`y7ow(q1T3j~g#yCV0F0gVYifiuIGgLANiL0kI&T<`zB9BPwWufRCXtjJbXu@uQgP~>^K7QZukiRhN3Y!u?+=m4N^9D@n)j4LQvQ73 zj8xQMMG#L-nVsE-+dyxUt2M8tAI!y{211PZ-WO_NVNNslX(A87oP$qq=uxY};-&C9Clif3Vvkh&M)wbMKsEDPFKob##rrPWVEkd;J;PRpU}*)C^hcL(L)3= zq1kvkAena*g4li_NU=jlhU^7M5X$8wze?9!5IY5eaG5w-B>l1v97JkktGg7STuX{` zY7a6sO{AYi$E?_OZ`zHutIRqzh+^Td`hsY96aPFztm&ijIe)-|iq8PiaKCk~o$6 zxo8!iB6?-pa5(jbuD*cqvG$z0fVCo%BgpHWwXKAOEj`(xdE7N=U zaB?8QD880NlAnZ6_$Pt5D`#Fsr0uIqZ3XM`feUWKsBmSf$MXXH?zOy?QZQzYT!GZC|qB0ZuPbnz?Usx$i$P_zMo@5A_K>cqLNax z+G%J2 zY3pwq@$S^p7r&ZsWrbL6A&H~2^VX&71qZM9%}LQjxvA5kj%Q4_z5N3jR}3~M%cb); znqJdKRigfMkverQX7=Y**No3`AI_NJ(6z&p3#(n1^I>RBkNe>~EN;#JxxD{ehKM#oMp=V0sVrIV=_PkG5c(!bQSY_6Bd&yWSt?YWCL^8?B z4#VMQ+IQ$=m@aE?O@G#8wioxaXdmNJ6XJmYi4J*ACli4`?Xe_s@<9t zO8)=lHu^~|&>YZ#PT@A__<{IOh)ZS4lyPGohg0{Uop^~`LEzX3@K2%YFFyhhF+m4v zjVk^Rep8q}Vl&a=G8$<5^qldRZ1-P?VME#nqz-I^augvSk*JP2{DjI@v(YEuvb7W; zJNzZQl$wOsLfs*D1l!-UOs*cEwcA15UERy8u6ALLd8Qe_^BLim?h+RWzuxXFJ}48M zg$vq$Z-n)xRMPUP}!}X)s z;8Q?p$aT^xlcE-ka7P@%?31V=d!T1SV<%t%LkA|I;qsy4K#Jm<*HfDf3kz5{{gpj7 zLv*e9Nv{i<`8Hb?f-*V}wjV|^9wLI81?)v!j7ZH+3qfO$x0fV|!I{$b(3*`}u^>Aq z)1$~T4jF&gXVCUL>F^d`k{7NbbxN%Q1sc7r<}W^6s5mW*RLG++v4*&c&}nf5&!9A? zUl9={Y?zw9;#g7~_y!ER_%Fq=Diasxvy~5uC@sVqa%Rnd(E(eijND=~eU3(zWd-Np zNjzB;7gurkte0X}PH2cs$~GrXqP-XB{$!!ba#Y|k;UGwia7pFkH}g4~KJ0;=T4VWi zZM1+AR*$mCcLbQgtNOMm4U%sejCz_P`?>`gUPOtK$jB@q+%mli6B;#)X14yRx`_u{ zbU`OmdcmviYYr~&FAeRYW$i97BKrvuZys-Ee4d^>t^t0!J2%U+QqqL<@I?xf_A`@q zUF-@eGJzP9ITAUc`bxW<$5h_bG`k2E+7FLQ)EE73pZ6XE>)A~UYv_S_CVySGH=VXO zaVrVK-YRR+Y>H{%O(ASBOOf;_fe8Kh@!~I5bC26trD1r&iP#+EbJC!5rJQ#Icf>>L5U6gYA?1j)d2K_PK2P@g>BC>*2B8SNQ+PddsjlyCrKl zAxLm{3+@iV-QC>@?$SW;;1*nidn3Ue0t9z$8h3Yh{rY)l&Nt`G{OtScAGhpXd#zQq zs zSJ)fw-uC_fY}e51-{Q00wY$yk8#LEhZKkV#b9;B0Pb!yhGBFUfrS3tD(I404 zX9zS^zg8JtEx5tabMwo_XwRB}K*q*kLv91NO=NwRjfCNUM<%RD*Qr4?-T!@QY&lqF=>8u}cvr{e zDcIt-d@ZdMJ9#F|CHRs;dh>cgbKYgy3)a`VyKjPl+RyYh%Sfe??I4Csjj4=hU_L%S zICxkDh^H-ky=oqNpyZZYXGo|M+O@6mPfb69BH8s6yY{^@JH-FG1j0r#O z2nGBt*0i0@)5oFIO&Hj(FD$(7SRGHifn|)uiiOF@?CqI$$w;z~Ri-kYBk%P!TfR8^ z^o=C0UTu1bpFpen#OS;G>d{(i*i=HTZih)!5cWkIg}Kgcb) z0s>F2(f*d!VIcIXB+7`{t5ExeR&9UCP9{tJU>rmyRT=hzd!-PO)ta{ATP*2tXHYQqS=<&SK;mm z5`0EIs|QuT?4No(0drq-tLsmhkiS={gH;2X5phGy^8y1uB-13)YL(g){7mCiGm}B# z1XflaH~e<(ze<`Euya~@BYn34QqU+bl+8!_ijfpmzBb}M^{vv`N_CX4Z@)s8M1gi!utfXAC_35WjH5z&?jw!|dD_?SW7I^`-z>QvMfQOvr!GZ+>|zKemF^GMUNqN7awL3aWPU>p zqoM?l#~77<9^N? zhUY=o6cUTj%1V{L;`sO>sB8%(Q238yd>nr;nn`BnF8{ODFm;vlF6L%T{O z!2Le|e8dYdj_H$I18OH}tpGOSvbZBH9UkrK#F#mwou%G={jOpVn@jhRQdSM?5o|=9 z@P$tU)42c?Q@e?pgk_7;kvf?#nM$T>9^{gQSz3u-X~Z}6>Rlz*D?*q1a&lfp@-=|0lOrg zAoALb3AFr&eln+tqf^N@B>vhG_S?VgdflV=*jzZ>i7!_-e_VGSbEx35d=1C4)H3^a zi)`bn{Y@r?O10+XiBv#9Yu(0nVAkMh*y{d$o7-PwT2V7a5%k9!6qO>+kE3*QY=2_o z#N+E)PKKj12dZ<_T)(2KJPuE7$f6Kx>D6vfFRX75ixa-->&*T0ozb|g#b81+INMJ9 z&H&Oz^WLa+VsoP_|6elKfAiqAf{XXR7XNiIy_vL9aZ@<}aD1!J^4)f@doWk9<$0>? z*W*c-@BZa8$-3X>)tRTUd-st=HU#OJKi=TSlf>DL9|=86f2kj}sfHEnH16`)c57G0 zvDIu|-gKtLW%RL`t1dZQf7@(|lqg{%m;o4~!^F+o;J|2NRJ6I6QB#eo{oSuqu9GmG zOt{qG3z(B-t)uK%8n|nM6!jP2hZV>TDk%!Kzp7Lj2)f$4?&lQp-^V4FXZ)sp6gym! z4}TjBuL89Af5o51y?9%4CxmOuS+bCoUncIimld&L1e{H zn+=zsl5cS+_kmx!ZkTjNcmIB*mleG#ih-9PW4~+?Ux>dJD^WGQ1g z3iAE*h$s27HL-Q$3YGeN^YD`k@mQ))%+VBoCYBCUC|!l05w{f!#ou-ig}=iWR5HJE zN2^Q37=1(NmClr9?(NJs^lAdnE_g9jK|6tA^1yn?4}z8bBB%M8?Co{gbNTST>waS> zfg<7qzC|ivJ9-FNRlxBwp{!rI9Le*uF|bPG>Lzo8Mm1_znrpU=hvw%1!tK5k`5j`( zWbqcmXi3zk5k6P9`F?D6dN*5?^{5<0V#$=7mS7F$+kGYEm{O@(RJX955M7A`!&zXd zSCbB_1t&e0RHa56lev6^IJr0+9F} ztCBXUub3<(qk{aGl0vdYe06c@Cb&GdPGNd%hxJG)rVt*ofYHgX#vg+4m`GsCj76!! z%okmzOFgF4 zMWz9s+YvcZP;Vo-mNfg{qW}HcC7K zkVFv`#~`_5Bz-C#d2_X)WJJ7uUCgr4WB71=YuddNfTLNWH{SATuuQQ0bQ~^IJ5CIj zU#QED^8?JyTfU(3l1=_gcIZTkthrhINNFqG9%?}xIh#THCwczUnIBg5qrGsb03B2sW&v=^;|GTlKBXc3uH|0yI|X|@b#+~Mwg}sIp$6J^bJ5mD^qhk4%7sIo-A%(S-( zJoYJU-M_8BN9>Q>S+Oc|U`eJ*Ocx`Nc6xx`uMY`RZ$45Ub?g9u zFE(pwnn-A1q1)KJV z(g!!K9eP(fzmq?EHm`H@X9HmTQe1aeGqvBl&sWg$=xTy&un~&oic?uMy8zFhgkLV1 zo0r)LCy_`q7Fs+^E(Hi9_qqfgUpCFgOJ^HGU(+e2aT!mHW;s}I@Gz;VPLam_U#xfe^FORNWDuE4<{U%d`@;22lQpzsVotszKa=K{ zBbnm(lKOa3yrLjBDjY2t^46Z0^P&+mW&t7ZJTx;ONg1^o-7=-c|sX7h;#lF7kD)V9ad%cj-o z&CD$>{goZ@WKmg-%&}Sk$+o5nTQnAW;#M*i51B33i(cWLxhw7Qx2{_ojh`=6G;uL% zO1AQh_D+3fXc`)T1@=VV1BRg0?-5)1ujPnTuo>U#BDM@D!)lGir$74oEuQvJWR*jB z^f-a!a_MLIom9~Z7;JLPaS86-tJ1$ivqrP68YNH9!E0ZAD3+iy4dzScGUI$Y&Wy1np2AN#l7m&TB zF76uz!^xYLJq&b7o%;#PhxL;!T7gwJ+m%^#Z&P#HTz%dWD18$1E&N_p`U{+R2%v9v zV;|3D18j~=kaDU1tslV^1vVadApU0L+8naFpafJYRznY-Lyuo!&Pri6GdQIDg76(3 zQ&NJCnZpivI{kz@Sa`|f%LHasD$6K(r%QSZhb=!8*`aFlqHinHRt=dKlO8gcr!Qes zk%t_TAudl#IG*|Flb>lQN(uXohN!1XU$Vp?(?!Sf3S-2SlJn@{eb7v0#Y2*|OE=#J z;{*0Tpu{qY-zLkrIe$QJag{_}oy!0IE4RP99y6j+OETMzQf}Igz{Vj&@EdF6N;@(_ z@%h?ya<-9QKP>-i_WBc3+gETuZn#AOSx^M$fhdPMXNW}Gi=iVyxTZV}SpHQfCdVfB zC&}PpkZRX}(W#_v7YP-x_QlY8sYAH$3!v{}qiJcQFdEU%s#Uev%JZAO!uvVP4T_0# z)lr|{iQxS2{%&?Y>%qJ12xWr8DnEQjJF~ta_*+C$mnw_Hp5~fCsx}+zLJ(6MuZE%` z_t1)Xp*Bl_YDoyekz-pPkqiR>u6)!90uKD?zOPP1&mk`e(+unxEqHE~orZ_S{ftxS zBVGCWvT#S?5Yyc_+CGnZTV)8YZ>Z+N6Ii!Tr}AUEn+!kkY)}K&F{)zOaaDG(xo&e2 z)`ix+dL2@9c^t}fm^gPetw(j-#l5OpZkOl4N?so~Oj?8eH6PCml`;_V-k`VG8_G^yRrtx3I&HKrn64j&tCRzolP0qIV|rc!vJcdVy@sUjPVb&CIMdpy*^|< z&o3X|p8K3{NTx%BW}^=&;skCu!+!tV2QiaUJ3yzIv<+`2yn1+VJZy3WR~YFp*W+j0 ziE{Y-QPRk!-v7+bbgRZuNzg$#Q!ZW*3u}q+-MsU))evfqw})=}3rPo0c8&?2I@{4P zmgdNJXUA4+tw5P}$_yj*0AEL&PF9l5iksyA%|Skxzz-#r5wMnDv8)|R5Gq0D@L=DM zAOctHv5HbP`)gf^PMrbMu!zsxQ-Js;lW&Ym;R1#_!6NQ+G{_sne#|j+cwTzr(kL@a zYW~%QJGuvEK+MLQ4@)hATy}Rl>$j&n1-nP>~*>&R*lK#1P6%9GA=I1;wiqQ7NW8z?kt}!x&7PE%|9% zGs{fNl{q6yH6J@dLCI29Ef16&r_XJI`2%iI`p+}Je&v#Z> zQ52etNQYXraLZ<_LZ!FVE1`S`-4Ib+yAT}k$3M+>hB1lLRY~)J>xc!22;`h1Fg4S- z3029G7C&cbI7?xP!n6|PVPq&!ZX_?UmI+IdFD#aeOodNU46L3m_^pzji0bcLolWBF zl9~Os9&iKn;9F?+z2q{Bpk0!_Zdkc>4>}OjvKeOWovQF6+Q{ps03k7TblPTo>1?WC zH_nrl*{#D95mL-#m84Ui*HkS~-7Lb+uqMJ`_0=O21^;vY??aeKpbGDyRVgx&`FEj-BuNJDp za~J2Q2@DtKn=CCRO`ML)i-{HYb?C}s2e*GaadL&dpP&lqRN98BNpg=@#n!JMGvgf{ zJI0;}@iEKIfZAhY701F4-IQuI#&@H*h?|{OS(P){t?^1;CsYf|a;>B>gaO+aH+VM$@A3!+sXWC%y z=^Vi+ysJBRZWiO2CNtUPrTosjy@=&wzWrR}C?Y?Yrj+ht;(%8g((Ei{8uid53XXm= zFsp)Y;+h*6hL}lJ+OMGY`xBOIZ-WGAsm1ZIwGLbI^3(Y;qiOkW#q%>&_CziZ7l*I4 z{rhm4xb)zlmHMJ@vE>1Z=BagDrQvkFSMNq0mBS}NrhJ%M0 z?ro_s+~4anbBJ7$p>s+ZJY2TG?d@+KOU*cOf#w|BQe^rbXG7(fxY!5ui zC9csP(l=($^{F1OFL+GJ~budb7|9%nr9EHe*#Oo|aC0D`4 zMUk}g@<&|C&vJij*0|ImeU9wvy9yvki+{#QBq_L(Ie>v)C9g5imXoA>&y?t-ANS^& z7!SJ+yTBAp4SR>kQIzkX2hZBJ^{E37w|Z&wXynXdisV4#nDcBnWcS)`vkE4M8^LbUj5dd-FflS zx#jqidtAgZOo7;RD#H<$DMVsEPbOM?xIn|$UXdDG(XWI4msC*ZQ$uAitVp*au3lYp zW#+mfUYOVM7kM>l`PsKc@8R-<;fDtev*)vK&nR)7tiHC?DY*(eO{aVWSFQRPl<-B}IX8#cc^Rm?|j@gkYtc;xf# zT<`qu+&W}&<0zXhd%Rq{>D*KgS5{P>u-Y27pMD#%4M)tX5*FPBBlR2WeX;X1R}SCki&ca;hYHk6Yn z@1hV9@qgtLT!du`9t2>u;CG2#NiSBLn%?M?rO9BO1 z+K=zOq@R}$N#D9jmk!$?0;VS z6fIs0y&wL2gB9)(Zzz^bC52uEIs9|ixmnPea@`)5XamrJx{mMukkN?{n;@qR+(l&am0^nN+ z&9mX!Nv+=c5Hm}yBn*{4{P%|%)6Ochfb7V;OpBT%T^lGQmmAYFC|>8EVjHP zW_e;OPY46YCFZQb0UIAdyp=RACk=^J{74E{8@5IT+P6LskA(odv3v<^lB`cDScwp7 zNO;TXH=?Vp#$+2_FPUi^ZDFlf-I6&%P5Nw~hGbe9JRT}X(br${3i)BWrDnePNMVU^ zyHOc?8ZyjcpUCjU!jE9L)S2^sw`mupN;1sU<42-ga2E0=Vv6TWu~o;j04wql!^giA zMVhOEY7#KelIHGc3AV(?#6?3!HN~Z+gRD#FD^SAYq_D0uG-&!UvolBXCT{mVQD(Ac z*>}wnPPnj=euzmCC6+|cj*yVaaFmIGMa~B^60Cj~r_g_BjKrb#QeY@kf4V%nnFU1h z&2xuVu&~8cD2ygj(Z-yy0*JEs0!KpXLOnhw4M^=z2AF!46LlzyAVmqEwxTsAu@` z8i-d%Z*EI&ql(m)H)6rrt^xA*cIo0%z)a!w-{Q&0Vk$}}2S6fk*4 z!}fK_*$}$tvyDI?V!oclOU15QC||J=cM_!z^>FIZSx{>dE36l7Q6W(2x3T-ju1rY2 zO>1D^Wl?zb6d58_be=EW4g=nXh7Sedq)~ITgaE$e*$lvX4mfE`4c)6Y&8|rh79v1G z++lpWIGDIHCVwE0g#ccP0IKWv)3K(XCH1cfY+%ykaM?qox_Ti;mA@Li-c+S#uUl_2LPRkm{7mB=pz16El9y$y__sZ_cc z%NZ27RY!(g3ynn;wG|y?7*}4aN~q(imj4QJ|B~b{FDUW$EELAYw>Kk06}ZO`!ll2Q zvLdkZwG98rkJlkrjtwV2WYf^q$i7W8kuFWCaVsSyiS2scuUmm_ksBSkFlM`5+`wS$p- zqgHMYq3`ypkH9Y3L=Bw~$SiXADr1zwLjx4#|ZkBR=i$;A7)51=g#x zT1jMV;HqNn0_%vP#X`b%=qWwR@^aS5e-h)g0*I8l4|`2fu;E%>X-j1GerClsMVxsh z%e3KYdL{$W^}{Qq8bjr&(NH$~Sg*2%@|gNpNE&*6M;48hQ4bL(N(nJ3#(M#{3iw}K zbF-g_csfclhA|}QzLm-H3nnbu0e1;fG{vb+;k|#RlfGfZG0?_e4gN;dADUFl$I+(U zJ46smV-Wp0jaF4o9`rSr3SAz78m}H&S$0U|Td_bgi5faMIy8uvJtE!l4^{-(_-uUR zW}edY5R_UEUE8GLIUQ-4;!gtarA;ZKJ-G-kP8q}VFxescNjxm)>ClaVebtz}PvU;J z2%P2V-I)B`PIML#Ko(tl+LRI`TN4;WY+N1rF87UFkejnNP5HB#Ddcw39Ya@olqFRfk%qOcFCc^P$PQ4h#yL%tC9c{Bz6|Mh znHOdo)m@qqRct0->aL7vz`=^hbC~&Gmb@tvx-iK&&b;)wY#OxSY?Cd8zVf4dc^_fq z6U@{?)J5vb5GA2z@1B)ZNsW9_tlLh$J^=Z(qxx@1`Ex+D=u_#x=S=~61md{APnfjr ziq#r*sz^wG33|IeJuHkpD7bom739jKpKthHLaVS5v-W1ct6?5q&O;OhI&1*t&Ewzk z1pDVs9@hx};Nq0h(EN&2Q7GtL^~iR|A8M+1DM5`tIa-%IjP3U8kD=UGeMSx2VY619 za( zJ#FMS^&a!Jn_da|1;LUxtq-wBqO+t*sF+MUatR@E(5t53Q2A2-))#9J*w_DuKi)Q0jX(AJ`Nt5{U z?oAQ5r)8g$n?%L5g+rjzTgwOipDyp)%1ear5BC8qe{Z2IB*n$UvnR&X-w1ZlaJ-l# zMokkHde|>@iVcED&HB|iYr0S`y}W6*l7@R&w(i5Re-V)Zmi~B( zgMtAM$AW8a3RdUCdP0qPh%dD7zuQdHLv6kwye>5 z|5oN%+08~3Xu7sdiKO9n7?TsKREGGD5L_uFNl26Jh7E2;z)q>RL9<1xcSll#RjAyf zmd}BX1sD|mtztqLpWw_n4wAD_P^AOO&u0_#DAnOZdoxOzBpT&P@KY!SZL(K5cr}Jk z`$g)YWhvq!WQ;{wES;TaVyK_>Y8dc>Px|un61lpIhb#!fEXrw)R`5c~s8S?+*}3`* zJVXVzVjkFc_%FRm=dl27z4GII9Q^q*dIYr^l^WOt+FS^TwvHO?$*A-j2xJq9A=X&x z8Kc3rgJv=en;&i&q_i7x#;joCRCfxe13?e;4z_=Z#*4{4E&l^I=zKD@j>o4 zej`B-oeT@3=-L{=laH&wQhI-YSTd`TlZm1Aaiq+OL!I1au#F9tHU9RS);1*15K7L zgFNH`{f&HWD|V5P+p%L!X^>_!(d*T0uV94Pr z`IJnH(CRD8QF)EE11R^e22FrA)m|N&%SVK&L8pMP60fy2!UQM{T;Zp=VKP(O9z3UM z*zlM}7o?Nk{~0zQN;52EWB!Zl>{CP)kS_}-)^})Mo>;L)_6VyLj zSql7P*<`IW0wsd8ZC=FRSrrwFPC6$;e+Rq_G#4zk;I z65fbXB^i>ggcHM&4NpR^0hBSy8voCclkdLG+5Y#(p4(v8#xw6S9I{@WCG0v7)oG2& zPMwPG!)m-Tr-W%Mt(|Dxr@I7*x+@49DOIu`yKqS57xDL52s)|nn!m=%l@nL_Z&LzV zeDEN0b9nR(FUnIvUBO?x1bOkPEr2%w{wShNL<}pTemRDF;#l zLP^xn*laN+XhAv+p7f|Ls%S7Hf>y@19AvTm=>V zJxjUglbEP5H*o~0g`Loy65g6IB|my|vP7t|h|z7g1nEB3sdzE?HY_;!kaDgpBYNcx z6ZqP?BBNnYTme&yEV&R7QQC(3^r1<2xV}mZCAqp@v8~#!%=c}Ee3kkrDSS%I1m7Xh zjcJ@v8W-198N?8iI-U6upT_ba`4C!y?v<=ArJ)~zX44NndgpPdkU*V0Y}`Bt#m>M1 z7$cNeSL#@1lp`g0Ai^ntjAv6Glp`o4osopJWsC{K0-npy_r#8~GezR>z~gX*($&Ni zOVNW=;N<8L@HV*T1+JB#W9dmsOOuO7_=@Y(q0Y+}M|nRHA9Q!`;w`^^k^#}RSXp9B zWl?e@ovk1h@IfkI{iT&R$}h*rP$p>QT;Nm-wq`WhZ@!mN46q%9^m@G%n#UG!@1y7X z+Qz~LnDoOrui{gqEWDG4$+5*`*;(|7QV#yCAXY?4@eRa(aIf28o&jWG#EB~Bx1h2n-K0RHAkSr3ap2H!Hm^ zs-#(A)vT4)5q@qGIzG5Vj83@IZ*kSz;9fW>mX(&CHJw%>Q&NJyy9C^D7jXOlot*Yb zLaR-i7+8j5K#e)nas+_MT6!!Q$ZY>>R+>zrupJn^F8A-CJAGcHNu$;2;oxF+7 zXQE1`l!0JrWxcVu>lrcxhTr3aP}zcyBA+lU6&Ck(a;6z^l8DrBLCCJ*^ivZtDPo)9 zd^O2Q6m)d2aG1(ks?CyxYb{hG%useFlX8&I;>>3-DeyDPJL6${;$ z-;Q?v+0FdV6J1WWcf^=PVP4VyqjLP)9{0ETSzOmF_%NHzA3o`8lgVnd{<$T)*PQHXpzm44p$G4mO?chu!yTzNRX{=TqmM>1CFDGaeYpBX&dIytrtpxkbK5^^8x zKqS5i4bSnvxfg!($cnxQgFE8TwttyXoWG!YLEMcceiriE_q#n^Ch^|0<6d_jEde`K zKQ9k-J?T{$7`CLGz9cDk`2oF=lqVdXj+b%$4Z(8_*UCb--s}dx*A0u8gSk)OKh3OT zgoyt{rGdXQB>Wxwi=-*)7ZGFSDnbBGv2B-O-gDE!fvrILI=|_H&LhXfi$i)eqK02zV>*ssqV3XA4ip%dSaqjIN z#)K-uO~32(WjZPuf>3Arzn84KqDS}#4Ipp@e-GJgt4c7Z5=u%W1G_ENRSE!5_bJ+3U*krwUxnX$X ztDZwj+)kmsTd(KsGfMlG(c3gCebb+SD$0o-8i!btVIyJ;`2-oCi^GqGc(c&l55!`O zdQ98ki$jhArTY?{oquvtdaF)V@G#1b|H{fo5RoV2k!@Ei%d;CvjszXse#uliuhWch zXi0GuFEqc>-?5{zMVFOu1#%L%{(=pfBMJ_q+zNyo`EBG#!GOS`w?C9KD(*7AG>ln-^yvp_rf~A}~Y~k6%N+=#{5q+CCRjSy-Yc z?yx^|AT2BXN=z+e2{tROCo}6B1nXe0Xpm+dm!P;NR+NxMCD1HRjQU?$fUV`XXE!GLu5MREhz3w!wvYIoT> z`M&g$Hh}Uq?M`n(_wTklxjzZV>-W+1vuFJA?j5+(Z29Qub3hm3hXlui1qd&hUzNk? zCz}8Mt4jUfVgW?64fWj}&VD~WlMXmDZFRlP&0X;tjP1znFx%d*Za=96hX6g8{Uhw0 z*1hlJ9J_W0npIgCo6Z-^hr>Jmatuo2Dy!B#Zw0@5%qMictW<9}3o@wyUq}9In#*H9 z+v@$<2YIeFTjV`Ea7LOl{xVAcsNUs!BIvX(%ZiAS9=g1GJa*AQq%@jqnm+$;K;?gK z@sY|oLwkEakwM$Z=irw@E2M|M6QdC+a6*UvTIs07VQ^4snImWH>cCNv z7#MK}2g$s7u^~Fe(9&V?aXvk78!n3l=wWBSkb6A_m#G=#L-G{mjDo4a9y8hfoV!Z( z_Zez;pzt+r;gCz8EU?9+H{}tZmXuxHS=HRz)U)(Pyp=6GM3Ta^=LdPSDP9}_#~~#r z(hU4(@*>qzg5>RM4}!0GXF7bJO~=Y_S=}Tupy2WKl243w4yh#N@`K{g3qBSGkH!d+ zv5XO!{XM)X_%bRn4LeLipE0RKW2HJb-79?pIE6{iTm)C%H2lqHpZ)YW61kn;#mk1@ z3~J>i${Nm>SnXkS9WR$9N5Ej(VYG>;??rT%YYYq1cHiOUhDBARGIZy^NHp6hR>7yS zg*Cv65{trxf#Ys02&`=iOQn*BPWRcsQk6_>iC?3ZEJ;nGKm#k#OpRi5FeB9HmO{C5 z3}2{LkrR+{AK4@R^c zG8!q0%CK1*vK~|RJafaIKM`WsGy+r;&?rj9taloaJ0diprQ?0kbcON)mB#5xWg|)w zsZ3B9ln1h=zFuHphpMZY&>`G*vli*x)(~=uk`mPKaG<@OK^1pyDR3QR{Xef!2}hZuEbC8)NQl#14&Zs(so4x zCX%`b`-O-L52n+$c4(IsUOApAM{GwY~A&#{{Bi(xjFqk zF?H|Irr$hhz)}E)WeN~wzXqO*NYOQmNiSzt@4=uCLIpN>e1i%R@7{iAXENOJ@WR2> zrk~OK$~MM(kPnvXeE*Q+3se-)?Q$JW@wqqMOpL_Jao(r7^fkPkzV?Bs=bNF+cw!BN zo0Mw$LUj?+$r@+{7K2hQ^MOhisriGb?&aN9BM?6ryg%3a2Qo^UAsUDIGVHQur69$R z62ELcT6&e4)G|g!$n(pOErkSnMfuuUTvs_O)ptK18$KBn)NOtJLNe}&Q=5U{J1+5s zGkbC066)H|N&?X(yQ4B3tp*9y?L1hVAQ8~Mh@bw%zc-9_7>KP-N3iB7= zEwU|_Y3T)To8trgL}|OCl<&w>><(HCcNjte1nSXJmTdPu%8%NLJKKOSP0W1L;>4?X zj!4kfomk`F(t-WnVzYE4d~DKgDz;F2C8dr)%DjW9uu?wFoo^~|_?)E0MQU7Goba+u zzELs`K*_vvp6LW>X&xv}mT-0#3pR-~0B3mc?J&e#6{b=|(nojeg|w}nZeohSsaeX4 zUfAdkr7>ws(otel3Y-saHI&qQ9zO4JKC!RV%^Fc0^3z zw0!{6Z?cBs93)tyD3S+Wnh;66_}E4T_TMIgzl zqtl7MKim?t8KnjSZJSoP+8a+xe)fQ=vc4zk)rtL}<{#fvz7X1oSX$eIZeRLNm1_f` zv>d5rX{8M_qy1Pll^kPzL542JT`609OL5SaNN&0dZ&cO?Ix-B@X*4|BK| zBR*ek#5WuJ{)snLVO`kwB$n7mSzR>CChTF?6#~9dr|5U0^=kLBXVoDjR(=q-{TWR_@V6dTBsc#B=-#YQD#O!J zAMHg#xU--%$&5hsO*}0{^ee*)sfdOL`FzOe)Fe7Edg0-usUEQ8M{tZ3kqOW6MZQ=< z-M9IA5AXhBZ5HNIiR%(OdbLWJr7$HLO3cak2U-48WX8omP>A%e8-chdob{x22LYbL6(|zg%Yo& zmAax1Fc={RJJhl`8$K#oDC+s4sYB}I30QriO{gG|j2y|f+*Awvd&1N4cv&p|&6m$f zE0T38#dCOX9}aB)zPz?#aFTG~J9UPvWI1a5Js+IN3iFLs?Cwq)EgW`0_Oov3%^atg zBp;TPfah4qGIv0iI8e}Ax_sncfq{|lXOZ~`2oe75BAL2ELP0U)cC{eHpJMZvj_1YS zU~ZI(-rhu_qrb%0b};vWP;MxCDT8vY)XvEg^D^P^^}z3Ax6NJrH>pASeAr)aJ)&^^ z)`|r`y7DFH)4u=GVpmhq$7uQ778`(|IV(_@=S|kVi8XC!=?71l&?n3;1ycz_iHE&X zjiiS#NL(kt2OFrwOf()ER)mzS#x!j!Q6%DmJyoTr`_tRUnzm<&oZqFu-s}_zAegSI zu%4lq0_(_4IjaP;q6Pj5v^9^$6AS!eMtCJ&SfGEvZiwUw$a5W(hhsIdUZw2~<>8S< zQ)8`Zb+AKUQ`Izt^IAPfQUbKAcL=n`gFYXF${USMCl>0yrD*0l(-2L zi3F7%S(to8)Ku@>`59bbRBh#$dL$cLIsloI!S<8Wi^M&LPxg*j9U;5}fUfFD$GBlJ z!<92a1{Lt!A5a5w^80k3biCGad*mtF?K<3_iB6RE{M(bP!oO9v=P86kE?duG`2=ql%*v?IZ*Zq1wbdeVRS zdgXlQWRG6?1e|%EFW%al9<3M<64Ft;0vmUN$`VR|A}_77*Q}v`Kia zK~wS(E)RGH%xY#tg@SaS30KMqZoAhvVntfiC=_MLKUN1b<`KB}NB0IbiE8YyN1D>} z9i2pN`PHh0U5j(NT-gve=ex%&5kV06Ahho@b!6i&4wDG?C{TTz`zI8b43D)y;s z8Un*qpjS%0YCd|6ki6K;)*@vWKwt1uAHhEcSKdke3F+kbw+3b_kpy8B>PaN{!*rBI z7Im;8CVa)3omH?zMD3s?1Mqqg#K;xd;Eipd*5BB(5jJy^JH%jV^c7L&y?vx<>x_9* zvU3Wf@5SgRAGUYB{+?829Z`AIT#D!%btEzsR1lY8gZ)!r7xoX%YBuG86wyvFeByFR zImF&Qb;>@4j&W$ZqEr_)6=@0I7$Zq$b{S|U`jk=~U&<5ZQvk zm8Lm(me@fbUUljsF5i84f`Z!Nl)#;BCL^juG3PJq_bQ$`0QTy=A71k=!c&5QK#-C4 z6{WLI&Q56Kpo}tszoMCJt$MyyFR;0KgK=CYCnD-D0~mkZ`fsd0P!NQ`Fzvm zc7zf4gCx1G+ev!y2!E8&?n%=H3w|#9ehQ8g47R(gIv4tp_OuZ$peA4oq%e2)wuc4l zEAADQihtj`44>{tnSHs6R*AtZnmqi2mUh|zp*H>@E_#((GSV8@Y-?GBe20nB+`H2I zstu%qct{j-($aCM3*XBw6uVayjJJpF8IS^0@1;@ zu#dMl$*p($Ejcr^}1d1AKtlzx%PkIE0%nZNnQa}h50 z9leEk@;N+CfYtY;;WhJ_|FrI8=nt>*z4Gy~u+KeC`wGXiw~H0iO_|@%)sTL>kVS_s zQ|rV1b+<=d8fV7X{c*zi+31Yn#`rmHu$6E-?T=+Q|h;0UOZ*PN2{L{?+ z%soPTW79spN5xi52kM?H{HY^Zw?{lo`~7La)x+C-pQ_P21D5PtDBb{8<>Nk%>hXIN zm>RbBw-+ddh^E{?lLL|3J2D>iX8M;|9U);S(<7x4qmBt5Lhm z2GxK!?>)}XnXl?@xt-UY{GMmTwobafe<4b*nz7|BjbUZ+g zErmn{9Bv6k7V!K;?DX|+a_?=TKCJ&NS$WOn+y-?N7uWpVcQYR-?9(sR-qUrU>ZfO{ zerq{#a_nujTI-g(T9AKN0+HI=Z_h}XP|n4c&sTWu-+dvAMak#lee7}?wAI?y@z@}w zXD}x$*m^C`-Elm&`00+SMx~=3dBVP<5I43f;9-d7yybjM?Wl16trn4wX_k}C`k|pF z%N?rE=9|g-&dNy|?Bq(9^Wxm#rVY#LAD3|(+`}!CHE!RV-!3|M@}w`#?KsM0dU-;h zg#%V`_^*KO2X=Vc9-_Hz*PYi`fa?LW_MH7T_ys?6)I+!1Aiu|D(^?AO9Ku5{M~b^c zkF>@6&3?EAze~B2oUCJdql5eYuBEj1UmTmzi6IUz70Z*}l3j`Xl)bF({}c>jgkosm zKtMk{zhK?_!wxOuXTxkXk_h%bc=kxNqw?S%sP}W~*EQ6X>T(IQSO|xFEB-plNa*wt z2G~i;;|Q)E(7POnx6fa`uni5fX$SG=(;#(+3I9lFb({Cdhei%_BX9~)MShC}pyb3w zVXnc1t}r?HXKmHp$Aic-L-8zyKK=?3#mF$K8|BeN<-&A|iUQfFI)+8gVv&_kA;gyC87z6!Ppcs$xKb)!39l?anMqtjPJMq2WEEa zu^^bG-%qN2$-&oTvu}A;JoqI?s-I36?F7-d z(Zz0D>3z(1yu+l^z04copQ$Ql%Hz#6_m06DYOM@866v0T!O5%CHW&;0pco1T#EU5ARij)Sf&hMuS8Zw2pmK|w zdJeX4sg+A$N2E|o{X)SVe1csl8F;wJ7o#_(#d*1+h5mybFlzmuKUvIf%>p$S%4iS&{Zy&N*?jo$$X>4@uDH5XMZGDY=$u@tz`rrF`@LVFLI;`gf zc%euA{G9VzY>tOa=cpD|A21O##3fln%syRza0n9x*mMtIJxmreXF)DPb-sMrpr% zN>a#{Gmx|NAw6E`uXl#$(o~~z6%4&$iNVd#RnpA^$Qa9Bgv~r^7mrdLz%*>48`2gP z7;ZFZ1Tk8F#wvVyUk=D7%#%VHjuE5`nM_I>W7Yrb^#12r>YMtT2gg9becn7AJ=J~1 zZrFCeTtq&;drcQzTG=!#Rblzp@GaeSzP0|UV_a2LYc~FQrxv)A2-moku@> zdwj=)b>Vma@`2_5;(yUnQ?u+2JZj7foG9_wLM&IyV9=&8*i4?Kjj#Kr@GNE~VRI7w zzj&{g2)iC4!OE^hO;&Z*CJ*}D9~J;5mozkz zbn-b96r-EwX+^LT*1KBA6*|JG}E3G-2;vp)T^W|pN7;P zG3{!=AUXEp+bN&FLUUvQWMRJ?DT*D068QNV;{~&-VLb%V`k9MWg{~plbLof?F^8dHVGFW(&7$sbS-wEzdmS4Lp5qn@vqa3}bwLFkau@))Yv*5a z?11*#4Ur{R#DV1}Sg2nIvU8{WHjWeJ*@RL^%V81HEdBso$pXpgUvUzY##S%H3hZLy zyEin5NY#@laF%xP-SG;jeiYIfl%tWcTEgDiQ>!e<46*CfOrgK=d3~y$298?HCr*rU z#qtx%B+7c_qYt7&NsAO)!E6x_%B`&T<;;=up4T1RVfoXu;H%Rqa*LOpgl7~5%g@SS zZgv}eH%A7noVw$o@wH(VSEHA9olBxNMMQ9f0%^C0K?X#g9saEa~Abcd^SQ@LKqN8Q} z@EIU(j2qq&(~itzB&|LUxOY?|Zu|uiH)eK6xq=x>To{jtZ&b44`A9CxmMYHDRtGBa z8oF?%!4(r<33bEn=OmOLzv&NU%_a~c>&u?o?ST=1GHFq4ItMMeN)D0|Ts25GDo_`R z%#r5U5%E#^qYObSC$4xh%gVAwU3PNI$dnumYb>SspoU(ZM*5bW!Z}P1N)r+pkqU#N z+@&K;gj$n*uRZYMswMjI8G8MppM}2}g;uKLs;Z!mDbf-$@VOt4eJ@{B_-DbVsXx0U z^2RV;@3Z%fIsRRE49An5HU+0a0GbGo3!x`r4*}FD`_-;C{B_2hRthIkv|T5-Ue?8z z2On^u2mpWRPR35Zr0#Jz}nZB&B$}E>?z2b%6 zRM!#HqxEmV5esv6A~((Wso?3v`}&7nBg|VX#lx*x;PK6K5=H#*{uvJH(7$F49Wf?U zmX2AbrNw>{5KUQJP+XO^7^s&rh_MD^^H+f1;B`|IzTK%FFtL^9!Fu&7vn0&7*op;k zGE{U#2{bYEbUe{s9BwtBmq?64@i%vkY|&Zlb-Ta8LPC#Fv=e%LpTIO1hp0IIdv;po z>2EwSyohm|L~@h)^RB@O~K8C(v|>d`DyewBE~EGzdEEl4Ad_ zVE12eU5z9Rj2(=}&P>V7H*#2&#)Q8;O?P6AqYW^y2zWH%jX#!GmcEXW9+{?umfJsv zN!emF#A$2xz0B@jC-B^RFW#GcxiCT)^ZiPznn#88oG&v~D8r7;mL7i}(Z`js0^!p2 zq&lIBVrRe1ss4Jy+xkNZB|#M5G2DU}m4Q_Y;xa^CK}T6gx%qQK&s&M>gTkyRfAfXM zwt;+hVDT5n?pDIX#hZ^pc+|>Wa3>R%vCn1E8=UIR=f?D;t}+SgTk>z->IU$nyFZDs z-=VTSF^Y!xyl)q3M-1CQG8+a>aI2n6YKj)eg{vBisH1*++U4Lab=v9(eC~qM2?3)I zjm*{G2J~d3OIuy{mDmkCEBn>1yF1q%OlyxX)oIKXO2$@TV>2mrDF=0bkiKDCc|Gh! zk>#U-ar|iMlpzZJP6f}p+KGIjRUeu2KJZ_*?J934d~|c4-jE<p$@~lwX&4XLxkPcuHZ$s*^K@7tkz;(VD+@gHw*DOZ6D(xi>EQ0 zM~?_*FhtvlHj9<_r7A)1p*TfQLV;9ZldVfFDptqR&Tva8#z%7sg4T z1Gm=lk*xN7;Q5Um`uEa8V3S#X_DN!o={pty*QCJ!);HgC+I8YKs)XA2GJKiCd@7W0y+ zAH`AKLs=cBnf2mNkCN>fwj+<~MR5w!K&>8Z(IbTC%=)G|z}`rRC90&0u$Fsp{ih95 zGG1|8Izxhz0+pF8L#hJ---yzwcJ9YB4Pp#2(BOY4#V(OBIZg|ii7z3vr%bwg+~$^) z#4l*lsx{E;D*)5TnL|PxgH?Mse%wwOg}jDA%z_S6!f~(1nJAJ)sS}zciWrk;9qgUE z{j&m7gQ}(q=l+~6nnz8-3IRj&h8t97Ha9I&96wn=a58lBmQqmVd_D)RX1CW0!{oYc zgR`UK`{W=s{ zG%AN5cAEZ-GlugZ?@H>Bp5`j)R?~Yisw{uddnT<*oZ#h660jY(M-=JtTM5dSL$Ir> zF!Pg5f6Bokl{8L@MI$Wn zih`;%He6+U_<=NeKeNuB{(J>K=MMQHMkixl=+(?-2+@2%VX4`R-qbHe{eA`iqicjb%K?t|n>g2b=; z1q#Nyn`b!S^WEf%9_cU81)u=#*h5#VAbF(kHv2o3@L0?>0}xN0f|JIO-zijgbjI=V zIr>%Xo>r~d4si4y!l?O}RVzDgaqGQU|7u~vz$G50<6qGu)Z4w~)l@d2kDW(K#}(pw zq>`2K$d^z~t0EV>#3aC!@Gi>OQtWn-!q-E8Z5NG45(gNg4)Z_Fd;lImMGZICm9CEp0TiWQ<_WxLCM4%HN?F>%n{P%N;0KxCltn*<$FJ{j1kR zBn%zW;pK<;$jgA;-{F$5p-=dyn3U0*KoC>cnj;fL-N5{wi9WeIp=I^wZ^U9*u@9Ux z2FnNE=h>yGWz57R&b8basxlw%Dl89+#`a*6CXjq+!ojdzy{AJvsd#BkU$-5=HYlTq zk6dnOh3Tb0cevKq^;{d!iWyDO zBS_7W0p)r14xEVgb$>2q_P>?BFUU9zZLB&RbgOsy)%}lA4t`JK*ayuly|*akJ&)(p%O^hOZrRbw&A|vK#qB zMf{nXzx!_f+a9WOfqXgN+iUEndt&aER2A9e7_F2|T^)^l+``uT%5h%AA(eXkL8rMOOyj6&&xb2X+vG>ALJa+${HJhqo}4#aggn#D2a{k*uC*GxqU2Rom=)g} zVfcq?{fcrhnkjA)M%IsSl+Ky3jBc0w=jZ2w^s7nW7SDZ|Nx2U1R9WBjO<7sd^1dzX zz4Pcvr9{h!cJUAd89)1R&mIyhMC;R4^&ilZBMWvi`k9S$b7w%&mNep0BZ^VRNGtHU z;tq_N^@je04HZ%rV@Dynu^6YTr%DYSag)D6&5|gO&BqHX0FtT-{P*p;f#??$CH9mi zXAbD>n3%36~{ zdmj+U<$0ZPDEz}FQzZk8&uNMiT1d!Dw3~StcQFx9?;Z6lLIT#Xzdt<&23SiqcncF*Wh7c z&jR6RLs>3RZz#{5A!~>BNyx>m)Z9*rc0rO?!LRq>z+Y&?2T2cwYB+lM06#X9O5FoN zkxwAKxZ4Nza^B^$w6lQSgjYz83)CxuddV;FaDup5K(s3jneaI&s(vTq3=zF)tLqfX1r(Z ziQiu4^7Dbv_Uy`H82(hPn9vdw=nv;qQz%nrF-1Jy_$BgDdFm*_Q`NN7awk{pQ^X zp~2J1!PGu6wUqRoU1f0wFZ zYNFKcPrI0f0Y-#3rZlAH2HH$LfUi=}_|hhm>2-ywT$7R4N2D;QxlJXut55rjD!36w zKUPNu(Yw-lHind>L^}gRh{w!Q4p12idK!K9O3UYvap1a^>ccz}z+gu3=(*mopx;iP zYgo!(aug`TO&uxHb-0yZQefx@#@5P9j)FQ{24M^B{1;k6UlfP(C*CE*_q~^a+Peq5 zZ?8kwKustEThcfJh%nzmwSRQi*L1(q)=CYTd^p5PGyhKk=f5>EBGPXHwKev(9`;** z-;NCZZAN~n(D#Y5$HrIbV4ir~$V3sGInuAPJvjszK7Hd(^|t-?y#fJCR33H#ACaLn zvdqaT88vvq;KzxKTFgo&c(2&IJ z()gbIAR6ny_a*nlMG_&Y&5qsns$K+8;40$T)>Txbz^*7&B)XX3T-+ zpR|asD>JM16>M|vq_sE#)Cj#rv*rq-i;{T0M-uHiD@l_R_*ia3m?{ks zG^Uvb{#P+@cU~e~!KpV`SZ0URt9mJ@)R@svfV!0zF)KsECh;@8pfNV$C~;$Ba?FwEgrH% zhGZ$eSSBmtGE&0?Gg zV&Kdt8A2c7R*D7SU?Vt#EE1#I?jNwY(6=&7q0&t>ZI`2U!cjjT$hgKemP|oDZy`43 z%uKl3(U>iov3h<>Y=TnD5=r83h!c(NWKMx8JY$J z;!WZr1@8Tu{EN9X^>A^4z;X6v;yL>nZiSgqb9lSm@p>vsKZrm3!%DuON_WipXSTfm zF(&BBYIhm5P*YvGrk8Xx%j=guTw>?##J7#BC6E>lwX3hyjLX2+mDpR7?mHRH(TiNq z8vI4avR=ogdt+N)7CkdV&nvPVzL@X2ux)u6U5m@=*@i0?vx}wx}Cnburq}F=}Zo#gmB|x!xFCGoRL--yDk`%=Maa6KrNC z&S^Rurq-?@7H2$M>j|%-7eG6ArV2)Wo6&@}PLNc>IS*eC^Ck_Hw><0w&~jw5I13Ax z#2_;%ELC($s9taCl%!jU8vC|kwxA0*-y;(Y%Q}0*_JG4v83}(knAZKqg5x=?0C%JI za!n{;xy|4uXj)?~c6Gbgyosj2MA@$Hb5=L2>zxyVrcUde^z)RYZjVk#QEYZ7=_e#9 zgKkg2%qN+%2*}INK+uQpT}2dKCrr>r^9^F%Yv(w zO}RtkNs~C?CBX?~+R3MM23^#YLD5|Zq?<=Hq?yxcG$-|8Q>vB6v z4$E3bRk0azs-QN`o`bOIq#VI#l}uc|=Ad~aXIDc)p*oZ(2efkD&e_PHG}o%OtC*pi z9?vE;aX= zQZ8(&XVw+@{GlEP{|!{fo4^mFwkA%|^i?iDG;fwhTnG>=9G@^y56_VF!`#`&Z&6CO zM-)$^3q9A7)+#UUT_KysyYh1kTe`L2UHE{>S=6~Q&C&Z7WD=Z4p71;W>8kv*YT_?n zWj=QcunfYSUiD7SG)BPrb)snM1PPCB0tvDRluU--BB@yvxIs*{E&d@ z+y^2Ss_%wP*mL{wQ5NA|t^(YZk4H6s{VNKVHOie=zvfluCan zDc-Rp>w4$TFn-MeyDM&~a)atKHLC~)!1|WICZ$Z*x^O&Fu`sUeORvC6vwE8R-HE@S5M z`FgMNMRX@RKfB@=sF&jSv&ZE2Puc6Brs-}+6R5?8+eq@h#ZV1VFf`BW5%N-hP$pn@ zo0GU3w%I6>Z~-!b<`cN`lonEzSsf`p*&w+kEz)GnN|)F&R)8&){s4`K2zqvZ-v-|= zhLb_3ERK^^;PO<*qK$!AgdbKHo@waPp1!u(Z}yv@!M*eqDTaI3qQa@CV(uph=vn6`g6Y@xBBoF zZiaPjl`*I<3M5)vTWy{4aGS$JUpaVVGe7lr)E9eVs^P_J;jS*k35s%Nm4mho5*8u7 zLnrX;r*$vMD3wv(Vunoo_Xh#Y)k8mKMfn@!_;K(c-nXqlwzg_HjX34LRYW+s=dFT_ zi=O%kO%-8ys5DE&g?>MD{s!%20v2Y}Dl5oTL51p{rT~t-3m3%i{HCwfO0nIWG1G1; zc1)fnhc-p7ghOc?l`rZALzT>GLDn1~51H2%a*5B-mrCgt$pybG=E^}0*JpE2vt}ht z23CPxmYn&G$t-LXzug*yc3kWk5@8linlwgcQw~v+>sEphPRI(vH`&@5jf%mf7;Swh ziGQD>kXTNv0VQKd)NnuApd?FtwopAlPG@pNf=-WD&&Hpi(>TRGg`j4aa##+rTb^o1 zD{m1=1%07toBp@RdIq}B)F8{FcK`4Xt2J`;$muKlYRS0D{t76=#Ws~@1oz%zcBX+; zZG;+}{YGPY!o-QgA>`W#fJ!jwg&q_Fb28W( znHJ=<@B3&fyomO08tTf){0qttAAJT5pUR&iu<8*FT_!6stD%Oi>jBqxAqSvbMUrZf z>AAF}zvRY3FW3>*=Wiu2XS2AGh#vF$2j)&lyf{$%8dbZ>>+^UcJ{%GS)FK3PvYlqf zeX0x941&2=YZmfC+V1z?6l5)|{i~9~R9R7%8CLl9&=q(gI<5HTBK6E9 za19bb)%o$1RKY$1SS1DD0#QGBA>x;{u9MPEaa(>;8AD0+(AdNzN zLp#A&U-!l5X~cQ#=&bK-!643}fsJ{90zHU$%QHP<#!8sG?Mjutjf?LVzi>nAooNi~ zy3u&fsL_qsg3ABo{A&TIvNH5KllKbs(mdcW&bE^Nj4}RicJ&XYymFrb^(g*N(ef4n zZi0>5LC=ECc6*dG01f1@PjXK~%L!kd-nGT+EYbPaSBns%Pb7i7IpO-JC1H+aX;FsQDgW!vKJe2NEjI=3nSty_lw*UniEag&Y~>r1>K%%{BH916Y?Y zi;8@)ZS=dDaKkN?rS%E`yDK0MUg|RG0U*%SbRFXmVkzhN_A&h$V%gm?eR4o8M_)L= zKgX;0srNIdP*>${vwi!H6lNP>5JvK{f_SQR+5ji;>yD?sAz=#Lfk z`#_V^^Lo{?IGPb`g>>=Ka4;M!rS>cz=R-p$!2l3C;b|#{AZl!@el02%M*pN1Wbje_lo~4}TyJWH zCL~ktN*hHm{wtt(j1IVsp9{+SjV7)LORrQ@z z9QU|Q7AEG3%Roo|VbC<2%qwOkKKZLmXHtw&YhxxK15`FWfKzQN(iK=(SYj9HQDaPRDF%Y^B?ZrD>~aJ9R%_4W2fxI)R;=M^CY9);p`} zcf-zb8!m8)SI<43U;C&TYG_4FtR-qlmoE*>67RmZ>5R$WOXuEUIW$2{gJb&@OGRZ+~=?MTv9Gl2e#aEWu{q#j1*F+6-9fsbuVBRJL2ccwen27U>C&H&En2|Iu}#9S(~X1eq`QBBu-bC z7rme_ej;@FrU2t=!FV9UD#6!ULCm7{BI>S$i}wzDt8R;gJkgHw+9+yBIIYcGLt9o^ zn{Hb&He^n7uP6&?;PZ`GR)G`uFQ-unWP<)9ay7f7Xk4<%U2$FH$T41&=yk#jSa7p% z-!0vg6kRNWrNv?Z0 z`~YZVr_x`T(WlLOIuOFiZm`WJ8F`$IlCKce@&lE3Y|Ne(s9Mao(DXQC0A{*?IUwg?{Y9yY*5hI9|fD!M-<@R(FJX zA+;6gdXb6Le5hbW6f=-`NqCRQyjgh>Cmm#G_r0P6rsoQzs(x2Oo0eifxgHyv$x=Nkz*__4FagK};_?<&aRROe-bh75Tj%;zTL zTrS_22ZkkTY`1b0ApP7;0?zM)xVvn31ovwM6ZGBz?l0QrCcGW~%~Eofv0(B$1i9$pZkN!V|5)_|W1ov!@gGpwhAarzN@mv_10j>*AqD>0^WfV+Hz%9$mE| z&|v9eHQ=e^br+zLkPwG9T6D)(=f;o*E($)!R=Oxy|7J+f`DbAIoPpOfF)%H_Ooa>jpEh12adWPuu`UYvCMfT38xSJP5Q2exdr+RVAii*9n(fG;Bi&< zm;b$9TJA4XMsMoihy0H&4nrAJWi?xFN2Cm&D){ydICIgb(U~8glC54MTHN3O5%hT z5H&2dF-VaQv9Ad0t_MFZMky52L^y?CbJ!KA;9*h9ts1`$-8v)@O0tZ~H8$q_%NC?X zjtVok+sNHjY~KS~k(0BwD(<@{?`2`r1qz?pA(56*sgPq=LRbxLHd4H z3hQ^I8F^6-;+&NbDrMY5=+9_tm?(Q>EXN92elT{&C|v_@qO^I&@|evFu^aKIG28vQ zDl+>>@J3WD;QrohRkb+3Y~L0Zzf8i4Fljo%oTtD~v42nh5++PGY7t9~AE(&Y(t2YG^Dj&hBv-{XciP`c*J@G*27w3-Z zow+}D-}&ntU(jt#mp0t^@=;mm6QwD&qi{)4!+|q3<^K$J7{1c`RxpJ9 zA)$;(8;p`re27m#BH^9vy<<0kLR!)&WN!ZsZ)FRhbnJ3$vWk4AQg{jueHyM38Zn)l zZ3V2kn}MvA3u9_`!}l!H8-~}uI~1sym%^s75zbl#)z8fv2c46@aXj}C!E##-m%3-8 zxM^wg=p7-YDHl4wX2L_!W=m4JB#IcKt>j9hMLv!$=jR9E+-O6LUbs-h_GiZyAIU-D z*s>T^Yb?bZ`YN-Yzchz6Y0TFJS#uWmTX7pbGyFM7hMCDfZDe+zD?{*HcVSz}Ew0}k z?1XW&JWen^U7kZmR9af;W8vR}9B^xuCRUmFz7YMmf5HYmh#YVr`|2bF(;D8Wy0{U9 zZ(jU02Jt9IWz-aiONpQWqQ=ICr)jp1fS$dyNdF5ZNuo@k;|4Edl_EzdJ`WM;;FPvG z3*V0p4L~E!pAX!LCpr5$(6lvohpiw62j;Uj*?NP8{J+xD#SwAfE3Cie^;{$%)G?3Y z*WKA(lE!>yZSAOCOp z1ZV~@{9Mh*Uu~$N=_G#-4hT;Ktls&2)@?p?CfLuq^u6Kh3#6lw_)L> z-mMM;Tpwz!Qh$A|BR@T4;|wS;1UN5Y{n9g_7bljH6lg6!E(w>B@Ss;3sW;tujravw zUEDZYcnI(HSj2=WVYs~hK*WUVCi~P~zspv!ay8!n8fxVQ{`5JTk;G6>-$z7=2>^3MuPHnzEzVT8?62#xgq)M(KC>NbKW9N8euwU3*$;+a_>d3Slp~nYE(66 z%FqYqLFo9jdTDxV5+SI+70X`*1EOds(x% z^`w{@<4kC-Q9SSP+I`I{P4Y<0xF@-Mr`Tq2UD0l*bV7>@)Mv4=O zbHa|Op+XbNE#OQV_vg^4<`8Vc(huIfj_G|P5ar@lw=bgoPbaQJ{;}5Lo5?t)kQ0^kjjkNOT5fjkQ5RE{F7;?9Y&>=Xv0DdxJ@DRfb=@ zgc>@I{mbq$*!@RV+L=e>uu}5!7`0vjpnk5rJ zm(fl}2qWPqs;cxqUGyqKTzU^~RY<9u<3Fp;l94bQM^D^;`*Rc1k=U&8ziQe+$EX4d z=OEf~@cKTNtH0+KwUJ+&vW8BaP%0a%aMN=Jf8fAooqAYPHW;uvW#kK2jX?wyHT-bp z77)`aT;N)a@bluu=MTr5ctMeSi9v427*$w^M5{Wc)&1pX@lvUK0*e2^UMq6D9LoK{ zuSb{XyQe=(c=4WYg+#!^DaaD;#BP+?$Evl~M(E6cJxl_B!C%iZu~b7sm6dwL%r{St z7&|EGJnOS=@Qx_%bc+w46HS~ar}`HL^q?LMDdI3&!HhUv@2GyxRcM1+E-+w-A+s`C zX1&ou#VJjiD;Gonw0z@QJ%L(D38y{Kfl6yaSBTaO>#g(1Eo{an2(YKkmu-?9&H zjVuiVQG!Sw_5*cH(8EB1IW3}ug{(cY7&5r_ICU5()Egx16FQIC&9Zy`DbrvW#QIcx z&E)RAy?qsy&dA7Z1alp=H&EM-r_1rIc4V5wXZg!>9?5;)FzujY5-g=0=TY6$P)}KTV)Tw53{1v5JT0fZ$XTmzwr*r6Tw^N9Tt2z54-;>v{hHt-Q`s!_>xE@A<;a`6J7&f54Z0*dpnv5uw zbCM5~$+T1RiPDI`<0ntx&lQ*1sSMVNQn}NrgIvJnJ5U}`(t{YtmQ*O`<3vD|Oh|(7 zz`G7r_XO=!o{g((-Kzs>FB@7l3jyuoNVZQ z0x*-XR}x%v)+zY*tNGZlUAvuoIM73yXMl)-SqMvcu}F8fs9ko=~4Fn!Ac(J0c>=9n9v~4fN5H zu!xGF7p$rk8p;hwNjM3+V3s5d1^ucYJ7!aZbQzQ9+GDYryYP&8e9c*7)$O6RA?3(AdXspfGR+-|HwXbih+p=-wnp8TC0og zgfNMb;LmQXq;52)9SF5P{A<5#3?O9s2$Rh3?uGw|HrqR znO@HsN{YFXPWUJv<)Xo`kiJ!CB)||ZlOntJ0EPvXHq`akMyqmjK~ZE)Z~*!Hnxl#F zswWb-y-V%adbHrSoE!pHW!>O_4>d@tjt;Xen4la)D^kfQ_KG-|89^(N7;qfQI9F;! zbc45_lQlpfd@Rf985t}Qa!Gy&x}bz)u)*4kOri}dBSi6zG_MhY_b-Zr7)e-)^ks2Y zu_{Mr%ZR>u_pL^+{;t8ceVG~WEMlr1MyAXO{i{&w5WLT8X~F8#7b>EsDYWfsazzV+ zmH=1HKq}}MtQIw$)DjW0UtGW)~Kpux5*PNJx4LTG% zpAM4;oV?I2jyd z64{BWAl#Sp7iZIxRyClxyz1?2`l{f~8Q9$d z)F!SrU)qZY>cbX+O$Hb1ZI$5!qrgjq0WY!mEoKN5@O;+u@iw4OjKiJ=?vkVg+9f4h zNLGE(duPH4THW8EnLru|FXkDN%xsQ&LlHr^%gKy=3)_ZLLKBi_791tzt(rv-f=cU5 zAWGK@7&R9b<_Sz&9FPsdYZyl?3}MTt)0`D+jUYtK<0e_Hq`61CoiPcZJw}OuY>xY$ zz!&9U(qSxjz=~eLxwIQJ4{@%^cIUqO*P74oI16LuyUma2ih;_tfofL0tm zBsV*xxcJu!2}Sr0dl;x;yZOdsao2-IGuL_o?qh^{eDOm#$m}dW=We>xo+^l1+|v^o zGMkeQHN1i2-R`on2Grn7oXdfV zXz*Q^-4ZqYLu*`#AC}16lS=S-&=iOZKR}BYT#n~1B3i}zWN?YKL{?6Ib`Zb&eRmOV zDv9JCs>*c`B!Lo)w-g>rV&f$0)8B;vW8qjX!nTr+r7`KB<^bh>oOfc+nMiV+RdmOG zNm3j@%0gdHR{&5e!&s%oybN%du_^Ipk%J|V@795ai0G|~V55#DICIqMm?j%Fc1TWuo9gSRI|OIcjn+Nyce})}_vFGpd*Fmp5$*ywhQ`33MOC>JCXv)Oc=> za5MTm>Q}SzZbYuDt|h6legi09bcm2+unH&7Kt?sX4j??o*OuKpiThq11rnt?@cZmD z%QQXp+&5Y&;)@9)AsShgkU3e9Ln5_Se={yEZjb>^P_&joL!Y|FS+C$6iRN*~JVm{>#4rB-9Ow@Wok`#hU8wgd6RpdWt__`Md90`LdV{PTF(h*z%!?gVB(PanA6QF|fVReSa4>ugak z*pVUsE)%;9%fiE88SA)=RSzT}0KSd&!h=?A!|pL#7GnBF2-Dq+fQVLb#(UxVK_lHr z-0Fjb{cvrQG4YaXR!4LqFoER#ljHNf5SNThm=c*>6qm}DDs@}YD}-43c|tf2yC6Ya z72=fH`SK6_xblGozS1l__HeH;G1nB;Y~ZT>=)$q}!FP>W!sn%@>-f)2mRSc6u#?$( ze199*8@jkSIr#7RByw`$5hszx(%_-D-<>RhQ=n z72~M--uIFUaYBL}5gWuSh>^z)L&a7dy2es7J-^Cw3Sq88n_bM8rXV;{s(#CVkgaye zK<7Cy&50v4VOD+)(L8Vo^6*2h|HL5tJj1mSLF}&m%xPA~Y-pc8E=wK+8!Z+EgEA=e zOjpNzoHqw@O$`clA;gVae_4@J28}96gwrQd)~{O)84W1`-+IR zePR2a#A&3FXk@arIn-8f95!CDF=@dCdl9_YFPbz@-q%@mY$Gbn+2=Lxn?aiA$Hi$< z%WOv*>)(W4IS2*fr0yT5sm1hH4G=<%*Lhb{l8_Olw47k=2j_Y-BapsB;poRt6*kW(~K zGRJ@(x&6&TKuM6sYHogHsv&f|b=JpBu>B^rA~K^vUM%p^7 zXfjt2$mUv$N zZy%)Hbn7btp9*s*fA*Mt(`m6#_lB=_&wc=ZRnmz&w*hlZ-Jw`p^Gm$GT$SN=N-t|x zv5-klF32i(>3%nkm5)k;{C-k~zgY5|`piYQMyb_$$xj<+aLZLOCNzI zUS)6i-kXwu-IkhWfdQfK=WSeE4w&S~o6`x^Yu>NjtEPps2Ur)i>e(cY<`9*TWwq+c zeue98B<(_eAA<0jKd#-!08@GMBZRruKn%pDyl3k4>RAZMKc2NuY23C)G?@hMdk$@b zFx9z&V3TgjSjbe|UL#V7Y~u(*2lrJ*tlLG2iRN%J2~V+)i@shf^;3PN7hf9-7KsU+ zFs`nM+qhc>gPb{u%3fY>c47~( z69#Abd+X~kxq#e5F^AwEDCXbj;AUk}U*Y3sWBCF%gsBWtZYhEyv_8LLTOua zIB2hV@o<5=PdFt=kC5*WAmaQ_KPeAgt=)Q^Xt z3}h1v9rmar!2Crs?8?WautdvGP|je!Q3M)qh)|}uUv%+J!KS67P{KT?;S zK7&tV;VvZ$1}alHF(09*I^~if-*hQhR&}HCx4qF|<*l2t^RF zKNa2W$HvC@rJ#(e6-Gy0D)OUrs+gy%4sOU^B@qk}mCwQ#x6ux84e!ReU@x=zReLWi zW3ov9%x^;$KL2A(Ab-H2r&l|@9qqHkG}8T??W<$L`#tJj9az(PnVBWEt^xw%&`69H zU8xO_c3NdK{!hxQkJ{(&Wmf09L8q>WHUIO~=iS@}2RKX9woPbMsIP1{?yoGf?vwZU zuJ+4SeI!3|ZNJktTs>&GL&0C6gVkUZ5C2wbLm>mQXZ z0=RSL(L}#kAFAf4v@rOnxlz6`f771jVSeLgYyN%A?XDsgH~m=jPMtbR@5$>3x3nay z#w^Kcx%>QQGT5QZn^Ha@;adq(<#K#OIUVVylBS&`w?3rx>mT{j!U}A7d>6I+IrdFb zvu;fS4-}d?VKIUhWIC4B%^s8&A|!LZaU`u2%W=pwAPn^6(e3tfqq6<`yOM>TwETiH zfD^CpSARwXJFj7+4?%sGSuveeQt+3{rN zKkl0n$^%?szFp625UUOn055s}+0*F*EGGY*uNeEY+MTQXp85Uy)JFd>tK9jvig=^5 z=ML>l-#bc8caN2!|DVmo@QvC@4SmU$EbhP#|JW??SRxuL;}u?#V+7Ff_8)TGR1*=; zrb?3Uz0e{ zftkBsjE5-?VPPsFX1}_?z(Gm$!9>F5Q`y_dnBmhJN@VsMR_aJz;^6kEzD0rsL`{VZ zCC!VOHFRu`)_djNJpQ)HIH5n?J(LEz)5>cT9CTS zVrB%#z;=Dl`ia3=x0*mach(lVa5ecGK>r&e9htY_>rBPHD;BN?t+V5?@L>e#zwk)Y z`g3Tl#~aB;UR_Jq*&=~9P>fkkD<0OxMJ{}9XVM`WlvRLFWb7&E*(oU&6gKJ1-%D74 zIy(Uv=hGo*1|}R%Ti5={w)YHux0gyn_+vv|3&tFyc>#!IkDRIMq%*%uwhs-rgd&*x z(Js#u?_3Hbi#^=;q>uBmrKy`KI{@@T^O5_gxxzpi2X4?N!LWRn6Bg96_@X=tW(!R_ zE=QN+PSEpvW&n>mlUKP=x@RlIxYGi;LXmj%E8sP;u}KGW&thPuZNmn117@fWvF$n8 zr#iV9BYQZ#H|r=HK(4YLE{iQs|**|}rAQl$&MFmpp#gNk;x zcO8KO>d$z#LZrij)Hun)%dK&2s<}CU5NzK+0zQGDV=lVUaanlT}_`$ zqceo=7t@|pAe!d)N2$77kmXn~ooEE0!PJrG41~CV?1nXl2@mz94GG;bf|C0~P~P04 z-#Fd*4Hu)+RLn{btQ%_8%`m#hMGkXo`(^+@??C^?F;Erk6#{D`h3OoZ*{ehun-~`|cd@Hr-4l}>Q+_m5V-;9Nq2-ci4&>(>z zl5z{GrV#97i;4&5Mi)jF2qytYqP&9mK43YfJF8eKWQw+lf<}zQtIk*mp-L_@6wyRh z3IDQInE^2(ezzxo2lXnaRFdUxf)*8S4`UE{G%0r3em|`*gk1#4V>fSa4*PUl0OPb_ z-(N=a?>9;e)zIMNJm}+mKpm8@C2G~G1y85Sg_x4mHYt;dG=&6R8sN}Sr%O&G%Y2KZ z#0aLue}~h6X^zQuEbSBIxsh*~9wcmIYrvWTSwxW;3eJE|3WZJw z;l7Tn=Y5>i9@k;e!(^(RaTk0T-06@?j7(8?0>kL&*O$I{Ji&I-Pb#w^YtQ|mrXy^i zL$@jSfcwXq@NOeSc7BJ6htV35Oo6V zI>VBONYSSvB5eE_bzouUyN4GgC1CMP`j9H?p;1<2UqTlgOg!Q+@g%9k;&!fGJJ4Ik z@%cpar57PQ4Hn7j6Qxbaam9_1hOa!l$4R(skw5t8$+t+LsCQ{^BNCR&vpTSTGn@b} z8vARM31PT76EH0?I~u?8cO5!=dk|;Jo}g1MiH|G!xZ4OlhB zOH(4}gK1d2^d*5NizF{|R<=s>N6ThDe`k&@p&w@LD3}y8y(+4ZS2bJ2z?|X>MmrM) z29UBmV6<~&3zgX*j#0YphXQjTzq@fKjnvyh@pksV7L$`{OTxK(7fG< zueRE1xlkcO&GV{Ek!-XEJ2Iv3M0W9b<*(HonK%&a@QuQAa;4rmQtZ2&^;|{jZ%>|V znw9>+{-8t}h`E#|GYQo=*IP*%WD`Xx!z184hz@5j(e@fl;SxGF}NFUX?IGj%ysYEv;&^5@Ij%62f>@qL2^d71)b zf6_dHUyW76j)dgP*Fof8S;UmqN#~r_bD_*iZCDd+U2zIu-80pwhvl>8OxqpLg}l@l z9mDb)v51R+GgbH&Z}&5w_l&HcQ2xsO61qHR2^H!w>JsYnj<1I>@(fB^&#_tmbq^1B z3aGC_|65r4_o_Cr^BHwE@X5o<1kmjJD8$P?%gQ4y6Qp2U4Kd0jg6Jsz6$dK0Nv}^? zVkOie3AOSELljB`glniIbab%*qL-uxG#d$hh$NB>SX;x3e+|TunK=i9?4SiwciBA- zDojNdj5Ayn)hTW@!y2RsIUP@Pvf3`bl@)k#vTM-*R~y)`-{Yd4YR%Zp9w*UA$@0Jx zA{XN(ns#(=+Vi#t-H-`B_z4UoFUH{IF^m+`W?X~FV-B6HtYP|Vq6Qp7UKUITr<M;di7|@EAN+-`?LPijsR^GN>@#)e`Cz12p5ax$>!!;8zRFqPT#4TJm^%KWrmloVb7YxzU z`UU~2E5l}Tzd%v|1srl>6zDLJ*zQjkrB|^zBZZnXL#<0{!>wtyFH{oAN1Gu*@C0vA zk%}#kToA)ni_)(?%+4y{j)12#YDFDUXZj((jcoIVD6-`vD|&rnwP5VR+88Qd%IAj3 zUV##u)ADq|g_h-9r_rD}^rm1C>GhLyLjRQWFhr{d2EahQHxD`5$JE%HU?Y%F7WqnD7KvE`V~F4PXl?$&&MVjOJ37`>wWH_7`AG2c*qDB7APE?@SatW zgW~ku6; z)-KjV3zYu$|8aQ#?IX)FMv5UXTWO|2UvK}4d>GF4{E6iS2#N@7YwA<;wewzH)q>% zC99&D<8-{wbMDE)MM$pbtgc&w#`hTR;apecZ1jU=GTP^;~z#z`>&8xB~DJU@J=Da`V6jOeIzO z?4Ol7%qxD;AT)E%+uKF9F5>n(tGOHwb~XmaE-gNjcHG0nmCw&!^Tm(TKpJQ#MqM!T z{m>5}Gitg5Pe=)xZTX$_11UdL;S@j{1aq^~)hcwIp~KivFP=4F;U-x1B!E9YD{QzEj`RR1PZ5 z&_vB8$u^QavyuhkG-V&)8G1P zLX3|w=xy~?TwHfS4swNBVf3X>XwT{{A}BUSr;efdV^wK2qSO-#@jh(ZWkoO`-@g9j zHKhp%V4M>Bsz9p(iST>CO|%?8?JHMujYs;al8RXh%s@lkd4~QtRo?wIh;MJ(IddSp zoH!PJ=CazfMw5wmygUnFQ=oYaFmAqahj`#%v0j1wize5D#5o{&e^jo|e&9$Zc(c|d z)%+IFtkV3Q#P2S=(1YB3hMZK}vCq^_J9yEI*6ENVh`HmkJ!A6NHKShwRXp*xh*x`{ zYZx$kd}%XEzh8_%)^pn*&^rsmxgxf*9)*x^8Lh8 z8#o)Gm|0)A3e6kc;1`m%g~ii&Wiq1C!~&eFt8cA+gBm8PS{lxg)8Ol+KF+}JjT{6r zd=E%lwGw0JF<%cIuS+^#*P28%M;`Ssk^ePby$ux1{p=3JPL`Tru5K}It?j8HrBOag;_jN z{`sDI0|Ti0pH-Ow0jkZS{*RV(%g^C^*L0vqqSZhC z{&=F9_0Y2JIpP0SaFbqdHBMk}cT0uOHilGyhlFRJ!k1Ma;91#)J9Uw+sZ+B;`KM{D z=DZ8R@J~$3Id_#s-GIBtH?uF*&PD1-;FnNwmN1C+4To~6b>12E*FrmPK7V^t)g9|2 z=ul|-KR+k!-cIxUA3q=4di~w&Z%%fkZPq5|n$Dp$0P;Z>yY<}TMnR+y1d)^>C`gV; z%Gx_H+o2ufj1vhUl)?=oX((cXXA6xL^+`5{3GHZtJpvz*ERW7ag`5;BB}Zq~oLWsL zuSBFnurs*>~f>p|C zC^KPI`*(ODAnjSywgWdlfc9ODa%px>FjOU_)p}{1cYvfm<`?N%nvkIwzP|`X#3i_W zOLXf#oYKu*;05R&NG5u#b`!VenC+~T#5Yk*Ub`H5IEd=peA;bIt39mt8o<`D^{;;x~b%FPyrc=n=%S(T3tRaJ_U!ZR3w*EHIQI3jtz$HRNH#%ZJQ!C{< zwrQoM46@TLC^w%~4>?0vJzERFamb{MG2Q`~a)JgmY=J-Uq7lr=uA$Y$fC9j{H1bvL zEx(IHbc6!&Sw4Bkp+hU7EOB#;^ik?8Q!1}GHI8g|sORVfA)48q^dcs0*t~4=tXT^z z@JobvTFYH^ErXJaIhz&h?2+%i8m5s|f@{-e?+dNTi^b>kZs}8b3=KDZ=HOh(k zLFx-3+s&Q&RMAO~;2y9V0q})*c`^#OD-VDaVB~gD$M_}q+4Z<3FckcQIICZ;R`87= z@2NW)Y|QsUQn6dqY%?rF_$T|fPI;&l<>5}xy5P2h>F)!e>*0;rj=gff6Xk2a)AGqw zjILtJM-|}nIqE=K*H^x2s0G|5U)|(OtlV@hP)wj2L9Lb#hMbI?`}7%}+ww45wo^N3 zVqh#sZN;xTpHMPHtT)OMTPeoaf)(85i?Iz2o&oiq8`y%+Zdd6UPD|oN6TCni{B2s6 zl10{K%WkM0Md&iHIlNGw(U5{lg)Dwl!h-pD`r5G0X|x|8DkcM(3FKOl*RkWqK#Aeg zX+&FYVab17a4UDkRMuV@@E~Dj$gP;``O6`F$U)h>Sua!qU4KD1^84&uVlp3eF?P1* z>Y5M1Xq6BV;R4(`;bzyYq*3aId-j08Z zm-VF3z&qiY-dkUuc^$Rasq3qi+?@iyv$5jk$2CsKh3BU>%q_?rpR?1IHg4lo6kAe) zz~5!O!+67Yv2G;iO^6>rYx-aBvUb45It~XYPW?=t;Js$=8 z{~iC-&M1p|RcKAxKKoPYfoe}%N9*hB-G+IjQ9xa{U2%=5(6Y}JKNVWMQ{bbF_$zDL zdg+b#XE>#b&?`UjWcSRc?4(aNBm2lGYWKkZB+|To49l^tlnZ%7S<*A%SgMh5gdhuO z6@sVqA3&WKm1Eq7+7PM6H@c*iu#*v`KrzS;0nOq2s0PfzNJCv ziv}K0jQg}wE!c}=V{yfWlVSV(>2<+H!lvPf6vkbXNak_6fG>)2uzLbDAE%m1!J=xa zD1yJZD}@M(+emT82QOy}Nbk>&k@`Q>)3J8>j$n@ECLRqni#c2sQi4Nz--zZGyvfXYd=VygZ8foX8z!belq!9TStsFFbix>DNTMsq zXBleNHKBwFrS>mh;vO-xxu8WmltWqyuy0j7ERlz|Uy9v^(zE-+*5&7#$f0K}G}9XC zgo+duqncVvOC4`Q_f1B-Hvrz3bo=M4=zX?&qF)EC>olxylXMe;d26egjWc9aNcdzL z(bq?z5vC83X#5XP!H-L3Uj?ld89iB5Ns!4YD@sA2xDX5+Bytu^_Uu| z9Pv?JZ5lO%$E8&;pw#(NN-J;q2pcp1esuB@tG}X zO!wBFSX06qI)Hd8as47fP!SQ%OZz-HIA%dcsPCK21f~b5WDqhH(W+X=qGLyVm`w`R zTZ+WU$*{8tBEg=QGws6AGx`7Xw_%_GD^h#ikT+!X?$xJ~n86;AMT%>EA&?LP9TekQ}q@ zL7^Pd!DIO&#LJYDL{b1sI)tG@2_=uoGc>BGY~giqEE**;C~y`(NKDm342!Dn{F&+$ zdJgXt(N6nItm|-H88B})Sb5Hk04ru(JWX0IQ!WGmq&$}vg2EaaW}gK}NA8Tqe+!W^ z?Sa0`7FU?Zgpi>^hprtc9gSyLTf3n0gb?RY#3z#RsItXw#eV<;y{UMZvis_6;a{tv z0;0o<5Ye@?&scsyFe%Z1Luz7QRUqGrNl?5(n39K(n+N`-b}?zgB!!@ZwY4B>14!6# z@*qD0v`FlGtQR_u9rTC#&y|XD53xG{*&JqB49J_f5;%{mf@JNhJ3=`&K_wx)LEXt; zyhG`>ei6vZ6;U3ZbPK&1|YadI=V*rnp zI2i(qWa*2qS~SU1oWr-)8rsR?bK8P#r{2DX$G?UO>)936{B4{0qD zBDchiVJhUqTKr+o+RHp)3#?X*r|2t(jYN+$r{j#tp>d3nPMg!9s_YdgSyP!|#O_9w ztDq*nd`ar$%w_*0U83lQkZSK8g&&E$iyX87=9x|GnV6hL(xrU&{%vb$l_Uj#mt#K=0BncBC$T6@6bGtaaEw}LOtX}NO~b98yfBth zxaQcSGXgPcr2BQKfx2?8X+pq4_7e@E+A#cLRB^mcEQje`OjqxRC-CtVUT^FOa{DiX6 zd!*aFGG4n&tqG6CjSSyUs)+ULyVY*&zdkQ3$hg6LdT;)&Dig%D{ZZfbe0z`x1-uKb zd;WGj@_S#!#UNNm=xy||*hTrDQO?>6nLH>rhY6Xg{$#iwe4dLleLwCxg#-ONLR--^ton0|n9{3CGwJXY*GsmPtp1ggZhwCu5uw=RdO1mT^+;;_ zq@*(Yft{6H;`iV>lu{Hx$g{xCnG9ts!XXP? zb4_fuM#>pq_q-__4rCe1EDdYgU$QcKLdt@<=`jq;+ac`NkR3&1i3M#AE8?rnv_9N< zHJ_V1l~-0{fL=s$9;Re@Bo(7gb19s0;f~LVr`opb0W;9RE z<|Aaw$oBi&kG2Z1ohX&+@>!~g140QinE>t-n2Z&m(x7Wsw^IHqAgz2-*3?BijShoD z4{JSc#74sIrTIw73d1NzD3m!vo}f`T5$L9C^HgR5{urNv+)gdw6eqVXHRd>I!n+e` z0o@Her9)>Bw-qQEe9j4sQanGE4jIno$(rL0q6$hbPG)oPz$)#w;%Ej>3iq^`ceO#V zRrY{sCQX!DDwVhf8YCel{KE0#D|RS8iae_5Y|zs7waygR9($1m+;-m)*q89J=Z@Q^ zrL=Ut)2upuvw2&zfxJ`AE`7j7kVXe<&nbpU*QCiA(2M{!6DkK`VC}=bWrMlWz{t?W z#%2VOr`pp(S=qv>x0l;aGPjXfW)JN^v~z94X#3 zO~x|)8QPqo&HRhms7X$yLM|T8v{xtHPdgB*rY0vKKEkuDk>Tbo=*O;mYJ@OM25G-i0 z#HOofs{5>FPZV*T@Ajpqu^kqtk?B_8(RXsduS?2DdWK-#(u;=3!`l^FG$Tj2uTwBo z5A~7(ezGNr;l)y+4a{DawV#)+T?+WRSb=#ivkv}NET^A~A>poPpdz7HUf+yytyYAQ z9CtNfsFFe?W-aIoIUniKM80ssJ%VChy~Rs0nbHn5D?;wt#M4|Nu&1(iGr7#aAyo{80C*Ax5_ILW=+ivV@7a+`UM*gfQ9xt@CeZ&6e zIiIpa|1={IP>*={(0>QhP_5*Q)Cw%1awt-u_{3E<;j%sPvBBF0a8_sl0+2R3|<0@lc7c5L4x;-F?6qn0Qo)Hd!9j^I`p@9N4!fXXdXUX@kUU zw&&BvU_ZraI3iP>DHqV4(cd$J$QyC?WRg%GP84;i` z0=v};;YrGYhtkAWMNY*(sQU>{GG>fg2qom{qgbS80<(ZcocT|dMz|Oyfv8h$PzJI{M9p43n#}5ruG6sF_%V-XL1ZlgNn8N(kk_tVJiDfGXm#4cL*+ z0lFim22V4`YF6&HAdX>lVI4;*OO-l7A=xV=Lb6{p$`s`ZGGJjr`1iQ(`%Lt`^^BTe zRI^%BZyRAMH6{nwcY;HV?#Y5iQ$7LME3dKzK1MycQ!Gv&u6A~DdVU9`#Tdvh=y1}< z%9per_b^ko>xg-BTwumZC@O8=$imiDf{D$z{~DwXmx0AEYEeQsbwF=eEn(=FIqT|v z)(Z~xE9p0QCnfX=neIcPUjrss#ho7oW=ouW?5)spG1FJLRZRrPsT+jwB1s``D8V>B zR^RAp=);>alhz>HD&}p!Vg#_E!5437B(QXK%g);5h?3Hq~}nWJo28*;Eu zYxeB~0p3s7KSlZDmC6%Hhf!?u9d`S>o-p&qCuMS9(!&Di!wWH&-{Bm1aVq?W;+lOi z`%6nD7^QU%i)!d=A4<*UX#@yl__HY*R0(FdH2CBu1*G~D;ng2(hrgC8oBmi*xcCNx z{mKIQ+VtBKVAz1TE!zy8fjwts3e``LJ#~xi6-DiwqaBmI%c2~)P#G$EFnH=7 zgi~dXU2d`&uND@eruPwLF=N+dV*>mf<@{R_S|syt zc@?y3N#a@2cBA+oF-HOGe`zlKrx)k9Du}&mmvt*6_`HEXcN|)#e#)u#vfh5xkF3Ou zvVDs)H!sguLMAW(7+e*C&h3-S7OtBzF|JQg^AUaB6HsXUb5TdFv!m6O_9JmYs&s2r zL}*)tOTgFF&7lQvc++c`xW6X3I1 z^k;zb6x058-qDX)2wfq2o+a&Hgur#K7UcL}^`q4FWX!F@S8JgdPdpj8H(zUwhipN= zrAK~Ls!6?4dS)mwhDt~d8y^f-zf60Zm^h+cz(p?NxLst914 z^ge)z3?`Hnj6qRaf}1~_vk6`&3dxZB+_D0(cUs94jlr64*403ZgEd?FoyWq8l5WjhO&TulinN+=6q1W~mhv=%vsX&z8N1 znchcO1?MxTu(+c6Je7>`wbz} z5f)>x_0F?Ph&xyU-54ISmR6OvG;pm2djuBp_G&B{N3%!^p9#={XX-JL0yb`e(KH8v zy10W76jn+bqkS=%lTXF!FM9098hBYw2F))u;J0#vA zCW3pc&n|=AHb6VQG3$}mhiwY&xcEXRVa3LMCM%@0RRyCMtX%HJQ9h1G#;Yix>4^jG zXv(1#=Yi&J1A`U6bTRvBh`JTONB4kHF4H>=A*P{z*34w5iIK(*M5BhkWPyxs5O@c+%3zw+=lkP393E*A!3h!FMSTt`yi*Eta;pgYHz!f z4l>QCBcn?$D5A$t>y&P=hR{ccIT%g+^9j{>7#$>T#!8Kf)?yjcz~wKK80D(iZ=L?0 zOBj3oGx1n~^1>ttrpY)b*a_3gG}%)s@-`=6AtpWWHyh2I(hL-Ecg)sH>^lX3@?`G? zadb9dxcr#)T899Gz<@k@`h=7sWqyH3 zv@IGLG)-A5pOc$+Wa#rD8_v)wr)m2ZTc}5VUccLT(sGdSL)ZK;(~AyA23wATxuW`d zT>pB8d3@#(CcyfgPustvqKjw-xD7s}V}?MJ?N68A%~rdK#94mYfh#*4sus776Gn@P zb(^jnrsRM{LmgGe9Yh;nTE0{o<0+5)fL=++ocCdgy8H(W!er7=2jcHjFliBMWN6@j zT3YMHKovtc;52=Wv~c5RO%>2$=AIQv5!On@>ZBjkJJA{oxK_3ZSLFZy+;Hr~ufPuj zw#S;qVEOMq4}R_}CcOCvUn;QFbo|*!Bo**JzDaDEF35AZ0^zRVZrI0bJv#QIvz5e| zZnd9Z?A~X>*!6Q;SbrNk+;|=Kshl{-WC{B+T?Se`JreyD`WU&hce3#Tam!~b`k=xi z(qcZ@h2t3bIBFd^YAqx1IMoIstt;`;Jf(G5MvT&Lrr9t1M>F ztfb?L_TG>)|CHE#UhV(l`XRkE1SQ<-w6X~mWe*u6hJ9*F+)yi=-iVs&gx2*|q#(J;3aEah^ z{>h9;Ed|dSy*Cr@P}ed_ZR_NApn+=NZPoe<1bAy1lM)R3{*8S9XZ44FzOPq9fUA3b zyYXX<)H0A&WHKY^ljCO>()Yl`US+Qy|2LHbg0=GXxe;|!oK>0+lu&&bxqJrL>XQCKguMM`dB(<^wlc6 zqrxE;27EkkD*UKI%3*&)?a9lxC!e-qN+KG3t$-XDbaNxH+Q9lD>5VEw%742M9>F>t zTjTbTA>5f)@5W+l+K`054gfLwqXSZItkJ3a^AtZQbFi^r0~cy~JwjZW41@~Y^d<{p zhjW*J!nCTHHad^;x_$uu8j}nJPG0*Vz>HPjR2@^f*TD{vjztdOGzJW(k@s8qkQ_Qy z>`*HJU$o|P|BV9gnICl1NWDHg{PFr?MEMfX&jdC_C-8G$0Z3Gcr*e9Wvey{$-6UPi zKsDaPmo7{_$?_Isk;)6kl)6@&wH5^#0{l9J0h4Z6tP2Xi&016Q@wj8l8}OT~Gjs_W z^u`n;&@>x#6EtJ*SdyW=3eYm}hRCQJ>C#LTi|n#1T9uY4zo?PpfJv1Ug+w7V0Y7|H ztWAPeP$2U_Qa_EI2Uc%Wn31~tgcuiGDmu*S=}7faU+`t;UqoQ7u2JM3E*RV%Jw4kh zyBI{ctiNO`Fb>K@F-wQ|jt-2uZ3m=7O1%{1Q0NdY6M1;+q+yyD$)u%|xd>tmzC?@U z6%r7qU}Y5}LH2Pv?{UE>ESNGvVhw2^Do4K@m;;IY|AfY7-ew%c_InfvvFT}V_e!Rz zg&dy38#l%|CR>CCH!W*IPK?v*_?CY_Y}c=Y`M(?@t#aZD-s*93A1z>PUZ%|&8X**} z)WL`ksmC281elmxh1dY5I=M;J)IigJNF64DdLP^fvfBNfY}L12l28!|Hber?eCY$L zlw9Hhhzxj9tSO2?^U1B_IJkPszjni?WNV3QV0j-sQ3gH}MbRzqx5$ptSZc`pB1$dB zW~3Eo7vZ{I?vKjVac&F%B?m@e`R-xu3BxG@ap#o$2-5r5@DUioiXA zT8HBFnZf{_vrEhq8-BN~YoXFp30~pHdtVh@e!a>+d&6XwvjoGsb+n+mtRf~&ncTb; z`rU%_m&&Hu<@Rf@HCfistt{37#I#Ms>ptcsb?Ez({z5VQHM=EcQ#T`!qu0SB?q_Ua zkD+(m?t<=bIM|l^EoKHc&8pX$qRl>qC*p>4^Lir2s5S*k>Ja25b!Z6Y6{%)~Vzp!?-7ShCFln83NB% zoIRtXS{14MZm-|0I9%a#W%5>sf<*=^`xx%aKDiIobEESS6uSwP!IGM71Hm6InS&Es zY|QNu`R=sE{;qK&9g^&k^ZKcp=!j?+DN=n!1c9qpC+&NqRW!Di(`*%CV^ zEp8^%R0sB{{6Z5c&jDTC&4!(?4Kz`uma~IdVyLn_m|0=$ zbT^8@50_2EoWlPg$Pbk***kuwJLIHg^dv!)zjNMJmi4+?oQZl9c!==+CVZZStarlSz`O;$oHB4#iZDvy)2B=pzOf~yoT7K?IF|MAI7u<}5(P#HRhYC*9 zBu{S;{Mq0vHTZ9>m#a*lwT!IO9V_O;%O`96T(M&gA4{JiiNroH-{cq3X#B1E;>s*4 zZPt66siGN|?XC=&xBPqgHDv15Lln%V&ThCudlRd>yeTS03^;Wzzd2#%$0h+04BAP2?F1~ApyObsDhtF>%FEOy{Qa0A#kOQaAp=Y%o1dvQ zuw$SA4NCiE8+6gYco2wnXx|d7g@ozCJ!-B003#; zHDZkLmMKl>knH%#Inbxd-{;}rp-olCT=V8=Ekl(dWp_t45k}H7ARy+PF9g)IYjvc$ z(cmf5lcOOdXK`%vPCW-@0?6f0jwVmbV7?P%EAb9|rVO-v3l*7nyM|FiY0c|b7{72D zjF&vDSMz#KMKqBGgr1o(f}u`ekqK}*6=GVtKi`5Q8rzkE`ls6N=P(%K@PsLl(g4HkaAibHw zK}apUSwMyrGYx}?tQM9Ofi9o?*HU8a6hnX*U5M*5sV!=oo|$bbe*pili(h9u7i5O? zuWQ3I0#y|@{uGPSv(`1!h%^|7;Y%p_(OrpbO|2KA?YS#bGXXOmGR4LC)m?2vElF%R zw3PDM`3s=!J04|CtyQzhH}e>4I6U(>%v8#VVA?p-SonN~#VUr$htkq;F;%oB$1-YZ za{3Eqs4+F5bJ|?IoXSH`6Q?kkwYDl5w8qzYF_YX|D1OpREWvV-Kw%nL*MYL*g;N*c zj;MfiRI)-o0K9#l&Hi_roN0)!b33@aMzwE*K@W>go}Y_rFN| zu|yL*=T3Mf#5<-|!24uo=zYiA%KgQ=U)Q^(`(k&T^GgQxkE&Mn<`VxEP`5AA z_8o+x_q(jdHyvCOMD9-Q6DC246Ay0?Z>XQStuj+?zTa#!J$ZQY-oL+nu)o`#`_GU} z^?W#eb1Llat|CIa&baRB0OZMkf2(?HW8zpHMd_J;+4|b%Acqe*;Gt)H&+wC#{r09i zz>j?N+QD)2XQLdj+bh7imfPBzXm3Qf*D%;X`@Yb@4rDehYx(eL;Fhw?Q? zUp(%JP(PQO5CrTZ^=6ow{AVb9K#)8?t&rU31thKfVC{Yx>RCHrq}(~IWZ2nyy&7$a zk1X)Jv+>lMsT~yEBFU^=Ye3gNG5}&_F#o6#8@erkjQlb9Pd5+~J-g3It0u<;-UwzL zhy*y;@hy>3;Kn@o)iVSFw=22NHGKcgHCsE={ZBRQd3n^S(|aB0UvAA4@XaMez4Wzt z9R1a@w9^rIKi`I?SDNqtOUZ4+_U!uYi7IRJ(e1Z#_3tg20xx$*8N{QIsC#~Iq_wHI zGE^Qs1vpmb6!zVwoZcViu~yO=-s2Ky9O*{iE(&i7yBS_F0*|+%&O5q)K3Y;+T-w{O zy6uMNJ>-Ac5Ugi{m)6P6H!N-Gt!fp36`PlM>#}?8Z%pNn2OSF{uR~t~gy;3-@Vfr) zPAcrg(&{6Y6uVWCT{v*?j*IFXrFcNNTVTv%>5pxcpKdstZaO}zpXjXhVHFber= zap#6XjKmA_xJ6){7a1Q|}QKJRSYd9x-)QW*tiWxVR1$ zb~@tOAIrQT_BpsQIvinelUiv?hnw{2B0T{Zpd<}SkPK78K{mZAX{Sn|^v!}so5N1r zN)d$5U!6#%yC^G;P6Y4Mg?Ie zhqR(Q6<&E6>ax@@hnNP8uOLNgk?xeD+2esSo(VgKpA_uh4dEi=AqeLpj8r7|?_UQ? zEwDoFhFoZrMs3Yp@odrd=Bf^nO!x_%U^J|+d}cW`@lDTW%{#Z?k$&9Q8B@6WQQGxB zTJIN`P*;~x4|vVa)e^TFe2-Hw^2@x*m>TRj;4jI`v!Xy`d2@cnKqi_EOH z`>cyONX58~sKs4kY@5cin;{M?^Mgmi1P95Xv?7+xW1<9ysf+5k>Yct`KoHUsgtlP# zC&;VY&Y1(N>an8w$HW-069(JhMcMO006B8IBS^v}91OdRGz0hTObK_>3R!p2a?R4T z4lg#GRVD)OlwOx|s$b z%k^**qQ~^ed6`EPsYa;dak`YRXu}KIO$7NP9GW8ZG&y}ALi!Io|MJoz$RBs&_jgN# zt02_MyP=UqkRFh_Va5OcObH@JHs`(Ba=$X3IGkj&I?e30Kt=JYv}qnK;tF4Hv67mFQ&@s;HO5E;}f;U+OHSgSbl%FVCL7pdQ+l;zyA2` z&o9UJ$+*>je)}oxR);NoTx8G`xih~YYCUG0El4?#{i)-}Vi(E%{W#(mNEPD`_#9dG z1}bk-FH1dcn}R^-{m98dq!ItzR@;xNo<^Xi!pA=}PzKGXM8d!2_WxO3+}GV~_VS-7 zDtt3`%qP}A>271#$-nP@+h5=43fR8SwX0$5zP_9yG#%8y(7|>4hK?|T0hFoJ$Xwdg zRO|ZDXlku7nC_o1`t4^K(Z~ozsG&tkp<(zI6#o3s+ozJ&Q%a8osR}rf^lPva%c!xM6z;7g&7TkECcv%@EUlCgolG^ zm=2<8=a*ka1bgIE#HOec2tLvHvqe9)8<(SqPKr&P`Ixlb4R!RwzHRc!q8fhS-d+nr z%!k$i$>acWHW+kpOF^C~(k9rKB>U3OQNH4}=&30g$ZV2MfC^I}0F6MJfFF5c*lTBl z&*f24?Rd@pH*w8uIl7@fBA8ND7p~LaWVMH-t+#r*6-CJYeWt20w4(t}b74PMN+Syo zCkQ?@^=RJcebEipiTCtL>OLW+2`m_o9#W^&%@35<Bz-QC^Y-QC^YZE$x8Zb5>(1q<%(65QQ+C)sE3@4n~W z^9Q`obLOX6Grf9M_o}Wg`Be2Gy*4u=sP8~Gh(FSKmy>kTSMLu;qYr(;+)+s$Z6Cp? zoe>ZFU`HY&Kx)2Y1e`KxPNo!eXQ;(!)Ojc@ZFiHXKs5h262ySYr;x&lA@d2^l6at> z5;4xMb&P;aORCS$7?QNdfvn0v@(hZQWrA}?ma<|>%3Z{Fm4Zq{Y!^N^_VqLB#k{-^ zdf(y$Oe-k@T%m5_Cl6Rez0=ClyR#_mT;N0BWwD#zuXoUYa)QVvfKy2Zv=Ji zJU{5ajInLE^!hv{I2;=*r&J=Ke(4MCTCN)G!x)qX6K2%^QQynkV8RyM7-~M}RCv5W zAq;f*QJ6bFnGhpNfu~ixS)OJuzlz7ccnApG*~TI<$L+l=rSM;rFPTB+CNh@^YLn00 zp-d5?G*TK;P$isEhk?RM=4LzSEt#YU8Ar>dNL0`(>}^ONl87*H-eq34VCnrXj_uRX z4sSel=|-1?Yy>~G!nPSS19oqR_-h$f-7tom8Zui#4&JlRyh6(vLFI9C_-FyMZ@J1gd9is(m5 zA?gidzY`{|_?HyXA$@rOd({9+@Y0RDUpKs1dPix+G@;v*J@(lL6%j{$|03K`&$9kS zDdy}qiz{Q~)1Qb2E{ei|1cU052tz4l>a{3Tv>U$)$skr$6xIC!=mWs=$%nLM{G+9) zN@XAOaODcx1iuAgf3!RBafcFK?+EYr`mC*HRO>q#=$@99o}DYx_>d{pv97dMY4|gX7XFh`&aa>)l*YVmz&MOAmvB?kO>Rj)#=0D@^BGZ zkFp2as8ZRm+di?1IpUs=kJh!I4!9BEx7s|>q|5oFZ?typh4-YhMDNt3rD^<}nH}xI zkpk49uSqwoHJ5QYe~VrozJ;yNEwpCOIaD)*k3yesx!C@Q6jAmzLx5#P+CE;eQ$k#Q znx3Rp-D1u;_xHzmFg~5qjK)A=eKpTDpu_qps>u&XaRndc;s21L`BjgGBqZNr3I?KS z&aold8>lIFj74`fECbE{TffIwU%kybXZ`n^(e`~biF<<@)M=Gr)a9kci`8`NkLGB1~-3ux`M{0XD=y;6E0IO_F=oB%^=>RFI<5%4GOCyoGX=z(pr(-yQv9 z6b5bTn?ILYp>Yx}hkwWD3$Oifv*_??Gw$U}`%la(#5adrb8V_4Q!$zq|1dp7sKwAGS0hbGFyrkqd5EJ#B9q8led_4mk?T@F?_R&7SSKi*?u#s~1s$Se_IPjv^+4%m8n0T_>C3xf zN#YpT4UdG!7=3soD(dY+Noun(N&6s$TP^~1hXgIHRC3{Mfa}eR0_I&^SW#~WVVjN# z^0k-Oe;%7u`R4)slmbp|)LM}_U!L568S_43d$1@C((nLV=-m!c8on2zsddX`W1Fj= z0=6Ing-0Y>K}+ zXKdgi_S?>W;5O~Y1cWlOf?$dbJ)l=q4v-}}i!!N5l3nuQ&Q}Fs#QMTYZH}?|vwEES z2ogT(CzKdskp8rmpCt|qeh`&~gh-q1m2Jb&$%I}>6yK8O&WL*v=E+m|)@MsW4ap@; z2tE>pXNEma7@``6&KineKwb2G7K+Y75RU{Jm=IUik4g;4l&;_YaKX3o!(Rw|{&8-F<%B{S~}5DS(qQDiQ*QZuZ1HZo_D zE=`lhbYPr^gi92y1*F%AQhuX6b@1#onH01~KPC~HV56Z{(S-Vj*}eG~+4Ue*0PUXk ze&@#>f&r7~6O`k(^55+Ew{A^rt|`7(4dQI<#rw(PIqA`r#qgc=-`{^DNsz7Fdg8IxgXziyDLGFApaztta zSv?CA6xl2Xp*A0>YMvzw5=O(jLDX&~6;iB&Fj`r6I}d)mnGbR};BN%K>LEif!E^H1 zh$=5S#=zLP$0=%gDyJA=!Bi{dHr>5(f6TUXFlO-xo4 zJ#k$$ZHRAxYaYoCo4>lcH1Qq{XKED`T7_`yH?PLv2&#fjGC+VKkir+RD<5LVK5$rE z4Kdl)w?y{hHsKX`lL^2$td?x1?wN9hn-IcBowd*a9 z2^j0fG$LoBQSm0-(O9A;e%4LnmIzlwrP7qML2~K2MSIG)N!R@;67nP^=kqHSb0@hT z+^Bqzx}~cTx5=H4#uK}#ho9_zAPDLP$61$Tm6K1i{3ye}6{panBq0d7xpTf0)Qw2uBb?{ul&v;ufU3X=VBb}QT2^8CHm7T_wgDo`#OtSmNqj_KUT_X zjE~;b6k_gsS;M}J(^d8(((i4BwCxk?X47?Ds&4BTL$x5)ccp<^kO<)s*cG=U1suUm z=LpnW1`VZA2`EWxAyZgLMo(Y)lD~>b5SF`85^~_m2$NnKeMd7WV9T2s_VzBVZQXaoq#>$L$$!=3tjEG8%&?K%n7%Sx#Eu%-I0Z$F8JuarV-}ssK4TR>v9F2yHBaT!? z5v){OTkz1(xKP1PQf55-){KHN(1-h)n$5r>^ zMx6YYWxv(W*Ta%q(wQ!I7*scE8(tZ>o|NzF|1JLgD!_~;c4_G~DEkDT<>X>G-pH;d z@yyB!;Ct=lf1Wgdo^%HqK`WCFC!use*F*;uLNwhg)r(An3WpgmkpT&3OzUy3aXgD@ z!KSKvH2}|&r!H}oXx?I~dT!FZE!G_8-O z=0p3fEX34u1eTqD!w5rFPt_fuk!d^kX`CjXnYLg|33)kp5F9x;=uY8NHl!5M@|p#O z$VVHc!aziQ!QyuOaAzHEs^O`H4b)$2u|aG`vsx@CLF*z*GrRfdr?AX|&y`sm(Q7fh zZ|IqIS?8_ntDhNV!d-nBF}BFrPOA**EwDN#8yOM1(MiKvYvIyQP=5JO9su$a^Lz|O z;V#IsJi67uO;!=v3K50lB`AJsG>(`niCrWs!>q&2kaA^=(q20*Pf?@*k1~)>%H}1r zt&w2ID>|)8s1HfhU_htn_1tCF1usC;_sc=SlVxQ!de6qPYrznm@4;e?OL`&@F|+=u*)Hqd6YYue~8e!N9`G zn)siwUrk3sVS%S2OBq3!LG+w!h)$w~!P1EB8Z*k6;|WF;GLh3T3uv9UsU`J`xZl2P z7QhQHIXx=BlR*);eIZLWk&UqVQG+l;o=-|HJQY6m^(L{6(IKlsBNEz?eX2Gd;=qOI z$Bv^S*;clq7#6{yiEu+aD^wyhk78CV$1Mp6PCO%ojU5h0%qP+1&`}94R}QFmBC^R^ z7IE@y`&E7vWG+*^5-~T$Pd?FdKPbZV2Fwzg{V3L@7ix7M})D7*Y?_=POT9m%u6= zsy~h^e0C`};RekeAC00z{UN?EX=wnj6YPwB7g?A!(+2B6!P)qIpqIz>!-i;)Hw-h=D=5`Q9Nwuf`#B0GZ6JF%p-e<@TAZg^>DZ8d(k@&^2F1o(zk zv%Y#7(0PBIGDhWef8%l0&*ry~0^iuk(_j?ox(f7@!Ag`5-)F@^)b{Q{0Rw8Pg{1ZSBpKVPN)UKL!yMX{fa1&_duYwN#^qT=kS`yGK&gwAE0@a)$a?G zIE{8Mb1%JoOQd_sT)a~}_yg0xI7DhQ1`<$c`rraHLjPrD{v$Kh7jiqVyZ6N4UYMUp zfw`-{0W(ztPn2{(nADojl2*Mo&o6J-ci=YQ=4ze&8pwwb{jM*Y(4*Zvvh8^kP{|RF z#;~a3clio5@s{=VERM6J5H!?u+b7TX765%0UwwDn$9*|}r_SE%@~sOa&7OZAU9;J@ zGzWq^M=Zx>8>Xfkh0*PFHKOfL50M-kKYpP)v3nRf2mW#^=~XiSmMM3Fv?j4wRLV(a z-M0wDf_B!}6okt$+zF9Qyu8-TZ}5SN*QeAGB{ZS~!xkgs#i8ZiO^sY>_HFa2&8?Sq zaP8mU4QM2!wAX;Ix?Ua9wSqJxp$pKyH zaRe0)m4S`Uuh$BIXrXtMO*&@VbbE;iEq2p zAR7SlrI)!Z4a5shU3XELva*Xodx#3YS>cc1h!&`q*m5zJL?etW0J|A~DrPC70NYnHQu^+7m%5`lF1kW3ZT&!1!Z ziOSSM$~P}W>q9SQF@Rd>00vV}-P>sY45bu1^5%D{ZGBOJ(t}oh9t;aey+L=}B1Z6t zSj~0_u+$_Nk!)5^qAxzk+ezf8^(jqowyUaMCFI9+8xGrZ3zN5>@wTRAgqfBhkmb9D zrqBgqEz`nbn?2H6upmS~V3UMfD(SRnl8~ zd~jkjivK||I#MtB9gi!f5*ekKoFf8?K^4t<9-d+dYS~$R(liiCR029x5xiaD7V0|y zKbK+$&!yv;fM3`SvF)HyOBHZ6ZepuCf~-Kn{0?b zEnDd4LnWdNP(EJIR5y(tde-#t0`ZD5iC|uCWBnK57?0M7g|!XeYJ6=;m1GGQ6oKIJ z45JsI*J$#lT5H|!AUWpTSLyh2Xk)Z}%5cxJBHqk(gDvwXfJGr3{$!Ukgm4gSQn0 zy4P0|!Da$}`{CrqQ*UVhr2Xp%&;d^xtZiy>IJ^adN2$Ep(vMYvn@I>&ilUPAm`cMg zur`1%rOxh&8MEEV?Q{zB%@&ZcoEbOsT?#Gtk?U=L6SK%xX_X~P1+mzCF)SXpWm{aN@U6T znx>gJK+3@urbD}RmTEX61BI0eop`LtACcjSfgVsBCF?S4N*Th6b8FrwuR^H9U-DYg zlfX~~i87D|F=})~yhsm?!Zw^Ec;i^LaE-}0cuoO|@#9Fip_~TaENSBtT!h!FGZ|V~i#;W8=D_#J*|z?I;C1X)5zUJi(G0{4c_YoA#xY zl$p``DdYzBl7)qa1oUzW1U1Gf0iKNWpEGxSK&;iR>~#r>rJB7MIl@7!tTgF{D_6RL z=OrWb{o}=1XOotK*NrUt`Ngp`ApMq2w&&5qRRy8lYhcFBw&~>nX4DoBdA>N4_#=0Q z5qz#e*9_}HDPls+%L|~rM{FC~U6HKqg#pBn{ziaTaN+z;r*{au`wz-SRl8=*cj^!w+B(*guk-ak*~x&H-R1#e{gm_X7nTmp#!_B686NVQiyf zpNtK&nsw~s1;A>Er)Mc3P~dvsngv+nw6cVcFBi8U!#<{zSl}iKa}PTu87QPFCHl5k zE_dis=OcuYN>N}^iN?bX9HMGwKDws=;6lbfLR9d!z5yjb5sNio6ip%TzIl>Hq^f#W z{7UZi^xZoKmy2SU#VTO*@kc5i@-G~>?iwpgD%ju&2@;E#Y4UGs+cUWqU)e2_3&N@GT75@r}OUnJRx~dd1+QL4fv7BTwN@Dunh0u!!hYV9GI3rhEE)`7p ztNe$m$U!1!-Nwbk^m%`a%4)IF3JdVDgR{0q!)Q9HoiM)tCV(*GfPqLL6yc8h{l~U) zEKpxjLxH~r*7{I+JX@;NMU5Y^1R@m*)Uq-i^*4l6bSJcNM^|-$$?*j?;k^mwN`;iw zUhjEos7sFrKnw(2LrzP%JNl;uF(-Qpj_HKfy))}%nlIKrmX~mv_bgKc3!^)H++V_+ zSa*jpo(U^ot9;j;HZSaSpbXO{&b`cC3BuKVt^q!ga`KH0b(!8{YsQjhzG)|~?@rtxK)V||hYGTh@*viX)9EyObx!s3nW(RdIaImhNzld9eifm+oA?{ z8)xgh)!7++tJy#lkdx`rqfeV-4&_&jm*1se-|!O(rpUblZYj#!juXh+Xh9aHHXtzv z<>|T!f^a}sqhMsg5r4AE6w4n$eaI`=Xs^Yk&=4iMK$!w}M@eS+WeabPl!qIqf42PM z4;}^X>tsb7#e>;9`=4QmyLVRh&~Bi2@AeA@c9)K;BQ+a&s_wPa$}Ma?(~$N zG3`1x6YrF8FqG;nPjevY>e1bT(lv_4+Yf7)V8 z2&Tutf}G5MHjE`-SsvFtf%vk2;!!v%C+#0!K(?EpQ_Y}HpZ`L5Y9mDO6upa27!q%e zIxfi1$UWCxMXd8(wRgJNrZLdF+msqk{TKY!e4*qbx+RAUIZnZNglpoF^ar6#C7)RLB$B30pM`cfI<1-W8}~r; zAH{U1UrY>ee)6M!=DgkAsvNNe-6KwnFEa`1H7Q6;TSbJAN%f+q2r7XTd5nDDr(b6$ z=^Hq!K4q$ClX-H>kE#gD?gjHz@Ll|1rix%CX4k!2t$j#a9;y-{sErK`k^rySy@v66 zNua>G+NP3Z0v~wDh%IeNF@EWuRT0R*NMM{lME?j{pInB(JSAtViRiT83$7JC z5DF@z;mUTw$D<1~wjPrf)p$GNS-(Rnn;?2wMo!mVgVcds(c>^0&xrWBq!yf4TlZ68 z9DzuHuxaqnek(B{zeEX(s!Y^RW+emZ9+>1BDC(r3w2BJ^>II527=oA=By&Ct5iW@B z&ORai-Y7(CitGS}^unueE@rvI6g1!tr165p$|{@5uQ`?O8g|-so@--lM(ivP*yNe! z{t(?3t(=?bb$<7J4)4!+21i}>4R?IJQFvo%1^W1cwxJl%`OoCwRT5P8C%e)YW_)jA z>g*q?*BhM3u+>2kA_=0Q9xr2SZmqci-~65$s!?eM$y((>PG83SydYAIi61uXxfWyb zUTa~EE{zm1kB*AX^tCqV--rTb2U_WekyH9MDRe;HM~7A1kt@peJZ8q+(<-z=_#HV; zUT#ePrIGzsCg3gcFzpV{KKEV37TJC?ak9C^Gv>oL5M7yE^q;7HC8z#k>V2f0@~7B{ zYku2%`JH2>

    0oAt)Sw-datz=|TjYYZfS0$qYqY8%#Z%6nd}Ec1FjsC@a^Z-?ni zcxdqcCm#u?NQKo{^o8~E2ba$J&@(9|Q)-F(bC<(J`#b8)g3Dxnk$ip>o8@!9ikj~~ zPaORn68-x5(pCKbZLx-6QboMuYtZ>2Fs-s0Kibca*s0(H$8qS@P+7OJzp=EK>!8Yf zZlZR4|8Z}8XRfZCa^tnE&??;3)Q$JaNDE&L`|EOUZ4G}{!`qw`FlYjdX0ig4osX4N zZPp@|7_}URjc#QiNeBEb)3U&;f1RY)<$LeboQ!d>1aYr2$7}AwAiyyxZSf=fhkatx zW#|5gpWCm}FZTK84W*E@ZO`!Bs z&90fiy9&uPi;GTDhm0O;3ptm<5>y=x>wMAwZlQ7@-Fa9O++1umD$~nT-bNoJF7xv~ zT}18cHd+43$%p12Y%JO0`cUP;XP>UGL=Nje94AQZcyoVx?iJ8>X{8oLf-t|!HDMD_ z%K8|*`ctT?N*9t>tP{igOH;{D%a0X;)jv2qv23GA0_N!v!bK9MOq0^cX14Sxg$v`* zWy>A>`G5Fc@VyYob0RY1q_fv>CK*fj=!g;y69Yc&P=i#^CHGv;niL{>vE;~T>NG&m z8M|)R2A6St!vbU0Fc8%wl#f6%s#&&1jMk*fGZFcCOPm&rkwVz+uwDb{j28yl_vN+L z5`aK0i3x*V0KG<2{UNi^n{72M=F3qiI;Uz_&S(-NCFKYw%=b%C1l4)Yu1^z-Hq0dl zQYyrW5@Nl1chFdgQ?x~lyJqO71;yE{UxM^Y*~91SY*%pdx&5$hPfDU?rEbFq${0oq zE_8ewL?Hda`<`7iCO40*djW_hTUt^5>nSa(b8#S?euoTF4(njG7nn zyFnr&!xI2(+LV%vF#K|y61ByYp;R$%9cVWhRu0@_5+c2 zz@d2+t4N*!A%hEd2@maLTS#=7x~W7(7fG1~?6WyVQR?V4hzV>jK9!xBP%)P^Z5X^YBsw-rDAaRnZYbyOicpdj-@^LTI4#x+~qTj9J7q$wqUySm!qi~ye#$dzVi4>2t__RTM9MqC- zcCqA4BEmK;kZh`_uY{DTpjTgDM4q0+`g_uq_JtqchEx??^^Q=BCirLqLIu4f5FL9> z8NICeThO754V(P04d%h(5#cs@6idi{h7kxA(5Dacd)Ii`IDb~hB;D>gkTz}oG8X|Q zyJL@BhN0Y;5pYJ2PCuFi4kxDgBRT>cVgUJ;5hohFq~|jLGQ1ioFLl-ef#t=QG02^! z6{;C0Pn_6BM9h>(Q+7~kwli{EpW0`iYjOm}cJz7?*Igg$MB^j2;lLir=QU>XMeEw0 z6}bE#=)20KaNkCO*;d*h@LnhEu86Mv;vguwn!z4<>V$Afh6%WmOo{9{>7hWtt2(Y6 zq2RQzea#ZAND;`pyT$y8tGZQ9!Lc`dH=l*!M6jYc2X-_Pgm^^BrBTuW9R($mMLjE$ z@a*GHwE_V@bpf%&FHvf;Mz|$yJ)bO}H=$0N0yYs3f;=o0zp6nq5rb(q%B$uz!60Ni z^JuF{wx^U6YKacTsX?FR6PVq6WX>eVDK^=K#g;lOqz$6@o@U@o{jowSN}hHLK{bLe zcmnr{xs<*)+kplAvx`Kos-eP%YxODL&~Pp#A`rTdf$A(6Dl8da=sPj$F<=O(w;2R) zCud8{2@_`9sHGe~_)bcdes64)PHJMSM*5ZFRfD*|Y&SUj^Wvr1PMc8f=+@H`iKfpG z-I4KQqN2rUS@d@{0zX0oXa%%``ZlE1)ErzGNr`+-6_g)`#Wd>e78=o^Tb3nAk*^QO zi?uhmslMR*g9uyEZ2ouk`&7@uEw!%cGePL3l|9!z`~&|jZ3oEOR$p$PKm1O%bDF3I zD(2R=+ zK(XVABq!(BR|_s6`TL0Dy&Y@ix4Um?yKR^_(A#5pX8@p;;RZp6=(Y6gGE2!kF*?M{ zD-`6cohc-kW0Jt*0O{Sh$tc~y?!(;^aZwUtycM;J2f93xK`7*rh2%Op%hI5Gsv5>%f(qm6r3+?@L`t4g2m~YP=BLN5$6oi-THuFhv zu85Gr?2x?@U%GpDKwAqeNw{Yo8MYK(m=3|&@no+mTR^~SkT&~ro8si`Nrjy8GRH_c zV0Iz5lY%#y`ysy%@+17Z_?b)o?D;Ir!Oo5ll^aQ)&V}(|p9uMfgJ!&izqw?w$E;Qq zE*9r-!L;EVJ$G|`?T0f;Dxq{eRnhnzhL&t&_!kR>shBA!KH;0$z4wXrZ2l#eIk(P@ zcb{>bBh}<`$vWyK%!-~XsF)spE`Hnq`gDR_fkb8r-NZt!;5oaFh6FeXvg`%A!(?B& z00=M~U2#D(cj7#wY5h?IL(vI;8;wSmi8@KevU1zC!>o>bu6G|31FR9sCDpR3o7Y9& zR+nQKulI=-P1VQq4Oy4WLFcUeG>yp~H%A#N36T<3zXsC}V?NS&9Z)`R6w)mShkgWlR|CNn{IWN>Z^R?rHnz^CTrU;5{;q zp(7lQpqxq|_ZY~^6sMtSu{H9H;G}L}=V!NiYvjpT;l>okE7FOHeR#&d}$GJM57!iaB+QbrysJyYZRvnmT@|i?rrD2>K&?iU-W#0jpB4) zhhh8gbnLtnRlRPLku(s=(E0QjE=h2rCX|Xljt<^xMnBlgwpiy^Rqypp7HjEN9x~E( zc|_wLIMc5olawUVlaUT$)g&+$g)zsTM-nYqzI@Yr3^9Dp+jxpo?W`WQD*^fIbMf*L z#@1yzahd3M-CZ!V`d+zE{aWDmitGXgGAhg5qkosd=k}2LeoBW%clPk@y=l>Qtuj)E zR`<%WARF}Qz*Wueu#uX&#ZbcVwyW%Z3_wF+@lyR%Lq!OX!guM?q8${8udskS!r1FL z3N_T?`<}me7X59D`)=(y^0a`@y?N1g{UvznV_FO=*K$PsK!ewl<X?}($_J74u0dQTOs(>9OMpknPeu#!DYRZszz|6y zd<=*qE`J()f?D{@v86{LiQ+_uqzf8VfjU>b83r}Er&^WxPu*BVQ# z^Gd{L4i!Z}P!cn(G!sKn$H#2flbrNfU*xYAiDUUK%ks6(A*vSdca`vVvuBWQOO734 zmyV|5Z9-4Onqf5*r-|r%#bH|enlh(koZjjSiB}FJ#e1b^^r$PDq}zy6WJjE7rfnpM z3ozw}`cJ9mEvVFb*j+_JlG55*%#ES5LIo-dmM80#Bd^X`Ib?PR=6K<-Y+yBbMRqZ$ zb*$X%&Ejg9n(gj@^&5|65$1Yvz5B6+{-}fm-EUJ<38Bh{dJz=;w{?`$r|nYo8Av^A7UE03 zU)Ql-Sa+XU&UDtuFFLM@ZW5>4H}aApq3u?VAmZ~Bes+P2iGE%bG$y_EC7F)6mvXyM zZCZn?lhu}?FsF)H@0;p)g0fjE#T!-YJQ^^3_UgKC+Z+0r_Fo(gLf7}T^Zc}F{ref4 z?R!bb;NVxICJvwE4UcOp-UlQ$B?gf03K1ljzng>DOSIiSeT(QicXz(V!D_T#e6Mea zt4d>Yew`NSciV7%ZOy|RS_Sdfkile-_>eY+`;a3V`!YnvYvi1VHx{PebeCbsX^dvF`85Y3~efvWSTmp=jpZqwOS^hf{2&MCX|WE5`VyU;Ad$ ziEF@oT7xExOhvWLDZq7V2QhfGN-TGN-e#L#8xJ0&#mZWa+zsKho<_0mfZTL@YFm>_ z+%z~syTxDljgHvvMAO6-R zv#YtKDpvi=o1VdzSlLKk(!4J-zj}tZQo=1czjMTJT#|!k@Fv3)hB2K>&#c2eU?A=R zn4{|aZj9XmS8c;3AvO^wGZ2!p{8Wix7sgjr?K9F3wljX}N)~%adpTk$t$0YgrF=XC zdUM}DS5|@gU0G_McDi-~Yu=_MUu~&QZsc|`2>xK!FlQ{#L^FE2y*|@IF#_JePh#S` zea(C!4q9tD%<=4A)XhZYVMu~DnWLfL@#fC9SVQ^xOzm6`^(h`eMEa`PQRN;mrge$x zrsTanlhD^PYe*ekC&6@tjYkonzS^SfyTD z>!R*sf{G_(^(1=Un?Xlx!H#Ewju;u`r7cWfPyIHSQf7h68Q!#IR6h^}^)u0|(#Y!` zD3BlT)NY-4^0~ZkjPT~kh}ZG|VQLWeF~tx6xdH*X;Y`q?M+lJZ=9HeTiOrvy|4$us%5%Ih?y!yNIssp#N1=Ra(ZvU#z4I-aBXiGu_N)#PNJJ zP2;)ezE;F(gbJpiLYXCLSh%T1DV&d)E$~_8Qr}JQT|6LDcm!7rT`JB_9O-BkK zk8aygS+rr5FE>>d5l7mRdDLi$PzII(Kx!E!XD%$c$J}LXXjrksd?rZgnWxyr)uDyD zt!VPvS~&nc4*>yTg&7nd9%C;nvm;7rfz5AiYNf>^!2=Oi_^S|E$b4WK)51uMWxv3K zxOkJ9Ww3}-e~0$DR^L{VV}(HS2JZ z^scyNHNqI$9eWO+QlBiZQ_QpXM;9ohGuYEWVKIjcL!_LTKagQeS~{{n`$> z@l8$u>h!WU=V$1yj@o8Zda_CdNGHsi4xL5nG&DL~XK}99?Q50pnahZVlJZQd?4f=>Dd{kZ{1#qH=xFfNldxW3@DxnsM@ z`!Llb2}`Ga_<@RS<=Dz5mwDFp9>p%WG7K@VtA{Pa=L4bp)0KR@yVMS4q72@vc)sa; z70MT1sDHR}Q!E}F?4K(T5dR!8L>NzLw(MV!vDVa$8!yXl5vO1q4^>m%$PyKzhSCiz zzkUqjqiRiwM=_IXwZH6PMV`vAbrder>b5^bq&+i|k;Z2wmW7&rJz4XU54+qH>UVvo zl?izqSa6|7x*eKN8n8%{?o}Y3nNls!aGXL@qTP!zhY+oltLEZxP_&Mk4^PJ+f9SlZE-6vqJl!$67>zhTg({7^V{7&&oZKf;7$jHb}pAU`qD+5 z65QU;DWWIeufA%Em2&S{c@>ptHmoH;Zh?sg*oH>raNIw&au)8$P4^A%wG25_3Kdjs z97Rsy|B5*C?x(S;zq)qGfTi*nJt>9jQ%+7Z-pSUjSDvRD&n)Quu3EBT+hiyWz&OK; za+)?z1bUAk2V{{~#tUUxqmH@K0_TODn=~~bS^W$~{UvlNq*DggrrB>C zv85a2_O;6nXT3$>?HaUh6EV9J2e?=?VpXCEc#9B(^sF%__O_#}DF(i%7(z&si0;iE zds<~&E;U|il1vFLXS0*wRCF#`xNiTdcSf{RYIx4-<22S4RE$8I4jKkao`ElM@>n&! zgq{JrHHgG34d~49wb#9yHuRcn@N}xyY|^xwxmcaqz`?*hi#()$eSI=P{JKxWb&tH# z_43RWamwc>!iS?#hZCv4H;|hfa@__k!QfX~2KMt>JzYs@o;WQ;N_71xh7FC*_l<|o zC@0GNKN8X3Oa$>iDgclPJ#i)I4-5#3&375@1@#8|Qf-xk`xYdwdReQlvkBq{4^qp@ z27K;cbKM;#n$9U2vG9Bg7jb#*a~Dld(ODvfj(`Ai0VXC(6rR{V`nb!X9Zz>DA>$_qNC=3L8aU4>O}$ao z!vl{ahSGt-xY*0IQ3Xmh(LD=MDb!vGZLy7d1_R>AAd5z3=KjGa4u@>_mUavwb4DD| zvO+W5jA{-1>ng3%u!#k#Mk*CR4S9AgF1MetM3$*^62)P|FhDdjN&9{P<$BUd)$mPb zes+a(eF`Ur#pvf)A?`GHt^nOF862q)=Y0T2#>h4k&wE*B_TfXDn=d|TjB%x_Q9DXW z@xI$-fCZ~F+ro6)JUfOTmh;;4%$I7&RN*iMTDOtX4N8>;^Ur7&A0+F5Th?y2X1iPT zCE$VlXzA(cCOd$)!HuuN7t9 zX65ifXq5&qMPVTwIK}bRbGB{5XO#frWl=q_|1;Wg+CCj+qnd7u>Dbe^8;@`bmh1gk zL%8d`=$DJ@t6j1pu6sugp4UqcT)cc+XC+|to5xwdesTSE4bts&QK6lkf#D0@ ziEEZudk{d^;kC7)|4y${4NM=E7F||OsUa*1~J2_s1K4c2LVOUGC@4-{t! zExu72HozhtQIHNoT| zWWXWmGv(O7EmK>DRyr{?xIe0&Md5PRxPPB2SDuKz?y9pz$Q=|K|z>Wb#@(5R{f1FGvG3+O&qp_rnjTwbYNt?x|C6#cAh`HR`KrceUAsSSVPJ%#3!nAXq#1cIBEFqhWd(qZ*`Ye_B$5tOms#K z19x#|=d>$>1*vXDwd(0{q*7!-`JDwoRktO7aU2Jex^X0hma1`K!~V6Ls$ur^74sJ( zy*!uCxMtKS@BpcQ&7dyS+X&UauK&nJ{t0#rAyqgWbecv;c-$#B*(~x#GFfx?(ZvVl z8k?A7UL>-ZecfJ#+O!fzS7{@iyR#)bX4oPXYc2-Z{;$KFL(A!;!;8Xo61CbwN`eQb z-}-Fs*&-jL64bF0HLWMJM=U5hGY70JgeBLfgsizsl_`>`Ui%|mM^)pSs{uks14HQ5 zy$Ihd$Qw9%8}n^EvSUJ*oO^XB*PPJ`+FT6Dr5ZTV!{V6-T;?^3x!krrI4>K_86#`P z2fp=zp!-qY|C)u;!OrUoPd%G$kD+e(r4C+pcO3clrDO7_;akM%YYwy!r zAjx&)>C?A`N^Rek&ZQEiG^X4Q%4DgMNQnPTN*V)m4+vTp^~_%EK$7nwmjgy#B2w$# zRLp5>?erE{m}o2xm2Um^IfR4Wj$xNLYNpY$jZMm7Usck!TU2)2-BHu>lgT%XiKY3o z#MNVhwPc^##T~?UijOwr7ACDu-o?`%tpCGkF`^rTbOB zN;(vkNNT8ANg~>?VWhKl-6nlZPN-jT%WwNwu&)R7ZPnnE_E#m@mdH8)EKh6!k*G9j zd}n6!<(*EiXDd3h*m)HJ%(x)nCGYel*L85>9)-UtEczpiulfr{EDHaKk1 zlzSSWwW?FO`q&PiAoducA11A{v(s?J`iQsEb;T@WWZL=wQ<@c`>t>F5xJa>*duLR_ zu)@!fBg?~!=0i3@9W8H^T2=g55hlD@V_1W?;QLu9{?B0{~y*u zdlKSb%Q?5CVdZq_vZi7!qg>87Th-_#c!Y}}4IwZ*Ykf@fxP#4bcuvzrU$(*SyPtjO zJRdtfyEyEhmER0C`Cp2h|I#=I8w0QF)x*J10c5C^qlgLfEPM#k3g^zVOq=a-m?bGX zl~W)CqBKH*9|~QL2d-5h8djg?xnPYIR3mGbg_Ns%%V-yAded2+&`>+c2%2tV*7#rY z$1{c*6Sn*>TK$)d91XV@{{i!LK}l+Es+}Ri~!t3qcignun>S z%y%Ad?Kr7c_#M84M7B`;xqs9bxXt|eYzhu@X7@tgVXt*vlSoDJ+3Wdk3RvJeREA2( zT#()lkPKkr1zrv;U$25A1+ol8iccb^yEj;V)p?k9Uh{%WR@LrwguVa#yDxu@$iF4! zXespw-06zT%jEj;UUXZw-jM8BBA{bFQ#(_~8HLEs8qx965Yb_PjKH-p{8G09cHhOC zAp9UhLLl&9TSBz&*>HzgVk}qtEkS7H?bnYvw%dDnd%Qn$oo4g5xb60EyXw2_Si$Qu zZB9RbB=b8k*x)t~MD~-K+(RW=_BIr}Ol2WeN5YbeV7qB!MXw$s_w=t)bJiWS=xBDw zzzMtSMkkZV=V4f1a=cWzFx=PkFrTZY(S4`XH25<&X)6Cb>ao`AdCz2N&w58M{V8X% zOb@EZmo&#wzh{qMCpHGNLxI_|l#{ybsy zpH2FL+vas%uLjRBsN^v7b{UUt}<_jS{IjM*Ow{nN$%d01>m z>{^@UIa!DxHwC&;kh_)Y*~8Bsn^<{-KMycP|9dR#W(8t!V_p{vLTxe>vPeYZ!OX$b zc2V39T4J%-#iW0cL;SbSU~el3B^0}6dX*@^J;x3lu!I7(*42RA3GVu3(=7P!*8b_j ze^W6&mLt}=wEiUGuntij36eLmR|Zcy6y!1>-g#&TZ*8JL{1-77v3p5>zJY+uurV;y z*slyCIS2^J9Rzr|8hRf{!`VF*uu_TsnNfPBe>jbUz4Z{+$y@0{KvnG?Kfcizx+MxOw=02p$FTmHcxji2q@R*TMC`Ko`Bu zXVhmeMGDg^j?IJMq8kGvDScgy)4O}cI?&vOyLp^mt!fn?__fyv2%A8mX>lQPm9?# z#9w3T_IP7r|8ob3Ju9S}o$FH~aV8egi}YcZIHsWEZ6I9opMN*ow;@sgYRBG&l@gw& zZ%xL+i!LWnOox6cGIi(sRq@Zi_PYO~kE~HCc%Q0iz<3b1_%EK!Qu{}$pZoyGAa8l3 zjEmRYDv4z|DgVXa*I|FpQ&u)#O(G$;UfzS)QNh>%@?VD9=1bn+LSSaHN-1bxY@0RQ zYL=|*FO7H~{vW1qiz`I_>%EPd{^zL)TfhFVU-dCX=jHzr0Q8yvp`T0MtHnVA0XoMe zempvyMZm8J`Og^tJ&5HY{|3Sy^h<)t2?sdu3qsAB&NqSoV$4UOe-?>t|B)4^4-sNT zDZjut06adR{}l`@>5o&+|2phO^H0D2k;63wVescms&$nnu5Ro#QpIr1LqP=KNLe>y zQjn-CdC8{6w{PCW%Ba*jz9wbbIpY@Je0=V%7WTB>rotnso+lxhbO=eq7YmI~uV3({ zYpK7UC|fr4a5#nT-OX7l|JktpY5!(8&-GblpZy(pow=q7o=dk^ zB}lbKEJEJ*__ZIi{~udl84%?bt?fAmA|gtMfOL1abc1w3;4r&-nCc9-W`XtJ;w)EVx=hMaQn8~L@zIf13mYnSfjzL8|vVs zW~b%pQ3`&rq!`K&7p1vThK}pRMN~4jK;wA`p?3Yd&0vDQS6&Q7ppu$23@ZV5;Mx0X zUelz-blp4Pu#$gCIWW5-D)Sef_IzpFh-WGfa<;3mK;UC2y3+w6@v&Y|>ewvqaaLdmmSWE@Wa*CJi2 zx;Mf7DmFgHd7whwXjdp$bY1&rEtzN^4Qb010vrf4AnvlPtxyx!qA#Gh%u)hE-*;7ejLI+ zq|UHjT2Ew}D{4jAc#MVevc-5S6)fQX;h=owrB<7%P$i85xu7$%nkfGf{sWTr2^qcG7p-56r@26oy zt&KLi)pyVKQGW8P!SPRk_d}XH1CnjEqIYr`yw#;j*c`${-}8h?7qBhyTnLk5-Cfy^~?RGpa$N43eb#fz{D6 zO_$+nZ-?IP-o)eE3U3hK{4w!*%PecMwond-LNmru-l@AoCRi>=1TY#`O+Ln=9;Zb! z0!1dZShl-8gT}u2rC$vq|Da@vJaqTm4OzHtwHY4T65@{5g;w+?wK=S<4+23lvQtO+ z0vo-MK8-X>TVObm?6ag<7oSFLdVvisuzL#-DqZFQpWTkzSsMU&np4-dsCk)A4K6Fv zt2JQ#WXGp4ygx_Ax4Jny+de&Nj0YbuL1UTzL`ojS032X1rdj!2$q2RDX6G{RbFRZCOWU?7(dtIZg_mK zV%7O4wMX=T#NQ$MkUc^@zxLfVgR#J+$T9gy4f)8`>u@m9C8WzJ%CpbsfWz5pAaLn$Hh7ILnEr72x^WL)Tjjt5n+WiDZ~h6`fx4O$JIjXH9U^ zFKgD241X?%_>1Zz<7zAD64Pyl9(!-S`70eZ3E|?6C7~o0jTXz(w8YJ2*}((5PA+e3F4R<3*NoW{wH{h;0f@0QIC#A6ZSNJnl& zKPsCXK zIwbyV61b{(N~FGEbsl|=t`JAIyzqq&kNh+QiJha{D1YWSXG$U&{|dDw`v!8ca(~&@ za28TNfZDldXFV=@JH$>^$O6#O19!Z=Wa2ma$=FX}FaOAD^+@((j~%|twDHtXq-|Fg zB%na4s|ky&(by#_zUuStG{KS4A5tCHA7btX4{zBDs=5MM%flvFbQpmm%G$kD8n)nK zr(_XvsC{llq;QY+;u(!CxAwZKx>qaJq~o ztZBoIQ9g^cufnE`<21&h*(5QSCF$m(V+HY8P*gzEj$G1mtoF_E{+U*Dyp_V!4Q`LN zxD{|yfme~@rp)u-ECw&Ijs_SsIDv={q++6bv!7`{l?(}|27qyrFDxlwa~;b41N z5+TnlbV~2AMofue8Av)Nnh~4Q;)N>2)O&2MDEd@8^*$E9yc-x)E7cgKc=Z#V?O3!} zt{}z(P~#}ii5<1dDKiQxQlY^v3eg zElc2%)m5_8C9I-k=}fC?HAvr4hnS<1%<>v=w=2-VICtd3we^%%7(+%0atJ@3B1Y~JwBz45w*Ve@u5wF~&o)C#V3w@BZtJE7UdUDvka zFRjzTod5v8D1x6nSS7w1`}-ly{m4KyRDaJ7fBg*HP=O$B|UMg z0Gf*F%6^sA>jgckZ!1VxM+kk^S3C9Aa(~6j4V-@*2_sE-RF-xXn1r|$PY~5u+PrV* zbUMEbh{PXYayv9&!52Pj(4_n0sUJtao7iT5Pm&1>ND8gZN>3eCrh;++Xx|$gh0iyH z@GC&Iee)+d&{yR=X<-PswzislUI|~1J@93kmTrYvs4BW`FS1pL3O)A#c?n`s%8g;O zwHk~pt`fJRh1y)dvzJ_aL_>Zc^AZI6oACWlKDBqB>}dbiG24!ew>+($pu$?{y7D6# z#w0P+ekC`9s$PME0}rpuvBsNKa_**9h|mZjYMgWG{c}d0DLmnetv3<1A)lLA_bZBc zi04SMmMgEA_=A4_^G~{e^1=2%msJE8DQBUsCx~KxefjE75JUDR7hJr5$Q-lHXMOae zk3jd=2pJiN)x*xEn-dtPf}Frgz{@t><{% zc*Lrt$?vv*Ko{h1QEt8uheeuPt!C6$nb<%zC{ANGMTr7qcC zF-Jp)zqh0Rakc^%gMNQzGZARqo#c>#s4d(`lJhUp#Nj|v3_KVxADQ3Q9g5SL`Xd6W7>V!p>7bS*VWXJ z6HV1x#h=`@k0<7b%<44aK)G>17Ny5JGnXPZEL0g zyzX5ZX_9eZo=x9jL}dZtLVMu+oSYJLKR@?T3uXR;cYB2OBge~Ur`u)b3bE455E8{T z`#L?ZyT>gKn?%)*#+azbxr<`{9oo6*&{alQ7g>Z5<5ZdtUCZeTc3Kx%RH>Q#Hq?i9 z;RJ>58Z)stF-Ug2(mxO zv5&fN0|z_;;?j>ZdX7-4Hk9 zq(KBLcKKUUXk5}ORZ9iBI zs#8BIDl?2Zr3l$+9Qc)#H`Y3wc$jdjrqdS~l3@e%}_5=ERJ!~tv(~0X86@}_(*E9%@foQA}7|jmIAD8SK zXumBeVMld3?|N|oF1&Ewo$8jcdD%gVD{e4;j2YSF4!zXlbO#M46#a|y$*jt-i;Uu!Edo7<%I#0ME zoV<+fh)-iT&z#GEilb|EKN%%9jY$!c!eRUr(juwoHGth!Pp%mS_hK4% z$k4RgYoJfSIGt#u$!TF;cd$s*R`Xc$iOr_*uT*Vbfh|oh!Mi72@FrMf8RruXh4!sf zPo-U8qOg5JLTv0+hZjGg?h=u9{QUXok@h2Sf5=GUs7B#1CLhP;hm5##k0jG5$+McR z07u!}$t&$d?X(6KcAw8N>rMR_0tz>Cqe(VbQN~jT-$Q3q^lomp)ZpdFTl!tH4EPiQ z$_85d3!Shm*Xt`;NX81Hl6Y2cRBLEc44Khh+mN)Irol;%J5!jd+RC*VPxCakh3uiF z=IQ(Z&mD1iX-xFRfK@FpJdV!VBsRr%{j@U;wDub?-JimU_9F_26>9|I(Yw8tsc4y0 zRpD`{;rWOX`8zQ{Tzy2{hdvWYEC1F9(Fg#mr@08f1K)XeF?_ zm))u<^HYVVKRJEz`X5K}iLAHP8uk8?nlTR@#&S0qPc4688JE*9gc#o)hG=C~ zDH&wMin_K&o^B(1oO3PkC|=jJwArcaERb}aCly-CounUF6(K#b+{fiC)Q6DTfh>S@ zPre+UKR$XZYc@iCYLY1}aoGNSyh_dNW>9Gd5T=w`Q$ZIG?KJ1WEUd z;J|ev-%ejVFJf6R|J2=K*_ z2^ZnLnharjs<&rD+)oHa7_zis&RY1iy4`4yq0x2L?7pDDg}WiH-iK1&51KzU!elcZ z4!%Rpn^O8^1F`^ubl+j06GWwzLKfGa(WKD5fav<3ECb!;pz&RTH|OCxLMN@>i_gw^ zr$0;imlr9gk9t(J?W=ZCOmMM3sqDDcKTO9EG})BpoXS*A?;g>hC*k1lt?X~lah;rq z(=<(NDU6>gnw=S}QK?xF#~M`#o&g z@&Jp=@&u_s*v{fc7TcWiX=Kz9EfHsg{AmVb9Yr4wMIvXB!1atSj}WU7DM7KGL^Na< zn$BK*Yx-?qFG)4c)Dfe=?>{s zL)>QgFstf}uoNJ5Xo6e2IZ-Ih&Tll&X%R0AT~A|17&<$bL*JizJ#*FmD+O>DmHLy9 zt9wkCc(~s(ad)Rpo8BA?m@a#0xph$UG%QYHV#i&Ms26(izFjbucdF+_%5ryDZ9SxE z)ASxDyqy0Wqud1qfGT_ADq*^)24{tOa#(WXY+<1=Kl%dFj(vbQ!?>eJxGN|EJd9Sy z4!XFRHta}jwzxUX7*%*_B28}$S(ArZU!c*mqW2Jujj!tE$C|M7JYf>uy4Z4D%ll&E7KeAL zDs|^pn(QbhXridi(eM~L&sKkDn_OV&W$WTIE052uR35?6ZCP!dH8Qa>^A2N%Gt&o( z0_JJ$wXQTi>Pnqebx?qL8~m2gi${O7+*o<%vV2hrRS0ENFx)OS)CCBMMsLGKHm>Zs znO)on<#X)MVSyAiL_gaYkFKv8_OS|Wvm$m-y*~9%Jy~y(#^)=u5{c7qmW-`RsaN%| zjkI|+(jOLI3~=hI<4oZ>X&F~a)&D+=R))a8<-9~@qN~uHY{TxIXJ1Syk7H|HbyUBD z;yup+(Q+up?6{Bv-CNaIDz`G=%^ii-pbh@p^v>X40W#x)4`9rc_3J~D*dD&;c>^Ef zfO&z8{Ixk7;}vZNIpCo!5TCdj28rk595t;MfA#ki*x3Rq8j5Q6!OKQ#eLW*1O{F00 zdjqH}FwRSbcC!%d{ko?v9ehEgZsA7*URc{QGs}EAESr@`%G47^YJ3qB!XrQ#5f?J-(;&~0)t$OpizmkNQAqoh zDQ+blP)dmjH}13D2qxBv;DWAH&kis&F0%qUNJy%4eRj5R7mDyJ+`eax-}^rrGjzAK zaMWcjjBww<=!mCpD>ozyh@Ouvr$x8tY0&5HO;l~}AT`r2p*&pJ%V1L z!w^zWB%$46s<}iHLW5(`0`5qi%pXY*mM9%fhxCZmp1r#mFA{jlg7u&Cr#JAa&+&?=y3-d1t8 z)R#ACTE?cRqRG(9C5enHNn{!Vc!=j;8{E(TGA)J?A@;b&)s~y`_x*1^C)Ej_rjeO4A)vhZ$N|Y;OF5 zI?w|>PjboA(nn%4mh@gIiFa$>KkGu#wu1umMW7Wxo+ zCG$^Vrv1KuaRXng)g^rvtWBCeJ897=U2erdj5~R@c`bBC48FeXn)_gnO4=~!U0Ss| zKhguY_QS9<;bTQf7~h|PwA>k3kLnDAU@2U6ME%nA!=SMhYg+@j_w0o5eC)8 zh?%X#as7;tH}oACZLT(!#B;2#?euis9l61?YGx$5 z2`TdwGProAGMVTJ0uBh_EJddN5!iS_jMG@X!ChLFqsz8vGQ@HmVx3;iGwd1b?IQHW zbeyjJ8W~tA^kT;|7ZMh9@TGMOG-6KqFtIany{%ndxtuQoi*Oq`w zr2>6v3m@R^xSovt&07VI=@5L4l-3>Rn=^Rl@}+NU*4^OknHK7fap$BZ(~C4xH{wRg z48-*bY(j@^n6NgrL>K1~;#s$E5thp-UrYB(f5asGrZ^PlpTeO({ij{8Pre!085N{2 zk_R;98LhOnj^y|cUVeU23K#!dRV zi>(PAt&ecN-bjM&jbD67&QO2#U~=@y!|@4^(zv6|1q7pZ+Oa3BHe>V;uj{2{o>SFH zQhI}d;nDaKs&{z{cLJl1j#VdH#>e|gI?Mp!6X)ZIkb|KhxQ_I8=~vjKxW96j#NIZ1 z>6Omd6$JDQZB)7T+90d9bjGhaa z7#}C5dFiDVNY8)R{oBecy9S-=-RA*v>d$_mp?GJ-pIX;Ta?b1om(|b}(4RgLeBvu) zr73ZB;r6 zrR1Ns{n1TARib9Mrcu(TMH0gy0FeK#Jcc>4lfKLa{bC6f?n+68zN~UA+fxL$&f+VL zbAn%>F&IqrUv1Lp4NL3x0asQtslxzWsNbcRu?px)=s(6581xKWhb>zu#8=hiHd*WW z*l=9m>{1lt}G)nIIfAD!_XQ1 zDVp=~U$m^t*n7Br*fNs51*KTz$AtAVB9EzU;5-GZW_ZT3ShF{-yRq~N6G_!JVR;{= z66}jcIhVw_?SQVl_eG)2L0#N!-h~BWw_S?7GE8HQJ4FrG)(;oTKa`t@v>G9)V=-^u zjy)jz5%}Y`6y29U)zwv(mE7mh4!)1SqsFwL9#_+{6HRU#h&NpD?@nc?tcw^dWB~c1 zRO(kYZ;{lhWk_q2fFccb@kIU1s9LJKUuhtT#V>I9eA9OEsyig!OUc)shd8}GdhKKq zSyXEBZC`!M$ck7&Kh$HI->c9GmB%cs(@agdh&*vbq^clsT%*aO{ zc^B0@g&durhk$nxCp(~-{ZO1IkcDL-hFUbS+rFE6Je55L( zgfo35+Z2^j>YDdaw%XDa>kSI}YN~uVB26D4@Akm!A|oRKzlRMTJ&G(gb{OIZ|80Td zG8#SGg!vSLOCg2s?sGpa18)==xK-v$1XyZa?ai2aAe3-Oqyp?B{pF<%q7g>FWTt3_ z|A<6zya;)xKzEq5H}-zHE5r~|++!gyNNXI!Q>)KQx3QELns%4hu#v@;T%^oq)RV8L z@a02nWm4Md6+{wB&5ffWNObvqiD%3*ot;hZWbwKL{6QVuWHnxL?EZsF*Gq;k#Q6y?V3Q8SvD^*j}(cP&u(RQcU& zYoNt1Zi1(4JSh5(bYQq^bq?#cxtWtQICr z3`QLeQvt=dVYvORHDPYY-Bn251+~X*oGjdLLOWdHIr}1ORM>H>3|;(O@=uj`^HEFA z=r$vw9cNlj6Fpvl&`EQaXDR8*eb0z>M&d+ok^qp+7-PQLu$6=g_gu2B2*;79ZL@bh zgk#qhWrMk5%c6rDN+rgaoaGM{;4ceb@PD^+AGIsg=hX!^(Fy_3MT>^1kATRu*fwVy zT*-w4iLOt2LM^9Lm=6rA&^DY%Awm>)7*gAE8zgDTpH7PmjF@8kv_HcKc=_V#g~rCy zLtjv(XsSkLWxl%v);OZjAp<~BH18y?v6 ziT>8-pQVJiIzX2=Ck+lF$U6D=Mz(*D`-QVFL2uz6YsX54A zYw@TQ{>{abcmM1T**bP(JGr7cX^>&Z7KcTJsw*s>F@@1d^FBRS=E=K=J9cZh9pIUF zfukW(ckn*`u3JVj9JkDWC}<-m9w9K=^7+`Zl1Z#bcoWJe&R7z^VMlzyTr0 z1nV)wOYGD(=EBB;Y|;GoMmJ49gVV}Bm6XaxfIf(|rS}f(XtbH%`qo|Zm{FLwRSs>U zlp8;fDel0(bP6Li+UJyXDXKI@)#<|!o_Hlikoqf-pXJaV&(yR1omMheiei0C3i{k- z6G~Zi2Jpzyw&ZKVf~y`R&?4|JagN_cA>pOc!*BO}OJ(GvS@zz?uahu74~WWzOx(d=*l6yTylf%Pg-KGh$PAr+sq` zHL;^*R?)ccyL%`IZ@x3$<8k;hi&>I}5q$oJ#b~=vG{W4ZHKzJ6W)++Js~|k6ASp!! z6cq~99)%s5w_=XR<8S`~hY_Iv2V7*ijyx~FH0M`^`sw#fkZp;&^N#Hwxc7%1s8t&3 z@=YzA%d$9zC5Lj}^g{2fX_2Kw^Uc(#tL*aP9Pm_F$Y=^|a(2{3-7q0Hv1a#mk?Q6(X^dTv@c=SJ%(XXSV>eAK&6^|1BjR|IxKE zwiewft-bX(#i1I*)wrt6PlqGAgr;V8KTmgd)W=C4gfZmz$kgtZ`H$-UJ-^}JF)3XZ*5nxqS;LOcf9swH2H8xCS4fpG(?IpaJnul) z&$|KRG6N%1oWMV_`sJUc$o8??n#$^;r8yL{^Z--bxdq}Fg&1$*k5UHg{5cnLn%p{l z0#0mJZ_+AHTC4r-Q}_;od&}D@fQkKB0Wmd?5#-BT&TR60h#V|wy+4*P4O-vEbvBlo zrGBCo&CMebHc)G;uG_|2yAmLLrgj;ilBLM9zP<*hwz+#=Etkke6+E3w_}ln6{`aux zmzrYAnxwyAtMsGe!8_VgPN7uyl8fsYnZeq#FB6UNdPBVKM@DBno@FGh@ zP543U6cA=mb41T#loEf`ctBIW>b7%r>BS(%vZm?pZZdHaMAF2>82B~Stpm&Jc79BD z#)ETUK_uTHTrxaA6j}D~@nxk%qr|nRVh`fFi+L&VFamj>%a0lH5T1VSBt87=qQ#On zco##yrs358w25%&e6Etuch{G|hVT;am#9q!}(jC4OuNz5*b#U~+UBulsq=ft#R zqS>pJU%!(3Do1oxQO3BPEy~S%7=-_cJKsZJ%RC6iPhv{wfeC>-0+!6vzNd*|d52*6 z8fxPSAN#sh(aE-C<#@lWeifJ8k?9l{;Q`tgNDiAdrv_=YZvj4U1~!N-?PA4z*N?LB zo31lzO#Bhtx}O_>WjGR{uGd^*yi0#^qvt9x;KeW7Fp z4T8*9sHHi5EkeUsF;qg^XYB-xzPPeKqOp?6mu zRkSmnlX~I=%>}UJ62BapD3zB;QQ^!3bpgaQ;C`7{@HckbRD|U~3RwlS4bmeqm0<~5 z<`mOB*ufV^_AD=r0pAHSe@S=;eWg@xa(@E{fRqJ@GW}(CHgD$NIJ(T~bOl0+CLk zi?&n8{X7Crbq;M2V3t}{_OsS7Z*e*JM_DwHRFv{>SgrEcn6=ihHZi+1EPp2X_RHb9 zvlNPrM-PL@pUVA4&HuQGx1z8KV<{DJL*`e@O8BJ%mbp!I>>;cfxkCFNBWq-1G|SeD zU5s;udom+G)}p!TNnb0C-gvKeI?kiyyS;cjfi4zdX8*m>W=k`3B<*maZ)2^n7&x{r zZTsoBT}gtiy!}HgG8LzKN6aQjB(72^`d)OIs;cs%bXC6QA-}13Od=vh5{0GK+A{0y zvgi9ewnqQ{jWk9w4OlF+fBn1!qK2a&agN2A=cZtc!?=LSDeh^cL={hk z(LJRbug}VkJx@cvRnV23Hdm*RRPv@g8!vVYl^1W>j$@rOt2K!r%i{9cEBcqHVe-SN z{uEehEqlAl4e#uJb+UXGWBFDIrt!OLn*&+GVp%Oz7yj?LJQB*?dOFOf?2_Ao2E2?U zmgp_Y;UNeBk;zFOAz2u{mFQK%%Ib`#wz&qIlj?AgOB~Ci#Z> zI3Y#if^whn%f>XD2tTj5C*4o;FICwL(j96VpVSbU|N;GeRTq!TXuhYGR~$SttT5s(H61A+3gX19&XcT~X&Nx@E5I*RrmFzulw!=#p%>F>d5$``a4$ycs zO@Mvpt=BC#2t%Zp;H@M@ZCX!XMuXT?Tkisn+b92s5U7(#F?Gi`C@X4-RFepce4VN0 zK;}TlSH%-@35u2mc-2Z=kEJvc$j$T+;34I$Kml(t zJ%LwN52$y6|0}r_w{9|CqXV66zc)mcAyILQJzne9@wCivls48~7Y*?nf1~oPl6q5U z{Ickv$i-MwjhjL9`Sg7>gVS>C^|8h*n>3SF#crHbeO}F%G&D4}K;uPbaCYDKF(oEc z6mLm1S*&SpyN*(&?ZiXh!qzy=ip$BNlxkb;-?}#glPCB$TCEw@wIhHskc17DW@hb{ zD~qVC1&n{mi3!qIC_a?pUB}2DOi>(t1bw9{fS`z2N{-CE_W}{dRM@YaGOIjy!^f16 zGc=I|<%MH;=v~b`X1IST{cMnSIOeUrfEdb?O1)@D>ZMqXt;#C_-zR^PRf_){h5 zQOc|v$aXF0O~g<~ag7A@WmE_NyOe=17?;HnR0p^@(qJ-=VS{nSMtyMWBwgbK_J)%0 zv>5N*->bYCZTP0g8>WX^QSWKo!b8(SzKC!l#MN*_zoqrV@wijj-ns!V?^@^>~ z?11lVGvBU2?v+>}U8W0U&`#txOI(Eh%}do?0VlV29ZE*Kf+Q;Zclf@uoXk(zwqC1h zk2P%81H5!s73oT_JbDSP?VHbYS({U2l6jl#zqSgXg#;1XYI5_RXz-uQ5p4y-E$x}Qv zG8P;MHkT=KAQ&Z2;Teh!veS9o>{aiq+Wt-sj{}?~{wQAWcfY_eb_O@;j+FaVXqwP$ zWirkE=H2vb>APgybN?jMezFX;v}tv4&mG6D$!KxCI~8_hzBtz_lObyDZ-HY?@R<8I zh-l3Xms~B*Y1&N7T6%DKkKa%X(w~b-=pyx+8se3~xHV)1v@pU?ofQaPUV~8irbC9_ zemE0%Kxt0S>*qk~*bptgiDlkHIB1QIj*_bSN;ITbyL(7uOZ%I>&^tYEM@RJPKcH=2 zvZl#iUpF~+&hV+)HcNN72KWm}j-OwT8ds0F?t7xRiBzC(Jf3WT@RZp!hb?rftajcN zI;plqHY2|-ikWg3etp04WSD4wcHF><@$q=>ssv8<8C$wAOX=J}K=-hrBozF1thg&z z$eX&FbYd4dX`Fhn+zKtBC*9c-v*4(8J!_ke=P|;sn)Rbcj&#cZmdwO(BYNr*+JwM3 zzdyqXhj3;9Ps8vm0`4$Uq=`X@g3hwxr~>Cc^jnHkKK+zx=V#<&2TOUN{Wnql4b_mr{Li(=H_CP3NJe-g zcMU(kxBrJXSKo4I(hHLLoHy4f3Yu*i)4{3V&Zfqb%~bj`0HX${_dU%hor9Z>QSQ4G zqT_gKMdmgyMfJONNIyd-O~}KE{y2gsiT@kA7?d__5T@4O28x9Go~siSerMEX-crD| zX-Pb&=7XHX%k7Yy3Q-=|%%0a~4U_b~j*?b4c|l3_WP>$Bp#YqDo@hHFA2XQ@tsq8Q zC}U_Xnsvr1u>~5vwNXttM@+qoU#vF0Fv?2hb0Kj4J&Wqd^&g8eJ&+)vs|7}rNiCYQ z^Kk27-cXbvY`W5K!(f@3HTQ-J3wCq9Ao}Z^ub7GnPhOw}ik$UwrzJwTlcw)5i;|kF zMCZCGyN}Ybo7cr&BVVLsn4s~{Cg#)c*jMr|qKC!Td%tc_R#+%LdIP@YvZ0ea;&gfe zuu&1&o8KVOTVPlLV3vq+n)#kZwoME}QA?N|3=bPXvZB9mHFKKs*TO)H}?gVay z**GPZ^Y6OLv8&x_XtR4(m$AHEM`D#K(H%JybwkKc$R8=`RkUW{4Cq}(xU9wO~hXnGT)TRN1y9}>0 zUK&G$W27;A39;Y_fnKXGW;TkL6VDU!P1Z68;ofUSCI-+42DOuZ&&|zE{xuqOFOQ!# zOb>ul6V|XY`(Bci)c#6~U;|yBp1}re1xYunc|gid`uF%5J%*z-)0hBPcsbt&)@FN* ztF7e5Q+QZn^JlJH`&ss7b?b)4tG=Y_Z33_q#TyUj72d)&witF?$8_~3WJs3=r;ZSO_omU9qyky78h6m?ih^E zSL+QYD)#%K-p; zJ*wdPyc_S(HGEwH_jQW%etUA^N53jj0{InJ0|Hd)l&udmG6vj7D%m!Iz^^EA+)oY0 z8&O?thvrphzWKx!;-*9YI-}W7Ny>1fg38G6?4O`*0ZWP&OUPT9dW8##<*qU3@cwo) zOQ*&a(N^g%lA8-Kj7@P3d8;Qi(G8Hd`8s@Z_aRp+Kb$%PKL^3G<(h-u297=KDOb0y zcp8B$Pgl8B2Uuc@g*?H*4-->7)H>o|EEt(KU&R@$PrqtQ6xbQZ;e7X7o9zE}^ZnQ&3WWjMstH0tBH-T{T}m^M#)+5S8%DnP1p>l2`P>}{T9p5DL$a_gMG zx3I{Ae;~!N2M>C{^P6Fy{I@*%T98098LC7*pI}yaefp{UxqjSzgtU;+&9Rb;+Hx2f zm@9yy`-E~ypZ9NryR$Eo`}S)#$EjZZXKqNg*bn(g`)1%j0{I@Rzsj;d1q-tfs%$lNyF)rNqnTxj{L+OHc5*%E!zQy-T1b}v&*2E;gTd)8@kMfUNPr@H86p$t3B6f>XXyi09ChSgRZco(iUc) zI|d~yefUap*_9%0Xvk+Qyp)r);DDV>-ft5)6$(Gh{gb0s9JMZ<3=An5bu{X3 z8qdE?^-vux=BTT|P|n4RC4q>TE^RfsCrq^+{~oWys)UtZ@T z@gZ-MKh8f8F!pbRxd{HQhMRQWLU4pkm(iI!-plK{#*av z)jh|e%f1k0D0|b5EiM+6mP>+Wz{r&7&teQdytO_b(Bn4FrA`sHFtJ+@ID6Wb-rveD zGgP;?y*+PH93FQ1SL2)W>HuZJCb<#MGB>`o;=f|+oOZ_)HArFX1WA(R*Q^R(Xl809AplU)Jb)z-w%NLIlV$M}ug z9F4TiY|$~PNxW`n!~~y0iZx7^Z6#Sii^^$Ro|y|9>V9Dqfao9$;{*y`RN@@b1*g7S4v0$nf^sV6-Nkd zrSW2AD$oMNK|Ca_MbG*pZCMsM17pQ(M@$cu^s{mw$%7l+D%uqqx%Uca;U-Z4904zaBw4K(9O^Er<_877rXw&M zpibskwi;aw+EgHJR2= zU&1|xP#IMQ0-N_k;9q3ctpb|yq9a@oiU+>T-fby0ON5(pziB>`n!={UMX30q$R^}o z6)Iz57gr-R@eUp4Sw`Q!C!*p?rV|bRfp^%c53)pW=KBD&1~bhOaZn_Sy)b(jJItSE z!Z0&jfAHg)b)<%PrIq#X%-26oYgM$Q6*I3=eRo}lYuJ~tE8OKRt&&)$4b-O! zNJm0ynQVI9d>SrFu~vUPNX;iS%zxvqxY0y$5Prk)j;keBrCdL|TxWESz` zG{XJr!3?M?sc25G_T_3NX7y?c9>e;&0*0az5oDfq)YA#Gt(@1e_URa8zi+u6lkXt6 ztCv2`kkl-8yfi*y4ln8U5Qo9L8X@q3@*_Fk|L7reRD~YTIi5}48XuDyQ(Ejo-}GKY z7f~o=xF`!AX}eugJIiyOGSh!TUb~8%vipH3Ih^)|T{^Tm)1;-K`9N>*2A9?DKu+x%-k*dxpqOCqqB8ckFB9koGe0)~0Y&CxGO4I48&Y9}MI?&X%CI zwWYF%6~vymQdLyI45kks6tgu7q0MKVlRQbyf1zQZcmf+B(2zjDp`(sFH+X;&2h8fO zdrrvut$nm{BTKX1JNhuiM!|5|BxJaFo@O6x(u^8j?@1lCX83dzn%8*Nsw_AsWZ-@} zFp4~)`)T735K2F)-+XzLEOJcJt^p z=2*8cz#~S9HQGRJ=lLjet9Af4{;OJd1@>CYsi=vXZYke52k!!i-%1fTdcKqKsJ^X4 zJZnVe6wSBvL8wwmLyV7ulA9PNlt|0ClYF+Al| zpeqv_U($U(TUW(tUxin=eVp#b{u*>FYsK*cPmC2Y{Q47h%r{%Sd3kbs;&)h7tFQ@y zDDh8oXa|ZpQWMs3Fh)oFQYxl=^U3#KkO(+bgj~JI;?>bn(iFg7xaReaP>H2ndOIFu zMhSDSbO7HXXMJW`|J|bagof}RIqe+5U%*@h^P9brg&_A!8KL=n92lHqREST0bA;vh z<~&hcB;UHpzr-~-hC)wyQggT%JW8ZDbCy3;wd}SmXx4li#w2Mfb6zf(F~Fh}FP>YR zA`@o}^>W{UajgGtBmTb>g;#*13$xB~l7y?2_Dm|<*pHKF_Z1SVsF7Iy@+iZ@#A&&c zw;IKjFIP9LyIf6L{{idC3(kC2>!?w;gz|aEwAn(jsGx~3gogm2XOr+XC8xO}US(m& z$;@;a=2PhbeI1Gaz;;f-ligiP_*HQBRNCix~K}T z4{AZhbBB?wyA)mLF6G`JOQ^xt$kZYM1VAc<5a2W<#7*MPgw^&w*{+JVjW(?@)|j5I zo>yD@hNtztsk}PBP6oqKOO_Ccmg`^0nT8}<^LVZOl}FujoUaoQ2#YJ#%UR@$+72Hx zyM}hPY|YzXa@<8kl!u9=sIr-o4`nlemJ-HaI*v%22=Zaz``{cqQp+;mQ<0e+ zEO~;lo? zTCZ=aVoG^^cDI)y8}j^=rP{1Cwns9Clf*hqvOK$+Kz2-6n|OoE#KEAzx@lCbKCf)E z=4l6W1cHuc8NFf;H6UqrSa^Ng)K(6Eey1%^tZtP#(dLqp&dB!%uPy8Jvwew zf_foLo|~+;bsymrKwAUnERmx9ICW6t6Z!4AMFM93t>0VM9x0EDR1?}oG>ykbV-<=y z?j^*sN@`AK+{r!P&)xI|+4{mwGN_W$=g!kPqP)OZrqIsd2EQ6392|}jnAv_B&RM3T z9BnGlquL4>=)$jGs$s+p+q7+@IyL8nX{+3&(QkY z9pj2$hEoV!npMz-u(?!fVq9_BeqH~FWrkw&)w|e_Ax}k4Ys%)auP&cb zWg3cX%@W`*eRXcv2dIEWCphrtQ$y~jX&)y^VxgpB>YS@gsO~6=eaGa>%2BrVk+|p^ z%n$IB?Fu;eEgd>nR8DRtABqWya8tp-VtCAQdOx1x|AJN}(a6tyLB@UOnjPfQ`W4F? z@w>)GU>kkGTZtjynkxE?r}b#&5@+iFAsQa{qCsZe61R7WK$Wb)I&Vdo@EDCtNM%2; zEL_VbWO=18lVD!b1VM4Zb>ZZHxcbJx%DQFSuY-A>85lC5u73F9iPbSOM<Pwp@0VLhSz)RW<8>-jYUTuG zZ#@EXr-1sT_aEy~pFFg$--<&OJc=?g*|#w(jo6xM{bSNGtZHoSdIP#kQ5OPkXQhNl z_|D&&ni`6KKd(0}$75H)RXjb71!k{3av)Ou|4mI>|DT)0Up=$wRmFF&x5|icXw6?V z;ho;)rJW=m0a(@caH38opl(>Po6YVq}y052MTn@CWM&wpy>9L?x7j62dAKuxn)_ z+sB=b-~RJBDQk!R zH-`GF^|Fg4F_s+b#f#ERHINTqzlQs|&W&5Chn4f{T6y2d_LZs}xqM53ul^Yk)<_+D z5_eQwreRvVB4wCp9(L z>z~mC>lM(^szzZcRM>y=Psph9aB)Ry{{QX&DpwY&R-5E=P_&M@-V2eArEa0Ea3}%c z#39S1h~TnVICG=@h;jof7{oREk;q1srui}=)=~@i+t69WXj-M<@P3d0s@Bj*G!G!4;(hnUpP3 zN~&wFuYXhhe$qS)RSox`o=0w(@o{pu+V&a#*BY_^2Qunf&dwnMYLf?a6AG{Jqf>SA z$M(z7_A72AakI*y6ge6Qjy${OVO?6LdsUgRHtYavZCV$7gp%7fRJwWXgA>3+74hiUyCDcf3{K~ZB5ZqY* ztBc3Y{irBu|0Fh>QZIp`Wkk$g<3EG9=s?5&X!HG-;yV_`F0y4*g@Qf07$+ivrZ;Hn z!we}*ttyNdFeh8KuHA0B^lMBhq|J(oNlm)0fkzK`v4?Pa_3eVS@8BH|Na7+ZJdQ z0LKPMiTGmvixlHjylsgy%V+056!%!S-Zxk;xo3~{IqlXgA8iUqj!f-CQ7+CK!JXF# zpR~=KWlbTuqEhT;=4IcVeh+xayWUh>rE(L#3}bA-twb@*Qt7c-H(%Dh@;vq($JAKMUMGKo zhquW<)|0jvD<8RP2YKu{>G~lW*~i6vfCb4taf0ergb;L$^!C!WyIuVS_3x4=JY}Pu zolbcj)$;4gZFaeXQaLvaxE8~rOEP@*e=PxD)z0Tnghs_gpUS=NSguDnzgy#77crin z*0DUE(XnJ81A~xxBPT zMG4?JC3R-b#S7teXff3j{Z9*=GvsMdu9blfJlkS0lK-LQr{6gLT?{anJ+$*9 z0Th!|{`wHEnWx~je0s|NlrWb@xmoUUP^;;%oRs@{yYpBgj)qdXQO+Kl~?^1QzbUnxZZ9>8CPswxLT)v47_tt{T+0+G+70 z2Xt>7!YD?4(Gl&g{u{!TMv%$X6*XA3u5cBW%EWk`^#nK^SRC3`2*8J}-%M^i`hmRk z{Ls;gbG}v>@VtbR-{_dDvS0VND+kW6@ws{@Nr}onYu+SjFgod_WcJG(&Mhs@t7k@; zYa&&aJ_xyn+v{~CMK8guJ&Jio(Yjl}TvAi2CfAWw5WGdwmUQ-M07)iCxaWA!FB&@r zt1PvnbMqR)0ST{`iQ{|x6z8X$SSe(>79Ts--p%%!*)zHLiJ~!6>7Oe2j!q-B!w;Qe zy_u~oS|c`ldIhfcq2V%V@*C=2XN>HncMVz=t?u3=y1!_B7@86$N!XsDOaAtS^){$r zR7jc?8vP^@w`bv6MO^Y}#o2yT(7*&9%EziKz21jsA$NPct?sutl&fLEVfql+155nd zCFG$O$r?gf(X^7Oo4*Evrm}jayOvbo)38>pwV6$KpVqE1IxfVTX3V~HWKJ~A&(WN$ zWkwLO`QFO1_rI7|Z!Zvz1Ag9gXgRTle}|))(c`K#v zNk4R^C$!>8-x)IIS<3DdIQI5_De*S_`*}8DlqYbTJrR_JcrulW#c0$J)R-kUri9cM zS2K9KZc4R+p;z6AiWmhOJl8;t*8wG0qjKUeGD2n~I_Sie4h zb>qGIJBHw9yUEn$CRVsrXKKd_AMDEIZTZDvOsCJ(+k2VS-mU3pgNLGa&8wo zcXiTQP~v81%U9>I(v(jp?6!4<9VT!8K4@Y?yF4m|&>e)8#dR5|%97(ZayGmGbu@#M zw!E?-*~;o(Rc%40X$LIL#%Ut9YA#mixb2=&!8~_97{8sO*+vLQrTTM;=X}(aybJwo4l&o0+>Et^0l!=#IX|_#;l0zQJ#e?fy@OVBdrTADu z@eQUp19&oysSL07L@DMz;DmI+^BGBNs5JHOXuxv4sXt*|$Ks-#FN5c2tD*)~tRkNQ zRF{v|u<;_tY3|Yo-}0>Wd?(|Sj%OcUR`!f^cHC;%FjkA}7G+6+wV~w<3!Gh!?{8Fm zm4CLXD`bp*&PXPw)%dwj=6WBsjD`ur=fmDS=k5+uIh)ZZeWZtZo{V5`^G}Y4>61{d~XANdCHP!c=uZ7~?(`LC(J{y!*XuTPos^!;z|a#w6|@iyx}7 z#C3SDP04q^d*nW?7y5n1G!HIV0!P$SdQp((pL9e)WbPF-=+_LV5Zd8d-V+5Qs{Bq5 zDQ?jpC%s#D1~yu}tP9zOldB7SDv&`&GFC9{JiM|4@~`zWnG{Q_W4L0*vRrnDyMA4V zkbbuzUZ0?C%89u&cKk4>ZSr&to+*Nw4EZD@hOj%19V%n_%2mMOWw+5`COxOm<;BtL z`@5U%`ofM~;b8wjKVj~j#VkUV6tl-zVIvxs>T)1@!NE_1i2^Q?#WKR6(TT&~A7`?& zx;%v_Lfs&2j$xO55{m7(u_}qUH=Wc5+P5)O3(?#_=lCYt9X=htr!gP`x9j%%-xeFM z$j^?$<-L5HSuKZk%}KeAw|&S3(_EKr3pk+MtQzg#%;nQ&_4$N@);Q4a^**l}>!j(J zmm|MrW#*xKe&Ko#stBvnTn$sV*)%Ywb0T}NFq6$1-@|A$wYKXK-0xkZd)a-7{8-=p z;|EKLJipI%Rubl&8P2^zdTgL`o?}^zMK=kgc8dM25L+{7JV|pcS>d+mi=RP86cl%X z8eZxr{m%=Ou>`g45#K!+mT!-$!exwur*=JRy+JJ*`Y>~FQ^^CC~gLzmHD ztMuTzIIVudt(0rAfmff5U-Mnm0soUif1EhZQG(~?3E`hU%^lqFw$kvlxIb~;zpjE+ zzpQ?F?XK>|>&?CQ@=5J4{*cPO9!ies1s-3jKa1Z6g(nBJ-MO)k?v!Mp&RdW8)M_00 zEMR8Eg2VpH_)kmOnHA`@1bLVTtMm7miFNADGN;HHBKdLiQWE|aB9mdMFTjsI@9E!G zKAzRKHmo8CWIllER-XT&;9{I0c&MddpLF5OpWX#)%|1RP zP0zpzNS7lXJ1g@adnv4-{v6C6EvT9HcCc0QSvcuCl})$)1z6m z$jLwcal(x{nr=S~7#-+1?>L<4#A zA^1CBBdS|F%%ZmbMBqOE53U3K!MlYwFKUL#p0c`$qc^SK&3R!X6c%k7?`h6x3txS) z4q0czW+-#z^PsdUf*7|QM)7Dw(B|!N;<;a#lnr&*hNx$oMqhr-TA}fIV=k|8-b`za zO)MYBB765`1RDbyj&-xR7vgfuiG_vQWtmDeU8Do=tppWTNF$-s~*cDmM!>pdi&kB`b;C#V=} zzz@mR`Se-eH5vwwNt0PFkKOT1@kzV04AWXF?R%|Uw^3>>;xFcHO`T zw1_?lpnV(-ywfQatJiI8u*_0lq~+DQcXwT-8G2#~xyuqX_KekBX<7z(WQQ5>M9}qM z$53XE(x9lxhEPt@lKgka-(2^=ytK=7N&;6dC?k+VqwAKX=_zsUha=;MUP9y}fYNUB z>hJx|%FAS)R|}AO`@o=gCyo8{$`+);S3kmkEVj=to8KD4;g~LYM8v&fe?#M0I@|XR za_&5gE;AM4x|Q{9y9{_Z^v;BS!dHQ>AJ_oOwnY?7b7HYuR$7iWy7Xt@J4=u4(n|?o zToxOX`fREj)tmtNz+upg6;RKD3USZr0gx6@g)*Qa!oWQR*c9t_N-1kIE|z04`sw&= z9%JI_y%DHZCe3Q<(92u`IV9Bsw_P;$p<3(suHG3y$X8Wb*V=otOWfrua71VJ`~2$L zw6~1~yyiOk3^Rr7%62*JV7i1I@REAe_bThzsugLc!}d6OTLA*ZZs|dX|9}kdWm`{1 zQ;9EArWCzYOs;Zy4u79qtI>Rwf9_SI`R>kA-F9Jj_9weuHA4Cx6&EuY1V!UFAb%RG z4yPIJphdS*(7m!giTU`kDmrQB`|B1&XS}&^ic+BS(2xQ&3wy*&U`W0OmMt%gaqLiY zNgdYeIlREBPk$a%5`8>?Y!n;6*^12^H|;B&6YECiY#Wt(R!S`lYGOEFD{s3-mho?) zrfD%fL{b9BnyS0$Xw>Nm-(p&M{KVl~tG69baC`_MvO&WJLzPe#C=1o(i}UAHymzVO z(rN@+BqF}vZSU!JTURHQwzlwLHjvr%mTS^#y39^_t{>^(jmNUN>~rj$tsU3urW1>mKi+!&|K=b%{2r&2t30zUBbl3zN=`j{u5G>cyo7D)JZTyu2UKbg zF)H~Lt)G@3Z}sHT%i;O;c3hBVJ(q`Q;+!ZVIsW`#RWHYi3wTL5QjS^CW65+l@G z%A?OYBYe4kw)_@7b!Ls>6}2_5v?$vZc_Dxb7}d2mUMC+>?v5ghm@{WM ze-U;F@nVYa8O0yYCgEc@$Qfdo8Nv_U9LU2+b+c>^3r@Hv95=R2)n>)KO@L9QfcfIZ z%pnb}o}8X}e~#$n!-n=|)ybol>5uzmyu$m6$GTfsYN?h>q3kf~Q*W8J$lg=k!7wA8 ziy)y%NJv8NI?6MxTQ0XdTeF->-j2O4zI)L1&c0%KhcF^dnqGF7e$isE+;$(oPTi(G z2x7ODC3515O68L^{xgO~B>BkzAL0@OcC6^eHe8+A7aM4(bR2h}?daI6DvL!KwxoLub zZ-B!L%|E62k}G_((^F_k5vNIpS@AWZ(dazkqUz)@m*4N~-LC2F;`)BAN_tvBO+zuz z4Tpo|Q;_V6eM+`DBqAbUX_W{Y4`PKp@K2h288r|f8m)vRDL-a3+U2cwP-XFR31JxP z?X9{5^yjPuAdPsQ8(2wbT<#gjO&8~{Q{VDM0iRO{vQJ|oE1nB=$)v%tV< zdvyguMSICvhd{OT!SU1gvZGG2*xqS$Ha;e5xy$yu2`9>$FRJ(qVQ1I7ejgQ~;&QuN z4zuNxZkF}EJpvwf`Vz&N>VUKt#lMU7WX=MK>u=&#YBrW1PVjPxmN>jOcg<~nR8Y~> z(8MjP0#%bm7H7jdZZr?(ic4dxWhYC4)}61-Deuo8UPK;mM`5J5qik8-28&H2iJ%5j z7fJ_yX{u5(R0V_hMRaTg1cVp>w+?zDbF9t1&vMvhZ4E4RjBQ+JPFVWRsnp~h_1AE5 z_SUnBBTk0WhAj-hDH?`@@$L5A13_4Zm?}jf;?>WP`a=T>i(5fSz_C{{mthc`$oF6) zGPM4N$FFj;r?WU{jIJ^4FGqT)#s(ME*Bb5Las;_831fEp6m2O#SUiWtO; zUJJa4lEvf1amHG-7BjD!4KI!<{XvC#&M}n4o1_x!Pc&SV_pdRMO=hPr(E<4`-zZyQ8wc=;pPAlSb>3@IcU{dil7{yp13J zo~x{_E&)4E(4>Fo3xosy1WSG~$@2>E5O`JK@7a}srkM-A=J^DPjyfMY$}^laO*4u! z4+vb76V>6E2mB~}fHXobn}2(sV*u|*XEn%$;^t5aM%m6DpU%;^uP<*d#aDhT99^kh zox_2l1Z=XSj3eWK2_=s0ev1Hp3+vq_3P4gv#C?)@w^7P;&&lw4nJ>Q{l=AicIKyIh z(R~ba`I+vWn6`x;*2daCi?9K{ULxYh`~B_x(N%)^O6Ur%ojMYZ(yiDz9U9KUpAh~6 zrN(lBNSEjSj1wV~+wpkk1~e}VRar?1cursxMxCqa-x6&I7h@+F>us+*SD4Hn{dl_p zX1~U9dxEg|9PT#D0dcq~-Yaq*OKO#^O?Ced5hPM5B)J5UK0Hqxge(RfID@Nsm+Yk z)nt1PY?1dpj9uR!YsR8a<8v5$%0IN%?<4-^7Q%66@HG`NKi}b(kSNvS*dGtCR(+IF zwN(!%-Pfo|c0@ci-OTW+Qwi;^_aYo)h{0YDqx%Z{&dX>?8n&j7KOwTMdW=4!J@2`_ z_X$??I;i;bjM`(aR$bg$W`+z2+}Djd=P}> zGMgbVfrgp(Xb@n}UotGA6k)-L9cUVn41tzPDvT_BLn{Ov+Po5@sJ>x5{|hR`$D=UR zK_+z!HI#y3W`@8zi-&e6beO%%l*-=XwdI5B;U~<8F$jW&y~D)`><_BIYDwk{W)9sA z*9wa4c)gLYy|^>^k&n-6P~=HeWCfN8#rLM{9*|C5`X`jjK=x!VWA&WDX41t(l-ZU9 zM|@Ru^LU^jbbUmP@*q%pQ&>T?Z~ZT@D>WXC0;{{F*=s3uISuC~K|*4`Jn361gyr{- zV6ZQxfM*5#w|kcHKNlhA$0s62m|p@0T*`+V7OfuW6^%+ED|G$sRY zoylpAx#svN*VmbGUfn7+!KYSzMR4lg0bGVrwZS2qZnZY_sino4cJh=RV&Sy6-Tyxw7Y6)P0oA zjdXP;JG#VGZ0KUoztZbqg;XqRmc?qb7crM}bTOVm@{e4p9M-)suiN=BfD zmCIXrmzWeAlb)x^T0!yF9Th9d)Z~3%roO%YST0}4-)=X$7$zzETncTp>` z7069bMn$>u3W0cKE8`zK#b8|a zcaOoA>Q@`mS1D8zLx=OxILqivK_u|8nrYWk!>-0me1eeCRSeHTGRs>(t#XTT?Hz`(TbO+7G{6OE@k+XC_4 zg-13DK$v zWSkU{?L{yqo_KrCx4kGXVeGu!OK-_!h%l18(q>Bi5eAWu;g!F`G%((@jTu@S=#YtW zJE0h!Ks-+rI4Gs{db*0%2S5s*2#o1#AVQ@As46|HYnJ^9BDl2d&*Lo;`&BA^Um3v_ zn*%x|RE2`1;u1!KRxRuJQm zH3pYeJ}{L8WcqWZROBh;x;X4aajf`Rjz}(4$aUX0KM049cKE%EH0a^};T8 zE9_bp^O5)4g~K5>#u4BD89)#F@zdKS(qM@VYjeoGOvOgf(W90@rpJAzsdg6cV{oUs z^Yze0CoRF9Ea;b}fF#1ay0}~xNpbG+VlekViuSR>!LW1?2((FL%a~j5Wt)Q6Xh)xjkyca?2gY zjz?3o%V=N;B>8xo!8QnZ2J|5a(?ZJTv>R~a_j+sBx72O1937Mf)$({WfTVt~FZ{UW zoV+Gj9_g|)EY}7MSGPX6C@<)?zxTbpJk=#?6g3&0O;M=6&hj-LtPN|^OoXvz&t1Jq z+jZTz!c9=tybqxhH!E|N zbj8F0Qg_>XIr-!uisSi-QxZ(Ojokxi1M_obG%OZhWh=oE@3bH`L^WEhLk3bR6gE5_5k@^ez`8^mi7M#-(2`&ET#5fqDeevt6!Y|@G}IAr9TJ`L&RXb ztS^u-Jv9oF)b-bA{44^C?AFtl;mgr}%+`-5$*-eLQx3`?%j1M7g1zrSDUxDNd_`pm zHb%!&M8iw_0lghYHW*Bb_=_K+h9f}xw|_t^rTdg?1@*w1i7siX%XHgII2s5==_=P4 z1XW2Ae8j|@5dBPrl2{s7KR+fSpgM}k2XaPQxd%vQGvg)l3|#z3JF#tEB>`{G$Sq@~PtYghEvS!{<2V`Gqwv{{$8RN?5syzQq}do&F>xDB2`S(#D5$9H_0iWQ$R`}kJ>4O0tDNVZNbw~QUn1rx2!OdXP_m^da5dK&S->CAPw zaacKsSWMjPp>&q6_x@2{T|8_ilX+hnD@&iB3LTq4YKV6>m4dv7@#BX?v!L>RrEY@+qtA1&IaRl$;=6w^K z(b?nGe5XPaob7(YT`KdsB--eE)u+$PhqshPQ~Vi$&z~5%JYo_6`+S z<#n-y!0ouUCeP>d40%hR!C%}$D}*xX1*A!kOpr|{)cN`K$MXs3%hX4rjrpVG(<(&5 zh?fWqH2B}4QvH*-J@c`{(^%2K;d_m9KxUTwB9eip{gQfaovwt}ebaQEI&Ix#!;(9m zl8W2wVPd>#)Vs4m#P&42TaS|sI}Jtjv^|PPZNxX3!&~`c6{m@}F)s}y z+HC1P>|hxwmt;JMeBjYjP+nh8>N%9RV&Jryuo#W2ir}g!8~q8r@zc`iFxzK4q*sH- zOXfblqM%Sb8L^yEdZ5Hu%a_>4j2H{Mbn&~1;Mw{-?0)2@4tySW`j=(;cNu}gS-KZ~ zM}d2nMZz~MFaPwyj+UT?L;(W^v&850&kqi92%W0xE?>ON##-Q3X6gwa40;jaL9R=G z1H%bclF|8QgrQ@^FgJMvEe1r1zy<@Pej@?U;0%6GSrwov9pTZC*V*lZz{et)Hs=sh z)c^iOq4bX(I3|A3W;nbWnR2GVcfZJR>L3AEXm!j?D8xHF&SX{vqAtz3>jC^RB4$P~ zFpBTrz;d{V$E+29Ojb&PCIEh(K5$@02u{&;9i%HROVUxu6|l7RG$AqOa*jz38Yfd4 z4YWP>-b*Z#Zq9!OD2zozQCh0yW@Cu8;(1`a{fcA-%gOUL8Ko@5vUh%(va5dFMd$l; zZ#{Om!K9PVKcaSaD;ZZ&b@+XHQ@((Eq09KEJ_O-WdOv0hxJU*$zHVC{hWS#FGvo;YR*C zxDy2IHeVWg(PH3tHgL5#YCP53tUvIyZ~`lo48Ncfqh@m6+S~6_cUnQ$l%1l{9E#%Z zQ?n(smRRA$VdQJE$nIGcus>qbDwa&|JPANU7*0+DER~P4zsjmqf`CW;?7U#&nyqakKtP57>cxd-6U0 z07^_>Y4dTj8{U+bmmS1o+1_}PkkVxzaC;VO|EsTo%T-WDBrl*S*9S#FSyc%@l?vz@~_mE&A)!Ibs zJoC0^^7G-q0O#4VX`sjR_fYv@p>U!cMU)(0h2u++cMbPK>b=c|+%J1g)p7QjO!rd; zugi}?5ME8%-m2>+X{n5r^;Yi7-g_l~dszu>NeNVI_X4HQT45+w?N;U`3jhsDeMw}H zI(AGlGQIcjQ%3l~o2v($Bv8*qNZ2g4yUX#~D9yAv6@iiD$#=pc`^@GN1=x-vLm9ADD_{ z?JiR;#uR#08@j>=!Vu5=Yq6G7>;kEfuire7p1ceSz$X9@#zKt3$>^*yv^2H}&iwMn z<$~}A^3eHgCD`f2Vx-$7J|y(2j4?RNvo+Ng?rs00bw0TO?1d?)T>(>2#LlzgXOVl=QZ6Abo-c!>kc zSd^4B7^`dMpc0{(sU$PVE+=ccq7Jq(SS6csPWIjfZ23Sgz5~T^=HLhLY|%1`v(%ct0$2O97N=334$$0r zoSkFZEPSW7kt#!l3@RzoSnDJxzz@4!eiO^`vD>;pAa8D>Uz*VK%7uk_KO=(@F-Ke z)Aw#8HP`QCI&K#4{lJc%%hlRsPtAChRX}5$a=x`~jEO~LssNclQ}<>*BZh(Jb)?Ym zLBXP4RSmUqs@B_kpB!#PVc>vdUBOo3g4XupnIU?G-R;tH+(~~CiIm;%f_0BWjkd#R zx@P0ju^%V7n0|ZOZoGV6GbUKsP3AH@S1V&A=<~)^UruZU>PQ-oa4rXc zybt*sP3fD2wDgMK&h0WVs2kyDy;EH7Q@t_G%=2paC101z`Swi2eKEDzpo$)sTky-8 zN15B{L##f-hR+Fup7wM1^T9-f~$n`@bfu^8U7mGIGF*jg30utK8#CUXtQ-z8s!$ul*?4%>uAg&#Y2={Ls_uw z_r(1m9tHvU1db7iM1m82ljaS#WBRdb6F~IW{|jP;jlPT$y(OVp`BwkCFaO#RFTuew z7~jkE?a&>VZ_i?MFt@creag7-v*Bcd@#>Jj!F_+}0)TviC9HT@?J>t7Nc%5j&W9e% zH`iyUrJ+Rw0iF&tfKGyJP7zpuL?gwewy89fwOut6KL*WF&ShEmiVj3q3t%oZ}-EQ9En0qQ(m(y8G zH4MG|N$wvOz0M?Dd%v2{Q&03H-9X?z>P$9(lAL{f=|@I_`tgs!UfIE%!A~~TAW8&t zvc6<8)JdL_0Y>CUgxynjW!#Ax&is8WX(XPzsTL{J32fkHJ5IzPv<4?}AwV^yvQmsh z2==s{q*t`O*q5wMb$;qmg&YTSWB{Es^rez|ve)lgai~Q7{o~x3y%s*R0+l(~pAjiE zP%-ZSIy0?rhb$P-Pln#p7aHJ+6dU~k$|d(fpRy4Ot*g*ri4$R;6x)A5fTPs&avZG9 z^*A_=yNH1yB{iHp{xM<`49HhV9Sv+xNCcdkqK0oj4s~$nY9^kN__#iq?eyMdr4J6a z95VG37r)O?wl+C8;vg(XEQljTZlny8eB%o=V0D=$7tf5CliuhIF?1m?zr2)tWO>Ak zt4U|9*q;QYW^d@R%B;GeWxHufEDhLUx0?e zTc$vr9FACBITJBfIlYzX#^39EnI=jp3ym?FdM+nh6=y7yK+L_-IBnBz92yoni>sxm z?y+qn?aAVsb4!rp{?eSiMeo_uerllp*#h33@XK2dL%*lPrT?rVSJ!uH{%BkHhgz~T zbyB^iaivw{eh`$X)0BGua!-&Cfhkqcn}bUNY}VSwHhUMnA@U%400Pkff$p|8-CC&N zQH;FJx!c-F%_QUo!kZ!H*`3=9z{7_h`&CY_B^Y1LnB$J4}-OoD!+yP)Q37HfB z@$Dxq{F7>hdcrqUcxoOASiaX|iVeS8!8~)0e*&TIz@V%-m_{8#85;DzvEEr_!f|d+L^-!Uv zT%hY|e-u$6bJWqI@ECJCRUYWAW9a_qr45XM)}Ro)_>R|yMe=?ahKcLKz| z=-&Rs+|B*Dnj5`})?&_yLp^y}fBy({2;|dU+qd!%rxOhhl3!j9w2CM>iU&H66_-aE z9x|@Pf+(#Cl7usCfiyScg?F0xjSva{99MHbpk!dHa- zKCr(M10{=RO(dJ6H14`h&u@x+39;Zn( zuP7(Z(M5UhDj1sf=2$S+02zcx1QP4}R>MEVQ&I^xyn8o{`6i*{bTk9V_dZw)Wf3%x z+#XWzT?r|aZ|0h|Zt9X*zv9PH<`QTr_lYgQo+BPvh;(2f7}#ahb=y6WUci0?gJDu! zj=c){EJx?-KWPlg&YriwKfXHZtdmToTN2h(Y>$#rws$CS zD@YECV@^JtK6d%6fcxDbo@KV~E^gSpiMR;qW+w>!4eQl@%;fJ)9yi6=pIlDfyxZ-# zmCJgHvNBs!xrf%jKbs)E?Mx-ORlPtv;R^lvazlyO^xzrxaI9<*U7>PWMlYRbZD#vu z8$82zoVIQpmWAhfh9V5eNmbrLKvUE;`gkmjyMa+Hwf}WLiOT;)hgP z`)Jr6b({`z*)Mna9lVp)GS`0}FDGI=oG%(CY$_zF|KP!XOww1d7YWH@Z)_jF& zmTos~au><|Bf*S>sPYCT10kgw2Vk({KvYux?v#Xb8rUxEc795|E^rE>`1}*l%hPqV zyQv5uWopI{qs}0H+UpLpbuTt?wb@@j_|D&Pvb*{_g}SCfYKYIxyQ)4pG_hXUY&k^m zZ*&?uOTRaw&auM*R1AS~pvn+s-K2&`gswK>_i8S&;1fdbiI*8lyoXDtW4RycyjDYx z`m4{Q_viZD#q}-BA8+f;PPk$`?`kyEF+RsE$}F3m2iGYPt5hx+o0C7|l`bs#vpfnN!)fDY9Iqi+2MRq%39J>EELaRb&-i1Gpzlx=RuDR1ijOCG#>wC-dy9RH zJP_zZhf-EbY(WgxgjVN22!qz_RWON_TtGWOGP6HqPi}5tFT)XryMz!*)-K`<`ONo%PdGTr?nH_i2X8{~ILBLu|p z-Cfl7er8oPNt7!&W_$#s1Vc#{1_k})LkRq+-SSTA?^jU%RV3s*zttg|`v)Y;tW@ln zrFefto+%9ds^0qX=fJ$KV;upS6Jl_LkQ5%k6p#5&4IIo_uz4O*EgOVt`Yxbs)n7T$ zY=D$(Qgj|Brd+ngxqb7#{tiJ<)j_5DCIcMo2Etz>>FoMQ6h|kImLH};dfmyrtZtwFEg_FDxmWGXIJ_FdM-+H9#O!g{&JA@DSq zDs(t%n4gO{;;Gy<9o_qirLM?qGL|?2N^qMH#4CjtlrF4j3w`a8X$Atsa6)`w8zmO- zGz`=OLEZMgv%6B>&Sa@_>}sQNNzUcnX2&zUQMsvMN*)Tb%urO-!Kh2KJ6gS^EK8@s zSvZBD7Hcch>@9dKTZg5hO*UE)pTFFR;`rXno7Y}mj@+4#Jhx{Zx5v>1u`sj@D#*eE zf3qR5f6V0)=MO8+_5Le3$GTl>0SDd2IH$xTKo<}BlRaGctHuJZbNy6k?-~I^CuUoR z!dQ)L&)NNN5&}8hD4WgN((OoxY*Gejflx|g7hDquHijmO(&IzGu7?Yx!Y($@^0R=A z9-2N1mBl&?Us#r_K){nY^c%>r!Jri)iGNiA72_S^I1H?;00WDB6tSg%1Y=-KQCPaf z*;H7hYHPcrcyJV6+OoCzerdIU$EY(9|7TZA5l7WNaZ)^Je{}{CIC)#qmP9Q_ylX9u z+a@bD!xUnGDoMdKq{cCq0#mjaveqde^wGKs@>Y>xWDGbMq!$Z7B?*2F_zTzXx8$Ah z4g5{l2ldmKGp!FBqv#vlM+qu|IUXU~Bz#wD9fvg;HS9px3;oLfu6}Vx!sfB48Ou4h z^UbUC)y*WeKu3lq{f7~AnMpm#0ZU!^omlEC9uP5*WaZ(GK~Y2<&q`v0Xm>lXU;~B& zp=?AS5+p+OlP*^?w%YY%`nv1V_yb-vNiDM7iX6s z*;K6}bpjFwnc%N!?ZME)SJrsujM0Y4z@jc%wgP6yopm3e$=Yfps;$!>lCcPP0sVdu zEg|q7--If33zDta@R#GUEUub9s(yn5Kg-~Ip!O<6FIh8OYEJ+Tie|seuXG)BNe_v6 zJqEvpCXjOJ@)<|GukW<4i(-vPGE7h+KJfdblcggSeoKgRp9qWxL?<+s^yb>uL$$Q2 z(!$eW;=85i9ZalrB4D*|9(@y&L$nSl^2%`+ii33w{+D%Gd`)srg;(7`f(UU?ner~{ zK2vlDWT*A=YP#&w@yA(;vzIuE3n{S^AZYU+6p^bw&2b^-xL=4(s$i29#2ZO{-vMdH zn+%JDAm@2wo|ID_yN|zk{7&9(@*j7q%ppB?~)pd~jY4${E z?4?ymDhQ*{*ChnU{Gy1z^-#xpLzeLpg#H61g9w{NWe3rXdP$w(sHx{Utk=HKYq5EZjmbpvJ&zqm+HPVb zY(btZ_p+aES=Q%!vUE7f!|+-NLp)P<+dZDi;J390QQ(FJ+TIU_(c%y;a>p{rESMqe5Z^e=tyGOR--;hd4sR)!>VqbyAzHitp-OKG%IDt6v9F)S=cwqs&y= zBl_VJRAIbqbMm~LtLJwUbACK+%i~&U@8&CNWMKF-+aRK;IrwSF?T zJ8QdrF8-=W;KONNobq~@QhfGiOMMXfz4{Z5QunFw_~Ys($4L%J4pF@xx<~G<(WA#8 z=S5C|qpt?Xoat`n`r7|0nl^qkp`_pZe@hpXg4FAX9u8=gm}>KKW!*n@ zxSriOXpR+Uaux3$U^zn5ldv*iub}9gBh4rQ%c4=0A$@}3;u(`wM693=t9H$746Z35 zM}SkPxKZ>4#Kj2UkcPl1lQ<*MaukMKxJHieJ5nqlREBALPtSGzEBi&~Y<~uGsvixb zYYjI_s*gf~WPDNy?eV zOl+o~Pn%G|C=-wr87jb8qR^kC*VRKTB?Wah6`44^=)Ip+*UYf`ad)<BnP&}5cfGInBiCI__1Oi*zGelFv;zCt3bv)2>z}Z4xGlRchRp5 z=NFQp*oc^DekNu#pRd&9A;0HQU1PdZKfP#$=8lVVRmCC)Ls>$cYq9hfuY1`uc7+X~ zXh93uU9`{JCJn8F#6CvJ(iX9O2XeZ~(|gf5(nQ;HHLE@?SV7md8yhjRF37M=19ULb zGQ{U|p+rC{eCccXmeQw@=3-!bt)rViSv6CzC-`tju(7hEV&dy!VlE-lB!-3#I@f)p zR$WAuLwJGyL1Nmln#SX<75|LycBU;G-|`QaQo2{QbLske_1h1viRTwR%CXX$?nO~DxM&*$0i{u)oA zTYuX6K0!&qD`?toG+0e;j^w5LjE~dMDXO0Ja0%ZTaSzqnXuq0`4Y#R z$o+$z`*z487G?c0R-+S1tMfQ)JPXDe`c9+N1#O&a)m(_%<^smXZUuF5U z)G7+$)^czq0krD^dSmJPb7a(Hcd9&N{`0WOLP0QRcEnx94*xW_^4s_RPnB_b7 z*9z1c zfCJ2dk$~#iN4Z(2Ciat6^g}KnLwmVlm*Bj@ORD$yq4}?ICe|Y`KLgG^2ofP6dIAiC zz{NOs;>)aeS{s2vAnEOC$zDo8&2d{8MiNJewY*KF1CeILM_-wz-7t^c^CWlDWe2rt zmtCBR1cmSpy_;1b=tX-sFnF?IZZ`Qi{)#kO*kk5kk7Cd zhSCD_D~SVZl(x(&eF(#+Ai^`y$A& zmKfR-+OuG-D&&>1a+%xxXJ)deucH(r^$SzNlZyOf5CBb;*)lR3aYO-0(zW%;uyLmG zBofllQ*lML5}9j6T>&x^q+JtYm)v~p=B8?Ikn-%5@%W7wJU0@4=OkcQ%Gmx@N_nD$ zj1mE0z>viFWp)xWz}gUKUML}p=~JvRw5{Kc4QkhC9M71Q_Z!mcCeW!BTXDw9SI)3o z)1a7?^b1>AOryd0wSf9pT96blg0$D*nh2!dYy$oxJIeii98~e)MwIt&>As_V;rx8w zBGkv)UeD{Xbk{QKax2WL$xneY2*A@c1TBbYFrT~i!b)n>UPfs%2{RFROxvvRMnS)= zxSWn$b8qffal1UX79GXQt(Px2|5<20vCGrqb5g&pPt$!|HBQ} z9(Xeq4duArP2guXU+Q#mEzb^)^(81!D0(M195%72s0Dw?mh(#6v;T24GE?;uGQQ2*o7pI=7?ZUxqZ|wwW>!NSY&V41Xf7M&-imyF~Ql6ACt}V~s51?*6O@16%mQLeq zdM*x&#a8vwuv>pTvOt>n9(`%@`OclPoLTo40bNqy3?xA`1^|osaDe&$=YYb;%9J&* z@Wd%D(qz0+L!jwd%hqUjv=ciCMas@l9bgm&)b~CU(v+#8#Q91 z(PkMI{qmk7nZl~h%%sYQ`tN-o(_V`ZK5mjy_7VHMZ; zJkzxY$~2nAcE_@SM!JbIP#Lq7{-*S&39OepNxMpsP|23>9LZzS{*#~@sDs)ESVXKY zC^GMbi5w~8C&CdY7uej_Z0*18h_4eneb;9b&rUFT#}F~mZap|uwd^4HV@B@b$x)6{ zUh}n5k(VM9%ygbF07?|`lHfjMJi9u7Ht?ZhiSuFe|A9DMlT_eW*$1v5G zAPb4hR~gw^-YO3K@B@GL9LT}l({O(H2o%5A;&vbazHt#q5(38l%z|Jjd|_ApIR$aE z6hY9B7^%G$vtwoEC>`aSm!bm+U4nF549v9arpRPwWEUzFQOKgRa|Le9D1FGDA8`gj zt9^+fYQ&&LnsE=>3#+NNmuJ@}Q!b_*DKZEuoOt7~*kOmfdub9J!ii9s+`pQg-+cPW zhyzWSNP7r(F~mLzj#oR*-^~M%^f{yOS)A4m-b|ZZ`M#dEKKwuN0lV`7$Vssvb?9WA z3IaE~Je?ll{@H$7wku%?!OD={`_0of+by`_WBateKzQML_*OUSgi68);_hVkJ*4pk zH}wAf4kW6ZSPM=dO0m?brF;bg6k@Kn%b4^$Tqw?6?$$Nz=OgVE z(s_1XyTcUQUJm+pWg;jg~ZYII>kY26QHkEz6Eb$*!1$QbKA98EK1{~cn10s$O@fmjszRnC}s zHvi7O!E3#m@>Kok$^F*0-oR^}*<|edxzg~r#&c~J{@zqBZGq81OWWPJ)lgGrlL}GC zn@5Os@mO(`WOQUynW6Q)vD5YIjER3eIcmtpcQ3j5*Jb@)u^|r4)z{vsVdzjZzRdSa zK0BfBA>LtK&v(`o7pC|F6f_T%Ox&wq8ZQl5o*dZf|i55~5VHw819>Y`B2+|f59F|oZu0F<( z8f<*5$7=WFCkTAT2IfLwAOUs$A=xSo2@1C;fk==VN)Ady-Fk{?_}j3>=m+OA6$Rjk zZpaIMeHD3#AT@q=XUL373C8+udKW|@+4+a@lEM|54tulcbk8-G>B^|NDwxSDYPTx# zVm|NeH3#LL_d99xF;&)og~I$F*0zMx6XuE{qM_(T?0b$7074=(y&a|3(AO%t4_dp& zDzUq-d}LVHS7WT#XV&LPImd(-H=6Bnr6%6H%>*M&_zK(P>WusQ{X;4!9ctF-n&V^4 z?L}#t3(Yd^6%%q4R>M*#kmP$K4p9lr2SLchWN5(1e`K>3{|5__tH6G=Ql-7Tc=f`x zYYweJ>-Hd86!-SpFAgCX*Zr#DVp$?EEbO7$DDXWZxIrX|tmZ6;_}a ziY+X#r6>u74haiKW{r`Q{sS282xvtdFH9k3vD@ptK*JEVp2)RcdVl$MZB$R?TtaSM zzALRGJ~%zMe4g!#7;GuR+gh1#Hc*WnMxNazh-51yTPp>x67lNHWk2kVG0uODmy@d#L{uhmS=cE;J@z zJf4njddBTw&lPeDrD-_*yPm7KZ#=?`PX$M-FUmqJXiV}bE*O!kTo7Ykv5%_93uZu5 z&z)+EqwT!fq2Jv3?>e~o3BIw44~amru@||8STZuB;!k;!2#RWRZ=0ruy0kQWA~>IX zkB|~~d7+dll-GQEVae|hj86yA>S?G@zv>{N-=W9E69y{)>7XIFN<6lLjsg-5LfAog zC4ACAloVrSRwAbRW`$IHz~Pm2Ydf=!scX}{-td_h@4)11cgAMsY@Owfcf`tW-{nf!qv-b6 zh{Osh5^MY|`R|W2Yxyf2^j=e6hp&fILk4c2lf+mCK99E`hHPHv+i@B-o70x(Vp&Jr z1oq8)v2$D+VY#20>=wrOFsajYEU$1G(xNl3@hjnG{%^74Cnv60oz=Bp01Yl%i(3sf zU$29>GetIX)#A}^s&qX(o?sAUip69wQ=$5v5+ukBZV~3(3JAfk8D>K>4Lo8tS444t zdPVBZZX46}F7Iqxo2!@IT$k3@NtUrs7^z$2?N* zxeoF`56{KyX%%5zySarrVZ$>w(h7s_ue}SAxt7oT$*6J!8%Cot;i&S+?_J1a?T?0I zpVvgn/hhBSf((-qj$|fwxwM(Yy{f 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

    Bw`)i#19&!~q}ql27g;v-Mf)7S0q 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 h$MK058siE=>@Ko#1 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

    yIyH^Gvr&gbv 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 mbiGgO8dTH#UdT)%&$MF_kpE~v|=NF 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 HjDr3TS+MPT literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index ea387b3139..47ccc5acf4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -5,14 +5,12 @@ import android.content.Intent; import android.view.View; -import org.json.JSONObject; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CoreHivProfileActivity; import org.smartregister.chw.core.activity.CoreHivUpcomingServicesActivity; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.interactor.CoreHivProfileInteractor; -import org.smartregister.chw.core.presenter.CoreFamilyPlanningProfilePresenter; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.hiv.activity.BaseHivRegistrationFormsActivity; import org.smartregister.chw.hiv.domain.HivMemberObject; @@ -21,7 +19,6 @@ import org.smartregister.chw.presenter.HivProfilePresenter; import org.smartregister.chw.tb.util.Constants; import org.smartregister.family.util.JsonFormUtils; -import org.smartregister.family.util.Utils; import java.util.ArrayList; import java.util.List; @@ -48,7 +45,7 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); - activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); + activity.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); } @Override @@ -99,17 +96,11 @@ public void notifyHasPhone(boolean b) { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (requestCode == JsonFormUtils.REQUEST_CODE_GET_JSON) { - try { - String jsonString = data.getStringExtra(org.smartregister.family.util.Constants.JSON_FORM_EXTRA.JSON); - JSONObject form = new JSONObject(jsonString); - if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(CoreConstants.EventType.FAMILY_PLANNING_REFERRAL)) { - ((CoreFamilyPlanningProfilePresenter) getHivProfilePresenter()).createReferralEvent(Utils.getAllSharedPreferences(), jsonString); - showToast(this.getString(R.string.referral_submitted)); - } - } catch (Exception ex) { - Timber.e(ex); - } + if (requestCode == CoreConstants.ProfileActivityResults.CHANGE_COMPLETED && resultCode == Activity.RESULT_OK) { + Intent intent = new Intent(this, HivRegisterActivity.class); + intent.putExtras(getIntent().getExtras()); + startActivity(intent); + finish(); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index b0699dfcd8..10e4e5d7ff 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -5,14 +5,12 @@ import android.content.Intent; import android.view.View; -import org.json.JSONObject; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CoreTbProfileActivity; import org.smartregister.chw.core.activity.CoreTbUpcomingServicesActivity; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.interactor.CoreTbProfileInteractor; -import org.smartregister.chw.core.presenter.CoreFamilyPlanningProfilePresenter; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.TbProfilePresenter; @@ -20,8 +18,6 @@ import org.smartregister.chw.tb.domain.TbMemberObject; import org.smartregister.chw.tb.util.Constants; import org.smartregister.chw.tb.util.TbUtil; -import org.smartregister.family.util.JsonFormUtils; -import org.smartregister.family.util.Utils; import java.util.ArrayList; import java.util.List; @@ -48,7 +44,7 @@ public static void startTbFollowupActivity(Activity activity, String baseEntityI intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); - activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); + activity.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); } @Override @@ -111,17 +107,12 @@ public void notifyHasPhone(boolean b) { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (requestCode == JsonFormUtils.REQUEST_CODE_GET_JSON) { - try { - String jsonString = data.getStringExtra(org.smartregister.family.util.Constants.JSON_FORM_EXTRA.JSON); - JSONObject form = new JSONObject(jsonString); - if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(CoreConstants.EventType.FAMILY_PLANNING_REFERRAL)) { - ((CoreFamilyPlanningProfilePresenter) getTbProfilePresenter()).createReferralEvent(Utils.getAllSharedPreferences(), jsonString); - showToast(this.getString(R.string.referral_submitted)); - } - } catch (Exception ex) { - Timber.e(ex); - } + if (requestCode == CoreConstants.ProfileActivityResults.CHANGE_COMPLETED && resultCode == Activity.RESULT_OK) { + Intent intent = new Intent(this, TbRegisterActivity.class); + intent.putExtras(getIntent().getExtras()); + startActivity(intent); + finish(); + } } @@ -194,5 +185,7 @@ private void addFpReferralTypes() { public List getReferralTypeModels() { return referralTypeModels; } + + } From 891228ba4ebde8250bff75e36ecc43013322dddd Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 26 May 2020 10:52:43 +0300 Subject: [PATCH 041/915] Code cleaning --- .../java/org/smartregister/chw/activity/HivProfileActivity.java | 1 - 1 file changed, 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 47ccc5acf4..abd2bf7245 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -18,7 +18,6 @@ import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.HivProfilePresenter; import org.smartregister.chw.tb.util.Constants; -import org.smartregister.family.util.JsonFormUtils; import java.util.ArrayList; import java.util.List; From 432c1298d5e94c63b4ba1914e522bbeafdcba556 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 26 May 2020 12:14:47 +0300 Subject: [PATCH 042/915] Minor bugs fix --- .../org/smartregister/chw/fragment/HivRegisterFragment.java | 4 ++-- .../org/smartregister/chw/fragment/TbRegisterFragment.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index 5fd7d3116a..96743a117c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -2,13 +2,13 @@ import org.jetbrains.annotations.Nullable; import org.smartregister.chw.activity.HivProfileActivity; +import org.smartregister.chw.activity.HivRegisterActivity; import org.smartregister.chw.core.fragment.CoreHivRegisterFragment; import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.domain.HivMemberObject; import org.smartregister.chw.model.HivRegisterFragmentModel; import org.smartregister.chw.presenter.HivRegisterFragmentPresenter; import org.smartregister.commonregistry.CommonPersonObjectClient; -import org.smartregister.view.activity.BaseRegisterActivity; import java.util.Objects; @@ -22,7 +22,7 @@ protected void initializePresenter() { } String viewConfigurationIdentifier = null; try { - viewConfigurationIdentifier = ((BaseRegisterActivity) getActivity()).getViewIdentifiers().get(0); + viewConfigurationIdentifier = ((HivRegisterActivity) getActivity()).getViewIdentifiers().get(0); } catch (NullPointerException e) { Timber.e(e); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java index c9478e8adb..ea57b36f88 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java @@ -3,13 +3,13 @@ import androidx.annotation.Nullable; import org.smartregister.chw.activity.TbProfileActivity; +import org.smartregister.chw.activity.TbRegisterActivity; import org.smartregister.chw.core.fragment.CoreTbRegisterFragment; import org.smartregister.chw.model.TbRegisterFragmentModel; import org.smartregister.chw.presenter.TbRegisterFragmentPresenter; import org.smartregister.chw.tb.dao.TbDao; import org.smartregister.chw.tb.domain.TbMemberObject; import org.smartregister.commonregistry.CommonPersonObjectClient; -import org.smartregister.view.activity.BaseRegisterActivity; import java.util.Objects; @@ -24,7 +24,7 @@ protected void initializePresenter() { } String viewConfigurationIdentifier = null; try { - viewConfigurationIdentifier = ((BaseRegisterActivity) getActivity()).getViewIdentifiers().get(0); + viewConfigurationIdentifier = ((TbRegisterActivity) getActivity()).getViewIdentifiers().get(0); } catch (NullPointerException e) { Timber.e(e); } From 874d4d01790fbc2a58f0ab4b1f457f0729f2a504 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 26 May 2020 14:43:02 +0300 Subject: [PATCH 043/915] Implemented TB and HIV profiles fab floating menus --- .../chw/activity/HivProfileActivity.java | 49 +++++++++++++++-- .../chw/activity/TbProfileActivity.java | 52 ++++++++++++++++--- .../chw/custom_view/HivFloatingMenu.java | 12 +++++ .../chw/custom_view/TbFloatingMenu.java | 10 ++-- 4 files changed, 107 insertions(+), 16 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/custom_view/HivFloatingMenu.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index abd2bf7245..44c4cd3d88 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -3,15 +3,20 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.view.Gravity; import android.view.View; +import android.widget.LinearLayout; +import org.apache.commons.lang3.StringUtils; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CoreHivProfileActivity; import org.smartregister.chw.core.activity.CoreHivUpcomingServicesActivity; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.interactor.CoreHivProfileInteractor; +import org.smartregister.chw.core.listener.OnClickFloatingMenu; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.custom_view.HivFloatingMenu; import org.smartregister.chw.hiv.activity.BaseHivRegistrationFormsActivity; import org.smartregister.chw.hiv.domain.HivMemberObject; import org.smartregister.chw.hiv.util.HivUtil; @@ -50,7 +55,7 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity @Override protected void onCreation() { super.onCreation(); - addFpReferralTypes(); + addHivReferralTypes(); } @Override @@ -68,11 +73,18 @@ protected void initializePresenter() { fetchProfileData(); } + private void checkPhoneNumberProvided() { + boolean phoneNumberAvailable = (StringUtils.isNotBlank(getHivMemberObject().getPhoneNumber()) + || StringUtils.isNotBlank(getHivMemberObject().getPrimaryCareGiverPhoneNumber())); + + ((HivFloatingMenu) getHivFloatingMenu()).redraw(phoneNumberAvailable); + } + @Override public void onClick(View view) { super.onClick(view); int id = view.getId(); - if (id == R.id.record_tb_followup_visit) { + if (id == R.id.record_hiv_followup_visit) { openFollowUpVisitForm(false); } } @@ -155,7 +167,7 @@ public void openFollowUpVisitForm(boolean isEdit) { startHivFollowupActivity(this, getHivMemberObject().getBaseEntityId()); } - private void addFpReferralTypes() { + private void addHivReferralTypes() { if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.hiv_referral), CoreConstants.JSON_FORM.getHivReferralForm())); @@ -172,5 +184,36 @@ private void addFpReferralTypes() { public List getReferralTypeModels() { return referralTypeModels; } + + @Override + public void initializeCallFAB() { + setHivFloatingMenu(new HivFloatingMenu(this, getHivMemberObject())); + + OnClickFloatingMenu onClickFloatingMenu = viewId -> { + switch (viewId) { + case R.id.hiv_fab: + checkPhoneNumberProvided(); + ((HivFloatingMenu) getHivFloatingMenu()).animateFAB(); + break; + case R.id.call_layout: + ((HivFloatingMenu) getHivFloatingMenu()).launchCallWidget(); + ((HivFloatingMenu) getHivFloatingMenu()).animateFAB(); + break; + case R.id.refer_to_facility_layout: + ((HivProfilePresenter) getHivProfilePresenter()).referToFacility(); + break; + default: + Timber.d("Unknown fab action"); + break; + } + + }; + + ((HivFloatingMenu) getHivFloatingMenu()).setFloatMenuClickListener(onClickFloatingMenu); + getHivFloatingMenu().setGravity(Gravity.BOTTOM | Gravity.END); + LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.MATCH_PARENT); + addContentView(getHivFloatingMenu(), linearLayoutParams); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index 10e4e5d7ff..d2d46a119c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -3,15 +3,20 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.view.Gravity; import android.view.View; +import android.widget.LinearLayout; +import org.apache.commons.lang3.StringUtils; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CoreTbProfileActivity; import org.smartregister.chw.core.activity.CoreTbUpcomingServicesActivity; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.interactor.CoreTbProfileInteractor; +import org.smartregister.chw.core.listener.OnClickFloatingMenu; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.custom_view.TbFloatingMenu; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.TbProfilePresenter; import org.smartregister.chw.tb.activity.BaseTbRegistrationFormsActivity; @@ -50,7 +55,7 @@ public static void startTbFollowupActivity(Activity activity, String baseEntityI @Override protected void onCreation() { super.onCreation(); - addFpReferralTypes(); + addTbReferralTypes(); } @Override @@ -73,12 +78,12 @@ protected void initializePresenter() { fetchProfileData(); } -// private void checkPhoneNumberProvided() { -// boolean phoneNumberAvailable = (StringUtils.isNotBlank(getTbMemberObject().getPhoneNumber()) -// || StringUtils.isNotBlank(getTbMemberObject().getFamilyHeadPhoneNumber())); -// -//// ((FamilyPlanningFloatingMenu) fpFloatingMenu).redraw(phoneNumberAvailable); -// } + private void checkPhoneNumberProvided() { + boolean phoneNumberAvailable = (StringUtils.isNotBlank(getTbMemberObject().getPhoneNumber()) + || StringUtils.isNotBlank(getTbMemberObject().getPrimaryCareGiverPhoneNumber())); + + ((TbFloatingMenu) getTbFloatingMenu()).redraw(phoneNumberAvailable); + } @Override public void onClick(View view) { @@ -168,7 +173,7 @@ public void openFollowUpVisitForm(boolean isEdit) { startTbFollowupActivity(this, getTbMemberObject().getBaseEntityId()); } - private void addFpReferralTypes() { + private void addTbReferralTypes() { if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.hiv_referral), CoreConstants.JSON_FORM.getHivReferralForm())); @@ -186,6 +191,37 @@ public List getReferralTypeModels() { return referralTypeModels; } + @Override + public void initializeCallFAB() { + setTbFloatingMenu(new TbFloatingMenu(this, getTbMemberObject())); + + OnClickFloatingMenu onClickFloatingMenu = viewId -> { + switch (viewId) { + case R.id.tb_fab: + checkPhoneNumberProvided(); + ((TbFloatingMenu) getTbFloatingMenu()).animateFAB(); + break; + case R.id.call_layout: + ((TbFloatingMenu) getTbFloatingMenu()).launchCallWidget(); + ((TbFloatingMenu) getTbFloatingMenu()).animateFAB(); + break; + case R.id.refer_to_facility_layout: + ((TbProfilePresenter) getTbProfilePresenter()).referToFacility(); + break; + default: + Timber.d("Unknown fab action"); + break; + } + + }; + + ((TbFloatingMenu) getTbFloatingMenu()).setFloatMenuClickListener(onClickFloatingMenu); + getTbFloatingMenu().setGravity(Gravity.BOTTOM | Gravity.END); + LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.MATCH_PARENT); + addContentView(getTbFloatingMenu(), linearLayoutParams); + } + } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/HivFloatingMenu.java b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/HivFloatingMenu.java new file mode 100644 index 0000000000..eedc31347b --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/HivFloatingMenu.java @@ -0,0 +1,12 @@ +package org.smartregister.chw.custom_view; + +import android.content.Context; + +import org.smartregister.chw.core.custom_views.CoreHivFloatingMenu; +import org.smartregister.chw.hiv.domain.HivMemberObject; + +public class HivFloatingMenu extends CoreHivFloatingMenu { + public HivFloatingMenu(Context context, HivMemberObject hivMemberObject) { + super(context, hivMemberObject); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/TbFloatingMenu.java b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/TbFloatingMenu.java index 87e773f9ef..c49bd32cd1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/TbFloatingMenu.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/TbFloatingMenu.java @@ -2,11 +2,11 @@ import android.content.Context; -import org.smartregister.chw.core.custom_views.CoreFamilyPlanningFloatingMenu; -import org.smartregister.chw.fp.domain.FpMemberObject; +import org.smartregister.chw.core.custom_views.CoreTbFloatingMenu; +import org.smartregister.chw.tb.domain.TbMemberObject; -public class TbFloatingMenu extends CoreFamilyPlanningFloatingMenu { - public TbFloatingMenu(Context context, FpMemberObject fpMemberObject) { - super(context, fpMemberObject); +public class TbFloatingMenu extends CoreTbFloatingMenu { + public TbFloatingMenu(Context context, TbMemberObject tbMemberObject) { + super(context, tbMemberObject); } } From e38ddc99b070b324606fdce9dd230914f7a0be29 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 26 May 2020 14:45:53 +0300 Subject: [PATCH 044/915] Code cleaning --- .../src/main/java/org/smartregister/chw/dao/ScheduleDao.java | 3 --- .../org/smartregister/chw/service/SchedulesIntentService.java | 2 -- 2 files changed, 5 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java index ed98942271..2a1390bf43 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java @@ -56,7 +56,6 @@ public class ScheduleDao extends AbstractDao { String sql = "select base_entity_id from ec_hiv_register where is_closed = 0 and base_entity_id not in " + "(select base_entity_id from schedule_service where schedule_name = '" + scheduleName + "' and schedule_group_name = '" + scheduleGroup + "')"; - Timber.e("Coze :: HIV = "+sql); DataMap dataMap = c -> getCursorValue(c, "base_entity_id"); return AbstractDao.readData(sql, dataMap); } @@ -65,8 +64,6 @@ public class ScheduleDao extends AbstractDao { String sql = "select base_entity_id from ec_tb_register where is_closed = 0 and base_entity_id not in " + "(select base_entity_id from schedule_service where schedule_name = '" + scheduleName + "' and schedule_group_name = '" + scheduleGroup + "')"; - - Timber.e("Coze :: TB = "+sql); DataMap dataMap = c -> getCursorValue(c, "base_entity_id"); return AbstractDao.readData(sql, dataMap); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/service/SchedulesIntentService.java b/opensrp-chw/src/main/java/org/smartregister/chw/service/SchedulesIntentService.java index 95736643c3..1f3e18480f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/service/SchedulesIntentService.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/service/SchedulesIntentService.java @@ -130,7 +130,6 @@ private void executeHivVisitSchedules() { Timber.v("Computing Hiv schedules"); ChwApplication.getInstance().getScheduleRepository().deleteSchedulesNotCreatedToday(CoreConstants.SCHEDULE_TYPES.HIV_VISIT, CoreConstants.SCHEDULE_GROUPS.HOME_VISIT); List baseEntityIDs = ScheduleDao.getActiveHivClients(CoreConstants.SCHEDULE_TYPES.HIV_VISIT, CoreConstants.SCHEDULE_GROUPS.HOME_VISIT); - Timber.e("Coze :: Hiv ids "+new Gson().toJson(baseEntityIDs)); if (baseEntityIDs == null) return; for (String baseID : baseEntityIDs) { @@ -142,7 +141,6 @@ private void executeTbVisitSchedules() { Timber.v("Computing Tb schedules"); ChwApplication.getInstance().getScheduleRepository().deleteSchedulesNotCreatedToday(CoreConstants.SCHEDULE_TYPES.TB_VISIT, CoreConstants.SCHEDULE_GROUPS.HOME_VISIT); List baseEntityIDs = ScheduleDao.getActiveTbClients(CoreConstants.SCHEDULE_TYPES.TB_VISIT, CoreConstants.SCHEDULE_GROUPS.HOME_VISIT); - Timber.e("Coze :: Hiv Tb "+new Gson().toJson(baseEntityIDs)); if (baseEntityIDs == null) return; for (String baseID : baseEntityIDs) { From a049064a8bdede0555f26620ec1bb640e92cc2f6 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 26 May 2020 15:04:54 +0300 Subject: [PATCH 045/915] Updated referral types for various registers by moving hiv and tb referral types to their respective register profiles --- .../chw/activity/AncMemberProfileActivity.java | 6 ------ .../chw/activity/FamilyPlanningMemberProfileActivity.java | 6 ------ .../org/smartregister/chw/activity/HivProfileActivity.java | 3 --- .../chw/activity/PncMemberProfileActivity.java | 6 ------ .../org/smartregister/chw/activity/TbProfileActivity.java | 3 --- .../src/main/java/org/smartregister/chw/util/Utils.java | 6 ------ 6 files changed, 30 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index 7000d67d83..daccb5f100 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -129,12 +129,6 @@ private void addAncReferralTypes() { BuildConfig.USE_UNIFIED_REFERRAL_APPROACH ? org.smartregister.chw.util.Constants.JSON_FORM.getAncUnifiedReferralForm() : org.smartregister.chw.util.Constants.JSON_FORM.getAncReferralForm())); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { - referralTypeModels.add(new ReferralTypeModel(getString(R.string.hiv_referral), - org.smartregister.chw.util.Constants.JSON_FORM.getHivReferralForm())); - - referralTypeModels.add(new ReferralTypeModel(getString(R.string.tb_referral), - org.smartregister.chw.util.Constants.JSON_FORM.getTbReferralForm())); - referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), org.smartregister.chw.util.Constants.JSON_FORM.getGbvReferralForm())); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyPlanningMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyPlanningMemberProfileActivity.java index 325cd0d50b..fff5e77657 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyPlanningMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyPlanningMemberProfileActivity.java @@ -204,12 +204,6 @@ private void addFpReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.family_planning_referral), org.smartregister.chw.util.Constants.JSON_FORM.getFamilyPlanningReferralForm(fpMemberObject.getGender()))); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { - referralTypeModels.add(new ReferralTypeModel(getString(R.string.hiv_referral), - org.smartregister.chw.util.Constants.JSON_FORM.getHivReferralForm())); - - referralTypeModels.add(new ReferralTypeModel(getString(R.string.tb_referral), - org.smartregister.chw.util.Constants.JSON_FORM.getTbReferralForm())); - referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), org.smartregister.chw.util.Constants.JSON_FORM.getGbvReferralForm())); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 44c4cd3d88..3a52a7f859 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -172,9 +172,6 @@ private void addHivReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.hiv_referral), CoreConstants.JSON_FORM.getHivReferralForm())); - referralTypeModels.add(new ReferralTypeModel(getString(R.string.tb_referral), - CoreConstants.JSON_FORM.getTbReferralForm())); - referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), CoreConstants.JSON_FORM.getGbvReferralForm())); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index 5ac16bbeca..bf3cd90679 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -360,12 +360,6 @@ private void addPncReferralTypes() { } if(BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { - referralTypeModels.add(new ReferralTypeModel(getString(R.string.hiv_referral), - org.smartregister.chw.util.Constants.JSON_FORM.getHivReferralForm())); - - referralTypeModels.add(new ReferralTypeModel(getString(R.string.tb_referral), - org.smartregister.chw.util.Constants.JSON_FORM.getTbReferralForm())); - referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), org.smartregister.chw.util.Constants.JSON_FORM.getGbvReferralForm())); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index d2d46a119c..58e7b969b5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -175,9 +175,6 @@ public void openFollowUpVisitForm(boolean isEdit) { private void addTbReferralTypes() { if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { - referralTypeModels.add(new ReferralTypeModel(getString(R.string.hiv_referral), - CoreConstants.JSON_FORM.getHivReferralForm())); - referralTypeModels.add(new ReferralTypeModel(getString(R.string.tb_referral), CoreConstants.JSON_FORM.getTbReferralForm())); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java index 6dea7b5fe9..4588c0da0f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java @@ -38,12 +38,6 @@ public static void launchClientReferralActivity(Activity activity, List getCommonReferralTypes(Activity activity) { List referralTypeModels = new ArrayList<>(); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { - referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.hiv_referral), - Constants.JSON_FORM.getHivReferralForm())); - - referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.tb_referral), - Constants.JSON_FORM.getTbReferralForm())); - referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.gbv_referral), Constants.JSON_FORM.getGbvReferralForm())); } From 8a7079b4e5f995681c66a3a536f75add6a851dce Mon Sep 17 00:00:00 2001 From: cozej4 Date: Wed, 27 May 2020 08:16:10 +0300 Subject: [PATCH 046/915] Implemented TB case closure forms --- .../ba/assets/json.form/tb_case_closure.json | 159 ++++++++++++++++++ .../assets/rule/hiv_followup_form_rules.yml | 8 + .../rule/tb_case_closure_form_rules.yml | 14 ++ .../chw/activity/TbProfileActivity.java | 4 +- .../chw/activity/TbRegisterActivity.java | 8 + 5 files changed, 191 insertions(+), 2 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form/tb_case_closure.json create mode 100644 opensrp-chw/src/ba/assets/rule/tb_case_closure_form_rules.yml diff --git a/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json b/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json new file mode 100644 index 0000000000..5b4e59e8f4 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json @@ -0,0 +1,159 @@ +{ + "form": "TB Case Closure form", + "count": "1", + "encounter_type": "TB Case Closure", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_case_closure_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "TB Close Case form", + "fields": [ + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Condition of the client" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Client does her daily activities", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Client takes care of him/herself (bathing, Eating)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Client is unable to take care of him/herself", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's condition", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "completed_medication_as_required", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_medication_as_required", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client completed medication as required " + }, + "options": [ + { + "name": "yes", + "text": "yes", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "yes", + "openmrs_entity_parent": "" + } + }, + { + "name": "no", + "text": "no", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:This question is required" + }, + { + "name": "tb_close_case_date", + "type": "hidden", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_close_case_date", + "openmrs_entity_parent": "" + }, + "required_status": "false" + }, + { + "name": "is_closed", + "type": "hidden", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "is_closed", + "openmrs_entity_parent": "" + }, + "required_status": "false" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml index 18a49ddffc..e9ceac1ba4 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml @@ -61,4 +61,12 @@ priority: 1 condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" actions: - "state_of_therapy_visibility = true" +--- +name: "hiv_followup_visit_date_calculation" +description: "hiv_followup_visit_date calculation" +priority: 1 +condition: "true" +actions: + - "import java.util.Calendar;" + - "hiv_followup_visit_date_calculation = Calendar.getInstance().getTimeInMillis()" diff --git a/opensrp-chw/src/ba/assets/rule/tb_case_closure_form_rules.yml b/opensrp-chw/src/ba/assets/rule/tb_case_closure_form_rules.yml new file mode 100644 index 0000000000..a3b2cdeb78 --- /dev/null +++ b/opensrp-chw/src/ba/assets/rule/tb_case_closure_form_rules.yml @@ -0,0 +1,14 @@ +--- +name: "community_gathering_visibility" +description: "Display community gathering types if community gathering is chosen" +priority: 1 +condition: "place_of_domicile.value=='Community Gathering'" +actions: + - "community_gathering_visibility = true" +--- +name: "other_community_gathering_visibility" +description: "Display other community gathering types if others is chosen" +priority: 1 +condition: "community_gathering.value == 'Others'" +actions: + - "other_community_gathering_visibility = true" \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index 58e7b969b5..f2b2660cdd 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -67,8 +67,8 @@ protected void removeMember() { } @Override - protected void startTbRegistrationActivity() { - TbRegisterActivity.startTbRegistrationActivity(this, getTbMemberObject().getBaseEntityId()); + protected void startTbCaseClosure() { + TbRegisterActivity.startTbCaseClosureActivity(this, getTbMemberObject().getBaseEntityId()); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java index 32fda4fc86..164ac45e99 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java @@ -40,7 +40,15 @@ public static void startTbRegistrationActivity(Activity activity, String baseEnt intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(Constants.JSON_FORM.getTbRegistration()).toString()); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.ACTION, org.smartregister.chw.tb.util.Constants.ActivityPayloadType.REGISTRATION); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT,false); + activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); + } + public static void startTbCaseClosureActivity(Activity activity, String baseEntityID) { + Intent intent = new Intent(activity, BaseTbRegistrationFormsActivity.class); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT,false); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(Constants.JSON_FORM.getTbCaseClosure()).toString()); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.ACTION, org.smartregister.chw.tb.util.Constants.ActivityPayloadType.REGISTRATION); activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); } From 1b721d388d20ffc9d95086fc2f42366cb88ee0a7 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Wed, 27 May 2020 13:53:47 +0300 Subject: [PATCH 047/915] Code refactoring --- .../src/ba/assets/ec_client_classification.json | 7 +++++++ opensrp-chw/src/ba/assets/ec_client_fields.json | 9 +++++++++ .../src/ba/assets/json.form/tb_case_closure.json | 14 ++------------ .../chw/activity/HivProfileActivity.java | 8 ++++++++ .../chw/activity/TbProfileActivity.java | 7 +++++++ .../org/smartregister/chw/dao/ScheduleDao.java | 2 +- .../chw/presenter/TbRegisterFragmentPresenter.java | 1 + 7 files changed, 35 insertions(+), 13 deletions(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 00006d9493..2253eeca50 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -297,6 +297,13 @@ "creates_case": [ "ec_tb_register" ] + }, + { + "field": "eventType", + "field_value": "TB Case Closure", + "creates_case": [ + "ec_tb_register" + ] } ] } diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 8400e072ce..04b23724ba 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2445,6 +2445,15 @@ "field": "obs.formSubmissionField", "concept": "tb_registration_date" } + }, + { + "column_name": "tb_case_closure_date", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "tb_case_closure_date" + } } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json b/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json index 5b4e59e8f4..27f7e5da75 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json @@ -134,21 +134,11 @@ "required_status": "yes:This question is required" }, { - "name": "tb_close_case_date", + "name": "tb_case_closure_date", "type": "hidden", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "tb_close_case_date", - "openmrs_entity_parent": "" - }, - "required_status": "false" - }, - { - "name": "is_closed", - "type": "hidden", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "is_closed", + "openmrs_entity_id": "tb_case_closure_date", "openmrs_entity_parent": "" }, "required_status": "false" diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 3a52a7f859..07fdbfbcde 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -15,16 +15,20 @@ import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.interactor.CoreHivProfileInteractor; import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.task.RunnableTask; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.custom_view.HivFloatingMenu; +import org.smartregister.chw.fp.util.FamilyPlanningConstants; import org.smartregister.chw.hiv.activity.BaseHivRegistrationFormsActivity; import org.smartregister.chw.hiv.domain.HivMemberObject; import org.smartregister.chw.hiv.util.HivUtil; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.HivProfilePresenter; +import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; import org.smartregister.chw.tb.util.Constants; import java.util.ArrayList; +import java.util.Date; import java.util.List; import timber.log.Timber; @@ -106,6 +110,10 @@ public void notifyHasPhone(boolean b) { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { + // recompute schedule + Runnable runnable = () -> ChwScheduleTaskExecutor.getInstance().execute(getHivMemberObject().getBaseEntityId(), org.smartregister.chw.hiv.util.Constants.EventType.FOLLOW_UP_VISIT, new Date()); + org.smartregister.chw.util.Utils.startAsyncTask(new RunnableTask(runnable), null); + super.onActivityResult(requestCode, resultCode, data); if (requestCode == CoreConstants.ProfileActivityResults.CHANGE_COMPLETED && resultCode == Activity.RESULT_OK) { Intent intent = new Intent(this, HivRegisterActivity.class); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index f2b2660cdd..102f1ba61a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -15,16 +15,19 @@ import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.interactor.CoreTbProfileInteractor; import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.task.RunnableTask; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.custom_view.TbFloatingMenu; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.TbProfilePresenter; +import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; import org.smartregister.chw.tb.activity.BaseTbRegistrationFormsActivity; import org.smartregister.chw.tb.domain.TbMemberObject; import org.smartregister.chw.tb.util.Constants; import org.smartregister.chw.tb.util.TbUtil; import java.util.ArrayList; +import java.util.Date; import java.util.List; import timber.log.Timber; @@ -111,6 +114,10 @@ public void notifyHasPhone(boolean b) { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { + // recompute schedule + Runnable runnable = () -> ChwScheduleTaskExecutor.getInstance().execute(getTbMemberObject().getBaseEntityId(), org.smartregister.chw.tb.util.Constants.EventType.FOLLOW_UP_VISIT, new Date()); + org.smartregister.chw.util.Utils.startAsyncTask(new RunnableTask(runnable), null); + super.onActivityResult(requestCode, resultCode, data); if (requestCode == CoreConstants.ProfileActivityResults.CHANGE_COMPLETED && resultCode == Activity.RESULT_OK) { Intent intent = new Intent(this, TbRegisterActivity.class); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java index 2a1390bf43..eab83a9357 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java @@ -61,7 +61,7 @@ public class ScheduleDao extends AbstractDao { } public static @Nullable List getActiveTbClients(String scheduleName, String scheduleGroup) { - String sql = "select base_entity_id from ec_tb_register where is_closed = 0 and base_entity_id not in " + + String sql = "select base_entity_id from ec_tb_register where is_closed = 0 and tb_case_closure_date is null and base_entity_id not in " + "(select base_entity_id from schedule_service where schedule_name = '" + scheduleName + "' and schedule_group_name = '" + scheduleGroup + "')"; DataMap dataMap = c -> getCursorValue(c, "base_entity_id"); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java index 73bc9af71e..a21322270f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java @@ -18,6 +18,7 @@ public TbRegisterFragmentPresenter(BaseTbRegisterFragmentContract.View view, Bas @NotNull public String getMainCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + + "AND " + Tables.TB + "." + DBConstants.Key.TB_CASE_CLOSURE_DATE + " is null " + "AND " + Tables.TB + "." + DBConstants.Key.IS_CLOSED + " = '0' "; } From 7004585ad216dfe9e36b616af2f9c20e27ad3a4f Mon Sep 17 00:00:00 2001 From: cozej4 Date: Wed, 27 May 2020 14:44:55 +0300 Subject: [PATCH 048/915] Migrated tb forms to comply with latest neat form libary --- .../ba/assets/json.form/tb_case_closure.json | 14 +++--------- .../assets/json.form/tb_followup_visit.json | 15 ++++--------- .../ba/assets/json.form/tb_registration.json | 21 +++++------------- .../rule/tb_case_closure_form_rules.yml | 9 +++++++- .../ba/assets/rule/tb_followup_form_rules.yml | 22 ++++++++++++------- .../rule/tb_registration_form_rules.yml | 11 ++++++++-- 6 files changed, 44 insertions(+), 48 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json b/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json index 27f7e5da75..62732c0fa2 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json @@ -98,7 +98,9 @@ } ], "required_status": "yes:Please specify client's condition", - "subjects": "registration_or_followup_status:text" + "dependent_calculations": [ + "tb_case_closure_date" + ] }, { "name": "completed_medication_as_required", @@ -132,16 +134,6 @@ } ], "required_status": "yes:This question is required" - }, - { - "name": "tb_case_closure_date", - "type": "hidden", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_case_closure_date", - "openmrs_entity_parent": "" - }, - "required_status": "false" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json index 0708e328d1..092ede1915 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json @@ -151,7 +151,10 @@ } } ], - "required_status": "yes:Please select the registration/followup status" + "required_status": "yes:Please select the registration/followup status", + "dependent_calculations": [ + "tb_followup_visit_date" + ] }, { "name": "client_condition", @@ -449,16 +452,6 @@ ], "required_status": "yes:Please specify the state of TB therapy", "subjects": "registration_or_followup_status:text" - }, - { - "name": "tb_followup_visit_date", - "type": "hidden", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_followup_visit_date", - "openmrs_entity_parent": "" - }, - "required_status": "false" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/tb_registration.json b/opensrp-chw/src/ba/assets/json.form/tb_registration.json index 7d04b27d0b..028196df3d 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_registration.json @@ -61,16 +61,17 @@ "name": "community_client_tb_registration_number", "type": "text_input_edit_text", "properties": { - "hint": "Community Based Health Services Registration Number (CBHS Number)", - "type": "name", - "padding": "8" + "hint": "Community Based Health Services Registration Number (CBHS Number)" }, "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "community_client_tb_registration_number", "openmrs_entity_parent": "" }, - "required_status": "yes:Please add cbhs number" + "required_status": "yes:Please add cbhs number", + "dependent_calculations": [ + "tb_registration_date" + ] }, { "name": "client_tb_status_during_registration", @@ -316,17 +317,7 @@ } } ], - "required_status": "yes:Please specify your gender" - }, - { - "name": "tb_registration_date", - "type": "hidden", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_registration_date", - "openmrs_entity_parent": "" - }, - "required_status": "false" + "required_status": "yes:Please specify clients screening results" } ] } diff --git a/opensrp-chw/src/ba/assets/rule/tb_case_closure_form_rules.yml b/opensrp-chw/src/ba/assets/rule/tb_case_closure_form_rules.yml index a3b2cdeb78..a0aaaddc10 100644 --- a/opensrp-chw/src/ba/assets/rule/tb_case_closure_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/tb_case_closure_form_rules.yml @@ -11,4 +11,11 @@ description: "Display other community gathering types if others is chosen" priority: 1 condition: "community_gathering.value == 'Others'" actions: - - "other_community_gathering_visibility = true" \ No newline at end of file + - "other_community_gathering_visibility = true" +--- +name: "tb_case_closure_date_calculation" +description: "calculating the case closure date" +priority: 1 +condition: "true" +actions: + - "tb_case_closure_date_calculation = System.currentTimeMillis()" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/tb_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/tb_followup_form_rules.yml index 818562707b..a2817612b0 100644 --- a/opensrp-chw/src/ba/assets/rule/tb_followup_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/tb_followup_form_rules.yml @@ -2,19 +2,19 @@ name: "client_condition_visibility" description: "client_condition visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" actions: - "client_condition_visibility = true" --- name: "problem_visibility" description: "problem visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" actions: - "problem_visibility = true" --- name: "problem_other_visibility" -description: "problem visibility" +description: "problem other visibility" priority: 1 condition: "problem['other_problems'] != null" actions: @@ -23,14 +23,14 @@ actions: name: "client_behaviour_and_environmental_risk_visibility" description: "client_behaviour_and_environmental_risk visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" actions: - "client_behaviour_and_environmental_risk_visibility = true" --- name: "supplies_provided_visibility" description: "supplies_provided visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" actions: - "supplies_provided_visibility = true" --- @@ -44,7 +44,7 @@ actions: name: "tb_services_provided_visibility" description: "tb_services_provided visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" actions: - "tb_services_provided_visibility = true" --- @@ -58,7 +58,13 @@ actions: name: "state_of_therapy_visibility" description: "state_of_therapy visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" actions: - "state_of_therapy_visibility = true" - +--- +name: "tb_followup_visit_date_calculation" +description: "calculating tb followup visit date" +priority: 1 +condition: "true" +actions: + - "tb_followup_visit_date_calculation = System.currentTimeMillis()" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml b/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml index a3b2cdeb78..18d08e709d 100644 --- a/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml @@ -2,7 +2,7 @@ name: "community_gathering_visibility" description: "Display community gathering types if community gathering is chosen" priority: 1 -condition: "place_of_domicile.value=='Community Gathering'" +condition: "place_of_domicile.value == 'Community Gathering'" actions: - "community_gathering_visibility = true" --- @@ -11,4 +11,11 @@ description: "Display other community gathering types if others is chosen" priority: 1 condition: "community_gathering.value == 'Others'" actions: - - "other_community_gathering_visibility = true" \ No newline at end of file + - "other_community_gathering_visibility = true" +--- +name: "tb_registration_date_calculation" +description: "calculating the registration date" +priority: 1 +condition: "true" +actions: + - "tb_registration_date_calculation = System.currentTimeMillis()" \ No newline at end of file From 268cbcf7afd497eb800dcd290a400fc7703747bb Mon Sep 17 00:00:00 2001 From: cozej4 Date: Wed, 27 May 2020 14:49:48 +0300 Subject: [PATCH 049/915] Migrated hiv forms to comply with latest neat form libary --- .../ba/assets/json.form/hiv_followup_visit.json | 15 ++++----------- .../src/ba/assets/json.form/hiv_registration.json | 15 ++++----------- .../ba/assets/rule/hiv_followup_form_rules.yml | 9 ++++----- .../assets/rule/hiv_registration_form_rules.yml | 7 +++++++ 4 files changed, 19 insertions(+), 27 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json index 8a5f859808..2d56f67155 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json @@ -151,7 +151,10 @@ } } ], - "required_status": "yes:Please select the registration/followup status" + "required_status": "yes:Please select the registration/followup status", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] }, { "name": "client_condition", @@ -512,16 +515,6 @@ ], "required_status": "yes:Please specify the state of HIV therapy", "subjects": "registration_or_followup_status:text" - }, - { - "name": "hiv_followup_visit_date", - "type": "hidden", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_followup_visit_date", - "openmrs_entity_parent": "" - }, - "required_status": "false" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/hiv_registration.json index bd51f97d2e..eb56349795 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_registration.json @@ -125,17 +125,10 @@ } } ], - "required_status": "yes:Please specify your gender" - }, - { - "name": "hiv_registration_date", - "type": "hidden", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_registration_date", - "openmrs_entity_parent": "" - }, - "required_status": "false" + "required_status": "yes:Please specify client's hiv status", + "dependent_calculations": [ + "hiv_registration_date" + ] } ] } diff --git a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml index e9ceac1ba4..0acfa77fa4 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml @@ -44,7 +44,7 @@ actions: name: "hiv_services_provided_visibility" description: "hiv_services_provided visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" actions: - "hiv_services_provided_visibility = true" --- @@ -58,15 +58,14 @@ actions: name: "state_of_therapy_visibility" description: "state_of_therapy visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" actions: - "state_of_therapy_visibility = true" --- name: "hiv_followup_visit_date_calculation" -description: "hiv_followup_visit_date calculation" +description: "calculating the hiv followup visit date" priority: 1 condition: "true" actions: - - "import java.util.Calendar;" - - "hiv_followup_visit_date_calculation = Calendar.getInstance().getTimeInMillis()" + - "hiv_followup_visit_date_calculation = System.currentTimeMillis()" diff --git a/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml index e69de29bb2..239d3ecfe3 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml @@ -0,0 +1,7 @@ +--- +name: "hiv_registration_date_calculation" +description: "calculating the hiv registration date" +priority: 1 +condition: "true" +actions: + - "hiv_registration_date_calculation = System.currentTimeMillis()" \ No newline at end of file From 71653b9bfbff0fa9c2c46fb7bca64157c96bf405 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Wed, 27 May 2020 20:34:27 +0300 Subject: [PATCH 050/915] Code refactoring to comply with the lates client core and chw core --- opensrp-chw/build.gradle | 2 +- .../smartregister/chw/activity/ChildHomeVisitActivity.java | 2 +- .../smartregister/chw/activity/MalariaProfileActivity.java | 2 +- .../chw/activity/UpdateRegisterDetailsActivity.java | 5 +++++ .../smartregister/chw/fragment/ChildRegisterFragment.java | 2 +- .../chw/fragment/EligibleChildrenReportFragment.java | 2 +- .../smartregister/chw/fragment/UpdatesRegisterFragment.java | 2 +- .../chw/model/AllClientsMemberReferralModel.java | 2 +- .../smartregister/chw/model/AncRegisterFragmentModel.java | 2 +- .../smartregister/chw/model/ChildRegisterFragmentModel.java | 2 +- .../smartregister/chw/model/ChwPncRegisterFragmentModel.java | 2 +- .../smartregister/chw/model/FamilyProfileActivityModel.java | 2 +- .../org/smartregister/chw/model/FamilyProfileDueModel.java | 4 ++-- .../smartregister/chw/model/FamilyProfileMemberModel.java | 4 ++-- .../org/smartregister/chw/model/FpRegisterFragmentModel.java | 2 +- .../smartregister/chw/model/HivRegisterFragmentModel.java | 2 +- .../smartregister/chw/model/IssueReferralActivityModel.java | 2 +- .../chw/model/ReferralRegisterFragmentModel.java | 2 +- .../org/smartregister/chw/model/TbRegisterFragmentModel.java | 2 +- .../chw/presenter/UpdatesFragmentPresenter.java | 3 ++- .../chw/provider/ChwMemberRegisterProvider.java | 2 +- .../java/org/smartregister/chw/util/AllClientsUtils.java | 1 - 22 files changed, 28 insertions(+), 23 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index f53a5eac2e..159addff34 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -254,7 +254,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.2.5-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.3.0-Test-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildHomeVisitActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildHomeVisitActivity.java index ef8783d93f..4a40ad5d4a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildHomeVisitActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildHomeVisitActivity.java @@ -14,7 +14,7 @@ protected void registerPresenter() { @Override public void submittedAndClose() { super.submittedAndClose(); - ChildProfileActivity.startMe(this, false, memberObject, ChildProfileActivity.class); + ChildProfileActivity.startMe(this, memberObject, ChildProfileActivity.class); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MalariaProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MalariaProfileActivity.java index cf52eb2249..9ec7539084 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MalariaProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MalariaProfileActivity.java @@ -264,7 +264,7 @@ public void startFormForEdit(Integer title_resource, String formName) { } } - private static CommonPersonObjectClient getClientDetailsByBaseEntityID(@NonNull String baseEntityId) { + protected static CommonPersonObjectClient getClientDetailsByBaseEntityID(@NonNull String baseEntityId) { CommonRepository commonRepository = Utils.context().commonrepository(Utils.metadata().familyMemberRegister.tableName); CommonPersonObject commonPersonObject = commonRepository.findByBaseEntityId(baseEntityId); CommonPersonObjectClient client = diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdateRegisterDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdateRegisterDetailsActivity.java index 2d965da360..3822ed3a87 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdateRegisterDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdateRegisterDetailsActivity.java @@ -16,4 +16,9 @@ public static void startActivity(Activity launcherActivity, String notificationI intent.putExtra(NOTIFICATION_TYPE, notificationType); launcherActivity.startActivity(intent); } + + @Override + public void goToMemberProfile() { + //TODO implement + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ChildRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ChildRegisterFragment.java index 15aae48512..ab218fc92c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ChildRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ChildRegisterFragment.java @@ -36,7 +36,7 @@ public void goToChildDetailActivity(CommonPersonObjectClient patient, Timber.i(patient.name); } - ChildProfileActivity.startMe(getActivity(), false, new MemberObject(patient), ChildProfileActivity.class); + ChildProfileActivity.startMe(getActivity(), new MemberObject(patient), ChildProfileActivity.class); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/EligibleChildrenReportFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/EligibleChildrenReportFragment.java index 779e94845c..a4e3951030 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/EligibleChildrenReportFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/EligibleChildrenReportFragment.java @@ -66,7 +66,7 @@ public void onNext(CommonPersonObjectClient client) { setLoadingState(false); Activity activity = getActivity(); if (activity != null) - ChildProfileActivity.startMe(activity, false, new MemberObject(client), ChildProfileActivity.class); + ChildProfileActivity.startMe(activity, new MemberObject(client), ChildProfileActivity.class); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/UpdatesRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/UpdatesRegisterFragment.java index 73cf10c8ba..3d3461fde7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/UpdatesRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/UpdatesRegisterFragment.java @@ -39,7 +39,7 @@ protected void onViewClicked(View view) { CommonPersonObjectClient client = (CommonPersonObjectClient) view.getTag(); String notificationType = Utils.getValue(client.getColumnmaps(), NOTIFICATION_TYPE, true); String notificationId = Utils.getValue(client.getColumnmaps(), NOTIFICATION_ID, true).toLowerCase(); - getFragmentPresenter().displayDetailsActivity(notificationId, notificationType); + getFragmentPresenter().displayDetailsActivity(client,notificationId, notificationType); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/AllClientsMemberReferralModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/AllClientsMemberReferralModel.java index 41b922a9f7..8fd1b81a3c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/AllClientsMemberReferralModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/AllClientsMemberReferralModel.java @@ -19,7 +19,7 @@ public class AllClientsMemberReferralModel extends BaseIssueReferralModel { @Override public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); - queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); return queryBuilder.mainCondition(mainCondition); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/AncRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/AncRegisterFragmentModel.java index 955d9287c8..a59009939c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/AncRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/AncRegisterFragmentModel.java @@ -14,7 +14,7 @@ public AncRegisterFragmentModel() { @Override public String mainSelect(String tableName, String mainCondition) { SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); - queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.ANC_MEMBER_LOG + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.ANC_MEMBER_LOG + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.FAMILY + " ON " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/ChildRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/ChildRegisterFragmentModel.java index d7278ce52c..fcdb599904 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/ChildRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/ChildRegisterFragmentModel.java @@ -10,7 +10,7 @@ public class ChildRegisterFragmentModel extends CoreChildRegisterFragmentModel { @Override public String mainSelect(String tableName, String familyTableName, String familyMemberTableName, String mainCondition) { SmartRegisterQueryBuilder queryBUilder = new SmartRegisterQueryBuilder(); - queryBUilder.SelectInitiateMainTable(tableName, CoreChildUtils.mainColumns(tableName, familyTableName, familyMemberTableName)); + queryBUilder.selectInitiateMainTable(tableName, CoreChildUtils.mainColumns(tableName, familyTableName, familyMemberTableName)); queryBUilder.customJoin("LEFT JOIN " + familyTableName + " ON " + tableName + "." + DBConstants.KEY.RELATIONAL_ID + " = " + familyTableName + ".id COLLATE NOCASE "); queryBUilder.customJoin("LEFT JOIN " + familyMemberTableName + " ON " + familyMemberTableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + familyTableName + ".primary_caregiver COLLATE NOCASE "); queryBUilder.customJoin("LEFT JOIN (select base_entity_id , max(visit_date) visit_date from visits GROUP by base_entity_id) VISIT_SUMMARY ON VISIT_SUMMARY.base_entity_id = " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java index 0f7f0821c2..7c81692f05 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java @@ -11,7 +11,7 @@ public class ChwPncRegisterFragmentModel extends PncRegisterFragmentModel { @Override public String mainSelect(String tableName, String mainCondition) { SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); - queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " AND " + tableName + "." + ChwDBConstants.IS_CLOSED + " IS " + 0 + " AND " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + ChwDBConstants.IS_CLOSED + " IS " + 0 + " AND " + tableName + "." + ChwDBConstants.DELIVERY_DATE + " IS NOT NULL COLLATE NOCASE "); queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.FAMILY + " ON " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.ANC_MEMBER + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.ANC_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " AND " + tableName + "." + ChwDBConstants.IS_CLOSED + " IS " + 0 + " AND " + tableName + "." + ChwDBConstants.DELIVERY_DATE + " IS NOT NULL COLLATE NOCASE "); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileActivityModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileActivityModel.java index 7a4e826a28..e27c331313 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileActivityModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileActivityModel.java @@ -12,7 +12,7 @@ public class FamilyProfileActivityModel extends BaseFamilyProfileActivityModel { @Override public String countSelect(String tableName, String mainCondition) { SmartRegisterQueryBuilder countQueryBuilder = new SmartRegisterQueryBuilder(); - countQueryBuilder.SelectInitiateMainTableCounts(tableName); + countQueryBuilder.selectInitiateMainTableCounts(tableName); countQueryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); countQueryBuilder.customJoin("LEFT JOIN " + CoreConstants.TABLE_NAME.FAMILY + " ON " + CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); return countQueryBuilder.mainCondition(mainCondition); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileDueModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileDueModel.java index cbb7659b9a..e623df8100 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileDueModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileDueModel.java @@ -14,7 +14,7 @@ public class FamilyProfileDueModel extends BaseFamilyProfileDueModel { @Override public String countSelect(String tableName, String mainCondition) { SmartRegisterQueryBuilder countQueryBuilder = new SmartRegisterQueryBuilder(); - countQueryBuilder.SelectInitiateMainTableCounts(tableName); + countQueryBuilder.selectInitiateMainTableCounts(tableName); countQueryBuilder.customJoin("LEFT JOIN " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + " ON " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); countQueryBuilder.customJoin("LEFT JOIN " + CoreConstants.TABLE_NAME.FAMILY + " ON " + CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); return countQueryBuilder.mainCondition(mainCondition); @@ -23,7 +23,7 @@ public String countSelect(String tableName, String mainCondition) { @Override public String mainSelect(String tableName, String mainCondition) { SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); - queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); queryBuilder.customJoin("LEFT JOIN " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + " ON " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); queryBuilder.customJoin("LEFT JOIN " + CoreConstants.TABLE_NAME.FAMILY + " ON " + CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); return queryBuilder.mainCondition(mainCondition); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileMemberModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileMemberModel.java index 016f1161e0..e24a1d8c8d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileMemberModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileMemberModel.java @@ -12,7 +12,7 @@ public class FamilyProfileMemberModel extends CoreFamilyProfileMemberModel { @Override public String countSelect(String tableName, String mainCondition) { SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); - queryBuilder.SelectInitiateMainTableCounts(tableName); + queryBuilder.selectInitiateMainTableCounts(tableName); queryBuilder.customJoin("LEFT JOIN " + CoreConstants.TABLE_NAME.CHILD + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.CHILD + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); return queryBuilder.mainCondition(mainCondition); } @@ -20,7 +20,7 @@ public String countSelect(String tableName, String mainCondition) { @Override public String mainSelect(String tableName, String mainCondition) { SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); - queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); queryBuilder.customJoin("LEFT JOIN " + CoreConstants.TABLE_NAME.CHILD + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.CHILD + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); return queryBuilder.mainCondition(mainCondition); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/FpRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/FpRegisterFragmentModel.java index b571cd893b..5772258249 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/FpRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/FpRegisterFragmentModel.java @@ -13,7 +13,7 @@ public class FpRegisterFragmentModel extends BaseFpRegisterFragmentModel { @Override public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); - queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); queryBuilder.customJoin("INNER JOIN " + FamilyPlanningConstants.DBConstants.FAMILY_MEMBER + " ON " + tableName + "." + FamilyPlanningConstants.DBConstants.BASE_ENTITY_ID + " = " + FamilyPlanningConstants.DBConstants.FAMILY_MEMBER + "." + FamilyPlanningConstants.DBConstants.BASE_ENTITY_ID + " COLLATE NOCASE "); queryBuilder.customJoin("INNER JOIN " + FamilyPlanningConstants.DBConstants.FAMILY + " ON " + FamilyPlanningConstants.DBConstants.FAMILY_MEMBER + "." + FamilyPlanningConstants.DBConstants.RELATIONAL_ID + " = " + FamilyPlanningConstants.DBConstants.FAMILY + "." + FamilyPlanningConstants.DBConstants.BASE_ENTITY_ID); queryBuilder.customJoin("LEFT JOIN (select base_entity_id , max(visit_date) visit_date from visits GROUP by base_entity_id) VISIT_SUMMARY ON VISIT_SUMMARY.base_entity_id = " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java index 75ced379bf..589ed79c67 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java @@ -21,7 +21,7 @@ public class HivRegisterFragmentModel extends BaseHivRegisterFragmentModel { @Override public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); - queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T1 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER + " = T1." + DBConstants.KEY.BASE_ENTITY_ID); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/IssueReferralActivityModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/IssueReferralActivityModel.java index 62d4f6aa76..f5c42c055d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/IssueReferralActivityModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/IssueReferralActivityModel.java @@ -18,7 +18,7 @@ public class IssueReferralActivityModel extends BaseIssueReferralModel { @Override public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); - queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); return queryBuilder.mainCondition(mainCondition); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/ReferralRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/ReferralRegisterFragmentModel.java index 7e4359ce86..7cd795a063 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/ReferralRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/ReferralRegisterFragmentModel.java @@ -23,7 +23,7 @@ public class ReferralRegisterFragmentModel extends BaseReferralRegisterFragmentM @Override public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); - queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + Constants.ENTITY_ID + " = " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.TASK + " ON " + tableName + ".id = " + Constants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.REASON_REFERENCE); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/TbRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/TbRegisterFragmentModel.java index 3dd5716b4a..a41d2ae988 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/TbRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/TbRegisterFragmentModel.java @@ -21,7 +21,7 @@ public class TbRegisterFragmentModel extends BaseTbRegisterFragmentModel { @Override public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); - queryBuilder.SelectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T1 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER + " = T1." + DBConstants.KEY.BASE_ENTITY_ID); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/UpdatesFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/UpdatesFragmentPresenter.java index 373bbe0a9e..9d81d47262 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/UpdatesFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/UpdatesFragmentPresenter.java @@ -7,6 +7,7 @@ import org.smartregister.chw.core.presenter.BaseChwNotificationFragmentPresenter; import org.smartregister.chw.fragment.UpdatesRegisterFragment; import org.smartregister.chw.model.UpdatesRegisterModel; +import org.smartregister.commonregistry.CommonPersonObjectClient; public class UpdatesFragmentPresenter extends BaseChwNotificationFragmentPresenter { @@ -15,7 +16,7 @@ public UpdatesFragmentPresenter(BaseChwNotificationFragmentContract.View view) { } @Override - public void displayDetailsActivity(String notificationId, String notificationType) { + public void displayDetailsActivity(CommonPersonObjectClient commonPersonObjectClient, String notificationId, String notificationType) { Activity activity = ((UpdatesRegisterFragment) getView()).getActivity(); UpdateRegisterDetailsActivity.startActivity(activity, notificationId, notificationType); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMemberRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMemberRegisterProvider.java index d9e723e886..99aa7db4c7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMemberRegisterProvider.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMemberRegisterProvider.java @@ -211,7 +211,7 @@ private void setMemberProfileImageResourceIdentifier(Constants.FamilyMemberType private Map getChildDetails(String baseEntityId) { SmartRegisterQueryBuilder queryBUilder = new SmartRegisterQueryBuilder(); - queryBUilder.SelectInitiateMainTable(CommonFtsObject.searchTableName(Constants.TABLE_NAME.CHILD), new String[]{CommonFtsObject.idColumn, ChildDBConstants.KEY.LAST_HOME_VISIT, ChildDBConstants.KEY.VISIT_NOT_DONE, ChildDBConstants.KEY.DATE_CREATED}); + queryBUilder.selectInitiateMainTable(CommonFtsObject.searchTableName(Constants.TABLE_NAME.CHILD), new String[]{CommonFtsObject.idColumn, ChildDBConstants.KEY.LAST_HOME_VISIT, ChildDBConstants.KEY.VISIT_NOT_DONE, ChildDBConstants.KEY.DATE_CREATED}); String query = queryBUilder.mainCondition(String.format(" %s is null AND %s = '%s' AND %s ", DBConstants.KEY.DATE_REMOVED, CommonFtsObject.idColumn, diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java index 78281b96a1..f8c8a81c39 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java @@ -51,7 +51,6 @@ public static void goToChildProfile(Activity activity, CommonPersonObjectClient if (bundle != null) { intent.putExtras(bundle); } - intent.putExtra(CoreConstants.INTENT_KEY.IS_COMES_FROM_FAMILY, false); intent.putExtra(Constants.INTENT_KEY.BASE_ENTITY_ID, patient.getCaseId()); intent.putExtra(org.smartregister.chw.anc.util.Constants.ANC_MEMBER_OBJECTS.MEMBER_PROFILE_OBJECT, new MemberObject(patient)); activity.startActivity(intent); From 149c388fe25c348e5841282968677bfd07c44aaf Mon Sep 17 00:00:00 2001 From: cozej4 Date: Wed, 27 May 2020 22:36:08 +0300 Subject: [PATCH 051/915] Code refactoring --- opensrp-chw/build.gradle | 6 +- .../src/ba/assets/ec_client_fields.json | 7 + opensrp-chw/src/main/AndroidManifest.xml | 4 - .../chw/activity/HivRegisterActivity.java | 4 +- .../activity/ReferralFollowupActivity.java | 24 -- .../activity/ReferralRegisterActivity.java | 4 +- .../chw/activity/TbRegisterActivity.java | 8 +- .../fragment/FollowupRegisterFragment.java | 284 ------------------ .../fragment/HivFollowupRegisterFragment.java | 10 + .../fragment/TbFollowupRegisterFragment.java | 10 + 10 files changed, 37 insertions(+), 324 deletions(-) delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/ReferralFollowupActivity.java delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/FollowupRegisterFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 159addff34..67620a80ef 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -94,7 +94,7 @@ android { buildConfigField "int", "BASE_PNC_CLOSE_MINUTES", '1440' buildConfigField "int", "SCHEDULE_SERVICE_MINUTES", '360' buildConfigField "int", "STOCK_USAGE_REPORT_MINUTES", '1440' - buildConfigField "boolean", "USE_UNIFIED_REFERRAL_APPROACH", "false" + buildConfigField "boolean", "USE_UNIFIED_REFERRAL_APPROACH", "true" testCoverageEnabled true } } @@ -141,8 +141,8 @@ android { versionName "1.0.2" buildConfigField "String", 'opensrp_url', '"https://boresha-afya.smartregister.org/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' - buildConfigField "String", 'opensrp_url_debug', '"https://boresha-afya-stage.smartregister.org/opensrp/"' -// buildConfigField "String", 'opensrp_url_debug', '"https://ba-unified-stage.smartregister.org/opensrp/"' +// buildConfigField "String", 'opensrp_url_debug', '"https://boresha-afya-stage.smartregister.org/opensrp/"' + buildConfigField "String", 'opensrp_url_debug', '"https://ba-unified-stage.smartregister.org/opensrp/"' buildConfigField "String[]", "LOCATION_HIERACHY", '{"Country","Region","District","Ward" , "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS", '{"Ward" , "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS_DEBUG", '{"MOH Jhpiego Facility Name" , "Village"}' diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 457cc4a858..ab5be247a4 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -1847,6 +1847,13 @@ { "name": "ec_sick_child_followup", "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, { "column_name": "base_entity_id", "type": "Event", diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index f4d8d02470..f3309811b4 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -177,10 +177,6 @@ android:name=".activity.ReferralRegisterActivity" android:label="@string/anc_register" android:theme="@style/ChwTheme.NoActionBar" /> - visibleColumns) { - FollowupRegisterProvider followupRegisterProvider = new FollowupRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); - clientAdapter = new RecyclerViewPaginatedAdapter(null, followupRegisterProvider, context().commonrepository(this.tablename)); - clientAdapter.setCurrentlimit(20); - clientsView.setAdapter(clientAdapter); - } - - @Override - protected void initializePresenter() { - if (getActivity() == null) { - return; - } - String viewConfigurationIdentifier = null; - try { - viewConfigurationIdentifier = ((BaseRegisterActivity) getActivity()).getViewIdentifiers().get(0); - } catch (NullPointerException e) { - Timber.e(e); - } - presenter = new ReferralFollowupFragmentPresenter(this, new ReferralRegisterFragmentModel(), viewConfigurationIdentifier); - } - - @Override - protected void onViewClicked(View view) { - super.onViewClicked(view); - - if (view.getId() == R.id.due_only_layout) { - toggleFilterSelection(view); - } - } - - @Override - protected void openFollowUpVisit(CommonPersonObjectClient client) { - MalariaFollowUpVisitActivity.startMalariaRegistrationActivity(getActivity(), client.getCaseId(), null); - } - - @Override - protected void openProfile(CommonPersonObjectClient client) { - ReferralFollowupActivity.startReferralFollowupActivity(getActivity(), new MemberObject(client), client); - } - - @Override - public void setAdvancedSearchFormData(HashMap hashMap) { - //TODO - //Log.d(TAG, "setAdvancedSearchFormData unimplemented"); - } - - @Override - public void setupViews(View view) { - super.setupViews(view); - this.view = view; - - Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); - toolbar.setContentInsetsAbsolute(0, 0); - toolbar.setContentInsetsRelative(0, 0); - toolbar.setContentInsetStartWithNavigation(0); - - NavigationMenu.getInstance(getActivity(), null, toolbar); - - View navbarContainer = view.findViewById(R.id.register_nav_bar_container); - navbarContainer.setFocusable(false); - - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); - View searchBarLayout = view.findViewById(R.id.search_bar_layout); - searchBarLayout.setLayoutParams(params); - searchBarLayout.setBackgroundResource(R.color.chw_primary); - searchBarLayout.setPadding(searchBarLayout.getPaddingLeft(), searchBarLayout.getPaddingTop(), searchBarLayout.getPaddingRight(), (int) Utils.convertDpToPixel(10, getActivity())); - - CustomFontTextView titleView = view.findViewById(R.id.txt_title_label); - if (titleView != null) { - titleView.setPadding(0, titleView.getTop(), titleView.getPaddingRight(), titleView.getPaddingBottom()); - } - - View topLeftLayout = view.findViewById(R.id.top_left_layout); - topLeftLayout.setVisibility(View.GONE); - - View topRightLayout = view.findViewById(R.id.top_right_layout); - topRightLayout.setVisibility(View.VISIBLE); - - View sortFilterBarLayout = view.findViewById(R.id.register_sort_filter_bar_layout); - sortFilterBarLayout.setVisibility(View.GONE); - - View filterSortLayout = view.findViewById(R.id.filter_sort_layout); - filterSortLayout.setVisibility(View.GONE); - - dueOnlyLayout = view.findViewById(R.id.due_only_layout); - dueOnlyLayout.setVisibility(View.VISIBLE); - dueOnlyLayout.setOnClickListener(registerActionHandler); - - if (getSearchView() != null) { - getSearchView().setBackgroundResource(org.smartregister.family.R.color.white); - getSearchView().setCompoundDrawablesWithIntrinsicBounds(org.smartregister.family.R.drawable.ic_action_search, 0, 0, 0); - getSearchView().setTextColor(getResources().getColor(R.color.text_black)); - } - } - - protected void toggleFilterSelection(View dueOnlyLayout) { - if (dueOnlyLayout != null) { - if (dueOnlyLayout.getTag() == null) { - dueFilterActive = true; - dueFilter(dueOnlyLayout); - } else if (dueOnlyLayout.getTag().toString().equals(DUE_FILTER_TAG)) { - dueFilterActive = false; - normalFilter(dueOnlyLayout); - } - } - } - - protected String searchText() { - return (getSearchView() == null) ? "" : getSearchView().getText().toString(); - } - - private void switchViews(View dueOnlyLayout, boolean isPress) { - TextView dueOnlyTextView = dueOnlyLayout.findViewById(R.id.due_only_text_view); - if (isPress) { - dueOnlyTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_due_filter_on, 0); - } else { - dueOnlyTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_due_filter_off, 0); - - } - } - - @Override - protected void onResumption() { - if (dueFilterActive && dueOnlyLayout != null) { - dueFilter(dueOnlyLayout); - } else { - super.onResumption(); - } - } - - @Override - public void onResume() { - super.onResume(); - - Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); - toolbar.setContentInsetsAbsolute(0, 0); - toolbar.setContentInsetsRelative(0, 0); - toolbar.setContentInsetStartWithNavigation(0); - NavigationMenu.getInstance(getActivity(), null, toolbar); - } - - @Override - protected void refreshSyncProgressSpinner() { - if (syncProgressBar != null) { - syncProgressBar.setVisibility(View.GONE); - } - if (syncButton != null) { - syncButton.setVisibility(View.GONE); - } - } - - private String defaultFilterAndSortQuery() { - SmartRegisterQueryBuilder sqb = new SmartRegisterQueryBuilder(mainSelect); - - String query = ""; - StringBuilder customFilter = new StringBuilder(); - if (StringUtils.isNotBlank(filters)) { - customFilter.append(MessageFormat.format(" and ( {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.FIRST_NAME, filters)); - customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.LAST_NAME, filters)); - customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.MIDDLE_NAME, filters)); - customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ) ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.UNIQUE_ID, filters)); - - } - if (dueFilterActive) { - customFilter.append(MessageFormat.format(" and ( {0}) ", presenter().getDueFilterCondition())); - } - try { - if (isValidFilterForFts(commonRepository())) { - - String myquery = QueryBuilder.getQuery(joinTables, mainCondition, tablename, customFilter.toString(), clientAdapter, Sortqueries); - List ids = commonRepository().findSearchIds(myquery); - query = sqb.toStringFts(ids, tablename, CommonRepository.ID_COLUMN, - Sortqueries); - query = sqb.Endquery(query); - } else { - sqb.addCondition(customFilter.toString()); - query = sqb.orderbyCondition(Sortqueries); - query = sqb.Endquery(sqb.addlimitandOffset(query, clientAdapter.getCurrentlimit(), clientAdapter.getCurrentoffset())); - - } - } catch (Exception e) { - Log.e(getClass().getName(), e.toString(), e); - } - - return query; - } - - - @Override - public void countExecute() { - //TODO coze implement this - } - - @Override - public Loader onCreateLoader(int id, final Bundle args) { - if (id == LOADER_ID) { - return new CursorLoader(getActivity()) { - @Override - public Cursor loadInBackground() { - // Count query - final String COUNT = "count_execute"; - if (args != null && args.getBoolean(COUNT)) { - countExecute(); - } - String query = defaultFilterAndSortQuery(); - return commonRepository().rawCustomQueryForAdapter(query); - } - }; - } - return super.onCreateLoader(id, args); - } - - protected void dueFilter(View dueOnlyLayout) { - filterDue(searchText(), "", presenter().getDueFilterCondition()); - dueOnlyLayout.setTag(DUE_FILTER_TAG); - switchViews(dueOnlyLayout, true); - } - - protected void normalFilter(View dueOnlyLayout) { - filterDue(searchText(), "", presenter().getMainCondition()); - dueOnlyLayout.setTag(null); - switchViews(dueOnlyLayout, false); - } - - protected void filterDue(String filterString, String joinTableString, String mainConditionString) { - filters = filterString; - joinTable = joinTableString; - mainCondition = mainConditionString; - filterandSortExecute(countBundle()); - } - -} - - diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java new file mode 100644 index 0000000000..69e2b8dafc --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java @@ -0,0 +1,10 @@ +package org.smartregister.chw.fragment; + +import org.smartregister.chw.hiv.fragment.BaseHivCommunityFollowupRegisterFragment; + +public class HivFollowupRegisterFragment extends BaseHivCommunityFollowupRegisterFragment { + + +} + + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java new file mode 100644 index 0000000000..e267bf52ee --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java @@ -0,0 +1,10 @@ +package org.smartregister.chw.fragment; + +import org.smartregister.chw.tb.fragment.BaseTbCommunityFollowupRegisterFragment; + +public class TbFollowupRegisterFragment extends BaseTbCommunityFollowupRegisterFragment { + + +} + + From 89af55435fbc074aebfa54ea5291e0bb6697ed87 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 28 May 2020 00:37:18 +0300 Subject: [PATCH 052/915] Migrated referral forms, hiv and tb forms to the latest neat library format --- .../src/ba/assets/ec_client_fields.json | 15 ------ .../referrals/anc_referral_form.json | 39 +++----------- .../referrals/child_gbv_referral_form.json | 51 +++--------------- .../referrals/child_referral_form.json | 37 +++---------- .../referrals/gbv_referral_form.json | 51 +++--------------- .../referrals/hiv_referral_form.json | 51 +++--------------- .../referrals/pnc_referral_form.json | 37 +++---------- .../json.form-sw/referrals/referral_form.json | 51 +++--------------- .../referrals/tb_referral_form.json | 44 --------------- .../referrals/anc_referral_form.json | 53 +++---------------- .../referrals/child_gbv_referral_form.json | 37 +++---------- .../referrals/child_referral_form.json | 51 +++--------------- .../referrals/gbv_referral_form.json | 51 +++--------------- .../referrals/hiv_referral_form.json | 51 +++--------------- .../referrals/pnc_referral_form.json | 51 +++--------------- .../json.form/referrals/referral_form.json | 51 +++--------------- .../json.form/referrals/tb_referral_form.json | 51 +++--------------- .../rule/general_neat_referral_form_rules.yml | 28 +++++++++- 18 files changed, 117 insertions(+), 683 deletions(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index ab5be247a4..d46b07bd26 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -1703,14 +1703,6 @@ "field": "obs.formSubmissionField", "concept": "referral_type" } - }, - { - "column_name": "referral_status", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "referral_status" - } } ] }, @@ -1847,13 +1839,6 @@ { "name": "ec_sick_child_followup", "columns": [ - { - "column_name": "entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, { "column_name": "base_entity_id", "type": "Event", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json index a812204cef..03d1fad527 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json @@ -57,20 +57,6 @@ { "title": "Rufaa ya mama mjamzito", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -318,7 +304,12 @@ } } ], - "required_status": "yes:Tafadhali taja sababu ya rufaa ya mama mjamzito" + "required_status": "yes:Tafadhali taja sababu ya rufaa ya mama mjamzito", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -437,24 +428,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time" - }, - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_gbv_referral_form.json index 5a18da89ef..0b4993ba20 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_gbv_referral_form.json @@ -57,20 +57,6 @@ { "title": "Child Gender-based violence services Referral Form", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -165,7 +151,12 @@ } } ], - "required_status": "yes:Please specify client's problems" + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -211,36 +202,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Please specify the appointment date" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" - }, - { - "name": "referral_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_type", - "type": "hidden" - }, - { - "name": "referral_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_status", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_referral_form.json index 779a61f3bc..ed7d0d9377 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_referral_form.json @@ -57,20 +57,6 @@ { "title": "Fomu ya wagonjwa wa mtoto", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -282,7 +268,12 @@ } } ], - "required_status": "yes:Tafadhali taja shida ya kiafya" + "required_status": "yes:Tafadhali taja shida ya kiafya", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -400,22 +391,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json index f89f46ed9f..87843f5358 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json @@ -57,20 +57,6 @@ { "title": "Rufaa kwenda Huduma ya kuzui ukatili wa kijinsia (dawati la jinsia)", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -145,7 +131,12 @@ } } ], - "required_status": "yes:Tafadhali taja hali ya mteja / shida" + "required_status": "yes:Tafadhali taja hali ya mteja / shida", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -191,36 +182,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" - }, - { - "name": "referral_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_type", - "type": "hidden" - }, - { - "name": "referral_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_status", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json index fb07bd1ac0..4668ddcf54 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json @@ -57,20 +57,6 @@ { "title": "Rufaa kwenda Kliniki ya Tiba na matunzo (CTC)", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -129,7 +115,12 @@ } } ], - "required_status": "yes:Tafadhali taja hali ya mteja / shida" + "required_status": "yes:Tafadhali taja hali ya mteja / shida", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -224,36 +215,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" - }, - { - "name": "referral_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_type", - "type": "hidden" - }, - { - "name": "referral_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_status", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/pnc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/pnc_referral_form.json index bccfdca916..aa096f3f6a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/pnc_referral_form.json @@ -57,20 +57,6 @@ { "title": "Rufaa kwa mama na mtoto baada ya kujifungua", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -408,7 +394,12 @@ } } ], - "required_status": "yes:Tafadhali taja hali ya mteja / shida" + "required_status": "yes:Tafadhali taja hali ya mteja / shida", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -528,22 +519,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/referral_form.json index a5f02ac1b9..aab1cff221 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/referral_form.json @@ -57,20 +57,6 @@ { "title": "Referral form", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -93,7 +79,12 @@ } } ], - "required_status": "yes:Tafadhali taja hali ya mteja / shida" + "required_status": "yes:Tafadhali taja hali ya mteja / shida", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -188,36 +179,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" - }, - { - "name": "referral_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_type", - "type": "hidden" - }, - { - "name": "referral_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_status", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/tb_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/tb_referral_form.json index 9fe203b06a..9b7f421511 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/tb_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/tb_referral_form.json @@ -57,20 +57,6 @@ { "title": "Refaa ya Kliniki ya kutibu kifua kikuu", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -224,36 +210,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" - }, - { - "name": "referral_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_type", - "type": "hidden" - }, - { - "name": "referral_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_status", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json index 9817c34477..6101be9e81 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json @@ -57,20 +57,6 @@ { "title": "ANC referral form", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -318,7 +304,12 @@ } } ], - "required_status": "yes:Please specify reason for ANC referral" + "required_status": "yes:Please specify reason for ANC referral", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -432,38 +423,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Please specify the appointment date" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time" - }, - "type": "hidden" - }, - { - "name": "referral_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_type", - "type": "hidden" - }, - { - "name": "referral_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_status", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/child_gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/child_gbv_referral_form.json index 9e1b83a410..c3b74e4a32 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/child_gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/child_gbv_referral_form.json @@ -147,7 +147,12 @@ } } ], - "required_status": "yes:Please specify client's problems" + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -193,36 +198,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Please specify the appointment date" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" - }, - { - "name": "referral_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_type", - "type": "hidden" - }, - { - "name": "referral_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_status", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/child_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/child_referral_form.json index aaed6da7b9..c90c44f75f 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/child_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/child_referral_form.json @@ -57,20 +57,6 @@ { "title": "Sick child form", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -282,7 +268,12 @@ } } ], - "required_status": "yes:Please specify client's problems" + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -395,36 +386,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Please specify the appointment date" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" - }, - { - "name": "referral_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_type", - "type": "hidden" - }, - { - "name": "referral_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_status", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json index eb841a744d..f50e22357a 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json @@ -57,20 +57,6 @@ { "title": "Gender-based violence services Referral Form", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -145,7 +131,12 @@ } } ], - "required_status": "yes:Please specify client's problems" + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -191,36 +182,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Please specify the appointment date" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" - }, - { - "name": "referral_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_type", - "type": "hidden" - }, - { - "name": "referral_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_status", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json index 8b153e563e..9f43754e88 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json @@ -57,20 +57,6 @@ { "title": "Clinic of Treatment and Care Referral form", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -129,7 +115,12 @@ } } ], - "required_status": "yes:Please specify client's problems" + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -224,36 +215,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Please specify the appointment date" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" - }, - { - "name": "referral_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_type", - "type": "hidden" - }, - { - "name": "referral_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_status", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/pnc_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/pnc_referral_form.json index 2c6ce4d5b7..79170b557d 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/pnc_referral_form.json @@ -57,20 +57,6 @@ { "title": "PNC referral form", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -408,7 +394,12 @@ } } ], - "required_status": "yes:Please specify client's problems" + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -523,36 +514,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Please specify the appointment date" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" - }, - { - "name": "referral_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_type", - "type": "hidden" - }, - { - "name": "referral_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_status", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/referral_form.json index ae15b5bfc9..e78e5edbb9 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/referral_form.json @@ -57,20 +57,6 @@ { "title": "Referral form", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -93,7 +79,12 @@ } } ], - "required_status": "yes:Please specify client's problems" + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -188,36 +179,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Please specify the appointment date" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" - }, - { - "name": "referral_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_type", - "type": "hidden" - }, - { - "name": "referral_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_status", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/tb_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/tb_referral_form.json index e480edf2f5..7a335b4b0d 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/tb_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/tb_referral_form.json @@ -57,20 +57,6 @@ { "title": "Clinic Of Tuberculosis Treatment Referral form", "fields": [ - { - "name": "chw_referral_service", - "type": "invisible", - "properties": { - "text": "Choose referral service" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "09978", - "openmrs_entity_parent": "" - }, - "options": [], - "required_status": "yes:Please specify referral service" - }, { "name": "problem", "type": "multi_choice_checkbox", @@ -129,7 +115,12 @@ } } ], - "required_status": "yes:Please specify client's problems" + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type" + ] }, { "name": "problem_other", @@ -224,36 +215,6 @@ "openmrs_entity_parent": "" }, "required_status": "true:Please specify the appointment date" - }, - { - "name": "referral_date", - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "type": "hidden" - }, - { - "name": "referral_time", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time", - "type": "hidden" - }, - { - "name": "referral_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_type", - "type": "hidden" - }, - { - "name": "referral_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_status", - "type": "hidden" } ] } diff --git a/opensrp-chw/src/ba/assets/rule/general_neat_referral_form_rules.yml b/opensrp-chw/src/ba/assets/rule/general_neat_referral_form_rules.yml index d4e949ed28..6e2c07defa 100644 --- a/opensrp-chw/src/ba/assets/rule/general_neat_referral_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/general_neat_referral_form_rules.yml @@ -11,4 +11,30 @@ description: "Specify Other pre-referral managements given" priority: 1 condition: "service_before_referral['Other_treatment'] != null" actions: - - "service_before_referral_other_visibility = true" \ No newline at end of file + - "service_before_referral_other_visibility = true" +--- +name: "referral_date_calculation" +description: "Referral date calculation" +priority: 1 +condition: "true" +actions: + - "referral_date_calculation = System.currentTimeMillis()" +--- +name: "referral_time_calculation" +description: "Referral time calculation" +priority: 1 +condition: "true" +actions: + - "def getDate(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(System.currentTimeMillis()); + }" + - "referral_time_calculation = getDate('HH:mm:ss.SSS')" +--- +name: "referral_type_calculation" +description: "Referral type calculation" +priority: 1 +condition: "true" +actions: + - "referral_type_calculation = 'community_to_facility_referral'" \ No newline at end of file From 5d72f77d9086e6c3e51eec99194ad844212fd22d Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 28 May 2020 09:03:10 +0300 Subject: [PATCH 053/915] Code cleaning --- .../chw/activity/HivProfileActivity.java | 19 +------------------ .../chw/activity/TbProfileActivity.java | 19 +------------------ 2 files changed, 2 insertions(+), 36 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 52915641a7..ae0cc57b80 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -125,24 +125,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { @Override public void openMedicalHistory() { - OnMemberTypeLoadedListener onMemberTypeLoadedListener = memberType -> { - - switch (memberType.getMemberType()) { - case CoreConstants.TABLE_NAME.ANC_MEMBER: - AncMedicalHistoryActivity.startMe(HivProfileActivity.this, memberType.getMemberObject()); - break; - case CoreConstants.TABLE_NAME.PNC_MEMBER: - PncMedicalHistoryActivity.startMe(HivProfileActivity.this, memberType.getMemberObject()); - break; - case CoreConstants.TABLE_NAME.CHILD: - ChildMedicalHistoryActivity.startMe(HivProfileActivity.this, memberType.getMemberObject()); - break; - default: - Timber.v("Member info undefined"); - break; - } - }; - executeOnLoaded(onMemberTypeLoadedListener); + //TODO implement } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index 56355f6198..7f5a5d9e86 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -130,24 +130,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { @Override public void openMedicalHistory() { - OnMemberTypeLoadedListener onMemberTypeLoadedListener = memberType -> { - - switch (memberType.getMemberType()) { - case CoreConstants.TABLE_NAME.ANC_MEMBER: - AncMedicalHistoryActivity.startMe(TbProfileActivity.this, memberType.getMemberObject()); - break; - case CoreConstants.TABLE_NAME.PNC_MEMBER: - PncMedicalHistoryActivity.startMe(TbProfileActivity.this, memberType.getMemberObject()); - break; - case CoreConstants.TABLE_NAME.CHILD: - ChildMedicalHistoryActivity.startMe(TbProfileActivity.this, memberType.getMemberObject()); - break; - default: - Timber.v("Member info undefined"); - break; - } - }; - executeOnLoaded(onMemberTypeLoadedListener); + //TODO implement } @Override From f999176bd104991b436ef4abec201b000fca1410 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 28 May 2020 10:15:31 +0300 Subject: [PATCH 054/915] Refactored starting of hiv form activities --- .../AllClientsMemberProfileActivity.java | 3 +- .../FamilyOtherMemberProfileActivity.java | 4 ++- .../chw/activity/HivRegisterActivity.java | 30 +++++++++++-------- .../activity/PncMemberProfileActivity.java | 4 ++- .../chw/fragment/HivRegisterFragment.java | 4 ++- 5 files changed, 28 insertions(+), 17 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 7bdf2a7084..81acdbbd0f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -54,6 +54,7 @@ import static com.vijay.jsonwizard.constants.JsonFormConstants.COUNT; import static com.vijay.jsonwizard.constants.JsonFormConstants.STEP1; import static org.smartregister.chw.core.utils.CoreReferralUtils.getCommonRepository; +import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; import static org.smartregister.family.util.JsonFormUtils.STEP2; public class AllClientsMemberProfileActivity extends CoreFamilyOtherMemberProfileActivity implements OnClickFloatingMenu, AllClientsMemberContract.View { @@ -169,7 +170,7 @@ protected void startMalariaRegister() { @Override protected void startHivRegister() { - HivRegisterActivity.startHIVRegistrationActivity(AllClientsMemberProfileActivity.this, baseEntityId); + HivRegisterActivity.startHIVFormActivity(AllClientsMemberProfileActivity.this,baseEntityId,org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index 0e5879da0c..f2d3942bb2 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -30,6 +30,8 @@ import timber.log.Timber; +import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; + public class FamilyOtherMemberProfileActivity extends CoreFamilyOtherMemberProfileActivity { private FamilyMemberFloatingMenu familyFloatingMenu; private Flavor flavor = new FamilyOtherMemberProfileActivityFlv(); @@ -115,7 +117,7 @@ protected void removeIndividualProfile() { @Override protected void startHivRegister() { - HivRegisterActivity.startHIVRegistrationActivity(FamilyOtherMemberProfileActivity.this, baseEntityId); + HivRegisterActivity.startHIVFormActivity(FamilyOtherMemberProfileActivity.this,baseEntityId,org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java index e52778cac0..86fe2d7aa1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java @@ -9,7 +9,7 @@ import com.google.android.material.bottomnavigation.LabelVisibilityMode; import org.jetbrains.annotations.NotNull; -import org.json.JSONObject; +import org.jetbrains.annotations.Nullable; import org.smartregister.chw.R; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.job.HomeVisitServiceJob; @@ -20,7 +20,7 @@ import org.smartregister.chw.hiv.activity.BaseHivRegistrationFormsActivity; import org.smartregister.chw.hiv.fragment.BaseHivRegisterFragment; import org.smartregister.chw.util.Constants; -import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.chw.util.JsonFormUtils; import org.smartregister.helper.BottomNavigationHelper; import org.smartregister.job.ImageUploadServiceJob; import org.smartregister.job.PullUniqueIdsServiceJob; @@ -30,18 +30,15 @@ import java.util.List; -import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; - public class HivRegisterActivity extends BaseHivRegisterActivity { + private String baseEntityID; - public static void startHIVRegistrationActivity(Activity activity, String baseEntityID) { - Intent intent = new Intent(activity, BaseHivRegistrationFormsActivity.class); + public static void startHIVFormActivity(Activity activity, String baseEntityID, String formName, String payloadType) { + Intent intent = new Intent(activity, HivRegisterActivity.class); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, org.smartregister.chw.hiv.util.Constants.ActivityPayloadType.REGISTRATION); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT,false); - - activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, payloadType); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.HIV_REGISTRATION_FORM_NAME, formName); + activity.startActivity(intent); } @NotNull @@ -64,6 +61,7 @@ public List getViewIdentifiers() { @Override protected void onCreate(Bundle savedInstanceState) { + baseEntityID = getIntent().getStringExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID); super.onCreate(savedInstanceState); NavigationMenu.getInstance(this, null, null); } @@ -89,9 +87,15 @@ protected void registerBottomNavigation() { } } + @Override - public void startFormActivity(JSONObject jsonForm) { - //Implement + public void startFormActivity(@Nullable String formName, @Nullable String entityId, @Nullable String metaData) { + Intent intent = new Intent(this, BaseHivRegistrationFormsActivity.class); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, metaData); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); + + this.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); } private void startRegisterActivity() { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index 4eb4ba5969..ad3a00b1af 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -64,6 +64,8 @@ import io.reactivex.schedulers.Schedulers; import timber.log.Timber; +import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; + public class PncMemberProfileActivity extends CorePncMemberProfileActivity implements PncMemberProfileContract.View { private Flavor flavor = new PncMemberProfileActivityFlv(); @@ -378,7 +380,7 @@ protected void startFpRegister() { @Override protected void startHivRegister() { - HivRegisterActivity.startHIVRegistrationActivity(this, memberObject.getBaseEntityId()); + HivRegisterActivity.startHIVFormActivity(this, memberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index 96743a117c..12b2aa4b5e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -14,6 +14,8 @@ import timber.log.Timber; +import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; + public class HivRegisterFragment extends CoreHivRegisterFragment { @Override protected void initializePresenter() { @@ -39,7 +41,7 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable HivMemberObject hivMemberObject) { if (getActivity() != null) - HivProfileActivity.startHivFollowupActivity(getActivity(), hivMemberObject.getBaseEntityId()); + HivRegisterActivity.startHIVFormActivity(getActivity(),hivMemberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); } From 8d94136be2e85696f668db1fb4e8a29e13e8c294 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 28 May 2020 11:09:57 +0300 Subject: [PATCH 055/915] Refactored starting of TB form activity --- .../AllClientsMemberProfileActivity.java | 2 +- .../FamilyOtherMemberProfileActivity.java | 2 +- .../chw/activity/HivProfileActivity.java | 3 +- .../activity/PncMemberProfileActivity.java | 2 +- .../chw/activity/TbProfileActivity.java | 7 ++--- .../chw/activity/TbRegisterActivity.java | 31 +++++++------------ .../chw/fragment/TbRegisterFragment.java | 4 ++- 7 files changed, 22 insertions(+), 29 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 81acdbbd0f..2e175cdb25 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -175,7 +175,7 @@ protected void startHivRegister() { @Override protected void startTbRegister() { - TbRegisterActivity.startTbRegistrationActivity(AllClientsMemberProfileActivity.this, baseEntityId); + TbRegisterActivity.startTbFormActivity(AllClientsMemberProfileActivity.this, baseEntityId,org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index f2d3942bb2..4fcdad4901 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -122,7 +122,7 @@ protected void startHivRegister() { @Override protected void startTbRegister() { - TbRegisterActivity.startTbRegistrationActivity(FamilyOtherMemberProfileActivity.this, baseEntityId); + TbRegisterActivity.startTbFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId,org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index ae0cc57b80..96a9591946 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -18,7 +18,6 @@ import org.smartregister.chw.core.task.RunnableTask; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.custom_view.HivFloatingMenu; -import org.smartregister.chw.fp.util.FamilyPlanningConstants; import org.smartregister.chw.hiv.activity.BaseHivRegistrationFormsActivity; import org.smartregister.chw.hiv.domain.HivMemberObject; import org.smartregister.chw.hiv.util.HivUtil; @@ -130,7 +129,7 @@ public void openMedicalHistory() { @Override public void openHivRegistrationForm() { - TbRegisterActivity.startTbRegistrationActivity(this, getHivMemberObject().getBaseEntityId()); + HivRegisterActivity.startHIVFormActivity(this, getHivMemberObject().getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index ad3a00b1af..303f047216 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -385,7 +385,7 @@ protected void startHivRegister() { @Override protected void startTbRegister() { - TbRegisterActivity.startTbRegistrationActivity(this, memberObject.getBaseEntityId()); + TbRegisterActivity.startTbFormActivity(this, memberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index 7f5a5d9e86..d878453a75 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -45,11 +45,10 @@ public static void startTbProfileActivity(Activity activity, TbMemberObject memb activity.startActivity(intent); } - public static void startTbFollowupActivity(Activity activity, String baseEntityID) { + public void startTbFollowupActivity(Activity activity, String baseEntityID) { Intent intent = new Intent(activity, BaseTbRegistrationFormsActivity.class); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); activity.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); @@ -71,7 +70,7 @@ protected void removeMember() { @Override protected void startTbCaseClosure() { - TbRegisterActivity.startTbCaseClosureActivity(this, getTbMemberObject().getBaseEntityId()); + TbRegisterActivity.startTbFormActivity(this, getTbMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbCaseClosure(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbCaseClosure()).toString()); } @Override @@ -135,7 +134,7 @@ public void openMedicalHistory() { @Override public void openTbRegistrationForm() { - TbRegisterActivity.startTbRegistrationActivity(this, getTbMemberObject().getBaseEntityId()); + TbRegisterActivity.startTbFormActivity(this, getTbMemberObject().getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java index 80cb40d341..db148b0c62 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java @@ -9,7 +9,7 @@ import com.google.android.material.bottomnavigation.LabelVisibilityMode; import org.jetbrains.annotations.NotNull; -import org.json.JSONObject; +import org.jetbrains.annotations.Nullable; import org.smartregister.chw.R; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.job.HomeVisitServiceJob; @@ -30,25 +30,13 @@ import java.util.List; -import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; - public class TbRegisterActivity extends BaseTbRegisterActivity { - public static void startTbRegistrationActivity(Activity activity, String baseEntityID) { - Intent intent = new Intent(activity, BaseTbRegistrationFormsActivity.class); + public static void startTbFormActivity(Activity activity, String baseEntityID, String formName, String payloadType) { + Intent intent = new Intent(activity, TbRegisterActivity.class); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(Constants.JSON_FORM.getTbRegistration()).toString()); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.ACTION, org.smartregister.chw.tb.util.Constants.ActivityPayloadType.REGISTRATION); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); - activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); - } - - public static void startTbCaseClosureActivity(Activity activity, String baseEntityID) { - Intent intent = new Intent(activity, BaseTbRegistrationFormsActivity.class); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(Constants.JSON_FORM.getTbCaseClosure()).toString()); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.ACTION, org.smartregister.chw.tb.util.Constants.ActivityPayloadType.REGISTRATION); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.ACTION, payloadType); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.TB_REGISTRATION_FORM_NAME, formName); activity.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); } @@ -98,8 +86,13 @@ protected void registerBottomNavigation() { } @Override - public void startFormActivity(JSONObject jsonForm) { - //Implement + public void startFormActivity(@Nullable String formName, @Nullable String entityId, @Nullable String metaData) { + Intent intent = new Intent(this, BaseTbRegistrationFormsActivity.class); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, entityId); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, metaData); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); + + this.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); } private void startRegisterActivity() { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java index ea57b36f88..e505a5062a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java @@ -15,6 +15,8 @@ import timber.log.Timber; +import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; + public class TbRegisterFragment extends CoreTbRegisterFragment { @Override @@ -40,7 +42,7 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable TbMemberObject tbMemberObject) { if (getActivity() != null) - TbProfileActivity.startTbFollowupActivity(getActivity(), tbMemberObject.getBaseEntityId()); + TbRegisterActivity.startTbFormActivity(getActivity(), tbMemberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); } } From d2cfa61604057108892447fb5ad8408c9b7a5f07 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 28 May 2020 11:53:25 +0300 Subject: [PATCH 056/915] Merged changes from show-notifications-row-on-member-profile --- .../src/ba/assets/ec_client_fields.json | 35 +++++++++++ .../activity/AncMemberProfileActivity.java | 30 ++++++++++ .../chw/activity/ChildHomeVisitActivity.java | 2 +- .../chw/activity/ChildProfileActivity.java | 31 +++++++++- .../FamilyOtherMemberProfileActivity.java | 3 + .../FamilyPlanningMemberProfileActivity.java | 39 ++++++++++++- .../chw/activity/MalariaProfileActivity.java | 58 ++++++++++++------- .../activity/PncMemberProfileActivity.java | 53 +++++++++++++---- .../UpdateRegisterDetailsActivity.java | 24 +++++++- .../chw/application/ChwSyncConfiguration.java | 2 +- .../contract/AncMemberProfileContract.java | 3 +- .../chw/contract/MalariaProfileContract.java | 4 +- .../contract/PncMemberProfileContract.java | 3 +- .../fragment/AllClientsRegisterFragment.java | 3 + .../chw/fragment/ChildRegisterFragment.java | 11 ++-- .../EligibleChildrenReportFragment.java | 9 ++- .../chw/fragment/UpdatesRegisterFragment.java | 4 +- .../model/AllClientsMemberReferralModel.java | 42 -------------- .../AllClientsMemberReferralPresenter.java | 37 ------------ .../presenter/UpdatesFragmentPresenter.java | 2 +- ...wGoToMemberProfileBasedOnRegisterTask.java | 56 ++++++++++++++++++ .../chw/util/AllClientsUtils.java | 5 +- .../chw/util/NotificationsUtil.java | 55 ++++++++++++++++++ .../org/smartregister/chw/util/Utils.java | 7 +-- .../activity_all_clients_member_profile.xml | 15 +---- 25 files changed, 385 insertions(+), 148 deletions(-) delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/AllClientsMemberReferralModel.java delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/AllClientsMemberReferralPresenter.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/task/ChwGoToMemberProfileBasedOnRegisterTask.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/util/NotificationsUtil.java diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index d46b07bd26..18aa564e4c 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -1839,6 +1839,13 @@ { "name": "ec_sick_child_followup", "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, { "column_name": "base_entity_id", "type": "Event", @@ -2014,6 +2021,13 @@ { "name": "ec_anc_danger_signs_outcome", "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, { "column_name": "base_entity_id", "type": "Event", @@ -2084,6 +2098,13 @@ { "name": "ec_pnc_danger_signs_outcome", "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, { "column_name": "base_entity_id", "type": "Event", @@ -2154,6 +2175,13 @@ { "name": "ec_malaria_followup_hf", "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, { "column_name": "base_entity_id", "type": "Event", @@ -2299,6 +2327,13 @@ { "name": "ec_family_planning_update", "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, { "column_name": "base_entity_id", "type": "Event", diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index baaa0eb722..5ff8cd8c00 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -3,6 +3,8 @@ import android.app.Activity; import android.content.ContentValues; import android.content.Intent; +import android.os.Bundle; +import android.util.Pair; import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; @@ -23,9 +25,11 @@ import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.contract.AncMemberProfileContract; import org.smartregister.chw.core.activity.CoreAncMemberProfileActivity; +import org.smartregister.chw.core.adapter.NotificationListAdapter; import org.smartregister.chw.core.application.CoreChwApplication; import org.smartregister.chw.core.form_data.NativeFormsDataBinder; import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.CoreJsonFormUtils; import org.smartregister.chw.custom_view.AncFloatingMenu; @@ -61,13 +65,19 @@ import io.reactivex.schedulers.Schedulers; import timber.log.Timber; +import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + public class AncMemberProfileActivity extends CoreAncMemberProfileActivity implements AncMemberProfileContract.View { private List referralTypeModels = new ArrayList<>(); private AncMemberProfileActivity.Flavor flavor = new AncMemberProfileActivityFlv(); + private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); public static void startMe(Activity activity, String baseEntityID) { Intent intent = new Intent(activity, AncMemberProfileActivity.class); + passToolbarTitle(activity, intent); intent.putExtra(Constants.ANC_MEMBER_OBJECTS.BASE_ENTITY_ID, baseEntityID); activity.startActivity(intent); } @@ -77,6 +87,20 @@ private void checkPhoneNumberProvided() { || !StringUtils.isBlank(getFamilyHeadPhoneNumber())); } + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + notificationAndReferralRecyclerView.setAdapter(notificationListAdapter); + notificationListAdapter.setOnClickListener(this); + } + + @Override + protected void onResume() { + super.onResume(); + notificationListAdapter.canOpen = true; + ChwNotificationUtil.retrieveNotifications(ChwApplication.getApplicationFlavor().hasReferrals(), + memberObject.getBaseEntityId(), this); + } @Override protected void onCreation() { @@ -294,6 +318,7 @@ public void onClick(View view) { } else if (id == R.id.textview_edit) { AncHomeVisitActivity.startMe(this, memberObject.getBaseEntityId(), true); } + handleNotificationRowClick(this, view, notificationListAdapter, memberObject.getBaseEntityId()); } @Override @@ -354,6 +379,11 @@ public List getReferralTypeModels() { return referralTypeModels; } + @Override + public void onReceivedNotifications(List> notifications) { + handleReceivedNotifications(this, notifications, notificationListAdapter); + } + public interface Flavor { Boolean hasFamilyLocationRow(); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildHomeVisitActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildHomeVisitActivity.java index 4a40ad5d4a..0f9f86c259 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildHomeVisitActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildHomeVisitActivity.java @@ -14,7 +14,7 @@ protected void registerPresenter() { @Override public void submittedAndClose() { super.submittedAndClose(); - ChildProfileActivity.startMe(this, memberObject, ChildProfileActivity.class); + ChildProfileActivity.startMe(this, memberObject, ChildProfileActivity.class); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java index 48b4f31e64..a358d87b0e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java @@ -3,6 +3,8 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.os.Bundle; +import android.util.Pair; import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; @@ -16,9 +18,12 @@ import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.activity.CoreChildProfileActivity; import org.smartregister.chw.core.activity.CoreUpcomingServicesActivity; +import org.smartregister.chw.core.adapter.NotificationListAdapter; import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.listener.OnRetrieveNotifications; import org.smartregister.chw.core.model.CoreChildProfileModel; import org.smartregister.chw.core.presenter.CoreChildProfilePresenter; +import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.custom_view.FamilyMemberFloatingMenu; import org.smartregister.chw.malaria.dao.MalariaDao; @@ -34,11 +39,14 @@ import java.util.List; import static org.smartregister.chw.anc.util.Constants.ANC_MEMBER_OBJECTS.MEMBER_PROFILE_OBJECT; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; -public class ChildProfileActivity extends CoreChildProfileActivity { +public class ChildProfileActivity extends CoreChildProfileActivity implements OnRetrieveNotifications { public FamilyMemberFloatingMenu familyFloatingMenu; private Flavor flavor = new ChildProfileActivityFlv(); private List referralTypeModels = new ArrayList<>(); + private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); public List getReferralTypeModels() { return referralTypeModels; @@ -57,6 +65,21 @@ protected void onCreation() { } } + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + notificationAndReferralRecyclerView.setAdapter(notificationListAdapter); + notificationListAdapter.setOnClickListener(this); + } + + @Override + protected void onResume() { + super.onResume(); + notificationListAdapter.canOpen = true; + ChwNotificationUtil.retrieveNotifications(ChwApplication.getApplicationFlavor().hasReferrals(), + childBaseEntityId, this); + } + @Override public void onClick(View view) { super.onClick(view); @@ -79,6 +102,7 @@ public void onClick(View view) { } else if (i == R.id.textview_undo) { presenter().updateVisitNotDone(0); } + handleNotificationRowClick(this, view, notificationListAdapter, childBaseEntityId); } @Override @@ -207,6 +231,11 @@ public void startFormActivity(JSONObject jsonForm) { startActivityForResult(flavor.getSickChildFormActivityIntent(jsonForm, this), JsonFormUtils.REQUEST_CODE_GET_JSON); } + @Override + public void onReceivedNotifications(List> notifications) { + handleReceivedNotifications(this, notifications, notificationListAdapter); + } + public interface Flavor { OnClickFloatingMenu getOnClickFloatingMenu(Activity activity, ChildProfilePresenter presenter); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index 4fcdad4901..dfd8b5780b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -30,6 +30,8 @@ import timber.log.Timber; +import static org.smartregister.chw.core.utils.Utils.updateToolbarTitle; + import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; public class FamilyOtherMemberProfileActivity extends CoreFamilyOtherMemberProfileActivity { @@ -40,6 +42,7 @@ public class FamilyOtherMemberProfileActivity extends CoreFamilyOtherMemberProfi protected void onCreation() { super.onCreation(); setIndependentClient(false); + updateToolbarTitle(this, R.id.toolbar_title, familyName); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyPlanningMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyPlanningMemberProfileActivity.java index d6610cad94..996051f802 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyPlanningMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyPlanningMemberProfileActivity.java @@ -3,6 +3,8 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.os.Bundle; +import android.util.Pair; import android.view.Gravity; import android.view.View; import android.widget.LinearLayout; @@ -11,12 +13,16 @@ import org.json.JSONObject; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; +import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.activity.CoreFamilyPlanningMemberProfileActivity; import org.smartregister.chw.core.activity.CoreFpUpcomingServicesActivity; +import org.smartregister.chw.core.adapter.NotificationListAdapter; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.interactor.CoreFamilyPlanningProfileInteractor; import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.listener.OnRetrieveNotifications; import org.smartregister.chw.core.presenter.CoreFamilyPlanningProfilePresenter; +import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.FpUtil; import org.smartregister.chw.custom_view.FamilyPlanningFloatingMenu; @@ -33,13 +39,19 @@ import timber.log.Timber; +import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + public class FamilyPlanningMemberProfileActivity extends CoreFamilyPlanningMemberProfileActivity - implements FamilyProfileExtendedContract.PresenterCallBack { + implements FamilyProfileExtendedContract.PresenterCallBack, OnRetrieveNotifications { private List referralTypeModels = new ArrayList<>(); + private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); public static void startFpMemberProfileActivity(Activity activity, FpMemberObject memberObject) { Intent intent = new Intent(activity, FamilyPlanningMemberProfileActivity.class); + passToolbarTitle(activity, intent); intent.putExtra(FamilyPlanningConstants.FamilyPlanningMemberObject.MEMBER_OBJECT, memberObject); activity.startActivity(intent); } @@ -50,6 +62,21 @@ protected void onCreation() { addFpReferralTypes(); } + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + notificationAndReferralRecyclerView.setAdapter(notificationListAdapter); + notificationListAdapter.setOnClickListener(this); + } + + @Override + protected void onResume() { + super.onResume(); + notificationListAdapter.canOpen = true; + ChwNotificationUtil.retrieveNotifications(ChwApplication.getApplicationFlavor().hasReferrals(), + fpMemberObject.getBaseEntityId(), this); + } + @Override protected void removeMember() { IndividualProfileRemoveActivity.startIndividualProfileActivity(FamilyPlanningMemberProfileActivity.this, @@ -108,6 +135,7 @@ public void onClick(View view) { if (id == R.id.record_fp_followup_visit) { openFollowUpVisitForm(false); } + handleNotificationRowClick(this, view, notificationListAdapter, fpMemberObject.getBaseEntityId()); } private void checkPhoneNumberProvided() { @@ -202,10 +230,10 @@ public void openFollowUpVisitForm(boolean isEdit) { private void addFpReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.family_planning_referral), - org.smartregister.chw.util.Constants.JSON_FORM.getFamilyPlanningReferralForm(fpMemberObject.getGender()),CoreConstants.TASKS_FOCUS.FP_SIDE_EFFECTS)); + org.smartregister.chw.util.Constants.JSON_FORM.getFamilyPlanningReferralForm(fpMemberObject.getGender()), CoreConstants.TASKS_FOCUS.FP_SIDE_EFFECTS)); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), - org.smartregister.chw.util.Constants.JSON_FORM.getGbvReferralForm(),CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + org.smartregister.chw.util.Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); } } @@ -213,5 +241,10 @@ private void addFpReferralTypes() { public List getReferralTypeModels() { return referralTypeModels; } + + @Override + public void onReceivedNotifications(List> notifications) { + handleReceivedNotifications(this, notifications, notificationListAdapter); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MalariaProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MalariaProfileActivity.java index 9ec7539084..e4f8ef772a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MalariaProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MalariaProfileActivity.java @@ -4,6 +4,8 @@ import android.content.Context; import android.content.Intent; import android.os.AsyncTask; +import android.os.Bundle; +import android.util.Pair; import android.view.Gravity; import android.view.MenuItem; import android.view.View; @@ -27,6 +29,7 @@ import org.smartregister.chw.contract.MalariaProfileContract; import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; import org.smartregister.chw.core.activity.CoreMalariaProfileActivity; +import org.smartregister.chw.core.adapter.NotificationListAdapter; import org.smartregister.chw.core.application.CoreChwApplication; import org.smartregister.chw.core.custom_views.CoreMalariaFloatingMenu; import org.smartregister.chw.core.dao.AncDao; @@ -35,6 +38,7 @@ import org.smartregister.chw.core.listener.OnClickFloatingMenu; import org.smartregister.chw.core.rule.MalariaFollowUpRule; import org.smartregister.chw.core.rule.PncVisitAlertRule; +import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.HomeVisitUtil; import org.smartregister.chw.core.utils.MalariaVisitUtil; @@ -49,9 +53,7 @@ import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.Utils; import org.smartregister.clientandeventmodel.Event; -import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.commonregistry.CommonPersonObjectClient; -import org.smartregister.commonregistry.CommonRepository; import org.smartregister.family.model.BaseFamilyOtherMemberProfileActivityModel; import org.smartregister.util.FormUtils; @@ -64,7 +66,10 @@ import timber.log.Timber; import static org.smartregister.chw.anc.AncLibrary.getInstance; +import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; import static org.smartregister.chw.malaria.util.Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; public class MalariaProfileActivity extends CoreMalariaProfileActivity implements MalariaProfileContract.View { @@ -72,27 +77,43 @@ public class MalariaProfileActivity extends CoreMalariaProfileActivity implement private List referralTypeModels = new ArrayList<>(); private static final String ANC = "anc"; private static final String PNC = "pnc"; - private FormUtils formUtils; + private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); + + private List getReferralTypeModels() { + return referralTypeModels; + } public static void startMalariaActivity(Activity activity, String baseEntityId) { MalariaProfileActivity.baseEntityId = baseEntityId; Intent intent = new Intent(activity, MalariaProfileActivity.class); intent.putExtra(BASE_ENTITY_ID, baseEntityId); + passToolbarTitle(activity, intent); activity.startActivity(intent); } - private List getReferralTypeModels() { - return referralTypeModels; - } - private FormUtils getFormUtils() throws Exception { - if (formUtils == null){ + if (formUtils == null) { formUtils = FormUtils.getInstance(ChwApplication.getInstance()); } return formUtils; } + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + notificationAndReferralRecyclerView.setAdapter(notificationListAdapter); + notificationListAdapter.setOnClickListener(this); + } + + @Override + protected void onResume() { + super.onResume(); + notificationListAdapter.canOpen = true; + ChwNotificationUtil.retrieveNotifications(ChwApplication.getApplicationFlavor().hasReferrals(), + baseEntityId, this); + } + @Override protected void initializePresenter() { showProgressBar(true); @@ -130,11 +151,11 @@ protected void onCreation() { private void addMalariaReferralTypes() { getReferralTypeModels().add(new ReferralTypeModel(getString(R.string.suspected_malaria), - Constants.MALARIA_REFERRAL_FORM,CoreConstants.TASKS_FOCUS.SUSPECTED_MALARIA)); + Constants.MALARIA_REFERRAL_FORM, CoreConstants.TASKS_FOCUS.SUSPECTED_MALARIA)); } @Override - public void referToFacility(){ + public void referToFacility() { if (getReferralTypeModels().size() == 1) { try { startFormActivity(getFormUtils().getFormJson(getReferralTypeModels().get(0).getFormName())); @@ -211,6 +232,7 @@ public void onClick(View view) { AncHomeVisitActivity.startMe(this, memberObject.getBaseEntityId(), true); } } + handleNotificationRowClick(this, view, notificationListAdapter, baseEntityId); } private void saveAncVisit(String eventType) { @@ -264,15 +286,6 @@ public void startFormForEdit(Integer title_resource, String formName) { } } - protected static CommonPersonObjectClient getClientDetailsByBaseEntityID(@NonNull String baseEntityId) { - CommonRepository commonRepository = Utils.context().commonrepository(Utils.metadata().familyMemberRegister.tableName); - CommonPersonObject commonPersonObject = commonRepository.findByBaseEntityId(baseEntityId); - CommonPersonObjectClient client = - new CommonPersonObjectClient(commonPersonObject.getCaseId(), commonPersonObject.getDetails(), ""); - client.setColumnmaps(commonPersonObject.getColumnmaps()); - return client; - } - @Override public void refreshList() { //implement @@ -343,7 +356,7 @@ public void initializeFloatingMenu() { ((CoreMalariaFloatingMenu) baseMalariaFloatingMenu).animateFAB(); break; case R.id.refer_to_facility_layout: - referToFacility(); + referToFacility(); ((CoreMalariaFloatingMenu) baseMalariaFloatingMenu).animateFAB(); break; default: @@ -360,6 +373,11 @@ public void initializeFloatingMenu() { addContentView(baseMalariaFloatingMenu, linearLayoutParams); } + @Override + public void onReceivedNotifications(List> notifications) { + handleReceivedNotifications(this, notifications, notificationListAdapter); + } + private class UpdateVisitDueTask extends AsyncTask { private MalariaFollowUpRule malariaFollowUpRule; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index 303f047216..272b5eea1c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -2,6 +2,7 @@ import android.app.Activity; import android.content.Intent; +import android.os.Bundle; import android.util.Pair; import android.view.Gravity; import android.view.Menu; @@ -23,9 +24,11 @@ import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; import org.smartregister.chw.core.activity.CorePncMemberProfileActivity; import org.smartregister.chw.core.activity.CorePncRegisterActivity; +import org.smartregister.chw.core.adapter.NotificationListAdapter; import org.smartregister.chw.core.interactor.CorePncMemberProfileInteractor; import org.smartregister.chw.core.listener.OnClickFloatingMenu; import org.smartregister.chw.core.rule.PncVisitAlertRule; +import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.CoreJsonFormUtils; import org.smartregister.chw.custom_view.AncFloatingMenu; @@ -64,19 +67,40 @@ import io.reactivex.schedulers.Schedulers; import timber.log.Timber; +import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; public class PncMemberProfileActivity extends CorePncMemberProfileActivity implements PncMemberProfileContract.View { private Flavor flavor = new PncMemberProfileActivityFlv(); private List referralTypeModels = new ArrayList<>(); + private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); public static void startMe(Activity activity, String baseEntityID) { Intent intent = new Intent(activity, PncMemberProfileActivity.class); intent.putExtra(Constants.ANC_MEMBER_OBJECTS.BASE_ENTITY_ID, baseEntityID); + passToolbarTitle(activity, intent); activity.startActivity(intent); } + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + notificationAndReferralRecyclerView.setAdapter(notificationListAdapter); + notificationListAdapter.setOnClickListener(this); + } + + @Override + protected void onResume() { + super.onResume(); + notificationListAdapter.canOpen = true; + ChwNotificationUtil.retrieveNotifications(ChwApplication.getApplicationFlavor().hasReferrals(), + baseEntityID, this); + } + @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); @@ -278,7 +302,7 @@ public boolean onCreateOptionsMenu(Menu menu) { @Override public void onClick(View view) { super.onClick(view); - + handleNotificationRowClick(this, view, notificationListAdapter, baseEntityID); switch (view.getId()) { case R.id.textview_record_visit: case R.id.textview_record_reccuring_visit: @@ -355,15 +379,15 @@ public List getReferralTypeModels() { private void addPncReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_danger_signs), - BuildConfig.USE_UNIFIED_REFERRAL_APPROACH ? org.smartregister.chw.util.Constants.JSON_FORM.getPncUnifiedReferralForm() : org.smartregister.chw.util.Constants.JSON_FORM.getPncReferralForm(),CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); - referralTypeModels.add(new ReferralTypeModel(getString(R.string.fp_post_partum), null,null)); + BuildConfig.USE_UNIFIED_REFERRAL_APPROACH ? org.smartregister.chw.util.Constants.JSON_FORM.getPncUnifiedReferralForm() : org.smartregister.chw.util.Constants.JSON_FORM.getPncReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); + referralTypeModels.add(new ReferralTypeModel(getString(R.string.fp_post_partum), null, null)); if (MalariaDao.isRegisteredForMalaria(((PncMemberProfilePresenter) presenter()).getEntityId())) { - referralTypeModels.add(new ReferralTypeModel(getString(R.string.client_malaria_follow_up), null,null)); + referralTypeModels.add(new ReferralTypeModel(getString(R.string.client_malaria_follow_up), null, null)); } if(BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), - org.smartregister.chw.util.Constants.JSON_FORM.getGbvReferralForm(),CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + org.smartregister.chw.util.Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); } } @@ -400,17 +424,22 @@ protected void startMalariaFollowUpVisit() { @Override protected void getRemoveBabyMenuItem(MenuItem item) { - for (CommonPersonObjectClient child : getChildren(memberObject)) { - for (Map.Entry entry : menuItemRemoveNames.entrySet()) { - if (entry.getKey().equalsIgnoreCase(item.getTitle().toString()) && entry.getValue().equalsIgnoreCase(child.entityId())) { - IndividualProfileRemoveActivity.startIndividualProfileActivity(PncMemberProfileActivity.this, child, - memberObject.getFamilyBaseEntityId() - , memberObject.getFamilyHead(), memberObject.getPrimaryCareGiver(), ChildRegisterActivity.class.getCanonicalName()); - } + for (CommonPersonObjectClient child : getChildren(memberObject)) { + for (Map.Entry entry : menuItemRemoveNames.entrySet()) { + if (entry.getKey().equalsIgnoreCase(item.getTitle().toString()) && entry.getValue().equalsIgnoreCase(child.entityId())) { + IndividualProfileRemoveActivity.startIndividualProfileActivity(PncMemberProfileActivity.this, child, + memberObject.getFamilyBaseEntityId() + , memberObject.getFamilyHead(), memberObject.getPrimaryCareGiver(), ChildRegisterActivity.class.getCanonicalName()); } + } } } + @Override + public void onReceivedNotifications(List> notifications) { + handleReceivedNotifications(this, notifications, notificationListAdapter); + } + public interface Flavor { Boolean onCreateOptionsMenu(@Nullable Menu menu, @Nullable String baseEntityId); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdateRegisterDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdateRegisterDetailsActivity.java index 3822ed3a87..8e23c35407 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdateRegisterDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdateRegisterDetailsActivity.java @@ -2,23 +2,43 @@ import android.app.Activity; import android.content.Intent; +import android.os.Bundle; +import android.view.View; + +import androidx.annotation.Nullable; import org.smartregister.chw.core.activity.BaseChwNotificationDetailsActivity; +import org.smartregister.chw.core.activity.BaseChwNotificationRegister; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.task.ChwGoToMemberProfileBasedOnRegisterTask; +import org.smartregister.commonregistry.CommonPersonObjectClient; import static org.smartregister.chw.core.utils.CoreConstants.DB_CONSTANTS.NOTIFICATION_ID; import static org.smartregister.chw.core.utils.CoreConstants.DB_CONSTANTS.NOTIFICATION_TYPE; public class UpdateRegisterDetailsActivity extends BaseChwNotificationDetailsActivity { - public static void startActivity(Activity launcherActivity, String notificationId, String notificationType) { + private static boolean hideViewProfileAction; + + public static void startActivity(CommonPersonObjectClient client, Activity launcherActivity, + String notificationId, String notificationType) { Intent intent = new Intent(launcherActivity, UpdateRegisterDetailsActivity.class); intent.putExtra(NOTIFICATION_ID, notificationId); intent.putExtra(NOTIFICATION_TYPE, notificationType); + intent.putExtra(CoreConstants.INTENT_KEY.CLIENT, client); + hideViewProfileAction = !(launcherActivity instanceof BaseChwNotificationRegister); launcherActivity.startActivity(intent); } @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (hideViewProfileAction) { + viewProfileTextView.setVisibility(View.GONE); + } + } + public void goToMemberProfile() { - //TODO implement + new ChwGoToMemberProfileBasedOnRegisterTask(commonPersonObjectClient, getIntent().getExtras(), notificationType, this).execute(); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java index 0bd45e6ca7..680969cc44 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java @@ -65,7 +65,7 @@ public boolean isSyncUsingPost() { @Override public List getSynchronizedLocationTags() { - return Collections.singletonList("Facility"); + return Collections.singletonList("MOH Jhpiego Facility Name"); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/contract/AncMemberProfileContract.java b/opensrp-chw/src/main/java/org/smartregister/chw/contract/AncMemberProfileContract.java index 19a969634e..c22b2612f3 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/contract/AncMemberProfileContract.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/contract/AncMemberProfileContract.java @@ -1,5 +1,6 @@ package org.smartregister.chw.contract; +import org.smartregister.chw.core.listener.OnRetrieveNotifications; import org.smartregister.chw.model.ReferralTypeModel; import java.util.List; @@ -9,7 +10,7 @@ interface Presenter{ void referToFacility(); } - interface View{ + interface View extends OnRetrieveNotifications { List getReferralTypeModels(); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/contract/MalariaProfileContract.java b/opensrp-chw/src/main/java/org/smartregister/chw/contract/MalariaProfileContract.java index 7e0e386b25..fcf86d118d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/contract/MalariaProfileContract.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/contract/MalariaProfileContract.java @@ -1,7 +1,9 @@ package org.smartregister.chw.contract; +import org.smartregister.chw.core.listener.OnRetrieveNotifications; + public interface MalariaProfileContract { - interface View extends org.smartregister.chw.malaria.contract.MalariaProfileContract.View { + interface View extends org.smartregister.chw.malaria.contract.MalariaProfileContract.View, OnRetrieveNotifications { void referToFacility(); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/contract/PncMemberProfileContract.java b/opensrp-chw/src/main/java/org/smartregister/chw/contract/PncMemberProfileContract.java index fb85c2e36e..689509816c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/contract/PncMemberProfileContract.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/contract/PncMemberProfileContract.java @@ -2,6 +2,7 @@ import org.json.JSONObject; import org.smartregister.chw.anc.contract.BaseAncMemberProfileContract; +import org.smartregister.chw.core.listener.OnRetrieveNotifications; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.pnc.contract.BasePncMemberProfileContract; import org.smartregister.repository.AllSharedPreferences; @@ -10,7 +11,7 @@ public interface PncMemberProfileContract { - interface View extends BasePncMemberProfileContract.View { + interface View extends BasePncMemberProfileContract.View, OnRetrieveNotifications { void startFormActivity(JSONObject formJson); List getReferralTypeModels(); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java index bc39b0c388..f8a2ad59a4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java @@ -12,6 +12,8 @@ import org.smartregister.chw.model.FamilyDetailsModel; import org.smartregister.chw.util.AllClientsUtils; import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.family.util.Constants; +import org.smartregister.opd.utils.OpdDbConstants; public class AllClientsRegisterFragment extends CoreAllClientsRegisterFragment { public static final String REGISTER_TYPE = "register_type"; @@ -36,6 +38,7 @@ protected void goToClientDetailActivity(@NonNull CommonPersonObjectClient common bundle.putString(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_HEAD, familyDetailsModel.getFamilyHead()); bundle.putString(org.smartregister.family.util.Constants.INTENT_KEY.PRIMARY_CAREGIVER, familyDetailsModel.getPrimaryCareGiver()); bundle.putString(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_NAME, familyDetailsModel.getFamilyName()); + bundle.putString(Constants.INTENT_KEY.VILLAGE_TOWN, commonPersonObjectClient.getDetails().get(OpdDbConstants.KEY.HOME_ADDRESS)); } if (registerType != null) { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ChildRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ChildRegisterFragment.java index ab218fc92c..1c24d434f8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ChildRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ChildRegisterFragment.java @@ -11,12 +11,15 @@ import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.configurableviews.model.View; import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; +import org.smartregister.family.util.Utils; import org.smartregister.view.activity.BaseRegisterActivity; import java.util.Set; import timber.log.Timber; +import static org.smartregister.chw.core.utils.ChildDBConstants.KEY.FAMILY_LAST_NAME; + public class ChildRegisterFragment extends CoreChildRegisterFragment { @Override @@ -30,13 +33,13 @@ protected void onViewClicked(android.view.View view) { } @Override - public void goToChildDetailActivity(CommonPersonObjectClient patient, - boolean launchDialog) { + public void goToChildDetailActivity(CommonPersonObjectClient patient, boolean launchDialog) { if (launchDialog) { Timber.i(patient.name); } - - ChildProfileActivity.startMe(getActivity(), new MemberObject(patient), ChildProfileActivity.class); + MemberObject memberObject = new MemberObject(patient); + memberObject.setFamilyName(Utils.getValue(patient.getColumnmaps(), FAMILY_LAST_NAME, false)); + ChildProfileActivity.startMe(getActivity(),memberObject , ChildProfileActivity.class); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/EligibleChildrenReportFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/EligibleChildrenReportFragment.java index a4e3951030..3ca96b101e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/EligibleChildrenReportFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/EligibleChildrenReportFragment.java @@ -16,6 +16,7 @@ import org.smartregister.chw.viewholder.ListableViewHolder; import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.family.util.Utils; import io.reactivex.Observable; import io.reactivex.Observer; @@ -24,6 +25,7 @@ import io.reactivex.schedulers.Schedulers; import timber.log.Timber; +import static org.smartregister.chw.core.utils.ChildDBConstants.KEY.FAMILY_LAST_NAME; import static org.smartregister.chw.core.utils.CoreReferralUtils.getCommonRepository; public class EligibleChildrenReportFragment extends ReportResultFragment { @@ -65,8 +67,11 @@ public void onSubscribe(Disposable d) { public void onNext(CommonPersonObjectClient client) { setLoadingState(false); Activity activity = getActivity(); - if (activity != null) - ChildProfileActivity.startMe(activity, new MemberObject(client), ChildProfileActivity.class); + if (activity != null) { + MemberObject memberObject = new MemberObject(client); + memberObject.setFamilyName(Utils.getValue(client.getColumnmaps(), FAMILY_LAST_NAME, false)); + ChildProfileActivity.startMe(activity, memberObject, ChildProfileActivity.class); + } } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/UpdatesRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/UpdatesRegisterFragment.java index 3d3461fde7..765945aaab 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/UpdatesRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/UpdatesRegisterFragment.java @@ -38,8 +38,8 @@ public void setAdvancedSearchFormData(HashMap advancedSearchForm protected void onViewClicked(View view) { CommonPersonObjectClient client = (CommonPersonObjectClient) view.getTag(); String notificationType = Utils.getValue(client.getColumnmaps(), NOTIFICATION_TYPE, true); - String notificationId = Utils.getValue(client.getColumnmaps(), NOTIFICATION_ID, true).toLowerCase(); - getFragmentPresenter().displayDetailsActivity(client,notificationId, notificationType); + String notificationId = Utils.getValue(client.getColumnmaps(), NOTIFICATION_ID, false); + getFragmentPresenter().displayDetailsActivity(client, notificationId, notificationType); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/AllClientsMemberReferralModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/AllClientsMemberReferralModel.java deleted file mode 100644 index 8fd1b81a3c..0000000000 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/AllClientsMemberReferralModel.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.smartregister.chw.model; - - -import androidx.annotation.NonNull; - -import org.jetbrains.annotations.NotNull; -import org.smartregister.chw.core.utils.ChildDBConstants; -import org.smartregister.chw.referral.model.BaseIssueReferralModel; -import org.smartregister.chw.util.Constants; -import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; -import org.smartregister.family.util.DBConstants; - -import java.util.HashSet; -import java.util.Set; - -public class AllClientsMemberReferralModel extends BaseIssueReferralModel { - - @NonNull - @Override - public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { - SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); - queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); - return queryBuilder.mainCondition(mainCondition); - } - - @NotNull - @Override - public String[] mainColumns(String tableName) { - Set columnList = new HashSet<>(); - - columnList.add(tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); - columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); - columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.FIRST_NAME); - columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); - columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.LAST_NAME); - columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DOB); - columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.GENDER); - columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); - columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); - return columnList.toArray(new String[0]); - } -} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AllClientsMemberReferralPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AllClientsMemberReferralPresenter.java deleted file mode 100644 index 59f794a45d..0000000000 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AllClientsMemberReferralPresenter.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.smartregister.chw.presenter; - -import org.jetbrains.annotations.NotNull; -import org.smartregister.chw.model.AllClientsMemberReferralModel; -import org.smartregister.chw.referral.contract.BaseIssueReferralContract; -import org.smartregister.chw.referral.model.AbstractIssueReferralModel; -import org.smartregister.chw.referral.presenter.BaseIssueReferralPresenter; -import org.smartregister.chw.referral.util.DBConstants; -import org.smartregister.chw.util.Constants; - -public class AllClientsMemberReferralPresenter extends BaseIssueReferralPresenter { - - public AllClientsMemberReferralPresenter(String baseEntityId, BaseIssueReferralContract.View view, - Class viewModelClass, - BaseIssueReferralContract.Interactor interactor) { - super(baseEntityId, view, viewModelClass, interactor); - } - - @NotNull - @Override - public Class getViewModel() { - return AllClientsMemberReferralModel.class; - } - - @NotNull - @Override - public String getMainCondition() { - return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.BASE_ENTITY_ID + " = '" + getBaseEntityID() + "'"; - } - - - @NotNull - @Override - public String getMainTable() { - return Constants.TABLE_NAME.FAMILY_MEMBER; - } -} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/UpdatesFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/UpdatesFragmentPresenter.java index 9d81d47262..b73733fe62 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/UpdatesFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/UpdatesFragmentPresenter.java @@ -18,6 +18,6 @@ public UpdatesFragmentPresenter(BaseChwNotificationFragmentContract.View view) { @Override public void displayDetailsActivity(CommonPersonObjectClient commonPersonObjectClient, String notificationId, String notificationType) { Activity activity = ((UpdatesRegisterFragment) getView()).getActivity(); - UpdateRegisterDetailsActivity.startActivity(activity, notificationId, notificationType); + UpdateRegisterDetailsActivity.startActivity(commonPersonObjectClient, activity, notificationId, notificationType); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/task/ChwGoToMemberProfileBasedOnRegisterTask.java b/opensrp-chw/src/main/java/org/smartregister/chw/task/ChwGoToMemberProfileBasedOnRegisterTask.java new file mode 100644 index 0000000000..5098fe6577 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/task/ChwGoToMemberProfileBasedOnRegisterTask.java @@ -0,0 +1,56 @@ +package org.smartregister.chw.task; + +import android.app.Activity; +import android.os.Bundle; + +import org.smartregister.chw.activity.AboveFiveChildProfileActivity; +import org.smartregister.chw.activity.AncMemberProfileActivity; +import org.smartregister.chw.activity.ChildProfileActivity; +import org.smartregister.chw.activity.FamilyPlanningMemberProfileActivity; +import org.smartregister.chw.activity.MalariaProfileActivity; +import org.smartregister.chw.activity.PncMemberProfileActivity; +import org.smartregister.chw.anc.activity.BaseAncMemberProfileActivity; +import org.smartregister.chw.core.activity.CoreAboveFiveChildProfileActivity; +import org.smartregister.chw.core.activity.CoreChildProfileActivity; +import org.smartregister.chw.core.task.CoreChwNotificationGoToMemberProfileTask; +import org.smartregister.chw.fp.dao.FpDao; +import org.smartregister.chw.malaria.activity.BaseMalariaProfileActivity; +import org.smartregister.chw.pnc.activity.BasePncMemberProfileActivity; +import org.smartregister.commonregistry.CommonPersonObjectClient; + +public class ChwGoToMemberProfileBasedOnRegisterTask extends CoreChwNotificationGoToMemberProfileTask { + + public ChwGoToMemberProfileBasedOnRegisterTask(CommonPersonObjectClient commonPersonObjectClient, Bundle bundle, String notificationType, Activity activity) { + super(commonPersonObjectClient, bundle, notificationType, activity); + } + + @Override + protected void goToFpProfile(String baseEntityId, Activity activity) { + FamilyPlanningMemberProfileActivity.startFpMemberProfileActivity(activity, FpDao.getMember(baseEntityId)); + } + + @Override + protected Class getAboveFiveChildProfileActivityClass() { + return AboveFiveChildProfileActivity.class; + } + + @Override + protected Class getChildProfileActivityClass() { + return ChildProfileActivity.class; + } + + @Override + protected Class getAncMemberProfileActivityClass() { + return AncMemberProfileActivity.class; + } + + @Override + protected Class getPncMemberProfileActivityClass() { + return PncMemberProfileActivity.class; + } + + @Override + protected Class getMalariaProfileActivityClass() { + return MalariaProfileActivity.class; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java index f8c8a81c39..7f449bee85 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java @@ -34,6 +34,7 @@ import java.util.List; import static org.smartregister.chw.core.utils.CoreConstants.INTENT_KEY.CLIENT; +import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; import static org.smartregister.opd.utils.OpdDbConstants.KEY.REGISTER_TYPE; import static org.smartregister.util.Utils.showShortToast; @@ -51,6 +52,7 @@ public static void goToChildProfile(Activity activity, CommonPersonObjectClient if (bundle != null) { intent.putExtras(bundle); } + passToolbarTitle(activity, intent); intent.putExtra(Constants.INTENT_KEY.BASE_ENTITY_ID, patient.getCaseId()); intent.putExtra(org.smartregister.chw.anc.util.Constants.ANC_MEMBER_OBJECTS.MEMBER_PROFILE_OBJECT, new MemberObject(patient)); activity.startActivity(intent); @@ -81,7 +83,7 @@ private static Intent initProfileActivityIntent(Activity activity, CommonPersonO } intent.putExtra(org.smartregister.chw.anc.util.Constants.ANC_MEMBER_OBJECTS.BASE_ENTITY_ID, patient.entityId()); intent.putExtra(CLIENT, patient); - intent.putExtra(org.smartregister.chw.anc.util.Constants.ANC_MEMBER_OBJECTS.TITLE_VIEW_TEXT, R.string.return_to_all_client); + passToolbarTitle(activity, intent); return intent; } @@ -104,6 +106,7 @@ public static void goToOtherMemberProfile(Activity activity, CommonPersonObjectC intent.putExtra(Constants.INTENT_KEY.FAMILY_HEAD, familyHead); intent.putExtra(Constants.INTENT_KEY.PRIMARY_CAREGIVER, primaryCaregiver); intent.putExtra(Constants.INTENT_KEY.VILLAGE_TOWN, patient.getDetails().get(OpdDbConstants.KEY.HOME_ADDRESS)); + passToolbarTitle(activity, intent); activity.startActivity(intent); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/NotificationsUtil.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/NotificationsUtil.java new file mode 100644 index 0000000000..7f174d0eb4 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/NotificationsUtil.java @@ -0,0 +1,55 @@ +package org.smartregister.chw.util; + +import android.app.Activity; +import android.util.Pair; +import android.view.View; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.R; +import org.smartregister.chw.activity.UpdateRegisterDetailsActivity; +import org.smartregister.chw.core.adapter.NotificationListAdapter; +import org.smartregister.commonregistry.CommonPersonObject; +import org.smartregister.commonregistry.CommonPersonObjectClient; + +import java.util.List; + +import static org.smartregister.chw.core.utils.CoreReferralUtils.getCommonRepository; + +public class NotificationsUtil { + + public static void handleNotificationRowClick(Activity launcherActivity, View view, + NotificationListAdapter notificationListAdapter, String baseEntityId) { + if (view.getTag() instanceof NotificationListAdapter.NotificationRowViewHolder + && notificationListAdapter.canOpen) { + notificationListAdapter.canOpen = false; + NotificationListAdapter.NotificationRowViewHolder notificationRowViewHolder = + (NotificationListAdapter.NotificationRowViewHolder) view.getTag(); + Pair notificationRecord = notificationListAdapter.getNotificationRecords() + .get(notificationRowViewHolder.getAdapterPosition()); + CommonPersonObjectClient client = getClientDetails(baseEntityId); + UpdateRegisterDetailsActivity.startActivity(client, launcherActivity, + notificationRecord.first, notificationRecord.second); + } + } + + + @NotNull + private static CommonPersonObjectClient getClientDetails(String baseEntityId) { + final CommonPersonObject personObject = getCommonRepository(Utils.metadata().familyMemberRegister.tableName) + .findByBaseEntityId(baseEntityId); + CommonPersonObjectClient commonPersonObjectClient = new CommonPersonObjectClient(personObject.getCaseId(), + personObject.getDetails(), ""); + commonPersonObjectClient.setColumnmaps(personObject.getColumnmaps()); + commonPersonObjectClient.setDetails(personObject.getDetails()); + return commonPersonObjectClient; + } + + public static void handleReceivedNotifications(Activity activity, List> notifications, + NotificationListAdapter notificationListAdapter) { + notificationListAdapter.getNotificationRecords().clear(); + notificationListAdapter.getNotificationRecords().addAll(notifications); + notificationListAdapter.notifyDataSetChanged(); + activity.findViewById(R.id.notification_and_referral_row).setVisibility(View.VISIBLE); + activity.findViewById(R.id.view_notification_and_referral_row).setVisibility(View.VISIBLE); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java index 7d0a89950a..14fe62c4d4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java @@ -25,7 +25,7 @@ public class Utils extends org.smartregister.chw.core.utils.Utils { public static void launchClientReferralActivity(Activity activity, List referralTypeModels, String baseEntityId) { - if (activity instanceof AllClientsMemberProfileActivity){ + if (activity instanceof AllClientsMemberProfileActivity) { ClientReferralActivity.isStartedFromAllClients = true; } Bundle bundle = new Bundle(); @@ -40,7 +40,7 @@ public static List getCommonReferralTypes(Activity activity) List referralTypeModels = new ArrayList<>(); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.gbv_referral), - Constants.JSON_FORM.getGbvReferralForm(),CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); } return referralTypeModels; } @@ -59,8 +59,7 @@ public static String toCSV(String[] list) { public static void setupBottomNavigation(BottomNavigationHelper bottomNavigationHelper, BottomNavigationView bottomNavigationView, - BottomNavigationView.OnNavigationItemSelectedListener listener) - { + BottomNavigationView.OnNavigationItemSelectedListener listener) { if (bottomNavigationView != null) { bottomNavigationView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED); diff --git a/opensrp-chw/src/main/res/layout/activity_all_clients_member_profile.xml b/opensrp-chw/src/main/res/layout/activity_all_clients_member_profile.xml index f6938dbda3..ffdc23ebe0 100644 --- a/opensrp-chw/src/main/res/layout/activity_all_clients_member_profile.xml +++ b/opensrp-chw/src/main/res/layout/activity_all_clients_member_profile.xml @@ -26,15 +26,14 @@ app:contentInsetLeft="0dp" app:contentInsetRight="0dp" app:contentInsetStart="0dp" - app:contentInsetStartWithNavigation="0dp"> - - + app:contentInsetStartWithNavigation="0dp" /> @@ -78,7 +76,6 @@ android:layout_height="wrap_content" android:gravity="center_horizontal" android:paddingLeft="0dp" - android:text="Male" android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textColor="@color/text_black" /> @@ -98,7 +95,6 @@ android:layout_gravity="center" android:gravity="center" android:paddingLeft="0dp" - android:text="Lavington #445" android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textColor="@color/text_black" android:visibility="visible" /> @@ -120,7 +116,6 @@ android:layout_height="wrap_content" android:gravity="center_horizontal" android:paddingLeft="0dp" - android:text="ID: 25398735" android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textColor="@color/text_black" /> @@ -225,10 +220,6 @@ android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/other_member_profile_bg" - android:contentInsetStart="0dp" - android:contentInsetLeft="0dp" - android:contentInsetEnd="0dp" - android:contentInsetRight="0dp" android:theme="@style/FamilyTheme.DarkAppBarOverlay" app:contentInsetEnd="0dp" app:contentInsetLeft="0dp" From 7792f391fc0313444b7ee7bd47d704fde5df2d71 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 29 May 2020 10:03:21 +0300 Subject: [PATCH 057/915] Added hiv swahili forms --- .../json.form-sw/hiv_followup_visit.json | 522 ++++++++++++++++++ .../assets/json.form-sw/hiv_registration.json | 136 +++++ .../assets/json.form/hiv_followup_visit.json | 26 +- 3 files changed, 671 insertions(+), 13 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json new file mode 100644 index 0000000000..cf30929a4e --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json @@ -0,0 +1,522 @@ +{ + "form": "HIV Followup form", + "count": "1", + "encounter_type": "HIV Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya kumtembelea mgonjwa wa VVU", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Hali ya usajili/ ufuatiliaji" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "Mpya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma akitokea mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Amefuzu huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya ufwatiliaji", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya mteja" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Anaweza kufanya shughuli zake za kila siku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa) ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Hajimudu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "other_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kijamii/kitabibu ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Tabia na mazingira hatarishi ya mteja" + }, + "options": [ + { + "name": "none", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Mlevi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Ana wapenzi wengi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Wavuvi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "women_having_sex_with_other_women", + "text": "Wanawake wanaofanya ngono na wanawake wenzao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "women_having_sex_with_other_women", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Wanaofanya biashara ya ngono", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Wapasua mbao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Wachimba madini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Wanaume wanaofanya ngono na wanaume wenzao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Madreva wa masafa marefu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Vifaa na dawa zilizotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "other_medicine", + "text": "Vifaa na dawa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna kilichotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza vifaa na dawa zilizotolewa", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Vifaa na dawa nyingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Tafadhali jaza vifaa na dawa nyingine", + "subjects": "supplies_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma zilizotolewa (Huduma za UKIMWI katika jamii ikiwemo ACUK) " + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "other_hiv_services", + "text": "Huduma nyingnie za UKIMWI katika jamii", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna huduma iliyotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "subjects": "hiv_services_provided:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "Hali ya Tiba na Matunzo (CTC)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_ctc_clinic", + "text": "Hajaandikishwa CTC/PMTCT", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", + "subjects": "registration_or_followup_status:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json new file mode 100644 index 0000000000..d62cf09959 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json @@ -0,0 +1,136 @@ +{ + "form": "HIV Registration form", + "count": "1", + "encounter_type": "HIV Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Usajili wa wagonjwa wa VVU", + "fields": [ + { + "name": "ctc_number", + "type": "text_input_edit_text", + "properties": { + "hint": "Namba ya CTC", + "type": "Namba ya CTC" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "required_status": "false" + }, + { + "name": "cbhs_number", + "type": "text_input_edit_text", + "properties": { + "hint": "Namba ya HUWANYU", + "type": "Namba ya HUWANYU" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cbhs_number", + "openmrs_entity_parent": "" + }, + "required_status": "false" + }, + { + "name": "client_hiv_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizo ya VVU wakati wa kuandikishwa" + }, + "options": [ + { + "name": "unknown", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Ana maambukizi ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hana maambukizi ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya maabukizo ya vvu wakati wa kuandikisha", + "dependent_calculations": [ + "hiv_registration_date" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json index 2d56f67155..809c386c6a 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json @@ -258,12 +258,12 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Client's behaviour & environmental risks" + "text": "Vulnerable and at risk behaviors" }, "options": [ { "name": "none", - "text": "None", + "text": "Not Applicable", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "", @@ -446,7 +446,7 @@ } } ], - "required_status": "yes:Please TB services provided", + "required_status": "yes:Please fill the HIV services provided", "subjects": "registration_or_followup_status:text" }, { @@ -468,7 +468,7 @@ "name": "state_of_therapy", "type": "spinner", "properties": { - "text": "State of therapy and (HIV) care" + "text": "State of HIV Care and treatment" }, "meta_data": { "openmrs_entity": "concept", @@ -476,6 +476,15 @@ "openmrs_entity_parent": "" }, "options": [ + { + "name": "none", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, { "name": "registered_but_not_began_medication", "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", @@ -502,15 +511,6 @@ "openmrs_entity_id": "not_registered_in_ctc_clinic", "openmrs_entity_parent": "" } - }, - { - "name": "none", - "text": "None", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } } ], "required_status": "yes:Please specify the state of HIV therapy", From bce91260e08bf969e427ff68db242d9a7faea6bf Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 29 May 2020 11:08:25 +0300 Subject: [PATCH 058/915] Added tb swahili forms and hiv forms refactor --- .../json.form-sw/hiv_followup_visit.json | 2 +- .../assets/json.form-sw/tb_case_closure.json | 141 ++++++ .../json.form-sw/tb_followup_visit.json | 458 ++++++++++++++++++ .../assets/json.form-sw/tb_registration.json | 339 +++++++++++++ .../assets/json.form/hiv_followup_visit.json | 4 +- .../ba/assets/json.form/hiv_registration.json | 3 +- .../assets/json.form/tb_followup_visit.json | 10 +- .../ba/assets/json.form/tb_registration.json | 16 +- .../rule/tb_registration_form_rules.yml | 7 + .../chw/application/ChwSyncConfiguration.java | 2 +- 10 files changed, 970 insertions(+), 12 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/tb_case_closure.json create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/tb_followup_visit.json create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json index cf30929a4e..b4120bf254 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json @@ -403,7 +403,7 @@ "name": "supplies_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Vifaa na dawa nyingine", + "hint": "Vifaa na dawa nyingine vilivyotolewa", "type": "name" }, "meta_data": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/tb_case_closure.json b/opensrp-chw/src/ba/assets/json.form-sw/tb_case_closure.json new file mode 100644 index 0000000000..9384561eb2 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/tb_case_closure.json @@ -0,0 +1,141 @@ +{ + "form": "TB Case Closure form", + "count": "1", + "encounter_type": "TB Case Closure", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_case_closure_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fuzu huduma za TB", + "fields": [ + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya mteja wakati wakumtembelea" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Anaweza kufanya shughuli zake za kila siku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Hajimudu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya mteja wakati wa kumtembelea", + "dependent_calculations": [ + "tb_case_closure_date" + ] + }, + { + "name": "completed_medication_as_required", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_medication_as_required", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Mteja ametumia dawa kwa usahihi" + }, + "options": [ + { + "name": "yes", + "text": "Ndio", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "yes", + "openmrs_entity_parent": "" + } + }, + { + "name": "no", + "text": "Hapana", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jibu swali hili" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/tb_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/tb_followup_visit.json new file mode 100644 index 0000000000..2cca8cd092 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/tb_followup_visit.json @@ -0,0 +1,458 @@ +{ + "form": "TB Followup form", + "count": "1", + "encounter_type": "TB Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya kumtembelea mgonjwa wa TB", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Hali ya usajili/ ufuatiliaji" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "Mpya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma akitokea mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Amefuzu huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya usajili/ ufuatiliaji", + "dependent_calculations": [ + "tb_followup_visit_date" + ] + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya mteja" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Anaweza kufanya shughuli zake za kila siku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Hajimudu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "other_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kijamii/kitabibu ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "Tafadhali jaza matatizo mengine", + "subjects": "problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Tabia na mazingira hatarishi ya mteja" + }, + "options": [ + { + "name": "na", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Mlevi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "vulnerable_environment", + "text": "Anaishi kwenye mazingira hatarishi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "vulnerable_environment", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_positive", + "text": "Anamambukizi ya VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_positive", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza tabia na mazingira hatarishi ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Vifaa na dawa zilizotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "other_medicine", + "text": "Vifaa na dawa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna kilichotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza vifaa na dawa zilizotolewa", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Vifaa na dawa nyingine vilivyotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Tafadhali jaza vifaa na dawa nyingine", + "subjects": "supplies_provided:map" + }, + { + "name": "tb_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma zilizotolewa (Huduma za TB/DR-TB katika Jamii ikiwemo TB/DR-TB) " + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "other_services", + "text": "Huduma nyingnie za TB katika jamii", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_tb_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna huduma iliyotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please TB services provided", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "tb_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Huduma nyingnie za TB katika jamii zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_services_provided_other", + "openmrs_entity_parent": "tb_services_provided" + }, + "required_status": "true:Tafadhali jaza huduma nyingnie za TB katika jamii zilizotolewa", + "subjects": "tb_services_provided:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "Hali ya Tiba na Matunzo (TB/DR-TB)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Ameandikishwa TB klinik lakini hajaanza TB/ DR TB", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Ameandikishwa TB klinik na anatumia TB/ DR TB", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_tb_clinic", + "text": "Hajaandikishwa TB klinik", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_tb_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "na", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo ", + "subjects": "registration_or_followup_status:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json new file mode 100644 index 0000000000..19c00daf09 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json @@ -0,0 +1,339 @@ +{ + "form": "TB Registration form", + "count": "1", + "encounter_type": "TB Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Usajili wa wagonjwa wa TB", + "fields": [ + { + "name": "community_client_tb_registration_number", + "type": "text_input_edit_text", + "properties": { + "hint": "Namba ya Kliniki ya TB" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community_client_tb_registration_number", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali jaza namba ya Kliniki ya TB:", + "dependent_calculations": [ + "tb_registration_date" + ] + }, + { + "name": "client_tb_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizo ya TB wakati wa kuandikishwa" + }, + "options": [ + { + "name": "unknown", + "text": "Haijulikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Ana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya maambukizo ya TB wakati wa kuandikishwa" + }, + { + "name": "place_of_domicile", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "place_of_domicile", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Mahali alipotokea mteja/alipohojiwa" + }, + "options": [ + { + "name": "a_family_with_tb_patient", + "text": "Familia yenye mgonjwa wa TB (Andika namba ya wilaya ya mgonjwa wa TB)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "a_family_with_tb_patient", + "openmrs_entity_parent": "" + } + }, + { + "name": "a_family_without_tb_patient", + "text": "Familia isiyo na mgonjwa wa TB/DR-TB", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "a_family_without_tb_patient", + "openmrs_entity_parent": "" + } + }, + { + "name": "community_gathering", + "text": "Mkusanyiko wa watu/sehemu nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community_gathering", + "openmrs_entity_parent": "" + } + }, + { + "name": "pharmacy", + "text": "Duka la dawa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pharmacy", + "openmrs_entity_parent": "" + } + }, + { + "name": "traditional_doctors", + "text": "Mganga wa jadi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "traditional_doctors", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza mahali alipotokea mteja/alipohojiwa" + }, + { + "name": "district_council_number_of_current_tb_client", + "type": "text_input_edit_text", + "properties": { + "hint": "Jaza namba ya wilaya ya mgonjwa wa TB" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "district_council_number_of_current_tb_client", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali jaza jaza namba ya wilaya ya mgonjwa wa TB", + "subjects": "place_of_domicile:text" + }, + { + "name": "community_gathering", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community_gathering", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Mkusanyiko wa watu/sehemu nyingine" + }, + "options": [ + { + "name": "school", + "text": "Shule", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "school", + "openmrs_entity_parent": "" + } + }, + { + "name": "worship_houses", + "text": "Nyumba za Ibada", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "worship_houses", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining", + "text": "Machimbo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining", + "openmrs_entity_parent": "" + } + }, + { + "name": "public_meetings", + "text": "Mikutano ya hadhara", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "public_meetings", + "openmrs_entity_parent": "" + } + }, + { + "name": "prison", + "text": "Magereza", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prison", + "openmrs_entity_parent": "" + } + }, + { + "name": "others", + "text": "Kwingineko", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "others", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza mkusanyiko wa watu/sehemu nyingine", + "subjects": "place_of_domicile:text" + }, + { + "name": "other_community_gathering", + "type": "text_input_edit_text", + "properties": { + "hint": "Taja kwingineko" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_community_gathering", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali jaza kwingineko", + "subjects": "community_gathering:text" + }, + { + "name": "client_screening_results", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_screening_results", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Matokeo ya mahojiano (*Dalili alizonazo)" + }, + "options": [ + { + "name": "coughing", + "text": "Kikihozi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "hemoptysis", + "text": "Makohozi yaliyochanganyika na Damu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hemoptysis", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Homa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "weight_lose", + "text": "Kupungua uzito", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "weight_lose", + "openmrs_entity_parent": "" + } + }, + { + "name": "night_sweats", + "text": "Kutokwa jasho jingi kuliko kawaida hasa nyakati za usiku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "night_sweats", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza matokeo ya mahojiano (*Dalili alizonazo)" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json index 809c386c6a..cc9f1ed318 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json @@ -262,7 +262,7 @@ }, "options": [ { - "name": "none", + "name": "na", "text": "Not Applicable", "meta_data": { "openmrs_entity": "", @@ -477,7 +477,7 @@ }, "options": [ { - "name": "none", + "name": "na", "text": "Not Applicable", "meta_data": { "openmrs_entity": "", diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/hiv_registration.json index eb56349795..caff5f41bf 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_registration.json @@ -75,8 +75,7 @@ "name": "cbhs_number", "type": "text_input_edit_text", "properties": { - "hint": "CBHS Number", - "type": "Community Based Health Services Registration Number (CBHS Number)" + "hint": "Community Based Health Services Registration Number (CBHS Number)" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json index 092ede1915..dd3c2ba478 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json @@ -238,7 +238,7 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Other symptoms", + "hint": "Other Problems", "type": "name" }, "meta_data": { @@ -262,8 +262,8 @@ }, "options": [ { - "name": "none", - "text": "None", + "name": "na", + "text": "Not Applicable", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "", @@ -441,8 +441,8 @@ } }, { - "name": "none", - "text": "None", + "name": "na", + "text": "Not Applicable", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "", diff --git a/opensrp-chw/src/ba/assets/json.form/tb_registration.json b/opensrp-chw/src/ba/assets/json.form/tb_registration.json index 028196df3d..c8b2d9eb5e 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_registration.json @@ -113,7 +113,7 @@ } } ], - "required_status": "yes:Please specify your gender" + "required_status": "yes:Please specify Client's TB status during registration" }, { "name": "place_of_domicile", @@ -175,6 +175,20 @@ ], "required_status": "yes:Please specify place of domicile" }, + { + "name": "district_council_number_of_current_tb_client", + "type": "text_input_edit_text", + "properties": { + "hint": "Jaza namba ya wilaya ya mgonjwa wa TB" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "district_council_number_of_current_tb_client", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali jaza jaza namba ya wilaya ya mgonjwa wa TB", + "subjects": "place_of_domicile:text" + }, { "name": "community_gathering", "type": "spinner", diff --git a/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml b/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml index 18d08e709d..b5727279ba 100644 --- a/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml @@ -1,4 +1,11 @@ --- +name: "district_council_number_of_current_tb_client_visibility" +description: "district council number of current tb client when a family with tb client is chosen" +priority: 1 +condition: "place_of_domicile.value == 'A family with TB patient'" +actions: + - "district_council_number_of_current_tb_client_visibility = true" +--- name: "community_gathering_visibility" description: "Display community gathering types if community gathering is chosen" priority: 1 diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java index 680969cc44..0bd45e6ca7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java @@ -65,7 +65,7 @@ public boolean isSyncUsingPost() { @Override public List getSynchronizedLocationTags() { - return Collections.singletonList("MOH Jhpiego Facility Name"); + return Collections.singletonList("Facility"); } @Override From 4471d58967e2a65bc9647a1083a81674150bd0ff Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 29 May 2020 12:07:17 +0300 Subject: [PATCH 059/915] Refactored th and hiv forms --- .../ba/assets/json.form-sw/tb_registration.json | 10 +++++----- .../ba/assets/json.form/hiv_followup_visit.json | 2 +- .../src/ba/assets/json.form/tb_registration.json | 16 ++++++++-------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json index 19c00daf09..0133290164 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json @@ -68,10 +68,7 @@ "openmrs_entity_id": "community_client_tb_registration_number", "openmrs_entity_parent": "" }, - "required_status": "yes:Tafadhali jaza namba ya Kliniki ya TB:", - "dependent_calculations": [ - "tb_registration_date" - ] + "required_status": "no" }, { "name": "client_tb_status_during_registration", @@ -113,7 +110,10 @@ } } ], - "required_status": "yes:Tafadhali jaza hali ya maambukizo ya TB wakati wa kuandikishwa" + "required_status": "yes:Tafadhali jaza hali ya maambukizo ya TB wakati wa kuandikishwa", + "dependent_calculations": [ + "tb_registration_date" + ] }, { "name": "place_of_domicile", diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json index cc9f1ed318..a54a8686a2 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json @@ -326,7 +326,7 @@ }, { "name": "wood_workers", - "text": "Wood workers", + "text": "Lumberman", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "wood_workers", diff --git a/opensrp-chw/src/ba/assets/json.form/tb_registration.json b/opensrp-chw/src/ba/assets/json.form/tb_registration.json index c8b2d9eb5e..cdb6125a42 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_registration.json @@ -61,17 +61,14 @@ "name": "community_client_tb_registration_number", "type": "text_input_edit_text", "properties": { - "hint": "Community Based Health Services Registration Number (CBHS Number)" + "hint": "Client TB Clinic Registration Number" }, "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "community_client_tb_registration_number", "openmrs_entity_parent": "" }, - "required_status": "yes:Please add cbhs number", - "dependent_calculations": [ - "tb_registration_date" - ] + "required_status": "no" }, { "name": "client_tb_status_during_registration", @@ -113,7 +110,10 @@ } } ], - "required_status": "yes:Please specify Client's TB status during registration" + "required_status": "yes:Please specify Client's TB status during registration", + "dependent_calculations": [ + "tb_registration_date" + ] }, { "name": "place_of_domicile", @@ -179,14 +179,14 @@ "name": "district_council_number_of_current_tb_client", "type": "text_input_edit_text", "properties": { - "hint": "Jaza namba ya wilaya ya mgonjwa wa TB" + "hint": "District council number of the TB client in the family" }, "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "district_council_number_of_current_tb_client", "openmrs_entity_parent": "" }, - "required_status": "yes:Tafadhali jaza jaza namba ya wilaya ya mgonjwa wa TB", + "required_status": "yes:Fill in the district council number of the TB client in the family", "subjects": "place_of_domicile:text" }, { From 4d6446406b20ebca3b5f6fe72be7c9bf0a1c747c Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 29 May 2020 15:07:16 +0300 Subject: [PATCH 060/915] Fixed an issue in updating tb menu items --- .../src/ba/java/org/smartregister/chw/util/UtilsFlv.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java index 11ae5f9100..17eed7e69c 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java @@ -11,6 +11,7 @@ import org.smartregister.chw.fp.dao.FpDao; import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.malaria.dao.MalariaDao; +import org.smartregister.chw.tb.dao.TbDao; import org.smartregister.util.Utils; import java.util.Date; @@ -67,7 +68,7 @@ public static void updateHivMenuItems(String baseEntityId, Menu menu) { } public static void updateTbMenuItems(String baseEntityId, Menu menu) { - if (HivDao.isRegisteredForHiv(baseEntityId)) { + if (TbDao.isRegisteredForTb(baseEntityId)) { menu.findItem(R.id.action_tb_registration).setVisible(false); }else{ menu.findItem(R.id.action_tb_registration).setVisible(true); From 12a70a5f340b9cfdb03ee4cae337bf77b507cd00 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 29 May 2020 15:09:19 +0300 Subject: [PATCH 061/915] Upated showing of menu items in all clients register and pnc member profiles --- .../chw/activity/PncMemberProfileActivityFlv.java | 2 ++ .../chw/activity/AllClientsMemberProfileActivity.java | 11 +++-------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java index 5e18e32add..878c2544d7 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java @@ -16,6 +16,8 @@ public Boolean onCreateOptionsMenu(Menu menu, String baseEntityId) { } else { menu.findItem(R.id.action_fp_initiation_pnc).setVisible(true); } + UtilsFlv.updateHivMenuItems(baseEntityId, menu); + UtilsFlv.updateTbMenuItems(baseEntityId, menu); return true; } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 2e175cdb25..4d7acf4039 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -35,6 +35,7 @@ import org.smartregister.chw.presenter.FamilyOtherMemberActivityPresenter; import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.Utils; +import org.smartregister.chw.util.UtilsFlv; import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.family.adapter.ViewPagerAdapter; @@ -124,8 +125,8 @@ public void togglePrimaryCaregiver(boolean show) { public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.findItem(R.id.action_location_info).setVisible(true); - menu.findItem(R.id.action_hiv_registration).setVisible(true); - menu.findItem(R.id.action_tb_registration).setVisible(true); + UtilsFlv.updateHivMenuItems(baseEntityId, menu); + UtilsFlv.updateTbMenuItems(baseEntityId, menu); menu.findItem(R.id.action_anc_registration).setVisible(false); menu.findItem(R.id.action_sick_child_follow_up).setVisible(false); menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); @@ -142,12 +143,6 @@ public boolean onOptionsItemSelected(MenuItem item) { getFamilyRegistrationDetails(), Utils.metadata().familyRegister.updateEventType); if (preFilledForm != null) startFormActivity(preFilledForm); return true; - } else if (itemId == R.id.action_hiv_registration) { - //TODO Start HIV registration form - return true; - } else if (itemId == R.id.action_tb_registration) { - //TODO Start HIV registration form - return true; } return true; } From 885124fc86dd2d2be1f71a1c4b054c135154fb5e Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 29 May 2020 15:09:45 +0300 Subject: [PATCH 062/915] Updated tb and hiv registers due button filter --- .../chw/presenter/HivRegisterFragmentPresenter.java | 5 ++--- .../chw/presenter/TbRegisterFragmentPresenter.java | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java index 606a015c6c..b54ae7ae5a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java @@ -2,6 +2,7 @@ import org.jetbrains.annotations.NotNull; import org.smartregister.chw.R; +import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.hiv.contract.BaseHivRegisterFragmentContract; import org.smartregister.chw.hiv.presenter.BaseHivRegisterFragmentPresenter; import org.smartregister.chw.hiv.util.Constants.Tables; @@ -25,9 +26,7 @@ public String getMainCondition() { @Override @NotNull public String getDueFilterCondition() { - return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND " + Tables.HIV + "." + DBConstants.Key.IS_CLOSED + " = '0' "; - + return CoreConstants.TABLE_NAME.HIV_MEMBER + ".base_entity_id in (select base_entity_id from schedule_service where strftime('%Y-%m-%d') BETWEEN due_date and expiry_date and schedule_name = '" + CoreConstants.SCHEDULE_TYPES.HIV_VISIT + "' and ifnull(not_done_date,'') = '' and ifnull(completion_date,'') = '' ) "; } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java index a21322270f..c4b3a5bc57 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java @@ -2,6 +2,7 @@ import org.jetbrains.annotations.NotNull; import org.smartregister.chw.R; +import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.tb.contract.BaseTbRegisterFragmentContract; import org.smartregister.chw.tb.presenter.BaseTbRegisterFragmentPresenter; import org.smartregister.chw.tb.util.Constants.Tables; @@ -26,8 +27,7 @@ public String getMainCondition() { @Override @NotNull public String getDueFilterCondition() { - return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND " + Tables.TB + "." + DBConstants.Key.IS_CLOSED + " = '0' "; + return CoreConstants.TABLE_NAME.TB_MEMBER + ".base_entity_id in (select base_entity_id from schedule_service where strftime('%Y-%m-%d') BETWEEN due_date and expiry_date and schedule_name = '" + CoreConstants.SCHEDULE_TYPES.TB_VISIT + "' and ifnull(not_done_date,'') = '' and ifnull(completion_date,'') = '' ) "; } From c4419ad2080c9ce6413abb9b251258a50024ea7f Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 29 May 2020 17:46:42 +0300 Subject: [PATCH 063/915] Updated opening of hiv and tb profiles from all clients register --- .../chw/fragment/AllClientsRegisterFragment.java | 6 ++++++ .../org/smartregister/chw/util/AllClientsUtils.java | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java index f8a2ad59a4..ce6f387ee2 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java @@ -58,6 +58,12 @@ protected void goToClientDetailActivity(@NonNull CommonPersonObjectClient common case CoreConstants.REGISTER_TYPE.FAMILY_PLANNING: AllClientsUtils.goToFamilyPlanningProfile(this.getActivity(), commonPersonObjectClient); break; + case CoreConstants.REGISTER_TYPE.TB: + AllClientsUtils.goToTbProfile(this.getActivity(), commonPersonObjectClient); + break; + case CoreConstants.REGISTER_TYPE.HIV: + AllClientsUtils.goToHivProfile(this.getActivity(), commonPersonObjectClient); + break; default: AllClientsUtils.goToOtherMemberProfile(this.getActivity(), commonPersonObjectClient, bundle, familyDetailsModel.getFamilyHead(), familyDetailsModel.getPrimaryCareGiver()); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java index 7f449bee85..254544b243 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java @@ -13,13 +13,17 @@ import org.smartregister.chw.activity.ChildProfileActivity; import org.smartregister.chw.activity.FamilyOtherMemberProfileActivity; import org.smartregister.chw.activity.FamilyPlanningMemberProfileActivity; +import org.smartregister.chw.activity.HivProfileActivity; import org.smartregister.chw.activity.MalariaProfileActivity; import org.smartregister.chw.activity.PncMemberProfileActivity; +import org.smartregister.chw.activity.TbProfileActivity; import org.smartregister.chw.anc.domain.MemberObject; import org.smartregister.chw.core.application.CoreChwApplication; import org.smartregister.chw.core.utils.CoreChildUtils; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.fp.dao.FpDao; +import org.smartregister.chw.hiv.dao.HivDao; +import org.smartregister.chw.tb.dao.TbDao; import org.smartregister.clientandeventmodel.Client; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.family.domain.FamilyEventClient; @@ -75,6 +79,12 @@ public static void gotToMalariaProfile(Activity activity, CommonPersonObjectClie public static void goToFamilyPlanningProfile(Activity activity, CommonPersonObjectClient patient) { FamilyPlanningMemberProfileActivity.startFpMemberProfileActivity(activity, FpDao.getMember(patient.getCaseId())); } + public static void goToHivProfile(Activity activity, CommonPersonObjectClient patient) { + HivProfileActivity.startHivProfileActivity(activity, HivDao.getMember(patient.getCaseId())); + } + public static void goToTbProfile(Activity activity, CommonPersonObjectClient patient) { + TbProfileActivity.startTbProfileActivity(activity, TbDao.getMember(patient.getCaseId())); + } private static Intent initProfileActivityIntent(Activity activity, CommonPersonObjectClient patient, Bundle bundle, Class clazz) { Intent intent = new Intent(activity, clazz); From 2e0b60ab9e7d125a91fda2ebe5fca099b3de642d Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 9 Jun 2020 14:06:23 +0300 Subject: [PATCH 064/915] Code refactoring --- .../chw/model/NavigationModelFlv.java | 4 +- .../chw/activity/HivProfileActivity.java | 32 +++++++++- .../chw/activity/HivRegisterActivity.java | 59 +---------------- .../chw/activity/TbProfileActivity.java | 35 +++++++++- .../chw/activity/TbRegisterActivity.java | 64 +------------------ 5 files changed, 70 insertions(+), 124 deletions(-) diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java index 7ff2c3adff..fc3116710c 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -28,8 +28,8 @@ public List getNavigationItems() { NavigationOption op7 = new NavigationOption(R.mipmap.sidemenu_malaria, R.mipmap.sidemenu_malaria_active, R.string.menu_malaria, Constants.DrawerMenu.MALARIA, 0); NavigationOption op8 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.menu_referrals, Constants.DrawerMenu.REFERRALS, 0); NavigationOption op9 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.updates, CoreConstants.DrawerMenu.UPDATES, 0); - NavigationOption op10 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_clients, CoreConstants.DrawerMenu.HIV_CLIENTS, 0); - NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb_clients, CoreConstants.DrawerMenu.TB_CLIENTS, 0); + NavigationOption op10 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.HIV_CLIENTS, 0); + NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) navigationOptions.add(new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0)); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 96a9591946..6d35f671e0 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -3,6 +3,8 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.os.Bundle; +import android.util.Pair; import android.view.Gravity; import android.view.View; import android.widget.LinearLayout; @@ -10,12 +12,16 @@ import org.apache.commons.lang3.StringUtils; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; +import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.activity.CoreHivProfileActivity; import org.smartregister.chw.core.activity.CoreHivUpcomingServicesActivity; +import org.smartregister.chw.core.adapter.NotificationListAdapter; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.interactor.CoreHivProfileInteractor; import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.listener.OnRetrieveNotifications; import org.smartregister.chw.core.task.RunnableTask; +import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.custom_view.HivFloatingMenu; import org.smartregister.chw.hiv.activity.BaseHivRegistrationFormsActivity; @@ -33,11 +39,14 @@ import timber.log.Timber; import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; public class HivProfileActivity extends CoreHivProfileActivity - implements FamilyProfileExtendedContract.PresenterCallBack { + implements FamilyProfileExtendedContract.PresenterCallBack, OnRetrieveNotifications { private List referralTypeModels = new ArrayList<>(); + private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); public static void startHivProfileActivity(Activity activity, HivMemberObject memberObject) { Intent intent = new Intent(activity, HivProfileActivity.class); @@ -61,6 +70,21 @@ protected void onCreation() { addHivReferralTypes(); } + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + notificationAndReferralRecyclerView.setAdapter(notificationListAdapter); + notificationListAdapter.setOnClickListener(this); + } + + @Override + protected void onResume() { + super.onResume(); + notificationListAdapter.canOpen = true; + ChwNotificationUtil.retrieveNotifications(ChwApplication.getApplicationFlavor().hasReferrals(), + getHivMemberObject().getBaseEntityId(), this); + } + @Override protected void removeMember() { IndividualProfileRemoveActivity.startIndividualProfileActivity(HivProfileActivity.this, @@ -90,6 +114,7 @@ public void onClick(View view) { if (id == R.id.record_hiv_followup_visit) { openFollowUpVisitForm(false); } + handleNotificationRowClick(this, view, notificationListAdapter, getHivMemberObject().getBaseEntityId()); } @Override @@ -202,5 +227,10 @@ public void initializeCallFAB() { LinearLayout.LayoutParams.MATCH_PARENT); addContentView(getHivFloatingMenu(), linearLayoutParams); } + + @Override + public void onReceivedNotifications(List> notifications) { + handleReceivedNotifications(this, notifications, notificationListAdapter); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java index 86fe2d7aa1..0d9069427c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java @@ -9,28 +9,17 @@ import com.google.android.material.bottomnavigation.LabelVisibilityMode; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.smartregister.chw.R; +import org.smartregister.chw.core.activity.CoreHivRegisterActivity; import org.smartregister.chw.core.custom_views.NavigationMenu; -import org.smartregister.chw.core.job.HomeVisitServiceJob; -import org.smartregister.chw.core.job.VaccineRecurringServiceJob; import org.smartregister.chw.fragment.HivFollowupRegisterFragment; import org.smartregister.chw.fragment.HivRegisterFragment; -import org.smartregister.chw.hiv.activity.BaseHivRegisterActivity; -import org.smartregister.chw.hiv.activity.BaseHivRegistrationFormsActivity; import org.smartregister.chw.hiv.fragment.BaseHivRegisterFragment; -import org.smartregister.chw.util.Constants; -import org.smartregister.chw.util.JsonFormUtils; import org.smartregister.helper.BottomNavigationHelper; -import org.smartregister.job.ImageUploadServiceJob; -import org.smartregister.job.PullUniqueIdsServiceJob; -import org.smartregister.job.SyncServiceJob; -import org.smartregister.job.SyncTaskServiceJob; import org.smartregister.listener.BottomNavigationListener; import java.util.List; -public class HivRegisterActivity extends BaseHivRegisterActivity { +public class HivRegisterActivity extends CoreHivRegisterActivity { private String baseEntityID; public static void startHIVFormActivity(Activity activity, String baseEntityID, String formName, String payloadType) { @@ -87,49 +76,5 @@ protected void registerBottomNavigation() { } } - - @Override - public void startFormActivity(@Nullable String formName, @Nullable String entityId, @Nullable String metaData) { - Intent intent = new Intent(this, BaseHivRegistrationFormsActivity.class); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, metaData); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); - - this.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); - } - - private void startRegisterActivity() { - HomeVisitServiceJob.scheduleJobImmediately(HomeVisitServiceJob.TAG); - VaccineRecurringServiceJob.scheduleJobImmediately(VaccineRecurringServiceJob.TAG); - ImageUploadServiceJob.scheduleJobImmediately(ImageUploadServiceJob.TAG); - SyncServiceJob.scheduleJobImmediately(SyncServiceJob.TAG); - PullUniqueIdsServiceJob.scheduleJobImmediately(PullUniqueIdsServiceJob.TAG); - HomeVisitServiceJob.scheduleJobImmediately(HomeVisitServiceJob.TAG); - SyncTaskServiceJob.scheduleJobImmediately(SyncTaskServiceJob.TAG); - Intent intent = new Intent(this, HivRegisterActivity.class); - this.startActivity(intent); - this.overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up); - this.finish(); - } - - @Override - protected void onResumption() { - super.onResumption(); - NavigationMenu menu = NavigationMenu.getInstance(this, null, null); - if (menu != null) { - menu.getNavigationAdapter().setSelectedView(Constants.DrawerMenu.HIV_CLIENTS); - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK && requestCode == org.smartregister.chw.malaria.util.Constants.REQUEST_CODE_GET_JSON) { - startRegisterActivity(); - } else { - finish(); - } - - } } \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index d878453a75..5ae7c7b3ad 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -3,6 +3,8 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.os.Bundle; +import android.util.Pair; import android.view.Gravity; import android.view.View; import android.widget.LinearLayout; @@ -10,12 +12,16 @@ import org.apache.commons.lang3.StringUtils; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; +import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.activity.CoreTbProfileActivity; import org.smartregister.chw.core.activity.CoreTbUpcomingServicesActivity; +import org.smartregister.chw.core.adapter.NotificationListAdapter; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.interactor.CoreTbProfileInteractor; import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.listener.OnRetrieveNotifications; import org.smartregister.chw.core.task.RunnableTask; +import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.custom_view.TbFloatingMenu; import org.smartregister.chw.model.ReferralTypeModel; @@ -33,11 +39,14 @@ import timber.log.Timber; import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; public class TbProfileActivity extends CoreTbProfileActivity - implements FamilyProfileExtendedContract.PresenterCallBack { + implements FamilyProfileExtendedContract.PresenterCallBack, OnRetrieveNotifications { private List referralTypeModels = new ArrayList<>(); + private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); public static void startTbProfileActivity(Activity activity, TbMemberObject memberObject) { Intent intent = new Intent(activity, TbProfileActivity.class); @@ -60,6 +69,21 @@ protected void onCreation() { addTbReferralTypes(); } + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + notificationAndReferralRecyclerView.setAdapter(notificationListAdapter); + notificationListAdapter.setOnClickListener(this); + } + + @Override + protected void onResume() { + super.onResume(); + notificationListAdapter.canOpen = true; + ChwNotificationUtil.retrieveNotifications(ChwApplication.getApplicationFlavor().hasReferrals(), + getTbMemberObject().getBaseEntityId(), this); + } + @Override protected void removeMember() { IndividualProfileRemoveActivity.startIndividualProfileActivity(TbProfileActivity.this, @@ -94,6 +118,8 @@ public void onClick(View view) { if (id == R.id.record_tb_followup_visit) { openFollowUpVisitForm(false); } + handleNotificationRowClick(this, view, notificationListAdapter, getTbMemberObject().getBaseEntityId()); + } @Override @@ -134,7 +160,7 @@ public void openMedicalHistory() { @Override public void openTbRegistrationForm() { - TbRegisterActivity.startTbFormActivity(this, getTbMemberObject().getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); + TbRegisterActivity.startTbFormActivity(this, getTbMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); } @@ -208,6 +234,11 @@ public void initializeCallFAB() { addContentView(getTbFloatingMenu(), linearLayoutParams); } + @Override + public void onReceivedNotifications(List> notifications) { + handleReceivedNotifications(this, notifications, notificationListAdapter); + } + } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java index db148b0c62..456b9fbfc2 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbRegisterActivity.java @@ -9,28 +9,16 @@ import com.google.android.material.bottomnavigation.LabelVisibilityMode; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.smartregister.chw.R; +import org.smartregister.chw.core.activity.CoreTbRegisterActivity; import org.smartregister.chw.core.custom_views.NavigationMenu; -import org.smartregister.chw.core.job.HomeVisitServiceJob; -import org.smartregister.chw.core.job.VaccineRecurringServiceJob; import org.smartregister.chw.fragment.TbFollowupRegisterFragment; import org.smartregister.chw.fragment.TbRegisterFragment; -import org.smartregister.chw.tb.activity.BaseTbRegisterActivity; -import org.smartregister.chw.tb.activity.BaseTbRegistrationFormsActivity; import org.smartregister.chw.tb.fragment.BaseTbRegisterFragment; -import org.smartregister.chw.util.Constants; import org.smartregister.family.util.JsonFormUtils; import org.smartregister.helper.BottomNavigationHelper; -import org.smartregister.job.ImageUploadServiceJob; -import org.smartregister.job.PullUniqueIdsServiceJob; -import org.smartregister.job.SyncServiceJob; -import org.smartregister.job.SyncTaskServiceJob; import org.smartregister.listener.BottomNavigationListener; -import java.util.List; - -public class TbRegisterActivity extends BaseTbRegisterActivity { +public class TbRegisterActivity extends CoreTbRegisterActivity { public static void startTbFormActivity(Activity activity, String baseEntityID, String formName, String payloadType) { Intent intent = new Intent(activity, TbRegisterActivity.class); @@ -53,11 +41,6 @@ protected BaseTbRegisterFragment getRegisterFragment() { return new TbRegisterFragment(); } - @Override - public List getViewIdentifiers() { - return null; - } - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -85,48 +68,5 @@ protected void registerBottomNavigation() { } } - @Override - public void startFormActivity(@Nullable String formName, @Nullable String entityId, @Nullable String metaData) { - Intent intent = new Intent(this, BaseTbRegistrationFormsActivity.class); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, entityId); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, metaData); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); - - this.startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); - } - - private void startRegisterActivity() { - HomeVisitServiceJob.scheduleJobImmediately(HomeVisitServiceJob.TAG); - VaccineRecurringServiceJob.scheduleJobImmediately(VaccineRecurringServiceJob.TAG); - ImageUploadServiceJob.scheduleJobImmediately(ImageUploadServiceJob.TAG); - SyncServiceJob.scheduleJobImmediately(SyncServiceJob.TAG); - PullUniqueIdsServiceJob.scheduleJobImmediately(PullUniqueIdsServiceJob.TAG); - HomeVisitServiceJob.scheduleJobImmediately(HomeVisitServiceJob.TAG); - SyncTaskServiceJob.scheduleJobImmediately(SyncTaskServiceJob.TAG); - Intent intent = new Intent(this, TbRegisterActivity.class); - this.startActivity(intent); - this.overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up); - this.finish(); - } - - @Override - protected void onResumption() { - super.onResumption(); - NavigationMenu menu = NavigationMenu.getInstance(this, null, null); - if (menu != null) { - menu.getNavigationAdapter().setSelectedView(Constants.DrawerMenu.TB_CLIENTS); - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK && requestCode == org.smartregister.chw.malaria.util.Constants.REQUEST_CODE_GET_JSON) { - startRegisterActivity(); - } else { - finish(); - } - - } } \ No newline at end of file From 75ddc7c8c1267039aa08798c6a52dbcfcfcf7285 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 18 Jun 2020 00:08:57 +0300 Subject: [PATCH 065/915] Code refactoring --- build.gradle | 4 +- opensrp-chw/build.gradle | 4 +- .../ba/assets/ec_client_classification.json | 14 ++ .../src/ba/assets/ec_client_fields.json | 132 ++++++++++++++++ .../hiv_community_followup_feedback.json | 144 ++++++++++++++++++ .../tb_community_followup_feedback.json | 144 ++++++++++++++++++ .../hiv_community_followup_feedback_rules.yml | 8 + .../tb_community_followup_feedback_rules.yml | 8 + opensrp-chw/src/main/AndroidManifest.xml | 8 + .../HivCommunityFollowupDetailsActivity.java | 14 ++ .../chw/activity/HivRegisterActivity.java | 14 +- .../TbCommunityFollowupDetailsActivity.java | 16 ++ .../chw/activity/TbRegisterActivity.java | 13 +- .../chw/application/ChwSyncConfiguration.java | 4 +- .../fragment/HivFollowupRegisterFragment.java | 41 ++++- .../fragment/TbFollowupRegisterFragment.java | 53 ++++++- .../HivCommunityFollowupFragmentModel.java | 59 +++++++ .../TbCommunityFollowupFragmentModel.java | 63 ++++++++ ...HivCommunityFollowupFragmentPresenter.java | 44 ++++++ .../TbCommunityFollowupFragmentPresenter.java | 45 ++++++ 20 files changed, 807 insertions(+), 25 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json create mode 100644 opensrp-chw/src/ba/assets/json.form/tb_community_followup_feedback.json create mode 100644 opensrp-chw/src/ba/assets/rule/hiv_community_followup_feedback_rules.yml create mode 100644 opensrp-chw/src/ba/assets/rule/tb_community_followup_feedback_rules.yml create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/TbCommunityFollowupDetailsActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/TbCommunityFollowupFragmentModel.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivCommunityFollowupFragmentPresenter.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbCommunityFollowupFragmentPresenter.java diff --git a/build.gradle b/build.gradle index ad97594345..aad3552021 100644 --- a/build.gradle +++ b/build.gradle @@ -62,8 +62,8 @@ subprojects { group = 'org.smartregister' - ext.androidToolsBuildGradle = '28.0.3' - ext.androidBuildToolsVersion = '28.0.3' + ext.androidToolsBuildGradle = '30.0.0' + ext.androidBuildToolsVersion = '30.0.0' ext.androidMinSdkVersion = 18 ext.androidCompileSdkVersion = 28 ext.androidTargetSdkVersion = 28 diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 19cfff698b..f702172a17 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -141,8 +141,8 @@ android { versionName "1.0.2" buildConfigField "String", 'opensrp_url', '"https://boresha-afya.smartregister.org/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' - buildConfigField "String", 'opensrp_url_debug', '"https://boresha-afya-stage.smartregister.org/opensrp/"' -// buildConfigField "String", 'opensrp_url_debug', '"https://ba-unified-stage.smartregister.org/opensrp/"' +// buildConfigField "String", 'opensrp_url_debug', '"https://boresha-afya-stage.smartregister.org/opensrp/"' + buildConfigField "String", 'opensrp_url_debug', '"https://ba-unified-stage.smartregister.org/opensrp/"' buildConfigField "String[]", "LOCATION_HIERACHY", '{"Country","Region","District","Ward" , "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS", '{"Ward" , "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS_DEBUG", '{"MOH Jhpiego Facility Name" , "Village"}' diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 8d1359f7bc..11f5b37f6d 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -318,6 +318,20 @@ "creates_case": [ "ec_tb_register" ] + }, + { + "field": "eventType", + "field_value": "HIV Community Followup", + "creates_case": [ + "ec_hiv_community_followup" + ] + }, + { + "field": "eventType", + "field_value": "TB Community Followup", + "creates_case": [ + "ec_tb_community_followup" + ] } ] } diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 4d0a125c9e..db4daab99c 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2515,6 +2515,72 @@ } ] }, + { + "name": "ec_hiv_community_followup", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "last_client_visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "last_client_visit_date" + } + }, + { + "column_name": "hiv_community_referral_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "hiv_community_referral_date" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment_hiv_community_followup" + } + }, + { + "column_name": "reasons_for_issuing_community_referral", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "reasons_for_issuing_community_referral" + } + } + ] + }, { "name": "ec_tb_register", "columns": [ @@ -2599,6 +2665,72 @@ } } ] + }, + { + "name": "ec_tb_community_followup", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "last_client_visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "last_client_visit_date" + } + }, + { + "column_name": "tb_community_referral_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "tb_community_referral_date" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment_tb_community_followup" + } + }, + { + "column_name": "reasons_for_issuing_community_referral", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "reasons_for_issuing_community_referral" + } + } + ] } ] } \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json b/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json new file mode 100644 index 0000000000..3f6ad8c0b9 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json @@ -0,0 +1,144 @@ +{ + "form": "HIV Community Followup Feedback", + "count": "1", + "encounter_type": "HIV Community Followup Feedback", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_community_followup_feedback_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "HIV Community Followup Feedback", + "fields": [ + { + "name": "followup_status", + "type": "spinner", + "properties": { + "text": "Followup Feedback" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Clients continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Client has completed and qualified from the services ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select followup feedback", + "dependent_calculations": [ + "hiv_community_followup_visit_date" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/tb_community_followup_feedback.json b/opensrp-chw/src/ba/assets/json.form/tb_community_followup_feedback.json new file mode 100644 index 0000000000..cf2e62650e --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/tb_community_followup_feedback.json @@ -0,0 +1,144 @@ +{ + "form": "TB Community Followup Feedback", + "count": "1", + "encounter_type": "TB Community Followup Feedback", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_community_followup_feedback_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "TB Community Followup Feedback", + "fields": [ + { + "name": "followup_status", + "type": "spinner", + "properties": { + "text": "Followup Feedback" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Clients continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Client has completed and qualified from the services ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the followup feedback", + "dependent_calculations": [ + "tb_community_followup_visit_date" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/hiv_community_followup_feedback_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_community_followup_feedback_rules.yml new file mode 100644 index 0000000000..26bf6b91da --- /dev/null +++ b/opensrp-chw/src/ba/assets/rule/hiv_community_followup_feedback_rules.yml @@ -0,0 +1,8 @@ +--- +name: "hiv_community_followup_visit_date_calculation" +description: "calculating the hiv followup visit date" +priority: 1 +condition: "true" +actions: + - "hiv_community_followup_visit_date_calculation = System.currentTimeMillis()" + diff --git a/opensrp-chw/src/ba/assets/rule/tb_community_followup_feedback_rules.yml b/opensrp-chw/src/ba/assets/rule/tb_community_followup_feedback_rules.yml new file mode 100644 index 0000000000..d11e4e00ae --- /dev/null +++ b/opensrp-chw/src/ba/assets/rule/tb_community_followup_feedback_rules.yml @@ -0,0 +1,8 @@ +--- +name: "tb_community_followup_visit_date_calculation" +description: "calculating the tb followup visit date" +priority: 1 +condition: "true" +actions: + - "tb_community_followup_visit_date_calculation = System.currentTimeMillis()" + diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index f3309811b4..b749bd3f7b 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -262,6 +262,14 @@ android:name=".activity.HivProfileActivity" android:theme="@style/ChwTheme.NoActionBar" /> + + + + getSynchronizedLocationTags() { - return Collections.singletonList("MOH Jhpiego Facility Name"); + return Collections.singletonList("Facility"); } @Override public String getTopAllowedLocationLevel() { - return "Ward"; + return "Council"; } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java index 69e2b8dafc..24e5322159 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java @@ -1,8 +1,45 @@ package org.smartregister.chw.fragment; -import org.smartregister.chw.hiv.fragment.BaseHivCommunityFollowupRegisterFragment; +import android.content.Intent; +import android.os.Bundle; -public class HivFollowupRegisterFragment extends BaseHivCommunityFollowupRegisterFragment { +import org.smartregister.chw.activity.HivCommunityFollowupDetailsActivity; +import org.smartregister.chw.activity.HivRegisterActivity; +import org.smartregister.chw.core.fragment.CoreHivCommunityFollowupRegisterFragment; +import org.smartregister.chw.hiv.dao.HivDao; +import org.smartregister.chw.hiv.util.Constants; +import org.smartregister.chw.model.HivCommunityFollowupFragmentModel; +import org.smartregister.chw.presenter.HivCommunityFollowupFragmentPresenter; +import org.smartregister.commonregistry.CommonPersonObjectClient; + +import timber.log.Timber; + +public class HivFollowupRegisterFragment extends CoreHivCommunityFollowupRegisterFragment { + @Override + protected void initializePresenter() { + if (getActivity() == null) { + return; + } + String viewConfigurationIdentifier = null; + try { + viewConfigurationIdentifier = ((HivRegisterActivity) getActivity()).getViewIdentifiers().get(0); + } catch (NullPointerException e) { + Timber.e(e); + } + presenter = new HivCommunityFollowupFragmentPresenter(this, new HivCommunityFollowupFragmentModel(), viewConfigurationIdentifier); + } + + @Override + protected void openProfile(CommonPersonObjectClient client) { + if (getActivity() != null) { + Intent intent = new Intent(getActivity(), HivCommunityFollowupDetailsActivity.class); + Bundle bundle = new Bundle(); + bundle.putSerializable(Constants.HivMemberObject.MEMBER_OBJECT, HivDao.getCommunityFollowupMember(client.getCaseId())); + intent.putExtras(bundle); + + getActivity().startActivity(intent); + } + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java index e267bf52ee..0e374f1453 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java @@ -1,10 +1,57 @@ package org.smartregister.chw.fragment; -import org.smartregister.chw.tb.fragment.BaseTbCommunityFollowupRegisterFragment; +import android.content.Intent; +import android.os.Bundle; -public class TbFollowupRegisterFragment extends BaseTbCommunityFollowupRegisterFragment { +import androidx.annotation.Nullable; +import org.smartregister.chw.activity.TbCommunityFollowupDetailsActivity; +import org.smartregister.chw.activity.TbRegisterActivity; +import org.smartregister.chw.core.fragment.CoreTbCommunityFollowupRegisterFragment; +import org.smartregister.chw.model.TbCommunityFollowupFragmentModel; +import org.smartregister.chw.presenter.TbCommunityFollowupFragmentPresenter; +import org.smartregister.chw.tb.dao.TbDao; +import org.smartregister.chw.tb.domain.TbMemberObject; +import org.smartregister.chw.tb.util.Constants; +import org.smartregister.commonregistry.CommonPersonObjectClient; -} +import timber.log.Timber; + +import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; + +public class TbFollowupRegisterFragment extends CoreTbCommunityFollowupRegisterFragment { + + @Override + protected void initializePresenter() { + if (getActivity() == null) { + return; + } + String viewConfigurationIdentifier = null; + try { + viewConfigurationIdentifier = ((TbRegisterActivity) getActivity()).getViewIdentifiers().get(0); + } catch (NullPointerException e) { + Timber.e(e); + } + presenter = new TbCommunityFollowupFragmentPresenter(this, new TbCommunityFollowupFragmentModel(), viewConfigurationIdentifier); + } + @Override + protected void openProfile(CommonPersonObjectClient client) { + if (getActivity() != null) { + Intent intent = new Intent(getActivity(), TbCommunityFollowupDetailsActivity.class); + Bundle bundle = new Bundle(); + bundle.putSerializable(Constants.TbMemberObject.MEMBER_OBJECT, TbDao.getCommunityFollowupMember(client.getCaseId())); + intent.putExtras(bundle); + + getActivity().startActivity(intent); + } + } + + @Override + protected void openFollowUpVisit(@Nullable TbMemberObject tbMemberObject) { + if (getActivity() != null) + TbRegisterActivity.startTbFormActivity(getActivity(), tbMemberObject.getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); + } + +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java new file mode 100644 index 0000000000..33731727f8 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java @@ -0,0 +1,59 @@ +package org.smartregister.chw.model; + + +import androidx.annotation.NonNull; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.core.utils.ChildDBConstants; +import org.smartregister.chw.hiv.model.BaseHivCommunityFollowupModel; +import org.smartregister.chw.hiv.util.Constants.Tables; +import org.smartregister.chw.hiv.util.DBConstants.Key; +import org.smartregister.chw.util.Constants; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.family.util.DBConstants; + +import java.util.HashSet; +import java.util.Set; + +public class HivCommunityFollowupFragmentModel extends BaseHivCommunityFollowupModel { + + @NonNull + @Override + public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { + SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + Key.ENTITY_ID + " = " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); + queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T1 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER + " = T1." + DBConstants.KEY.BASE_ENTITY_ID); + queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T2 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD + " = T2." + DBConstants.KEY.BASE_ENTITY_ID); + return queryBuilder.mainCondition(mainCondition); + } + + @Override + @NotNull + public String[] mainColumns(String tableName) { + Set columnList = new HashSet<>(); + + columnList.add(tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.FIRST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.LAST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DOB); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.GENDER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.OTHER_PHONE_NUMBER); + columnList.add("T2." + DBConstants.KEY.PHONE_NUMBER + " AS " + Key.FAMILY_HEAD_PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); + columnList.add("T1." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.PRIMARY_CAREGIVER); + columnList.add("T2." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.FAMILY_HEAD); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); + columnList.add(Tables.HIV_COMMUNITY_FOLLOWUP + "." + Key.REASONS_FOR_ISSUING_COMMUNITY_REFERRAL); + columnList.add(Tables.HIV_COMMUNITY_FOLLOWUP + "." + Key.LAST_INTERACTED_WITH); + columnList.add(Tables.HIV_COMMUNITY_FOLLOWUP + "." + Key.HIV_COMMUNITY_REFERRAL_DATE); + columnList.add(Tables.HIV_COMMUNITY_FOLLOWUP + "." + Key.COMMENTS); + return columnList.toArray(new String[columnList.size()]); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/TbCommunityFollowupFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/TbCommunityFollowupFragmentModel.java new file mode 100644 index 0000000000..9ab1521ef5 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/TbCommunityFollowupFragmentModel.java @@ -0,0 +1,63 @@ +package org.smartregister.chw.model; + + +import androidx.annotation.NonNull; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.core.utils.ChildDBConstants; +import org.smartregister.chw.tb.model.BaseTbCommunityFollowupModel; +import org.smartregister.chw.tb.util.Constants.Tables; +import org.smartregister.chw.tb.util.DBConstants.Key; +import org.smartregister.chw.util.Constants; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.family.util.DBConstants; + +import java.util.HashSet; +import java.util.Set; + +import timber.log.Timber; + +public class TbCommunityFollowupFragmentModel extends BaseTbCommunityFollowupModel { + + @NonNull + @Override + public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { + SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + Key.ENTITY_ID + " = " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); + queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T1 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER + " = T1." + DBConstants.KEY.BASE_ENTITY_ID); + queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T2 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD + " = T2." + DBConstants.KEY.BASE_ENTITY_ID); + Timber.e("Coze :: query = "+queryBuilder.toString()); + return queryBuilder.mainCondition(mainCondition); + } + + @Override + @NotNull + public String[] mainColumns(String tableName) { + Set columnList = new HashSet<>(); + + columnList.add(tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.FIRST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.LAST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DOB); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.GENDER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.OTHER_PHONE_NUMBER); + columnList.add("T2." + DBConstants.KEY.PHONE_NUMBER + " AS " + Key.FAMILY_HEAD_PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); + columnList.add("T1." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.PRIMARY_CAREGIVER); + columnList.add("T2." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.FAMILY_HEAD); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); + columnList.add(Tables.TB_COMMUNITY_FOLLOWUP + "." + Key.REASONS_FOR_ISSUING_COMMUNITY_REFERRAL); + columnList.add(Tables.TB_COMMUNITY_FOLLOWUP + "." + Key.LAST_INTERACTED_WITH); + columnList.add(Tables.TB_COMMUNITY_FOLLOWUP + "." + Key.TB_COMMUNITY_REFERRAL_DATE); + columnList.add(Tables.TB_COMMUNITY_FOLLOWUP + "." + Key.COMMENTS); + + return columnList.toArray(new String[columnList.size()]); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivCommunityFollowupFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivCommunityFollowupFragmentPresenter.java new file mode 100644 index 0000000000..fb301dfe6c --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivCommunityFollowupFragmentPresenter.java @@ -0,0 +1,44 @@ +package org.smartregister.chw.presenter; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.R; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.hiv.contract.BaseHivRegisterFragmentContract; +import org.smartregister.chw.hiv.presenter.BaseHivCommunityFollowupPresenter; +import org.smartregister.chw.hiv.util.Constants.Tables; +import org.smartregister.chw.hiv.util.DBConstants; +import org.smartregister.chw.util.Constants; + +public class HivCommunityFollowupFragmentPresenter extends BaseHivCommunityFollowupPresenter { + + public HivCommunityFollowupFragmentPresenter(BaseHivRegisterFragmentContract.View view, BaseHivRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { + super(view, model, viewConfigurationIdentifier); + } + + @Override + @NotNull + public String getMainCondition() { + return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + + "AND " + Tables.HIV_COMMUNITY_FOLLOWUP + "." + DBConstants.Key.IS_CLOSED + " = '0' "; + + } + + @Override + @NotNull + public String getDueFilterCondition() { + return CoreConstants.TABLE_NAME.HIV_MEMBER + ".base_entity_id in (select base_entity_id from schedule_service where strftime('%Y-%m-%d') BETWEEN due_date and expiry_date and schedule_name = '" + CoreConstants.SCHEDULE_TYPES.HIV_VISIT + "' and ifnull(not_done_date,'') = '' and ifnull(completion_date,'') = '' ) "; + } + + @Override + public void processViewConfigurations() { + super.processViewConfigurations(); + if (getConfig().getSearchBarText() != null && getView() != null) { + getView().updateSearchBarHint(getView().getContext().getString(R.string.search_name_or_id)); + } + } + + @Override + public String getMainTable() { + return Tables.HIV_COMMUNITY_FOLLOWUP; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbCommunityFollowupFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbCommunityFollowupFragmentPresenter.java new file mode 100644 index 0000000000..f5fc2f725f --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbCommunityFollowupFragmentPresenter.java @@ -0,0 +1,45 @@ +package org.smartregister.chw.presenter; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.R; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.tb.contract.BaseTbRegisterFragmentContract; +import org.smartregister.chw.tb.presenter.BaseTbCommunityFollowupPresenter; +import org.smartregister.chw.tb.util.Constants.Tables; +import org.smartregister.chw.tb.util.DBConstants; +import org.smartregister.chw.util.Constants; + +public class TbCommunityFollowupFragmentPresenter extends BaseTbCommunityFollowupPresenter { + + public TbCommunityFollowupFragmentPresenter(BaseTbRegisterFragmentContract.View view, BaseTbRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { + super(view, model, viewConfigurationIdentifier); + } + + @Override + @NotNull + public String getMainCondition() { + return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + + "AND " + Tables.TB_COMMUNITY_FOLLOWUP + "." + DBConstants.Key.IS_CLOSED + " = '0' "; + + } + + @Override + @NotNull + public String getDueFilterCondition() { + return CoreConstants.TABLE_NAME.TB_MEMBER + ".base_entity_id in (select base_entity_id from schedule_service where strftime('%Y-%m-%d') BETWEEN due_date and expiry_date and schedule_name = '" + CoreConstants.SCHEDULE_TYPES.TB_VISIT + "' and ifnull(not_done_date,'') = '' and ifnull(completion_date,'') = '' ) "; + + } + + @Override + public void processViewConfigurations() { + super.processViewConfigurations(); + if (getConfig().getSearchBarText() != null && getView() != null) { + getView().updateSearchBarHint(getView().getContext().getString(R.string.search_name_or_id)); + } + } + + @Override + public String getMainTable() { + return Tables.TB_COMMUNITY_FOLLOWUP; + } +} From cf81f01295aeecf44e04835c508b2e1a1f2488c6 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 18 Jun 2020 01:01:39 +0300 Subject: [PATCH 066/915] Code refactoring --- .../ba/assets/ec_client_classification.json | 14 +++ .../src/ba/assets/ec_client_fields.json | 116 ++++++++++++++++++ .../HivCommunityFollowupFragmentModel.java | 2 + ...HivCommunityFollowupFragmentPresenter.java | 3 +- .../TbCommunityFollowupFragmentPresenter.java | 3 +- 5 files changed, 136 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 11f5b37f6d..2d8465917d 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -332,6 +332,20 @@ "creates_case": [ "ec_tb_community_followup" ] + }, + { + "field": "eventType", + "field_value": "HIV Community Followup Feedback", + "creates_case": [ + "ec_hiv_community_feedback" + ] + }, + { + "field": "eventType", + "field_value": "TB Community Followup Feedback", + "creates_case": [ + "ec_tb_community_feedback" + ] } ] } diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index db4daab99c..72ceec82f1 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2581,6 +2581,64 @@ } ] }, + { + "name": "ec_hiv_community_feedback", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "hiv_community_followup_visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "hiv_community_followup_visit_date" + } + }, + { + "column_name": "followup_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "followup_status" + } + }, + { + "column_name": "community_referral_form_id", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "community_referral_form_id" + } + } + ] + }, { "name": "ec_tb_register", "columns": [ @@ -2731,6 +2789,64 @@ } } ] + }, + { + "name": "ec_tb_community_feedback", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "tb_community_followup_visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "tb_community_followup_visit_date" + } + }, + { + "column_name": "followup_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "followup_status" + } + }, + { + "column_name": "community_referral_form_id", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "community_referral_form_id" + } + } + ] } ] } \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java index 33731727f8..f78ac5769f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java @@ -15,6 +15,8 @@ import java.util.HashSet; import java.util.Set; +import timber.log.Timber; + public class HivCommunityFollowupFragmentModel extends BaseHivCommunityFollowupModel { @NonNull diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivCommunityFollowupFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivCommunityFollowupFragmentPresenter.java index fb301dfe6c..120e013923 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivCommunityFollowupFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivCommunityFollowupFragmentPresenter.java @@ -19,7 +19,8 @@ public HivCommunityFollowupFragmentPresenter(BaseHivRegisterFragmentContract.Vie @NotNull public String getMainCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND " + Tables.HIV_COMMUNITY_FOLLOWUP + "." + DBConstants.Key.IS_CLOSED + " = '0' "; + "AND " + Tables.HIV_COMMUNITY_FOLLOWUP + "." + DBConstants.Key.IS_CLOSED + " = '0' " + + "AND " + Tables.HIV_COMMUNITY_FOLLOWUP + "." + DBConstants.Key.BASE_ENTITY_ID + " NOT IN (SELECT " + DBConstants.Key.COMMUNITY_REFERRAL_FORM_ID + " FROM " + Tables.HIV_COMMUNITY_FEEDBACK + " ) "; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbCommunityFollowupFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbCommunityFollowupFragmentPresenter.java index f5fc2f725f..60bd7120bc 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbCommunityFollowupFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbCommunityFollowupFragmentPresenter.java @@ -19,7 +19,8 @@ public TbCommunityFollowupFragmentPresenter(BaseTbRegisterFragmentContract.View @NotNull public String getMainCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND " + Tables.TB_COMMUNITY_FOLLOWUP + "." + DBConstants.Key.IS_CLOSED + " = '0' "; + "AND " + Tables.TB_COMMUNITY_FOLLOWUP + "." + DBConstants.Key.IS_CLOSED + " = '0' " + + "AND " + Tables.TB_COMMUNITY_FOLLOWUP + "." + DBConstants.Key.BASE_ENTITY_ID + " NOT IN (SELECT " + DBConstants.Key.COMMUNITY_REFERRAL_FORM_ID + " FROM " + Tables.TB_COMMUNITY_FEEDBACK + " ) "; } From b937bf50fc6f5de827ddc549c7e5483a72a71110 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 18 Jun 2020 14:48:09 +0300 Subject: [PATCH 067/915] Refactored All clients register to chw core --- .../AllClientsMemberProfileActivity.java | 150 +---------- .../activity/AllClientsRegisterActivity.java | 44 +--- .../contract/AllClientsMemberContract.java | 31 --- .../AllClientsMemberInteractor.java | 28 -- .../chw/model/AllClientsMemberModel.java | 13 - .../presenter/AllClientsMemberPresenter.java | 57 +--- .../org/smartregister/chw/util/Constants.java | 1 - .../activity_all_clients_member_profile.xml | 245 ------------------ .../src/main/res/values-sw/strings.xml | 2 - opensrp-chw/src/main/res/values/strings.xml | 5 - 10 files changed, 17 insertions(+), 559 deletions(-) delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/contract/AllClientsMemberContract.java delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/interactor/AllClientsMemberInteractor.java delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/AllClientsMemberModel.java delete mode 100644 opensrp-chw/src/main/res/layout/activity_all_clients_member_profile.xml diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 4d7acf4039..4f1b66e540 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -1,32 +1,18 @@ package org.smartregister.chw.activity; -import android.app.Activity; import android.content.Context; -import android.content.Intent; import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.widget.RelativeLayout; -import android.widget.TextView; -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.widget.Toolbar; import androidx.viewpager.widget.ViewPager; -import com.vijay.jsonwizard.constants.JsonFormConstants; -import com.vijay.jsonwizard.domain.Form; - -import org.jetbrains.annotations.NotNull; import org.json.JSONObject; import org.smartregister.chw.R; -import org.smartregister.chw.contract.AllClientsMemberContract; -import org.smartregister.chw.core.activity.CoreFamilyOtherMemberProfileActivity; +import org.smartregister.chw.core.activity.CoreAllClientsMemberProfileActivity; import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; +import org.smartregister.chw.core.contract.CoreAllClientsMemberContract; import org.smartregister.chw.core.form_data.NativeFormsDataBinder; import org.smartregister.chw.core.fragment.FamilyCallDialogFragment; -import org.smartregister.chw.core.listener.OnClickFloatingMenu; import org.smartregister.chw.core.utils.CoreConstants; -import org.smartregister.chw.core.utils.CoreJsonFormUtils; import org.smartregister.chw.custom_view.FamilyMemberFloatingMenu; import org.smartregister.chw.dataloader.FamilyMemberDataLoader; import org.smartregister.chw.fp.util.FamilyPlanningConstants; @@ -36,90 +22,25 @@ import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.Utils; import org.smartregister.chw.util.UtilsFlv; -import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.family.adapter.ViewPagerAdapter; import org.smartregister.family.fragment.BaseFamilyOtherMemberProfileFragment; import org.smartregister.family.model.BaseFamilyOtherMemberProfileActivityModel; -import org.smartregister.family.util.Constants.JSON_FORM_EXTRA; import org.smartregister.family.util.DBConstants; import org.smartregister.family.util.JsonFormUtils; -import org.smartregister.helper.ImageRenderHelper; -import org.smartregister.opd.activity.BaseOpdFormActivity; -import org.smartregister.opd.utils.OpdConstants; import org.smartregister.view.contract.BaseProfileContract; -import org.smartregister.view.customcontrols.CustomFontTextView; import timber.log.Timber; import static com.vijay.jsonwizard.constants.JsonFormConstants.COUNT; import static com.vijay.jsonwizard.constants.JsonFormConstants.STEP1; -import static org.smartregister.chw.core.utils.CoreReferralUtils.getCommonRepository; import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; import static org.smartregister.family.util.JsonFormUtils.STEP2; -public class AllClientsMemberProfileActivity extends CoreFamilyOtherMemberProfileActivity implements OnClickFloatingMenu, AllClientsMemberContract.View { +public class AllClientsMemberProfileActivity extends CoreAllClientsMemberProfileActivity { private FamilyMemberFloatingMenu familyFloatingMenu; - private RelativeLayout layoutFamilyHasRow; - private CustomFontTextView familyHeadTextView; - private CustomFontTextView careGiverTextView; - private AllClientsMemberContract.Presenter allClientsMemberPresenter; - - @Override - protected void onCreation() { - setIndependentClient(true); - setContentView(R.layout.activity_all_clients_member_profile); - - Toolbar toolbar = findViewById(org.smartregister.family.R.id.family_toolbar); - setSupportActionBar(toolbar); - - ActionBar actionBar = getSupportActionBar(); - if (actionBar != null) { - actionBar.setDisplayHomeAsUpEnabled(true); - actionBar.setTitle(""); - } - - appBarLayout = findViewById(org.smartregister.family.R.id.toolbar_appbarlayout); - - imageRenderHelper = new ImageRenderHelper(this); - - initializePresenter(); - - setupViews(); - } - - - @Override - public void setFamilyServiceStatus(String status) { - layoutFamilyHasRow.setVisibility(View.GONE); - } - - @Override - protected void setupViews() { - super.setupViews(); - TextView toolbarTitle = findViewById(R.id.toolbar_title); - toolbarTitle.setText(getString(R.string.return_to_all_client)); - layoutFamilyHasRow = findViewById(R.id.family_has_row); - familyHeadTextView = findViewById(R.id.family_head); - careGiverTextView = findViewById(R.id.primary_caregiver); - } - - @Override - protected void onResumption() { - super.onResumption(); - layoutFamilyHasRow.setVisibility(View.GONE); - } - - @Override - public void toggleFamilyHead(boolean show) { - familyHeadTextView.setVisibility(View.GONE); - } - - @Override - public void togglePrimaryCaregiver(boolean show) { - careGiverTextView.setVisibility(View.GONE); - } + private CoreAllClientsMemberContract.Presenter allClientsMemberPresenter; @Override public boolean onCreateOptionsMenu(Menu menu) { @@ -133,19 +54,6 @@ public boolean onCreateOptionsMenu(Menu menu) { return true; } - @Override - public boolean onOptionsItemSelected(MenuItem item) { - super.onOptionsItemSelected(item); - int itemId = item.getItemId(); - if (itemId == R.id.action_location_info) { - JSONObject preFilledForm = CoreJsonFormUtils.getAutoPopulatedJsonEditFormString( - CoreConstants.JSON_FORM.getFamilyDetailsRegister(), this, - getFamilyRegistrationDetails(), Utils.metadata().familyRegister.updateEventType); - if (preFilledForm != null) startFormActivity(preFilledForm); - return true; - } - return true; - } @Override public FamilyOtherMemberActivityPresenter presenter() { @@ -165,12 +73,12 @@ protected void startMalariaRegister() { @Override protected void startHivRegister() { - HivRegisterActivity.startHIVFormActivity(AllClientsMemberProfileActivity.this,baseEntityId,org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + HivRegisterActivity.startHIVFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); } @Override protected void startTbRegister() { - TbRegisterActivity.startTbFormActivity(AllClientsMemberProfileActivity.this, baseEntityId,org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); + TbRegisterActivity.startTbFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); } @Override @@ -208,7 +116,7 @@ protected void startEditMemberJsonForm(Integer title_resource, CommonPersonObjec NativeFormsDataBinder binder = new NativeFormsDataBinder(getContext(), commonPersonObject.getCaseId()); binder.setDataLoader(new FamilyMemberDataLoader(familyName, isPrimaryCareGiver, titleString, Utils.metadata().familyMemberRegister.updateEventType, uniqueID)); - JSONObject jsonObject = binder.getPrePopulatedForm(Constants.ALL_CLIENT_REGISTRATION_FORM); + JSONObject jsonObject = binder.getPrePopulatedForm(CoreConstants.JSON_FORM.getAllClientRegistrationForm()); try { //Remove the first step and use the updated one @@ -227,33 +135,6 @@ protected void startEditMemberJsonForm(Integer title_resource, CommonPersonObjec } } - @NotNull - private CommonPersonObjectClient getFamilyRegistrationDetails() { - //Update common person client object with all details from family register table - final CommonPersonObject personObject = getCommonRepository(Utils.metadata().familyRegister.tableName) - .findByBaseEntityId(familyBaseEntityId); - CommonPersonObjectClient commonPersonObjectClient = new CommonPersonObjectClient(personObject.getCaseId(), - personObject.getDetails(), ""); - commonPersonObjectClient.setColumnmaps(personObject.getColumnmaps()); - commonPersonObjectClient.setDetails(personObject.getDetails()); - return commonPersonObjectClient; - } - - @Override - public void startFormActivity(JSONObject jsonForm) { - Intent intent = new Intent(this, BaseOpdFormActivity.class); - intent.putExtra(OpdConstants.JSON_FORM_EXTRA.JSON, jsonForm.toString()); - Form form = new Form(); - form.setName(getString(R.string.update_client_registration)); - form.setActionBarBackground(R.color.family_actionbar); - form.setNavigationBackground(R.color.family_navigation); - form.setHomeAsUpIndicator(R.mipmap.ic_cross_white); - form.setPreviousLabel(getResources().getString(R.string.back)); - form.setWizard(false); - intent.putExtra(JsonFormConstants.JSON_FORM_KEY.FORM, form); - startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); - } - @Override protected BaseProfileContract.Presenter getFamilyOtherMemberActivityPresenter( String familyBaseEntityId, String baseEntityId, String familyHead, String primaryCaregiver, String villageTown, String familyName) { @@ -286,21 +167,6 @@ protected void initializePresenter() { allClientsMemberPresenter = new AllClientsMemberPresenter(this, baseEntityId); } - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (resultCode != Activity.RESULT_OK) return; - try { - String jsonString = data.getStringExtra(JSON_FORM_EXTRA.JSON); - JSONObject form = new JSONObject(jsonString); - if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(Utils.metadata().familyRegister.updateEventType)) { - getAllClientsMemberPresenter().updateLocationInfo(jsonString, familyBaseEntityId); - } - } catch (Exception e) { - Timber.e(e); - } - } - @Override protected ViewPager setupViewPager(ViewPager viewPager) { adapter = new ViewPagerAdapter(getSupportFragmentManager()); @@ -342,7 +208,7 @@ public void onClickMenu(int viewId) { } @Override - public AllClientsMemberContract.Presenter getAllClientsMemberPresenter() { + public CoreAllClientsMemberContract.Presenter getAllClientsMemberPresenter() { return allClientsMemberPresenter; } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsRegisterActivity.java index c302fc85f7..fc7c786c25 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsRegisterActivity.java @@ -17,6 +17,7 @@ import org.smartregister.chw.R; import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.activity.CoreAllClientsRegisterActivity; +import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.fragment.AllClientsRegisterFragment; import org.smartregister.chw.model.ChwAllClientsRegisterModel; import org.smartregister.chw.presenter.ChwAllClientRegisterPresenter; @@ -35,8 +36,7 @@ import timber.log.Timber; -public class AllClientsRegisterActivity extends CoreAllClientsRegisterActivity - implements BottomNavigationView.OnNavigationItemSelectedListener { +public class AllClientsRegisterActivity extends CoreAllClientsRegisterActivity{ @Override public void onCreate(@Nullable Bundle savedInstanceState) { @@ -51,7 +51,7 @@ protected BaseRegisterFragment getRegisterFragment() { @Override public void startRegistration() { - startFormActivity(Constants.ALL_CLIENT_REGISTRATION_FORM,null, null); + startFormActivity(CoreConstants.JSON_FORM.getAllClientRegistrationForm(),null, null); } @Override @@ -66,44 +66,6 @@ public void startFormActivity(String formName, String entityId, String metaData) } } - @Override - public void startFormActivity(JSONObject jsonObject) { - Intent intent = new Intent(this, BaseOpdFormActivity.class); - intent.putExtra(OpdConstants.JSON_FORM_EXTRA.JSON, jsonObject.toString()); - - Form form = new Form(); - form.setName(getString(R.string.client_registration)); - form.setActionBarBackground(R.color.family_actionbar); - form.setNavigationBackground(R.color.family_navigation); - form.setHomeAsUpIndicator(R.mipmap.ic_cross_white); - form.setPreviousLabel(getResources().getString(R.string.back)); - intent.putExtra(JsonFormConstants.JSON_FORM_KEY.FORM, form); - - startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); - } - - @Override - protected void onActivityResultExtended(int requestCode, int resultCode, Intent data) { - if (requestCode == OpdJsonFormUtils.REQUEST_CODE_GET_JSON && resultCode == RESULT_OK) { - try { - String jsonString = data.getStringExtra(OpdConstants.JSON_FORM_EXTRA.JSON); - Timber.d("JSONResult : %s", jsonString); - - JSONObject form = new JSONObject(jsonString); - String encounterType = form.getString(OpdJsonFormUtils.ENCOUNTER_TYPE); - if (encounterType.equals(Constants.EventType.FAMILY_REGISTRATION)) { - RegisterParams registerParam = new RegisterParams(); - registerParam.setEditMode(false); - registerParam.setFormTag(OpdJsonFormUtils.formTag(OpdUtils.context().allSharedPreferences())); - showProgressDialog(R.string.saving_dialog_title); - presenter().saveForm(jsonString, registerParam); - } - } catch (JSONException e) { - Timber.e(e); - } - } - } - @Override protected void registerBottomNavigation() { bottomNavigationHelper = new BottomNavigationHelper(); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/contract/AllClientsMemberContract.java b/opensrp-chw/src/main/java/org/smartregister/chw/contract/AllClientsMemberContract.java deleted file mode 100644 index 624291076b..0000000000 --- a/opensrp-chw/src/main/java/org/smartregister/chw/contract/AllClientsMemberContract.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.smartregister.chw.contract; - -import org.smartregister.family.contract.FamilyOtherMemberContract; -import org.smartregister.family.contract.FamilyProfileContract; -import org.smartregister.family.domain.FamilyEventClient; - -public interface AllClientsMemberContract { - - interface Model { - FamilyEventClient processJsonForm(String jsonString, String familyBaseEntityId); - } - - interface Presenter { - void updateLocationInfo(String jsonString, String familyBaseEntityId); - - View getView(); - - void refreshProfileView(); - } - - interface Interactor { - void updateLocationInfo(String jsonString, FamilyEventClient familyEventClient, - FamilyProfileContract.InteractorCallBack interactorCallback); - - void updateProfileInfo(String baseEntityId, FamilyOtherMemberContract.InteractorCallBack callback); - } - - interface View { - Presenter getAllClientsMemberPresenter(); - } -} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/AllClientsMemberInteractor.java b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/AllClientsMemberInteractor.java deleted file mode 100644 index 46aa67de09..0000000000 --- a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/AllClientsMemberInteractor.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.smartregister.chw.interactor; - -import org.smartregister.chw.contract.AllClientsMemberContract; -import org.smartregister.chw.core.utils.CoreConstants; -import org.smartregister.family.contract.FamilyOtherMemberContract; -import org.smartregister.family.contract.FamilyProfileContract; -import org.smartregister.family.domain.FamilyEventClient; -import org.smartregister.family.interactor.FamilyOtherMemberProfileInteractor; - -public class AllClientsMemberInteractor extends FamilyOtherMemberProfileInteractor implements AllClientsMemberContract.Interactor { - - private FamilyProfileInteractor familyProfileInteractor; - - public AllClientsMemberInteractor() { - familyProfileInteractor = new FamilyProfileInteractor(); - } - - @Override - public void updateLocationInfo(String jsonString, FamilyEventClient familyEventClient, FamilyProfileContract.InteractorCallBack interactorCallback) { - familyEventClient.getEvent().setEntityType(CoreConstants.TABLE_NAME.INDEPENDENT_CLIENT); - familyProfileInteractor.saveRegistration(familyEventClient, jsonString, true, interactorCallback); - } - - @Override - public void updateProfileInfo(String baseEntityId, FamilyOtherMemberContract.InteractorCallBack callback) { - refreshProfileView(baseEntityId, callback); - } -} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/AllClientsMemberModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/AllClientsMemberModel.java deleted file mode 100644 index 83b0619527..0000000000 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/AllClientsMemberModel.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.smartregister.chw.model; - -import org.smartregister.chw.contract.AllClientsMemberContract; -import org.smartregister.family.FamilyLibrary; -import org.smartregister.family.domain.FamilyEventClient; -import org.smartregister.family.util.JsonFormUtils; - -public class AllClientsMemberModel implements AllClientsMemberContract.Model { - @Override - public FamilyEventClient processJsonForm(String jsonString, String familyBaseEntityId) { - return JsonFormUtils.processFamilyUpdateForm(FamilyLibrary.getInstance().context().allSharedPreferences(), jsonString, familyBaseEntityId); - } -} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AllClientsMemberPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AllClientsMemberPresenter.java index 316855159b..4aa29cffbf 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AllClientsMemberPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AllClientsMemberPresenter.java @@ -4,49 +4,21 @@ import org.apache.commons.lang3.tuple.Triple; import org.smartregister.chw.activity.AllClientsMemberProfileActivity; import org.smartregister.chw.anc.util.NCUtils; -import org.smartregister.chw.contract.AllClientsMemberContract; +import org.smartregister.chw.core.activity.CoreAllClientsMemberProfileActivity; import org.smartregister.chw.core.application.CoreChwApplication; +import org.smartregister.chw.core.presenter.CoreAllClientsMemberPresenter; import org.smartregister.chw.dao.FamilyDao; -import org.smartregister.chw.interactor.AllClientsMemberInteractor; -import org.smartregister.chw.model.AllClientsMemberModel; import org.smartregister.commonregistry.CommonPersonObjectClient; -import org.smartregister.family.contract.FamilyOtherMemberContract; -import org.smartregister.family.contract.FamilyProfileContract; -import org.smartregister.family.domain.FamilyEventClient; import org.smartregister.family.util.DBConstants; import org.smartregister.family.util.Utils; -import java.lang.ref.WeakReference; import java.text.MessageFormat; import static org.smartregister.util.Utils.getName; -public class AllClientsMemberPresenter implements AllClientsMemberContract.Presenter, FamilyProfileContract.InteractorCallBack, FamilyOtherMemberContract.InteractorCallBack { - - private AllClientsMemberContract.Interactor interactor; - - private WeakReference view; - private String baseEntityId; - - public AllClientsMemberPresenter(AllClientsMemberProfileActivity allClientsMemberProfileActivity, String baseEntityId) { - this.baseEntityId = baseEntityId; - interactor = new AllClientsMemberInteractor(); - view = new WeakReference<>(allClientsMemberProfileActivity); - } - - @Override - public void updateLocationInfo(String jsonString, String familyBaseEntityId) { - interactor.updateLocationInfo(jsonString, new AllClientsMemberModel().processJsonForm(jsonString, familyBaseEntityId), this); - } - - @Override - public AllClientsMemberContract.View getView() { - return view.get(); - } - - @Override - public void startFormForEdit(CommonPersonObjectClient client) { - //Overridden: Not Needed +public class AllClientsMemberPresenter extends CoreAllClientsMemberPresenter { + public AllClientsMemberPresenter(CoreAllClientsMemberProfileActivity allClientsMemberProfileActivity, String baseEntityId) { + super(allClientsMemberProfileActivity, baseEntityId); } @Override @@ -67,7 +39,7 @@ public void refreshProfileTopSection(CommonPersonObjectClient client) { } String gender = Utils.getValue(client.getColumnmaps(), DBConstants.KEY.GENDER, true); currentView.setProfileDetailOne(gender); - String villageTown = FamilyDao.getFamilyDetail(client.getCaseId()).getVillageTown(); + String villageTown = FamilyDao.getFamilyDetail(client.getCaseId()).getVillageTown(); currentView.setProfileDetailTwo(villageTown); String uniqueId = Utils.getValue(client.getColumnmaps(), DBConstants.KEY.UNIQUE_ID, false); currentView.setProfileDetailThree(String.format(currentView.getString(org.smartregister.chw.core.R.string.id_with_value), uniqueId)); @@ -85,21 +57,4 @@ public void onUniqueIdFetched(Triple triple, String enti public void onNoUniqueId() { //Overridden: Not Needed } - - @Override - public void onRegistrationSaved(boolean editMode, boolean isSaved, FamilyEventClient familyEventClient) { - AllClientsMemberProfileActivity view = (AllClientsMemberProfileActivity) getView(); - if (editMode) { - view.hideProgressDialog(); - - refreshProfileView(); - - view.refreshList(); - } - } - - @Override - public void refreshProfileView() { - interactor.updateProfileInfo(baseEntityId, this); - } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index 80e2107ce0..823db7d764 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -9,7 +9,6 @@ public class Constants extends CoreConstants { public static final String APP_VERSION = "app_version"; public static final String DB_VERSION = "db_version"; public static final String MALARIA_REFERRAL_FORM = "malaria_referral_form"; - public static final String ALL_CLIENT_REGISTRATION_FORM = "all_clients_registration_form"; public static class FORM_SUBMISSION_FIELD { public static String pncHfNextVisitDateFieldType = "pnc_hf_next_visit_date"; diff --git a/opensrp-chw/src/main/res/layout/activity_all_clients_member_profile.xml b/opensrp-chw/src/main/res/layout/activity_all_clients_member_profile.xml deleted file mode 100644 index ffdc23ebe0..0000000000 --- a/opensrp-chw/src/main/res/layout/activity_all_clients_member_profile.xml +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index a0186b82b5..7089555835 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -282,6 +282,4 @@ Ushauri wa uzazi wa mpango kutoka kituo cha afya umefanyika Ushauri wa uzazi wa mpango kutoka kituo cha afya haujakamilika - Sajili Mteja - diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 160cd2e53d..2fa4d543a7 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -350,18 +350,13 @@ Enter pin for %s You can use a 4 digit pin number to make logging in faster - - Add client - Clinic of Treatment and Care Clinic Of Tuberculosis Treatment Gender Based Violence Referral Child Gender Based Violence Referral - Client Registration Error opening client profile Location Details - Update Client Details Pregnancy risk From 77f0227833ad8d4e9b9b91d157a3add6e3a0d134 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 22 Jun 2020 10:24:28 +0300 Subject: [PATCH 068/915] Code refactoring --- opensrp-chw/src/ba/assets/ec_client_fields.json | 2 +- .../chw/fragment/HivFollowupRegisterFragment.java | 3 ++- .../smartregister/chw/fragment/TbFollowupRegisterFragment.java | 3 ++- .../chw/model/HivCommunityFollowupFragmentModel.java | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 72ceec82f1..e60cdd432c 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2575,7 +2575,7 @@ "column_name": "reasons_for_issuing_community_referral", "type": "Event", "json_mapping": { - "field": "obs.formSubmissionField", + "field": "obs.fieldCode", "concept": "reasons_for_issuing_community_referral" } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java index 24e5322159..8e57c60f38 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java @@ -8,6 +8,7 @@ import org.smartregister.chw.core.fragment.CoreHivCommunityFollowupRegisterFragment; import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.util.Constants; +import org.smartregister.chw.hiv.util.DBConstants; import org.smartregister.chw.model.HivCommunityFollowupFragmentModel; import org.smartregister.chw.presenter.HivCommunityFollowupFragmentPresenter; import org.smartregister.commonregistry.CommonPersonObjectClient; @@ -34,7 +35,7 @@ protected void openProfile(CommonPersonObjectClient client) { if (getActivity() != null) { Intent intent = new Intent(getActivity(), HivCommunityFollowupDetailsActivity.class); Bundle bundle = new Bundle(); - bundle.putSerializable(Constants.HivMemberObject.MEMBER_OBJECT, HivDao.getCommunityFollowupMember(client.getCaseId())); + bundle.putSerializable(Constants.HivMemberObject.MEMBER_OBJECT, HivDao.getCommunityFollowupMember(client.getColumnmaps().get(DBConstants.Key.BASE_ENTITY_ID))); intent.putExtras(bundle); getActivity().startActivity(intent); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java index 0e374f1453..0c4686c6ac 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java @@ -8,6 +8,7 @@ import org.smartregister.chw.activity.TbCommunityFollowupDetailsActivity; import org.smartregister.chw.activity.TbRegisterActivity; import org.smartregister.chw.core.fragment.CoreTbCommunityFollowupRegisterFragment; +import org.smartregister.chw.hiv.util.DBConstants; import org.smartregister.chw.model.TbCommunityFollowupFragmentModel; import org.smartregister.chw.presenter.TbCommunityFollowupFragmentPresenter; import org.smartregister.chw.tb.dao.TbDao; @@ -40,7 +41,7 @@ protected void openProfile(CommonPersonObjectClient client) { if (getActivity() != null) { Intent intent = new Intent(getActivity(), TbCommunityFollowupDetailsActivity.class); Bundle bundle = new Bundle(); - bundle.putSerializable(Constants.TbMemberObject.MEMBER_OBJECT, TbDao.getCommunityFollowupMember(client.getCaseId())); + bundle.putSerializable(Constants.TbMemberObject.MEMBER_OBJECT, TbDao.getCommunityFollowupMember(client.getColumnmaps().get(DBConstants.Key.BASE_ENTITY_ID))); intent.putExtras(bundle); getActivity().startActivity(intent); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java index f78ac5769f..116b62b94d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java @@ -36,7 +36,7 @@ public String mainSelect(@NonNull String tableName, @NonNull String mainConditio public String[] mainColumns(String tableName) { Set columnList = new HashSet<>(); - columnList.add(tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID); columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.FIRST_NAME); columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); From e82b00770901825e7d172f4ffddc3c6eda2cbab7 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 26 Jun 2020 19:31:08 +0300 Subject: [PATCH 069/915] added swahili version of hiv and tb community followup feedback forms, and minor refactoring of the english forms --- .../hiv_community_followup_feedback.json | 144 ++++++++++++++++++ .../tb_community_followup_feedback.json | 144 ++++++++++++++++++ .../hiv_community_followup_feedback.json | 18 +-- .../tb_community_followup_feedback.json | 18 +-- 4 files changed, 306 insertions(+), 18 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/tb_community_followup_feedback.json diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json new file mode 100644 index 0000000000..aa1469bd6b --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json @@ -0,0 +1,144 @@ +{ + "form": "HIV Community Followup Feedback", + "count": "1", + "encounter_type": "HIV Community Followup Feedback", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_community_followup_feedback_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya mrejesho wa ufwatiliaji wa mteja wenye HIV", + "fields": [ + { + "name": "followup_status", + "type": "spinner", + "properties": { + "text": "Followup Feedback" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma akitokea mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select followup feedback", + "dependent_calculations": [ + "hiv_community_followup_visit_date" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/tb_community_followup_feedback.json b/opensrp-chw/src/ba/assets/json.form-sw/tb_community_followup_feedback.json new file mode 100644 index 0000000000..3b09543ff8 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/tb_community_followup_feedback.json @@ -0,0 +1,144 @@ +{ + "form": "TB Community Followup Feedback", + "count": "1", + "encounter_type": "TB Community Followup Feedback", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_community_followup_feedback_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya mrejesho wa ufwatiliaji wa mteja wenye Kifua Kikuu", + "fields": [ + { + "name": "followup_status", + "type": "spinner", + "properties": { + "text": "Followup Feedback" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma akitokea mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the followup feedback", + "dependent_calculations": [ + "tb_community_followup_visit_date" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json b/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json index 3f6ad8c0b9..2f236e9759 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json @@ -69,6 +69,15 @@ "openmrs_entity_parent": "" }, "options": [ + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, { "name": "deceased", "text": "Deceased", @@ -122,15 +131,6 @@ "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", "openmrs_entity_parent": "" } - }, - { - "name": "completed_and_qualified_from_the_services ", - "text": "Client has completed and qualified from the services ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_and_qualified_from_the_services", - "openmrs_entity_parent": "" - } } ], "required_status": "yes:Please select followup feedback", diff --git a/opensrp-chw/src/ba/assets/json.form/tb_community_followup_feedback.json b/opensrp-chw/src/ba/assets/json.form/tb_community_followup_feedback.json index cf2e62650e..c371dfedff 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_community_followup_feedback.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_community_followup_feedback.json @@ -69,6 +69,15 @@ "openmrs_entity_parent": "" }, "options": [ + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, { "name": "deceased", "text": "Deceased", @@ -122,15 +131,6 @@ "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", "openmrs_entity_parent": "" } - }, - { - "name": "completed_and_qualified_from_the_services ", - "text": "Client has completed and qualified from the services ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_and_qualified_from_the_services", - "openmrs_entity_parent": "" - } } ], "required_status": "yes:Please select the followup feedback", From 539621031bd4d23754267438cb9900a74eed21cc Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 26 Jun 2020 20:27:13 +0300 Subject: [PATCH 070/915] Disabled due buttons on hiv and tb community followup register fragments --- .../chw/fragment/HivFollowupRegisterFragment.java | 8 ++++++++ .../chw/fragment/TbFollowupRegisterFragment.java | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java index 8e57c60f38..e663ee28c1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java @@ -15,6 +15,8 @@ import timber.log.Timber; +import static android.view.View.GONE; + public class HivFollowupRegisterFragment extends CoreHivCommunityFollowupRegisterFragment { @Override protected void initializePresenter() { @@ -30,6 +32,12 @@ protected void initializePresenter() { presenter = new HivCommunityFollowupFragmentPresenter(this, new HivCommunityFollowupFragmentModel(), viewConfigurationIdentifier); } + @Override + public void setupViews(android.view.View view) { + super.setupViews(view); + view.findViewById(org.smartregister.chw.core.R.id.due_only_layout).setVisibility(GONE); + } + @Override protected void openProfile(CommonPersonObjectClient client) { if (getActivity() != null) { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java index 0c4686c6ac..b1c3be0f56 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java @@ -18,6 +18,7 @@ import timber.log.Timber; +import static android.view.View.GONE; import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; public class TbFollowupRegisterFragment extends CoreTbCommunityFollowupRegisterFragment { @@ -36,6 +37,12 @@ protected void initializePresenter() { presenter = new TbCommunityFollowupFragmentPresenter(this, new TbCommunityFollowupFragmentModel(), viewConfigurationIdentifier); } + @Override + public void setupViews(android.view.View view) { + super.setupViews(view); + view.findViewById(org.smartregister.chw.core.R.id.due_only_layout).setVisibility(GONE); + } + @Override protected void openProfile(CommonPersonObjectClient client) { if (getActivity() != null) { From b5368487c6b0f4b2da85abff4ad2ee04f4d81f47 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 26 Jun 2020 21:45:27 +0300 Subject: [PATCH 071/915] Fixed an issue in loading reasons for issuing community referral in hiv and tb community followup ec clients fields tables --- opensrp-chw/src/ba/assets/ec_client_fields.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index e60cdd432c..72ceec82f1 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2575,7 +2575,7 @@ "column_name": "reasons_for_issuing_community_referral", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", + "field": "obs.formSubmissionField", "concept": "reasons_for_issuing_community_referral" } } From c8efe97c41c74a8861ef15a77150049c8bef8f8d Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 29 Jun 2020 13:38:36 +0300 Subject: [PATCH 072/915] Fixed a bug in updating all clients registration information --- ...clients_update_registration_info_form.json | 1024 +++++++++++++++++ ...clients_update_registration_info_form.json | 1024 +++++++++++++++++ .../all_clients_member_update_calculation.yml | 14 + .../all_clients_member_update_relevance.yml | 78 ++ .../AllClientsMemberProfileActivity.java | 14 +- 5 files changed, 2142 insertions(+), 12 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json create mode 100644 opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json create mode 100644 opensrp-chw/src/ba/assets/rule/all_clients_member_update_calculation.yml create mode 100644 opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json new file mode 100644 index 0000000000..5d32e51e3e --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -0,0 +1,1024 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "1", + "encounter_type": "Family Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Taarifa ya mteja", + "fields": [ + { + "key": "photo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "choose_image", + "uploadButtonText": "Chukua picha ya muhusika" + }, + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Boresha Afya ID", + "scanButtonText": "Chukua QR code", + "v_numeric": { + "value": "true", + "err": "Tafadhali ingiza namba halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza namba ya kipekee" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Jina la mwisho (ukoo)", + "edit_type": "name", + "read_only": true, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la ukoo" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la kati", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kati" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Tarehe ya kuzaliwa", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-5y", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya kuzaliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "Tarehe ya kuzaliwa haijulikani?", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Umri", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Tafadhali ingiza umri" + }, + "v_min": { + "value": "5", + "err": "Umri lazima uwe sawa au mkubwa kuliko 5" + }, + "v_max": { + "value": "120", + "err": "Umri lazima uwe sawa au chini ya 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafadhali ingiza umri" + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Je, ana kitambulisho chochote kati ya hivi??", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "Kitambulisho cha taifa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Kitambulisho cha mpiga kura", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Leseni ya dereva", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_passport", + "text": "Hati ya kusafiria", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_passport" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "edit_text", + "hint": "Namba ya kitambulisho cha taifa", + "edit_type": "name", + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "edit_text", + "hint": "Namba ya kitambulisho cha mpiga kura", + "edit_type": "name", + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "edit_text", + "hint": "Namba ya leseni ya udereva", + "edit_type": "name", + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "passport", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Passport_Number", + "type": "edit_text", + "hint": "Namba ya hati ya kusafiria", + "edit_type": "name", + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_passport" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Bima ya afya unaotumia", + "values": [ + "Bima ya afya ya jamii (CHF)", + "Bima ya afya ya jamii ulioboreshwa (iCHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Bima ya afya nyingezo", + "Hakuna" + ], + "keys": [ + "Community Health Fund (CHF)", + "iCHF", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "iCHF": "iCHF", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza bima" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Bima ya afya mwingine unaotumia", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza bima" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Namba ya bima ya afya umaotumia", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza namba ya mfuko wa bima ya afya umaotumia" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jinsi" + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Je, amejifungua ndani ya mwaka 1?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Hali ya ulemavu", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Aina ya ulemavu", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza aina ya ulemavu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Namba ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." + }, + "v_required": { + "value": false, + "err": "Tafadhali taja numbe ya simu" + } + }, + { + "key": "has_primary_caregiver", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Has_Primary_Caregiver", + "type": "spinner", + "hint": "Je una mlezi msaidizi?\n", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "primary_caregiver_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Primary_Caregiver_Name", + "type": "edit_text", + "hint": "Majina ya msaidizi", + "v_required": { + "value": "true", + "err": "Jina la msaidizi lazima iwe." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Namba ya simu ya msaidizi", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka namba ya msaidizi." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Aina ya kazi anayojishughulisha", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_farmer", + "text": "Mkulima", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_cs", + "text": "Mtumishi wa serikali", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_nurse", + "text": "Muuguzi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_teacher", + "text": "Mwalimu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_th", + "text": "Waganga wa tiba asilia (THs)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_chw", + "text": "Wahudumu wa afya ngazi ya jamii–WAJA", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_tba", + "text": "Wakunga wa jadi (TBAs)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_chmis", + "text": "Wakusanyaji takwimu za afya katika jamii (cHIMS)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_cbd", + "text": "Wasambazaji wa dawa na vifaa vya uzazi wa mpango katika jamii (CBD)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_hbc", + "text": "Watoa huduma kwa wagonjwa majumbani (HBC)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_cimmci", + "text": "Watoa huduma za udhibiti wa magonjwa ya watoto kwa uwiano katika jamii (cIMCI)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other", + "text": "Nyingine", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Una jukumu lolote la uongozi kwenye ngazi ya jamii?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Kiongozi wa dini", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Kiongozi wa kimila", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Kiongozi wa kisiasa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Mtu mwenye ushawishi kwenye jamii", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Taja hayo majukumu mengine", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali taja jukumu" + }, + "relevance": { + "step1:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "reasons_for_registration", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Registration_Reason", + "type": "native_radio", + "label": "Sababu za Usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizo ya VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Mtindio wa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "homosexual", + "text": "Mwanaume anayefanya ngono na mwanaume mwenzake", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sex_worker_woman", + "text": "Mwanamke anayefanya biashara ya ngono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "Mtoto asiyeongezeka uzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "Mtoto anayepata homa za mara kwa mara", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Mtoto anayefanyiwa ukatili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Mtu aliyenyanyaswa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Mtu anayejidunga", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "pregnant_mother", + "text": "Mama mjamzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "breastfeeding_mother", + "text": "Mama anayenyonyesha ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Mtoto anayeishi mazingira hatarishi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya kisajili mteja inahitajika" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json new file mode 100644 index 0000000000..a0f8cd7de7 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -0,0 +1,1024 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "1", + "encounter_type": "Family Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Client details", + "fields": [ + { + "key": "photo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "choose_image", + "uploadButtonText": "Take a picture of the person" + }, + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Boresha Afya ID", + "scanButtonText": "Scan QR Code", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + }, + "v_required": { + "value": "true", + "err": "Please enter the UNIQUE ID" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Surname", + "edit_type": "name", + "read_only": true, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the surname" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Middle name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the middle name" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Date of birth (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-5y", + "v_required": { + "value": "true", + "err": "Please enter the date of birth" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "DOB unknown?", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Age", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Number must begin with 0 and must be a total of 10 digits in length" + }, + "v_min": { + "value": "5", + "err": "Age must be equal or greater than 5" + }, + "v_max": { + "value": "120", + "err": "Age must be equal or less than 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Please enter the age" + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Do have any of the following IDs?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "National ID", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Voter's registration ID", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Driver's license", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_passport", + "text": "Passport", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_passport" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "edit_text", + "hint": "National ID number", + "edit_type": "name", + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "edit_text", + "hint": "Voter's registration number", + "edit_type": "name", + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "edit_text", + "hint": "Driver's license number", + "edit_type": "name", + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "passport", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Passport_Number", + "type": "edit_text", + "hint": "Passport number", + "edit_type": "name", + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_passport" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Health insurance provider", + "values": [ + "Community Health Fund (CHF)", + "iCHF", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "keys": [ + "Community Health Fund (CHF)", + "iCHF", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "iCHF": "iCHF", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Please enter the insurance provider" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Other health insurance provider", + "v_required": { + "value": "true", + "err": "Please specify the insurance provider" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Health insurance provider number", + "v_required": { + "value": "true", + "err": "Please add the health insurance provider iD Number" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Has the woman delivered in the last 1 year?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select if the woman has delivered in the last 1 year" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Physical disabilities", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Type of disability", + "v_required": { + "value": "true", + "err": "Please enter type of disability" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Client phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." + }, + "v_required": { + "value": false, + "err": "Please specify the phone number" + } + }, + { + "key": "has_primary_caregiver", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Has_Primary_Caregiver", + "type": "spinner", + "hint": " Do you have a primary caregiver/Treatment supporter?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "primary_caregiver_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Primary_Caregiver_Name", + "type": "edit_text", + "hint": "Name of caregiver", + "v_required": { + "value": "true", + "err": "Please specify the name of the caregiver." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Primary caregiver phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." + }, + "v_required": { + "value": "true", + "err": "Please caregiver contact." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Occupation of the family member", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_farmer", + "text": "Farmer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_cs", + "text": "Civil Servant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_nurse", + "text": "Nurse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_teacher", + "text": "Teacher", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_th", + "text": "Traditional Healer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_chw", + "text": "Community Health Worker (CHW)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_tba", + "text": "Traditional Birth Attendant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_chmis", + "text": "Community HMIS (cHMIS)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_cbd", + "text": "Community Based Distributor", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_hbc", + "text": "Home Based Care (HBC)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_cimmci", + "text": "Community IMCI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other", + "text": "Other", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Any leadership role in the community?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Religious leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Traditional leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Political leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Influential leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Other", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Mention other role in the community", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify role" + }, + "relevance": { + "step1:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "reasons_for_registration", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Registration_Reason", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transimission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "homosexual", + "text": "Man who has sex with a man", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sex_worker_woman", + "text": "Woman who sell sex", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "A child with stagnation in weight", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "A child with frequent fevers", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Abused child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "pregnant_mother", + "text": "Pregnant mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "breastfeeding_mother", + "text": "Breastfeeding mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Child living in a risky environment", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_update_calculation.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_update_calculation.yml new file mode 100644 index 0000000000..cd455aeba3 --- /dev/null +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_update_calculation.yml @@ -0,0 +1,14 @@ +--- +name: step1_age_calculated +description: Age calculated +priority: 1 +condition: "true" +actions: + - "calculation = (!step1_dob_unknown.isEmpty() && step1_dob_unknown.contains('dob_unknown')) ? step1_age : helper.getDifferenceDays(step1_dob) / 365.25" +--- +name: step1_wra +description: wra calculation +priority: 1 +condition: "step1_sex == 'Female' && (step1_age_calculated >= 10 && step1_age_calculated <= 49)" +actions: + - "calculation = 1" diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml new file mode 100644 index 0000000000..303590dd14 --- /dev/null +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml @@ -0,0 +1,78 @@ +--- +name: step1_dob +description: dob relevance +priority: 1 +condition: "!step1_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step1_age +description: age relevance +priority: 1 +condition: "step1_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step1_phone_number +description: phone number relevance +priority: 1 +condition: "step1_is_primary_caregiver == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step1_id_avail +description: identity relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +actions: + - "isRelevant = true" + +--- +name: step1_preg_1yr +description: pregnance 1yr relevance +priority: 1 +condition: "step1_wra == 1" +actions: + - "isRelevant = true" +--- +name: step1_insurance_provider_other +description: insurance_provider_other relevance +priority: 1 +condition: "!step1_insurance_provider.isEmpty() && step1_insurance_provider.equals('Other')" +actions: + - "isRelevant = true" +--- +name: step1_insurance_provider_number +descripltion: insurance number relevance +priority: 1 +condition: "!step1_insurance_provider.isEmpty() && !step1_insurance_provider.contains('None')" +actions: + - "isRelevant = true" +--- +name: step1_type_of_disability +description: type_of_disability relevance +priority: 1 +condition: "step1_disabilities.equals('Yes')" +actions: + - "isRelevant = true" +--- +name: step1_preg_1yr +description: pregnance 1yr relevance +priority: 1 +condition: "step1_wra == 1" +actions: + - "isRelevant = true" +--- +name: step1_primary_caregiver_name +description: ask primary caregiver name +priority: 1 +condition: "step1_has_primary_caregiver == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step1_other_phone_number +description: as primary caregiver phone number +priority: 1 +condition: "step1_has_primary_caregiver == 'Yes'" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 4f1b66e540..8b92ac2ae8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -116,20 +116,10 @@ protected void startEditMemberJsonForm(Integer title_resource, CommonPersonObjec NativeFormsDataBinder binder = new NativeFormsDataBinder(getContext(), commonPersonObject.getCaseId()); binder.setDataLoader(new FamilyMemberDataLoader(familyName, isPrimaryCareGiver, titleString, Utils.metadata().familyMemberRegister.updateEventType, uniqueID)); - JSONObject jsonObject = binder.getPrePopulatedForm(CoreConstants.JSON_FORM.getAllClientRegistrationForm()); + JSONObject jsonObject = binder.getPrePopulatedForm(CoreConstants.JSON_FORM.getAllClientUpdateRegistrationInfoForm()); try { - //Remove the first step and use the updated one - if (jsonObject != null && jsonObject.has(STEP1)) { - - jsonObject.put(JsonFormUtils.ENTITY_ID, baseEntityId); - jsonObject.put(COUNT, "1"); - jsonObject.remove(STEP1); - jsonObject.put(STEP1, jsonObject.getJSONObject(STEP2)); - jsonObject.remove(STEP2); - startFormActivity(jsonObject); - } - + startFormActivity(jsonObject); } catch (Exception e) { Timber.e(e); } From 61ceeb9015749a4cab03b95fab374957f6aaa147 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 29 Jun 2020 20:11:55 +0300 Subject: [PATCH 073/915] Refactored ec client classification for TB and HIV community outcome events --- .../ba/assets/ec_client_classification.json | 14 ++ .../src/ba/assets/ec_client_fields.json | 184 ++++++++++++++++++ 2 files changed, 198 insertions(+) diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 2d8465917d..3afafb2e75 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -346,6 +346,20 @@ "creates_case": [ "ec_tb_community_feedback" ] + }, + { + "field": "eventType", + "field_value": "HIV Outcome", + "creates_case": [ + "ec_hiv_outcome" + ] + }, + { + "field": "eventType", + "field_value": "TB Outcome", + "creates_case": [ + "ec_tb_outcome" + ] } ] } diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 72ceec82f1..2027507aa9 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2847,6 +2847,190 @@ } } ] + }, + { + "name": "ec_hiv_outcome", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "hiv_facility_visit_date" + } + }, + { + "column_name": "problem", + "type": "Event", + "save_format": "json_array", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "problem" + } + }, + { + "column_name": "problem_other", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "problem_other" + } + }, + { + "column_name": "action_taken", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "action_taken_hiv_problems" + } + }, + { + "column_name": "test_results", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "test_results" + } + }, + { + "column_name": "enrolled_to_clinic", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "enrolled_to_clinic" + } + }, + { + "column_name": "ctc_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "ctc_number" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment_hiv_problems" + } + }, + { + "column_name": "date_marked_as_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_marked_as_done" + } + } + ] + }, + { + "name": "ec_tb_outcome", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "tb_facility_visit_date" + } + }, + { + "column_name": "problem", + "type": "Event", + "save_format": "json_array", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "problem" + } + }, + { + "column_name": "problem_other", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "problem_other" + } + }, + { + "column_name": "action_taken", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "action_taken_tb_problems" + } + }, + { + "column_name": "test_results", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "test_results" + } + }, + { + "column_name": "enrolled_to_clinic", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "enrolled_to_clinic" + } + }, + { + "column_name": "tb_clinic_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "tb_clinic_number" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment_tb_problems" + } + }, + { + "column_name": "date_marked_as_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_marked_as_done" + } + } + ] } ] } \ No newline at end of file From 26238a13030fe7a4d5a2027254ee7c01f23a7200 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 29 Jun 2020 20:12:41 +0300 Subject: [PATCH 074/915] Implemented opening of hiv and tb profile activities from view updates activity --- .../ChwGoToMemberProfileBasedOnRegisterTask.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/task/ChwGoToMemberProfileBasedOnRegisterTask.java b/opensrp-chw/src/main/java/org/smartregister/chw/task/ChwGoToMemberProfileBasedOnRegisterTask.java index 5098fe6577..5f10febf3e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/task/ChwGoToMemberProfileBasedOnRegisterTask.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/task/ChwGoToMemberProfileBasedOnRegisterTask.java @@ -7,15 +7,19 @@ import org.smartregister.chw.activity.AncMemberProfileActivity; import org.smartregister.chw.activity.ChildProfileActivity; import org.smartregister.chw.activity.FamilyPlanningMemberProfileActivity; +import org.smartregister.chw.activity.HivProfileActivity; import org.smartregister.chw.activity.MalariaProfileActivity; import org.smartregister.chw.activity.PncMemberProfileActivity; +import org.smartregister.chw.activity.TbProfileActivity; import org.smartregister.chw.anc.activity.BaseAncMemberProfileActivity; import org.smartregister.chw.core.activity.CoreAboveFiveChildProfileActivity; import org.smartregister.chw.core.activity.CoreChildProfileActivity; import org.smartregister.chw.core.task.CoreChwNotificationGoToMemberProfileTask; import org.smartregister.chw.fp.dao.FpDao; +import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.malaria.activity.BaseMalariaProfileActivity; import org.smartregister.chw.pnc.activity.BasePncMemberProfileActivity; +import org.smartregister.chw.tb.dao.TbDao; import org.smartregister.commonregistry.CommonPersonObjectClient; public class ChwGoToMemberProfileBasedOnRegisterTask extends CoreChwNotificationGoToMemberProfileTask { @@ -29,6 +33,16 @@ protected void goToFpProfile(String baseEntityId, Activity activity) { FamilyPlanningMemberProfileActivity.startFpMemberProfileActivity(activity, FpDao.getMember(baseEntityId)); } + @Override + protected void goToHivProfile(String baseEntityId, Activity activity) { + HivProfileActivity.startHivProfileActivity(activity, HivDao.getMember(baseEntityId)); + } + + @Override + protected void goToTbProfile(String baseEntityId, Activity activity) { + TbProfileActivity.startTbProfileActivity(activity, TbDao.getMember(baseEntityId)); + } + @Override protected Class getAboveFiveChildProfileActivityClass() { return AboveFiveChildProfileActivity.class; From a7d85257125ac64e4270cb1918e0073c677da80f Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 29 Jun 2020 21:37:31 +0300 Subject: [PATCH 075/915] Updated updates register icon --- .../chw/model/NavigationModelFlv.java | 2 +- .../main/res/mipmap-hdpi/sidemenu_updates.png | Bin 0 -> 1551 bytes .../res/mipmap-hdpi/sidemenu_updates_active.png | Bin 0 -> 1654 bytes .../main/res/mipmap-mdpi/sidemenu_updates.png | Bin 0 -> 984 bytes .../res/mipmap-mdpi/sidemenu_updates_active.png | Bin 0 -> 1044 bytes .../main/res/mipmap-xhdpi/sidemenu_updates.png | Bin 0 -> 2200 bytes .../res/mipmap-xhdpi/sidemenu_updates_active.png | Bin 0 -> 2355 bytes .../main/res/mipmap-xxhdpi/sidemenu_updates.png | Bin 0 -> 3659 bytes .../mipmap-xxhdpi/sidemenu_updates_active.png | Bin 0 -> 3886 bytes .../main/res/mipmap-xxxhdpi/sidemenu_updates.png | Bin 0 -> 5542 bytes .../mipmap-xxxhdpi/sidemenu_updates_active.png | Bin 0 -> 5855 bytes 11 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 opensrp-chw/src/main/res/mipmap-hdpi/sidemenu_updates.png create mode 100644 opensrp-chw/src/main/res/mipmap-hdpi/sidemenu_updates_active.png create mode 100644 opensrp-chw/src/main/res/mipmap-mdpi/sidemenu_updates.png create mode 100644 opensrp-chw/src/main/res/mipmap-mdpi/sidemenu_updates_active.png create mode 100644 opensrp-chw/src/main/res/mipmap-xhdpi/sidemenu_updates.png create mode 100644 opensrp-chw/src/main/res/mipmap-xhdpi/sidemenu_updates_active.png create mode 100644 opensrp-chw/src/main/res/mipmap-xxhdpi/sidemenu_updates.png create mode 100644 opensrp-chw/src/main/res/mipmap-xxhdpi/sidemenu_updates_active.png create mode 100644 opensrp-chw/src/main/res/mipmap-xxxhdpi/sidemenu_updates.png create mode 100644 opensrp-chw/src/main/res/mipmap-xxxhdpi/sidemenu_updates_active.png diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java index fc3116710c..adeaf17da5 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -27,7 +27,7 @@ public List getNavigationItems() { NavigationOption op6 = new NavigationOption(R.mipmap.sidemenu_fp, R.mipmap.sidemenu_fp_active, R.string.menu_family_planing, Constants.DrawerMenu.FAMILY_PLANNING, 0); NavigationOption op7 = new NavigationOption(R.mipmap.sidemenu_malaria, R.mipmap.sidemenu_malaria_active, R.string.menu_malaria, Constants.DrawerMenu.MALARIA, 0); NavigationOption op8 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.menu_referrals, Constants.DrawerMenu.REFERRALS, 0); - NavigationOption op9 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.updates, CoreConstants.DrawerMenu.UPDATES, 0); + NavigationOption op9 = new NavigationOption(R.mipmap.sidemenu_updates, R.mipmap.sidemenu_updates_active, R.string.updates, CoreConstants.DrawerMenu.UPDATES, 0); NavigationOption op10 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.HIV_CLIENTS, 0); NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); diff --git a/opensrp-chw/src/main/res/mipmap-hdpi/sidemenu_updates.png b/opensrp-chw/src/main/res/mipmap-hdpi/sidemenu_updates.png new file mode 100644 index 0000000000000000000000000000000000000000..f492e9552896f632f54027622844d2df41fe11c5 GIT binary patch literal 1551 zcma)+doa{%7{^z~rKGi6=#0y*7Bg~-IJ;7A>$kG*VF^*Kur{}lK_O@paiOY&ZAdo|N z3&26(MZ2+IRKWHX894|<L)^ZttNc}M}kw-{BcrF&biif-9>XN0CkYtET!_jbW;(#P$EedIeyDQE+FS4eOvOL zecgO)bC0sGPpq+ieCg>aW+0#%wz5cz3J65LQyA!-lF{28 z`|};4>aB~5IX2*Hc&EfZ#=XH|J;SQi!(^qZw_OOO=~%O~6)qJ+a;?_%iEcZBK1Ti+ z>x);ZxFHvDm}d-oU;+Tju;nS8JP+3+cahz29ecoINJ33ZF(hfcE^Q8`W71(>d~R;i zF|b$$gWA)+U#7Tc*m>NuQL=AJYHGgm$&(?Mt0*a3FgX00>G`!v=M|C8hU5dC(?&$` z-6KI$Mjl1&)&S6P6Z5`A=U3xYrDx1JO6j-j%V%wJ{7M=FUjQ2UrK;3NI zxf$b^jm&Ix4#qAlYoiQgSf!?9c2Fc=OT{PDV*HwX6>Bc;x&ycKih@Z(g@)*$+s7;X|`P!wT0_T+|Vp!;aTUj16ze}4*VN=2I9rwPt zw_ex+@#n-=>w=w$KH&)3U<>%k3GfOI{wiCyOlV^oQ6pNirsZO`(Vc^R8q;uILHD1n z*R+V}!kAPJV=BL<_{nLO-V(p|#S`2`7FXcyweRg_ErRkz`cZ&#}; zupVBu6s>LS?A9~_gawNskYGs#65gW#9qAw`O&&kIY8%y-PC#cV*Q=w)?v(C!PFAQS zL@Us14!R{q*c&4OU}_W-el;jgBpG2lmeB)aQ9-xBtAyURMa@g#rv~kMS4w2Z5hs!( z#U=rb%3mJZx{v^DrJL0_!g(cU*aUC3N-nF_GYw2l460qEsT62w`=x37Y?dlYbI3ES z#hdJt_Vz4V#S4MDTBLSNr$)AB=evR;m}2&JPIjqG9&jRdnx%JF}`!9G5k? zEXXaQP|)BQ(@C^==6NMUUku-tBl9(qFB=C#Y=LH9K#U z`QZ8M_}P$#*?M~yB05DU<3WD4upwoZUO=S=Mw)wk4Em5;JvJAg`Lca2zO0z-@0ssm zW0yY0?H8`ib^T(A2_}ao*WDVILi!G$^2IZ99uI^N8`(aM#B${C|CbO*MgNqP=l&R` R#P{vpGCa-}sKj2n{V!E0w;BKd literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/res/mipmap-hdpi/sidemenu_updates_active.png b/opensrp-chw/src/main/res/mipmap-hdpi/sidemenu_updates_active.png new file mode 100644 index 0000000000000000000000000000000000000000..03681d3e3e84e0e81dfd6d8d3b8f4c6feae1a90b GIT binary patch literal 1654 zcma)+dpOez7{^_zBe|_b$)!w2E+r?cIY+JeZL-{kmToHKl8xwT_MoBEepZjA(w19M ziCQ}xb89X~tx=Y+lr~Y?5RKSea%l&rf6jk>pXdF&@B7F5Jn!?o&-YFD^>)|QUazgD zrl#w$7w}uig^QuJVu4S`jZDZ*fnV27s34AH^Cl%74;AqX z1r!@)>34~!CNct(x+&m8|2=ESKP|;UEb2Mjh?P#qkX3)E{`J!gO9D()S8#RPi^*No z)?|i_l($Jd%d&r}_%ypotU>`A5J)D9pWFn@zshE*cAf`EVD%O7$N5-c@(tVZ^=HmK zFlgVy--wTKoO;8F?LNx1fGtX6iLi}J3H<}(`GCnuniTnOrBc5s!z>ME+yHq0F0kq`)EfKn;Sx|n_19RU8U2hsCsAUJpdgx-R* z*Lr59Jwbpn|BC!MmR4{ba-b#t_WFigCVIY#pVeOdQ z*7M+f`Vm7o&Lt_sfj0DIkQLM?CNr-xb3&*`q=ysXVYae!;1(ESHax?$=u?Hf?AhWXDk$&QW~Noz2eW%4G5m3(v(cX`JKcNIyBJ_O zJ;JBMqJWeWm9cu>SHw_9%VTStX=ObqtdPk%W7r{Nt5Zt2mXq_PvWg^&3)!dz6-M(M_;TlY>3$4N_;I$A!C7M zz>-i){9i-lXDer~YZgS8YQC$We>F{ethM8vj1xEW+!$o3L*%c+w;waj$ph2o96XhI z;9wa@R&PN5plJ{tlK9cp>0my69en(ghWw0c3Rq9?I&^|a2oZ7!0HBZ237!Zl076Sr z9vF(zyMs(26@72NmVjihD@bY#g!&dipKt&N$G&+57}s|EC_a&4_2#a~hZeE=p^OKbwV`1%=3OTH;TBbKx~!drWL~ zV-3GGvl`OlwXcDNq4<6=6{hfUJLcuQ_O5qXIz1Vn`Q^YIF*KoC4Wpkd$$MeY-s@DV zyWCb&k_y%nBC0BB4aRecBU2D)M|BK(s)$1Hvt>!-{9^V%X2 zMrEIvqqt5(J$X_a#e9E5hLgOpzxlrZ*g?LVo`!R`1i5-facLH?cEa33$l9gNd-!g< zE?4u$u%Ay!j*xEH#%1N%k?ezq&y=(kTlz{&fo{2CrLyKt^ZVty%FT|A^wf8A$I{(Q z+@A%V-TabkL4)r=xa*nWZa2YPn4dNvtjEz;2^TW99~Ccto&$d?iX8DBvT0PY>twuN zTUfp$vb3fYSymG}yHdBVQKBdr6}X6jnvUx9-JWxuQo2iGx7N0p*ix!jUW<^(nWwfH z#zm####XJ5i&`PL^Kc+%EAMuw3^6G&4G%$W&zyRT>-0D@a&tphci7;U_ymvn#(26^ z1}`FdlcLKf;FX-@gGaFm0#jw0^UA}4*+X8hBg~2K6hf9f9G&y*>qJ_4oyU|8o892W zxYqTRy^JjrO1H#+F8V!+J|RF2GKO1_jBBT3p7sZidPXa;Id<3?^&VTws4?C+iTT( zE4b?$Iid;`E1X$lGgoxyx!n079kcUd>+BpBS1FSxa!v~GHi?Q92EK9%xYMDh6~ww# zZ_0v-+*xKHe8TtP9bK?wO)Gw_E9y+2v(i+RDexLW5iHy7$!zv>Euf>Uw7>p19<}F?r_W zt3fNbWQCj zs<&9y>@3TUUj`u*s@je_}i(E<-PxHySr`0sfMG)J7bQl zTwAlv`BwVV8~M!pQWyOXKhOVl$zkn8-Ddef#{ZXd%*=P>uAYAU+P1$g>Q2grYrjWH zyf%OY$_)d5E1}LK*A`rU-FMf(?=}C4kNs;FedcHW6#L0(n#gm3w9S2!lJ86JT3=u| z(?`zn#;a|Clg*o69g(C%4RNH9iE4I2z-16`_@?yYB6+5l_s{?&NOcy8QRAy5P2Le*;ez zdmdJZ{Cw$uw~v+8bs^>EThS->xm*KAxCF$CGt7ymyY9XTgPha?h&5EyC z)qYJmX?v3Wa9%UZ%r;XwE4_7x literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/res/mipmap-mdpi/sidemenu_updates_active.png b/opensrp-chw/src/main/res/mipmap-mdpi/sidemenu_updates_active.png new file mode 100644 index 0000000000000000000000000000000000000000..35eece67c68a22e836402ca8ecb317308c76b69d GIT binary patch literal 1044 zcmV+v1nc{WP)8TG6+L(rvB|btLf*wSr9=wR?!GFMuc<7}Hn{0Ct6sf2u&-Lb2P{hNM zNfne{M1_h}!LNf-6zf;JZP$0&6qcCmZa=cg?miFvPCIFndAjM$o0+t<0000000000 z000000000000000)ESwach-N3VF-&=*ra5<2{O?T!VFvW8cu#qqbFm#I~zh+#!@{^F{SDAwjm5*2tydc zQYP%o-Q}Bmo~*4D`KNmyVF?P;HLy(1y&}KxlVq%lOd>2nVY+a+6q81T)lS$b!s<&{ zv6jNxEZ6i0EsgqtoBa*R)Ix=|TkesH9cOtjLJxL|%jEM9aTag&x3_ME z8P4NfJDmLbVC1t03l%1}ouidH&9K$WC}A?C_=vEmla~`)>WQ!F960u1zwmXX1=7gdq%J2tydck`!iIgPs2ReEpdJcM39Q=G0SNg+W*Ve-X~x z)YcMZj)<_*i>+dr8?{7giSvki6Jdc`qQ9*vjlv2>cJKhg0<_y+m$ZK-nNE?c5z|tq z8FZ8(xGpiNur85#7{U;SFoYotVF-&5Fdix(V*99Rdn$bAq6fUvTy2C!zY?}!Sl-1gm%NSoEjjJBI;gj^My)uS zY1hE$>(l+=zwsdC4xNELWMBPRX+CI8!LUncnTL(cez7)yyfESHLbJ z(tq>XLApdEpHVu0VQYxm)EV@`$J^dEH;h4~O&%OlEhP z+>yLb*<+9-Gwt`sotgC?^H?nm000000000000000000000000GH~#<@H+O2gPw@o+ O0000yAI8P^zXUD?| zV?$3@9Xut@B4MVuKRPnuj@`bcH9{0NTP9nr-?j?Y_u0))zk(nrMPUxo^ zrls#D-_y}ZNx$KeSovI`FVDC@F-`SU;xR*J9+q^b=?Z=U_ozfvqo%30OC!?}ws_;E z=5}4Qo<`USEo)g?=)ng|caO3Vhh?WEqoerPrY8=c6Cf2MwM?FPL-e`4=u0m?>FO&J zAeMhVu4}YDeY#O9l}eX0sxSc<%(~lT5vS#6f^3iU_{BM~SR4ke<8Zm$ww$@`eL1I1 zOlR`j(O`Oz>vvTj96>wQX@+_7!$Xo-8<=s5cf-n3=;JYyeZFqvW-oWpx-0u<0vazH zfz=qsDWMEWI_k&hRO@)Muqo6CLNoYnS0?rZjGVS*7*yrei<9WEpOa2A7I%xwt<2qu zbE^)TrzIw2Vkf|YJn!(gFlL4d3I^QXucNF)R{vfRyk&1-6&2XZC>U8CIKZ66;c(^e zC9#3}c616dMPi`Crk-aonam+%5VuoF7WT5bP6frl_07bXLm>*FU%IrEQ4G=Rs7L(N zEPGoNUjcBFb?JJMCGkHLtYWyA#TZ{jiQHI*b*4HofCuKSKa*1K_h(dHTUbm>P7a|D zIXJZ6tKzMgA3D^Sy;9yUi5(+Utx#;Wop|-c5|!0Jc0q|brcH9@*}#-V?p?5RPgxS_ z&4x5Nd&5wc zzA4#hSK+f55q}9f;h+Kk!0n4^zzGz#v#CgifJslE`VyPUkA_laD;fn&f#q*~%f_Qu zjmhc}*6&wqbshOPgiqpFw##`RgQt3?j0v;%5ep;CC1dqcLul43=0e0dCeymH9|h~PEv3vNf}DsooD4_J_D$nw_S5|Yi?%J9(X z^L{6PAIm3dz=f_qS*(;}+4HV8T|kmohsU8>?XIS*%n!Ft-wIRqfVOHyu4QQr9<3kwp(5Ow^oQDz9XSQ-X{>_+ z*!r6__AwX$Tb4TQV7l)XY&?L&t-Ws`eg$*F0+S$jxK~~<6VpT?L}ZQ8^T*o+6+;i- zOVp5`BaC#|rs$my6KhC0mwnyWKOQSS|Dm9>vr`*j+HP(PMWc~ycsM;E=>w%qb0C{3 zR>Nw=^Y_9{Bgxhn24)a+v+h?2v3=AGQ0G|t-L;1hy5uJHvvi+`cSN$ zi|y5f9+f$w=$&OR4-3vJf(4ZXi`-fd%1vy@?o4b-g1SY~pDM?k?=+o9k{i8SK>0Gm z+xeyXPUmMGb=clc(t|L@_BWz0R=+NbHQUsT`+g4FxbcD->JUe@EI4=22f zSk~{xMYcW3KlbV|_ek7f)icevzn16!$+A_TfQXq`pklwNsOT`f5bAiipxrLoKcXXG zBcg{DO}yVV-6oumCmgLh!7$lPBeld6Csn{AAFgMeWUg3z8|%3rV{h116s{fL(!z4@ zRvyH%?aO#m#-K(k{jQ;LE(@qwy^rm4{(ww(C!n!#w(?-%Qm|TfZtaqDT7~DIsblfF>v2#RY^Iv;oRon zTQgMYSyt-8T%-4#7g-$|0txif?96UAqv79(yS7zlMY(_jGXd0U(V%AW)rqC)leyVl z3qG%2+-XM8Q&%4|c&&Tb)HATm|Mf1QXMJm4U$yxgrmrFa?QB;BNs(y0j9yxsh9YE1 zj&U!vf`|8dv`_9l5><@N4uL-xai@|Uu1e1Z58wOru9Uf{kM~m$^N)0l+_~~G!Rc1K zWt4Y8mVJuwj)O%|zv2^zR(VQ{ec9Ugeo@kEoJc0$xV8)OYw%$gLf-6wR;BrLgcM&d)4Be2z|_YyCDP4_4%sX1bQX0s>%LQ7N?64sE1A` zpBeNX|E)j^VS_YJO=f`~E!S|@3JVGb&G_9$1IO!s@zM@Xym;C-XSNxgm8WVCj~LsP zU80}9VY+lVLHx7|vzZI0VAWnt9#|Eg37-`TuG z|F2cn-9*E)Aw%#`ab^K~zqp&I)O{nwi| z-0v7r(Pd?(Y<&A1f2`=uh*V%mH+2|vmA<#kjKUI6m)Sv`E9v5<>ZcRI)Nqs E1-0+~X#fBK literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/res/mipmap-xhdpi/sidemenu_updates_active.png b/opensrp-chw/src/main/res/mipmap-xhdpi/sidemenu_updates_active.png new file mode 100644 index 0000000000000000000000000000000000000000..f217318b02e04130f9491e51abfa01b4c2f1d55e GIT binary patch literal 2355 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

    ogl`_|2bX<+oL zrsGV6m{1Zsm1;sYzhjl~$whl1DZcd(5Dv6byP;Eq273dm5g7loG1<}FP)DQ+!LJ{ zxwdb@j=G5%9c*#!!o~b0<*t)y>a7iz6;1-dmp%BeKK_qPjD*b?NcVT%F19=95xp6{ z2mRG?!YuRzP_c|_!NI{PBPoxOhfoQd+A%j*kHlNss|Y?8=a{1i`A}_(%~AM9dZE57 zvLZ2ui-k38jP@Z#rr5!}Qv)ShuByw5E`W20JPL(l(ZD!z`)Nzlh1mW<6s7Y7kQ-@C za{pen4lI+~t59m^RKVb$5t6nkZeNR98OoV*K2J+!zth8Qq~d|mECrQ3o!5@lwscxS9a&aS2JPBPH`MBd_MwfSb1>g!*yNdZSY++77#!Ca0q%pWp)R1 z)rYvCmcF_NgU93LcFK~VsIX-CWvuULZ0>de%`KZ=Yq5VgoWU+Af zT3?0KR*n}Ns;ESKr;;Nk)JWb3IA@IoSZzo*1W?;4S+`^?hmc; z*e?TGNcEi8xlPI(NR%<7DCJncRW-b+72wU#F`#1r;rjO;|D)wNWeZj=%_QAN!t$zN zKJA?TI0nwzJ|>z%o8`?GflD&d)92Y$Z_g{az{^7v*>mF6>bb|qB>iWT@=Ha}mcSVy z2wPndZYLi_fIlQ8xImMg;CI!`snI6Ccem6(=yIi^DQ#U%??PaHb0Z)rJ8`#G^hw@( z13GlxJ^U!fGl8tT3jhHU-+#)NW!vdO&pwB5++hoQVeVLhi_)V!4+`7pzu7Vo_yi46 z*sdmIwZ5*Ac6~v;ii(OBATP4Kr3`-j-NH7www~UE^LDyQ67Jo4TEhN-&2HY7I^W}E zgJY&n(H@TB4&bZ{)RBzFT`Iu1hvMVZ)YJ;p8ti_Yv#*(hPZ$Dw zn#t7wqEUSb?%t2i9}uHpZF(`N9&2aoccN=OCrPgSLOBgf4xNSu7zS_%UvxY@Jv~aL zcJ}$nw4OWeQ~|>RQ4`!vV4iINe5CyAQu4oKXj@sjI5Iror=qRzNaE>7`jw{q-#XnK z>**VDfo^brYRD+G?}*wy-V39OUu@Dtg%XFY_ax%H?IuH>cj#4J%f7Kli~IpJkrzUNA$XlP zH<1saZt}$jJ61S<<_u9?f%lUUpA;C&lAQ;TLgg&Pwy-zr3AG<2K(aOF^+LX!O>wPU>O15W>n{EM%70X zt~#?I{ijB@C@_*;0DDds=mdCw6-WP6@5hEP_Pwfe?e{ZX;hxJ|>mS43l>>o5c^Z48 z&;4O+(5nJwrkXP|I-^US0_`1U_B<4aJHRdrg1kgIGD1&;Z)d%gn4bRZ3BmFYChfY+R|wAIH2DTiK-UoHM=S z-1*A0EEWsODH7}jq5h-|VtiJ7r#^EZ*V_@3@UA`HQ4y?tOLQBYt6%M(gBzVHZ!Kqa z>Pg@tFTeb-c+SgHhm4Kwx@*4dtyCpxwwS-EvmF3kEae88Qs==ZQF{d7H+6@uXo`j4 zj-{uOg8HtghpeUOd3W@CRPt_pPgWvuz9_mvKGbcaQT%^m*nxgVuC3x9pH>6B`xbRH}o}( zpEvjSvay6)xn$}tMdthcB$ZXtH(U_Te5+58-}FpN^e1g2=4@C6-6rOm-wEyv=s$FR el90IbYE|K9dHi=?xZAXC5Vw<_E|tz#6aNeO19B1o literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/res/mipmap-xxhdpi/sidemenu_updates_active.png b/opensrp-chw/src/main/res/mipmap-xxhdpi/sidemenu_updates_active.png new file mode 100644 index 0000000000000000000000000000000000000000..4deec4a71a4edf68179b910f191a071ec65b19a4 GIT binary patch literal 3886 zcmcInXH-+^)@H^6B2^GZ5Rw4|1VfQ7B_bfA1h9d0r35JwBhuRps00!5f)ou!8Ol{k zLJJHn0|}s*kULf}cL8QbG0!g?B?)rXwYkfbyweH-r)_K=CXPtNN{p|hhXP=Yp z;pQwYsUj&RCMNB2&he6%*bk07r^J5XNg&&KP)tmQ>*8pCC1G-DCbj<9y#F7oGy96# z*ABh%Z~1zM@+|qCC+)Q6pSr};QyvW%`x)H+4-tpw&cGD6qoxnB`}}l>ERV=%j5+ z43j?_Gg4;K0+$Bj`7a$tPu)hX;d&TDHk|5Am{w=v2_)5+pC~kfjS7>gh1tHTJ;g~? zR_xKF0vPzQE&)AOE_G-n8L@+XCB+r2{Q6DecR$2g%gLKljhd&tx%%|%wEn(mQYGu# zLj5TO`8mH$J#`vyFi_=M5|CNC#A=pR&D8aX=Xb-JW1~iPrs0GQufq~T<53(aU?D&^K#Uq@DLfj;d|&|Uiav)QLZMx=_*8@g3NtBZGKix-Z6NuyuIoFb>aOA zJXp{LI>^BqE10`WYQV%-uj|x}EPv}pW*QfmmbD6UYkC{1bu%^?Hg^8sd#BVx-`@j$ zURHG6D-YP*Ywsv$57?Lc|KG|k>ePHui(x;elr|?e;*ox1Of<_7l%3yZ-TsEm#^gcoa_e0Plf8mn1xvrjq>2qGlgy+3L@ znII!Llk?3|8zrG}Atm&uS*7-`N{;};C#!CCJwDgWR)BQtGyq1VYSBx45%!bJ0S$>t zFq2!+YV=^&e}0?@k|B}t<}XN0tOo!q@n;k#!?JQu*B7-h*gMc-71g;jT*$}50uOMg zPNd9CuW#YpCbs~Q-$t^V`kW^PQ+7NF-5(sNgrkG{aVf^6-)@vgED(jMffk0_5CLD5 zu=#PH)ABicMMwLn^Tzl_^z!dU0H;(=Vev-^3FFmUc`Ea81SAO~nb&4Q(uCL<1ca9# zjJaj8gvf>--Fs1PAMyyJF2~IiZ*3zgkls!%mrY+zc0N2nTk4=c)v6QKyt;3>P!KZT zGv>svDMVF*C4(+xSmJSL8nk7_Jj(H4o2ZQ$ctri$9Jx+bl768!?S-{h+0Up9UDSmq zBx-HeP)`_fyD`&c6xuKv42H}d63y1`TM4ZNrC$e&wde%BOxFISlBfLyq=}#2fw1ziqB-)yX_sn2Yn3x~)ms{yO_=!}k__t0<-oELjPb zX#vH1hCN!_;IbLG7J3 zE?E!KmBqKXtYkvlh3&ClCp2&IQbhXn2Tw#2r8k%`$IGkak!wwSd;R4AD_M7aE~a`V zOm8`NpT-we%}1(=1e_t|UV{EFhPEt|hUhy%I3RtO0*}?qW3q?T)^gQ8FM9uv$G4kbQDg%3%CD)be@ar0-gp24=14as17ckBIa}Xz*@tAcqCmzR$TUz+@Ke4 zt0vBKuI1A1u26dc{*Sxw*NPoTak2(yo?n$U^o!yaGU4YN%_j0 zM`YcafOat6G1`+av0fU*#{%8A(KC-shwGv;60YrCRh2eqYU4bR&Rmwk_Y*HC;FP+? zF%Op1Q+hi%gVL*#);S;7UCRSOI|+9z%OKKdh?YC=^G=(u_& z*1y~8TKMCj6qk07rqrcF+C97%v?=~Cp^2m+`7YFgRuwiFxI^VULcgk zQ{`fp^38ET@ZEQ4P#giwg8bG=E|pbRf!OmfFBo6FHHm2hWu)fx^iSJIJGA!@G zS}N?!%G8jhl-S4g0aiBWA;Iz!#0nsN0wZ&bZU4>q6FQJ;e^-E1k zaGJ{o#S%e5b@T*zzIqo=qFR>YsH4AKdHH*w#I?!5z}%lQB#1`T6K8bI*Sd0~Bee5FJnVSanyT+S?TK z&0#{ys;1m-&CVL*4c@+%J#cQTreGWjyr+vIMDeC)X(t4SoE#_3!($6~g?EQZ!n41( z#o%{uTR7~2Aws3p^ zsI^ts)fl6rG*;gKkSB8~oxXPouUz0sTv5|U9ybEEkMBj^KCRqSK+qq6N=>ai#kw*q zE)P@OC`GKs53%w)0Xb+Ph&;+fYx6meY3Yvmjo!erjP9;EbS;0`EZo8x{!-35_f#xv*xD zC&eh^jgfr{E?cdlii$CBvULd%-gdB03DJY#$4p37*^#eanyu9LSf$8;!nII|-lna# z_=!LJZqK=P#!s4%i2ID|t7`%jC(s1(FOBfHH2&LA1W6#6T;U1A9mEM`XgIHoeFVNX z9>Rb7VEhmNb>^Se_{QfS`P@Bd)~0H43#3-L$18qplam|e9*_!;98E3^D{(nQ^YFVM z-SBo;UCkU79vkWa%`IOJx!T*^F3F`>#CDCid2Y`{bQY+bIP2$tgqX#oFR;%i-~FQV zA}v0XhwCwXyI$H-^;6A!Bw>4dy#`lZFg|75<(l6S$54rglD^k=3nQaStmJJzKx_z? z38J|8B;0gq2p4bKAx*hg(aK7Wd!~pa6Whi<`#g%ADp#{Z4QY8NA_y0|Q-LptNuQ(F zwi`gHX-oZySr!(8jrQ31S!`d+y9j04IX`_^ueC}kSAP7i-_-gF7Eq3vRuShxrXuT= z(e?*2yP~Xok=(uUnYaghe6u!|ljNK5-cDU);r{rqCg@j=gC{5FNryILGT}z9)cE<9 zNO1i^2X1NUSnA_zWzY=W9?R8YtvrZ;`E|sImz8KrdMR(m%%rbIo58uT*r9%(g!)&3 z;9dbM%kHF4^Ns>_hI2uhQcsQHehTAv{KkfHQZub7#hGtQ%=b2>6jwsVT#=u$>7nZo z8Qoy*c!tX3Nbk|-8z+nn=j?_lW{-?D%UBE*&*uHeg$BT#&!`bu(?L_HyLLEVVc1M#=g)-THhY8_DPtb&$t9X~nlyUPt8iJ_ ziQHtE|HY}F#x`tJY5$~14}}osX=-!iMd-@;(UPkh!$$SwjeiH+n8X4i^;hO37-f8UoAgb_y6^=|$s3Ra$lFeOK>1Ix=%LlA)3l2}5c-c9T5vy%67k zZ|MGl4eXweC81;j5;9;me<(mfm{ZJ;T~+)An4%bTVR%9i=7`@gw5}ZaM3u9~6M0|L sq!G;&Xd{1_s(5wo{G$GMju+J;@!=+V45|a8wBy0W$<49x%=L_a0lSM0rT_o{ literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/res/mipmap-xxxhdpi/sidemenu_updates.png b/opensrp-chw/src/main/res/mipmap-xxxhdpi/sidemenu_updates.png new file mode 100644 index 0000000000000000000000000000000000000000..281ae60ce6e9fb2a496a30f499e108f054cee780 GIT binary patch literal 5542 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 literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/res/mipmap-xxxhdpi/sidemenu_updates_active.png b/opensrp-chw/src/main/res/mipmap-xxxhdpi/sidemenu_updates_active.png new file mode 100644 index 0000000000000000000000000000000000000000..866682f72b44fa16ce96da3488e5dc3110d079ee GIT binary patch literal 5855 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 IRrkOC190Y%k^lez literal 0 HcmV?d00001 From e89d3d4d2f4d728f2f2190234adc449fd12267d3 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 2 Jul 2020 07:05:52 +0300 Subject: [PATCH 076/915] Refactored hiv and tb registers main condition queries to exclude clients who have tested negative after visiing the facility --- opensrp-chw/build.gradle | 4 ++-- opensrp-chw/src/ba/assets/ec_client_classification.json | 6 ++++-- opensrp-chw/src/ba/assets/ec_client_fields.json | 8 ++++---- .../chw/presenter/HivRegisterFragmentPresenter.java | 1 + .../chw/presenter/TbRegisterFragmentPresenter.java | 1 + 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 19cfff698b..f702172a17 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -141,8 +141,8 @@ android { versionName "1.0.2" buildConfigField "String", 'opensrp_url', '"https://boresha-afya.smartregister.org/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' - buildConfigField "String", 'opensrp_url_debug', '"https://boresha-afya-stage.smartregister.org/opensrp/"' -// buildConfigField "String", 'opensrp_url_debug', '"https://ba-unified-stage.smartregister.org/opensrp/"' +// buildConfigField "String", 'opensrp_url_debug', '"https://boresha-afya-stage.smartregister.org/opensrp/"' + buildConfigField "String", 'opensrp_url_debug', '"https://ba-unified-stage.smartregister.org/opensrp/"' buildConfigField "String[]", "LOCATION_HIERACHY", '{"Country","Region","District","Ward" , "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS", '{"Ward" , "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS_DEBUG", '{"MOH Jhpiego Facility Name" , "Village"}' diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 3afafb2e75..41bc1eca6a 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -351,14 +351,16 @@ "field": "eventType", "field_value": "HIV Outcome", "creates_case": [ - "ec_hiv_outcome" + "ec_hiv_outcome", + "ec_hiv_register" ] }, { "field": "eventType", "field_value": "TB Outcome", "creates_case": [ - "ec_tb_outcome" + "ec_tb_outcome", + "ec_tb_register" ] } ] diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 2027507aa9..eca6e915b5 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2500,8 +2500,8 @@ "column_name": "client_hiv_status_after_testing", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", - "concept": "client_hiv_status_after_testing" + "field": "obs.formSubmissionField", + "concept": "test_results" } }, { @@ -2684,8 +2684,8 @@ "column_name": "client_tb_status_after_testing", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", - "concept": "client_tb_status_after_testing" + "field": "obs.formSubmissionField", + "concept": "test_results" } }, { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java index b54ae7ae5a..bc88a58b38 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java @@ -19,6 +19,7 @@ public HivRegisterFragmentPresenter(BaseHivRegisterFragmentContract.View view, B @NotNull public String getMainCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + + "AND (" + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " = 'Positive' OR " + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " IS NULL ) AND "+ "AND " + Tables.HIV + "." + DBConstants.Key.IS_CLOSED + " = '0' "; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java index c4b3a5bc57..819183c7b5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/TbRegisterFragmentPresenter.java @@ -20,6 +20,7 @@ public TbRegisterFragmentPresenter(BaseTbRegisterFragmentContract.View view, Bas public String getMainCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + "AND " + Tables.TB + "." + DBConstants.Key.TB_CASE_CLOSURE_DATE + " is null " + + "AND (" + Tables.TB + "." + DBConstants.Key.CLIENT_TB_STATUS_AFTER_TESTING + " = 'Positive' OR " + Tables.TB + "." + DBConstants.Key.CLIENT_TB_STATUS_AFTER_TESTING + " IS NULL ) "+ "AND " + Tables.TB + "." + DBConstants.Key.IS_CLOSED + " = '0' "; } From a0b2a7a5731fc217520086c77702a9f1df0e466c Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 2 Jul 2020 10:04:54 +0300 Subject: [PATCH 077/915] Fixed a bug in get Main condition for hiv register fragment --- .../chw/presenter/HivRegisterFragmentPresenter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java index bc88a58b38..eaa065be5c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java @@ -19,7 +19,7 @@ public HivRegisterFragmentPresenter(BaseHivRegisterFragmentContract.View view, B @NotNull public String getMainCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND (" + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " = 'Positive' OR " + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " IS NULL ) AND "+ + "AND (" + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " = 'Positive' OR " + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " IS NULL ) "+ "AND " + Tables.HIV + "." + DBConstants.Key.IS_CLOSED + " = '0' "; } From 9646f8d8b0947a37ed713036367e7fad233e30c7 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 2 Jul 2020 10:28:32 +0300 Subject: [PATCH 078/915] Implemented menu items for hiv and tb registration from tb and hiv profile activities --- .../chw/activity/HivProfileActivity.java | 25 +++++++++++++++++++ .../chw/activity/TbProfileActivity.java | 23 +++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 6d35f671e0..29a5fe2720 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -6,6 +6,8 @@ import android.os.Bundle; import android.util.Pair; import android.view.Gravity; +import android.view.Menu; +import android.view.MenuItem; import android.view.View; import android.widget.LinearLayout; @@ -31,6 +33,7 @@ import org.smartregister.chw.presenter.HivProfilePresenter; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; import org.smartregister.chw.tb.util.Constants; +import org.smartregister.chw.util.UtilsFlv; import java.util.ArrayList; import java.util.Date; @@ -232,5 +235,27 @@ public void initializeCallFAB() { public void onReceivedNotifications(List> notifications) { handleReceivedNotifications(this, notifications, notificationListAdapter); } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(org.smartregister.chw.core.R.menu.hiv_profile_menu, menu); + + UtilsFlv.updateTbMenuItems(getHivMemberObject().getBaseEntityId(),menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int itemId = item.getItemId(); + if (itemId == org.smartregister.chw.core.R.id.action_tb_registration) { + startTbRegister(); + return true; + } + return super.onOptionsItemSelected(item); + } + + protected void startTbRegister() { + TbRegisterActivity.startTbFormActivity(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index 5ae7c7b3ad..7a73919ee6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -6,6 +6,8 @@ import android.os.Bundle; import android.util.Pair; import android.view.Gravity; +import android.view.Menu; +import android.view.MenuItem; import android.view.View; import android.widget.LinearLayout; @@ -31,6 +33,7 @@ import org.smartregister.chw.tb.domain.TbMemberObject; import org.smartregister.chw.tb.util.Constants; import org.smartregister.chw.tb.util.TbUtil; +import org.smartregister.chw.util.UtilsFlv; import java.util.ArrayList; import java.util.Date; @@ -239,6 +242,26 @@ public void onReceivedNotifications(List> notifications) { handleReceivedNotifications(this, notifications, notificationListAdapter); } + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(org.smartregister.chw.core.R.menu.tb_profile_menu, menu); + UtilsFlv.updateHivMenuItems(getTbMemberObject().getBaseEntityId(),menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int itemId = item.getItemId(); + if (itemId == org.smartregister.chw.core.R.id.action_hiv_registration) { + startHivRegister(); + return true; + } + return super.onOptionsItemSelected(item); + } + + protected void startHivRegister() { + HivRegisterActivity.startHIVFormActivity(TbProfileActivity.this, getTbMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + } } From 397431f2cf4cf9aac9bce4822507c6992f714795 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 3 Jul 2020 08:16:59 +0300 Subject: [PATCH 079/915] Added ec client classification for hiv and tb notification dismissal event types --- .../src/ba/assets/ec_client_classification.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 41bc1eca6a..f62d438d06 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -362,6 +362,20 @@ "ec_tb_outcome", "ec_tb_register" ] + }, + { + "field": "eventType", + "field_value": "HIV Notification Dismissal", + "creates_case": [ + "ec_hiv_outcome" + ] + }, + { + "field": "eventType", + "field_value": "TB Notification Dismissal", + "creates_case": [ + "ec_tb_outcome" + ] } ] } From 9afe046a1c6796b7174e3a969c2cf8dff837b690 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 14 Jul 2020 18:19:39 +0300 Subject: [PATCH 080/915] Refactored opening forms from repository or assets --- opensrp-chw/build.gradle | 2 +- .../activity/AllClientsMemberProfileActivity.java | 6 ++++-- .../chw/activity/ClientReferralActivity.java | 2 +- .../activity/FamilyOtherMemberProfileActivity.java | 6 ++++-- .../HivCommunityFollowupDetailsActivity.java | 4 +++- .../chw/activity/HivProfileActivity.java | 11 ++++++----- .../chw/activity/PncMemberProfileActivity.java | 6 ++++-- .../chw/activity/TbProfileActivity.java | 12 +++++++----- 8 files changed, 30 insertions(+), 19 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index f702172a17..d2a10643ff 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -254,7 +254,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.3.0-Test-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.3.1-Test-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 8b92ac2ae8..59fea41b85 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -5,6 +5,8 @@ import androidx.viewpager.widget.ViewPager; +import com.vijay.jsonwizard.utils.FormUtils; + import org.json.JSONObject; import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CoreAllClientsMemberProfileActivity; @@ -73,12 +75,12 @@ protected void startMalariaRegister() { @Override protected void startHivRegister() { - HivRegisterActivity.startHIVFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + HivRegisterActivity.startHIVFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); } @Override protected void startTbRegister() { - TbRegisterActivity.startTbFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); + TbRegisterActivity.startTbFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java index a9b22f1be9..3bf4fb564f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java @@ -123,7 +123,7 @@ public void onClick(View v) { org.smartregister.util.Utils.showShortToast(this, getString(R.string.open_referral_form, referralTypeModel.getReferralType())); referralTypeAdapter.canStart = true; //TODO Remove this necessary evil; necessary since on resume is not revoked again } - JSONObject formJson = getFormUtils().getFormJsonFromRepositoryOrAssets(referralTypeModel.getFormName()); + JSONObject formJson = (new com.vijay.jsonwizard.utils.FormUtils()).getFormJsonFromRepositoryOrAssets(this, referralTypeModel.getFormName()); formJson.put(REFERRAL_TASK_FOCUS, referralTypeModel.getFocus()); startReferralForm(formJson, referralTypeModel); } catch (Exception e) { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index aa81016315..f6bffdb113 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -7,6 +7,8 @@ import androidx.annotation.Nullable; import androidx.viewpager.widget.ViewPager; +import com.vijay.jsonwizard.utils.FormUtils; + import org.json.JSONObject; import org.smartregister.chw.R; import org.smartregister.chw.application.ChwApplication; @@ -119,12 +121,12 @@ protected void removeIndividualProfile() { @Override protected void startHivRegister() { - HivRegisterActivity.startHIVFormActivity(FamilyOtherMemberProfileActivity.this,baseEntityId,org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + HivRegisterActivity.startHIVFormActivity(FamilyOtherMemberProfileActivity.this,baseEntityId,org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); } @Override protected void startTbRegister() { - TbRegisterActivity.startTbFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId,org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); + TbRegisterActivity.startTbFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId,org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java index 50db53f9df..f70b4884ab 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java @@ -1,5 +1,7 @@ package org.smartregister.chw.activity; +import com.vijay.jsonwizard.utils.FormUtils; + import org.smartregister.chw.hiv.activity.BaseHivCommunityFollowupDetailsActivity; import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; @@ -7,7 +9,7 @@ public class HivCommunityFollowupDetailsActivity extends BaseHivCommunityFollowupDetailsActivity { @Override protected void openFollowupForm() { - HivRegisterActivity.startHIVFormActivity(this, getMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback()).toString()); + HivRegisterActivity.startHIVFormActivity(this, getMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback()).toString()); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 29a5fe2720..ba78c65fa3 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -11,6 +11,8 @@ import android.view.View; import android.widget.LinearLayout; +import com.vijay.jsonwizard.utils.FormUtils; + import org.apache.commons.lang3.StringUtils; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; @@ -41,7 +43,6 @@ import timber.log.Timber; -import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; @@ -60,7 +61,7 @@ public static void startHivProfileActivity(Activity activity, HivMemberObject me public static void startHivFollowupActivity(Activity activity, String baseEntityID) { Intent intent = new Intent(activity, BaseHivRegistrationFormsActivity.class); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); @@ -157,7 +158,7 @@ public void openMedicalHistory() { @Override public void openHivRegistrationForm() { - HivRegisterActivity.startHIVFormActivity(this, getHivMemberObject().getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + HivRegisterActivity.startHIVFormActivity(this, getHivMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); } @@ -240,7 +241,7 @@ public void onReceivedNotifications(List> notifications) { public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(org.smartregister.chw.core.R.menu.hiv_profile_menu, menu); - UtilsFlv.updateTbMenuItems(getHivMemberObject().getBaseEntityId(),menu); + UtilsFlv.updateTbMenuItems(getHivMemberObject().getBaseEntityId(), menu); return true; } @@ -255,7 +256,7 @@ public boolean onOptionsItemSelected(MenuItem item) { } protected void startTbRegister() { - TbRegisterActivity.startTbFormActivity(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); + TbRegisterActivity.startTbFormActivity(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index eb48da6c3a..d334205f8f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -10,6 +10,8 @@ import android.view.View; import android.widget.LinearLayout; +import com.vijay.jsonwizard.utils.FormUtils; + import org.apache.commons.lang3.StringUtils; import org.joda.time.DateTime; import org.joda.time.Days; @@ -396,12 +398,12 @@ protected void startFpRegister() { @Override protected void startHivRegister() { - HivRegisterActivity.startHIVFormActivity(this, memberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + HivRegisterActivity.startHIVFormActivity(this, memberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); } @Override protected void startTbRegister() { - TbRegisterActivity.startTbFormActivity(this, memberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); + TbRegisterActivity.startTbFormActivity(this, memberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index 7a73919ee6..b921672f91 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -11,6 +11,8 @@ import android.view.View; import android.widget.LinearLayout; +import com.vijay.jsonwizard.utils.FormUtils; + import org.apache.commons.lang3.StringUtils; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; @@ -60,7 +62,7 @@ public static void startTbProfileActivity(Activity activity, TbMemberObject memb public void startTbFollowupActivity(Activity activity, String baseEntityID) { Intent intent = new Intent(activity, BaseTbRegistrationFormsActivity.class); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); - intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); + intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); activity.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); @@ -97,7 +99,7 @@ protected void removeMember() { @Override protected void startTbCaseClosure() { - TbRegisterActivity.startTbFormActivity(this, getTbMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbCaseClosure(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbCaseClosure()).toString()); + TbRegisterActivity.startTbFormActivity(this, getTbMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbCaseClosure(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbCaseClosure()).toString()); } @Override @@ -163,7 +165,7 @@ public void openMedicalHistory() { @Override public void openTbRegistrationForm() { - TbRegisterActivity.startTbFormActivity(this, getTbMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); + TbRegisterActivity.startTbFormActivity(this, getTbMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); } @@ -245,7 +247,7 @@ public void onReceivedNotifications(List> notifications) { @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(org.smartregister.chw.core.R.menu.tb_profile_menu, menu); - UtilsFlv.updateHivMenuItems(getTbMemberObject().getBaseEntityId(),menu); + UtilsFlv.updateHivMenuItems(getTbMemberObject().getBaseEntityId(), menu); return true; } @@ -260,7 +262,7 @@ public boolean onOptionsItemSelected(MenuItem item) { } protected void startHivRegister() { - HivRegisterActivity.startHIVFormActivity(TbProfileActivity.this, getTbMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + HivRegisterActivity.startHIVFormActivity(TbProfileActivity.this, getTbMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); } } From 9aad5721b98ac1eed2e03f4705fa02cf6d6d7865 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Wed, 15 Jul 2020 14:10:19 +0300 Subject: [PATCH 081/915] Refactored opening of hiv and tb forms from repository or assets. Refactored hiv and tb followup rules --- opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml | 2 +- opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml | 2 +- .../chw/activity/TbCommunityFollowupDetailsActivity.java | 4 +++- .../org/smartregister/chw/fragment/HivRegisterFragment.java | 4 +++- .../chw/fragment/TbFollowupRegisterFragment.java | 4 +++- .../org/smartregister/chw/fragment/TbRegisterFragment.java | 4 +++- 6 files changed, 14 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml b/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml index 9da8e1dd68..f9c76f1c5d 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml @@ -5,4 +5,4 @@ priority: 1 condition: "true" actions: - "hivFollowupRule.setVisitID('1')" - - "hivFollowupRule.updateDueDate(30,8,365)" \ No newline at end of file + - "hivFollowupRule.isValid(28,35,365)" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml b/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml index 1bd700c602..a4baef0a61 100644 --- a/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml +++ b/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml @@ -5,4 +5,4 @@ priority: 1 condition: "true" actions: - "tbFollowupRule.setVisitID('1')" - - "tbFollowupRule.updateDueDate(30,8,365)" \ No newline at end of file + - "tbFollowupRule.isValid(28,35,365)" \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbCommunityFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbCommunityFollowupDetailsActivity.java index 353906a051..88eb72000d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbCommunityFollowupDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbCommunityFollowupDetailsActivity.java @@ -1,6 +1,8 @@ package org.smartregister.chw.activity; +import com.vijay.jsonwizard.utils.FormUtils; + import org.smartregister.chw.tb.activity.BaseTbCommunityFollowupDetailsActivity; import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; @@ -10,7 +12,7 @@ public class TbCommunityFollowupDetailsActivity extends BaseTbCommunityFollowupD @Override public void openFollowupForm(){ - TbRegisterActivity.startTbFormActivity(this, getMemberObject().getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback()).toString()); + TbRegisterActivity.startTbFormActivity(this, getMemberObject().getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback()).toString()); } } \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index 12b2aa4b5e..c175a449a7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -1,5 +1,7 @@ package org.smartregister.chw.fragment; +import com.vijay.jsonwizard.utils.FormUtils; + import org.jetbrains.annotations.Nullable; import org.smartregister.chw.activity.HivProfileActivity; import org.smartregister.chw.activity.HivRegisterActivity; @@ -41,7 +43,7 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable HivMemberObject hivMemberObject) { if (getActivity() != null) - HivRegisterActivity.startHIVFormActivity(getActivity(),hivMemberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); + HivRegisterActivity.startHIVFormActivity(getActivity(),hivMemberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java index b1c3be0f56..ca55a2815f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java @@ -5,6 +5,8 @@ import androidx.annotation.Nullable; +import com.vijay.jsonwizard.utils.FormUtils; + import org.smartregister.chw.activity.TbCommunityFollowupDetailsActivity; import org.smartregister.chw.activity.TbRegisterActivity; import org.smartregister.chw.core.fragment.CoreTbCommunityFollowupRegisterFragment; @@ -58,7 +60,7 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable TbMemberObject tbMemberObject) { if (getActivity() != null) - TbRegisterActivity.startTbFormActivity(getActivity(), tbMemberObject.getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit(), getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); + TbRegisterActivity.startTbFormActivity(getActivity(), tbMemberObject.getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java index e505a5062a..81ad803f99 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java @@ -2,6 +2,8 @@ import androidx.annotation.Nullable; +import com.vijay.jsonwizard.utils.FormUtils; + import org.smartregister.chw.activity.TbProfileActivity; import org.smartregister.chw.activity.TbRegisterActivity; import org.smartregister.chw.core.fragment.CoreTbRegisterFragment; @@ -42,7 +44,7 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable TbMemberObject tbMemberObject) { if (getActivity() != null) - TbRegisterActivity.startTbFormActivity(getActivity(), tbMemberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit(),getFormUtils().getFormJsonFromRepositoryOrAssets(org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); + TbRegisterActivity.startTbFormActivity(getActivity(), tbMemberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); } } From 39d5b1e7a75951bb29676a862f7224bd5e09b942 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 17 Jul 2020 12:22:03 +0300 Subject: [PATCH 082/915] Fixed codacy issues --- .../AllClientsMemberProfileActivity.java | 6 ----- .../FamilyOtherMemberProfileActivity.java | 27 +++++++++---------- .../HivCommunityFollowupDetailsActivity.java | 2 -- .../chw/activity/HivRegisterActivity.java | 4 --- .../activity/PncMemberProfileActivity.java | 8 +++--- .../chw/activity/TbProfileActivity.java | 1 - .../smartregister/chw/dao/ScheduleDao.java | 2 -- .../chw/fragment/HivRegisterFragment.java | 4 +-- .../fragment/TbFollowupRegisterFragment.java | 1 - .../chw/fragment/TbRegisterFragment.java | 4 +-- .../chw/model/FamilyProfileDueModel.java | 2 -- .../HivCommunityFollowupFragmentModel.java | 2 -- .../chw/task/TbVisitScheduler.java | 2 -- 13 files changed, 18 insertions(+), 47 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 59fea41b85..cb518f140e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -29,16 +29,10 @@ import org.smartregister.family.fragment.BaseFamilyOtherMemberProfileFragment; import org.smartregister.family.model.BaseFamilyOtherMemberProfileActivityModel; import org.smartregister.family.util.DBConstants; -import org.smartregister.family.util.JsonFormUtils; import org.smartregister.view.contract.BaseProfileContract; import timber.log.Timber; -import static com.vijay.jsonwizard.constants.JsonFormConstants.COUNT; -import static com.vijay.jsonwizard.constants.JsonFormConstants.STEP1; -import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; -import static org.smartregister.family.util.JsonFormUtils.STEP2; - public class AllClientsMemberProfileActivity extends CoreAllClientsMemberProfileActivity { private FamilyMemberFloatingMenu familyFloatingMenu; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index f6bffdb113..a05f87ef54 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -32,7 +32,6 @@ import timber.log.Timber; -import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; import static org.smartregister.chw.core.utils.Utils.updateToolbarTitle; public class FamilyOtherMemberProfileActivity extends CoreFamilyOtherMemberProfileActivity { @@ -51,7 +50,7 @@ public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); String gender = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.GENDER, false); // Check if woman is already registered - if (flavor.hasANC() && !presenter().isWomanAlreadyRegisteredOnAnc(commonPersonObject) && flavor.isOfReproductiveAge(commonPersonObject, "Female") && gender.equalsIgnoreCase("Female") ) { + if (flavor.hasANC() && !presenter().isWomanAlreadyRegisteredOnAnc(commonPersonObject) && flavor.isOfReproductiveAge(commonPersonObject, "Female") && gender.equalsIgnoreCase("Female")) { flavor.updateFpMenuItems(baseEntityId, menu); menu.findItem(R.id.action_anc_registration).setVisible(true); } else { @@ -121,12 +120,12 @@ protected void removeIndividualProfile() { @Override protected void startHivRegister() { - HivRegisterActivity.startHIVFormActivity(FamilyOtherMemberProfileActivity.this,baseEntityId,org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + HivRegisterActivity.startHIVFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); } @Override protected void startTbRegister() { - TbRegisterActivity.startTbFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId,org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); + TbRegisterActivity.startTbFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); } @Override @@ -197,6 +196,16 @@ protected BaseFamilyOtherMemberProfileFragment getFamilyOtherMemberProfileFragme return FamilyOtherMemberProfileFragment.newInstance(getIntent().getExtras()); } + @Override + protected void startMalariaFollowUpVisit() { + MalariaFollowUpVisitActivity.startMalariaFollowUpActivity(this, baseEntityId); + } + + @Override + protected void setIndependentClient(boolean isIndependentClient) { + super.isIndependent = isIndependentClient; + } + /** * build implementation differences file */ @@ -217,14 +226,4 @@ public interface Flavor { boolean hasANC(); } - - @Override - protected void startMalariaFollowUpVisit() { - MalariaFollowUpVisitActivity.startMalariaFollowUpActivity(this, baseEntityId); - } - - @Override - protected void setIndependentClient(boolean isIndependentClient) { - super.isIndependent = isIndependentClient; - } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java index f70b4884ab..e04971e24c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java @@ -4,8 +4,6 @@ import org.smartregister.chw.hiv.activity.BaseHivCommunityFollowupDetailsActivity; -import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; - public class HivCommunityFollowupDetailsActivity extends BaseHivCommunityFollowupDetailsActivity { @Override protected void openFollowupForm() { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java index 98e7b0dfc3..71b5c4f4a3 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java @@ -4,8 +4,6 @@ import android.content.Intent; import android.os.Bundle; -import androidx.fragment.app.Fragment; - import com.google.android.material.bottomnavigation.LabelVisibilityMode; import org.jetbrains.annotations.NotNull; @@ -21,7 +19,6 @@ import java.util.List; public class HivRegisterActivity extends CoreHivRegisterActivity { - private String baseEntityID; public static void startHIVFormActivity(Activity activity, String baseEntityID, String formName, String payloadType) { Intent intent = new Intent(activity, HivRegisterActivity.class); @@ -44,7 +41,6 @@ public List getViewIdentifiers() { @Override protected void onCreate(Bundle savedInstanceState) { - baseEntityID = getIntent().getStringExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID); super.onCreate(savedInstanceState); NavigationMenu.getInstance(this, null, null); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index d334205f8f..f1acb0255b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Intent; -import android.os.Bundle; import android.util.Pair; import android.view.Gravity; import android.view.Menu; @@ -68,7 +67,6 @@ import io.reactivex.schedulers.Schedulers; import timber.log.Timber; -import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; import static org.smartregister.chw.util.Constants.EventType; import static org.smartregister.chw.util.Constants.JSON_FORM; @@ -379,7 +377,7 @@ private void addPncReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_danger_signs), BuildConfig.USE_UNIFIED_REFERRAL_APPROACH ? JSON_FORM.getPncUnifiedReferralForm() : JSON_FORM.getPncReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); - if(BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), org.smartregister.chw.util.Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); } @@ -398,12 +396,12 @@ protected void startFpRegister() { @Override protected void startHivRegister() { - HivRegisterActivity.startHIVFormActivity(this, memberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + HivRegisterActivity.startHIVFormActivity(this, memberObject.getBaseEntityId(), CoreConstants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getHivRegistration()).toString()); } @Override protected void startTbRegister() { - TbRegisterActivity.startTbFormActivity(this, memberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); + TbRegisterActivity.startTbFormActivity(this, memberObject.getBaseEntityId(), CoreConstants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getTbRegistration()).toString()); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index b921672f91..7de62deeb8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -43,7 +43,6 @@ import timber.log.Timber; -import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java index eab83a9357..1bcf460fcc 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ScheduleDao.java @@ -5,8 +5,6 @@ import java.util.List; -import timber.log.Timber; - public class ScheduleDao extends AbstractDao { //TODO diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index c175a449a7..c013c2ae11 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -16,8 +16,6 @@ import timber.log.Timber; -import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; - public class HivRegisterFragment extends CoreHivRegisterFragment { @Override protected void initializePresenter() { @@ -43,7 +41,7 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable HivMemberObject hivMemberObject) { if (getActivity() != null) - HivRegisterActivity.startHIVFormActivity(getActivity(),hivMemberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); + HivRegisterActivity.startHIVFormActivity(getActivity(), hivMemberObject.getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java index ca55a2815f..1b5c1008c5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java @@ -21,7 +21,6 @@ import timber.log.Timber; import static android.view.View.GONE; -import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; public class TbFollowupRegisterFragment extends CoreTbCommunityFollowupRegisterFragment { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java index 81ad803f99..303252c910 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java @@ -17,8 +17,6 @@ import timber.log.Timber; -import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; - public class TbRegisterFragment extends CoreTbRegisterFragment { @Override @@ -44,7 +42,7 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable TbMemberObject tbMemberObject) { if (getActivity() != null) - TbRegisterActivity.startTbFormActivity(getActivity(), tbMemberObject.getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); + TbRegisterActivity.startTbFormActivity(getActivity(), tbMemberObject.getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileDueModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileDueModel.java index e623df8100..7a24e58c45 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileDueModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/FamilyProfileDueModel.java @@ -6,8 +6,6 @@ import org.smartregister.family.model.BaseFamilyProfileDueModel; import org.smartregister.family.util.DBConstants; -import timber.log.Timber; - public class FamilyProfileDueModel extends BaseFamilyProfileDueModel { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java index 116b62b94d..8fc8c553bb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivCommunityFollowupFragmentModel.java @@ -15,8 +15,6 @@ import java.util.HashSet; import java.util.Set; -import timber.log.Timber; - public class HivCommunityFollowupFragmentModel extends BaseHivCommunityFollowupModel { @NonNull diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java b/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java index cb1fea0f2b..bae13d8f2d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java @@ -13,8 +13,6 @@ import java.util.Date; import java.util.List; -import timber.log.Timber; - public class TbVisitScheduler extends BaseTaskExecutor { @Override From 6f75e32ba2ee4e3a6bb02c64a6a462616a5b8667 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Fri, 17 Jul 2020 12:27:45 +0300 Subject: [PATCH 083/915] updated dependencies and ba version code and version name --- opensrp-chw/build.gradle | 10 +++++----- .../chw/application/ChwSyncConfiguration.java | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index d2a10643ff..398dd3fae8 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -137,12 +137,12 @@ android { ba { dimension = 'baseDimension' applicationIdSuffix ".ba" - versionCode 2 - versionName "1.0.2" + versionCode 3 + versionName "1.1.0" buildConfigField "String", 'opensrp_url', '"https://boresha-afya.smartregister.org/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' -// buildConfigField "String", 'opensrp_url_debug', '"https://boresha-afya-stage.smartregister.org/opensrp/"' - buildConfigField "String", 'opensrp_url_debug', '"https://ba-unified-stage.smartregister.org/opensrp/"' + buildConfigField "String", 'opensrp_url_debug', '"https://boresha-afya-stage.smartregister.org/opensrp/"' +// buildConfigField "String", 'opensrp_url_debug', '"https://ba-unified-stage.smartregister.org/opensrp/"' buildConfigField "String[]", "LOCATION_HIERACHY", '{"Country","Region","District","Ward" , "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS", '{"Ward" , "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS_DEBUG", '{"MOH Jhpiego Facility Name" , "Village"}' @@ -254,7 +254,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.3.1-Test-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.3.1-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java index 0bd45e6ca7..31b64ffd5b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java @@ -65,11 +65,11 @@ public boolean isSyncUsingPost() { @Override public List getSynchronizedLocationTags() { - return Collections.singletonList("Facility"); + return Collections.singletonList("MOH Jhpiego Facility Name"); } @Override public String getTopAllowedLocationLevel() { - return "Council"; + return "Ward"; } } From c9875ac41e84f1873f9a27653146ac21d412f2ca Mon Sep 17 00:00:00 2001 From: Elly Kitoto Date: Fri, 17 Jul 2020 16:02:36 +0300 Subject: [PATCH 084/915] Update HIV and TB visit schedulers Signed-off-by: Elly Kitoto --- .../smartregister/chw/application/ChwSyncConfiguration.java | 6 +++--- .../java/org/smartregister/chw/task/HivVisitScheduler.java | 1 - .../java/org/smartregister/chw/task/TbVisitScheduler.java | 1 - 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java index 31b64ffd5b..48714b7fc1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java @@ -5,7 +5,7 @@ import org.smartregister.chw.BuildConfig; import org.smartregister.chw.core.utils.Utils; -import java.util.Collections; +import java.util.Arrays; import java.util.List; /** @@ -65,11 +65,11 @@ public boolean isSyncUsingPost() { @Override public List getSynchronizedLocationTags() { - return Collections.singletonList("MOH Jhpiego Facility Name"); + return Arrays.asList("MOH Jhpiego Facility Name", "Health Facility", "Facility"); } @Override public String getTopAllowedLocationLevel() { - return "Ward"; + return "District"; } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java b/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java index d65c30ede8..78278632e6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java @@ -32,7 +32,6 @@ public List generateTasks(String baseEntityID, String eventName, D baseScheduleTask.setScheduleDueDate(hivFollowupRule.getDueDate()); baseScheduleTask.setScheduleExpiryDate(hivFollowupRule.getExpiryDate()); - baseScheduleTask.setScheduleCompletionDate(hivFollowupRule.getCompletionDate()); baseScheduleTask.setScheduleOverDueDate(hivFollowupRule.getOverDueDate()); return toScheduleList(baseScheduleTask); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java b/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java index bae13d8f2d..dd6646f32c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java @@ -32,7 +32,6 @@ public List generateTasks(String baseEntityID, String eventName, D baseScheduleTask.setScheduleDueDate(tbFollowupRule.getDueDate()); baseScheduleTask.setScheduleExpiryDate(tbFollowupRule.getExpiryDate()); - baseScheduleTask.setScheduleCompletionDate(tbFollowupRule.getCompletionDate()); baseScheduleTask.setScheduleOverDueDate(tbFollowupRule.getOverDueDate()); return toScheduleList(baseScheduleTask); From 17bacbd1b66709f00141a1013e5472c9fed461d3 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 30 Jul 2020 12:59:52 +0300 Subject: [PATCH 085/915] Code cleaning --- .../java/org/smartregister/chw/application/ChwApplication.java | 2 -- .../main/java/org/smartregister/chw/task/HivVisitScheduler.java | 1 - .../main/java/org/smartregister/chw/task/TbVisitScheduler.java | 1 - 3 files changed, 4 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index b83538c42a..99121ed03a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -390,8 +390,6 @@ public interface Flavor { boolean hasJobAidsVitaminAGraph(); - boolean hasJobAidsVitaminAGraph(); - boolean hasHIV(); boolean hasTB(); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java b/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java index d65c30ede8..78278632e6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java @@ -32,7 +32,6 @@ public List generateTasks(String baseEntityID, String eventName, D baseScheduleTask.setScheduleDueDate(hivFollowupRule.getDueDate()); baseScheduleTask.setScheduleExpiryDate(hivFollowupRule.getExpiryDate()); - baseScheduleTask.setScheduleCompletionDate(hivFollowupRule.getCompletionDate()); baseScheduleTask.setScheduleOverDueDate(hivFollowupRule.getOverDueDate()); return toScheduleList(baseScheduleTask); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java b/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java index bae13d8f2d..dd6646f32c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/task/TbVisitScheduler.java @@ -32,7 +32,6 @@ public List generateTasks(String baseEntityID, String eventName, D baseScheduleTask.setScheduleDueDate(tbFollowupRule.getDueDate()); baseScheduleTask.setScheduleExpiryDate(tbFollowupRule.getExpiryDate()); - baseScheduleTask.setScheduleCompletionDate(tbFollowupRule.getCompletionDate()); baseScheduleTask.setScheduleOverDueDate(tbFollowupRule.getOverDueDate()); return toScheduleList(baseScheduleTask); From 6f32d7056dca87548a3cd05c48f005f1a0f45c6b Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 30 Jul 2020 13:07:30 +0300 Subject: [PATCH 086/915] Code refactoring due to changes made on client-core 1.15.1-SNAPSHOT --- opensrp-chw/build.gradle | 9 ++++++++- .../org/smartregister/chw/dao/WashCheckDao.java | 2 +- .../chw/dataloader/FamilyMemberDataLoader.java | 2 +- .../chw/sync/ChwClientProcessor.java | 2 +- .../org/smartregister/chw/util/ChildUtils.java | 15 +++++++++------ 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index d260364fde..069da975ff 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -52,6 +52,11 @@ android { buildConfigField "long", "BUILD_TIMESTAMP", System.currentTimeMillis() + "L" buildConfigField "boolean", "IS_SYNC_SETTINGS", "false" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + javaCompileOptions { + annotationProcessorOptions{ + includeCompileClasspath = true + } + } } dexOptions { @@ -113,6 +118,8 @@ android { exclude 'META-INF/dependencies.txt' exclude 'META-INF/LGPL2.1' exclude 'LICENSE.txt' + exclude 'META-INF/LICENSE.md' + exclude 'META-INF/NOTICE.md' } @@ -256,7 +263,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.3.2-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.4.3-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/WashCheckDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/WashCheckDao.java index 4e50883ef5..640f114bc5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/WashCheckDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/WashCheckDao.java @@ -5,7 +5,7 @@ import org.apache.commons.lang3.StringUtils; import org.smartregister.chw.anc.domain.VisitDetail; import org.smartregister.dao.AbstractDao; -import org.smartregister.domain.db.Event; +import org.smartregister.domain.Event; import org.smartregister.domain.db.EventClient; import java.util.ArrayList; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dataloader/FamilyMemberDataLoader.java b/opensrp-chw/src/main/java/org/smartregister/chw/dataloader/FamilyMemberDataLoader.java index dc30da920c..f9eda84477 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dataloader/FamilyMemberDataLoader.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dataloader/FamilyMemberDataLoader.java @@ -17,7 +17,7 @@ import org.smartregister.chw.util.JsonFormUtils; import org.smartregister.chw.util.Utils; import org.smartregister.domain.Photo; -import org.smartregister.domain.db.Client; +import org.smartregister.domain.Client; import org.smartregister.family.util.DBConstants; import org.smartregister.util.ImageUtils; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java b/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java index 618aa67a13..2321285011 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java @@ -7,7 +7,7 @@ import org.smartregister.chw.core.sync.CoreClientProcessor; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; -import org.smartregister.domain.db.Event; +import org.smartregister.domain.Event; import org.smartregister.domain.db.EventClient; import org.smartregister.domain.jsonmapping.ClientClassification; import org.smartregister.domain.jsonmapping.Table; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChildUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChildUtils.java index 7889fe8513..23959ca0b6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChildUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChildUtils.java @@ -2,12 +2,15 @@ import android.content.Context; + import com.google.gson.reflect.TypeToken; import org.smartregister.chw.R; import org.smartregister.chw.core.utils.ChildDBConstants; import org.smartregister.chw.core.utils.CoreChildUtils; import org.smartregister.chw.core.utils.ServiceTask; +import org.smartregister.domain.Event; +import org.smartregister.domain.Obs; import org.smartregister.family.util.DBConstants; import org.smartregister.util.DateUtil; @@ -80,10 +83,10 @@ public static String[] mainColumns(String tableName, String familyTable, String public static ServiceTask createServiceTaskFromEvent(String taskType, String details, String title, String formSubmissionId) { ServiceTask serviceTask = new ServiceTask(); - org.smartregister.domain.db.Event event = ChildUtils.gsonConverter.fromJson(details, new TypeToken() { + Event event = ChildUtils.gsonConverter.fromJson(details, new TypeToken() { }.getType()); - List observations = event.getObs(); - for (org.smartregister.domain.db.Obs obs : observations) { + List observations = event.getObs(); + for (Obs obs : observations) { if (obs.getFormSubmissionField().equalsIgnoreCase(formSubmissionId)) { List hu = obs.getHumanReadableValues(); String value = ""; @@ -101,11 +104,11 @@ public static ServiceTask createServiceTaskFromEvent(String taskType, String det public static ServiceTask createECDTaskFromEvent(Context context, String taskType, String details, String title) { ServiceTask serviceTask = new ServiceTask(); - org.smartregister.domain.db.Event event = ChildUtils.gsonConverter.fromJson(details, new TypeToken() { + Event event = ChildUtils.gsonConverter.fromJson(details, new TypeToken() { }.getType()); - List observations = event.getObs(); + List observations = event.getObs(); String label = ""; - for (org.smartregister.domain.db.Obs obs : observations) { + for (Obs obs : observations) { if (obs.getFormSubmissionField().equalsIgnoreCase("develop_warning_signs")) { List hu = obs.getHumanReadableValues(); String value = ""; From 1c72680e770ddf7ea88e52093babb8c39e7125d0 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Thu, 30 Jul 2020 13:10:53 +0300 Subject: [PATCH 087/915] Fixed codacy issues --- .../chw/activity/PncMemberProfileActivity.java | 2 +- .../chw/activity/TbCommunityFollowupDetailsActivity.java | 7 +++---- .../smartregister/chw/service/SchedulesIntentService.java | 2 -- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index f1acb0255b..fd45ef64a2 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -379,7 +379,7 @@ private void addPncReferralTypes() { if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), - org.smartregister.chw.util.Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbCommunityFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbCommunityFollowupDetailsActivity.java index 88eb72000d..bd95abf51c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbCommunityFollowupDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbCommunityFollowupDetailsActivity.java @@ -4,15 +4,14 @@ import com.vijay.jsonwizard.utils.FormUtils; import org.smartregister.chw.tb.activity.BaseTbCommunityFollowupDetailsActivity; - -import static org.smartregister.chw.core.utils.FormUtils.getFormUtils; +import org.smartregister.chw.util.Constants; public class TbCommunityFollowupDetailsActivity extends BaseTbCommunityFollowupDetailsActivity { @Override - public void openFollowupForm(){ - TbRegisterActivity.startTbFormActivity(this, getMemberObject().getBaseEntityId(),org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback(),(new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback()).toString()); + public void openFollowupForm() { + TbRegisterActivity.startTbFormActivity(this, getMemberObject().getBaseEntityId(), Constants.JSON_FORM.getHivCommunityFollowFeedback(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, Constants.JSON_FORM.getHivCommunityFollowFeedback()).toString()); } } \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/service/SchedulesIntentService.java b/opensrp-chw/src/main/java/org/smartregister/chw/service/SchedulesIntentService.java index 1f3e18480f..571883c4fc 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/service/SchedulesIntentService.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/service/SchedulesIntentService.java @@ -5,8 +5,6 @@ import androidx.annotation.Nullable; -import com.google.gson.Gson; - import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.dao.ScheduleDao; From 2924108d5559879af5e22b35a614ae2b66564e33 Mon Sep 17 00:00:00 2001 From: Elly Kitoto Date: Thu, 10 Sep 2020 16:35:30 +0300 Subject: [PATCH 088/915] Fix failing builds Signed-off-by: Elly Kitoto --- .../AllClientsMemberProfileActivity.java | 13 ++++++-- .../FamilyOtherMemberProfileActivity.java | 14 +++++++-- .../HivCommunityFollowupDetailsActivity.java | 9 +++++- .../chw/activity/HivProfileActivity.java | 24 +++++++++++--- .../activity/PncMemberProfileActivity.java | 13 ++++++-- .../TbCommunityFollowupDetailsActivity.java | 10 ++++-- .../chw/activity/TbProfileActivity.java | 31 ++++++++++++++----- .../chw/fragment/HivRegisterFragment.java | 12 ++++--- .../fragment/TbFollowupRegisterFragment.java | 10 ++++-- .../chw/fragment/TbRegisterFragment.java | 11 +++++-- 10 files changed, 117 insertions(+), 30 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index e92499e83d..80197424c7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -7,6 +7,7 @@ import com.vijay.jsonwizard.utils.FormUtils; +import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CoreAllClientsMemberProfileActivity; @@ -69,12 +70,20 @@ protected void startMalariaRegister() { @Override protected void startHivRegister() { - HivRegisterActivity.startHIVFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + try { + HivRegisterActivity.startHIVFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, Constants.JSON_FORM.getHivRegistration()).toString()); + } catch (JSONException e) { + Timber.e(e); + } } @Override protected void startTbRegister() { - TbRegisterActivity.startTbFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); + try { + TbRegisterActivity.startTbFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, Constants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, Constants.JSON_FORM.getTbRegistration()).toString()); + } catch (JSONException e) { + Timber.e(e); + } } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index 56afd8cd9a..d64525e538 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -9,6 +9,7 @@ import com.vijay.jsonwizard.utils.FormUtils; +import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; import org.smartregister.chw.application.ChwApplication; @@ -22,6 +23,7 @@ import org.smartregister.chw.fp.util.FamilyPlanningConstants; import org.smartregister.chw.fragment.FamilyOtherMemberProfileFragment; import org.smartregister.chw.presenter.FamilyOtherMemberActivityPresenter; +import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.Utils; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.family.adapter.ViewPagerAdapter; @@ -120,12 +122,20 @@ protected void removeIndividualProfile() { @Override protected void startHivRegister() { - HivRegisterActivity.startHIVFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + try { + HivRegisterActivity.startHIVFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId, Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, Constants.JSON_FORM.getHivRegistration()).toString()); + } catch (JSONException e) { + Timber.e(e); + } } @Override protected void startTbRegister() { - TbRegisterActivity.startTbFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); + try { + TbRegisterActivity.startTbFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId, Constants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, Constants.JSON_FORM.getTbRegistration()).toString()); + } catch (JSONException e) { + Timber.e(e); + } } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java index e04971e24c..3251cb492c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java @@ -2,12 +2,19 @@ import com.vijay.jsonwizard.utils.FormUtils; +import org.json.JSONException; import org.smartregister.chw.hiv.activity.BaseHivCommunityFollowupDetailsActivity; +import timber.log.Timber; + public class HivCommunityFollowupDetailsActivity extends BaseHivCommunityFollowupDetailsActivity { @Override protected void openFollowupForm() { - HivRegisterActivity.startHIVFormActivity(this, getMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback()).toString()); + try { + HivRegisterActivity.startHIVFormActivity(this, getMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback()).toString()); + } catch (JSONException e) { + Timber.e(e); + } } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index ba78c65fa3..76080dfa9a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -14,6 +14,7 @@ import com.vijay.jsonwizard.utils.FormUtils; import org.apache.commons.lang3.StringUtils; +import org.json.JSONException; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.application.ChwApplication; @@ -58,7 +59,7 @@ public static void startHivProfileActivity(Activity activity, HivMemberObject me activity.startActivity(intent); } - public static void startHivFollowupActivity(Activity activity, String baseEntityID) { + public static void startHivFollowupActivity(Activity activity, String baseEntityID) throws JSONException { Intent intent = new Intent(activity, BaseHivRegistrationFormsActivity.class); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); @@ -158,7 +159,11 @@ public void openMedicalHistory() { @Override public void openHivRegistrationForm() { - HivRegisterActivity.startHIVFormActivity(this, getHivMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + try { + HivRegisterActivity.startHIVFormActivity(this, getHivMemberObject().getBaseEntityId(), CoreConstants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getHivRegistration()).toString()); + } catch (JSONException e) { + Timber.e(e); + } } @@ -182,8 +187,13 @@ public void openFamilyDueServices() { @Override public void openFollowUpVisitForm(boolean isEdit) { - if (!isEdit) - startHivFollowupActivity(this, getHivMemberObject().getBaseEntityId()); + if (!isEdit) { + try { + startHivFollowupActivity(this, getHivMemberObject().getBaseEntityId()); + } catch (JSONException e) { + Timber.e(e); + } + } } private void addHivReferralTypes() { @@ -256,7 +266,11 @@ public boolean onOptionsItemSelected(MenuItem item) { } protected void startTbRegister() { - TbRegisterActivity.startTbFormActivity(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); + try { + TbRegisterActivity.startTbFormActivity(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), CoreConstants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getTbRegistration()).toString()); + } catch (JSONException e) { + Timber.e(e); + } } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index 83eca8f4bf..8a24caba75 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -14,6 +14,7 @@ import org.apache.commons.lang3.StringUtils; import org.joda.time.DateTime; import org.joda.time.Days; +import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; @@ -396,12 +397,20 @@ protected void startFpRegister() { @Override protected void startHivRegister() { - HivRegisterActivity.startHIVFormActivity(this, memberObject.getBaseEntityId(), CoreConstants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getHivRegistration()).toString()); + try { + HivRegisterActivity.startHIVFormActivity(this, memberObject.getBaseEntityId(), JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, JSON_FORM.getHivRegistration()).toString()); + } catch (JSONException e) { + Timber.e(e); + } } @Override protected void startTbRegister() { - TbRegisterActivity.startTbFormActivity(this, memberObject.getBaseEntityId(), CoreConstants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getTbRegistration()).toString()); + try { + TbRegisterActivity.startTbFormActivity(this, memberObject.getBaseEntityId(), JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, JSON_FORM.getTbRegistration()).toString()); + } catch (JSONException e) { + Timber.e(e); + } } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbCommunityFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbCommunityFollowupDetailsActivity.java index bd95abf51c..768e3af8a2 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbCommunityFollowupDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbCommunityFollowupDetailsActivity.java @@ -3,15 +3,21 @@ import com.vijay.jsonwizard.utils.FormUtils; +import org.json.JSONException; import org.smartregister.chw.tb.activity.BaseTbCommunityFollowupDetailsActivity; import org.smartregister.chw.util.Constants; -public class TbCommunityFollowupDetailsActivity extends BaseTbCommunityFollowupDetailsActivity { +import timber.log.Timber; +public class TbCommunityFollowupDetailsActivity extends BaseTbCommunityFollowupDetailsActivity { @Override public void openFollowupForm() { - TbRegisterActivity.startTbFormActivity(this, getMemberObject().getBaseEntityId(), Constants.JSON_FORM.getHivCommunityFollowFeedback(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, Constants.JSON_FORM.getHivCommunityFollowFeedback()).toString()); + try { + TbRegisterActivity.startTbFormActivity(this, getMemberObject().getBaseEntityId(), Constants.JSON_FORM.getHivCommunityFollowFeedback(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, Constants.JSON_FORM.getHivCommunityFollowFeedback()).toString()); + } catch (JSONException e) { + Timber.e(e); + } } } \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index 7de62deeb8..33697674bb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -14,6 +14,7 @@ import com.vijay.jsonwizard.utils.FormUtils; import org.apache.commons.lang3.StringUtils; +import org.json.JSONException; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.application.ChwApplication; @@ -58,7 +59,7 @@ public static void startTbProfileActivity(Activity activity, TbMemberObject memb activity.startActivity(intent); } - public void startTbFollowupActivity(Activity activity, String baseEntityID) { + public void startTbFollowupActivity(Activity activity, String baseEntityID) throws JSONException { Intent intent = new Intent(activity, BaseTbRegistrationFormsActivity.class); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); intent.putExtra(org.smartregister.chw.tb.util.Constants.ActivityPayload.JSON_FORM, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); @@ -98,7 +99,11 @@ protected void removeMember() { @Override protected void startTbCaseClosure() { - TbRegisterActivity.startTbFormActivity(this, getTbMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbCaseClosure(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbCaseClosure()).toString()); + try { + TbRegisterActivity.startTbFormActivity(this, getTbMemberObject().getBaseEntityId(), CoreConstants.JSON_FORM.getTbCaseClosure(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getTbCaseClosure()).toString()); + } catch (JSONException e) { + Timber.e(e); + } } @Override @@ -164,8 +169,11 @@ public void openMedicalHistory() { @Override public void openTbRegistrationForm() { - TbRegisterActivity.startTbFormActivity(this, getTbMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getTbRegistration()).toString()); - + try { + TbRegisterActivity.startTbFormActivity(this, getTbMemberObject().getBaseEntityId(), CoreConstants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getTbRegistration()).toString()); + } catch (JSONException e) { + Timber.e(e); + } } @Override @@ -188,8 +196,13 @@ public void openFamilyDueServices() { @Override public void openFollowUpVisitForm(boolean isEdit) { - if (!isEdit) - startTbFollowupActivity(this, getTbMemberObject().getBaseEntityId()); + if (!isEdit) { + try { + startTbFollowupActivity(this, getTbMemberObject().getBaseEntityId()); + } catch (JSONException e) { + Timber.e(e); + } + } } private void addTbReferralTypes() { @@ -261,7 +274,11 @@ public boolean onOptionsItemSelected(MenuItem item) { } protected void startHivRegister() { - HivRegisterActivity.startHIVFormActivity(TbProfileActivity.this, getTbMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration()).toString()); + try { + HivRegisterActivity.startHIVFormActivity(TbProfileActivity.this, getTbMemberObject().getBaseEntityId(), CoreConstants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getHivRegistration()).toString()); + } catch (JSONException e) { + Timber.e(e); + } } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index c013c2ae11..19fac2b1e8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -3,6 +3,7 @@ import com.vijay.jsonwizard.utils.FormUtils; import org.jetbrains.annotations.Nullable; +import org.json.JSONException; import org.smartregister.chw.activity.HivProfileActivity; import org.smartregister.chw.activity.HivRegisterActivity; import org.smartregister.chw.core.fragment.CoreHivRegisterFragment; @@ -40,11 +41,14 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable HivMemberObject hivMemberObject) { - if (getActivity() != null) - HivRegisterActivity.startHIVFormActivity(getActivity(), hivMemberObject.getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); + if (getActivity() != null) { + try { + HivRegisterActivity.startHIVFormActivity(getActivity(), hivMemberObject.getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); + } catch (JSONException e) { + Timber.e(e); + } + } } - - } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java index 1b5c1008c5..1e38b9700c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbFollowupRegisterFragment.java @@ -7,6 +7,7 @@ import com.vijay.jsonwizard.utils.FormUtils; +import org.json.JSONException; import org.smartregister.chw.activity.TbCommunityFollowupDetailsActivity; import org.smartregister.chw.activity.TbRegisterActivity; import org.smartregister.chw.core.fragment.CoreTbCommunityFollowupRegisterFragment; @@ -58,8 +59,13 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable TbMemberObject tbMemberObject) { - if (getActivity() != null) - TbRegisterActivity.startTbFormActivity(getActivity(), tbMemberObject.getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); + if (getActivity() != null) { + try { + TbRegisterActivity.startTbFormActivity(getActivity(), tbMemberObject.getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); + } catch (JSONException e) { + Timber.e(e); + } + } } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java index 303252c910..8fad5c98d8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/TbRegisterFragment.java @@ -4,6 +4,7 @@ import com.vijay.jsonwizard.utils.FormUtils; +import org.json.JSONException; import org.smartregister.chw.activity.TbProfileActivity; import org.smartregister.chw.activity.TbRegisterActivity; import org.smartregister.chw.core.fragment.CoreTbRegisterFragment; @@ -41,10 +42,14 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable TbMemberObject tbMemberObject) { - if (getActivity() != null) - TbRegisterActivity.startTbFormActivity(getActivity(), tbMemberObject.getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); + if (getActivity() != null) { + try { + TbRegisterActivity.startTbFormActivity(getActivity(), tbMemberObject.getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getTbFollowupVisit()).toString()); + } catch (JSONException e) { + Timber.e(e); + } + } } - } From 3c6c9c1f58c6d80f66800dc0c3bdb47cca27cf24 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 21 Sep 2020 09:32:46 +0300 Subject: [PATCH 089/915] Updated Repository Migrations for upgrading database to version 21 --- opensrp-chw/build.gradle | 2 +- .../chw/repository/ChwRepositoryFlv.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index ef9a05600c..6eba88cb43 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -160,7 +160,7 @@ android { buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS_DEBUG", '{"Ward", "MOH Jhpiego Facility Name", "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String", 'DEFAULT_LOCATION', '"Village Sublocations"' buildConfigField "String", 'DEFAULT_LOCATION_DEBUG', '"Village"' - buildConfigField "int", "DATABASE_VERSION", '20' + buildConfigField "int", "DATABASE_VERSION", '21' } chad { dimension = 'baseDimension' diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/repository/ChwRepositoryFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/repository/ChwRepositoryFlv.java index 08028d6231..7a5e1924ad 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/repository/ChwRepositoryFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/repository/ChwRepositoryFlv.java @@ -92,6 +92,9 @@ public static void onUpgrade(Context context, SQLiteDatabase db, int oldVersion, case 20: upgradeToVersion20(db); break; + case 21: + upgradeToVersion21(db); + break; default: break; } @@ -323,4 +326,14 @@ private static void upgradeToVersion20(SQLiteDatabase db) { Timber.e(e, "upgradeToVersion20"); } } + + private static void upgradeToVersion21(SQLiteDatabase db) { + try { + DatabaseMigrationUtils.createAddedECTables(db, + new HashSet<>(Arrays.asList("ec_hiv_register", "ec_hiv_community_followup", "ec_hiv_community_feedback", "ec_tb_register", "ec_tb_community_followup", "ec_tb_community_feedback", "ec_hiv_outcome", "ec_tb_outcome")), + ChwApplication.createCommonFtsObject()); + } catch (Exception e) { + Timber.e(e, "upgradeToVersion21"); + } + } } From 9eca8e7e822f00d47a1b9fdff70fbc7690322f44 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Mon, 21 Sep 2020 10:42:34 +0300 Subject: [PATCH 090/915] Refactored hiv and tb swahili registration forms --- opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json | 2 +- opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json index d62cf09959..bd0ba56043 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json @@ -55,7 +55,7 @@ }, "steps": [ { - "title": "Usajili wa wagonjwa wa VVU", + "title": "Usajili wa wateja wa VVU", "fields": [ { "name": "ctc_number", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json index 0133290164..2376bfbc58 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json @@ -55,7 +55,7 @@ }, "steps": [ { - "title": "Usajili wa wagonjwa wa TB", + "title": "Usajili wa wateja wa TB", "fields": [ { "name": "community_client_tb_registration_number", From df8659bb1ab4279f6c5b22ed74481aa79d39d541 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 22 Sep 2020 08:31:06 +0300 Subject: [PATCH 091/915] Fixed travic issues --- .../chw/activity/HivProfileActivityFlv.java | 12 ++++++++++++ .../chw/activity/TbProfileActivityFlv.java | 12 ++++++++++++ .../chw/activity/HivProfileActivityFlv.java | 4 ++++ .../chw/activity/TbProfileActivityFlv.java | 4 ++++ .../chw/activity/HivProfileActivityFlv.java | 5 +++++ .../chw/activity/TbProfileActivityFlv.java | 5 +++++ .../chw/activity/HivProfileActivityFlv.java | 4 ++++ .../chw/activity/TbProfileActivityFlv.java | 4 ++++ .../chw/activity/HivProfileActivityFlv.java | 4 ++++ .../chw/activity/TbProfileActivityFlv.java | 4 ++++ .../chw/activity/HivProfileActivityFlv.java | 4 ++++ .../chw/activity/TbProfileActivityFlv.java | 4 ++++ .../activity/AllClientsMemberProfileActivity.java | 5 ++--- .../chw/activity/DefaultHivProfileActivityFlv.java | 13 +++++++++++++ .../chw/activity/DefaultTbProfileActivityFlv.java | 12 ++++++++++++ .../chw/activity/HivProfileActivity.java | 9 +++++++-- .../chw/activity/TbProfileActivity.java | 9 +++++++-- .../chw/activity/HivProfileActivityFlv.java | 4 ++++ .../chw/activity/TbProfileActivityFlv.java | 4 ++++ 19 files changed, 115 insertions(+), 7 deletions(-) create mode 100644 opensrp-chw/src/ba/java/org/smartregister/chw/activity/HivProfileActivityFlv.java create mode 100644 opensrp-chw/src/ba/java/org/smartregister/chw/activity/TbProfileActivityFlv.java create mode 100644 opensrp-chw/src/chad/java/org/smartregister/chw/activity/HivProfileActivityFlv.java create mode 100644 opensrp-chw/src/chad/java/org/smartregister/chw/activity/TbProfileActivityFlv.java create mode 100644 opensrp-chw/src/drc/java/org/smartregister/chw/activity/HivProfileActivityFlv.java create mode 100644 opensrp-chw/src/drc/java/org/smartregister/chw/activity/TbProfileActivityFlv.java create mode 100644 opensrp-chw/src/guinea/java/org/smartregister/chw/activity/HivProfileActivityFlv.java create mode 100644 opensrp-chw/src/guinea/java/org/smartregister/chw/activity/TbProfileActivityFlv.java create mode 100644 opensrp-chw/src/liberia/java/org/smartregister/chw/activity/HivProfileActivityFlv.java create mode 100644 opensrp-chw/src/liberia/java/org/smartregister/chw/activity/TbProfileActivityFlv.java create mode 100644 opensrp-chw/src/lmh/java/org/smartregister/chw/activity/HivProfileActivityFlv.java create mode 100644 opensrp-chw/src/lmh/java/org/smartregister/chw/activity/TbProfileActivityFlv.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultHivProfileActivityFlv.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultTbProfileActivityFlv.java create mode 100644 opensrp-chw/src/togo/java/org/smartregister/chw/activity/HivProfileActivityFlv.java create mode 100644 opensrp-chw/src/togo/java/org/smartregister/chw/activity/TbProfileActivityFlv.java diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/HivProfileActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/HivProfileActivityFlv.java new file mode 100644 index 0000000000..2d6334109f --- /dev/null +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/HivProfileActivityFlv.java @@ -0,0 +1,12 @@ +package org.smartregister.chw.activity; + +import android.view.Menu; + +import org.smartregister.chw.util.UtilsFlv; + +public class HivProfileActivityFlv extends DefaultHivProfileActivityFlv { + @Override + public void updateTbMenuItems(String baseEntityId, Menu menu) { + UtilsFlv.updateTbMenuItems(baseEntityId, menu); + } +} diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/TbProfileActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/TbProfileActivityFlv.java new file mode 100644 index 0000000000..700e1d3cf3 --- /dev/null +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/TbProfileActivityFlv.java @@ -0,0 +1,12 @@ +package org.smartregister.chw.activity; + +import android.view.Menu; + +import org.smartregister.chw.util.UtilsFlv; + +public class TbProfileActivityFlv extends DefaultTbProfileActivityFlv { + @Override + public void updateHivMenuItems(String baseEntityId, Menu menu) { + UtilsFlv.updateHivMenuItems(baseEntityId, menu); + } +} diff --git a/opensrp-chw/src/chad/java/org/smartregister/chw/activity/HivProfileActivityFlv.java b/opensrp-chw/src/chad/java/org/smartregister/chw/activity/HivProfileActivityFlv.java new file mode 100644 index 0000000000..dd5af7c454 --- /dev/null +++ b/opensrp-chw/src/chad/java/org/smartregister/chw/activity/HivProfileActivityFlv.java @@ -0,0 +1,4 @@ +package org.smartregister.chw.activity; + +public class HivProfileActivityFlv extends DefaultHivProfileActivityFlv { +} diff --git a/opensrp-chw/src/chad/java/org/smartregister/chw/activity/TbProfileActivityFlv.java b/opensrp-chw/src/chad/java/org/smartregister/chw/activity/TbProfileActivityFlv.java new file mode 100644 index 0000000000..524838ce9e --- /dev/null +++ b/opensrp-chw/src/chad/java/org/smartregister/chw/activity/TbProfileActivityFlv.java @@ -0,0 +1,4 @@ +package org.smartregister.chw.activity; + +public class TbProfileActivityFlv extends DefaultTbProfileActivityFlv { +} diff --git a/opensrp-chw/src/drc/java/org/smartregister/chw/activity/HivProfileActivityFlv.java b/opensrp-chw/src/drc/java/org/smartregister/chw/activity/HivProfileActivityFlv.java new file mode 100644 index 0000000000..2b4ea8beb6 --- /dev/null +++ b/opensrp-chw/src/drc/java/org/smartregister/chw/activity/HivProfileActivityFlv.java @@ -0,0 +1,5 @@ +package org.smartregister.chw.activity; + +public class HivProfileActivityFlv extends DefaultHivProfileActivityFlv { + +} diff --git a/opensrp-chw/src/drc/java/org/smartregister/chw/activity/TbProfileActivityFlv.java b/opensrp-chw/src/drc/java/org/smartregister/chw/activity/TbProfileActivityFlv.java new file mode 100644 index 0000000000..794a0a6bec --- /dev/null +++ b/opensrp-chw/src/drc/java/org/smartregister/chw/activity/TbProfileActivityFlv.java @@ -0,0 +1,5 @@ +package org.smartregister.chw.activity; + +public class TbProfileActivityFlv extends DefaultTbProfileActivityFlv { + +} diff --git a/opensrp-chw/src/guinea/java/org/smartregister/chw/activity/HivProfileActivityFlv.java b/opensrp-chw/src/guinea/java/org/smartregister/chw/activity/HivProfileActivityFlv.java new file mode 100644 index 0000000000..dd5af7c454 --- /dev/null +++ b/opensrp-chw/src/guinea/java/org/smartregister/chw/activity/HivProfileActivityFlv.java @@ -0,0 +1,4 @@ +package org.smartregister.chw.activity; + +public class HivProfileActivityFlv extends DefaultHivProfileActivityFlv { +} diff --git a/opensrp-chw/src/guinea/java/org/smartregister/chw/activity/TbProfileActivityFlv.java b/opensrp-chw/src/guinea/java/org/smartregister/chw/activity/TbProfileActivityFlv.java new file mode 100644 index 0000000000..524838ce9e --- /dev/null +++ b/opensrp-chw/src/guinea/java/org/smartregister/chw/activity/TbProfileActivityFlv.java @@ -0,0 +1,4 @@ +package org.smartregister.chw.activity; + +public class TbProfileActivityFlv extends DefaultTbProfileActivityFlv { +} diff --git a/opensrp-chw/src/liberia/java/org/smartregister/chw/activity/HivProfileActivityFlv.java b/opensrp-chw/src/liberia/java/org/smartregister/chw/activity/HivProfileActivityFlv.java new file mode 100644 index 0000000000..dd5af7c454 --- /dev/null +++ b/opensrp-chw/src/liberia/java/org/smartregister/chw/activity/HivProfileActivityFlv.java @@ -0,0 +1,4 @@ +package org.smartregister.chw.activity; + +public class HivProfileActivityFlv extends DefaultHivProfileActivityFlv { +} diff --git a/opensrp-chw/src/liberia/java/org/smartregister/chw/activity/TbProfileActivityFlv.java b/opensrp-chw/src/liberia/java/org/smartregister/chw/activity/TbProfileActivityFlv.java new file mode 100644 index 0000000000..524838ce9e --- /dev/null +++ b/opensrp-chw/src/liberia/java/org/smartregister/chw/activity/TbProfileActivityFlv.java @@ -0,0 +1,4 @@ +package org.smartregister.chw.activity; + +public class TbProfileActivityFlv extends DefaultTbProfileActivityFlv { +} diff --git a/opensrp-chw/src/lmh/java/org/smartregister/chw/activity/HivProfileActivityFlv.java b/opensrp-chw/src/lmh/java/org/smartregister/chw/activity/HivProfileActivityFlv.java new file mode 100644 index 0000000000..dd5af7c454 --- /dev/null +++ b/opensrp-chw/src/lmh/java/org/smartregister/chw/activity/HivProfileActivityFlv.java @@ -0,0 +1,4 @@ +package org.smartregister.chw.activity; + +public class HivProfileActivityFlv extends DefaultHivProfileActivityFlv { +} diff --git a/opensrp-chw/src/lmh/java/org/smartregister/chw/activity/TbProfileActivityFlv.java b/opensrp-chw/src/lmh/java/org/smartregister/chw/activity/TbProfileActivityFlv.java new file mode 100644 index 0000000000..524838ce9e --- /dev/null +++ b/opensrp-chw/src/lmh/java/org/smartregister/chw/activity/TbProfileActivityFlv.java @@ -0,0 +1,4 @@ +package org.smartregister.chw.activity; + +public class TbProfileActivityFlv extends DefaultTbProfileActivityFlv { +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 80197424c7..c827d8225e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -24,7 +24,6 @@ import org.smartregister.chw.presenter.FamilyOtherMemberActivityPresenter; import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.Utils; -import org.smartregister.chw.util.UtilsFlv; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.family.adapter.ViewPagerAdapter; import org.smartregister.family.fragment.BaseFamilyOtherMemberProfileFragment; @@ -43,8 +42,8 @@ public class AllClientsMemberProfileActivity extends CoreAllClientsMemberProfile public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.findItem(R.id.action_location_info).setVisible(true); - UtilsFlv.updateHivMenuItems(baseEntityId, menu); - UtilsFlv.updateTbMenuItems(baseEntityId, menu); + menu.findItem(R.id.action_hiv_registration).setVisible(true); + menu.findItem(R.id.action_tb_registration).setVisible(true); menu.findItem(R.id.action_anc_registration).setVisible(false); menu.findItem(R.id.action_sick_child_follow_up).setVisible(false); menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultHivProfileActivityFlv.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultHivProfileActivityFlv.java new file mode 100644 index 0000000000..3306014ebd --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultHivProfileActivityFlv.java @@ -0,0 +1,13 @@ +package org.smartregister.chw.activity; + +import android.view.Menu; + +import org.smartregister.chw.R; + +public abstract class DefaultHivProfileActivityFlv implements HivProfileActivity.Flavor { + + @Override + public void updateTbMenuItems(String baseEntityId, Menu menu) { + menu.findItem(R.id.action_tb_registration).setVisible(false); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultTbProfileActivityFlv.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultTbProfileActivityFlv.java new file mode 100644 index 0000000000..fde7b42e5d --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultTbProfileActivityFlv.java @@ -0,0 +1,12 @@ +package org.smartregister.chw.activity; + +import android.view.Menu; + +import org.smartregister.chw.R; + +public abstract class DefaultTbProfileActivityFlv implements TbProfileActivity.Flavor { + @Override + public void updateHivMenuItems(String baseEntityId, Menu menu) { + menu.findItem(R.id.action_hiv_registration).setVisible(false); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 76080dfa9a..24d4f3f2dc 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -36,12 +36,12 @@ import org.smartregister.chw.presenter.HivProfilePresenter; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; import org.smartregister.chw.tb.util.Constants; -import org.smartregister.chw.util.UtilsFlv; import java.util.ArrayList; import java.util.Date; import java.util.List; +import io.reactivex.annotations.Nullable; import timber.log.Timber; import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; @@ -52,6 +52,7 @@ public class HivProfileActivity extends CoreHivProfileActivity private List referralTypeModels = new ArrayList<>(); private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); + private Flavor flavor = new HivProfileActivityFlv(); public static void startHivProfileActivity(Activity activity, HivMemberObject memberObject) { Intent intent = new Intent(activity, HivProfileActivity.class); @@ -251,7 +252,7 @@ public void onReceivedNotifications(List> notifications) { public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(org.smartregister.chw.core.R.menu.hiv_profile_menu, menu); - UtilsFlv.updateTbMenuItems(getHivMemberObject().getBaseEntityId(), menu); + flavor.updateTbMenuItems(getHivMemberObject().getBaseEntityId(), menu); return true; } @@ -272,5 +273,9 @@ protected void startTbRegister() { Timber.e(e); } } + + public interface Flavor { + void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index 33697674bb..f899621075 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -36,12 +36,12 @@ import org.smartregister.chw.tb.domain.TbMemberObject; import org.smartregister.chw.tb.util.Constants; import org.smartregister.chw.tb.util.TbUtil; -import org.smartregister.chw.util.UtilsFlv; import java.util.ArrayList; import java.util.Date; import java.util.List; +import io.reactivex.annotations.Nullable; import timber.log.Timber; import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; @@ -52,6 +52,7 @@ public class TbProfileActivity extends CoreTbProfileActivity private List referralTypeModels = new ArrayList<>(); private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); + private Flavor flavor = new TbProfileActivityFlv(); public static void startTbProfileActivity(Activity activity, TbMemberObject memberObject) { Intent intent = new Intent(activity, TbProfileActivity.class); @@ -259,7 +260,7 @@ public void onReceivedNotifications(List> notifications) { @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(org.smartregister.chw.core.R.menu.tb_profile_menu, menu); - UtilsFlv.updateHivMenuItems(getTbMemberObject().getBaseEntityId(), menu); + flavor.updateHivMenuItems(getTbMemberObject().getBaseEntityId(), menu); return true; } @@ -281,5 +282,9 @@ protected void startHivRegister() { } } + public interface Flavor { + void updateHivMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); + } + } diff --git a/opensrp-chw/src/togo/java/org/smartregister/chw/activity/HivProfileActivityFlv.java b/opensrp-chw/src/togo/java/org/smartregister/chw/activity/HivProfileActivityFlv.java new file mode 100644 index 0000000000..dd5af7c454 --- /dev/null +++ b/opensrp-chw/src/togo/java/org/smartregister/chw/activity/HivProfileActivityFlv.java @@ -0,0 +1,4 @@ +package org.smartregister.chw.activity; + +public class HivProfileActivityFlv extends DefaultHivProfileActivityFlv { +} diff --git a/opensrp-chw/src/togo/java/org/smartregister/chw/activity/TbProfileActivityFlv.java b/opensrp-chw/src/togo/java/org/smartregister/chw/activity/TbProfileActivityFlv.java new file mode 100644 index 0000000000..524838ce9e --- /dev/null +++ b/opensrp-chw/src/togo/java/org/smartregister/chw/activity/TbProfileActivityFlv.java @@ -0,0 +1,4 @@ +package org.smartregister.chw.activity; + +public class TbProfileActivityFlv extends DefaultTbProfileActivityFlv { +} From 013c3778ae68a541182fc34e0dbf94b4d3846473 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 22 Sep 2020 09:05:49 +0300 Subject: [PATCH 092/915] Added implementation for updating hiv and tb menu items on DefaultFamilyOtherMemberProfileActivityFlv --- .../DefaultFamilyOtherMemberProfileActivityFlv.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultFamilyOtherMemberProfileActivityFlv.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultFamilyOtherMemberProfileActivityFlv.java index fc6210ae45..7dfcc067d6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultFamilyOtherMemberProfileActivityFlv.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultFamilyOtherMemberProfileActivityFlv.java @@ -3,6 +3,8 @@ import android.app.Activity; import android.view.Menu; +import androidx.annotation.Nullable; + import org.smartregister.chw.R; import org.smartregister.chw.core.fragment.FamilyCallDialogFragment; import org.smartregister.chw.core.listener.OnClickFloatingMenu; @@ -49,6 +51,16 @@ public void updateMalariaMenuItems(String baseEntityId, Menu menu) { // TODO implement if wcaro would need malaria module } + @Override + public void updateHivMenuItems(@Nullable String baseEntityId, @Nullable Menu menu) { +// TODO implement if wcaro would need malaria module + } + + @Override + public void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu) { +// TODO implement if wcaro would need malaria module + } + @Override public boolean hasANC() { return true; From 2bc03152d54298f24a90aa3db8705c0822c47851 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 22 Sep 2020 09:06:20 +0300 Subject: [PATCH 093/915] Code refactoring --- .../activity/DefaultFamilyOtherMemberProfileActivityFlv.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultFamilyOtherMemberProfileActivityFlv.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultFamilyOtherMemberProfileActivityFlv.java index 7dfcc067d6..f2f74b365b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultFamilyOtherMemberProfileActivityFlv.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultFamilyOtherMemberProfileActivityFlv.java @@ -53,12 +53,12 @@ public void updateMalariaMenuItems(String baseEntityId, Menu menu) { @Override public void updateHivMenuItems(@Nullable String baseEntityId, @Nullable Menu menu) { -// TODO implement if wcaro would need malaria module +// TODO implement if wcaro would need hiv module } @Override public void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu) { -// TODO implement if wcaro would need malaria module +// TODO implement if wcaro would need tb module } @Override From 5c95177b052c78dfff862a45a9fcc2d87ff58772 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Wed, 23 Sep 2020 16:12:28 +0300 Subject: [PATCH 094/915] Fixed travic issues --- .../src/main/res/drawable-hdpi/ic_logo_ba.png | Bin 0 -> 736484 bytes .../src/main/res/drawable/ic_logo_ba.png | Bin 0 -> 736484 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 opensrp-chw/src/main/res/drawable-hdpi/ic_logo_ba.png create mode 100644 opensrp-chw/src/main/res/drawable/ic_logo_ba.png diff --git a/opensrp-chw/src/main/res/drawable-hdpi/ic_logo_ba.png b/opensrp-chw/src/main/res/drawable-hdpi/ic_logo_ba.png new file mode 100644 index 0000000000000000000000000000000000000000..c075e49c194be8eda864b7b9a4429dfc225e34d7 GIT binary patch literal 736484 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%0D=NHg~6Xd)b50 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

    00*jC{wS&M|a&_YXD*2J7;4u<|eNv&R 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 z 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/hhBSf((-qj$|fwxwM(Yy{f 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

    Bw`)i#19&!~q}ql27g;v-Mf)7S0q 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 h$MK058siE=>@Ko#1 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

    yIyH^Gvr&gbv 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 mbiGgO8dTH#UdT)%&$MF_kpE~v|=NF zUsXu2a6u&rMHvW+Y-YPGge(Uz7Lxj2WPqGUwqY13Rv|fua7RM$-w>Cw>>u1R@n{Q( zm-|z;4!i%Q$r=FHBP^TO$P}e2t}%O-*chYFZ{=~$`^dll8(86NApbEo{jc&j{eNKl z5BE*Byl-@aZO)Dc{2e)>sPNXu+$Qz^hU(GOa7AXj$$Tuc*V}o9^gX}&{||bFUJ6oQ zDG!rT(zmB>d_5Wqh7j9gV?Je20BOOy1=bOs$5hhN;g>G-hpiSs3R;$NdHFnKH6#+I z9CNl{&5?s~gra=MZUV7+Z!o%a46e5#)Ly6ZQdJ$2t~u?8O0Vm=W1kLvNVZt~%*A~% zURfpI!T|Vn`CuX-2w*xdUnoC98&`2F#Z1se(Ptv|Z)2dyA+!-;@~IZza=jKPUha9>!5bdEVI=VsK0C=>HG2;T${@owwJ zd)Z5m_VvoH#z~1-;Pyl82qvl-&fcA`4Sp=)(=?=&k`2QzdN|I2R_W>QYSEzOF=drq zYOYx?){xfdQ1)x)41UFJ5Kz`Kc2@xB8;tY8p8S|p8D=fVt}VNxW5VU6W=QDjgkTg{ zhTTkMh3sC5&;f6KZgk=jny*}*33F_>S&%#<7*m@8d$SrTVeWLbLnS#g;h|!=MI4PW zedJF%F3jL{$o$52R$J9=QKFOM4b(K!8{T#Quubw?vy$FrDG#n0VJ6NE~b+tnUURAbY~}@FNXt2W(*!yuSvLxB>76~ z<9@K(6207UY6KqJ3Fr>9rdTdk^h1a`lWS}B{v>h=-c4mU@%n-(OK{QJo>-?e0x$1= zu!}flQ=VeET)+iOQy`r><$y`o7t1zvs1c7akw7?I-uj-Mcu>aNh``QzDXx3KOdb;+ zVyQ(xbW2krb{k$aJ|P>U^-Gk8S_H-LWX+tnEg6$E7+rI>#k)FZD}md4(x?k97MWFh zw_i7*MoC3fL}JNPm-4QBp%00W>}%U6@Mji}TpPkraQG zN((#%wh!xxD8i*)`sIA|_VX&Ig06nZp=G1yirqVS;U8l7-7Zi(`WF+)zYLKutDO0` zu6#eG7Y(~Zc%NMwkoUp28R7RY#TepH00U$an>C4Xvj4$cPAHi!o{t1uEEb!+sNRU=t-bWux_pOw?|s0~x&vKq>5cvXU_pyUDqJxVR>1WBu11WK&_uv&vc zhU!B^yl4sq`$E5u0)`a`R+Jezj{U>1_jXxB4UvDvoY~{TSasdRxLQ^j8QBDgOJ=?1po) zKM1M8Me%r_UojB1Et|>|NU_|1P8;B(6j8sGTc*#;Hk^2F@C^A%3?c2?Z+B22RxS%p}N$OcI+O{=^ z;e^{OP!TsZ#euKcw`v}JAN60Vu_ZJS7Rm$1%u1g_#uVf+63LOy6)gkdYMMJ0L4g1} z1gFURqRXl^uKiw|A}FSO6ywl(;?RVGeOM7C4Q=-!T2-k07@#q--5xMNODxYO$%5XU zPY@OJ>V|Um{=-_|wfAvPLPQl`sgQ!T%@1z00A!K)72~Q1NXr$p&0gHilJKEfwMMD~1S?#W-GT^4-p*jEk?Fz)aPgwh7pAE# zhAq)2w*2H(SykjzD6xq4=9b5I4t!Ls{iZAo(?1EB~X<& zn4{kK{G=2&j?8LFjxY+iI7V;Y(4~j`+*IO&w;A&E#a}pb>OzxS`$RJm0sFflupc<`%;6;9 ze3Ws}ztv&Cu3s%I*+iyp_Waq3c|-gd&88)01EyA_gACfjRYg|Evt`tfWsZ^|P==Fs z^)@2A6fu}g6KWJM@1OFFZe!ME$0UtV@;9Tm5VLT)L;=qU-yU<=emXwmoijmP1I%vR zZXy%C-y`B?O zB$oaRsumfJmUB;$_a@d4W7+|SV@H;$Wjv?Rc+Ykr_?RkwpOloyminD4oTx+0I*~W~ zb+%_xstUIL4u^~%c=c{az(1FjBE{u3K7`eurw6S+RQ{Ca!k<{D_vf(=qD2^?vXb| zN+d0}VSQaCU!14DCP0I=wIy1l4$ZEW&EDFe2Cq|SSnMDKE!!OyNt+jqqVbm~f}Y!; z^76!NfTrz0Iz zmt*53vUf-+_2t_&g5%R1Qu(c*PNaghhQwG4uYbsOU91^*pxaIJWDnz@LWu8Lr z#_=wTb_V`Ak?LB)0tW(wSTWH?9RqhTdVDG$UjrgXxS%D+Bve+3!JD>CHJW~&oXG0m zNB1KGy8fJ+FZNiBQ?7X2 zJ8%4Y+E-Zd%^-`RAab!%pAQNpY|jv?e4n1b>T8{q zn#+mMbot>sR60R&OP5Yev3e_QntaMdD8k6^X*^Q*(t^8MM0|B=IW&een>^_U)T z{CnW#9IJ#U&QDE={$=^BFFGVsMxwB%7-R~hpRO_7N`o-cQnSatbeX6W>84ywRKY=Y zDGdSyfRa!apB65+?W|0!eYS_Sl;(m93vO9Ch|O01CmH6kC|&(;Xs!*6KS7%JK-!V0 zHLS$&hYN$d=0min?3tnraRRLgX`1nARU~GddZckO&rc@gIR@I{lWBx%7mC=VS|%3P zmIzyG-c1HBX&nNqZXxSje#LFAqEJR4PK|O$gN#wg?gCiTpb&tDEysDwY8Q{2JZ-ri4`Uco!xC?4~Hi%TUP`4E@b5Hra;g_1a*P*gu; zEn3+Jf8Az{7tsXkM36_=OO|W2eAJ?XQE!^`!i!kPpt8L$Aa3z@MZVzd&o zt-1|v$cY=9VxBaCRa*_I9{UDT?PSX~6*U_eCoM>}An1H7HHl!U$F= zyC`7dzpBLQ-!qaog&F=$vSbYAN}(MyTa#cjXl+kAQc9^(O=Vk>EDy416mrh*cnj`j zt7ubtmwZW7FL`e1?Am2JT&M|)uGG-|^XE^aQ09}7=GO4H-px-EeV0_m&f z2xB4^mIAe>nyst#*SJ_mN@nbdy+~ePZWUyvK?_~2shE8Ex~`%i2;OVOP* zPUR4ilDT<}%ofTkE7OooBZUx2OUIbxRn|i9L_VRZ4bGa3cgT2Ve}E2#?sI`{bR34u zKVf60{IJeI)4^ku_8};$ z5_)O(J#)!DFZdr?_`e>WA)%{`qz+tbR0W?DxtzBt1D?MQ@Q^q@PyKs&32yosDvYJB zV#J`1U3t4i38`bXOq@ijZVCB9pVZvK;=fsf6$vrGEo^n%n!Ic7f6TEPqXYSQobosP z$bh9K-F9RaeeAD&ocC9kXl-&e^b>89_-OvNP2s=2^**4MR;F-|GV#6-Mv2VFB(%w- z5^J7#DbzE+&uJ8V^yg7wnq#`?2mEztXvN|w84XUu#_RmZCyCGRkJrWiRo2a;Q}(_( z(8Y#S0eyK)7Zj~)Xf=ATY_;=+IzAa^#0N|qP)WQ#5cQb&BDvlt(S1cZT^+f9vHaD0 z7es3XgRy|z!TT0p=`wgMp!Gcuam<-TpFA2j^|efGz}5^DO@a4gq1@cAT^G^oxcCEf ze{BvIj)l-@ePQCH5fwu7{`!-LqOZ%y>0jc+C_LoN2;I|H%?~6!uam|blAV92`b<+s_YNp!f*<)y0^Kze-k+dXRNEYLbC zN$aW=1h8Lj`Vz_RbbU^jVG~0fR+v>-BcMw#?t&(rG+Nouj4=weLA)5r@-qcqq@0>p48?z>tTkZvE^A+<{f!|+eyLTvF+=3s$#+J z8t6a~{cvQk zj9unhwCTsItD)a`@2zVrc+tXequfsgmj3-praWTzUZDFc_ISJ*8+C2X+b-A!vP#X) zP`v1tQFJsZ_YU&X%!v2Q;t)R{HK?Kzv+BE%7P1WkzwY*S{cdf0xrjpa5$y@M=J~o+ zBkDNc8Z)e_5BYAopaTnjnoPaylg??R9{*#@U#rF>5>S<~nw-~jQE!!94_)T#2qzYd zvppeI5_nJ1?RgqHCDU^Mcke3ulfp15E;_MM z295g=uL)PczLw`Zn+R!IF7@n)weI)#!*+L(Oq`a27=^p5r9(}vW*Vg20#Vf%p zvDYLs9A3kiVcJXohplt$&Mb`5bXDwBP_b>>wr$(CZQHEawr$(Cjd#-BGqZYT^|$j2 z&fd?yaXHP@x?i68d*W_*-7I&hFDVU+7;~l){E>j3fK~jV*>zfkpLD+hHTQh{9<`mr zE2y5UKkj?iw;Bpq6MY;sj1u`BTj}j^;ScTtKWkE$c{kQ|<-L_{TEk;-be}{11Cgb_ z++ppswmll@S@nGRXZivgb>8|bU8!KUCMbJ%tI4TB57EE&EWM;MhR{4+jGWxA8uR@7 zNmKNq5cy3(%8V%5{3K);?8kfYu=7xUz$sZOE@ZYo`(DXxN@dl{>l7^%H?<|TQYQ3I zG-I>grbWCVK@w?`1IX-mNp;4~((p?Hosa^m`}tV*0q~a@vvRQOjfta(xQ78zpQE{H?VQ(9?MlJ&*$JbXU=xF>qM{ru-k8upFY5p27zI@IFWS| zKVxhrbW4)xwJt@#6R>5B_Nru7T@e4D);dxuO(q*ogE21dxF(`Gj--%Ru6Fm2dYR!_xZI%#qqp4XM*Heo;pXXhh}bc{*e93^oCe-dBMg}*prB|yU>`B$vN z2i4t%$4}TjW^16Nla#0f&n`(`{@SO#cI}oYyWSTr-zP+BkL#k|9DyOHIw=To95hZ)pa)$Q0aHCK%Y=9eByd_ znZO0<{_RV&l#hP3KaW%r^h!HTrV(Jr4=%DG%5t5rr7oB?^$+AeBNe;BLVqM5x?(ct zv-*3AQzZTGM8^R9_fZ=v7B6aSyR?AVs=U(zP1eIFG|Ja&3B0cF0ro~nhJIVDfq_xHXy69*y7tik*fUq22_@-63?ZF$Tk+MFeV?>e8-&s}+)8Yb}q zj4faYRsL9VwG3t?focDSwN|V;CGWZq7&^)Jp3D;8#C5PIs?Sr9#o}D1PpwJYa9Kld zAQMg{aI(7>of~YR414M3(*|<#u8T3VNG7BRGHp;$T)5`zJe(w^?LG`jJa%m!)Xu7_ z!sMF}W;agIU~=92i%O%@V|^RB)A@1i*}NiQodR_&CF!RZ@F`SU2CM5aUIgF$a2VJy z;JSLd*gIy~;xe*!bW-WIFd>sY_qWeM)0YQEkQ_DeOp$Y%)9`s&;wvQc`u+VSw=z)% zQ)p5^g*+w)PX=7rMB3g6aCB1bb)!ie5ggLAr^LSusv>QDpxgRxRg?8QelAqzmng;5 z)6I564+Rj)YLN=uDR8V+*GK*o!?la`QLjmoM1i6RXcJMP!03K)$&B|3Hg}^|ErtwgFU7MLd$XUTJ2hzywh_KU$gUhtN2mY zJipd1171f+C*m&T=7uJEh|KJRhb=D8v`Dnx`5GWB8LQ?pH|M>;0fmNED8Jt?d5I+t z5t}ymRltbaZ^m+i^*yOtuj$h)oMD&P~@wwrHU={!6=f&0Sk7T5FL5ak+nd4(t1i z9jdIPA_j+0w`JVnF#V~j&E~tcy!WITa^q!oWzD-I(@tWkKbtmX59}PvKru_GKA}Fn z#`}o?k%So7GE=USZb0w#?f4)Su5MGje)vY(ylq zB6BY`UTDy{kM*0Q=GGnVNek+JUbo|JcjurMT96eTkc}MHCM#CJ9@LdTDZ6;zH>JvE zZ`#LE^NV5}-p69C0&ZgjOj{1G;t55Jr-o-Kr#0VlRCDK*xfW~oT{yn)R;rKhSF(;@ zRvzD7eQi&+L-OJc1=8wb@Vs^;W7$3ULj}R`z^?Cm%62^TTqh$0BnsvACf6G^DzaKj zZ)j;WzXBFeQRrJSyrY9osu9*no;C}iP_ej=1dWDzwwlkNcYI&NO+%E@*b#oX8?%&h zU?tk?9?Al|^pWd}PrlyAchDb|GSoxkPGD1~I=wyDA?R( z%7#scv@_fX^$)2$FXpV?KW+$I&(3Wga_e$JQqWxY5%f?D4QA(L5tk#)6>b&{>3#8W z3IhzRujEqO;;JpQb{5&h_j2}k#~Y4@LLx6{8$?9jw>jLKbq0knVX*^>$mFmQYZT`4 z5*n(mbK((gr*#JZ>!6gD!2u>IvBs$=)agq#$MJv`rbJ9zpUYufo_0$m)QBr6$fUJC zntM*)xY0XOzW;n}{Ey?|=Y{b~yVuF{d!3mqbP{sQ!%2Wp)0C)cO-ykZ687#FqOI4< zCfYdG!O}V&?N}^e=>c`h#&I3Ow$g|!V%%!I?WQj}(-@60332a3D(x*%O%y`~k|v;z z=wd~R8M9)lngNAE45U;)y3v(}G(;79U+PWN7OAED8%d)>v_h6&lfkN4 z89A1Mt@bwr=e|DRku)yt)cFy2BlG5h0vG0(rNitp?zWql(CHS)#VFZ& zHQSt$p|B%JAQmW(g1K<%@={Q)53+=x`b$X7&Yz)qY$S34w{E*au=NWwc z%c!g(c|Y4DkDsLgnZ9jR>CX8S;gY}$a;5QnSGx^09gmZ)J#Sgf5c{L{?H~e!Xp*q= z9x$ReRd{t2dP+zrt;cNon8J0FA(*37V+1J9AXgzj{l$%Cj3~x%4Dv~zkZ*Ak-%sU^ zx(?3{5c%@t4k>!ZVa71U>T$E6sEtYyc2DxqyBFLmTYzNEn*;su0vN<5qCBF$B|)5D zPcyb-h}a^*?j}$Jh=w}gMa74LoMC2iD4^%nPaE4VS5+0NQ@$U@6%b>2QB>jtmOPLD zQm--Jm(5AB+~>q4D{c5v5LNt&{{&cjxjcI7dXF-RMiv$J=Xn{2rn_lcQWsLEVBEcn zpd%p|3QH6(s9Rj1>ejw*)$n)@7tQ8Rf?1firWiugs!2%%Do89Rxw{O#jnL?H-e%0~ zw7EF)no5lp^cLxp^DCDQq`R$UXvp!=2pH`EVkmVykGTX81%QHyNR?djLB^5Kgl9vD zCO-Qsj2qg!Z~J;)Q;FfbFLG~alGm|2(E@40m*e8I&dZx5L=L3I2-3_=7)q6ljoZou zhM;OW5;wmuc<-B;Cp`1es*-O>hqoxI<`+(+IlQ;iIj5_<&;Nz`x_xL+OMFSd#*@{t z+`o%2lTQy+3g6ZL!7JitCZ~Ln{(AqQiM#W4*mAQ& zzOg}asx$rG+42`1UB^ZvLjyG<$c{hF$^1MxMq>1@&%7uKs@2~|7Q{$>z0n06k_vX+irU#mtD{_hyoYM49)czagE$Us zb<Q4@l@)M$CD;6(81E?P9f!f)3dt}bkBaDIcNR;W~bdFE6_!-DDK(=^HEa_fTe zcSEs%N8L&m#smUQek1szb`n+&mED#o`>MQu0Bo}!*+Ngeu+Z^?2wn<}SM?S9-T(c~ z4<|4dvGR{c&ZS@=0k$+4mJG=Cez&i2f0GxTK4)0($3Ef+8HdUPg-}bn^2fZ33qaa#m%)baEmf7_u&S_pqRvdR6-!oKK z4$^0~Dv5rNPu$@B=sv;jszoiQ49~(Z_oRA8Fv)wS(TQ%JbDh^ z$Jkm#u}@2|mPK`*XbR1qyz4gY?~TVDMYs-91#72CV5X=9m>HQmBM2N%cY{Db;=O=Ez?@JMG6b~&f_pOJI0sj9*|0V% zwQ_=nr|E_(kK3I5LrK9on1>bwmv0H3T}hHj6sR3S$UA-1trR=OCMK;8M^1U{*TT#= z(NWZrkbc5gqhevfq}gAU1^7^RpeUk68l73!fe~Hz&jN8Zgw9_JqLxG#yFARaO#RbpabzOGzz$--I8wW5hrZtIU#yWZYx-R|!4jRxsPktKqgM-%^)vJ8GA zaKdPca)r1;|EQ{tjVt-Suo#bQ>GJ0Nvl^nw1k=42@(lqIB;x1hU(BdDF9pmK5Y^fe z;m88=C>A5I%vlrR3VxB6pclmKxK{9%TvQGiW|q758IW5P&nVVG*goL53AjjbY}9?l zDNAAc!sA(W=9^2dAAuh@URJtwRJyL)3^Dj&RVv)X&u=d}tJwVWO60-el5WhX|5936 zzqeXmqKUBW(>Idt3K-YOCf5~vqYSAlP>%5!jpNy>Gc;W2WkQ|5CJR%152a6>lY{5v zFm7$IWY^yM)a@?E)Aneh$d=Zzm`lDIY`LGDeIL3?;LQ*p$xMrIVj(Nu%-d3M;<=fW zUn(}yR0|mlSM-+Zvn;)AvEqG>9HEX*l&u zt9kF9bQ@FK^&lC^|YB%=o>qS5Fg`r!InFYl76zb~Z{Zvp5=rJ`DySm~wZjeFl2G%2eh zwGkfLBJ?AtnB>6+Op%$N_Jn1JTXitC#Qh#?Zb!@V=h#fkM5|KrtafP)c!UQDwI$Kv z<=w!#Ah+QZbU>@%#?0WsV`_ScIN0B7(8{;~e&ulu%xb@8SY!9~aA;bd6SNsW{(=l; zlpn;kh=Z!%HXaBI;&_5o3X%7nIje~gpl(jtr*vHi@exjR&1Uuj12>P zY#9qaM9!Tax$@R;U6}h$8n^ou^yc*?y6`XMetrIW0tbvP@lWT?LpN(qlamenPxs&~ zvi?!+qh7Dr=DgVib03Ou0zsdz0bI~;E9BMtU3|)XeSI6cn!=&aZxHm=-TJBUf?3U$ zn~yW^3mG*ZghFWu3}=bB$Ib;*?T@L@ghqT&E0*6{8ii!g^ZRr=SpmrzTMJLkC)7_8 z)Hztpj+{Y-Ok^1Psj~hx~UrsJY%tlraIzX+>N?;%ui!uYthGIVFnk*b65} z&Gwl%%ry^!sydC&L4@CD;1}STQ==Qa=!abSuJ|p@M~$vz8>OVDt-3qE9Kj}U9_H@i zinnM3KQVQ36ZQVzk?V_0`7PP;)$YaixAb%Jf=MXF;u`-#)$gBGwj=;~BUbaS*DdIi+BZaW#-*n|sXr{-LmmSCD z6KsMvv2-$xf#AW*)n@f?iJYobS@Swc!sJm)u!d0c@`ZPk>Pa{5PA{&$&q`VrtRbe; z4b+`PVLe4=*{A=OV@k$6bzLsUD*p8|e_%SDYoehD5S3VuJ;2ddxJm z@GQ$lCNdus(615)Tx|Q^%|Ux6&&?vG^NEZedwaUVmTGH?x?I)B53hGXiPBuE@zm6` zFb;ceN9$90Z%L|be;hvJa7TL zY_T=^5@j=X7;abgSBhgZdfwf#^#-mY>%b_&hW{gpkNQU=&>r%T0lYX6Uf5@)LDAJl5P`W4OvBjMa~kWu5*tY6^Gfkowu)1$wA_(+J8Ny z3Or|R?G(41qtH~=QnS9u^g1f044XIyqZ|TqiBs2Ua2q=la1<*0cU=AWc{f0;?{IQKpiiXfJDnF-w?1 zPpHp8Gn1bW|14z0T0WYk(wJ-4z7MTpo}wu|B(+}d?B4-@I0*0}=+(Y^3DqvLKrtvR z%z^U(i}k9*%J6&j_xN38J4b}W`eFZ}_?9AP2>+F(2#(&h<<@%3)9+@EkFpm|6{mOTmbf)36NASW4z zILnOLpj!XzX&o)XsK+Wx7#vs^=DfT|40MQ4I``E$u5sj&UrBd31lsm^P20;E_)! zZ2*#H4y=H9{*xOvjwBn#Aev?VO&(47Za-g)M#XSwh>SLtuFsviWlV-ZSh;1hB|xo9 zgWRQw_AE1Kr6olXvd`Dz({N+(rF3dm^WE5&V0bKvMWWdx zRu3O_a`8zm)Ayg=Y1o5@uMsm^!9z_r<{*N*vsUE?cKAF@t4+q{r{34*sX$&2yPbD` zBMnctz4~U!Y3)XjJ10qnKH@=C1D?W~&u2-Mu7^lhVwO1M>`l3}vG;hzO0pT5d}<50 zptz38UP85OLlkEn`=N|!HBL}}hM)?ZLxloW>_Ar5rFaYwB$nuZhMT((7wFeGdpUJU zKZ5N6`MqI$9~1v?3+<92kbRg0Fox9vV?@^B$xH>B6vMKd-EaanKPf?ED~nvsx&^{6uM)Sk}(@`e7n@m5Fu zHZ;C1F)?0WYZ+zggQ-SxGzQTsL8w3LyM4`OQ!yDfb_xQBnMQ1Eo?%4C;sT4Vh{2WO z#RU#~*B>rjmjQe34eR&?n@|?@Wm~~LY_>}~J8qt$sjB1thb%cuLc#p^X~<1?jlfmIAgHr(j`r+1fumCO^ zqggRdZW^cVOd+bCVnlrz+z*PTe_(q!%;2{fEEkF-IdUwOwb?5!%n2Mq_6Zy@?RM7jP9W+ z1z^DomR}dWFv=lmB%xq80tO;c_QqQ4;Y{; z^95XYar)ZrF!FYOQd>iB&Dvc-w{UU%faQSsn+ygDZQTck zMyRX^NeEMj7g5x23&C^0Mx%FpEw-NV$nIKU66ZCH%XAz!>n(TOzw6Vj7tfU-$F4ke z-H(AY!84OJ#LOc^#qsT398}$XbbqH~XW4VHSQT-6KC-fSeP6UVngSVI&?%OrOy>Fy zwTfW)*tQV$g${i#elwZ~XnKTSG2 zveap6r<`9m8yTQdwEv;C&a-~Mew)I>Y}Wg{+*b4B8=JXrF=biO=-M9+p=LclJEA5L z)rG3jeajj$+ankf6!Rw%D`qCQs(DNii)Py&!f-tb3j_C)0bantzrQP7f9{Ju<50ms z7@>>Vk{3s}6GVjQ|X*@`V@>v=op`4kw{*|~e7uJ2j>b^!i%6a{1OUi>(7?zaxg3yGPn z5+5}B$|X^>zTzf#2J)TNdI1C+6k#5Gs-23OCcIG=Gcxgdogu2Udbo-riYiF3$|&jg zQB2LIT}woPlE}`h%F-zj^cbWlw*6R!A&nNZ<@TZjZBw0eF-%sq838rYZ`iIGR8eeH zqRhNlc>K@`?W0b+{(M9S5zYN3wX~qdKyDsn2SE4u62R?*mB-5*o}$S}z^-st10yk# zToyd68Zf->`*Eg$i3$`*TS9he$SoWK$k-3b8W@}vK?V|2*a|9mXam;mTQ(K#>G9d% zw#@Z#8fa+xrYF-w9qgKjX}hm9zUj0|$3yqnVdHP*cDbu0OsQFIbT<+ShxGQ5?bcm zaGm`p@=inC;90OlS;E_?pGlU~T9?3v{MHw%yUDlN%2rA~+$au-T5&AHX+QL+s4C@O zQMtkP+2on~x*Us(bB3GIZZvl>t>bfj2dz34iMiA`f0)~K_x-(x0S#P^*)JW1`?nVE znbc{6UOgKbwosusUL39dRiSTyTkvdFt=?s!Thq7h?mBwoaTm{#CWHH6F?pfJWBY6Z z)kRn)KO(VVP)U}$RtsYrb59yk>8IUy`r>$T02J`>rd`_dH{44lpceglzhs`;*`k zs;}PIW#SG>Av+*xm;fV8G90jmyhqh#OogPikm@+RbtZzE_j_P*7O-3mNy5Mh)ESS1 z$k^P)5En_hg!Y)~w(kvKbxkUDq`#eMi_&flXo%VuUxKjwk+nx;77#0?k4*ga>0zn? zAhacMOlAR0!L;UD24cv3?jo_a=x=ianzo)sD}|G?z$F- zn*-nn6K6#rVjxBccEXb^jt5-Zv&qVnCSu+>exB$rd+R?nAcy&vDf1khQXyoZBouD%p(7! z(|wL8b#Ip?Q4WlwAosw%5IR2#hFHH3@352GjZzMT>%`HMj^=09`ZR6i9%JKs*?s=E z;Qjx;az=1}QA{*%K18>1_J}1!5GKs<=+7LY!YV7P#!s(4NPFsK4{6GnH(yjY`;WZj zJ~fdunw;=|G_7_Rd#|*^n;2@Q|IIp2(Q}XCrG$y_0 zI+MI#`cIcE_~S!e%sQZ!Qr=Ap!UPtIitaPlRhoc$0=6dIPve&Y66vjyaxZkN&_+Dx z%FXBOiOmMRhN*mJ@st`panLTm1bH?avePJ*y^R99*9mc?*eLJ&6(`_YH$QC1^;|e%JgM6oF?P~=Oiwi-f1|{+pFt)6e8Pga5w1^Lqhx<7TmWcO1;_U>Gn{) zMF$7wXug^rN#fiX9Ava!=V20&e}P-+dv+YEt;yO%+>BhDod@I zT@Z>q$OeV8+6pLK@&3p!X`rK6C{?iq=*{u%05F$K(}4aqe>-g?G?qT(dALTcOruGbi9Slelo_DisoV3;?e6LeG`lx2O$gz|HZ7>C z@;=6n#c?yaiS2&%mz2?24E|%?F1nW2i2Sa_e#wiIKH$IIV=D+iAAtlr>I5<_rhJ|La!4bUv z5HF);dSru|mmQH5vlM1P_g`eqjgR)1J#cIg>?b+;J4V+fU zT%<4UM81d=K}JV}GiiRlGp%|5%x3Kd5S%FeYmJLTP5+6>Pm#a%b#c}JuGfDtgn#L6|#Tl-+Bs)P0?`ksAQ>Lw;-`pVtmBd#_+7~J~UTF2*OQ?QUR z21le+T42?%qa5J!QJ9&t?RsO_5oYCTU$@A}D}a;!**CCec+sOw)%93JNUB&6ys+Ih zG@Y$PgS?IgiBB19Ns)!-3NxgK=V~4aBGrYIc~FAGnH|z8Gdjh)?RLcrF!B^misb(| zOn0LD*r5G-2IcQVw@A-{5ZfVZ9!_uJHJ*Wtj&{vHw;VG~ydu zJo7$3gQ^6hBJRX=5X-xgyTKI#+)7DY*2KZ2aPE|MVIqo4p{>&IkIQRyo>hBRe{HsZ zTP!o0M=+u{F_(x~%aNu0-27ahN_^gvV|%Q|vJ%EC<3_6!`m1y}0N@?C{J7*d{Rg$n zAR6c%>*zd2u=kvC#K--|X7Wzyb^Bi}yk+W%4F**lTJrZ1kyk~{Da>hh z>i8e#X*gwA5LdvHVez8La4ExU zmi2kGDDJA1n%I*bL+#g7DxN6gf`$OAJ`??8zI32#%@zsqVz9}!evG5JQ~^4IyeB`3 zd5U`v{wWnwCzFVV78B|-00+9(svEO+cGYy>+D_`d3>r^hSf7- zsHO9;wMExe5(`zXcZ!xt*s>(BYqEu&Vb1J+Mh*ZxDo*#`{Ja0Bl0ciR_%u;Br{T)u zfDFL~P%b;Eu6{{zxN-KSEM#~yYEfw9W{pT{JT?~l>sTZoO{%&^Sz1tpiw+D$;F09`d7#95@ zJMroK?#-#_;gvH-S?4G{m5ZUuSbLdk$sNeHrx;?C6MT8Bko7vM)*hEaz16dhQal4P znGa(sgMmJB8`*t*()GSoyx|~)0kTBgf7R{zPRiW^EGqi~j5J+y8OIe$kXAE@FIRzN zU4wBkv)2(W*Lq}8BC=8y3b4)V!z9<5jElPMUt*p#N32{`E1iyS##EyiQ|WFN`{2M* z>I6Nzh7!#U$sPE_hTXj@efsy$Xn9}I45=NX6o%YCFZCRbP_H-Ih{>fXSZ6&0QyZin z(&WdYh^0{a?Hn}YWzBqMAyFm==ZKB~p_b7taa`aB2|h+e%jjS zvK}~}qrcZsuO*nOBrwrX)R|suK^&Im+MAe6JmFz|KOM7AC`O^Sr#)_FYxuru{=z(eLe&Gbi%^~*{N zxjo0*lGA8FN=tTuO_(9?%Qf0APJq4Mp#*w~TQ&#^qRFISJ|Lv-DO2*L-zQ69O95da zGzDT-Q6z0C`7mI?9e>tU`avicpST7fj-b$6RFtV_0>N4$(z#Ui;^p;c)j;~mOft*+ z1}B|JEaw@5!BlJ(Xdgj|F{wK_xn5p8KrbLKQZ^AlRzl8oq zxd`sk{CTYE7~X!~v)y9fgnKeli`-nJZe&CNLPKr0=YuC%ORaAEC}^NDB|8#iYlkaK zT!w{J8FiWm6Hm7AFKx4;*DG66YohD?&G~3{W^f>PwaV$eQu~!iyX8q_+~ngL)?2*V zIP0J{R&8?s+|#9R+|_NkV~3@x%>XXpnszTC;P{~LL)`Tb$(RC(iin@haDgO9RmTzV zgH%uz%^(jC=*Bp~V_Z%>=gQMaGcSGU2o>f1?)m^+CZ8a{jbrf3rymw6%D~yI-Z+dV zmYVIw9?K5xg(HL%jRaw)f&>Cj*~?jhMF1T-R~Nmu++4qH0X!}LNpr_<vChM8+>) zi5N4IUv`O3CAVjI!sl- zKgFOrhg{W)fo<5mSYBNTBuJ7XDa@yjK@bpD$3tQTVpFlzvMI38&bNdTNR*7OYCn5f zHLG!EEf+6DQ&9{$R?hbqfvH5XjcLR5QuOh;)QAOLiE1II3EMzj-QPq@CwbVfZ!^k8&O3=0a&&98~ zVGC8?pg;O(p#GG<7by-0Sl>Y<-T6>nb}Yh%hAWJwC3> z0y{#4i)k9q#ZrhFXV{9r9~qZBKwa{&_cMfVJ_oH`w-`51HSwjUZ=oz9YLx4-tWZF_ ztp#}=+c0T*9+RXiHjNVr#TkoaIjd|R68y(pY|j}~tJnuj9zx6C$)8H*yk3i@k4Lep$@58KJGPgWKWCu@Y z3%)f9RVkJ(T#X86*Z{LRnQUj@u^4M)|=*H#R45CUXOp7Aayh;49bsT?!I~Toty)qzcSPPpX>Dr;Db_mZt}< ztUX0}@0+wuzlM9dA8x8STCH2sr!l>OMe+g#WW)&CinXu-gRQnWHn=w5S4*y7e86A` z$*@*7%|s1AMIFTun1Qa?85q{i6j7FiffT-dL#E3?aJ_n_F={wMxPWtR!+~;=eiHkV z!Yn)3)w~lTy&|CA0srp`oAvG+vjt6akoAbflnCj})LP<+VER`(AGFIg-`n0fa{&r` z@bH-6+D_i@64xH5hxMoNbvT!`t+?5M;_-m*ym_^Ht%ZneGZpHL2|wqGg3=ER6V3JI z7NM>-sDWXEdtGw7oou)y9IYOc3G~brxFC?u2uOW%xE{b=%}&dQT@!s$-kr4064aFq zgzBJ%4Mm)U#Cni(Hh;SUk@ge3V513#kSbnF<{4%VK#4UZE^(3}T$Sdz?c$oP{-sZ& zX~vsRK25)J%q_FceC$^lZ+_*=mgh}A_s58x;U+nZmdoC_uE(|bU{{}o41XJSZIJw# z>`q5>RMCn%fRc8`9iQab|mkqr2K$EsmK65 zB0I@QFS^YmEYG`bdhj?Uz1=w@?&627icZgX&!ImzDhDQK1i+BSA#I>3x!;@7xm_;s z^$THBOiUZcuDs9Ls^2#iB_k$At9V-brE*cj1o)t$eJI_e{0YGZWG|& zSLHXG>!e5RwJg7=T+nx?WZtcCfSkyx{G2ttzhXs_{$!LDykLVM0{)5c#fZ>4>D(2P zRwgMXiAFKEz7EF@@7#*|c6`}&(83Iu_0plfxl36Qs_L5nTN0g();f$-f6<6;wmXtj zm3M+HX`D_|$@2}-{b{u$n=ov(m$!oQ#CmaQk*nL#(fsOfa{XTBx#FM5sBpurDG81rcE`au>K8(dPtEt^jIFNXKf zL#Rq0g;F%Wq#Bt{#olzI!?u9^tlXMeFd*z+|BL}NSVo}2ps~IF13rd@`8?Te3PZJb zGQEP*yFBnLGzp#P4i8|F@_XS6+BEo^J&ByeLG@Ytz8yZ$gay^@#H!N_-UA|E^p8a7 zZyVy@=GxYE{Wm}fVzYrGdCgGAOy8oh+NH>ni!_bPx`Q9<9!Ln^l?e{bG$s zKpT=esIgg*evHy_3y?nT&3W|dAt1bh&L)h)!Tny1pnxzOLWUm_L@9*!r@=f1N|3Mj z61;M?7ELDCMD1YOiB9d^W7UMC)1QM7uxp~nmn|Nqy26ph-C6k8)# zA0XW5rljnbf7G&H!3R4H7FQx_KK?{0+28ZZq}kdu>j4mjrO)fOvfK}eQi~HyZubNn z2h8uN-D0etS;djwR;dd5cV#l;dUd$$3|?%X+qScfpvz%;ddFG3rArng*eTZ$G^CTW zc^pl5%16sTlV$(Tp8()zpX9q|Rx2PEAPD3D!KcYWZ~c$tp{~wr25pN~7>;RAZ{ZSc ztjB%iw4|p25bf(Y5p4VR8VY#7Fk-^z*Hs)RnSmu5{gqE-ng=sJjK>)~Z43T>jgMbg zNXU7^%bD!z8Vyf~Zd?IRCnw|*3#YJo z${eh78HzH1!u22ll4Bqs%P6EsdYq%3ooAbf#Wi={uQ9wB*gLS|y>;A?hCe8gG20~K zP$_Ap7A(q1__b5GC>Nes?2$WIpZIDaU83#Pg30G79dDZFi{z=;?(O`ILN3J znU_JQaM;b63p>W^h_@sGH9ouRLtDTwYN`ID(Tm-_O&%CKyfh^Xz6qw8p!ifY zmRJw8ShXcpl)r@&18`~^iXKg>n5t8e+-IM`UO?}Wi1$@$_kGvcIE4oGF9S3LWdTYm z$0vaav5-Kp{h!2yejpGoB%dW-sttv3HO`b}TC|zp(Nn(M{XlLc&$i2R|D)u2lb@Qr zJv29k403{k)>9Bup7|6=%Dj}_P#h0Qsa<{;g4h5@(}xJD#sWJ+KD|i6p%|MIe0db( zPlLBxT#tU59=C;IEO>AUG?~}|3(c>}-!?~oYg_+`OA%=-<%^d_;#S0u1}O1I52CYj z(Wvi&RgyWF{nDP9eTir&W$P1EpmtV|iBP*1NHkYXF6hpF!P#^+t5?*;1_?xfuq@di z;zf=O^iMkkR&+=&&ac1~xgARfG0(w(fy2@stquBPq@s*prJ$-K$4LqAuv>kPs>I7G zcEo*MI=y+J;}(u`P!MoeKy!GV5UR?pGrNL92H(1xVV<<7KqC}ZDKbH_Ze`*X(3XKI zl#%x+(M1E6O6#22Perev`TFWpC7fOz0MZ;hH4A&{ZGy zNO!Y%T)TeO_F{ZXbe+TTw}o38xW9eqpm(eS%3A53iM(iee&==f0OY?mVHuLcrnqXX zgmT7W`R+-}UbUoi{O)0wmraz;0YqNVBp0#&zJmYPE*^^w{&J=6{gR8e0ESnE^rMQta zYEhBq_SryNJd$+8>XbkyJ)2eiG1FH<6Id_Ywd@wY=0#_SrUvtLdaHx?_GPE^g_#N= zeXhGI0#*gKbBn%=AaTJR*fUisfAO~s!?{vE9MCoU%QN3Es5ji9!ox1o1L&jlFVPKq zQzmFt%;DfB_M=r>QZ2L>gv&$o@vRd^zu9|U-Lj(cc93G`qy9U=h*N#UAL3W_$5)t)<~`TG)Mb%q8Hg&5~Yhbn{_Ysj;cWd zd8YUg&3`ic7-eiauZmB+FEgwW)Xw07N!-{G>h%4G;JB>Y`O#RJU#Pc<`U_IT^+kXi zc!ak}gItCr;;wd=19CgtoAt{uMM}+SzJv`v{KK;uS3hCHQ?c>2@Y90~0m!Rk&rvAKK-dk!uDj$ikCr@?BH_5+OyiYfvD$zztl zJOeJcMRs_QgvL%%H^#c%q%6Wcq=HD^5U(&?`e$x=a|^>RselTN=eBE7Lc{KUYhB}h zY+C*1lVna{G#pqy-U^{G9QBg!pqaK;UI>~-V}ZtUT2{hbC-A&4Z>+(3f2MU#u2E~y z?m%<>_bf$q1Fw9$$MECo#j5MkJTv3!kdk-R=HBGelBD}Dkph|)p8=D&jN?oY;`c6} zsW>FhJB#35`wP6MS79N4aao4n(s*MB` z%Nd;UTtveGqf{Q|tQCDOwd-V6tBJ&`o$E-PABFL=Pd*J9zMgfh35-tRl|`hc-n ztODeXF0*C&7S^PITj{CzvFVkX9@%OQ)9}MH!`$;vo&DEE( zva*z6KBAbO3U3(AI2@Mj4)M2nCKx^YGEoQ*Q+=PS2!9#049;eKcdTL#B8tOx%K3Dl zp=hSK@1$47##R7iB+{9OTYN+jiA0+qP}nw!2~? zdM2j(e>sn5zwO+)a^<(&eDgsyVp=I|euDn|-Cy`os?qGO$0YDvbG5!h!RRBA-Ep`J z7UG7mj)5|EauMRL>z}1G4VfXvT7IOmBt`*IXo>Pp-tDBJa>3iyjlRG)C?a_>!$yUg z!a{BV7*4tgCF07zW!7)?j~e1{1e>Bj8ZFNA-)U7#knCkN7;v{hAAV_Jc^7AxQR!uB ztsx!&fS5H1p**&h@PHMRhRh^cKoJNN70;Ug_aRA;7^ozyi@X~9^}s^csdu)!D+v}s zUJkp(t@hSiqy1U=pxXU$)5FcO#*oNVvP~y^eR7Z@%am9wNZ1x85p20hVX_Q+H4?Y= z`1%1t&JNX}Ii~d-28GlFd^OkdGr+bjrQ2?KbBfmE%$3SAEaViC4>XGou`!eLckhVB z#2nkG+XU=s0EJc)f++%2skL@Vn8Zef)&McnlESHxLR>S@eVtf;S~#ne8$-Rmd0Fjz zdLS4Jmyv^B6yg|ps*8J^8;#g4?aiUe1f2;$p_B#lgmuDgR(yj1T3OEAf4U5kIyPaF zxrHHty5q1oeQC2`0mYc3o{l_1>4?~oO$o}uKs(Mc1Vg{LrRWUKFNAjbhR<%d&zoo> zkepyKk2mg&;|YJR2EA&cchfi63wsl&aWKR5Y#}?=xc>&6k)zCcf_BTS&H1RHpMiJ_ zl{f@q=qxRm7^lX(LHGoFK2fH96>nT44)GurDx#WK+@0KG13)$ldR{2-AH>u?vxvuY zkx4{q_zKV-dH7LrK?I|5S7~g^dq2N}kTPgwgv&*A1)4Rvl783^YWy-LCm&cuO&XeN zT~~Vm$Hn&JVYDlWBTKI1 zwm&$KduGm0;{zMnHfFbSPsBAruCa7Ul4U#QWKejqg+gt5mou zka2yAeofowW9;V!4wB(i35+&#qQz(5OQ*pC!2LiOSqP)#&mC0@c1{j%*^;)ig7BYg zcsN$pO09F#6_yGv-!H$`ee*AS&?GM7agi6w0A4FICNhWA-{f!qcznI>0ohlM1-&;Y zmez4=Kl{S@YV^_|aL2o2x*8s_&im?TvTv$j2gv_$MPj*Z+CQv!{ZP~*8ADpa~y zT5dNMEAZ^a2e-a*&{4G%{z}ub08nDUwq#7Qnt5)cnG^V=fmGlYQYeXk?gZ_Dp_-5` zjT|Hg1i=9Cc1kz-XuH+C17#AnJbuEUz|c9d5y0BVK~kNdk_G$<{(vIGH(?DY;A3j6 z#~w>(Stc`xMvt$s9^&;JTUpU$W`V3u6baYcaBU!=%GCxHVOsQ4CR#!W_JbM;-hcZb zL)VI*(<_Y0BX!;U_&7f0_FNt&d#~cK;=n5ZYfAb|FQxf;7xTTKtKNPdvb?sAiM3Y% zrwx8C;Z-^6wnXQzjw|oSa~ak~{j=)zknz5r4}~5md&#sea}SP-Z7-%k&AhBYJI4wd zm05J=?U0kac!x%|Nq2nBR9WxtIWX>AhddamoJSaVOoi3=q3a1Kx#{;LEwdB){BWq{!u=7jl=^wFAx5^~>U*40v)!u6vLR0c1ruqOrxugI*y}K@m0_o3-Vof8 zyuyD6MI0;J9f8{un}t<`22e%A#m)O(^78FFI4ju*C1MRw)kz%@Ym|aX{ErT3bl+~I zkfCL}C?b?!lfzN|k4f2@K#>fWgktFDVey1H{tU14>C_CL^+Ef0L}LWGD9KHA=iQsI z$0J2UT0;wgD*`S+v^u{QR6Rda4v=lfE2BnBCM5rk+)fA+YxnM_bdT2=r%p|XgiWzH zMFVS@2Q;acWrf!9Oa^LOmr0PTb=xtJP$OBV46I}R1T%w^e{qgC6S9C~ev&-;ur&cO;av7vdKAdra&eQRjLy?#yR_V{ zohxAFYZ6moMkq^Lf?v#K6g&GaHL7%26mQ=rm^wQk?13)Z9S7^!&8ifZ zCUXXx}HQVn%23sZN<*<|n_&^T8ySp#Klu zEkdR!pXodtZ|8`#-F@UgDXG#zL=s%+0I46RuYw)!=UyDCkQ-rpmnk(8E34L8t=``$ z)hEdA7-2BOP$w^*vGxNhDa6q_IWj!tdz}0}*X%cg>(v=px+=o$I+%_{zxRMz7y5Q7 ziBrfDwKXKNRj=v0CVpoHw6S&xxLYWxk*k?pQy)qhMxMXDSMbEB!pk)__!QC3ijmiJ zI_Rf;?U`yKsy35wUbHbctw(m?Q(PK`%m;{s0!CP#?FX^<5?A-9e+!@Y#qf7iU^GPM z5paZ!QF7StxOv87>@Aw_I~1#WXU#^q-vJutZ%J!e2)B%KVt()f;c}*4WIZM$LGN*d zWKt}KwdsJEs1WnVpAcxH@>a-m;XmT!SL;(wn&0pubJ0fYRlwj0nMG@-(Ci9m{Ox-e z+@XFQ<`2l^@3Vgp-w7U(Q9FU7G!-PEE+#BmWNo&VMuW7f)f6Ch`3w>2pa$~9=!+># znEj*0a0}rqlOz=M0#z|hEQy8_s&rcp(-Eb)-uF_p>x*R~fze=+oD4fAEbS|mWW$Ho ze2w(`I^83uL)KVCt2Uvm0+gAtnBwMfE~JK|wCv79>ZMiQdqbLZ93xw_#y3ad1?Wmx+Eoyqr+#)Y&uM@;_*HRX zq*T0IQFU!C0QCqKW#VWY*Rx0qQzR(Q`_L;^+|E}QIj+OYC{m8lfQmul1`j{=pgRcx zvwIa#)U0uBf5f-R|JB9*BNLoFt~-gN&k6Gv^<1YKZS{&huP>;Q+&5;GH66G*6p;8^FX?yAek72cRt`4g}Aum7T zRjdh;`mo^bWw8jyXp!s0egC8nR#75=2+ENey5)ExCMGC15uQw-T1+XH3bEKzOJH=p zVi^y(ia2y?ih^3pMC8LsB2N4Nrp5oKM;ZzE^1Q~{eBrtD&Ld>OQTKVvaFCZwdc89| z?L`B`+dRaF)wJKcS2jLQCcoPOfPNl5^=%?hxViDWx~d)reQvQ@0SiQ!rZy5S1#u=v zr?)A$?W5PQgOf7_>Y_$xz^=57r>*9btV21GNtZWlm5G8uu4gXF3*Lf#$boKl)8hr0 z;CUL>80f5t$7-BjbOK6{PbM4g8s)fQp|Nh!HT7P==10Iyo5Yl9%hV=8Tv(T`lDsv0 z#Tnw_4!h=SeOck9Z}3?-)@?T%sQKQ<=(m`KG#tfb80R*=XrJl)iN5*#tjc{K)_$Uf zR9}SzkCsWAZVYQpJ_T(Idm83={b8bjPLb7@>67~!qH6zR35WrnRF~sB9w14+<<{>* zdgPa*vM9NSA{4hCpui?9DVk(Lgv6Y3Ek|0&K?4(fOvOM?+sTlUzdbRyppqn7Semlo zB?^Ml`c3&uKpX7r<)_>BWVkUbG*x!2lu~*bq_=$~Q>#?pK|f{Hk&To4R+~kc0$k)J zSj5`3tI!(6L;ysAjo)f`*wy@gwCwqMKk0m~mqwVWbQVfg#6bK@S@{(qCDW$&a1Q@H zvBLZDlzBFL)=Ol8c+NrwMS*z;*xF%es~fx-gC|5;*qNY0%LuU`PKQKrzJ5qEK?R~M z=YU4PyCsL}&QH7?=BFV-f10GqMnHHoS#$+UmD+i)++(+fQ9;XYjWHcg+-wKOxWB=6 zsnu+8n-t9=vE|yjW4!n6NMJFGWjgmrlGJr8h@(bQ7LYZ=%vI<9J(K-2p3C>4Zd!$7 z=4MG`H5a<^GUN63{NeKgT54w?q_iV22BTDeC-c|uTX+(j#X=PT`m5zL#&dwBg@IDF z=mNxuS!5~-RM3Jp#*D5L^>0OhhT&LcEkcQevnUIVxtPH11ReJaNotnU9fzgG=)L5Y z4(Q)cJwI zFjO0vEzTPQlL$~j5(}r7@qFVNp9z%I+>YzZ#E|~pE{c~8f(`ZCBP>^~TK6M!EUZ{B zTD4b&Wo3c%7tjk)6!k@9?o<$*o!VIorzt|}m_Xa@_5)8(c;BxrRq7jf0194{tAzCn zpSv@>_fs@luW|R2-1e-)GJu1CT*qc#qxIaoO>yfnCdG<2;wO66ay^)BuU$hLY-z3SRuGQ3rhyb}qw}A2sbKm=ygenbOhOuTT`=@VjJmiA#P=Gc@%d#6qT%1Hbvp7 zJ#^O`7om{f?*Yz%`65^^R@XD^Sm|kKFaph6jcCS%L>yZ9!RJ6E4q{t8)gVB@)1P#G zf#Mw`vu!=;LgdNUCXc^`ujyVmW@x0BT zN)q}L9n9Pd({=L@*c5_KtQ?+-l$Rv6^M_58iZ*zVwM9j=%~rC% zs2C8uf0aNxwMoDl`H0$N8F$1tjVZ%@w6}c{MGA@(kRxZP-b@pvz4k`DFRw0GJ=S&_ z(FkZSoZ~$NpJJQ_6k)#LMT~v1$IGeyX}ag_Jk?g`1I^awTD`(hQf*0kyuA&&>grhe zPR!>9R2jqPobTmyJ;5(wRKZZ;0*-Q@wqaZ(PZRX^T2}Bpy0t(Di6bJLyKE3y8K;jDbQ53Wc zm+5UAn$3AE)DeN%^lB!2^UuBGPyA+^A!T*X!%!(wl|xa_TC3E2y$;}Tu~VJ|kT8>K zKw4HLSyAb3obWE9micZOV&DNXSy*un1XNb7WQP|1w>tn7OgKL&iwYY`o8HAcpWD(~ zMTkXd6%LHYwW%V`J6_9G_x;0<`@q0eneVD_MnLbD*^k*5*qJ86CLkc<&#hjrC*7xB4oD8B^}>GHkZx& zT;JYUtnclL?8a)3IA4wX5Dcz@dmkC9XJe{Qrwo)4SpXoN^YJj=t=r+LTeInov#aiH zL}|_OCIBo&A)oKw@QbQNjqjYql3LLeMw|kee+3`grsrv>t8HXzjbIA{Zom=_CcO=r z=30KZi=i`Y*sZ?Q&fT7@&rgm}lO*UBFmwpM!WxJG2a9bAIA$cqK)dG2C`TDduWP{E9OOhl zSNs?+^_07wS*sV1U3;|2pvihhpm@%u8R>(G7|ivOWvU|p(5q6$!DdmVpnm|m^i1P$ zd)AUlPCpFGSOP%(l{sEE(fAT{EMc$2)8YWDM$;*b{p1@>`o3}fr!3z`UVFcg2!kYO zwp`1Ul%2HmCvW}a1p4d>Va7O)2tdBo7+=~o>uMRp9Fto)B-iuI@Bx{%aML>VM;NoU zeNPT?xMDls-%dK;MNG513*f^nF8=;A6X{i{RDT}n`3h*xejBGzbe1m`m1oImV8^$L zL12u<7Cc@9bvKZ#^(BNnU+UHvdNIhy9Xk>d68(#$@4l_?1I`RxYaCv2p49IdqHSKn~sOorT zW{Er-Z))<{;~gdmUR=RX>eSbwzjp9P+b3!$XTg$9Bgy+^!DAFCM1}(JmM-7LF-&~~ z^w+gPIbt(aKxjk-Bab=KR@4*A>ON;Z`Mzb+Y46piv?^O5DDbQ*?7VIR|GYMNhKgyp zQ)(JaDIjE(y$a|HF`t})#EvV3KDP!x>KEE{_akcReQ&j)p}eAlBAtRxZT@(cK5s(i zwpC7;8T zE`>io!;T7}f>Z!FQPuA##t=~)wp-<|4IOt3@i^IUk`?Pp#w0_k8{6F5i>!JKejlG} z`rKjAxg5%VegEuj8m`^DuGut2a<# zGvy2=%g|I^nN@?gM9w8{;<@Vk7hYghA1)}TMoQt#XNCN(f}K4l$2nQmvzSHYYVDM2 z==v_4hX3!#njR-LmiEQpNIR!;hhUlJLry`@=U(p!@jpC6zsUT-ebz11-$YXIT3yE_D?DyDRY&JEh!P!R z&tNQ$4Kxs8`rPV#QFlYAHZRyv;C(CCrh<|$ASMzj!2}Q_+;BkiVvAsU9<>2+o-k0K z3CGhHziiL#G5qT#`}3^YoZpiP-{1#Do2&S4#64sN)^MG>G>Tt+Tt^Q@w+O%y*duaW zdY0|Z#v}#HYEYBjQc4rB>{g>kx%EmvenLKk0cxlKem}ob@rMwROi?Y$nBld~p?{Iq zXdKpyS53wD7r3W(-Y_5USQ6wb*_}PnBN!FtjOg5o4?~94c;tkTz7`uEr;iwU0TvB; zHBLFCi%`NX^WyGu%s*J_CVSC2J4LVP~0E7JcqIjfu~M1^$S53#dW&lP3sJ7h=Y~|0)+Uf(TMN;TFl{|3U>N zr372J>xZ4nst_2QkxI2|C}+6oF+cW#1p_qMkI&?;t%h3~ATi_An3Ws|^6xw+Z8Z^q zx^TIhQc#$2KgCb^YQAc>zJU&}1Fv)YtL7^&5OH%~R{`*ZiNV6+g(PVlBd0BTH+9U$ zQ3Bxtlj8VI>lpQy0h83?ocrI6@{->pXLMfX`943%dYXSJt)Udreq!U*?4Y@=p)c& z!dC5n;#ay(4t!thDn>|S&t(>9Op=cPHIh)chCZh~d>M|HOrhu)izxIidM2dqn9`g_ z>$Yh}3`FcUaM`Ljj30*KyI!PAD=Xwv*G2tV5-GmAd^?|DZ{8+fu2+xiNuUVPMg@3} zVytWF?f8fmPX!zzV?8WQjwTFL|KU4x5eEnzoY8sTa@l?~%;2v2 z_F`Trg#6Brh1szt?f>RUF+Uz9p@3QE`01S$aL|Kd5DyrPLw);aCvIfSLOr*O@41tK&@G_xaI zg1)`<$Szo&;+%*pMeKpo##dHia_2A>6=?%T%dmB1{OAu}y~7$D4%W&kwSTKkx9zdM z&MA}41_BMr(z3Ji`Q7|sNqGK>iTP%X(2SzV;%sEJku%_PP&qVFyb_ zMt>PwNYd0Q4>>^Y6efb)E~P)EO|sPntd1a$7kz%MK~e0~v_md5u$gKey|H&Z$~`Bx z5TLJYhk-X@i{m5e(^fwk{(_$4q|>DFnoR;(@;`k3zqZUezv+)IsHPIFxLo@pb0{P( z|Kr$yOxdxUGWp2PZoe8M#+FO;5V*|*%kP@NpzLM8Eu=-A+)jB>1J3@w4?w2Js8FwH zdDLwzguj#(Hj#h0o=}`bKggaLZy*n&WJC_-B=6tYuW`_72y%1-=t8t%bg>KwmQBikM~;*+zRU_&C*@_IS;&+VdSQNL+675I0oC3#`!LrUXT*C9xG zm0(MpvTaT`QIN6z=nIT0>3MzZhi6J59^~{wN|NOW3ic_OTaXrBYwzR2531jX=dRwb z?S%`y!2lDCno}^97!W$XXDKN*WY~@PK@Xsrnw4r%f_Otc{`PlQH(M?j+FX$F{hphx zE37rT>t*re%0XdpWpMSp_@o%^*zUuCh_U2C7@0YtQmze9?ih(8oI*@Qh3CK0!3X*^ z&OmS@>tTN9Zl$w5b@?7~8In9vWr2B`{G17~fI7f1xvl(MzQ1vuW(mX~0Em>oh{mEB zb)Wcn@e6Fm6`Z0h&uN4PzkuysC7BlzzbYlz7jN9*nBU_mSK}*cbFOzM@;2e3MMb&m z5@BnWf89EbtKZb|U$yZnTagZ6f}J&@rA;b!Roa#6^*#f=Bq!EIoQAY4 zZrS&g_H{ws1eLY!1&#(Hv8;P0O;(@P0jdpW?vHsJX!KSyfp_)ns2`W)82a>@5h-4( zL1Rcr9)c(jpw6S4kY%DB6)rfj#iG63AD4+b-fI+P$NluXH(c{x2YB9RyU*0P8n$st z36?y`LYZggF%)N+Pg__hs$>oqtPlrKE%55JIS~ui*Ftp-+S9_S&w=2Z$N9&$-a{l4 z+69ChfW{>z%$_%7HlLTtD|A)MdA9VW1W5Lx4KA#eNy=@hIQ0aGBHWq5VDV&H6m)$A zdH6rG2H$F=;xnRCkxKT%gOJ%4F;qfDo(s;@<>3WgY5jJ{fut+;pU*42iHKWs9BiCM zRz_Ms-=W>^GtsVakMK}B4Xp9pE}@7?Xnev`jACIsB1S2Hu<)}B?D8%mY3ER zr_NS8qch1gjpUmk*8EFctAtPJu4wBMWJuq2d+xRSfK%_t5dxFA3#%rA{XF42Vo33R zE?o_3>JIxCmih)og3}vC$r#P18cAbg-cJ>W84Dk0_>4t(rnT0a-AG_R2rk*`BZQSF z5g=RN(;BhkdXtf|12o;o?AFRlzW)sm_+|7GBe%>)4(bC?78!fcZXUG1y<)VDcodN7 zd?%^>Z;QJcz=N+b%)6=eyJY#@TzvchxR_W-qD)6rsCP%p#W8uXSe#C7tkB2ve4TYl z(%%>{;D{8Q6y%xajRYR0-{0l#2J328g!x|k`fRj{MSvPO)M9Ah6Nm)6siV?}=dDYt5;u`QGwusvbvfWpFp^Z1cWZbz>^VUIWn}oAEs!L$gKJ@JDqf zO_7_kWsU%ZU{k*x#~%f~yGI_mAs_&Rm*?eIA%V5xd|$J)xzko@QO{D#I9i*?se5ui zu_eeJYtMmekcf9po8makGGiNrxGDnzjLLwU5GyoF%9I#e2)lqIv(7ovI*u|GeCAe< zTMG(+yaqDqU_^O%Rb-dG$z;R=YsMd&&GD0dnF7rRISN*j#fUJs;(;#S@&r0)(kF&z z`UfCEggvAs*9J@@W~ZrcCZYx-Ne`)Iw7Bf2#8Oq)3-KazzOSH|+}>L&YQj`rOw&f} zM@|}lswwfYA5Z)-(DS;V{c>$e*f@LKn)qIy%hk}oMcNS#&H+yj#i=&#ZZ9Q#f+UNY zYyI$}-_eg63?b1Mar+Ou(o*4AaP=5@4VOnv+F2(0*()}HbD+I|lm{0i`{XxNaZRuZ zM^S_Uyg2sq2XAH_S@H;VYZq#MMz`T0#~$^i21*;z(LA{E&JQ9a4OI6dl;U23(3X8MKQI&<3(>W|*Q@Z!H5C=QG^?b)B3QKvafOn$8 zOkr7{8K&PjNs%`A#KWoWb<(UB^Gr;s;0=X-af7~mnF6_l12sb6eN+$;Mv?)=C~0Ub z(3!1tw*OwNj@yZBJQzeg!Rx-VL59cr000mnjx|5Mg1+Ty^CkJ>rt%TKwGLx}m6`2d z;JdPw%(Q+^C|rzeL0QaGv;EL;9S1||P|ze=#b0nA`CzL%k&*)mQ!IV-ko_f-9G3Q+o1lCO^3XQBkPB{kznAe$MKQMxX zlM%nl8i}CmO+MlS3v*hl9+HYD)5xFcsM?@auOQhk=r=B&g_iqw313pn(}bPG_aj>K zdfhWf2`eMSPh^=y&BCdpT$AIb8Wmep^3D{eu$-<@ry9J*MdRgu+;LWGbqJ^_O3o=_ z6kwubLN?hx!!898wAv$|Bb80K-o-yMhh@=ZvLr_-6j|hl$!{Xx>91sep!RQ^(RYme zHEnd6bMU<^DB5rX+!Ia*sm;3msyIOuLVCxd1%U;DCYU~6{nWp?*k)NAUPhtY^AH1} zCVID-OgfS=f4HM?XNp9OX!&y}00ynN(J%|qHY%!R;@xV{{0{uaclBn;SPj=E1lm!; zn#sb>1MGb5eZu-jfZe$?g5+)q*;S|{KE2fc*4+PZ`^!x_`5{t>GB-0?G%^x%-FCHp z+3xy}j+^d#zPPD|yT#+F`1Z}TrROt3n@yXCm-D^>1A2KqTC4_nwFn{7w2>OCWBC+r zK=(97QZQ1-g5GZ?x4kFq7k|Ek{Cn6w87O%x&0qtj$Ja*N$aiFONlOgC>DS#meXp6m z!~vJHPHTZ29)Rw!$IQwH*_J-RaR}Q7L4yOsQ&ly{8>3Nd`>NLG|FS?Zpql};^kZ6&^$#J|1^_~f4+MlMMhs>JS)0>{> z@={xy^3Af6=_Qm@t=IMm+J6>R1iORv^m44`3>kn*RVvKFNF?Rm-Xq;EIV1ic6P>Rh z5IKm29BvO$NZd%a-XrUY5uILO=N!UcP5xtbkK5Yd_BzW(!!SXII6e1~0)+_#I0R^f zviqhfOU$xQy>i)S%go^Z};Qs%>5I^dxegF7D; zGdgue>q_kd0u4cHi(M>5`L)EL;$;TSz*%j3F|uq_3f(uc+poXQndf=s3Oi|uoXFV; zvd3cy)1Dw3q#V>|c2I)+lTX1i8Yh8vt}V-2BKvVS#Y{n#;hw;GW~SifC@dy797IZE zxf)=Eh<2`olz4xxg8a9nBo#{=KME&7!fjy?bD-T6=wPI{Q$Ws{$4DKgu?ad~4^7AD zYC>Tt@iu5xQ2eL@38j_jZ;Xxiy=DY!wLu}-bpt_68|PjjTQOy)e44ZQ^j}np;biM} zbN(V!dbST6e0%1&glnqx%1Z=l2}@bxA`(ztu%`MiK#e-ffI}=9uc8ggV17qc6A_7! z1;uQ~V9yht)x9eoB2~66Ny{T0%UT?tNaeM6a?IALn7u5uhCi6JcJq)N?GxTCU33faN}Q^810cKX*pO|Y~R zr#cstWC~<6dfz01E78C4!zyH(#m)QF5anay*NjO>L|$It;)y{AhM5Ia+EC>BC~8LkRL<`&enXOrLHS~}1=`Q+9p0b!0#^%srKT=@?Y+6@wCj9P(7Ii&?{SPTl) zn?O*$0!HG7f&}PI|9bX)Xc>RwGjTGVBiqwP3X7 zCJUi#VK&`He)r5vAz8AHmWiv!zxx+hzs9BLW;VoxX7iQV>k3{a%%tJ1m#4*w_kki>)bRTv z^!Z96q@@PUlK>n2#&>wU2@7|CJrtgso!;H>s5w@p9wWG?mJQW+;j9EsuXOcxvOV7Q zoJVK??PqIz%JfrBwR^!P7KbB^)Y?*7%NmAOQ@w%>_k$M*25-~V=;u0Q5zB%}kEWus z)B0z!_rB?ZEf*1Fj|f-a%c{}#NBM2KW;bv_r~U(hfrm$#<1_dCT6P~eF2er1%va2` z%9)F?-uGqAl9H7p%DThtHf3w-=%S@kt%D$9U(C5NelHM74BnRKgW^F~N%E@wB2=@& zddpqz*>+lmhbQI$&sD>^=Kwre<0phhQ}z*T7z7wl$v!UxI@vV#O8CG~4E|)7OoEk)4LewBFlKi`(YWs z`e5Ly+gJu#^Uvck|6YW!IU{eU#licJ{T)TAwMGVEd@my*O{DX-z3PzTw5FrpXAzZc ztE!R^AcqS@JOCznmTSN{5i<-AQ=dho5P?ovh*kSjk1!J_?;&yUE@Yv(B48fuTf3o(aZAo8e>9 zQeW@=sHfB&_Y4^3z4=M*XN_)8I$HohN2!0uv<6}ALijv}Fhfcy%~sZWt<5RN47cgR zI4^Dx`HO)xKVhwV_0na-Ps2FvV;To4m+BwFV`7FFV*!*JH*J6Q18j}cfBXrgqUJxO z7L_KwgcPbUG#n0Q8Y<^0g}&fIKp+AAOEghp({0AkQ+D=<@jZONXFHNowQptkLKvb)=vkMXqp4LsK zm$f4&7V>gX5#&cBxKPJcWPBmJj1wZ{;`G}8zF5H0lv=rZItSkDHSl@i>?gF-Fr?K`YOyND7_5L8>2RTJaR@-#iI0r!P>GP;K_j%Of*ypPRcQG*kDj-lF4&S3cx}&~A zlrWLUP+}wcy(oKKYZ}J6`T-{*5WWPU1v7W4n~mk+c>( z%5TyT&DqJ!AEAflxjW{f@g?QpOP(-wF;K zRm@Qdrxoc{ft3oCg>zlbm4V{A?VWjJ3ykDWw68sX5To6@KgIrF8ox+WLI}?Q;`l zC^GS&u;~g9ul44if2A=5?_|d>q(WdcM2zJkJv}|JMYlo!Ml7F48e$|tY)6*aL zqAx6XYTu>Va@iX^wR>_nb{-a&ovI0Vug;&*tuGi~mYR5Neeyk11k2{c%V*`sOSV{e ztxkidcF@>7SFbU+9URyn{A|v!7(}0s8TQ+{M_oRUt{tp~JlyX63P-%PA8XH_rv1?= z_Xh~3C{Kj<1^7?p`|_R)@7TSB?$Zgf0)wd7=$M<&?RKFbTRVdlL<=siG`ZK^!eS#T z@V3khH}CH2@{W%h_N&cO-hDzf%a^UUD`VGhfxw8%q>F*F3UlVpkL&d=yiKP=6{UZG z8S0!KXK1Xs?}kNeESXc|IdrzIUwES-6Qe2c+=m@+fh*})-&p~ii3JFNN8LY0Q@zr* zvNmQozRbY%UVXZ@99Q{mi6?7w;MdseFK4H>S6EN%z?UC@^esU`iw=TUS5lA5y6Y=H zS$G#lQc2`@#31zmagcpNC7P=)%?*RWI++XFscJ$05LQ3voU}chFrXR`fpt9cH)@4h zg4W>5sH}Bn4%~L_EAxN&JZ}JPMwGK*Z#bDsw+Xe+B-_sujMwU^RimOi`uMFP&eG!g z#RMTG$o=Vv0R;`M8Ztf^D`XVJk6Y@;8$qV z*1KwJ*zD%*A$u;X&Tc-B-0^a)Y+KELx<#$R90Hn-Xe$wFrRb}eOk}<1j+p4$P8%I% zhMR0(^7p8x(vl?U3zdX5=(v2Zi%VZ}Jjavpw%eUYw(|+BrQ^zKjl`qbz_`~$j^IJ>nGo!NOtOHpa5Z2GWtkRygT=mXq{YzD?#7U@A>;A*;t=*SNPnP&&Vb-l_Hp( zRHw34-eX<0-;2-oJzK80>De_X`sU-J94KH4m|Gzli#exoiD-{loV38SmogHg7OrLP=6c%mJT2auu~cu^Hx-oixm+6tjse^==+)R4|14n-R3zv`5C@?nV@p`bF z_Wc>@773VUC+FG_oGOd2OKj(&^L%sPaJ|&-GO=X3WUV&;vr3FyN)wWaa0Ddvm!6e9 z7*5B&Pu=;to0T2QVXEBErXu1Wd5-=|qk&6;PB;+%?WuRVf_(8C{uM!(1l(E zeI6Bl3$iP@@ZziC56D=b(J`vs_T}5kBS~d$%@j^_F$*3L|3(DLB;5FcetHPPGj-eA zZ@7ivvu%qaaWsZHM+doH2y$_T!6N_YU8zY>`WhZkf~NxB@p95qk`Z9jIxcY~!U^g! z`dj|#4WTUrU44*wNY&H$E^=482|&4n@R>h2V$F&V_{{=h}94Po{J7g*gc$jxJ9mw8o%CeyuO?b@!(ODpdd9_rZ9Pd3@_ z`z~DeI*&#U^z`P1NE>zHVld%FA9eq5uXq3KcK7uqzFT}(z%ibC>N?&HgV*4g!<{WnG0y@O0;wJMLmdNb?K8R=$u2Yom)-tp zolHKV{p@>ssbpXL2f{72uhKLboz1+eOA}62!|8aG)^^~J<8L2tcnx8?-0Jqr^aSOA zQj8e!5X4JsP`FS_iVCwxQsa0W(8Tq4gHGWw)d4qH)I-N9T1XllKgTh2ty+s8&pSkS z5{>jDqNZ|DlGh0-^ZVdYKl^<2{rTl#ROjf_9CKjudR>t;l&0vs72njXv!z{fIO(M+ zgM@xmHd--;aOyN`!Bux2E~aX?n_W+yk6mq#9z0!|F^+S6}KFvD+$!na1dQu*KHTJ?>A542zK(F4vvR%XTBZz73Pf zoDbou`emE08`A|gFK#Jt3{!Q~lU%&@w*2Rd9=SW66J60J;XDxTo=E@j1yA#P82~+&ZLOwF$tI=I(K0qD2!u5*doxg9Q_TzZ4bn+-O{eoY z(a$zp=fYa2QG@}EB>SSB-D^s_zifi`SxL6zVYK}eUClWz0C+F(w(gsz7>QDDEN9;0Yek- z*ftx7IHSb=8F;+vb7`? z|IFC*eE2KFLu>1opiJgG&#`IWN1V{&YcRZ08t7>ek+^c#_TVN7DOeClc>G>+FNE(k`zO<1hHLaR)H#gs zQ-(R!#$50RnOl_ny@DvPhXSNiNjyM?$x7=3kPHGt!kInaHhFMlvuZufN}SPQr;t`8 z6{^s773X^&nem)BlDgSh?J*emo-^t6(ES0FraisTSXTAko>zY;b$OJ&6Lu0W$ZK2z z53k6#OD6c+?hyJ%KqqwgD-h2Iyh{;dZ#*>a*^MIR0`qb^?U5U39bADnPB!32ABb&q8e9GCpspvfv$;=Yr9ej#F$`>*CJ z|IAFL6(fMYk^t0#zWlu!7=b+@(udCR5Ba#*clhEImz*a?MyL_P(Yha=71#Y*jfIH@ zIJA0nd@8^1s=~;UmmrZS1!I#k$ku(Re5cbe83Qv)>L{s81QaI3u%gc#NnL{s zKJo{mg4wKJn>M!X|5b3@Jq~&lui4HaqWb-cEJvh5%(j=>z^-TVJ>Z%KflD`auS!5 zXpAht6*w!ikg1JEwo&7T4ZGpEj7p!O1(P?TUim8|m-jpTmZi^tZiy#a#f6uBw*XlV!5jMxxClq?zCR;SHb`H9WpAuz!?4A z^YMU|%Sm@1VSV7rYib++^F7$IvhBPAgSu^U4sAQz=PtTJ)b6$-cQe)G zvne#JIGW2@)qps8mS%e4!qWW_=zR0JaKe~^sNry%4wdVB9Z*d66wUlt@)bD2hTUy> z(5*c%uyC;ijXKHcI9C+hU;$m~^7|4t^_X<0h*KUX_(I$ZBUB&DKu#`UHz+25p?!KC z+JRWv`*y`QjJY|sUB3eYQT$)kI2h%b+3I`@txel|8odBh81@K{5wmUjY?=6S?k_zA zPT61gNer-e_?2aEQqR}WAg1%QzLxxK#c7FG(u16-T>3-K6RqEXi`dUb&zCJO*`L?T zVl?cXoUe~(7wh-^sA#_a6N9FAtt zZ%evUtL~*k?SQ7Y;g7a8oR{PljB_qSLL@|o&91@Fy6vWOn(rplJ_Sq`RcFIDGTk@O zv^WJp8)c;bx(xbIJcm990@YHutlQ@q%&RLl~55r&R<#K#k$IbyWX7g0` zVL*?bq89y-{tb#qGJ#IO9sp7FUi>e*z9~AhpiQ?swma4r+qP}nM#oks`C{8i$F^PQA_9jDJWeaNMC_j9uJol74Q046%0s#tO{aPLXIZn9 z&2ayPfUYm8t95O|*|^Ffm9-vEs!PqfY-fIqbicGAH}w+ofKgX73q$~8Y7%4~BOC}T-6nBi;bSzo+YPDk)%Mr_WU22R>>@)N}OWv1wt{=7g zZ8YEH)5)eDLV1@yT#M3gn;zriN)|miPa{AqOzFpiQtQt3DH0Q(ZB2^{YeOb?+RYtg z6aD-3Sb_8Kh3C%|D?aLr_9%l%m9&GMHJAt^oHo`F5q3Vp38AnyVltp~s1%MBj?b)M z3!SkK)aY;rl4D)7fKvPv5`hZDMMlYW46kQ<&_THV*`<@sh{LH~rv$KHf{=hPUTge% zjQGMQ44eRwLb9aRtvnjp_I+%de*YlI=BlKT2+d?1>U}g))b~-;pX71l^Jagrwi@89 zb0=)}?;C3nbRdYjhi;(3TILe?4Oy1O`mD#jhiCSbygR*0p19?H+9z_}FFfhkszN*J zN#YWd>-jafaTYU!4GyaR_i?BNCOhO%O`N!86jq zp@;Y0G%7u>+I=+OUN?7oYNDYS|K$v4thKl@Y3b99*u>ckFiy0$s1h|+HA1?JHwsct z28#1?tcVjL!mv+(C$n-^yFNrkMfzN)Ygc)EjUPP%xnxVB5*;GV>x&l6WXroQ-d6{l zwEtp8{Y7D<#+NZ*j))2tq-WMUHLL-#CaxQS!4%eCYt&;$86FH|RcM8h1g2h_DxL{) zG8NJp85+pKcK$^}5Y(h@L9bJi*wBHtAa@eM4wi0GtO=?Be=q0P`s!nr-yxEzSLr$O zuM20b?y%`iI+m}0WF3o(l^)QI{V`RN!6;ctc4Au~*?ZLcjA^K)`NKaDf00fmD&QLX|{Bl+t8?>Vg9pLBZc*dcD)t8L;p-UnpNXkMw?R1GN?0!GqaZTSp8iBbE9*@m-pIKgFYHIp#AA=OKgq zz%`x)chjs)7;x3bOrwQ67Y*g0Qao808JH_e!Zf6Aul^Ix;y9+cAOZQs4$Ft{7LSLN zs!pfFX#d}ZO2tJJIgg+G9VVw6bmC%$6D_bMVTKuQeHEqV*^ID82bc7m&E`i1Zr&Fm z3x!CJYp05-BMht!!MUOhEb4HNx}m{;Jm8(G+8mERbs_hrs+f9teSXaLad_Mj=*v(y z;w0Mz{0XuBOf%1Z%TA%YIIlAN!4%~Vx&n>E-JX!;v)8bt$=rRv6k*qP*Y)J*VP45S zfQ5Jpjsj8u2MKAlFEpZna>ZUT&Jjb?@W*Q_u^1aq9A!$V`W}oDwk=Rdk>$^bFd2SA zuM8|mtKnonH$)0uDhd(q>R$T~UDn6lr;d)|;(w3gP0U2(kV)lqy#InQCeJH_#xVB{ zV9R2Y!)E5q7wGtMo6F5d#kXHK*!|9qaGq*@pBh1g1r|)mIU7TN2aL&*-f~+_)RB>I z_O8tE)RKrGwFY%Igwg2WI8u6xLWYJhGH48egFrwjeTyfRu|0(V9T9ytwsG_Qo`uvc zf%RI%n=nI?;jC_zLa_C!k7o^sGQ!EsWqn{~F7tmAGyYgh1iM!ug;}AIq2ptPgQ?n! zr!wJz9}?(yKi<}3sJoBpgpNoL>pL%1jLYR@pDI&2-Uwh`JCf|Uf_4!UlN`nq8Yoiy zw1f{FaA<-8l;%G0j{$qe6toV}p_x#mSTwsoVE)2~4Yh-g&q6%6WW!HlPIUX4};00d)* zWMDW@)Ub~1#D*I4aOvdeL?ZDTc`R-iPA=XrY`OKm@=WKs$7cw>Gc<|czpA{Rw?YsM ze*c|egUSd6;L8>BjQ}i7V!L>5SzyX?x=wcoVLjgd5^s8rb75fd7`G?UrYx@M6e+>R>;OhI2S9Y+At2~kVHXJ|6cE>_gputH1tW=7R z8Ie8#=1Dc*Gh_RM*kmheqs2`GTQG*~X~yy<^C0#*CjLshZU3li;p(litXNt?BBr-v z2Api`zfSFVL>ivA!QpJ%;beGa^$uq1OOsE$ApynyD5Tv_+Vb<}?!hwTBTRTAlqFnL z5`5RPQkOQL{W9h0)@MuSR_l1abNU5cf-tjezORX6{wqdh^z2E3Gse-M-dh-mmn$uv zqngKGWWGbi*`db{&NeAH>%t}b%5qV1o|Eaho`umD^A5%ZR0|WiIP+O<<1DN)jB=Sp zt4le~!;nw0hXVP! zk>KRiEJoi0qz{elrf5B*Y!`G zoo4l(eTvY7YuEdvL!LkGaVc#0y~E?h#V3PrZ*Ij=oGRgw)_pqCG$n~@F$hS*bJnSD z8zi{>W!tz5VF4FOzV2uolp4p(uW;Rq_V{K5etWoj-zlw78LC~aSCA%K@#mMkpqiOV z&ud_LGBVmAVuyD>*d-m>42#vh}uzu2yI|k0kg)KpTJ=jx)kbVFt#f3 zcV$jN=i~jG*e1M=sbi5X;4>(aQQgCGhJvl!UE`pmDO*Is&@Ke`M{t6aHTI7Tl{4lQ z>0e|0@;P1^8EOA|?z0L*&C;y&35w&+0F?Xy4;iWz>r#Q<|M^jo#{%a&;!V1)giEg> zsIWFzkewEoIF{tq6xDHQ%>Op=M#pJrrD-nas8ajqu)5NEH%<Vl~@>k9u{?Pu(X!6R9vzlej?fn{Y(ZanN(p7 zc2X2S{$djnd&DeN!8*Gc-+fLqVx!dJ4>4Ta`P&BSiG47Q43|L}XD0V5_++a68`c^@ z!36;$lmX;8haq@zCte0=a(6in*)l^UgEgT$cUp24AyxcPri&tbO|nT187m=Y%q1nQ z5M5=z>wK^8r2l{fGj&cm&eH}xre^2K?M@S#CiuefxRXD%PjCclOB^m(W6eMwCw1M1 zowA6vjEJOlG1|O+%&O3-}T{(i{ImUWGdV#&>&eG z);!?K5@W{|@faH}4?gS{gD4WL5jhlte`oH{RSzBGzzd?eP&{$~RkU@P?>{N!J?;*-j9|sIHGn)MlANCMe#j z%JFJ4aN0VVzvZ5R#0o7i!Yg|}H;CY%5Q^w(gi^|ztF~?`wU@tMBIH@Pf_W|)8)K!yH4PWcwhk1eJ+a^rs2lo3&Foxa#=`BCGfac-9Ce#%boW4*_&;bZ^K>Bon8$y zhOGx_bB^%T1bL~tLK-(6BFJ!TU{H8CINuhi&x8HdpzjOv&s{*E0WgfXqXDhUL=a@x z5s9e)d>S{rhNm|Ww~u21SF^QzwLF?Qh@Gw0|Ct?$mJV zzfE4-5U>87Wi(x%um>ajJEvXlYp9wB)=V%<)fevd-d7=V^HQ1d+ZiugW8}F0#uOch zK!3RZ3gCMtAYXjT`E8E4kh89OX75Djod-I0D7D5IH~?9L+hdc~gsxSbE58O7DF z^29f^j|RQ4;whbOTGNTco$v3cDUott!xZTU_+80bs4XQZ239GCaJL z=`_DQIFKY$ZT9M{`g3X5w_7~zC0f3Ri|s3(y{N#n5_{ey-;jT$9mS1f+rOT4&b9E_ z2Zq;s@erq1t`$=TDF_))5AOHma~LewP~km!-arL?s=B`BarJRrOzvb0&ukp0^f9oi zYqml2FT1newr|z0|D|wBgNVtLxcoJ)(jxW$wHnJD@yi5TQFCmsW+`bcOf4~tT>Y9j zLmHb?;}O$@t#AzrL!(>*q8(JwIck;>4BXuXreexb5VH?=4Le-i2xLjNqC$H>o#eVU z_I(Q;^6Orh|MmKO+HW-IE-V^v@pJJp*3%xc&(>YLrk{g^G7J+BcTvA{w|D(&g^!2l zc4S6DrD`bh&U0F~Jf!QkA6{Lz)?Eo9SwIU_wq^-WP;aUM-D5B&BOdK7 zGwR7^gv;|R8iojM?2zJ21b6|mVlX5V`bIGYRZ$p*?gEY;Ex zt?M@p%KfT;mselKWA{5`K?7bCqLGj_?EvM2v5IB?y3z-2gfLX37sM(lc62FLH{0lfiHKe9Ck4?lt!4=lI$LvCG;oS(SY!5tv+si4iawOuX^m zFE1YiZ-Z-{Q7iD=>Sq+D`T0b#W6r4P4$$r0e<)+Xko$TN1%2hlct)YG(vjq1PX@-I zpgA**1fgGlIaaIn3ysBb7l;U-%bfAow%Fsq_M<0$?cT9-&))=(qf5tO=Fk2VJN|(t z*c(XkC{bcz#k4_^$G3X>gZm#31rQb!N<&5z!k1#TuKje%#mV!my2U2$>F+UCpBW}i z2@X{uu!;CH43jcIxBpa|&*S{#+zqKWT}3r=frbGJ2gZ=w#ODRegH8g$GZiWn(a_+h ztYUp|^80KasF*(Kf*2A-3FcxplTpA0R4DQ>k&8|kOrAp~m9mO-VrZdkWu1(Q24*1z zjU)`E99#nIyRIO*kf7`LeqZ$Uw0@h0 zNxFTAlb{ocN+0OJ(nn>jBB-`pzZ3&e7DW=MABcZABZoYu=q(;Ol_e7xUzOx*f_^2p z^=V#nx4U3GD-!6Dh(H`?4Tv#ipLZR9gTnzvGr#)_sk!V`(WVQL2g!R@ScI__G|G50 zqQGw$fCPs~#C)#o`A<=cfY~^K*YKXTnLeMuz+5Y2c4TkT=kmnWIyMwa3oYabo|2!; zgneWr1>z?Nc45)gpC*f|(#JVoQd!qvxd>8wRm-bTVoAp(6b|R~Y!z#@PceEU zrs03C}T{I$c!d zhD&vVc$DD0AIai@rLn09{v4dasE{7PAQN^B@v8ZT7TT8|+!Nw5HF1SPj3NTT9K(Qm zQ;^l%9kU-s`G*$h>mvOue|0pF_f0C9^~l&nv6z7Fy}&xXX2}z0%-O)M%UplUp<$}U zC!ZH}x{}VrI?h;u%!l`sPa*W~px0IrZ42WH9Y2^b86|AS_+Y+*P=a4qe`~6I=85g>=q7uR@F@|b^eCcsv2!^DP94#HiBE-fD~fyu3|d4z0^efn6MO7xCWpnfhk5u*rwz=!J10O z`?A=r^EL>U<2Jwa--owyggXc;y8CA(uJ}F%J0>amOp_RP3yQCGxe}Y!L8pG3@#f>R zZ8f*Gl&TY$EKw`AXqDV`JIjy|U&099L9u^qeksmxlPA80{dNBC{p`gziAwoB9bpyO z;2%Oj_7_$QoiC(81Xz-ZdINB%qW>|t!cbrM8BL@TtJ0N`17B8Nb}Bn@y5zG83Z-86 z?BsIhoDMS?UvqE60TWy1Q=&E$7$I*ow2fC;{KV(M$Pv zE|3yZMt5K3lDD+T;U(-=^L4;79c*+L3#aiT4~XBGYWo|$<6L>Rn)%z&#I&4ee#wM) zys^wNuA>2|!vqRD^~D$b=D8!UyV!FB^Wb5QHcj?5<HGf#GZ z*=6$ux;bsvJ^U~}Cx?BD`A0~l6@b(0>3!DpU)DPqRO-gr!)vdoUD>}jW!6Xg0G3;3 z_OJ8LR&)Mf)j@-g={zH(uHLGs(d;(2sh2jKx<=)qO0T+r)2Ye~GusdLNm|y-X^wW6 zF>UTMc>pWx*TlGLn_%TzoeQ=DTl>{Y{cZ3dM)&8)Psi1q$VpF0=i~N`t)yqA!ruDz zMt$Vog58KN2HV~_;&%!rC^;R+p_zO6#0#%+nGaWTMa#41a?tz+L;rF7QoOP43K zM&mD-3VO%a{8Qz{9x-uoZndv+Nh2D&pu_%RUyCVJLIX$YBq?H8J-n;;Al?S_ZGz$e zoA<4*?j>)(2EBu*i)M@pUXFOmggiC6%Xv=>?SDgEf z8!y{z5lnhtGs7&{79@g)nJ6T7Sz#qO~%?Lkcx)!w`{u|=F{H@bewhs zc+eNXQ58#VWcn<6sFFg&C&arv`!W1n`z0~5?wao8vzS{q@CdVi%#sI;|4EKbd#ob?tPZ(sLM_$-CK#eb?;#!3bQO^2WQVKGh!1 z8qRW*+d-K$TRXHtZK52h1^HaigNFHnwLz~56~)tTzI6W*U-t7_eQ(yk$-I+0hb>Ih z_!7n96>9y9=9zA}IdT8k|LV28>H79@j!2*sB9aD{8+oRhG6a^MnFRJrET)M?3R`oC z_pC5iL13hLwn=-nDE2SK76`nk4$QV6M;2NV5=xK)-lj8{tG^iWB9!@p!3V}FJW@ih z2zADNm339S_2Syo`|dY2l?419teECBMtPNKz%k@}UGL@U`!Ctcjn`2k7>^Pb3xSoR zaUfT>ZK5R)U6FyNq;l2q#OLd^l3riC{kBe;zSaIF@;A0UwIv16KEMPE-3@P1IQ;8? z9MR`;n7wi}MW)Qz40mm;Q8MgcBufyq`tr1+CGy`Um}Ld7q_Q!gL8QO^pA$HR6)^y; zIQN3j1~Gx~R3FpN69|+-4PvTf$xy0L^La;MW31!WJLCbjr8z?ttF+|7c`9+@@YyYB z#!O#>W3SKmTg`cM5i}4U;JG;#j6t8-KmOky*Esx|tv=fIZ1p_WhSve8<^YKhwVh9c zCyny7)_)rA@~@x zeG?Pgeu-BG{WjKs2CiUaW&>^cSsrukHd?(Ox^_SN^*dgc)w?hHx;tNuhI%_SD}*K= z*5CtkK96k2moI4++u#C4dI<4?G7;cev`ZD!m?ogdLQupFEV5LSEqc@HQLjl#CCieq zrB!yIy>=3yC>`xZTA+N;|6pNX+L+ospCEo7$)3F8j3zaB( zQGkhFd(i(*-t?62t^gZgNty@D3L85RN3=Yc2xoF?ytR{7R?(Hs^CXB4rApw-;ID$E$3?+E5yAY6&Q0 zuV&&+rCX?d! z@LYYn#b^>o&wDByE^dim@5c>GO#&%X!{7q2|1 zZ*`#GS_xM-I6augJRmnT?`HXSWzmTEAri;7Q7Z`JKOp7*|CwDixZN?r`gF`6;gJGK z|9p`^z|X`(QRS5;jiB83NdGnv;8c}5qT00ebXR)*m0c+7&7Pq#Xz4ul1uyrJZyd8) z^V+rg)PYO@sTI}|r*Or2X$(8<-phP}tgGCzJz&Oub1h|dF_17RRn>f4v8>OdY#57cAZJUvg;N5zBEIrJKXoA<)r&9 z9inpDx=weSBl;}%>r}83aqPP?J1|JI>5b>uG0VeR~HMqN@hk zxxCzWZI$(O#rQtmuF&m^`Jvj}@z;uH%4eW8HyJ;l*nrkJX2vsNRmK%r(lX zR7g?KC(1gp#6uA}803k_M>tNo?&jk{iLFS&qP0>TGZKO*Ns=_v_=~BUnL-1NE9sbq zsedruX!O3i(~WYY#00~LLn*~g=u09%2r5nHHg=rNVBTAxREVNhCfJIN%fsSmAVGi| zx@@z`$CKO`Z#JPrD6ON$0a%1%16T(9@mEMd5@J>~PG6N$$&H*$WjQTaRX$!?J*_{l z(BWd3(Q16TzP@wI!h>hrXL~A| zQ;Lh{un$+F6xlQor)78es~vC+3_@RJp5w3%En!A7)yN=0S=YEUM?jaQRjczE#3;4r zaSK26Bs6lYu2i&29aVsW9=~F!ZxKdE!^2t>+JjhS(kVfvnv9$~V3tqgHx^sb-2bLa zldMBr@z&OjxDg{OR=fO6XzGJ03(6%)ECqiQ5T&OV(S|=L;f~kf))Xyvkc^pXm{DQ{ z3{w17@Dl~oChQDk;CM_2sQz%VF9;`}S3EaSIy0i%-H5_uw2=tC=gfwMK;|VS8$;q= zvNXruFe5d#A(X}Z4pa@B&QQ)+*2X7x9sk?zHQD8&-PEjP-2iK<8BQoY3?+$+ny7{h z2I7z>PBU3i0;}i1F@FF^Bi?s6wUc;m#n3w%TBO9o?7#IfP=V z$$4Q>nwu`C1V9~75*fJ&9KqQ0_}y?U@TYeN6;KmE|HzPFpPL3n8@8w+I>M;^pgHYH z2ozs*pNU--Nr%FUG*;6@s85z0BEIC(u&%2K(GeeWCj>6m8nQ(PlCjU2QdtjC3FGtu zN62$ETPNuGTs|$Oi<}?9AYbRBa6+2wuq?<%{bzH7!=>}$6@P{81Woha#50>GmS{B> zx?JAEe;DT%tSU`~mk<+@*~PkVhIuSXBS^WYJA zwTqQHOZ6f+se1du(quN7z-Wf~&bZvsnp~nlZRlcVa>SN07}Ho*MHK6RNN9>_N$%7< z2s6cjEdMZOnZR#fDS}pFZ=IMLfKG#}EQ`-}cOpCbEbXq{OtyN^I4b1H{Hbca-Q!Cj zy`W@pNFgOm>h_&9BHK+%-<*8A!}{X&?UBFEO~71MQsvJd^RZSq*$w+4qLg{C32Bcc ziAK}Kg;2M$S;m!Kr7FshFvL*@`bt5V!y-x>F%Qk!SnP#%Drs&?93Yec1u<9@HGDjb z|GQ*V0c)!D5^0O67%xc#4PzckYRkYL%r0d@w0N*8_d}0@%wCOh!U89)OaDkZ@!{#g zU;83SAyHEbYiLy}JVprD^nkSmA_cJcdP%HG9If2=;0GVe{?gr5#mfb7CwVT9vx96U z6(RKRP_F*w>TSR6CLcjFl{`2EU8BssJjir**|P-`QpIsh>ofO>#nvcESEyTL8w+T} z?~TRCP;pyo|E^lP1t*uUUKsE%(yTRgUkvt%(pV*#r#cEfRKaVE9+%JYTbj$RQE9W& z{aV_bl!biyhldM;maC|mTFZp;hqa-?5;;j>HmtCy6sJGy!Gm0`Jk#rSq6_QcYRcY1 zp;F7qV)Dr6V{&(3cGnDbxv~Z%ER;A84+Za@^N*@PD(00`x}#Egl0f&G8zYnmG~uw- zNE{a#gMA4isr!%pzPg51XTzuMj@L+iUi;^6I}gJA8ihVMSO?u3ZgL%?iXj5gu#;4w z&yX4v(wHq3F04Ez7*q2l+`oncd24C)o<&RfRaN$4b_=Yn`Hbg zQ3>tH#%toNdjQy~idy&qHfI9&_;o|Ho(y0Y3Ix?QU;j)<^x4_q_cy z)edIYc_!R4_PNAzK3Jv3?csKR|kHUZ{shH(!y~@4HO?bEnyDc^Pj^ zTA_FYq19wJ0Y8&uwC4(*H^go+qbeaBEBJ&E(~GsnbiEDIQLw5H#_O@NB!-7uZlux6FqSBXwbJt*0hc?!7_pF$TIKjWaO^Ix;yr(iGbl6Fm+f zC{+g}>?1z-nad+O#7usRF|m%}I4ly}tGZ$)q1KBO=ARx;v3nw=0=P+SBnBm3-uCEb zRk0dz4o}5Y!}_(TQ#z)BX=KYp@6YQ_Ua6(?&^M#0$r)X;Rb z)vw*p6Cpd3n;KLFW>^eI^%G;m)L!)Lbko_4IU7bTP6a1V86W?*DT=6Ss3X>G;S355 z>l|lvA@z{tPOSdVwy|HR!FTb*>BNn&&j6_MosbDlGl?Q&p+<9;(HrqC02&+UOgf8c zuFx-nbPZZjka8j_rKZY;cxhH7HOI-Hi3Vq}1tcqTHHp^Lvu`GgqT-2EeoOWRX z!K`FLQCeg|sWL{q2y}vDWXUTSs7Sjc>T2r~gOQ~q$}AR)84RQpEy&vDyfg4FD)yKA zJ0-YBOK<^V=sjl%rj*YexY;pAtM?$5=%;mgx#QHq^VXM{{EH# zP21rBuro2W0D%lJoX+sy5)?RpO9zlCgAx1@#Z6$E2y?Ydz}mMXCU~SoDmBoUa=pRn z_|;b1lBbBbSP%;1NT(-$60}zsPqcK=v@bH0CIZa?AOlu$Uxd(V=ZF`diR3RMGCssL zR~;F|VXB0htU1&eAxtVEvg^hszPM907_H3B)5sZq=wg8re{7Oi|3QW;0a%Gobtoo< z^Acg%HH8)y&)t`_ASGXnq=4eIcuZwm-mZUzY=%c(1UVKtqytFr2$Pa1U2zOJ^r*ZJ zR*u`XjYc*Mxi@N6${@fChgHUMT65tJgvzv7VsckB${LE@p~K<3Fft0MkQdXg96T{o zX{`J;Orkbjso8V;z3TLIwkVixhRc?_NOATDJ;4!v)i5%_5QFhFtDODwHQTGwiD98= zf%v8lgspFh2o@rffwTxYjMp-EEh3LLpjv5CrXLoTum5<;nP@7{e~gL>YLYR*ON2vh{*2RQDCuswWN1(&rt(*jQl+CZ#nLjODFzFmXZtpI zyUf$8V{S48B%V7-*O@3HML>&dDLsc_%eZ$q!NEmTi~+IKs^V$|hj{0R;PFJt#-*Cd z4A^Sn=nNBqCILOHtm&P<8tNl1R81PdZsjs?KDP&&~55)38~o6#h*jo>VjDBh=Z{HJ^H&gx^Sd>0 z@&J;3`z`Byh)1YeF5eT1J(~eB2Km=UGyzYad?=4v@E3(X>ek^>l)iEY? z2V|sh%culH;{oV^>4a46GTf#V_whh2cGhQ*rZcR*jo2>B$euHQk717<(5E~f9j(K= z@CO>Lp_7$SEm9i(4$G(VZ6|S+G?e65u1IU8bRv8f^DAUM>*+nC3|0epL3~OXg`X^c zR%F7{&1$ULl}fc&(Itn}Y;4S8fqRCz+Ob`D6&;GQA-|}IqVW$5OXZNEOg}o2D}v^% zGerG=L)3`9s>mtib1YYzq^^Z$t=Aj=AHc2KZ>@9p$&{eHWNnW<)j}(my=~szzVb%x z%ckvvZEh19YXsYNzuQFW7~CGyKYfSKp|RM+*m=jAr^Jo4RwWp`-z|&x6%B?4N2(7Y z-L_h?(ViFHOT7fBbFK@~QRT;xmqTqS%r;}A51zyO*?{pnTO9T2X6w_yFBhTnzq=^2 z;uIKyoA;u-r+%&)G?|Yw0D~T}r^*;-V)ZeoBV9n=i36fF8_qg=g;s$YScY#C1&(DY zP?8+3KcqWreqc}Cu1NY=PD{=6zWKUPq(Hg%Eb*u+zxdy32GQ8K|I9X>=5z0dmsJSc zUq`6gJTBYEfWa8AR7SJ&p+=__vijSI&3wpT-T@{*u35#XodV{!JH)eF+wSRRO%nRfctNj^oStLAT z^}%zYZ1Dtavqm$=0~j3q_W*`WuBkY!lFZ#bM64jV2cvTvwUc+LnEJ;>Q)IErQNpUY zVnQ?&+~>|HD;lU}xk*eYNeF1Qj99glV`d7y8YT)m#QiaxF236S)icca^GFYYCF=S8 zdu@9NFQ&LlD0ph!(xw;?G$q0jipBu}`HA&o9OvUvHT;&yfhI5&8|QHl!jV>J4$fFN zBCOFczzd{u%^ry#vI4=}%tAUcm4tam7OjUy`&g_UMA3s|jQ0@b8PK^9SmQ`)0e-j2 zoEa!oVD71sebkhaS@^jfQl&t7q%8kmwkGJiz(_*^WL@ArX9*q=>%NRDlSw~7A~bl; z6Dwb-7RsMgjd8Q#6bhCcXZA4Gw}@3p>BNLgiULF!?1Cs(EIPdiQbVDo1do6gj{GQ0 zsfSXGJ1SQ7{QP4U&B~}W!ydVRmjV9Rf@@o^pbB~?0%0?wXGuE6Geb);6no0h1iU)d zF)JTZ2#!86SdmX5sW6+*-viIt1`*2`Cz=CtqW}~30!TSS zgnLCwZcR>-Mm#(1V8G05A`~eVAe?{{6R!joTDk-Sx3BiFiuUbcA^5yn98z-(v%K#} z;A~ZRO9Y8we5?r# zI+qI;_jfK>CsC_ z>4YIinhDA9Gj1E)3E!=Q2mmU`l<0!VZH5vuR~ULlZfiyy0~7L0P9rP=>+~}ih77BF z(>auhY3P`&&mNzQkCwGhF7Z(@76J#`j4o(PH1@Pt8VH&CXQpxnfAQWiM+gz{hDmQ7 zt~gNck}1Wo!2rhdX9X3^2!SVW7cE&lJ_4{gFen0KSiw#p!9~nZAo>({CbS7Nus}`F zQVdk_mkU@Amx7OnU?Mw?qk73x6rQ=&5NQQV{FSFTffC~8J7WN4&kA8QjwbxZNNR!k{TfV=y5IznSBZ=(;o=R z%~qww(h{w;n|d1qlY__qB$ty$=gz75rB8uy*np+M&BmowzPzhWz7VWr#-kKkvsEAc zb@e!jIPJWC5tx(1+90j$Js&GIRZ*y0KR{`>At#^dwxT2?ou12 zH4;3iXA=$R82MU{+T@L?;Ag}UJjJ9MI8Y8C^q%gC)^B!@_TW(z2Zr;#^3oFeeWb<{r2W~R5Zi5TL};<(&@_Z;LN&1YP{|{#whGW=fryURNt2x0 zOa+LXb4C^_&`K2I2QWH1C>-6Al$iuSS*bAag?2#h`^<(kVkr99q9JKNQKQ9;a8t0p zaz!^lr@h4QDiMBZtQGjOggR%o;_{4w0uSu<&+b=Xzx6G8Fk`tmwD;r;D>Y2wrtln0 z1CAB5D&$>lbYO@#nG@_iJ;Bn@17Zv&{Jlg}f+Xdu94 z3CV#WB<2aidm6MtV~LS;mtNOX*C2%h2VP1dQUYGB=qJ^!EsDCBA6yai9f3YW`Y z+TY3im@|X>$s|YH?|mXKp$GO;7+5579GBd0{{DVT`%o#`OLP{p(np%hT*}XT`+$VI zi&mT$hfWN^riIDLkO&QCvILT2#$*EJ4w7Q;FP!M9C-RRmk+~mjmwJyQl>ywrJ1hYy zS%jnfS6{VI^bBo?Q;0$(-m89d$qrCd1}oA=jVv_ZN)sIm?598?wiznTbU)ctuzd~T zPobZC$j61i$QWi|&Osvfa}FaEox_U+*~t>LP~u-Fe|b=d&KRc{3Y)q|URHN95#47# zlz+MxtRmZ}7<>2Bb3UH})8gcv|L$RGRPJw_8 zP-yYU9JllXv>;1megw? zvy;{Ts!wI`MqMIbloN3_sRhV6T`{D?r&BU~MCtua-2KY*@n|8UM>}ZlIZ1ZHE~Ybs zT!kY#pcE!0-XYpSDsJn$&v*lE`!nD*|+Ov;1qj(;G$+#FL+DJ!ii0$$(gsiCSx<|jYvv6Dv@OQWn=^&?=(c!GYXWHz(g4U=YR_BD-* zIDt13bo0$_?InS1%pU_++x3mLcF!SyyD5(Q&?1pt=@N~(ox1T!UN8A!SgzwtHV>(P z732gW{8}2Af!DdyWXjFmT~6JX5SeVk1LyDMtwVF!`78Cg{{0`?|8hL8+czPX$;$@c z+Y3iNr^-x@UP8<}%lP&SqNAr0A|_P7{g1r9Q*|DSi4CkGxL99dpG6(q_p=cccp-Q^ zQ)91*ucZ6c*~X?wUxS78bI?Qu(;o;gB(Xcet>XHJC*0>R7`&?Eanoxdco8iw`|b#c z0pHC0JnrWH>O%B=@LPY4`&Wy05b*%py~FF?Pr@Nkhg(#o$C7`5t$^b`tk6LJbE2yO zSaXJTx{0RqluLw2P`>k!&J&}KUSHT@9;@MbRQEW9_$R0rNsBji z&N*vo}KGO}w4 zjB6BLY~EzPGL7@K-AhQ8<_?A!!~L~&^|NUBTioPZ?QL&QPZS`*%C^!62Z4>3j%+$U z&cLPaLks(RXsbB9($#lt+(r}OM1L$>c<5W|y#WUMr)WB{{6?HeTz}`K*yYLdk&u2dde!;cn2MREe_XGV#s2Yp?e4Y|IH_E$oQT&^}mKurT_yqJO^4y#q zRJ`9y*<`L8#W82c4y_Au!=qJK90L8y2bVWF_FApPXu2LhW{k5WPV@I>c-f$0+V^G+ zg#avpk{K@o0+Dey>l)Inm^lMiC#x4Xy4TH-9HpAk%J&91PbUln?AB{h)6kmHbgsTT zNEH2srr!|H^Ksp8XDYRUXK`SQ`1*1m|hbTlUb`*Q*ko) z&k@Fa!grF#x27ZetVy@2nCnZn`Odg?Vm?h1{yx5(chY_cgQJ}qEC0R=B>#^a5p9NC z-Gjt!RZtpN>8*3O93?Ny{-SczMjkj*bG@^PdyU`Oy}4iq+4x)~&N2;Jdp!L1IbQ<; zti@-N)&l&s=yxMh*?i20x|0dvmp`fSb22G2ihfRWety63I(~ZF*V_Xx;^G4mUy%!x za$a4AEWgWFqPkqVpIB?X^=SPj4p-fHJ94-FpXAM8&Ty02I)6$!a$vh8Rmvygfd!zoJ@ zUPAIbamyV&C@84U2|L?58ZqgG5SB1I8}3x34Tslg9LG&zT)?kzDj1 zo7w3TTJR|*6tjJIV#fx^!?)GvxDPw$ejdCUwc@cN9%-2?V2eVS`N@ro+OZVFN|iO* z`=7m)p$~*8XRSYUIDCDtrbl>uf`oPgpm>4c=!!|GD9^foj!kbGAZHr#zg-cs&%~#ZB23*y=e)vPZ& z+s``R4mS@w%dV<^cPhCwYt4PRvE*NsHE+26bNlC2_D}yyUOTSBl@F#AY6vD?$9i$y(2;U*9av(N}MR|lEhL1U8{Fpkwn-!lB$G8OK^Uhwc8r28*TzkGZSsK zM=fK%?bMd6ImWRVtLgBlyK%{g#)ZXv22~D)F3Yjw0j^YJj2xGVuTtzC3L|)>Oj5yf z(t!U^>+ferTDIKZCSn!j6$`}pMIFitnw=8Fr%F60fFPnwh8r_nO%V3o$%6W5z|d#k z!a?{&eXGk4re#}UIjy9yu&QT~IU4#RG_`>+0+}W4uqIhV@=K2-9PM^33Ttg6zoj*` zDhDm5#|$WC>2Vp}_F#KX78^Ti<0(U-Wp_W|0j|!315njwC9dvK7Hi!SFE=wT=H{!0 zi=P`3^*gv$I>EH( zCtt$~9K|dl>* z7X3pTcqOY867EF5Q;XaU=~vp662g)rWD+7T!V2raK|32Jn$%QyMpGl08cQZ@`&=sU z*ihLFO{&%=z{w3+e(T9CT7W0d!HiT`M>ifYqEM6DvnZPUifR+$AC`L*engKgQ?E=N zgmzmg3#}N8m<>(`XZ!TyL(rnU2(W}1#quNGEhB1kSqU>1$$OVX<587TV%i)a^I5JV zA{Sx!@!t9x zhl$e9a8r{z%|vaNVd+h~bIzx3Df4WSt|6(^sU&3>^eA|JM}9PVeBxXc6RW0}_iH!D z!W+5_H%I-JMYPew=KCs7_5D{~95&nS1{0!TC|8Ztjer7OP(Lz+Cw9?(vY)vUqCXFD z4sP*^m)?!Er}3!OD>wh7vHcoNSTl`H4S)O0%zigYd3oRPjij@6sf~^bTHo>$y4q;7 zo@TqpXhF8)^9B68o6lPFLQn1ZE9sVI1Vf|bAP|38LAw7>7xyBru<@5+N)Ew{j_1%Qm@@JGdCE^f5lX|_ltu+A&G zU1|4SC6hLFQt4dbD7_*?BuvU!EZZ;~9{lmub~b6?w6}?>OE+0(ZJm;tVnnfuvDT|r zi6CRF;8|-A!=-n`LV`>6|5f&t0dXzMx`Yr27J|D6cXtTx?(XgkK6rv#aEIUw?gS6+ z5NvRF1}C^Za?iPY?|bfhKVJV@Q`NJ&t5$W_>grx!eW}1wF-yDAfTCsA!OV{(J+&ck zo9W$G8-?W3h=0QDo3l#SuV2v2@OMk|SKatjKZT&XBk`%HK=dMr^x?4!3>&Bik7lgW zT@*>Shi>xpG&)!(56pP1KS+k(=!GFuto^t^%9e+o5|i>KtyFO={2h|4;ilNW%b4)- zBWaZDP;ZDUL%j@rBj_f+8jtvN)!4*hO51hbod)=tak-r^4)^zMlQW$zLb+h+_r3y- zl2jY|L}QU&$-21wwhIZ>h30`L>0n_FIW~_Km*J{JK%tnuq*&$Wq;LUp?vH|{NiNgV zdYa1|#*+^WcwJwUe0w{0lNXF<^#~disNc0pXzh`{ev;5=fY;~>Qc&1m`dQf)6IYQs ztP0l2x3c_f&>y-J1ZY&c3$Zeh!j{yIQNb7*l)=q>3b~|bwfWMf&Lfu!qB2jkbxn%> z3ZSY*c0wT1>>4|VE-8WAC2d25E*~LAw2yLV=2g^L9x_^9h?<0LP%Ke<6*WpQI*>3k zY5-|8(a^7$&rp_b9k*ozJG=>tXq+KhfL0i;wC&fQrhVAt#Dr;HER=vT?X|9?jH^0J zpU%@xmr_0N#2M{NO%BaOk$Z^@XgieEp$NZ5)KOzi0&iZ^kZ-WkGM=81J*96Ar{TgI zzP*IOjy%_qu}NFuc|Tgqh8x05#6*KA;fDPRWD#?;X^JgJs323E{M*m0QYt5Kpqh~U%FO=S(9+6jp~vuyTO9r zdu2w^SUqb63nWPr^yaULO3QOp^V3^Wa@3*CA!1mMwkGgfS64Sld5G0x{atcHfgWS0 zmA#Pr*&WATN5g${m82SL4l@2#00{MaizA|g{~E}tr{A8h30;2m=E+O#XY~ZntR7jh z67|>JX{C%K(#e^{1A_@S2ZYcV>4!j%4(=jM*^12$r1ZH`zExk5l@{~8Y(f>rhMz2k zvRuTs5(G3}&q~re(3dOrX|{*q87mn}b=D6KC0rJ>0Je57N<;kM~f2s;~FMJ6~xM8avwVQg(5yxg2HatNgU72Iv^^Aic6jk{- zq}2-YzPp1MoiEu_RQGtW=%hiJNNXdELCmB|3U30+kTQQCfeE+nBPi=Ku%LcQ)dYJR zGJJc_tU;Q4L=&YNRt-9}2I(aLo2-o>F2=!lueOCILP3kG$&;hY`LY!28BFJ3!$$nNF5 zx4DjlZ)PM@RuHT_d?L&tzZh}IJXEEoo%f2T@|MaG)f^brD-~W}H~%rBEjQThwp!%P zv^Y3q;CAgjm7@z_7#?A&hX+Wyl}%<(gL|wFC-^uBrks`tp{OudR&!}k7(1XE!`S*h zxi3Dd6ndS52@dO)0gf$@YtB%v>#Y~7sf0+RJVYmSTk@XU)NnZ0BHol6BkthEm&$>u zsShOFd(0^FYAaRbh7QdNDS0R3luYE!VBp7X2WEU+wj2@>uBY_6J}IbSDDO_X2Y0l6 z>_-ZkNgv@7Q;1mLQAKq`{bWC*qc6U0yW$0h-lS!n?xH#Cz~Tl0h|`eP$)u5si=WnY zr?>AZnLm_2O7W7j(CLv2O)tcz|0WVEA|#~{5p6YHK9xa)WcIiV*Fp-EC!1M)B_xvT zvUw%uE&2FXNz616CvdoNdEU2H-<;@C@ab5e>7o|!WofrvCQdZJTS!ccaKzw^`bzTy zD<|OUQ+S?!7&H*3IQLwGU&C!53rsyJ7t(!jyv$4EqLD#nKTtT#Ony>B=QxDVot6yL zBo#7Wd8EjqXSM6i8m7gJ*8Wg>9T&WLqDb6~(LfF|Scl*HiuzyVuMqSDyzg8trb7*T?lvJeZ!8u9Zco$h)Qx(Bp@2 z;}a5keMu{-Vx{g!gU8q>$DF<7^xHlq+fjQ4j15PaE?e0TO6dfBfv{f3P zYDehjlZIKlKloE|p}6@eDErFJ%?KpWw^T{?PSLsPY06>NYop?|&isff4)utt?!cpD zIyn*x(_26@$t#U1n@vjP@p>0*E}7J@=F{S<67Zn;H402 zeopkC(`c?W;c-#-XlwtdU4?!qGf)mZ(bTTSX!Hl$^pckaHq~^9_qxll3ZK*V@xZ_h}BX$ zG5#0VCO2df^L?2xszw``4=$gf;BYe51u8^b$_^Wbst2txDz^C|Vo`J(Da94yZGVlZ(o11r0L9_O7md#8EJwV|3rkVLo6N;iqp;N56 z#ZkGI@$Lcd?t=$IH5o}Uj%zn3m4eHrc-FEmtp;*sruPvXoqf1&;L2B-%2hC&9NB^f zR%ChG5T>}wNkLH2cs|V{HnmaZ&KBAKSa^(2w@-eENOY^)9ondjqxxFXoEmqR405~G z94q5ZuG0EyLG1gR&sNdLAQtIe;@*!ZI!C_NtvL;ccA%!IY0@qT>?Kzo|CB1o-dwaO z#+<^GeagPZ#lALK|o~|OY-&L*E0i-`_ zJmfXp&^Uo)j>YH{h;p9}=D9+Dh$soOF(&#RN7fSxuD#~H|M8S%9L}x-mlgJLn9%Nt z)+ddk7l+&GdWf)3V5&|car}U$7>d49gErqhn0%l+4V?N0P z8HpemjVW_@kS(J$Vo)mKw;yxxDU$M}o_4bDH=*k2cT3@vZya*OO8C)zKJY5rDVL_9 zim1)Rn)nwkXyVB*j_R%y3|Gitl2Daq;8E!o>c1_HJKRAWZzysRsbPo^FSWxM#AM`A zC?nA$#m^YNS)?yjqV&QIQuR>c&CXO%$cspt9}_ROtcFB!3{@ZaJcuMJsI3urK<^DF z;9dQ|{ZUn!}SfU$G{ZkHLC)&xf{pH z4?i#^o*L7Q^gXS9dXXgMSEe+q4RI(koWHzYz`J70hmqbc4IY-#vAylCZStIqeINB# zd`yvK6X*CuHn63R8&J?tYoF7w!_{~!a3bPdwm>Z0tcT$=({lk1sIz3TWYAEaAxVcr zd7UF2`(dVWYd%0(fZBAPkYQ~#o&EN%>sqEY+QgDl=t#7Cm>_wfh$s9la4kGgO=DQq^&Ze)Z8ZJJj=Tdsl-{=el#xerhN)?JuI?h&4CEaa8=TY-^uFleShdciifL988_8(6Z5QP zZ5MMYt?)DnLLTvSdA7THAc9$ZxImbnx6OSqSPj_`}*K3gc{@K=T^ zpyT>OI%0Bkzj7K1-qA;A&B>(H4|7xzEuTMw7ciN-xx3i8Rjn_DXZClz6~<{VSyBCt0=HUtM z|0Wim(B>vzYnJ9>=bL_mTjO`37)!Vq3!fC1WD5q&F%E$R4Xk~QUqDoyUmV_izCD!z z!bO3C?Oz2^^R@ZX)icHhh6;cXg&F-N8Wh$SfbH54>z+^VTm5vOd&QXN?WF~e9PZ`` zGio=IR{%TrHXl^Hwit!FDb{$E8k@B?6Z4zpB~{bV>&7#J=xh*Vxz8Bl8+T< zpX}UOXE`A@@qz-zP!N z2RKF(UnLMiXQd${nYGI(U#Sk)SUD&iv+Yy1c3s(+Kr!e@Y+ulUYzjRZp9T&%bW5j< z?09Rov#H1^QAfmUUlH7IMLtp05pO&;2cE+TdEIY2mm96an(CN9E$F|BY6Oc!jsoQn zW%=jFze_cVt79kK+$El>!0IiHEav$lw&2qy`i;4B_$i-P+g`7K1LlnE9Z-n3iF~Au z#cv!drKxYPCyvg+&&M-OLt>Pa$B1@z8^DH4)qMxRz-+l7O6?mGB@g){={=F{GeX4Ql zl|@f)SwS5Z)(``mBJc<)e(2@^+JmLe&J`!DGo)c!|Y z0_oze`)3SFWVcI2)P=CEbm8O)l^;3p?bt?cE{{9^%3SN?!o*?th|Z4LT=pbKm2LqR zS7r4s6g?Skw*SV=c|O2yWVA5ul9iPf85~D+(&@UfJevhR;%4bPDA>Ct*5?M8)5VxR zoG=Mo?|inR5c^Sn{8;26zhu;teB7l^Jc*&Q{3M|!k}z=MIDZ3t@-5yKbn#yssFWY5*BFRnA6mp@`U!KjbA*1K?}x%F5TyeL zUX6C!@8ZDeWsZER9e*unWUnSH5FbAKoX(8pRcAldj1pmgULpMR{V%fjUViD`@y=e| z>J#C}8EY|nim7?j70A#6WZUfvaZaoZISE5ki<;wS|{0_miYhUoTtp|ScvN4o3n$IT_`?g9;b=m-Vfq?%KdwgD-@P#V%g8i>g-p~n$^<@pNubxq_L~Z zQYhH2-F}f1Ia;2e&!5it)8|qSoc2u)EIfSi+yv=}9}V<9&s4jser8Lr>7+6+iiBX^ z#TD!aciMNHwlfJnuPk7w702@T+`QcPZoN>P5H_4!N;G!l4@(?j@HwBQc6O_9$4;Jf zt7O2cKE9|po5Vzq8O`hH6j7Lp0*L2bgPzn>5jh0i&13VTJ=#b;1|GJWvA6~sBfZvx z!4G~1cMqL9>M!gpEY6Q#j*d#^lWRniQJ|no zg(gR@=%Ani3Z()V|9kvHL6syiBhd-Hjb$Vl`mwd!?#R#0)ABq>{Ofi{i3Y@Dlncx` z+XX)deZm@S^k4(vKt&tibMSjxaXd+Y`Gkk-X%!c?RfT;6e%agOru{sfuY_of%j zU=SZwx&?bR_ctN~dsXSkd;<%^mT2yYb=}SlV+fn;s?Uo-)tRzA=jxDYMfNPdUm`6y zR)i%#5s=8}UXgh&Rsx?ZUN;TGQQWpCJ5T59n{0PV>G$-(jq!6wvzFO0v3Q0&EQs3M zCjLFXr}XwO!F#urG3t;Mk1A_BJ*?o3g^m=@ZMmEC7ck%&blb~A+WgDO1S08i{Iqb0 zJ-a#ygh*=2eF(NBQl)P&%A$L>B?`&8gCVrZUcL?azE^ycg%jJ<29VYDyqD~Xg9FE8 zS%8IeDQ+SR7o2S|X@(AwGxEmmea_$0fy+6seUIf%=`^b#xOjN{tuLVv3F3&8Co=%x za>l|nrl~RxT{P}jpoaI$TBh#HE+(WYIws~f@#8BNr@w&rT(O3GN^4o2?M~sGU+(!! zhX7t@Fa6tmuZZ7gk+#{l%*2OjM|YsrZhh>K$n>j~CEdKs(7w2bB}wldtJF>9g|mpj z6=LnR<~A7*J-M;47`0G!{+9~>QzRg`bw=<=1huW zIJXTMRz!C$`sBRUR;{@@SBIrOvzJzN+&6fdzV$n{O_>i|!XKlS?;R1gQYcaURayG5 z@ncm>Lb(XJx<^*&L!ELT6IM4We^t$l*w zqCCMr!6W<=|Ha{M7J!DTyewX>vAg>6cSQK}a4zx7O1h(p65;q*Xp$@uE(js znbw|aP9k4&{TrzBGp48sQo~P@BmyMKuiH=itph#UanK!{q0a9}Wr83cR=t z@viF7lIk=?bv%#IwP?=yr%l$J%0G9a)L4u77$NY~_LI^VNN4mjm~lGV6sn0Ww_P zP=gwh>9^h}>xhv>DB5*PrCO;JeM+(pFItYt>2!sJwwAr?Szv3AMrn(cFi;`2rrGQ% zX(x_w@Vc=(Oi1Sjv{W5$tZgGsB>aj4ZDN4*PjUPg9P2$?N0)E=s7?(p_u<@p-VwwG zoab``2K<+=FZ@{nBOR(#x_%dd%gy;3+C9$fzsCKQ+aRJ03=EofQ@y=keXcu0nI4;o z@UbN3DC~`N9SPB2aS=8-d$aIvGBkLpbZ6Q-br$a%%}3I!Hv{{`@U_z!k|ZurIcU?SnV!8MmMycsgm?tusiG(H)+ zRT=PIa*K+7IRp~_k~~f6jud83p#7k-_Eh?dw$&Z%Rj7RFy)e`NG!aH^hWbt;j{IwV zL&VpL@5W*M6AyOgb~7kSC?KkXAO4YTUd#nNawzxRB zF4Hx$7>{fSSF7?zXd|iuxuasSSm80HLD7NXlpwt1p=_?~)l0sm6Q5%}xTDp)A2`VT zm`!rl+7S_Ic$5N+d>(R-qna9y^Q?fB-5pzLISI?0WQj*oYWncaRQl+Mn2MgNr|w~7 zzEX}>3cZ__)#~DQPq8Ru>Ecyp=M3 z=A0oJF3tQJ{MCcivug{B?!N~weNj$;G;80;%LM8jZTJi^c@YATxSPnc?-8KZdDA=R zw%d#*`xBFG$cvwvH~W=(=oinvomxD+BOA-J*WS>4z9Up`{ECkBm-qcFFSd7mxh`GS zEhV_k8vgJtxNXKA*qjmtv=^rvG@A^x z+aK3u-*+Eu9h1Wy#SSA>4*L3)VctYCK)4*s=!^_}{KRLdR;Uud27P#M)6VhiR%e^N zWu&VTm>xalnXRUt4t9rq%hT{79mUOs94oaqx0ACQ#t-myE;dlDq6GJ@q)j!z>6552 zI?PD8?C0~7^S$$is)x#@D-#Z%6igi< z5dz1A^jk3oB|*)ekS@7OuYG2h@CW?s4o<)w>}x>l^YspNS#KW0$j7dL^ndQ_{1NuY zcnM{Ybv+qQ&};QF=>M(`Q?e)V%73(jp{JE&E&%IdtL=y0ZTMFBFaMhkH_(M5B?)e@HgY98_GXdL4PyWTj2f?*87_d z<+Sn^_3x4Y55|v^{}kchOud_b+Q=Uwz4YMIKu~JvBoE<#VY7J=b-SH!T7ruxx>VMH35tMFDmvaJfHjo zE7C31u5xGfJ?|v@-a4kW#N*tcA0ZsfTP_1vS6){PbptlDfhCskW6z1TP>O;(49Bg7 zR%Y6{hp43gI34m|+Jw;oh_O-?e(Y=4ZS}juK8abxlWK8&S0_*Pang?H^xkH|7NDig zMyu`;_X?z@j?UB)<7>H;Rcemj++oVdQEH%gm3ZM(tWjoJR~G!yToBz7zjnc6qCPF1 zBCVvVG14YI3Kw5G(JlVa=A5o90`Cz2g7yn~P8gQy$tY#kI`6K_tmz>xw)8A?s^yRh zfG{N=`+Fp7i21BvnRm3F{ZQJ@%w;=<8lq9DBS|e2xjKHw$1SO=ioi>JoVsJ8bCYsS zb*8q%{n5q(CK}PCqZ*lopw6NPh5jEpy>KI?mLTtFK-H(+73$4#aL6Gt4nBTQC*2>x z|0)5tNVZ+d(lCKWQ{-fWh?4;Z|9WF3;d^x`f7SYPkqq6hD~x6v^I}73iiD18{_^}d z>wlGI0}O@mIAYEP+F9mmFZO8L298>k=Uk%{Q?YDM zob&}~Sh2QC>O5t$G^O2;dVR_juEdm+<}7MhOD&HJ>Az^bjDkP~VD%g3xmJuB%+$6s zK=X5T=8bdtLx6V1P?~8&cB>NuMFF+xMrF$gSXlt@6%v+wq^xgwrm8Qj-ynMEEdv4s zO^9HUzQ;xusw-_>+crhNvS^zX*X@3ztt1+}@hy*?bg(?hQGcB)liD`jKKv_Dbu zO%X*T{Q@#>jhd5+#AM>{eB1c(SUc5O&t{r)spSV0B&kGvG0EBYyB$@r4h*GOBumFa zE14|}7_C?=5)7eK#fN8JVjAwc`d`bjmCrO3Kn(N7!O|9r zAzEyh{}9LN*qD?&J|a@38ZEczv(x9&hylJiYkQ@uqs*s~ldCLV)1ohjyo$)sad#(j zrF5zqU;4xw$`{FS;nbd{8h2Zk$t{X-UI$r=x96K(1%ZJA9oKiWu$iT>{{0NLIwZ9Q z+ie5u^!-9=6Q5_44GUT@9Kk!m*!k1Dt<|6I^8D#APQ&h#>?t6J4AHgInrjWQiBO^@SsgiB*8_P((= zjXvss-BUKbE&jJZ`S)0HvUeuFPI&p1^G@2382(?xZ_zI(Vhh~g<~eK>|4^jG6~rn< HjDr3TS+MPT literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/main/res/drawable/ic_logo_ba.png b/opensrp-chw/src/main/res/drawable/ic_logo_ba.png new file mode 100644 index 0000000000000000000000000000000000000000..c075e49c194be8eda864b7b9a4429dfc225e34d7 GIT binary patch literal 736484 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%0D=NHg~6Xd)b50 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 z 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/hhBSf((-qj$|fwxwM(Yy{f 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

    Bw`)i#19&!~q}ql27g;v-Mf)7S0q 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 h$MK058siE=>@Ko#1 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

    yIyH^Gvr&gbv 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 mbiGgO8dTH#UdT)%&$MF_kpE~v|=NF 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 HjDr3TS+MPT literal 0 HcmV?d00001 From 2f7c5d4cc3c112d631194bf168835949ae8efba3 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 29 Sep 2020 07:08:34 +0300 Subject: [PATCH 095/915] Added kujaku maven repositories --- build.gradle | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.gradle b/build.gradle index 8c20aa7a23..6b89131f58 100644 --- a/build.gradle +++ b/build.gradle @@ -13,6 +13,7 @@ buildscript { mavenLocal() maven { url 'https://maven.fabric.io/public' } maven { url "https://plugins.gradle.org/m2/" } + maven { url "http://dl.bintray.com/ona/kujaku" } } dependencies { classpath 'com.android.tools.build:gradle:4.0.1' @@ -55,6 +56,7 @@ allprojects { maven { url "https://s3.amazonaws.com/repo.commonsware.com" } maven { url "https://dl.bintray.com/ona/rdt-capture" } maven { url 'https://dl.bintray.com/ibm-watson-health/ibm-fhir-server-releases' } + maven { url "http://dl.bintray.com/ona/kujaku" } } } From ffbaa7a46927b1c350182908d665d1f399d62387 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 29 Sep 2020 07:09:35 +0300 Subject: [PATCH 096/915] refactored navigation menu flavor to add hasComunityResponders implementation --- .../org/smartregister/chw/custom_view/NavigationMenuFlv.java | 5 +++++ .../chw/custom_view/DefaultNavigationMenuFlv.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java index 06f39c4fb8..e399ad30f0 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java @@ -39,6 +39,11 @@ public boolean hasStockReport() { return true; } + @Override + public boolean hasCommunityResponders() { + return false; + } + @Override public Intent getStockReportIntent(Activity activity) { return new Intent(activity, CoreStockInventoryReportActivity.class); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/DefaultNavigationMenuFlv.java b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/DefaultNavigationMenuFlv.java index 4850649de6..3bef9a0340 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/DefaultNavigationMenuFlv.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/DefaultNavigationMenuFlv.java @@ -32,6 +32,11 @@ public boolean hasServiceReport() { return false; } + @Override + public boolean hasCommunityResponders() { + return false; + } + @Override public Intent getStockReportIntent(Activity activity) { From 1b9222efff16b692ddfe83c391d746812738c144 Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 29 Sep 2020 07:14:46 +0300 Subject: [PATCH 097/915] Updated chw-core dependency --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 5ac38bfe45..9a3a2bd8c8 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -266,7 +266,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.4.11-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.3-Testing-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From ab80c9864f97643c71a08c4d7a721fb699fdb99c Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 29 Sep 2020 07:14:58 +0300 Subject: [PATCH 098/915] Updated chw-core dependency --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 9a3a2bd8c8..ffbb726aa2 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -266,7 +266,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.3-Testing-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.4-alpha-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From b43cdf1561ca8cddc61d282c1445ab67f615969c Mon Sep 17 00:00:00 2001 From: cozej4 Date: Tue, 29 Sep 2020 11:30:51 +0300 Subject: [PATCH 099/915] Updated chw core dependency --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index ffbb726aa2..4cfd1ec01e 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -266,7 +266,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.4-alpha-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.4-alpha2-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From 273fbdfa1ee198cb654692c29b240eb913872920 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sat, 4 Sep 2021 22:45:33 +0300 Subject: [PATCH 100/915] Implemented hiv index testing register --- opensrp-chw/build.gradle | 4 +- .../ba/assets/ec_client_classification.json | 22 ++ .../src/ba/assets/ec_client_fields.json | 8 + .../HivIndexContactProfileActivity.java | 239 ++++++++++++++++++ ...IndexContactsContactsRegisterActivity.java | 76 ++++++ .../chw/activity/HivProfileActivity.java | 10 +- .../HivIndexContactProfileContract.java | 9 + .../HivIndexContactFloatingMenu.java | 13 + .../HivIndexContactsRegisterFragment.java | 56 ++++ ...HivIndexContactsRegisterFragmentModel.java | 61 +++++ .../HivIndexContactProfilePresenter.java | 30 +++ ...actsContactsRegisterFragmentPresenter.java | 49 ++++ 12 files changed, 570 insertions(+), 7 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactsContactsRegisterActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/contract/HivIndexContactProfileContract.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/custom_view/HivIndexContactFloatingMenu.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/HivIndexContactsRegisterFragmentModel.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactProfilePresenter.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactsContactsRegisterFragmentPresenter.java diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 4cfd1ec01e..760122da9c 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -266,7 +266,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.4-alpha2-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.27-alpha1-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' @@ -289,7 +289,7 @@ dependencies { androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' androidTestImplementation 'org.mockito:mockito-android:3.0.0' - implementation 'com.github.lecho:hellocharts-android:v1.5.8' + implementation 'com.github.lecho:hellocharts-library:1.5.8@aar' testImplementation 'junit:junit:4.13' testImplementation 'org.mockito:mockito-core:3.1.0' diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index f62d438d06..541991c8cd 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -376,6 +376,28 @@ "creates_case": [ "ec_tb_outcome" ] + }, + { + "field": "eventType", + "field_value": "Hiv Index Contact Registration", + "creates_case": [ + "ec_hiv_index" + ] + }, + { + "field": "eventType", + "field_value": "HIV Index Contact Testing Followup", + "creates_case": [ + "ec_hiv_index" + ] + }, + { + "field": "eventType", + "field_value": "HIV Index Contact Community Followup Referral", + "creates_case": [ + "ec_hiv_index", + "ec_hiv_index_contact_community_followup" + ] } ] } diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index eca6e915b5..b11fec3387 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -95,6 +95,14 @@ "json_mapping": { "field": "entityType" } + }, + { + "column_name": "event_date", + "type": "Event", + "json_mapping": { + "field": "eventDate", + "event_type": "Family Registration" + } } ] }, diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java new file mode 100644 index 0000000000..69e671f4d0 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java @@ -0,0 +1,239 @@ +package org.smartregister.chw.activity; + +import static org.smartregister.chw.hiv.util.Constants.ActivityPayload.HIV_MEMBER_OBJECT; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.util.Pair; +import android.view.Gravity; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.LinearLayout; + +import com.vijay.jsonwizard.utils.FormUtils; + +import org.apache.commons.lang3.StringUtils; +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.core.activity.CoreHivIndexContactProfileActivity; +import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; +import org.smartregister.chw.core.interactor.CoreHivIndexContactProfileInteractor; +import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.listener.OnRetrieveNotifications; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.custom_view.HivIndexContactFloatingMenu; +import org.smartregister.chw.hiv.activity.BaseHivFormsActivity; +import org.smartregister.chw.hiv.dao.HivDao; +import org.smartregister.chw.hiv.dao.HivIndexDao; +import org.smartregister.chw.hiv.domain.HivIndexContactObject; +import org.smartregister.chw.presenter.HivIndexContactProfilePresenter; +import org.smartregister.chw.tb.util.Constants; +import org.smartregister.commonregistry.CommonPersonObjectClient; + +import java.util.List; +import java.util.Objects; + +import timber.log.Timber; + +public class HivIndexContactProfileActivity extends CoreHivIndexContactProfileActivity implements FamilyProfileExtendedContract.PresenterCallBack, OnRetrieveNotifications { + + public final static String REGISTERED_TO_HIV_REGISTRY = "registered_to_hiv_registry"; + private CommonPersonObjectClient commonPersonObjectClient; + + public static void startHivIndexContactProfileActivity(Activity activity, HivIndexContactObject hivIndexContactObject) { + Intent intent = new Intent(activity, HivIndexContactProfileActivity.class); + intent.putExtra(HIV_MEMBER_OBJECT, hivIndexContactObject); + activity.startActivity(intent); + } + + public static void startHivIndexContactFollowupActivity(Activity activity, String baseEntityID) throws JSONException { + + Intent intent = new Intent(activity, BaseHivFormsActivity.class); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); + + HivIndexContactObject hivIndexContactObject = HivIndexDao.getMember(baseEntityID); + + if (hivIndexContactObject.getHivStatus().equals("negative")) { + if (hivIndexContactObject.getRelationship().equals("sexual_partner")) { //Changing the rule file to the rule file for index contacts who are sex partners + JSONObject form = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivIndexContactFollowupVisitForNegativeClients()); + if (form != null) + form.put("rules_file", "rule/hiv_index_contact_followup_for_negative_sex_partners_rules.yml"); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, form.toString()); + } else { //Leaving the default rule files for non sex partners index contacts + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivIndexContactFollowupVisitForNegativeClients()).toString()); + } + } else if (hivIndexContactObject.getHivStatus().equals("positive")) { + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivIndexContactFollowupVisitForPositiveClients()).toString()); + } else { + if (hivIndexContactObject.getRelationship().equals("sexual_partner")) { //Changing the rule file to the rule file for index contacts who are sex partners + JSONObject form = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivIndexContactFollowupVisit()); + if (form != null) + form.put("rules_file", "rule/hiv_index_contact_followup_for_unknown_status_sex_partner_rules.yml"); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, form.toString()); + } else { //Leaving the default rule files for non sex partners index contacts + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivIndexContactFollowupVisit()).toString()); + } + } + + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); + + activity.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); + } + + @Override + protected void onCreation() { + super.onCreation(); + setCommonPersonObjectClient(getClientDetailsByBaseEntityID(getHivIndexContactObject().getBaseEntityId())); + } + + @Override + protected void onResume() { + super.onResume(); + if (notificationAndReferralRecyclerView != null && notificationAndReferralRecyclerView.getAdapter() != null) { + notificationAndReferralRecyclerView.getAdapter().notifyDataSetChanged(); + } + } + + public CommonPersonObjectClient getCommonPersonObjectClient() { + return commonPersonObjectClient; + } + + public void setCommonPersonObjectClient(CommonPersonObjectClient commonPersonObjectClient) { + this.commonPersonObjectClient = commonPersonObjectClient; + } + + @Override + protected void initializePresenter() { + showProgressBar(true); + setHivContactProfilePresenter(new HivIndexContactProfilePresenter(this, new CoreHivIndexContactProfileInteractor(), getHivIndexContactObject())); + fetchProfileData(); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int itemId = item.getItemId(); + try { + if (itemId == R.id.action_issue_hiv_community_followup_referral) { + HivRegisterActivity.startHIVFormActivity(this, getHivIndexContactObject().getBaseEntityId(), CoreConstants.JSON_FORM.getHivIndexContactCommunityFollowupReferral(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getHivIndexContactCommunityFollowupReferral()).toString()); + return true; + } + } catch (JSONException e) { + Timber.e(e); + } + return super.onOptionsItemSelected(item); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(org.smartregister.chw.core.R.menu.hiv_profile_menu, menu); + menu.findItem(R.id.action_issue_hiv_community_followup_referral).setVisible(true); + return true; + } + + @Override + public void openFollowUpVisitForm(boolean isEdit) { + if (!isEdit) { + try { + startHivIndexContactFollowupActivity(this, getHivIndexContactObject().getBaseEntityId()); + } catch (JSONException e) { + Timber.e(e); + } + } + } + + @Override + protected void removeMember() { + // Not required for HF (as seen in other profile activities)? + } + + @Override + public void onClick(View view) { + super.onClick(view); + int id = view.getId(); + if (id == R.id.record_hiv_followup_visit) { + openFollowUpVisitForm(false); + } + } + + @Override + public void initializeCallFAB() { + setHivFloatingMenu(new HivIndexContactFloatingMenu(this, getHivIndexContactObject())); + + OnClickFloatingMenu onClickFloatingMenu = viewId -> { + switch (viewId) { + case R.id.hiv_fab: + checkPhoneNumberProvided(); + ((HivIndexContactFloatingMenu) getHivFloatingMenu()).animateFAB(); + break; + case R.id.call_layout: + ((HivIndexContactFloatingMenu) getHivFloatingMenu()).launchCallWidget(); + ((HivIndexContactFloatingMenu) getHivFloatingMenu()).animateFAB(); + break; + default: + Timber.d("Unknown fab action"); + break; + } + }; + + ((HivIndexContactFloatingMenu) getHivFloatingMenu()).setFloatMenuClickListener(onClickFloatingMenu); + getHivFloatingMenu().setGravity(Gravity.BOTTOM | Gravity.END); + LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.MATCH_PARENT); + addContentView(getHivFloatingMenu(), linearLayoutParams); + } + + private void checkPhoneNumberProvided() { + boolean phoneNumberAvailable = (StringUtils.isNotBlank(getHivIndexContactObject().getPhoneNumber())); + ((HivIndexContactFloatingMenu) getHivFloatingMenu()).redraw(phoneNumberAvailable); + } + + @Override + public Context getContext() { + return HivIndexContactProfileActivity.this; + } + + @Override + public void verifyHasPhone() { + // TODO -> Implement for HF + } + + @Override + public void notifyHasPhone(boolean b) { + // TODO -> Implement for HF + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode != Activity.RESULT_OK) return; + try { + boolean savedToHivRegistry = data.getBooleanExtra(REGISTERED_TO_HIV_REGISTRY, false); + if (savedToHivRegistry) { + HivProfileActivity.startHivProfileActivity(this, Objects.requireNonNull(HivDao.getMember(getHivIndexContactObject().getBaseEntityId()))); + finish(); + } else { + setHivIndexContactObject(HivIndexDao.getMember(getHivIndexContactObject().getBaseEntityId())); + initializePresenter(); + fetchProfileData(); + } + } catch (Exception e) { + Timber.e(e); + } + } + + @Override + public void setFollowUpButtonDue() { + super.setFollowUpButtonDue(); + showFollowUpVisitButton(!getHivIndexContactObject().getContactClientNotificationMethod().equals("na")); + } + + @Override + public void onReceivedNotifications(List> list) { + + } +} + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactsContactsRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactsContactsRegisterActivity.java new file mode 100644 index 0000000000..0b9807f63c --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactsContactsRegisterActivity.java @@ -0,0 +1,76 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import com.google.android.material.bottomnavigation.LabelVisibilityMode; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.core.activity.CoreHivIndexContactsRegisterActivity; +import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.fragment.HivIndexContactsRegisterFragment; +import org.smartregister.chw.hiv.fragment.BaseHivIndexContactsRegisterFragment; +import org.smartregister.helper.BottomNavigationHelper; + +public class HivIndexContactsContactsRegisterActivity extends CoreHivIndexContactsRegisterActivity { + + public static void startHIVFormActivity(Activity activity, String baseEntityID, String formName, String payloadType) { + Intent intent = new Intent(activity, HivIndexContactsContactsRegisterActivity.class); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, payloadType); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.HIV_REGISTRATION_FORM_NAME, formName); + activity.startActivity(intent); + } + + @NotNull + @Override + protected BaseHivIndexContactsRegisterFragment getRegisterFragment() { + return new HivIndexContactsRegisterFragment(); + } + + @NotNull + @Override + protected Fragment[] getOtherFragments() { + return new Fragment[0]; + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Override + protected void registerBottomNavigation() { + bottomNavigationHelper = new BottomNavigationHelper(); + bottomNavigationView = findViewById(org.smartregister.R.id.bottom_navigation); + + if (bottomNavigationView != null) { + bottomNavigationView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_clients); + bottomNavigationView.getMenu().removeItem(org.smartregister.chw.hiv.R.id.action_register); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_search); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_library); + bottomNavigationView.getMenu().removeItem(org.smartregister.chw.hiv.R.id.action_received_referrals); + + bottomNavigationView.inflateMenu(getMenuResource()); + bottomNavigationView.getMenu().removeItem(org.smartregister.chw.hiv.R.id.action_received_referrals); + bottomNavigationHelper.disableShiftMode(bottomNavigationView); + } + } + + @Override + protected void onResumption() { + super.onResumption(); + NavigationMenu menu = NavigationMenu.getInstance(this, null, null); + if (menu != null) { + menu.getNavigationAdapter().setSelectedView(CoreConstants.DrawerMenu.HIV_INDEX_CLIENTS); + } + } + + +} + \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 24d4f3f2dc..0de12c637b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -1,5 +1,8 @@ package org.smartregister.chw.activity; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -29,7 +32,7 @@ import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.custom_view.HivFloatingMenu; -import org.smartregister.chw.hiv.activity.BaseHivRegistrationFormsActivity; +import org.smartregister.chw.hiv.activity.BaseHivFormsActivity; import org.smartregister.chw.hiv.domain.HivMemberObject; import org.smartregister.chw.hiv.util.HivUtil; import org.smartregister.chw.model.ReferralTypeModel; @@ -44,9 +47,6 @@ import io.reactivex.annotations.Nullable; import timber.log.Timber; -import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; -import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; - public class HivProfileActivity extends CoreHivProfileActivity implements FamilyProfileExtendedContract.PresenterCallBack, OnRetrieveNotifications { @@ -61,7 +61,7 @@ public static void startHivProfileActivity(Activity activity, HivMemberObject me } public static void startHivFollowupActivity(Activity activity, String baseEntityID) throws JSONException { - Intent intent = new Intent(activity, BaseHivRegistrationFormsActivity.class); + Intent intent = new Intent(activity, BaseHivFormsActivity.class); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/contract/HivIndexContactProfileContract.java b/opensrp-chw/src/main/java/org/smartregister/chw/contract/HivIndexContactProfileContract.java new file mode 100644 index 0000000000..927553118e --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/contract/HivIndexContactProfileContract.java @@ -0,0 +1,9 @@ +package org.smartregister.chw.contract; + +import org.smartregister.chw.core.contract.CoreIndexContactProfileContract; + +public interface HivIndexContactProfileContract extends CoreIndexContactProfileContract { + interface Presenter { + void referToFacility(); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/HivIndexContactFloatingMenu.java b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/HivIndexContactFloatingMenu.java new file mode 100644 index 0000000000..8c9e68c061 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/HivIndexContactFloatingMenu.java @@ -0,0 +1,13 @@ +package org.smartregister.chw.custom_view; + +import android.content.Context; + +import org.smartregister.chw.core.custom_views.CoreHivIndexContactFloatingMenu; +import org.smartregister.chw.hiv.domain.HivIndexContactObject; + +public class HivIndexContactFloatingMenu extends CoreHivIndexContactFloatingMenu { + public HivIndexContactFloatingMenu(Context context, HivIndexContactObject hivIndexContactObject) { + super(context, hivIndexContactObject); + referLayout.setVisibility(GONE); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java new file mode 100644 index 0000000000..7ffba530ad --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java @@ -0,0 +1,56 @@ +package org.smartregister.chw.fragment; + +import com.vijay.jsonwizard.utils.FormUtils; + +import org.jetbrains.annotations.Nullable; +import org.json.JSONException; +import org.smartregister.chw.activity.HivIndexContactProfileActivity; +import org.smartregister.chw.activity.HivIndexContactsContactsRegisterActivity; +import org.smartregister.chw.core.fragment.CoreHivIndexContactsRegisterFragment; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.hiv.dao.HivIndexDao; +import org.smartregister.chw.hiv.domain.HivMemberObject; +import org.smartregister.chw.model.HivIndexContactsRegisterFragmentModel; +import org.smartregister.chw.presenter.HivIndexContactsContactsRegisterFragmentPresenter; +import org.smartregister.commonregistry.CommonPersonObjectClient; + +import java.util.Objects; + +import timber.log.Timber; + +public class HivIndexContactsRegisterFragment extends CoreHivIndexContactsRegisterFragment { + @Override + protected void initializePresenter() { + if (getActivity() == null) { + return; + } + String viewConfigurationIdentifier = null; + try { + viewConfigurationIdentifier = ((HivIndexContactsContactsRegisterActivity) getActivity()).getViewIdentifiers().get(0); + } catch (NullPointerException e) { + Timber.e(e); + } + presenter = new HivIndexContactsContactsRegisterFragmentPresenter(this, new HivIndexContactsRegisterFragmentModel(), viewConfigurationIdentifier); + } + + @Override + protected void openProfile(CommonPersonObjectClient client) { + if (getActivity() != null) { + HivIndexContactProfileActivity.startHivIndexContactProfileActivity(getActivity(), Objects.requireNonNull(HivIndexDao.getMember(client.getCaseId()))); + } + } + + + @Override + protected void openFollowUpVisit(@Nullable HivMemberObject hivMemberObject) { + if (getActivity() != null) { + try { + HivIndexContactsContactsRegisterActivity.startHIVFormActivity(getActivity(), hivMemberObject.getBaseEntityId(), CoreConstants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), CoreConstants.JSON_FORM.getHivFollowupVisit()).toString()); + } catch (JSONException e) { + Timber.e(e); + } + } + } +} + + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivIndexContactsRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivIndexContactsRegisterFragmentModel.java new file mode 100644 index 0000000000..ad6fbfa8f0 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivIndexContactsRegisterFragmentModel.java @@ -0,0 +1,61 @@ +package org.smartregister.chw.model; + + +import androidx.annotation.NonNull; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.core.utils.ChildDBConstants; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.hiv.model.BaseHivRegisterFragmentModel; +import org.smartregister.chw.hiv.util.Constants.Tables; +import org.smartregister.chw.hiv.util.DBConstants.Key; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.family.util.DBConstants; + +import java.util.HashSet; +import java.util.Set; + +public class HivIndexContactsRegisterFragmentModel extends BaseHivRegisterFragmentModel { + + @NonNull + @Override + public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { + SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); + queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.FAMILY + " ON " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); + queryBuilder.customJoin("LEFT JOIN (select base_entity_id , max(visit_date) visit_date from visits GROUP by base_entity_id) VISIT_SUMMARY ON VISIT_SUMMARY.base_entity_id = " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); + return queryBuilder.mainCondition(mainCondition); + } + + @Override + @NotNull + public String[] mainColumns(String tableName) { + Set columnList = new HashSet<>(); + + columnList.add(tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.FIRST_NAME); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.LAST_NAME); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DOB); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.GENDER); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.PHONE_NUMBER); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.OTHER_PHONE_NUMBER); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); + columnList.add(Tables.HIV_INDEX_HF + "." + Key.HIV_CLIENT_ID); + columnList.add(Tables.HIV_INDEX_HF + "." + Key.HIV_TEST_ELIGIBILITY); + columnList.add(Tables.HIV_INDEX_HF + "." + Key.HAS_STARTED_MEDICATION); + columnList.add(Tables.HIV_INDEX_HF + "." + Key.TEST_RESULTS); + columnList.add(Tables.HIV_INDEX_HF + "." + Key.HOW_TO_NOTIFY_CONTACT_CLIENT); + columnList.add(Tables.HIV_INDEX_HF + "." + Key.HAS_THE_CONTACT_CLIENT_BEEN_TESTED); + columnList.add(Tables.HIV_INDEX_HF + "." + Key.ENROLLED_TO_CLINIC); + columnList.add(Tables.HIV_INDEX_HF + "." + Key.HIV_INDEX_REGISTRATION_DATE); + columnList.add(Tables.HIV_INDEX_HF + "." + Key.IS_CLOSED); + + return columnList.toArray(new String[columnList.size()]); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactProfilePresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactProfilePresenter.java new file mode 100644 index 0000000000..fbcc4e2c8d --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactProfilePresenter.java @@ -0,0 +1,30 @@ +package org.smartregister.chw.presenter; + +import android.app.Activity; + +import org.smartregister.chw.activity.HivProfileActivity; +import org.smartregister.chw.contract.HivIndexContactProfileContract; +import org.smartregister.chw.core.presenter.CoreHivIndexContactProfilePresenter; +import org.smartregister.chw.hiv.domain.HivIndexContactObject; +import org.smartregister.chw.model.ReferralTypeModel; +import org.smartregister.chw.util.Utils; + +import java.util.List; + +public class HivIndexContactProfilePresenter extends CoreHivIndexContactProfilePresenter + implements org.smartregister.chw.contract.AncMemberProfileContract.Presenter { + + private HivIndexContactObject HivIndexContactObject; + + public HivIndexContactProfilePresenter(HivIndexContactProfileContract.View view, HivIndexContactProfileContract.Interactor interactor, + HivIndexContactObject hivIndexContactObject) { + super(view, interactor, hivIndexContactObject); + this.HivIndexContactObject = HivIndexContactObject; + } + + @Override + public void referToFacility() { + List referralTypeModels = ((HivProfileActivity) getView()).getReferralTypeModels(); + Utils.launchClientReferralActivity((Activity) getView(), referralTypeModels, HivIndexContactObject.getBaseEntityId()); + } +} \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactsContactsRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactsContactsRegisterFragmentPresenter.java new file mode 100644 index 0000000000..adaad1d2ce --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactsContactsRegisterFragmentPresenter.java @@ -0,0 +1,49 @@ +package org.smartregister.chw.presenter; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.R; +import org.smartregister.chw.hiv.contract.BaseHivRegisterFragmentContract; +import org.smartregister.chw.hiv.presenter.BaseHivIndexContactsRegisterFragmentPresenter; +import org.smartregister.chw.hiv.util.Constants.Tables; +import org.smartregister.chw.hiv.util.DBConstants; + +public class HivIndexContactsContactsRegisterFragmentPresenter extends BaseHivIndexContactsRegisterFragmentPresenter { + + public HivIndexContactsContactsRegisterFragmentPresenter(BaseHivRegisterFragmentContract.View view, BaseHivRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { + super(view, model, viewConfigurationIdentifier); + } + + @Override + @NotNull + public String getMainCondition() { + return " " + + Tables.HIV_INDEX + "." + DBConstants.Key.TEST_RESULTS + " IS NULL AND " + + Tables.HIV_INDEX + "." + DBConstants.Key.REFER_TO_CHW + " = 'Yes' AND " + + Tables.HIV_INDEX + "." + DBConstants.Key.HOW_TO_NOTIFY_CONTACT_CLIENT + " <> 'na'"; + + } + + @Override + @NotNull + public String getDueFilterCondition() { + return ""; + } + + @Override + public void processViewConfigurations() { + super.processViewConfigurations(); + if (getConfig().getSearchBarText() != null && getView() != null) { + getView().updateSearchBarHint(getView().getContext().getString(R.string.search_name_or_id)); + } + + + if (getConfig().getFilterFields() != null && getView() != null) { + getView().updateSearchBarHint(getView().getContext().getString(R.string.search_name_or_id)); + } + } + + @Override + public String getMainTable() { + return Tables.HIV_INDEX; + } +} From d07c6bb2b2b946ca38bbf2d38d2cf0467e3474d9 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sat, 4 Sep 2021 23:11:21 +0300 Subject: [PATCH 101/915] Fixed some merging errors --- opensrp-chw/build.gradle | 2 +- .../chw/custom_view/DefaultNavigationMenuFlv.java | 5 ----- .../chw/fragment/HivFollowupRegisterFragment.java | 2 +- .../chw/task/ChwGoToMemberProfileBasedOnRegisterTask.java | 7 +++++++ 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 934a8c3a25..ab57993f0f 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -323,7 +323,7 @@ dependencies { androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' androidTestImplementation 'org.mockito:mockito-android:3.0.0' - implementation 'com.github.lecho:hellocharts-android:v1.5.8' + implementation 'com.github.lecho:hellocharts-library:1.5.8@aar' testImplementation "org.koin:koin-test:2.0.1" testImplementation 'junit:junit:4.13' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/DefaultNavigationMenuFlv.java b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/DefaultNavigationMenuFlv.java index 724e8e1461..16a9b970c8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/DefaultNavigationMenuFlv.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/DefaultNavigationMenuFlv.java @@ -53,11 +53,6 @@ public String childNavigationMenuCountString() { return null; } - @Override - public boolean hasCommunityResponders() { - return false; - } - @Override public Intent getHIA2ReportActivityIntent(Activity activity) { return null; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java index e663ee28c1..3578a89dda 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java @@ -43,7 +43,7 @@ protected void openProfile(CommonPersonObjectClient client) { if (getActivity() != null) { Intent intent = new Intent(getActivity(), HivCommunityFollowupDetailsActivity.class); Bundle bundle = new Bundle(); - bundle.putSerializable(Constants.HivMemberObject.MEMBER_OBJECT, HivDao.getCommunityFollowupMember(client.getColumnmaps().get(DBConstants.Key.BASE_ENTITY_ID))); + bundle.putSerializable(Constants.ActivityPayload.HIV_MEMBER_OBJECT, HivDao.getCommunityFollowupMember(client.getColumnmaps().get(DBConstants.Key.BASE_ENTITY_ID))); intent.putExtras(bundle); getActivity().startActivity(intent); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/task/ChwGoToMemberProfileBasedOnRegisterTask.java b/opensrp-chw/src/main/java/org/smartregister/chw/task/ChwGoToMemberProfileBasedOnRegisterTask.java index 5f10febf3e..2e7fee2340 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/task/ChwGoToMemberProfileBasedOnRegisterTask.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/task/ChwGoToMemberProfileBasedOnRegisterTask.java @@ -7,6 +7,7 @@ import org.smartregister.chw.activity.AncMemberProfileActivity; import org.smartregister.chw.activity.ChildProfileActivity; import org.smartregister.chw.activity.FamilyPlanningMemberProfileActivity; +import org.smartregister.chw.activity.HivIndexContactProfileActivity; import org.smartregister.chw.activity.HivProfileActivity; import org.smartregister.chw.activity.MalariaProfileActivity; import org.smartregister.chw.activity.PncMemberProfileActivity; @@ -17,6 +18,7 @@ import org.smartregister.chw.core.task.CoreChwNotificationGoToMemberProfileTask; import org.smartregister.chw.fp.dao.FpDao; import org.smartregister.chw.hiv.dao.HivDao; +import org.smartregister.chw.hiv.dao.HivIndexDao; import org.smartregister.chw.malaria.activity.BaseMalariaProfileActivity; import org.smartregister.chw.pnc.activity.BasePncMemberProfileActivity; import org.smartregister.chw.tb.dao.TbDao; @@ -38,6 +40,11 @@ protected void goToHivProfile(String baseEntityId, Activity activity) { HivProfileActivity.startHivProfileActivity(activity, HivDao.getMember(baseEntityId)); } + @Override + protected void goToHivIndexContactProfile(String baseEntityId, Activity activity) { + HivIndexContactProfileActivity.startHivIndexContactProfileActivity(activity, HivIndexDao.getMember(baseEntityId)); + } + @Override protected void goToTbProfile(String baseEntityId, Activity activity) { TbProfileActivity.startTbProfileActivity(activity, TbDao.getMember(baseEntityId)); From bcb9770480508b6d3f799e3a2e5b8f72d5e280a9 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sun, 5 Sep 2021 09:51:25 +0300 Subject: [PATCH 102/915] Added index testing ec_client_fields and ec_client_classification --- .../ba/assets/ec_client_classification.json | 14 ++ .../src/ba/assets/ec_client_fields.json | 174 ++++++++++++++++++ 2 files changed, 188 insertions(+) diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 541991c8cd..37ce6ece37 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -384,6 +384,13 @@ "ec_hiv_index" ] }, + { + "field": "eventType", + "field_value": "HIV Index Contact CHW Followup", + "creates_case": [ + "ec_hiv_index" + ] + }, { "field": "eventType", "field_value": "HIV Index Contact Testing Followup", @@ -398,6 +405,13 @@ "ec_hiv_index", "ec_hiv_index_contact_community_followup" ] + }, + { + "field": "eventType", + "field_value": "HIV Index Contact Community Followup Notification Dismissal", + "creates_case": [ + "ec_hiv_index_contact_community_followup" + ] } ] } diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index b11fec3387..be62d005d9 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -3039,6 +3039,180 @@ } } ] + }, + { + "name": "ec_hiv_index", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "hiv_client_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "index_client_base_entity_id" + } + }, + { + "column_name": "relationship", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "relationship" + } + }, + { + "column_name": "hiv_status", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "hiv_status" + } + }, + { + "column_name": "has_started_medication", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "has_started_medication" + } + }, + { + "column_name": "hiv_test_eligibility", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "eligibility_for_testing" + } + }, + { + "column_name": "how_to_notify_the_contact_client", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "how_to_notify_the_contact_client" + } + }, + { + "column_name": "has_the_contact_client_been_tested", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "has_the_contact_client_been_tested" + } + }, + { + "column_name": "test_results", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "test_results" + } + }, + { + "column_name": "enrolled_to_clinic", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "enrolled_to_clinic" + } + }, + { + "column_name": "ctc_number", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "ctc_number" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment" + } + }, + { + "column_name": "refer_to_chw", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "refer_to_chw" + } + }, + { + "column_name": "hiv_index_contact_community_followup_referral_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "hiv_index_contact_community_followup_referral_date" + } + }, + { + "column_name": "client_followed_up_by_chw", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "client_followed_up_by_chw" + } + }, + { + "column_name": "hiv_index_registration_date", + "type": "Event", + "json_mapping": { + "field": "eventDate" + } + } + ] + }, + { + "name": "ec_hiv_index_contact_community_followup", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment" + } + }, + { + "column_name": "hiv_index_contact_community_followup_referral_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "hiv_index_contact_community_followup_referral_date" + } + }, + { + "column_name": "date_marked_as_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_marked_as_done" + } + } + ] } ] } \ No newline at end of file From 087195171c18fc9e8fa1f5e0d442e1ab802ce60f Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sun, 5 Sep 2021 09:52:23 +0300 Subject: [PATCH 103/915] Added hiv index testing forms --- .../json.form-sw/hiv_followup_visit.json | 124 +---------- .../hiv_index_contact_followup.json | 194 ++++++++++++++++++ .../assets/json.form-sw/hiv_registration.json | 120 +++++++++++ .../assets/json.form/hiv_followup_visit.json | 124 +---------- .../json.form/hiv_index_contact_followup.json | 194 ++++++++++++++++++ .../ba/assets/json.form/hiv_registration.json | 120 +++++++++++ .../assets/rule/hiv_followup_form_rules.yml | 7 - .../rule/hiv_index_contact_followup_rules.yml | 28 +++ 8 files changed, 674 insertions(+), 237 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json create mode 100644 opensrp-chw/src/ba/assets/json.form/hiv_index_contact_followup.json create mode 100644 opensrp-chw/src/ba/assets/rule/hiv_index_contact_followup_rules.yml diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json index b4120bf254..6f0b52b5ad 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json @@ -249,121 +249,6 @@ "required_status": "true:Tafadhali jaza matatizo mengine", "subjects": "problem:map" }, - { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Tabia na mazingira hatarishi ya mteja" - }, - "options": [ - { - "name": "none", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Mlevi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_multiple_sexual_partners", - "text": "Ana wapenzi wengi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_multiple_sexual_partners", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_sexual_relations_with_different_peers", - "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_sexual_relations_with_different_peers", - "openmrs_entity_parent": "" - } - }, - { - "name": "fisherman", - "text": "Wavuvi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fisherman", - "openmrs_entity_parent": "" - } - }, - { - "name": "women_having_sex_with_other_women", - "text": "Wanawake wanaofanya ngono na wanawake wenzao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "women_having_sex_with_other_women", - "openmrs_entity_parent": "" - } - }, - { - "name": "sex_workers", - "text": "Wanaofanya biashara ya ngono", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "wood_workers", - "text": "Wapasua mbao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "wood_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining_workers", - "text": "Wachimba madini", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "men_having_sex_with_other_men ", - "text": "Wanaume wanaofanya ngono na wanaume wenzao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "men_having_sex_with_other_men", - "openmrs_entity_parent": "" - } - }, - { - "name": "truck_drivers ", - "text": "Madreva wa masafa marefu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "truck_drivers", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", - "subjects": "registration_or_followup_status:text" - }, { "name": "supplies_provided", "type": "multi_choice_checkbox", @@ -426,6 +311,15 @@ "openmrs_entity_parent": "" }, "options": [ + { + "name": "counselling", + "text": "Ushauri nasaha", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling", + "openmrs_entity_parent": "" + } + }, { "name": "other_hiv_services", "text": "Huduma nyingnie za UKIMWI katika jamii", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json new file mode 100644 index 0000000000..d4ab7216ab --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json @@ -0,0 +1,194 @@ +{ + "form": "HIV Index Contact CHW Followup", + "count": "1", + "encounter_type": "HIV Index Contact CHW Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_index_contact_followup_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Index Client Contact Followup", + "fields": [ + { + "name": "has_the_contact_client_been_found", + "type": "radio_group", + "properties": { + "text": "Have you found the contact client?" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_the_contact_client_been_found", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "yes", + "text": "Yes", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "yes", + "openmrs_entity_parent": "" + } + }, + { + "name": "no", + "text": "No", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the answer", + "dependent_calculations": [ + "client_followed_up_by_chw" + ] + }, + { + "name": "has_the_client_agreed_to_be_tested", + "type": "radio_group", + "properties": { + "text": "Has the client agreed to be tested for HIV?" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_the_client_agreed_to_be_tested", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "yes", + "text": "Yes", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "yes", + "openmrs_entity_parent": "" + } + }, + { + "name": "no", + "text": "No", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select whether the client has agreed to be tested for HIV", + "subjects": "has_the_contact_client_been_found:map" + }, + { + "name": "place_where_test_will_be_conducted", + "type": "radio_group", + "properties": { + "text": "Where has the client agreed to have the test?" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "place_where_test_was_conducted", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "facility", + "text": "At the Health Facility", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "facility", + "openmrs_entity_parent": "" + } + }, + { + "name": "community", + "text": "At the community", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the answer", + "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map" + }, + { + "name": "toast_give_a_referral_to_the_client", + "type": "toast_notification", + "properties": { + "notification_type": "info", + "dismissible": "no", + "title": "Client should be referred to Hospital", + "text": "The client should be referred to the Hospital for HIV testing.\nGive the client a referral", + "background_color": "#082455", + "text_color": "#EBEE2F" + }, + "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map, place_where_test_will_be_conducted:map" + }, + { + "name": "chw_comment", + "type": "text_input_edit_text", + "properties": { + "hint": "Remarks/Comments" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_comment", + "openmrs_entity_parent": "" + }, + "required_status": "false" + } + ] + } + ] +} + diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json index bd0ba56043..a58e782d0b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json @@ -69,6 +69,12 @@ "openmrs_entity_id": "ctc_number", "openmrs_entity_parent": "" }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Namba ya CTC iliyojazwa si sahihi." + } + ], "required_status": "false" }, { @@ -129,6 +135,120 @@ "dependent_calculations": [ "hiv_registration_date" ] + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Tabia na mazingira hatarishi ya mteja" + }, + "options": [ + { + "name": "none", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Mlevi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Ana wapenzi wengi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Wavuvi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "women_having_sex_with_other_women", + "text": "Wanawake wanaofanya ngono na wanawake wenzao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "women_having_sex_with_other_women", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Wanaofanya biashara ya ngono", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Wapasua mbao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Wachimba madini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Wanaume wanaofanya ngono na wanaume wenzao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Madreva wa masafa marefu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json index a54a8686a2..e8a4692855 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json @@ -249,121 +249,6 @@ "required_status": "true:Please specify other symptoms", "subjects": "problem:map" }, - { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Vulnerable and at risk behaviors" - }, - "options": [ - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Alcoholism", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_multiple_sexual_partners", - "text": "Has multiple sexual partners", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_multiple_sexual_partners", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_sexual_relations_with_different_peers", - "text": "Sexual relations with different peers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_sexual_relations_with_different_peers", - "openmrs_entity_parent": "" - } - }, - { - "name": "fisherman", - "text": "Fisherman", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fisherman", - "openmrs_entity_parent": "" - } - }, - { - "name": "women_having_sex_with_other_women", - "text": "Women having sex with other women", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "women_having_sex_with_other_women", - "openmrs_entity_parent": "" - } - }, - { - "name": "sex_workers", - "text": "Sex workers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "wood_workers", - "text": "Lumberman", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "wood_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining_workers", - "text": "Mining workers ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "men_having_sex_with_other_men ", - "text": "Men having sex with other men", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "men_having_sex_with_other_men", - "openmrs_entity_parent": "" - } - }, - { - "name": "truck_drivers ", - "text": "Trucks and long distance drivers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "truck_drivers", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's behaviour", - "subjects": "registration_or_followup_status:text" - }, { "name": "supplies_provided", "type": "multi_choice_checkbox", @@ -426,6 +311,15 @@ "openmrs_entity_parent": "" }, "options": [ + { + "name": "counselling", + "text": "Counselling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling", + "openmrs_entity_parent": "" + } + }, { "name": "other_hiv_services", "text": "Other HIV services", diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_index_contact_followup.json b/opensrp-chw/src/ba/assets/json.form/hiv_index_contact_followup.json new file mode 100644 index 0000000000..d4ab7216ab --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/hiv_index_contact_followup.json @@ -0,0 +1,194 @@ +{ + "form": "HIV Index Contact CHW Followup", + "count": "1", + "encounter_type": "HIV Index Contact CHW Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_index_contact_followup_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Index Client Contact Followup", + "fields": [ + { + "name": "has_the_contact_client_been_found", + "type": "radio_group", + "properties": { + "text": "Have you found the contact client?" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_the_contact_client_been_found", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "yes", + "text": "Yes", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "yes", + "openmrs_entity_parent": "" + } + }, + { + "name": "no", + "text": "No", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the answer", + "dependent_calculations": [ + "client_followed_up_by_chw" + ] + }, + { + "name": "has_the_client_agreed_to_be_tested", + "type": "radio_group", + "properties": { + "text": "Has the client agreed to be tested for HIV?" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_the_client_agreed_to_be_tested", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "yes", + "text": "Yes", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "yes", + "openmrs_entity_parent": "" + } + }, + { + "name": "no", + "text": "No", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select whether the client has agreed to be tested for HIV", + "subjects": "has_the_contact_client_been_found:map" + }, + { + "name": "place_where_test_will_be_conducted", + "type": "radio_group", + "properties": { + "text": "Where has the client agreed to have the test?" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "place_where_test_was_conducted", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "facility", + "text": "At the Health Facility", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "facility", + "openmrs_entity_parent": "" + } + }, + { + "name": "community", + "text": "At the community", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the answer", + "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map" + }, + { + "name": "toast_give_a_referral_to_the_client", + "type": "toast_notification", + "properties": { + "notification_type": "info", + "dismissible": "no", + "title": "Client should be referred to Hospital", + "text": "The client should be referred to the Hospital for HIV testing.\nGive the client a referral", + "background_color": "#082455", + "text_color": "#EBEE2F" + }, + "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map, place_where_test_will_be_conducted:map" + }, + { + "name": "chw_comment", + "type": "text_input_edit_text", + "properties": { + "hint": "Remarks/Comments" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_comment", + "openmrs_entity_parent": "" + }, + "required_status": "false" + } + ] + } + ] +} + diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/hiv_registration.json index caff5f41bf..4c6d31bcb8 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_registration.json @@ -69,6 +69,12 @@ "openmrs_entity_id": "ctc_number", "openmrs_entity_parent": "" }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Not a valid CTC Number." + } + ], "required_status": "false" }, { @@ -128,6 +134,120 @@ "dependent_calculations": [ "hiv_registration_date" ] + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Vulnerable and at risk behaviors" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Alcoholism", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Has multiple sexual partners", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Sexual relations with different peers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Fisherman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "women_having_sex_with_other_women", + "text": "Women having sex with other women", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "women_having_sex_with_other_women", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Sex workers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Lumberman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Mining workers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Men having sex with other men", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Trucks and long distance drivers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's behaviour" } ] } diff --git a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml index 0acfa77fa4..cfce067df1 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml @@ -20,13 +20,6 @@ condition: "problem['other_problems'] != null" actions: - "problem_other_visibility = true" --- -name: "client_behaviour_and_environmental_risk_visibility" -description: "client_behaviour_and_environmental_risk visibility" -priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" -actions: - - "client_behaviour_and_environmental_risk_visibility = true" ---- name: "supplies_provided_visibility" description: "supplies_provided visibility" priority: 1 diff --git a/opensrp-chw/src/ba/assets/rule/hiv_index_contact_followup_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_index_contact_followup_rules.yml new file mode 100644 index 0000000000..dd93a390b2 --- /dev/null +++ b/opensrp-chw/src/ba/assets/rule/hiv_index_contact_followup_rules.yml @@ -0,0 +1,28 @@ +--- +name: "client_followed_up_by_chw_calculation" +description: "client_followed_up_by_chw visibility" +priority: 1 +condition: "true" +actions: + - "client_followed_up_by_chw_calculation = true" +--- +name: "has_the_client_agreed_to_be_tested_visibility" +description: "has_the_client_agreed_to_be_tested visibility" +priority: 1 +condition: "has_the_contact_client_been_found['yes'] != null" +actions: + - "has_the_client_agreed_to_be_tested_visibility = true" +--- +name: "place_where_test_will_be_conducted_visibility" +description: "place_where_test_will_be_conducted visibility" +priority: 1 +condition: "has_the_contact_client_been_found['yes'] != null && has_the_client_agreed_to_be_tested['yes'] != null " +actions: + - "place_where_test_will_be_conducted_visibility = true" +--- +name: "toast_give_a_referral_to_the_client_visibility" +description: "toast_give_a_referral_to_the_client visibility" +priority: 2 +condition: "has_the_contact_client_been_found['yes'] != null && has_the_client_agreed_to_be_tested['yes'] != null && place_where_test_will_be_conducted['facility'] != null" +actions: + - "toast_give_a_referral_to_the_client_visibility = true" \ No newline at end of file From 1ad782892bf4a1253afcd3e81a3b207b7bf7b390 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sun, 5 Sep 2021 09:53:39 +0300 Subject: [PATCH 104/915] Refactored HivIndexContact Register and Profile Activity --- .../chw/model/NavigationModelFlv.java | 1 + opensrp-chw/src/main/AndroidManifest.xml | 10 +++ .../HivIndexContactProfileActivity.java | 69 ++++++++++++------- .../chw/application/ChwApplication.java | 2 + .../HivIndexContactFloatingMenu.java | 1 - ...HivIndexContactsRegisterFragmentModel.java | 18 ++--- .../HivIndexContactProfilePresenter.java | 9 +-- 7 files changed, 70 insertions(+), 40 deletions(-) diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java index 86d24f580a..fae47e204a 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -36,6 +36,7 @@ public List getNavigationItems() { if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { navigationOptions.add(new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.HIV_CLIENTS, 0)); + navigationOptions.add(new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_index_contacts, CoreConstants.DrawerMenu.HIV_INDEX_CLIENTS, 0)); navigationOptions.add(new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0)); } diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 99d8b74893..90a1941a82 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -255,6 +255,11 @@ android:label="@string/hiv_register" android:theme="@style/ChwTheme.NoActionBar" /> + + + + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java index 69e671f4d0..c3110e7737 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java @@ -5,6 +5,7 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.os.Bundle; import android.util.Pair; import android.view.Gravity; import android.view.Menu; @@ -17,22 +18,29 @@ import org.apache.commons.lang3.StringUtils; import org.json.JSONException; import org.json.JSONObject; +import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; +import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.activity.CoreHivIndexContactProfileActivity; +import org.smartregister.chw.core.adapter.NotificationListAdapter; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.interactor.CoreHivIndexContactProfileInteractor; import org.smartregister.chw.core.listener.OnClickFloatingMenu; import org.smartregister.chw.core.listener.OnRetrieveNotifications; +import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.custom_view.HivIndexContactFloatingMenu; import org.smartregister.chw.hiv.activity.BaseHivFormsActivity; import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.dao.HivIndexDao; import org.smartregister.chw.hiv.domain.HivIndexContactObject; +import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.HivIndexContactProfilePresenter; +import org.smartregister.chw.presenter.HivProfilePresenter; import org.smartregister.chw.tb.util.Constants; import org.smartregister.commonregistry.CommonPersonObjectClient; +import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -42,6 +50,8 @@ public class HivIndexContactProfileActivity extends CoreHivIndexContactProfileAc public final static String REGISTERED_TO_HIV_REGISTRY = "registered_to_hiv_registry"; private CommonPersonObjectClient commonPersonObjectClient; + private List referralTypeModels = new ArrayList<>(); + private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); public static void startHivIndexContactProfileActivity(Activity activity, HivIndexContactObject hivIndexContactObject) { Intent intent = new Intent(activity, HivIndexContactProfileActivity.class); @@ -56,27 +66,8 @@ public static void startHivIndexContactFollowupActivity(Activity activity, Strin HivIndexContactObject hivIndexContactObject = HivIndexDao.getMember(baseEntityID); - if (hivIndexContactObject.getHivStatus().equals("negative")) { - if (hivIndexContactObject.getRelationship().equals("sexual_partner")) { //Changing the rule file to the rule file for index contacts who are sex partners - JSONObject form = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivIndexContactFollowupVisitForNegativeClients()); - if (form != null) - form.put("rules_file", "rule/hiv_index_contact_followup_for_negative_sex_partners_rules.yml"); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, form.toString()); - } else { //Leaving the default rule files for non sex partners index contacts - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivIndexContactFollowupVisitForNegativeClients()).toString()); - } - } else if (hivIndexContactObject.getHivStatus().equals("positive")) { - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivIndexContactFollowupVisitForPositiveClients()).toString()); - } else { - if (hivIndexContactObject.getRelationship().equals("sexual_partner")) { //Changing the rule file to the rule file for index contacts who are sex partners - JSONObject form = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivIndexContactFollowupVisit()); - if (form != null) - form.put("rules_file", "rule/hiv_index_contact_followup_for_unknown_status_sex_partner_rules.yml"); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, form.toString()); - } else { //Leaving the default rule files for non sex partners index contacts - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivIndexContactFollowupVisit()).toString()); - } - } + JSONObject form = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivIndexContactFollowupVisit()); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, form.toString()); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); @@ -88,14 +79,22 @@ public static void startHivIndexContactFollowupActivity(Activity activity, Strin protected void onCreation() { super.onCreation(); setCommonPersonObjectClient(getClientDetailsByBaseEntityID(getHivIndexContactObject().getBaseEntityId())); + addHivReferralTypes(); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + notificationAndReferralRecyclerView.setAdapter(notificationListAdapter); + notificationListAdapter.setOnClickListener(this); } @Override protected void onResume() { super.onResume(); - if (notificationAndReferralRecyclerView != null && notificationAndReferralRecyclerView.getAdapter() != null) { - notificationAndReferralRecyclerView.getAdapter().notifyDataSetChanged(); - } + notificationListAdapter.canOpen = true; + ChwNotificationUtil.retrieveNotifications(ChwApplication.getApplicationFlavor().hasReferrals(), + getHivIndexContactObject().getBaseEntityId(), this); } public CommonPersonObjectClient getCommonPersonObjectClient() { @@ -159,6 +158,21 @@ public void onClick(View view) { } } + private void addHivReferralTypes() { + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { + referralTypeModels.add(new ReferralTypeModel(getString(R.string.hiv_referral), + CoreConstants.JSON_FORM.getHivReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_HIV)); + + referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), + CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + } + + } + + public List getReferralTypeModels() { + return referralTypeModels; + } + @Override public void initializeCallFAB() { setHivFloatingMenu(new HivIndexContactFloatingMenu(this, getHivIndexContactObject())); @@ -173,6 +187,9 @@ public void initializeCallFAB() { ((HivIndexContactFloatingMenu) getHivFloatingMenu()).launchCallWidget(); ((HivIndexContactFloatingMenu) getHivFloatingMenu()).animateFAB(); break; + case R.id.refer_to_facility_layout: + ((HivIndexContactProfilePresenter) getHivContactProfilePresenter()).referToFacility(); + break; default: Timber.d("Unknown fab action"); break; @@ -198,12 +215,12 @@ public Context getContext() { @Override public void verifyHasPhone() { - // TODO -> Implement for HF + // Implement } @Override public void notifyHasPhone(boolean b) { - // TODO -> Implement for HF + // Implement } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index 0c0e72003f..cf0fe4917a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -30,6 +30,7 @@ import org.smartregister.chw.activity.FamilyProfileActivity; import org.smartregister.chw.activity.FamilyRegisterActivity; import org.smartregister.chw.activity.FpRegisterActivity; +import org.smartregister.chw.activity.HivIndexContactsContactsRegisterActivity; import org.smartregister.chw.activity.HivRegisterActivity; import org.smartregister.chw.activity.LoginActivity; import org.smartregister.chw.activity.MalariaRegisterActivity; @@ -343,6 +344,7 @@ public Map getRegisteredActivities() { if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.ALL_CLIENTS_REGISTERED_ACTIVITY, AllClientsRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_REGISTER_ACTIVITY, HivRegisterActivity.class); + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_INDEX_REGISTER_ACTIVITY, HivIndexContactsContactsRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.TB_REGISTER_ACTIVITY, TbRegisterActivity.class); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/HivIndexContactFloatingMenu.java b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/HivIndexContactFloatingMenu.java index 8c9e68c061..0f74170c80 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/HivIndexContactFloatingMenu.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/HivIndexContactFloatingMenu.java @@ -8,6 +8,5 @@ public class HivIndexContactFloatingMenu extends CoreHivIndexContactFloatingMenu { public HivIndexContactFloatingMenu(Context context, HivIndexContactObject hivIndexContactObject) { super(context, hivIndexContactObject); - referLayout.setVisibility(GONE); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivIndexContactsRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivIndexContactsRegisterFragmentModel.java index ad6fbfa8f0..ebdf7dd997 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivIndexContactsRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivIndexContactsRegisterFragmentModel.java @@ -46,15 +46,15 @@ public String[] mainColumns(String tableName) { columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.OTHER_PHONE_NUMBER); columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); - columnList.add(Tables.HIV_INDEX_HF + "." + Key.HIV_CLIENT_ID); - columnList.add(Tables.HIV_INDEX_HF + "." + Key.HIV_TEST_ELIGIBILITY); - columnList.add(Tables.HIV_INDEX_HF + "." + Key.HAS_STARTED_MEDICATION); - columnList.add(Tables.HIV_INDEX_HF + "." + Key.TEST_RESULTS); - columnList.add(Tables.HIV_INDEX_HF + "." + Key.HOW_TO_NOTIFY_CONTACT_CLIENT); - columnList.add(Tables.HIV_INDEX_HF + "." + Key.HAS_THE_CONTACT_CLIENT_BEEN_TESTED); - columnList.add(Tables.HIV_INDEX_HF + "." + Key.ENROLLED_TO_CLINIC); - columnList.add(Tables.HIV_INDEX_HF + "." + Key.HIV_INDEX_REGISTRATION_DATE); - columnList.add(Tables.HIV_INDEX_HF + "." + Key.IS_CLOSED); + columnList.add(Tables.HIV_INDEX + "." + Key.HIV_CLIENT_ID); + columnList.add(Tables.HIV_INDEX + "." + Key.HIV_TEST_ELIGIBILITY); + columnList.add(Tables.HIV_INDEX + "." + Key.HAS_STARTED_MEDICATION); + columnList.add(Tables.HIV_INDEX + "." + Key.TEST_RESULTS); + columnList.add(Tables.HIV_INDEX + "." + Key.HOW_TO_NOTIFY_CONTACT_CLIENT); + columnList.add(Tables.HIV_INDEX + "." + Key.HAS_THE_CONTACT_CLIENT_BEEN_TESTED); + columnList.add(Tables.HIV_INDEX + "." + Key.ENROLLED_TO_CLINIC); + columnList.add(Tables.HIV_INDEX + "." + Key.HIV_INDEX_REGISTRATION_DATE); + columnList.add(Tables.HIV_INDEX + "." + Key.IS_CLOSED); return columnList.toArray(new String[columnList.size()]); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactProfilePresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactProfilePresenter.java index fbcc4e2c8d..e21789d7ca 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactProfilePresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactProfilePresenter.java @@ -2,6 +2,7 @@ import android.app.Activity; +import org.smartregister.chw.activity.HivIndexContactProfileActivity; import org.smartregister.chw.activity.HivProfileActivity; import org.smartregister.chw.contract.HivIndexContactProfileContract; import org.smartregister.chw.core.presenter.CoreHivIndexContactProfilePresenter; @@ -14,17 +15,17 @@ public class HivIndexContactProfilePresenter extends CoreHivIndexContactProfilePresenter implements org.smartregister.chw.contract.AncMemberProfileContract.Presenter { - private HivIndexContactObject HivIndexContactObject; + private HivIndexContactObject hivIndexContactObject; public HivIndexContactProfilePresenter(HivIndexContactProfileContract.View view, HivIndexContactProfileContract.Interactor interactor, HivIndexContactObject hivIndexContactObject) { super(view, interactor, hivIndexContactObject); - this.HivIndexContactObject = HivIndexContactObject; + this.hivIndexContactObject = hivIndexContactObject; } @Override public void referToFacility() { - List referralTypeModels = ((HivProfileActivity) getView()).getReferralTypeModels(); - Utils.launchClientReferralActivity((Activity) getView(), referralTypeModels, HivIndexContactObject.getBaseEntityId()); + List referralTypeModels = ((HivIndexContactProfileActivity) getView()).getReferralTypeModels(); + Utils.launchClientReferralActivity((Activity) getView(), referralTypeModels, hivIndexContactObject.getBaseEntityId()); } } \ No newline at end of file From 72eacfac0138a57a6908b704feeac76891a384dd Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 7 Sep 2021 11:25:26 +0300 Subject: [PATCH 105/915] updated dependencies --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index ab57993f0f..2399d8b43e 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.27-alpha1-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.28-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From fe4ec710e991172a0e778d7f849033d8d8620d8e Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Oct 2021 22:11:28 +0300 Subject: [PATCH 106/915] Various bugs fixes --- .../HivIndexContactProfileActivity.java | 11 ++- .../chw/activity/HivProfileActivity.java | 4 +- .../fragment/AllClientsRegisterFragment.java | 11 +++ ...HivIndexContactsRegisterFragmentModel.java | 1 + .../chw/provider/OpdRegisterProvider.java | 67 +++++++++++++++++++ 5 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/provider/OpdRegisterProvider.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java index c3110e7737..98014d8bfc 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java @@ -75,6 +75,15 @@ public static void startHivIndexContactFollowupActivity(Activity activity, Strin activity.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); } + @Override + public void setupViews() { + super.setupViews(); + if(getHivIndexContactObject().getFollowedUpByChw()){ + + } + } + + @Override protected void onCreation() { super.onCreation(); @@ -245,7 +254,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { @Override public void setFollowUpButtonDue() { super.setFollowUpButtonDue(); - showFollowUpVisitButton(!getHivIndexContactObject().getContactClientNotificationMethod().equals("na")); + showFollowUpVisitButton(!getHivIndexContactObject().getFollowedUpByChw()); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 0de12c637b..1f2745fe53 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -38,7 +38,7 @@ import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.HivProfilePresenter; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; -import org.smartregister.chw.tb.util.Constants; +import org.smartregister.chw.hiv.util.Constants; import java.util.ArrayList; import java.util.Date; @@ -56,7 +56,7 @@ public class HivProfileActivity extends CoreHivProfileActivity public static void startHivProfileActivity(Activity activity, HivMemberObject memberObject) { Intent intent = new Intent(activity, HivProfileActivity.class); - intent.putExtra(Constants.ActivityPayload.MEMBER_OBJECT, memberObject); + intent.putExtra(Constants.ActivityPayload.HIV_MEMBER_OBJECT, memberObject); activity.startActivity(intent); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java index ce6f387ee2..34fdde726a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java @@ -10,8 +10,10 @@ import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.dao.FamilyDao; import org.smartregister.chw.model.FamilyDetailsModel; +import org.smartregister.chw.provider.OpdRegisterProvider; import org.smartregister.chw.util.AllClientsUtils; import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; import org.smartregister.family.util.Constants; import org.smartregister.opd.utils.OpdDbConstants; @@ -76,4 +78,13 @@ protected void goToClientDetailActivity(@NonNull CommonPersonObjectClient common } } } + + + @Override + public void initializeAdapter() { + OpdRegisterProvider childRegisterProvider = new OpdRegisterProvider(getActivity(), registerActionHandler, paginationViewHandler); + clientAdapter = new RecyclerViewPaginatedAdapter(null, childRegisterProvider, context().commonrepository(this.tablename)); + clientAdapter.setCurrentlimit(20); + clientsView.setAdapter(clientAdapter); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivIndexContactsRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivIndexContactsRegisterFragmentModel.java index ebdf7dd997..629b4ac595 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivIndexContactsRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivIndexContactsRegisterFragmentModel.java @@ -52,6 +52,7 @@ public String[] mainColumns(String tableName) { columnList.add(Tables.HIV_INDEX + "." + Key.TEST_RESULTS); columnList.add(Tables.HIV_INDEX + "." + Key.HOW_TO_NOTIFY_CONTACT_CLIENT); columnList.add(Tables.HIV_INDEX + "." + Key.HAS_THE_CONTACT_CLIENT_BEEN_TESTED); + columnList.add(Tables.HIV_INDEX + "." + Key.FOLLOWED_UP_BY_CHW); columnList.add(Tables.HIV_INDEX + "." + Key.ENROLLED_TO_CLINIC); columnList.add(Tables.HIV_INDEX + "." + Key.HIV_INDEX_REGISTRATION_DATE); columnList.add(Tables.HIV_INDEX + "." + Key.IS_CLOSED); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/OpdRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/OpdRegisterProvider.java new file mode 100644 index 0000000000..35584a2619 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/OpdRegisterProvider.java @@ -0,0 +1,67 @@ +package org.smartregister.chw.provider; + +import android.content.Context; +import android.text.TextUtils; +import android.view.View; + +import androidx.annotation.NonNull; + +import org.smartregister.chw.R; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.family.util.DBConstants; +import org.smartregister.family.util.Utils; +import org.smartregister.opd.holders.OpdRegisterViewHolder; +import org.smartregister.opd.utils.OpdDbConstants; + +public class OpdRegisterProvider extends org.smartregister.opd.provider.OpdRegisterProvider { + private final Context context; + + public OpdRegisterProvider(@NonNull Context context, @NonNull View.OnClickListener onClickListener, @NonNull View.OnClickListener paginationClickListener) { + super(context, onClickListener, paginationClickListener); + this.context = context; + } + + @Override + public void populatePatientColumn(CommonPersonObjectClient commonPersonObjectClient, OpdRegisterViewHolder viewHolder) { + super.populatePatientColumn(commonPersonObjectClient, viewHolder); + String registerType = org.smartregister.util.Utils.getValue(commonPersonObjectClient.getColumnmaps(), + OpdDbConstants.KEY.REGISTER_TYPE, true); + + if (!TextUtils.isEmpty(registerType)) { + viewHolder.showRegisterType(); + String type = getTranslatedRegisterType(registerType); + fillValue(viewHolder.tvRegisterType, type); + } else { + viewHolder.hideRegisterType(); + } + } + + private String getTranslatedRegisterType(String registerType) { + if (registerType.equalsIgnoreCase(CoreConstants.REGISTER_TYPE.CHILD)) { + return context.getString(R.string.menu_child); + } else if (registerType.equalsIgnoreCase(CoreConstants.REGISTER_TYPE.ANC)) { + return context.getString(R.string.menu_anc); + } else if (registerType.equalsIgnoreCase(CoreConstants.REGISTER_TYPE.PNC)) { + return context.getString(R.string.menu_pnc); + } else if (registerType.equalsIgnoreCase(CoreConstants.REGISTER_TYPE.FAMILY_PLANNING)) { + return context.getString(R.string.menu_family_planning); + } else if (registerType.equalsIgnoreCase(CoreConstants.REGISTER_TYPE.MALARIA)) { + return context.getString(R.string.menu_malaria); + } + return registerType; + } + + @Override + public void setAddressAndGender(CommonPersonObjectClient pc, OpdRegisterViewHolder viewHolder) { + super.setAddressAndGender(pc, viewHolder); + String gender_key = Utils.getValue(pc.getColumnmaps(), DBConstants.KEY.GENDER, true); + String gender = ""; + if (gender_key.equalsIgnoreCase("Male")) { + gender = context.getString(org.smartregister.chw.core.R.string.male); + } else if (gender_key.equalsIgnoreCase("Female")) { + gender = context.getString(org.smartregister.chw.core.R.string.female); + } + fillValue(viewHolder.textViewGender, gender); + } +} From 3744eb0a880b74b9ff02e0f113e64e5774c4293e Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Oct 2021 22:21:39 +0300 Subject: [PATCH 107/915] Refactored json forms swahili na english naming, e.g Nearest Facility to VIllage --- .../all_clients_registration_form.json | 10 ++--- .../json.form-sw/family_details_register.json | 8 ++-- .../assets/json.form-sw/family_register.json | 10 ++--- .../all_clients_registration_form.json | 10 ++--- .../json.form/family_details_register.json | 8 ++-- .../ba/assets/json.form/family_register.json | 10 ++--- .../assets/json.form/hiv_followup_visit.json | 2 +- .../ba/assets/json.form/hiv_registration.json | 41 ++++++++++--------- .../ba/assets/json.form/tb_case_closure.json | 2 +- .../assets/json.form/tb_followup_visit.json | 2 +- .../rule/hiv_registration_form_rules.yml | 7 ++++ 11 files changed, 59 insertions(+), 51 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 959a9ce086..04d1766bb1 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -96,14 +96,14 @@ "openmrs_entity_id": "cityVillage", "type": "edit_text", "edit_type": "name", - "hint": "Kijiji / mtaa", + "hint": "Eneno", "v_required": { "value": "true", - "err": "Tafadhali ingiza kijiji au jiji" + "err": "Tafadhali ingiza jina la eneo" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Tafadhali ingiza jina halali la kijiji" + "err": "Tafadhali ingiza jina halali la eneo" } }, { @@ -142,11 +142,11 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Kituo cha karibu cha kutolea huduma za afya", + "hint": "Kijiji", "tree": [], "v_required": { "value": true, - "err": "Tafadhali ingiza kituo cha afya kilicho karibu" + "err": "Tafadhali chagua kijiji" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json index f220cf0520..d932b57e27 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json @@ -92,10 +92,10 @@ "openmrs_entity": "person_address", "openmrs_entity_id": "cityVillage", "type": "edit_text", - "hint": "Kijiji / mtaa", + "hint": "Jina la eneno", "v_required": { "value": "true", - "err": "Tafadhali ingiza kijiji au jiji" + "err": "Tafadhali ingiza jina la eneo" } }, { @@ -121,11 +121,11 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Kituo cha karibu cha kutolea huduma za afya", + "hint": "Kijiji", "tree": [], "v_required": { "value": true, - "err": "Tafadhali ingiza kituo cha afya kilicho karibu" + "err": "Tafadhali chagua kijiji" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index c71efc9518..7e44e457b0 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -96,14 +96,14 @@ "openmrs_entity_id": "cityVillage", "type": "edit_text", "edit_type": "name", - "hint": "Kijiji / mtaa", + "hint": "Eneo", "v_required": { "value": "true", - "err": "Tafadhali ingiza kijiji au jiji" + "err": "Tafadhali ingiza jina la eneo" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Tafadhali ingiza jina halali la kijiji" + "err": "Tafadhali ingiza jina halali la eneo" } }, { @@ -142,11 +142,11 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Kituo cha karibu cha kutolea huduma za afya", + "hint": "Kijiji", "tree": [], "v_required": { "value": true, - "err": "Tafadhali ingiza kituo cha afya kilicho karibu" + "err": "Tafadhali chagua jina la kijiji" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 6e2fba578b..46e7535493 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -96,14 +96,14 @@ "openmrs_entity_id": "cityVillage", "type": "edit_text", "edit_type": "name", - "hint": "Village", + "hint": "Area name", "v_required": { "value": "true", - "err": "Please enter the village or town" + "err": "Please enter the area name" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Please enter a valid village name" + "err": "Please enter a valid area name" } }, { @@ -142,11 +142,11 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Nearest health facility", + "hint": "Village", "tree": [], "v_required": { "value": true, - "err": "Please enter the nearest health facility" + "err": "Please select the village" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form/family_details_register.json b/opensrp-chw/src/ba/assets/json.form/family_details_register.json index cf37fb39e1..bf149eea08 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_details_register.json @@ -92,10 +92,10 @@ "openmrs_entity": "person_address", "openmrs_entity_id": "cityVillage", "type": "edit_text", - "hint": "Village/Town", + "hint": "Area Name", "v_required": { "value": "true", - "err": "Please enter the village or town" + "err": "Please enter the area name" } }, { @@ -121,11 +121,11 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Nearest health facility", + "hint": "Village", "tree": [], "v_required": { "value": true, - "err": "Please enter the nearest health facility" + "err": "Please enter the village" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index bba830d7e2..3ffa2ecb88 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -96,14 +96,14 @@ "openmrs_entity_id": "cityVillage", "type": "edit_text", "edit_type": "name", - "hint": "Village", + "hint": "Area Name", "v_required": { "value": "true", - "err": "Please enter the village or town" + "err": "Please enter the area name" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Please enter a valid village name" + "err": "Please enter a valid area name" } }, { @@ -142,11 +142,11 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Nearest health facility", + "hint": "Village", "tree": [], "v_required": { "value": true, - "err": "Please enter the nearest health facility" + "err": "Please select the village" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json index e8a4692855..9d16ee6990 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json @@ -179,7 +179,7 @@ }, { "name": "client_takes_care_of_himself", - "text": "Client takes care of him/herself (bathing, Eating)", + "text": "Client takes care of him/herself (Bathing, Eating)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_takes_care_of_himself", diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/hiv_registration.json index 4c6d31bcb8..6c6bcba6bd 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_registration.json @@ -57,26 +57,6 @@ { "title": "HIV Clients Registration form", "fields": [ - { - "name": "ctc_number", - "type": "text_input_edit_text", - "properties": { - "hint": "CTC Number", - "type": "Clinic of Treatment and Care registration number (CTC Number)" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Not a valid CTC Number." - } - ], - "required_status": "false" - }, { "name": "cbhs_number", "type": "text_input_edit_text", @@ -135,6 +115,27 @@ "hiv_registration_date" ] }, + { + "name": "ctc_number", + "type": "text_input_edit_text", + "properties": { + "hint": "CTC Number", + "type": "Clinic of Treatment and Care registration number (CTC Number)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Not a valid CTC Number." + } + ], + "required_status": "yes:Please specify client's CTC Number", + "subjects": "client_hiv_status_during_registration:text" + }, { "name": "client_behaviour_and_environmental_risk", "type": "spinner", diff --git a/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json b/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json index 62732c0fa2..5af5debd12 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json @@ -80,7 +80,7 @@ }, { "name": "client_takes_care_of_himself", - "text": "Client takes care of him/herself (bathing, Eating)", + "text": "Client takes care of him/herself (Bathing, Eating)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_takes_care_of_himself", diff --git a/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json index dd3c2ba478..a2bd0c4463 100644 --- a/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json @@ -179,7 +179,7 @@ }, { "name": "client_takes_care_of_himself", - "text": "Client takes care of him/herself (bathing, Eating)", + "text": "Client takes care of him/herself (Bathing, Eating)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_takes_care_of_himself", diff --git a/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml index 239d3ecfe3..9910c60874 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml @@ -1,4 +1,11 @@ --- +name: "ctc_number_visibility" +description: "ctc_number visibility" +priority: 1 +condition: "client_hiv_status_during_registration.value == 'Positive'" +actions: + - "ctc_number_visibility = true" +--- name: "hiv_registration_date_calculation" description: "calculating the hiv registration date" priority: 1 From 38ec18d2373a2f0f50682534e9c4a3f6a1e0fac4 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Oct 2021 22:27:51 +0300 Subject: [PATCH 108/915] Changed default activity after login in for the boresha south build from Family Registry to AllClients Registry --- .../org/smartregister/chw/activity/LoginActivity.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LoginActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LoginActivity.java index ffa9605601..85d7092284 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LoginActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LoginActivity.java @@ -121,8 +121,14 @@ public void goToHome(boolean remote) { } private void startHome(boolean remote) { - Intent intent = new Intent(this, ChwApplication.getApplicationFlavor().launchChildClientsAtLogin() ? - ChildRegisterActivity.class : FamilyRegisterActivity.class); + Intent intent; + if (BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { + intent = new Intent(this, ChwApplication.getApplicationFlavor().launchChildClientsAtLogin() ? + ChildRegisterActivity.class : AllClientsRegisterActivity.class); + } else { + intent = new Intent(this, ChwApplication.getApplicationFlavor().launchChildClientsAtLogin() ? + ChildRegisterActivity.class : FamilyRegisterActivity.class); + } intent.putExtra(Constants.INTENT_KEY.IS_REMOTE_LOGIN, remote); startActivity(intent); } From d8d4406efdbd7a328f40782a131e71583d273933 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Oct 2021 22:32:17 +0300 Subject: [PATCH 109/915] Refactored reasons for registrations, updated 'Women who sell sex' to 'Sex workers' --- .../src/ba/assets/json.form/all_clients_registration_form.json | 2 +- .../json.form/all_clients_update_registration_info_form.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 46e7535493..1f8073d71b 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -1036,7 +1036,7 @@ }, { "key": "sex_worker_woman", - "text": "Woman who sell sex", + "text": "Sex Worker", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index a0f8cd7de7..8b3a777722 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -938,7 +938,7 @@ }, { "key": "sex_worker_woman", - "text": "Woman who sell sex", + "text": "Sex Worker", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" From 4c535011b3aa764dc875b30f177d37afacf61469 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Oct 2021 22:42:53 +0300 Subject: [PATCH 110/915] Implemented mentioning other occupations in family and all clients registers --- .../all_clients_registration_form.json | 24 +++++++++++++++++++ .../json.form-sw/family_member_register.json | 24 +++++++++++++++++++ .../all_clients_registration_form.json | 24 +++++++++++++++++++ .../json.form/family_member_register.json | 24 +++++++++++++++++++ .../ba/assets/json.form/family_register.json | 24 +++++++++++++++++++ 5 files changed, 120 insertions(+) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 04d1766bb1..cee20d1224 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -883,6 +883,30 @@ "err": "Tafadhali chagua angalau moja" } }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Aina nyinginezo za shughuli anazojishughulisha mteja", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali taja anina ya shughuli" + }, + "relevance": { + "step2:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, { "key": "leader", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index ee01348364..24f1486204 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -791,6 +791,30 @@ "err": "Tafadhali chagua angalau moja" } }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Aina nyinginezo za shughuli anazojishughulisha mteja", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali taja anina ya shughuli" + }, + "relevance": { + "step1:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, { "key": "leader", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 1f8073d71b..baf9e6fc1f 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -883,6 +883,30 @@ "err": "Please pick at least one" } }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Mention other Occupation", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify the occupation" + }, + "relevance": { + "step2:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, { "key": "leader", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index 5481e20563..897267ddfc 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -791,6 +791,30 @@ "err": "Please pick at least one" } }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Mention other Occupation", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify the occupation" + }, + "relevance": { + "step1:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, { "key": "leader", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index 3ffa2ecb88..c04a108a7e 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -808,6 +808,30 @@ "err": "Please pick at least one" } }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Mention other Occupation", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify the occupation" + }, + "relevance": { + "step2:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, { "key": "leader", "openmrs_entity_parent": "", From e59f225609cbb90ae47ec82b5ce6e67bcd29df86 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 1 Nov 2021 06:03:02 +0300 Subject: [PATCH 111/915] Implemented more UAT changes proposed by NACP --- opensrp-chw/build.gradle | 6 +- .../ba/assets/ec_client_classification.json | 7 + .../src/ba/assets/ec_client_fields.json | 9 + .../all_clients_registration_form.json | 60 +- ...clients_update_registration_info_form.json | 10 +- .../assets/json.form-sw/child_enrollment.json | 10 +- .../json.form-sw/family_member_register.json | 10 +- .../assets/json.form-sw/family_register.json | 8 - .../json.form-sw/hiv_followup_visit.json | 426 +++++++- ...up_visit_for_clients_with_ctc_numbers.json | 784 ++++++++++++++ .../hiv_index_contact_followup.json | 4 +- .../assets/json.form-sw/hiv_registration.json | 136 +-- .../all_clients_registration_form.json | 128 ++- ...clients_update_registration_info_form.json | 78 +- .../ba/assets/json.form/child_enrollment.json | 79 +- .../json.form/family_member_register.json | 76 +- .../ba/assets/json.form/family_register.json | 126 ++- .../assets/json.form/hiv_followup_visit.json | 675 ++++++++++++- ...up_visit_for_clients_with_ctc_numbers.json | 956 ++++++++++++++++++ .../json.form/hiv_index_contact_followup.json | 4 +- .../ba/assets/json.form/hiv_registration.json | 149 +-- .../referrals/hiv_referral_form.json | 54 +- .../referrals/htc_referral_form.json | 173 ++++ .../rule/all_clients_member_calculation.yml | 16 +- .../rule/family_register_calculation.yml | 16 +- .../assets/rule/hiv_followup_form_rules.yml | 93 +- .../chw/model/NavigationModelFlv.java | 23 +- .../chw/repository/ChwRepositoryFlv.java | 2 +- opensrp-chw/src/ba/res/values-fr/strings.xml | 6 +- opensrp-chw/src/ba/res/values-sw/strings.xml | 8 +- opensrp-chw/src/ba/res/values/strings.xml | 12 +- opensrp-chw/src/main/AndroidManifest.xml | 2 + .../activity/AllClientsRegisterActivity.java | 19 +- .../HivIndexContactProfileActivity.java | 6 +- .../chw/activity/HivProfileActivity.java | 102 +- .../chw/application/ChwSyncConfiguration.java | 2 +- .../chw/fragment/HivRegisterFragment.java | 7 + 37 files changed, 3808 insertions(+), 474 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit_for_clients_with_ctc_numbers.json create mode 100644 opensrp-chw/src/ba/assets/json.form/hiv_followup_visit_for_clients_with_ctc_numbers.json create mode 100644 opensrp-chw/src/ba/assets/json.form/referrals/htc_referral_form.json diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 2399d8b43e..ec2d8a1731 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -127,7 +127,7 @@ android { buildConfigField "int", "SCHEDULE_SERVICE_MINUTES", '360' buildConfigField "int", "STOCK_USAGE_REPORT_MINUTES", '1440' buildConfigField "boolean", "USE_UNIFIED_REFERRAL_APPROACH", "true" - buildConfigField "boolean", "BUILD_FOR_BORESHA_AFYA_SOUTH", "false" + buildConfigField "boolean", "BUILD_FOR_BORESHA_AFYA_SOUTH", "true" testCoverageEnabled true } } @@ -178,11 +178,11 @@ android { versionName "1.0.9" buildConfigField "String", 'opensrp_url', '"https://boresha-afya.smartregister.org/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' - buildConfigField "String", 'opensrp_url_debug', '"https://boresha-afya-stage.smartregister.org/opensrp/"' + buildConfigField "String", 'opensrp_url_debug', '"http://50.116.15.4:8082/opensrp/"' // buildConfigField "String", 'opensrp_url_debug', '"https://ba-unified-stage.smartregister.org/opensrp/"' buildConfigField "String[]", "LOCATION_HIERACHY", '{"Country","Region","District","Ward" , "MOH Jhpiego Facility Name", "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS", '{"Ward" , "MOH Jhpiego Facility Name", "Health Facility", "Village", "Village Sublocations"}' - buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS_DEBUG", '{"Ward", "MOH Jhpiego Facility Name", "Health Facility", "Village", "Village Sublocations"}' + buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS_DEBUG", '{"Ward", "Facility", "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String", 'DEFAULT_LOCATION', '"Village Sublocations"' buildConfigField "String", 'DEFAULT_LOCATION_DEBUG', '"Village"' // Kujaku variables diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 37ce6ece37..9751d5cc0a 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -305,6 +305,13 @@ "ec_hiv_register" ] }, + { + "field": "eventType", + "field_value": "HIV Followup", + "creates_case": [ + "ec_hiv_register" + ] + }, { "field": "eventType", "field_value": "Tb Registration", diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index be62d005d9..d0cf641018 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2496,6 +2496,15 @@ "concept": "cbhs_number" } }, + { + "column_name": "registration_or_followup_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "registration_or_followup_status", + "value_field": "obs.fieldCode" + } + }, { "column_name": "client_hiv_status_during_registration", "type": "Event", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index cee20d1224..27138e6e1c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -74,6 +74,40 @@ "err": "Tafadhali ingiza jina la ukoo" } }, + { + "key": "client_first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" + } + }, + { + "key": "client_middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la kati", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kati" + } + }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -154,14 +188,6 @@ "step2": { "title": "Taarifa ya mteja", "fields": [ - { - "key": "photo", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "choose_image", - "uploadButtonText": "Chukua picha ya muhusika" - }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -169,7 +195,7 @@ "openmrs_entity_id": "opensrp_id", "type": "barcode", "barcode_type": "qrcode", - "hint": "Boresha Afya ID", + "hint": "WAJA ID", "scanButtonText": "Chukua QR code", "v_numeric": { "value": "true", @@ -220,6 +246,14 @@ "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Tafadhali ingiza jina halali" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } } }, { @@ -237,6 +271,14 @@ "v_required": { "value": "true", "err": "Tafadhali ingiza jina la kati" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } } }, { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 5d32e51e3e..1814185a7c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -56,14 +56,6 @@ "step1": { "title": "Taarifa ya mteja", "fields": [ - { - "key": "photo", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "choose_image", - "uploadButtonText": "Chukua picha ya muhusika" - }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -71,7 +63,7 @@ "openmrs_entity_id": "opensrp_id", "type": "barcode", "barcode_type": "qrcode", - "hint": "Boresha Afya ID", + "hint": "WAJA ID", "scanButtonText": "Chukua QR code", "v_numeric": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index 2e834e9ac7..b5a74912da 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -54,14 +54,6 @@ "step1": { "title": "Ongeza mtoto chini ya miaki 5", "fields": [ - { - "key": "photo", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "choose_image", - "uploadButtonText": "Chukua picha ya muhusika" - }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -69,7 +61,7 @@ "openmrs_entity_id": "opensrp_id", "type": "barcode", "barcode_type": "qrcode", - "hint": "Boresha Afya ID", + "hint": "WAJA ID", "scanButtonText": "Chukua QR code", "v_numeric": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 24f1486204..12fe6bde02 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -54,14 +54,6 @@ "step1": { "title": "Ongeza Mwanachama wa Familia", "fields": [ - { - "key": "photo", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "choose_image", - "uploadButtonText": "Chukua picha ya muhusika" - }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -69,7 +61,7 @@ "openmrs_entity_id": "opensrp_id", "type": "barcode", "barcode_type": "qrcode", - "hint": "Boresha Afya ID", + "hint": "WAJA ID", "scanButtonText": "Chukua QR code", "v_numeric": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 7e44e457b0..6cc9fe76fd 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -154,14 +154,6 @@ "step2": { "title": "Mkuu wa kaya", "fields": [ - { - "key": "photo", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "choose_image", - "uploadButtonText": "Chukua picha ya muhusika / kiongozi wa familia" - }, { "key": "unique_id", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json index 6f0b52b5ad..0d7c6502ec 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json @@ -200,7 +200,7 @@ "subjects": "registration_or_followup_status:text" }, { - "name": "problem", + "name": "health_problem", "type": "multi_choice_checkbox", "properties": { "text": "Matatizo ya kijamii/kitabibu ya Mteja" @@ -208,15 +208,110 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "problem" + "openmrs_entity_id": "health_problem" }, "options": [ { - "name": "other_problems", + "name": "pain", + "text": "Maumivu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "kukohoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kitabibu ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Matatizo ya lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "kushindwa kutimiza ratiba ya CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", "text": "Matatizo mengine", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "other_problems", + "openmrs_entity_id": "other_social_problems", "openmrs_entity_parent": "" } }, @@ -235,25 +330,149 @@ "subjects": "registration_or_followup_status:text" }, { - "name": "problem_other", + "name": "social_problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Matatizo mengine ya kijamii/kitabibu ya Mteja", + "hint": "Matatizo mengine ya kijamii ya Mteja", "type": "name" }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" }, "required_status": "true:Tafadhali jaza matatizo mengine", - "subjects": "problem:map" + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Tabia na mazingira hatarishi ya mteja" + }, + "options": [ + { + "name": "none", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Mlevi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Ana wapenzi wengi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Wavuvi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "women_having_sex_with_other_women", + "text": "Wanawake wanaofanya ngono na wanawake wenzao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "women_having_sex_with_other_women", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "Wajidunga", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Wanaofanya biashara ya ngono", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Wapasua mbao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Wachimba madini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Wanaume wanaofanya ngono na wanaume wenzao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Madreva wa masafa marefu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", + "subjects": "registration_or_followup_status:text" }, { "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Vifaa na dawa zilizotolewa" + "text": "Vifaa vilizotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -262,17 +481,62 @@ }, "options": [ { - "name": "other_medicine", - "text": "Vifaa na dawa nyingine", + "name": "soap", + "text": "Sabuni", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Mashuka", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "chandarua", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Kondomu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Other supplies", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", "openmrs_entity_parent": "" } }, { "name": "none", - "text": "Hamna kilichotolewa", + "text": "None", "is_exclusive": true, "meta_data": { "openmrs_entity": "", @@ -281,14 +545,14 @@ } } ], - "required_status": "yes:Tafadhali jaza vifaa na dawa zilizotolewa", + "required_status": "yes:Please choose supplies given", "subjects": "registration_or_followup_status:text" }, { "name": "supplies_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Vifaa na dawa nyingine vilivyotolewa", + "hint": "Vifaa vingine", "type": "name" }, "meta_data": { @@ -296,9 +560,77 @@ "openmrs_entity_id": "supplies_provided_other", "openmrs_entity_parent": "supplies_provided" }, - "required_status": "true:Tafadhali jaza vifaa na dawa nyingine", + "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", "subjects": "supplies_provided:map" }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Dawa Nyinginezo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", + "subjects": "medicine_provided:map" + }, { "name": "hiv_services_provided", "type": "multi_choice_checkbox", @@ -312,11 +644,65 @@ }, "options": [ { - "name": "counselling", - "text": "Ushauri nasaha", + "name": "nutrition_counselling", + "text": "ushauri wa lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "Elimu kuhusu maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Upimaji wa awali", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Ushauri wa kisaikolojia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "Usafi wa nyumba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Huduma za afya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Huduma za tiba", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "counselling", + "openmrs_entity_id": "medical_services", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit_for_clients_with_ctc_numbers.json new file mode 100644 index 0000000000..1883990135 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -0,0 +1,784 @@ +{ + "form": "HIV Followup form", + "count": "1", + "encounter_type": "HIV Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya kumtembelea mgonjwa wa VVU", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Hali ya usajili/ ufuatiliaji" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "Mpya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma akitokea mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Amefuzu huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya ufwatiliaji", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya mteja" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Anaweza kufanya shughuli zake za kila siku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa) ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Hajimudu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem" + }, + "options": [ + { + "name": "pain", + "text": "Maumivu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "kukohoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kitabibu ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Matatizo ya lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "kushindwa kutimiza ratiba ya CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kijamii ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Tabia na mazingira hatarishi ya mteja" + }, + "options": [ + { + "name": "none", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Mlevi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Ana wapenzi wengi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Wavuvi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "women_having_sex_with_other_women", + "text": "Wanawake wanaofanya ngono na wanawake wenzao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "women_having_sex_with_other_women", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "Wajidunga", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Wanaofanya biashara ya ngono", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Wapasua mbao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Wachimba madini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Wanaume wanaofanya ngono na wanaume wenzao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Madreva wa masafa marefu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Vifaa vilizotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Sabuni", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Mashuka", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "chandarua", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Kondomu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Other supplies", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Vifaa vingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Dawa Nyinginezo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma zilizotolewa (Huduma za UKIMWI katika jamii ikiwemo ACUK) " + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "ushauri wa lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "Elimu kuhusu maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Upimaji wa awali", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Ushauri wa kisaikolojia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "Usafi wa nyumba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Huduma za afya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Huduma za tiba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Huduma nyingnie za UKIMWI katika jamii", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna huduma iliyotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "subjects": "hiv_services_provided:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "Hali ya Tiba na Matunzo (CTC)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_and_uses_medication", + "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_ctc_clinic", + "text": "Hajaandikishwa CTC/PMTCT", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", + "subjects": "registration_or_followup_status:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json index d4ab7216ab..c27050ca02 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json @@ -169,8 +169,8 @@ "dismissible": "no", "title": "Client should be referred to Hospital", "text": "The client should be referred to the Hospital for HIV testing.\nGive the client a referral", - "background_color": "#082455", - "text_color": "#EBEE2F" + "background_color": "#f50424", + "text_color": "#FFFFFF" }, "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map, place_where_test_will_be_conducted:map" }, diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json index a58e782d0b..e389676e2c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json @@ -57,26 +57,6 @@ { "title": "Usajili wa wateja wa VVU", "fields": [ - { - "name": "ctc_number", - "type": "text_input_edit_text", - "properties": { - "hint": "Namba ya CTC", - "type": "Namba ya CTC" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Namba ya CTC iliyojazwa si sahihi." - } - ], - "required_status": "false" - }, { "name": "cbhs_number", "type": "text_input_edit_text", @@ -137,118 +117,24 @@ ] }, { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", + "name": "ctc_number", + "type": "text_input_edit_text", + "properties": { + "hint": "Namba ya CTC", + "type": "Namba ya CTC" + }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_id": "ctc_number", "openmrs_entity_parent": "" }, - "properties": { - "text": "Tabia na mazingira hatarishi ya mteja" - }, - "options": [ - { - "name": "none", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Mlevi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_multiple_sexual_partners", - "text": "Ana wapenzi wengi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_multiple_sexual_partners", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_sexual_relations_with_different_peers", - "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_sexual_relations_with_different_peers", - "openmrs_entity_parent": "" - } - }, - { - "name": "fisherman", - "text": "Wavuvi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fisherman", - "openmrs_entity_parent": "" - } - }, - { - "name": "women_having_sex_with_other_women", - "text": "Wanawake wanaofanya ngono na wanawake wenzao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "women_having_sex_with_other_women", - "openmrs_entity_parent": "" - } - }, - { - "name": "sex_workers", - "text": "Wanaofanya biashara ya ngono", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "wood_workers", - "text": "Wapasua mbao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "wood_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining_workers", - "text": "Wachimba madini", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "men_having_sex_with_other_men ", - "text": "Wanaume wanaofanya ngono na wanaume wenzao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "men_having_sex_with_other_men", - "openmrs_entity_parent": "" - } - }, + "validation": [ { - "name": "truck_drivers ", - "text": "Madreva wa masafa marefu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "truck_drivers", - "openmrs_entity_parent": "" - } + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Namba ya CTC iliyojazwa si sahihi." } ], - "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja" + "subjects": "client_hiv_status_during_registration:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index baf9e6fc1f..f3c3739a5e 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -74,6 +74,40 @@ "err": "Please enter surname" } }, + { + "key": "client_first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + } + }, + { + "key": "client_middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Middle name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the middle name" + } + }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -154,14 +188,6 @@ "step2": { "title": "Client details", "fields": [ - { - "key": "photo", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "choose_image", - "uploadButtonText": "Take a picture of the person" - }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -169,7 +195,7 @@ "openmrs_entity_id": "opensrp_id", "type": "barcode", "barcode_type": "qrcode", - "hint": "Boresha Afya ID", + "hint": "WAJA ID", "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", @@ -220,6 +246,14 @@ "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } } }, { @@ -237,6 +271,14 @@ "v_required": { "value": "true", "err": "Please enter the middle name" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } } }, { @@ -668,9 +710,69 @@ "key": "type_of_disability", "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Type of disability", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Type of physical disabilities", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Mobility and Physical Impairments", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Spinal Cord Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Head Injuries - Brain Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Vision Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Hearing Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Cognitive or Learning Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Psychological Disorders", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Invisible Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], "v_required": { "value": "true", "err": "Please enter type of disability" @@ -779,7 +881,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Occupation of the family member", + "label": "Occupation of the Client", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index 8b3a777722..dfbb8648ce 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -56,14 +56,6 @@ "step1": { "title": "Client details", "fields": [ - { - "key": "photo", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "choose_image", - "uploadButtonText": "Take a picture of the person" - }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -71,7 +63,7 @@ "openmrs_entity_id": "opensrp_id", "type": "barcode", "barcode_type": "qrcode", - "hint": "Boresha Afya ID", + "hint": "WAJA ID", "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", @@ -570,9 +562,69 @@ "key": "type_of_disability", "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Type of disability", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Type of physical disabilities", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Mobility and Physical Impairments", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Spinal Cord Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Head Injuries - Brain Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Vision Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Hearing Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Cognitive or Learning Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Psychological Disorders", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Invisible Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], "v_required": { "value": "true", "err": "Please enter type of disability" @@ -681,7 +733,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Occupation of the family member", + "label": "Occupation of the Client", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json index 1f2632772f..21cffe07b5 100644 --- a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json @@ -52,16 +52,8 @@ } }, "step1": { - "title": "Add Child Under 5", + "title": "Add Child Under 5 years", "fields": [ - { - "key": "photo", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "choose_image", - "uploadButtonText": "Take a picture of the person" - }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -399,12 +391,71 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "", + "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "edit_type": "name", - "hint": "Type of physical disabilities", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Type of physical disabilities", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Mobility and Physical Impairments", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Spinal Cord Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Head Injuries - Brain Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Vision Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Hearing Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Cognitive or Learning Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Psychological Disorders", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Invisible Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], "relevance": { "rules-engine": { "ex-rules": { diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index 897267ddfc..2470566457 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -54,14 +54,6 @@ "step1": { "title": "Add Family Member", "fields": [ - { - "key": "photo", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "choose_image", - "uploadButtonText": "Take a picture of the person" - }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -69,7 +61,7 @@ "openmrs_entity_id": "opensrp_id", "type": "barcode", "barcode_type": "qrcode", - "hint": "Boresha Afya ID", + "hint": "WAJA ID", "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", @@ -610,9 +602,69 @@ "key": "type_of_disability", "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Type of disability", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Type of physical disabilities", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Mobility and Physical Impairments", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Spinal Cord Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Head Injuries - Brain Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Vision Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Hearing Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Cognitive or Learning Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Psychological Disorders", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Invisible Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], "v_required": { "value": "true", "err": "Please enter type of disability" diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index c04a108a7e..c40665fb6f 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -63,7 +63,7 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Family name", + "hint": "Family name (Family Head's Surname)", "edit_type": "name", "v_required": { "value": "true", @@ -74,6 +74,40 @@ "err": "Please enter a valid name" } }, + { + "key": "client_first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Family Head's First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + } + }, + { + "key": "client_middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Family Head's Middle name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the middle name" + } + }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -154,14 +188,6 @@ "step2": { "title": "Family head", "fields": [ - { - "key": "photo", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "choose_image", - "uploadButtonText": "Take a picture of the person" - }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -195,6 +221,14 @@ "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } } }, { @@ -212,6 +246,14 @@ "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } } }, { @@ -651,9 +693,69 @@ "key": "type_of_disability", "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Type of disability", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Type of physical disabilities", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Mobility and Physical Impairments", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Spinal Cord Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Head Injuries - Brain Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Vision Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Hearing Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Cognitive or Learning Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Psychological Disorders", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Invisible Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], "v_required": { "value": "true", "err": "Please enter type of disability" diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json index 9d16ee6990..89b59b7237 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json @@ -142,8 +142,8 @@ } }, { - "name": "completed_and_qualified_from_the_services ", - "text": "Client has completed and qualified from the services ", + "name": "completed_and_qualified_from_the_services", + "text": "Client has completed and qualified from the services", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "completed_and_qualified_from_the_services", @@ -156,6 +156,79 @@ "hiv_followup_visit_date" ] }, + { + "name": "client_hiv_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's HIV status after testing" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's hiv status", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "ctc_number", + "type": "text_input_edit_text", + "properties": { + "hint": "CTC Number", + "type": "Clinic of Treatment and Care registration number (CTC Number)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Not a valid CTC Number." + } + ], + "required_status": "yes:Please specify client's CTC Number", + "subjects": "client_hiv_status_after_testing:text" + }, { "name": "client_condition", "type": "spinner", @@ -200,10 +273,10 @@ "subjects": "registration_or_followup_status:text" }, { - "name": "problem", + "name": "health_problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick problem/Social challenges faced by the Client." + "text": "Pick Health Challenges faced by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -212,11 +285,106 @@ }, "options": [ { - "name": "other_problems", - "text": "Other Problems", + "name": "pain", + "text": "Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "Coughing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Other Health Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Health Problems", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Please specify other health problems", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Social challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "Failure to adhere to CTC Appointments Schedule", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Transport issues while attending CTC", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "other_problems", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Other Social Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", "openmrs_entity_parent": "" } }, @@ -235,25 +403,149 @@ "subjects": "registration_or_followup_status:text" }, { - "name": "problem_other", + "name": "social_problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Other symptoms", + "hint": "Other Social Challenges", "type": "name" }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Please specify other social problems faced", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Vulnerable and at risk behaviors" }, - "required_status": "true:Please specify other symptoms", - "subjects": "problem:map" + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Alcoholism", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Has multiple sexual partners", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Sexual relations with different peers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Fisherman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "women_having_sex_with_other_women", + "text": "Women having sex with other women", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "women_having_sex_with_other_women", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "People Who Inject Drugs (PWID)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Sex workers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Lumberman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Mining workers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Men having sex with other men", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Trucks and long distance drivers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's behaviour", + "subjects": "registration_or_followup_status:text" }, { "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Supplies/medicines provided" + "text": "Supplies provided" }, "meta_data": { "openmrs_entity": "concept", @@ -262,11 +554,56 @@ }, "options": [ { - "name": "other_medicine", - "text": "Other treatment", + "name": "soap", + "text": "Soap", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "Mosquito Nets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Bed Sheets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Water disinfectant", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Condoms", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Other supplies", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", "openmrs_entity_parent": "" } }, @@ -288,7 +625,7 @@ "name": "supplies_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Supplies/Medicine", + "hint": "Other Supplies", "type": "name" }, "meta_data": { @@ -296,9 +633,77 @@ "openmrs_entity_id": "supplies_provided_other", "openmrs_entity_parent": "supplies_provided" }, - "required_status": "true:Please specify other supplies/Medicine given", + "required_status": "true:Please specify other supplies given", "subjects": "supplies_provided:map" }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Other Medicine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Please specify other medicine given", + "subjects": "medicine_provided:map" + }, { "name": "hiv_services_provided", "type": "multi_choice_checkbox", @@ -312,11 +717,65 @@ }, "options": [ { - "name": "counselling", - "text": "Counselling", + "name": "nutrition_counselling", + "text": "Nutririon Counselling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "HIV Infection Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Preliminary Testing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Psychological Counseling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "House Cleanliness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Health Care", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Medical Services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "counselling", + "openmrs_entity_id": "medical_services", "openmrs_entity_parent": "" } }, @@ -358,6 +817,178 @@ "required_status": "true:Please specify other HIV services provided", "subjects": "hiv_services_provided:map" }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals Issued to the Client for Other Services." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other HIV Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals to other services Completed by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referrals Completed", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, { "name": "state_of_therapy", "type": "spinner", diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit_for_clients_with_ctc_numbers.json new file mode 100644 index 0000000000..b44d9e1375 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -0,0 +1,956 @@ +{ + "form": "HIV Followup form", + "count": "1", + "encounter_type": "HIV Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "HIV Followup form", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Registration/Followup status" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "New Client", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Clients continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Client has completed and qualified from the services ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the registration/followup status", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Condition of the client" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Client does her daily activities", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Client takes care of him/herself (Bathing, Eating)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Client is unable to take care of him/herself", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's condition", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Health Challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "pain", + "text": "Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "Coughing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Other Health Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Health Problems", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Please specify other health problems", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Social challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "Failure to adhere to CTC Appointments Schedule", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Transport issues while attending CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Other Social Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Social Challenges", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Please specify other social problems faced", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Vulnerable and at risk behaviors" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Alcoholism", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Has multiple sexual partners", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Sexual relations with different peers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Fisherman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "women_having_sex_with_other_women", + "text": "Women having sex with other women", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "women_having_sex_with_other_women", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "People Who Inject Drugs (PWID)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Sex workers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Lumberman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Mining workers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Men having sex with other men", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Trucks and long distance drivers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's behaviour", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Supplies provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Soap", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "Mosquito Nets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Bed Sheets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Water disinfectant", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Condoms", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Other supplies", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies/medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Supplies", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Please specify other supplies given", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Other Medicine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Please specify other medicine given", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "HIV services provided by CHW at the community" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "Nutririon Counselling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "HIV Infection Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Preliminary Testing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Psychological Counseling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "House Cleanliness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Health Care", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Medical Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please fill the HIV services provided", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other HIV Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Please specify other HIV services provided", + "subjects": "hiv_services_provided:map" + }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals Issued to the Client for Other Services." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other HIV Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals to other services Completed by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referrals Completed", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "State of HIV Care and treatment" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Registered in CTC/PMTCT clinic and uses ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the state of HIV therapy", + "subjects": "registration_or_followup_status:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_index_contact_followup.json b/opensrp-chw/src/ba/assets/json.form/hiv_index_contact_followup.json index d4ab7216ab..c27050ca02 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_index_contact_followup.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_index_contact_followup.json @@ -169,8 +169,8 @@ "dismissible": "no", "title": "Client should be referred to Hospital", "text": "The client should be referred to the Hospital for HIV testing.\nGive the client a referral", - "background_color": "#082455", - "text_color": "#EBEE2F" + "background_color": "#f50424", + "text_color": "#FFFFFF" }, "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map, place_where_test_will_be_conducted:map" }, diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/hiv_registration.json index 6c6bcba6bd..9c0ec23b4d 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_registration.json @@ -55,7 +55,7 @@ }, "steps": [ { - "title": "HIV Clients Registration form", + "title": "CBHS Registration Form", "fields": [ { "name": "cbhs_number", @@ -68,7 +68,13 @@ "openmrs_entity_id": "cbhs_number", "openmrs_entity_parent": "" }, - "required_status": "false" + "validation": [ + { + "condition": "value.matches(\"(\\\\d{5}/\\\\d{4}/\\\\d{4}/\\\\d{6})?\")", + "message": "CBHS Number should be of the format (-----/----/----/------)." + } + ], + "required_status": "yes:Please specify client's CBHS Number" }, { "name": "client_hiv_status_during_registration", @@ -110,7 +116,6 @@ } } ], - "required_status": "yes:Please specify client's hiv status", "dependent_calculations": [ "hiv_registration_date" ] @@ -133,122 +138,46 @@ "message": "Not a valid CTC Number." } ], - "required_status": "yes:Please specify client's CTC Number", "subjects": "client_hiv_status_during_registration:text" }, { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", + "name": "tb_number", + "type": "text_input_edit_text", + "properties": { + "hint": "TB ID", + "type": "TB Clinic ID" + }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_id": "tb_number", "openmrs_entity_parent": "" + } + }, + { + "name": "rch_number", + "type": "text_input_edit_text", + "properties": { + "hint": "RCH ID", + "type": "RCH Clinic ID" }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "rch_number", + "openmrs_entity_parent": "" + } + }, + { + "name": "mat_number", + "type": "text_input_edit_text", "properties": { - "text": "Vulnerable and at risk behaviors" + "hint": "MAT ID", + "type": "MAT Clinic ID" }, - "options": [ - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Alcoholism", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_multiple_sexual_partners", - "text": "Has multiple sexual partners", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_multiple_sexual_partners", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_sexual_relations_with_different_peers", - "text": "Sexual relations with different peers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_sexual_relations_with_different_peers", - "openmrs_entity_parent": "" - } - }, - { - "name": "fisherman", - "text": "Fisherman", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fisherman", - "openmrs_entity_parent": "" - } - }, - { - "name": "women_having_sex_with_other_women", - "text": "Women having sex with other women", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "women_having_sex_with_other_women", - "openmrs_entity_parent": "" - } - }, - { - "name": "sex_workers", - "text": "Sex workers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "wood_workers", - "text": "Lumberman", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "wood_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining_workers", - "text": "Mining workers ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "men_having_sex_with_other_men ", - "text": "Men having sex with other men", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "men_having_sex_with_other_men", - "openmrs_entity_parent": "" - } - }, - { - "name": "truck_drivers ", - "text": "Trucks and long distance drivers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "truck_drivers", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's behaviour" + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mat_number", + "openmrs_entity_parent": "" + } } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json index d043941819..3543e4fe15 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json @@ -69,38 +69,20 @@ }, "options": [ { - "name": "frequent_fever", - "text": "Frequent fever", + "name": "pain", + "text": "Pain", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "frequent_fever", - "openmrs_entity_parent": "" - } - }, - { - "name": "weight_loss", - "text": "Weight loss", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "weight_loss", - "openmrs_entity_parent": "" - } - }, - { - "name": "living_with_a_spouse_with_hiv", - "text": "Living with HIV+ spouse", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "living_with_a_spouse_with_hiv", + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", "openmrs_entity_parent": "" } }, { - "name": "living_in_a_risky_area", - "text": "Risk area/location", + "name": "coughing", + "text": "Coughing", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "living_in_a_risky_area", + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", "openmrs_entity_parent": "" } }, @@ -149,12 +131,30 @@ "openmrs_entity_parent": "" }, "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, { "name": "Other_treatment", "text": "Other treatment", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Other_treatment", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/htc_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/htc_referral_form.json new file mode 100644 index 0000000000..26100ab63a --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/referrals/htc_referral_form.json @@ -0,0 +1,173 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "HIV Testing Services Referral Form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick problem/condition associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "options": [ + { + "name": "frequent_fever", + "text": "Frequent fever", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "frequent_fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "weight_loss", + "text": "Weight loss", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "weight_loss", + "openmrs_entity_parent": "" + } + }, + { + "name": "living_with_a_spouse_with_hiv", + "text": "Living with HIV+ spouse", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "living_with_a_spouse_with_hiv", + "openmrs_entity_parent": "" + } + }, + { + "name": "living_in_a_risky_area", + "text": "Risk area/location", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "living_in_a_risky_area", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Other Symptom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml index 4f789121b2..a9ff69c340 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml @@ -18,4 +18,18 @@ description: set surname as the one added in step one priority: 1 condition: "true" actions: - - "calculation = step1_fam_name" \ No newline at end of file + - "calculation = step1_fam_name" +--- +name: step2_first_name +description: set surname as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_client_first_name" +--- +name: step2_middle_name +description: set surname as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_client_middle_name" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml b/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml index d756714a44..5d515e58ea 100644 --- a/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml +++ b/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml @@ -18,4 +18,18 @@ description: wra calculation priority: 1 condition: "step2_sex == 'Female' && (step2_age_calculated >= 10 && step2_age_calculated <= 49)" actions: - - "calculation = 1" \ No newline at end of file + - "calculation = 1" +--- +name: step2_first_name +description: set surname as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_client_first_name" +--- +name: step2_middle_name +description: set surname as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_client_middle_name" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml index cfce067df1..91ae57ee7c 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml @@ -6,19 +6,47 @@ condition: "registration_or_followup_status.value=='New Client' || registration_ actions: - "client_condition_visibility = true" --- -name: "problem_visibility" -description: "problem visibility" +name: "client_hiv_status_after_testing_visibility" +description: "client_hiv_status_after_testing visibility" priority: 1 condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" actions: - - "problem_visibility = true" + - "client_hiv_status_after_testing_visibility = true" --- -name: "problem_other_visibility" -description: "problem visibility" +name: "ctc_number_visibility" +description: "ctc_number visibility" priority: 1 -condition: "problem['other_problems'] != null" +condition: "client_hiv_status_after_testing.value == 'Positive'" actions: - - "problem_other_visibility = true" + - "ctc_number_visibility = true" +--- +name: "health_problem_visibility" +description: "health_problem visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "health_problem_visibility = true" +--- +name: "health_problem_other_visibility" +description: "health_problem_other visibility" +priority: 1 +condition: "health_problem['other_health_problems'] != null" +actions: + - "health_problem_other_visibility = true" +--- +name: "social_problem_visibility" +description: "social_problem visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "social_problem_visibility = true" +--- +name: "social_problem_other_visibility" +description: "social_problem_other visibility" +priority: 1 +condition: "social_problem['other_social_problems'] != null" +actions: + - "social_problem_other_visibility = true" --- name: "supplies_provided_visibility" description: "supplies_provided visibility" @@ -30,10 +58,31 @@ actions: name: "supplies_provided_other_visibility" description: "supplies_provided_other visibility" priority: 1 -condition: "supplies_provided['other_medicine'] != null" +condition: "supplies_provided['other_supplies'] != null" actions: - "supplies_provided_other_visibility = true" --- +name: "client_behaviour_and_environmental_risk_visibility" +description: "client_behaviour_and_environmental_risk visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "client_behaviour_and_environmental_risk_visibility = true" +--- +name: "medicine_provided_visibility" +description: "medicine_provided visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +actions: + - "medicine_provided_visibility = true" +--- +name: "medicine_provided_other_visibility" +description: "medicine_provided_other visibility" +priority: 1 +condition: "medicine_provided['other_medicine'] != null" +actions: + - "medicine_provided_other_visibility = true" +--- name: "hiv_services_provided_visibility" description: "hiv_services_provided visibility" priority: 1 @@ -48,6 +97,34 @@ condition: "hiv_services_provided['other_hiv_services'] != null" actions: - "hiv_services_provided_other_visibility = true" --- +name: "referrals_issued_to_other_services_visibility" +description: "referrals_issued_to_other_services visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" +actions: + - "referrals_issued_to_other_services_visibility = true" +--- +name: "referrals_issued_to_other_services_other_visibility" +description: "referrals_issued_to_other_services_other visibility" +priority: 1 +condition: "referrals_issued_to_other_services['other_referrals'] != null" +actions: + - "referrals_issued_to_other_services_other_visibility = true" +--- +name: "referrals_to_other_services_completed_visibility" +description: "referrals_to_other_services_completed visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" +actions: + - "referrals_to_other_services_completed_visibility = true" +--- +name: "referrals_to_other_services_completed_other_visibility" +description: "referrals_to_other_services_completed_other visibility" +priority: 1 +condition: "referrals_to_other_services_completed['other_referrals'] != null" +actions: + - "referrals_to_other_services_completed_other_visibility = true" +--- name: "state_of_therapy_visibility" description: "state_of_therapy visibility" priority: 1 diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java index fae47e204a..e742b169ff 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -28,22 +28,21 @@ public List getNavigationItems() { NavigationOption op7 = new NavigationOption(R.mipmap.sidemenu_malaria, R.mipmap.sidemenu_malaria_active, R.string.menu_malaria, Constants.DrawerMenu.MALARIA, 0); NavigationOption op8 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.menu_referrals, Constants.DrawerMenu.REFERRALS, 0); NavigationOption op9 = new NavigationOption(R.mipmap.sidemenu_updates, R.mipmap.sidemenu_updates_active, R.string.updates, CoreConstants.DrawerMenu.UPDATES, 0); + NavigationOption op10 = new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0); + NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.HIV_CLIENTS, 0); + NavigationOption op12 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_index_contacts, CoreConstants.DrawerMenu.HIV_INDEX_CLIENTS, 0); + NavigationOption op13 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); - if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) - navigationOptions.add(new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0)); - - navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); + //Reordered the Items as requested by Ministry of Health National AIDS Control Program (NACP) if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { - navigationOptions.add(new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.HIV_CLIENTS, 0)); - navigationOptions.add(new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_index_contacts, CoreConstants.DrawerMenu.HIV_INDEX_CLIENTS, 0)); - navigationOptions.add(new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0)); + navigationOptions.addAll(Arrays.asList(op10,op1, op11, op12, op8, op3, op5, op2, op6, op7, op13, op9)); + } else { + navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) + navigationOptions.add(op8); + navigationOptions.add(op9); } - - if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) - navigationOptions.add(op8); - - navigationOptions.add(op9); } return navigationOptions; diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/repository/ChwRepositoryFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/repository/ChwRepositoryFlv.java index 0ffd1c367b..72a4027868 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/repository/ChwRepositoryFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/repository/ChwRepositoryFlv.java @@ -378,7 +378,7 @@ private static void upgradeToVersion23(SQLiteDatabase db) { private static void upgradeToVersion24(SQLiteDatabase db) { try { DatabaseMigrationUtils.createAddedECTables(db, - new HashSet<>(Arrays.asList("ec_hiv_register", "ec_hiv_community_followup", "ec_hiv_community_feedback", "ec_tb_register", "ec_tb_community_followup", "ec_tb_community_feedback", "ec_hiv_outcome", "ec_tb_outcome")), + new HashSet<>(Arrays.asList("ec_hiv_register", "ec_hiv_community_followup", "ec_hiv_community_feedback", "ec_tb_register", "ec_tb_community_followup", "ec_tb_community_feedback", "ec_hiv_outcome", "ec_tb_outcome","ec_hiv_index","ec_hiv_index_contact_community_followup")), ChwApplication.createCommonFtsObject()); } catch (Exception e) { Timber.e(e, "upgradeToVersion24"); diff --git a/opensrp-chw/src/ba/res/values-fr/strings.xml b/opensrp-chw/src/ba/res/values-fr/strings.xml index e486f02f89..965d2beaa4 100644 --- a/opensrp-chw/src/ba/res/values-fr/strings.xml +++ b/opensrp-chw/src/ba/res/values-fr/strings.xml @@ -1,6 +1,6 @@ - Boresha Afya - USAID Boresha Afya \n WAJA app - USAID Boresha Afya + Ministry of Health + Ministry of Health \n WAJA app + Ministry of Health \ No newline at end of file diff --git a/opensrp-chw/src/ba/res/values-sw/strings.xml b/opensrp-chw/src/ba/res/values-sw/strings.xml index 176cbe4ef7..7476dd672e 100644 --- a/opensrp-chw/src/ba/res/values-sw/strings.xml +++ b/opensrp-chw/src/ba/res/values-sw/strings.xml @@ -1,12 +1,16 @@ WAJA - USAID Boresha Afya \n WAJA app - USAID Boresha Afya + Ministry of Health \n WAJA app + Ministry of Health Wajawazito Baada ya Kujifungua Kliniki ya Tiba na matunzo (CTC) + Ushauri nasaha na kupima Kliniki ya kutibu kifua kikuu Huduma ya kuzui ukatili wa kijinsia (dawati la jinsia) Huduma ya kuzui ukatili wa kijinsia (dawati la jinsia) Imeumbwa: %s + UWANYU + Rudi kwenye wateja wa UWANYU + Wateja wa UWANYU \ No newline at end of file diff --git a/opensrp-chw/src/ba/res/values/strings.xml b/opensrp-chw/src/ba/res/values/strings.xml index 41829e668c..d48d797545 100644 --- a/opensrp-chw/src/ba/res/values/strings.xml +++ b/opensrp-chw/src/ba/res/values/strings.xml @@ -1,13 +1,21 @@ WAJA - USAID Boresha Afya \n WAJA app - USAID Boresha Afya + Ministry of Health \n WAJA app + Ministry of Health ANC PNC SICK CHILD FORM Clinic of Treatment and Care + HIV Testing Services Clinic Of Tuberculosis Treatment Gender Based Violence Referral Child Gender Based Violence Referral Created: %s + SAVE + PENDING + SUCCESSFUL + NOT COMPLETED + CBHS + Return to all CBHS clients + CBHS Clients \ No newline at end of file diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 90a1941a82..9d934b85d2 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -28,6 +28,7 @@ android:name=".application.ChwApplication" android:allowBackup="true" android:supportsRtl="true" + android:usesCleartextTraffic="true" android:theme="@style/ChwTheme" tools:replace="android:theme"> referralTypeModels = new ArrayList<>(); private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); private Flavor flavor = new HivProfileActivityFlv(); @@ -63,13 +74,62 @@ public static void startHivProfileActivity(Activity activity, HivMemberObject me public static void startHivFollowupActivity(Activity activity, String baseEntityID) throws JSONException { Intent intent = new Intent(activity, BaseHivFormsActivity.class); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); + + HivMemberObject hivMemberObject = HivDao.getMember(baseEntityID); + JSONObject formJsonObject; + + if (hivMemberObject.getCtcNumber().isEmpty()) { + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()); + } else { + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisitForClientsWithCtcNumbers()); + } + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, formJsonObject.toString()); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); activity.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); } + @Override + public void setProfileViewDetails(@androidx.annotation.Nullable HivMemberObject hivMemberObject) { + super.setProfileViewDetails(hivMemberObject); + + if (!getHivMemberObject().getClientFollowupStatus().equals("")) { + int labelTextColor; + int background; + String labelText; + + getTvStatus().setVisibility(View.VISIBLE); + switch (getHivMemberObject().getClientFollowupStatus()) { + case FOLLOWUP_STATUS_DECEASED_EN_VALUE: + case FOLLOWUP_STATUS_DECEASED_SW_VALUE: + labelTextColor = context().getColorResource(org.smartregister.chw.opensrp_chw_anc.R.color.high_risk_text_red); + background = org.smartregister.chw.opensrp_chw_anc.R.drawable.high_risk_label; + labelText = getResources().getString(R.string.client_followup_status_deceased); + hideFollowUpVisitButton(); + break; + case FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE_EN_VALUE: + case FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE_SW_VALUE: + labelTextColor = context().getColorResource(org.smartregister.chw.opensrp_chw_anc.R.color.low_risk_text_green); + background = org.smartregister.chw.opensrp_chw_anc.R.drawable.low_risk_label; + labelText = getResources().getString(R.string.client_followup_status_qualified_from_service); + hideFollowUpVisitButton(); + break; + default: + labelTextColor = context().getColorResource(org.smartregister.chw.opensrp_chw_anc.R.color.default_risk_text_black); + background = org.smartregister.chw.opensrp_chw_anc.R.drawable.risk_label; + labelText = ""; + getTvStatus().setVisibility(View.GONE); + break; + } + + getTvStatus().setText(labelText); + getTvStatus().setTextColor(labelTextColor); + getTvStatus().setBackgroundResource(background); + } + + } + @Override protected void onCreation() { super.onCreation(); @@ -91,6 +151,12 @@ protected void onResume() { getHivMemberObject().getBaseEntityId(), this); } + @Override + public void setupViews() { + super.setupViews(); + + } + @Override protected void removeMember() { IndividualProfileRemoveActivity.startIndividualProfileActivity(HivProfileActivity.this, @@ -199,8 +265,36 @@ public void openFollowUpVisitForm(boolean isEdit) { private void addHivReferralTypes() { if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { - referralTypeModels.add(new ReferralTypeModel(getString(R.string.hiv_referral), - CoreConstants.JSON_FORM.getHivReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_HIV)); + + //HIV Testing referrals will only be issued to non positive clients + if (getHivMemberObject().getCtcNumber().isEmpty()) { + referralTypeModels.add(new ReferralTypeModel(getString(R.string.hts_referral), + CoreConstants.JSON_FORM.getHtsReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_HIV)); + } else { //HIV Treatment and care referrals will be issued to HIV Positive clients + referralTypeModels.add(new ReferralTypeModel(getString(R.string.hiv_referral), + CoreConstants.JSON_FORM.getHivReferralForm(), CoreConstants.TASKS_FOCUS.SICK_HIV)); + } + + referralTypeModels.add(new ReferralTypeModel(getString(R.string.tb_referral), + CoreConstants.JSON_FORM.getTbReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_TB)); + + + if (getHivMemberObject().getGender().equalsIgnoreCase("Female")) { + //Obtaining the clients CommonPersonObjectClient used for checking is the client is Of Reproductive Age + CommonRepository commonRepository = Utils.context().commonrepository(Utils.metadata().familyMemberRegister.tableName); + + final CommonPersonObject commonPersonObject = commonRepository.findByBaseEntityId(getHivMemberObject().getBaseEntityId()); + final CommonPersonObjectClient client = new CommonPersonObjectClient(commonPersonObject.getCaseId(), commonPersonObject.getDetails(), ""); + client.setColumnmaps(commonPersonObject.getColumnmaps()); + + if (org.smartregister.chw.core.utils.Utils.isMemberOfReproductiveAge(client, 15, 49)) { + referralTypeModels.add(new ReferralTypeModel(getString(R.string.anc_danger_signs), + CoreConstants.JSON_FORM.getAncReferralForm(), CoreConstants.TASKS_FOCUS.ANC_DANGER_SIGNS)); + + referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_danger_signs), + CoreConstants.JSON_FORM.getPncReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); + } + } referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java index 13f8959020..4d3698c30a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java @@ -69,6 +69,6 @@ public List getSynchronizedLocationTags() { @Override public String getTopAllowedLocationLevel() { - return "District"; + return "Council"; } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index 19fac2b1e8..3dad590328 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -4,6 +4,7 @@ import org.jetbrains.annotations.Nullable; import org.json.JSONException; +import org.smartregister.chw.R; import org.smartregister.chw.activity.HivProfileActivity; import org.smartregister.chw.activity.HivRegisterActivity; import org.smartregister.chw.core.fragment.CoreHivRegisterFragment; @@ -12,12 +13,18 @@ import org.smartregister.chw.model.HivRegisterFragmentModel; import org.smartregister.chw.presenter.HivRegisterFragmentPresenter; import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.view.customcontrols.CustomFontTextView; import java.util.Objects; import timber.log.Timber; public class HivRegisterFragment extends CoreHivRegisterFragment { + @Override + public void setupViews(android.view.View view) { + super.setupViews(view); + ((CustomFontTextView) view.findViewById(R.id.txt_title_label)).setText(getString(R.string.hiv_clients)); + } @Override protected void initializePresenter() { if (getActivity() == null) { From ac288e74e7136a670f64cf7312b0e3a8a5e7ec3f Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sat, 6 Nov 2021 12:10:23 +0300 Subject: [PATCH 112/915] Refactored Opening HIV Registration forms. Separated the forms for male and female --- .../src/ba/assets/ec_client_fields.json | 24 +++ .../assets/json.form-sw/hiv_registration.json | 39 ++++ ...tion.json => female_hiv_registration.json} | 0 .../json.form/male_hiv_registration.json | 172 ++++++++++++++++++ ...erral_form.json => hts_referral_form.json} | 0 .../AllClientsMemberProfileActivity.java | 9 +- .../FamilyOtherMemberProfileActivity.java | 10 +- .../chw/activity/HivProfileActivity.java | 55 +++++- .../activity/PncMemberProfileActivity.java | 2 +- .../chw/activity/TbProfileActivity.java | 14 +- .../HivIndexContactsRegisterFragment.java | 9 +- .../chw/fragment/HivRegisterFragment.java | 10 +- 12 files changed, 334 insertions(+), 10 deletions(-) rename opensrp-chw/src/ba/assets/json.form/{hiv_registration.json => female_hiv_registration.json} (100%) create mode 100644 opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json rename opensrp-chw/src/ba/assets/json.form/referrals/{htc_referral_form.json => hts_referral_form.json} (100%) diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index d0cf641018..1be5b40cd2 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2488,6 +2488,30 @@ "concept": "ctc_number" } }, + { + "column_name": "tb_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "tb_number" + } + }, + { + "column_name": "rch_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "rch_number" + } + }, + { + "column_name": "mat_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "mat_number" + } + }, { "column_name": "cbhs_number", "type": "Event", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json index e389676e2c..c8e2817d23 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json @@ -135,6 +135,45 @@ } ], "subjects": "client_hiv_status_during_registration:text" + }, + { + "name": "tb_number", + "type": "text_input_edit_text", + "properties": { + "hint": "TB ID", + "type": "TB Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_number", + "openmrs_entity_parent": "" + } + }, + { + "name": "rch_number", + "type": "text_input_edit_text", + "properties": { + "hint": "RCH ID", + "type": "RCH Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "rch_number", + "openmrs_entity_parent": "" + } + }, + { + "name": "mat_number", + "type": "text_input_edit_text", + "properties": { + "hint": "MAT ID", + "type": "MAT Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mat_number", + "openmrs_entity_parent": "" + } } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json similarity index 100% rename from opensrp-chw/src/ba/assets/json.form/hiv_registration.json rename to opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json new file mode 100644 index 0000000000..030226c6b1 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json @@ -0,0 +1,172 @@ +{ + "form": "HIV Registration form", + "count": "1", + "encounter_type": "HIV Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "CBHS Registration Form", + "fields": [ + { + "name": "cbhs_number", + "type": "text_input_edit_text", + "properties": { + "hint": "Community Based Health Services Registration Number (CBHS Number)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cbhs_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{5}/\\\\d{4}/\\\\d{4}/\\\\d{6})?\")", + "message": "CBHS Number should be of the format (-----/----/----/------)." + } + ], + "required_status": "yes:Please specify client's CBHS Number" + }, + { + "name": "client_hiv_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's HIV status during registration" + }, + "options": [ + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "hiv_registration_date" + ] + }, + { + "name": "ctc_number", + "type": "text_input_edit_text", + "properties": { + "hint": "CTC Number", + "type": "Clinic of Treatment and Care registration number (CTC Number)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Not a valid CTC Number." + } + ], + "subjects": "client_hiv_status_during_registration:text" + }, + { + "name": "tb_number", + "type": "text_input_edit_text", + "properties": { + "hint": "TB ID", + "type": "TB Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_number", + "openmrs_entity_parent": "" + } + }, + { + "name": "mat_number", + "type": "text_input_edit_text", + "properties": { + "hint": "MAT ID", + "type": "MAT Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mat_number", + "openmrs_entity_parent": "" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/htc_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json similarity index 100% rename from opensrp-chw/src/ba/assets/json.form/referrals/htc_referral_form.json rename to opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index c827d8225e..0d69c1086f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -69,8 +69,15 @@ protected void startMalariaRegister() { @Override protected void startHivRegister() { + String gender = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.GENDER, false); + String formName; + if (gender.equalsIgnoreCase("male")) { + formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); + } else { + formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); + } try { - HivRegisterActivity.startHIVFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, Constants.JSON_FORM.getHivRegistration()).toString()); + HivRegisterActivity.startHIVFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); } catch (JSONException e) { Timber.e(e); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index b8bccdc9cd..4b036fa515 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -122,8 +122,16 @@ protected void removeIndividualProfile() { @Override protected void startHivRegister() { + String gender = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.GENDER, false); + String formName; + if (gender.equalsIgnoreCase("male")) { + formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); + } else { + formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); + } + try { - HivRegisterActivity.startHIVFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId, Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, Constants.JSON_FORM.getHivRegistration()).toString()); + HivRegisterActivity.startHIVFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId, formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); } catch (JSONException e) { Timber.e(e); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 1ce7308b01..9892ed471f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -17,6 +17,7 @@ import com.vijay.jsonwizard.utils.FormUtils; import org.apache.commons.lang3.StringUtils; +import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.BuildConfig; @@ -185,6 +186,8 @@ public void onClick(View view) { int id = view.getId(); if (id == R.id.record_hiv_followup_visit) { openFollowUpVisitForm(false); + } else if (id == R.id.rlHivRegistrationDate) { + startHivRegistrationDetailsActivity(); } handleNotificationRowClick(this, view, notificationListAdapter, getHivMemberObject().getBaseEntityId()); } @@ -227,7 +230,13 @@ public void openMedicalHistory() { @Override public void openHivRegistrationForm() { try { - HivRegisterActivity.startHIVFormActivity(this, getHivMemberObject().getBaseEntityId(), CoreConstants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getHivRegistration()).toString()); + String formName; + if (getHivMemberObject().getGender().equalsIgnoreCase("male")) { + formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); + } else { + formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); + } + HivRegisterActivity.startHIVFormActivity(this, getHivMemberObject().getBaseEntityId(), formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); } catch (JSONException e) { Timber.e(e); } @@ -368,6 +377,50 @@ protected void startTbRegister() { } } + /** + * Pre-populating the registration form before opening it + */ + public void startHivRegistrationDetailsActivity() { + Intent intent = new Intent(this, BaseHivFormsActivity.class); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, getHivMemberObject().getBaseEntityId()); + + String formName; + if (getHivMemberObject().getGender().equalsIgnoreCase("male")) { + formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); + } else { + formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); + } + + JSONObject formJsonObject = null; + try { + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName); + JSONArray fields = formJsonObject.getJSONArray("steps").getJSONObject(0).getJSONArray("fields"); + + for (int i = 0; i < fields.length(); i++) { + JSONObject field = fields.getJSONObject(i); + if (field.getString("name").equals("cbhs_number")) { + field.getJSONObject("properties").put("text", getHivMemberObject().getCbhsNumber()); + } else if (field.getString("name").equals("client_hiv_status_during_registration")) { + if (!getHivMemberObject().getCtcNumber().isEmpty()) + field.getJSONObject("properties").put("selection", "1"); + else + field.getJSONObject("properties").put("selection", "0"); + } else if (field.getString("name").equals("ctc_number") && !getHivMemberObject().getCtcNumber().isEmpty()) { + field.getJSONObject("properties").put("text", getHivMemberObject().getCtcNumber()); + } + } + + } catch (JSONException e) { + Timber.e(e); + } + + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, formJsonObject.toString()); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.REGISTRATION); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); + + this.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); + } + public interface Flavor { void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index 8a24caba75..aee11966b8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -398,7 +398,7 @@ protected void startFpRegister() { @Override protected void startHivRegister() { try { - HivRegisterActivity.startHIVFormActivity(this, memberObject.getBaseEntityId(), JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, JSON_FORM.getHivRegistration()).toString()); + HivRegisterActivity.startHIVFormActivity(this, memberObject.getBaseEntityId(), JSON_FORM.getFemaleHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, JSON_FORM.getFemaleHivRegistration()).toString()); } catch (JSONException e) { Timber.e(e); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index f899621075..af701e0ed0 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -1,5 +1,8 @@ package org.smartregister.chw.activity; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -44,9 +47,6 @@ import io.reactivex.annotations.Nullable; import timber.log.Timber; -import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; -import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; - public class TbProfileActivity extends CoreTbProfileActivity implements FamilyProfileExtendedContract.PresenterCallBack, OnRetrieveNotifications { @@ -275,8 +275,14 @@ public boolean onOptionsItemSelected(MenuItem item) { } protected void startHivRegister() { + String formName; + if (getTbMemberObject().getGender().equalsIgnoreCase("male")) { + formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); + } else { + formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); + } try { - HivRegisterActivity.startHIVFormActivity(TbProfileActivity.this, getTbMemberObject().getBaseEntityId(), CoreConstants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getHivRegistration()).toString()); + HivRegisterActivity.startHIVFormActivity(TbProfileActivity.this, getTbMemberObject().getBaseEntityId(), formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); } catch (JSONException e) { Timber.e(e); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java index 7ffba530ad..cdc2cb846a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java @@ -44,8 +44,15 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable HivMemberObject hivMemberObject) { if (getActivity() != null) { + String formName; + if (hivMemberObject.getGender().equalsIgnoreCase("male")) { + formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); + } else { + formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); + } + try { - HivIndexContactsContactsRegisterActivity.startHIVFormActivity(getActivity(), hivMemberObject.getBaseEntityId(), CoreConstants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), CoreConstants.JSON_FORM.getHivFollowupVisit()).toString()); + HivIndexContactsContactsRegisterActivity.startHIVFormActivity(getActivity(), hivMemberObject.getBaseEntityId(), formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), CoreConstants.JSON_FORM.getHivFollowupVisit()).toString()); } catch (JSONException e) { Timber.e(e); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index 3dad590328..5555861334 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -8,6 +8,7 @@ import org.smartregister.chw.activity.HivProfileActivity; import org.smartregister.chw.activity.HivRegisterActivity; import org.smartregister.chw.core.fragment.CoreHivRegisterFragment; +import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.domain.HivMemberObject; import org.smartregister.chw.model.HivRegisterFragmentModel; @@ -25,6 +26,7 @@ public void setupViews(android.view.View view) { super.setupViews(view); ((CustomFontTextView) view.findViewById(R.id.txt_title_label)).setText(getString(R.string.hiv_clients)); } + @Override protected void initializePresenter() { if (getActivity() == null) { @@ -49,8 +51,14 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable HivMemberObject hivMemberObject) { if (getActivity() != null) { + String formName; + if (hivMemberObject.getGender().equalsIgnoreCase("male")) { + formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); + } else { + formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); + } try { - HivRegisterActivity.startHIVFormActivity(getActivity(), hivMemberObject.getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()).toString()); + HivRegisterActivity.startHIVFormActivity(getActivity(), hivMemberObject.getBaseEntityId(), formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), formName).toString()); } catch (JSONException e) { Timber.e(e); } From 1b9d6b2bd60542c5c737b6cabf1005402d728f8e Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sat, 6 Nov 2021 13:32:20 +0300 Subject: [PATCH 113/915] Updated chw-core dependencies --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index ec2d8a1731..ae99ceffdb 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.28-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.28-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From a4d6f7bbbab9ebd2a1427753fae9da39da0b9700 Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 6 Nov 2021 15:01:07 +0300 Subject: [PATCH 114/915] fix: cbhs number format --- .../src/ba/assets/json.form/male_hiv_registration.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json index 030226c6b1..aa583efbcb 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json @@ -61,7 +61,7 @@ "name": "cbhs_number", "type": "text_input_edit_text", "properties": { - "hint": "Community Based Health Services Registration Number (CBHS Number)" + "hint": "CBHS Number eg 1234/56/78/912" }, "meta_data": { "openmrs_entity": "concept", @@ -70,8 +70,8 @@ }, "validation": [ { - "condition": "value.matches(\"(\\\\d{5}/\\\\d{4}/\\\\d{4}/\\\\d{6})?\")", - "message": "CBHS Number should be of the format (-----/----/----/------)." + "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", + "message": "CBHS Number should be of the format (XXXX/XX/XX/XXX)." } ], "required_status": "yes:Please specify client's CBHS Number" From 9e59b21edf48bb4a16cdfdfb40d71f45f56994fc Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sat, 6 Nov 2021 15:13:14 +0300 Subject: [PATCH 115/915] fix: changed boresha afya ID to display WAJA ID in child enrollment form --- opensrp-chw/src/ba/assets/json.form/child_enrollment.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json index 21cffe07b5..c30e9fe11e 100644 --- a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json @@ -61,7 +61,7 @@ "openmrs_entity_id": "opensrp_id", "type": "barcode", "barcode_type": "qrcode", - "hint": "Boresha Afya ID", + "hint": "WAJA ID", "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", From feca26ee5afe28c4d6c017c40372a36c1b61002d Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 6 Nov 2021 15:13:30 +0300 Subject: [PATCH 116/915] fix: eg to e.g --- opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json index aa583efbcb..5c5ac02630 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json @@ -61,7 +61,7 @@ "name": "cbhs_number", "type": "text_input_edit_text", "properties": { - "hint": "CBHS Number eg 1234/56/78/912" + "hint": "CBHS Number e.g 1234/56/78/912" }, "meta_data": { "openmrs_entity": "concept", From 8e24a1489ed5469b89ebe081f310d66002a9b69d Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 6 Nov 2021 18:24:16 +0300 Subject: [PATCH 117/915] update: pull all client sort changes --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index ae99ceffdb..2bcf68f5c5 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.28-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.29-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From b6b371934e0185e018481d3e6f9baae9139748b7 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 7 Nov 2021 09:52:35 +0300 Subject: [PATCH 118/915] fixed: ctc number on male form --- .../src/ba/assets/json.form/male_hiv_registration.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json index 5c5ac02630..cc43af53a5 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json @@ -125,7 +125,7 @@ "type": "text_input_edit_text", "properties": { "hint": "CTC Number", - "type": "Clinic of Treatment and Care registration number (CTC Number)" + "type": "CTC Number e.g 12-34-5678-912345" }, "meta_data": { "openmrs_entity": "concept", @@ -135,7 +135,7 @@ "validation": [ { "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Not a valid CTC Number." + "message": "CTC Number should be of format (XX-XX-XXXX-XXXXXX)." } ], "subjects": "client_hiv_status_during_registration:text" From c4e468b2fef1f2e3db8c2cd506d98033150c4e8a Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 7 Nov 2021 10:05:19 +0300 Subject: [PATCH 119/915] fixed: ctc and cbhs number on female form --- .../ba/assets/json.form/female_hiv_registration.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json index 9c0ec23b4d..afbb519244 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json @@ -61,7 +61,7 @@ "name": "cbhs_number", "type": "text_input_edit_text", "properties": { - "hint": "Community Based Health Services Registration Number (CBHS Number)" + "hint": "CBHS Number e.g 1234/56/78/912" }, "meta_data": { "openmrs_entity": "concept", @@ -70,8 +70,8 @@ }, "validation": [ { - "condition": "value.matches(\"(\\\\d{5}/\\\\d{4}/\\\\d{4}/\\\\d{6})?\")", - "message": "CBHS Number should be of the format (-----/----/----/------)." + "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", + "message": "CBHS Number should be of the format (XXXX/XX/XX/XXX)." } ], "required_status": "yes:Please specify client's CBHS Number" @@ -124,8 +124,8 @@ "name": "ctc_number", "type": "text_input_edit_text", "properties": { - "hint": "CTC Number", - "type": "Clinic of Treatment and Care registration number (CTC Number)" + "hint": "CTC Number e.g 12-34-5678-912345", + "type": "CTC Number e.g 12-34-5678-912345" }, "meta_data": { "openmrs_entity": "concept", @@ -135,7 +135,7 @@ "validation": [ { "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Not a valid CTC Number." + "message": "CTC Number should be of the format (XX-XX-XXXX-XXXXXX)." } ], "subjects": "client_hiv_status_during_registration:text" From ff4562d86cc8779aa00025fa1ff7dbff1218b687 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 7 Nov 2021 10:05:55 +0300 Subject: [PATCH 120/915] update: hint on the CTC number --- opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json index cc43af53a5..87e4e37a28 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json @@ -124,7 +124,7 @@ "name": "ctc_number", "type": "text_input_edit_text", "properties": { - "hint": "CTC Number", + "hint": "CTC Number e.g 12-34-5678-912345", "type": "CTC Number e.g 12-34-5678-912345" }, "meta_data": { From 3c276a3352c208cdc638e7e4e3f058fbf0e6be86 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 7 Nov 2021 10:30:12 +0300 Subject: [PATCH 121/915] fixed: hiv registration forms for swahili --- ...tion.json => female_hiv_registration.json} | 22 ++- .../json.form-sw/male_hiv_registration.json | 174 ++++++++++++++++++ .../rule/hiv_registration_form_rules.yml | 2 +- 3 files changed, 189 insertions(+), 9 deletions(-) rename opensrp-chw/src/ba/assets/json.form-sw/{hiv_registration.json => female_hiv_registration.json} (87%) create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json similarity index 87% rename from opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json rename to opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json index c8e2817d23..19a6c5a8f4 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json @@ -61,15 +61,21 @@ "name": "cbhs_number", "type": "text_input_edit_text", "properties": { - "hint": "Namba ya HUWANYU", - "type": "Namba ya HUWANYU" + "hint": "Namba ya HUWANYU mfano: 1234/56/78/912", + "type": "Namba ya HUWANYU mfano: 1234/56/78/912" }, "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "cbhs_number", "openmrs_entity_parent": "" }, - "required_status": "false" + "validation": [ + { + "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", + "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." + } + ], + "required_status": "yes:Please specify client's CBHS Number" }, { "name": "client_hiv_status_during_registration", @@ -94,7 +100,7 @@ }, { "name": "positive", - "text": "Ana maambukizi ", + "text": "Ana maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "positive", @@ -103,7 +109,7 @@ }, { "name": "negative", - "text": "Hana maambukizi ", + "text": "Hana maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "negative", @@ -120,8 +126,8 @@ "name": "ctc_number", "type": "text_input_edit_text", "properties": { - "hint": "Namba ya CTC", - "type": "Namba ya CTC" + "hint": "Namba ya CTC mfano: 12-34-5678-912345", + "type": "Namba ya CTC mfano: 12-34-5678-912345" }, "meta_data": { "openmrs_entity": "concept", @@ -131,7 +137,7 @@ "validation": [ { "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Namba ya CTC iliyojazwa si sahihi." + "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." } ], "subjects": "client_hiv_status_during_registration:text" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json new file mode 100644 index 0000000000..dfa2e0707c --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json @@ -0,0 +1,174 @@ +{ + "form": "HIV Registration form", + "count": "1", + "encounter_type": "HIV Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Usajili wa wateja wa VVU", + "fields": [ + { + "name": "cbhs_number", + "type": "text_input_edit_text", + "properties": { + "hint": "Namba ya HUWANYU mfano: 1234/56/78/912", + "type": "Namba ya HUWANYU mfano: 1234/56/78/912" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cbhs_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", + "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." + } + ], + "required_status": "yes:Please specify client's CBHS Number" + }, + { + "name": "client_hiv_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizo ya VVU wakati wa kuandikishwa" + }, + "options": [ + { + "name": "unknown", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Ana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya maabukizo ya vvu wakati wa kuandikisha", + "dependent_calculations": [ + "hiv_registration_date" + ] + }, + { + "name": "ctc_number", + "type": "text_input_edit_text", + "properties": { + "hint": "Namba ya CTC mfano: 12-34-5678-912345", + "type": "Namba ya CTC mfano: 12-34-5678-912345" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." + } + ], + "subjects": "client_hiv_status_during_registration:text" + }, + { + "name": "tb_number", + "type": "text_input_edit_text", + "properties": { + "hint": "TB ID", + "type": "TB Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_number", + "openmrs_entity_parent": "" + } + }, + { + "name": "mat_number", + "type": "text_input_edit_text", + "properties": { + "hint": "MAT ID", + "type": "MAT Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mat_number", + "openmrs_entity_parent": "" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml index 9910c60874..23df1d54b1 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml @@ -2,7 +2,7 @@ name: "ctc_number_visibility" description: "ctc_number visibility" priority: 1 -condition: "client_hiv_status_during_registration.value == 'Positive'" +condition: "client_hiv_status_during_registration.value == 'Positive' || client_hiv_status_during_registration.value == 'Ana maambukizi'" actions: - "ctc_number_visibility = true" --- From 467b02ed8e363efe43fae27db111e6cbaa363ec6 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 7 Nov 2021 10:47:15 +0300 Subject: [PATCH 122/915] fixed: the ctc number validation message --- .../src/ba/assets/json.form-sw/female_hiv_registration.json | 2 +- .../src/ba/assets/json.form-sw/male_hiv_registration.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json index 19a6c5a8f4..6aa71811f8 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json @@ -137,7 +137,7 @@ "validation": [ { "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." + "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." } ], "subjects": "client_hiv_status_during_registration:text" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json index dfa2e0707c..64460a05f3 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json @@ -137,7 +137,7 @@ "validation": [ { "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." + "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." } ], "subjects": "client_hiv_status_during_registration:text" From 798162982d5b277518787f47dd9331a7a63e2392 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 7 Nov 2021 10:53:27 +0300 Subject: [PATCH 123/915] fixed: cbhs number on swahili forms --- .../src/ba/assets/json.form-sw/female_hiv_registration.json | 2 +- .../src/ba/assets/json.form-sw/male_hiv_registration.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json index 6aa71811f8..28a0c0b732 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json @@ -75,7 +75,7 @@ "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." } ], - "required_status": "yes:Please specify client's CBHS Number" + "required_status": "yes:Tafadhali weka namba ya HUWANYU" }, { "name": "client_hiv_status_during_registration", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json index 64460a05f3..eabfbadc80 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json @@ -75,7 +75,7 @@ "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." } ], - "required_status": "yes:Please specify client's CBHS Number" + "required_status": "yes:Tafadhali weka namba ya HUWANYU" }, { "name": "client_hiv_status_during_registration", From fd958befa5c9cbab5f2d37228621df72cd6bc5e2 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sun, 7 Nov 2021 11:17:39 +0300 Subject: [PATCH 124/915] Updated chw-core dependency --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index ae99ceffdb..34a0f7880a 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.28-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.29.1-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From e1680af18706438992a4df19c0148620f623d8a9 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sun, 7 Nov 2021 11:19:30 +0300 Subject: [PATCH 125/915] fix: added new forms for male hiv followup visit, and fixed client at risk behavior for women and men within hiv --- opensrp-chw/build.gradle | 2 +- .../json.form-sw/hiv_followup_visit.json | 9 - ...up_visit_for_clients_with_ctc_numbers.json | 9 - .../json.form-sw/male_hiv_followup_visit.json | 793 +++++++++++++ ...up_visit_for_clients_with_ctc_numbers.json | 775 ++++++++++++ .../assets/json.form/hiv_followup_visit.json | 11 +- ...up_visit_for_clients_with_ctc_numbers.json | 11 +- .../json.form/male_hiv_followup_visit.json | 1038 +++++++++++++++++ ...up_visit_for_clients_with_ctc_numbers.json | 947 +++++++++++++++ .../chw/activity/HivProfileActivity.java | 12 +- 10 files changed, 3566 insertions(+), 41 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json create mode 100644 opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json create mode 100644 opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index ae99ceffdb..34a0f7880a 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.28-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.29.1-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json index 0d7c6502ec..4bcfc41aae 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json @@ -446,15 +446,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "men_having_sex_with_other_men ", - "text": "Wanaume wanaofanya ngono na wanaume wenzao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "men_having_sex_with_other_men", - "openmrs_entity_parent": "" - } - }, { "name": "truck_drivers ", "text": "Madreva wa masafa marefu", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit_for_clients_with_ctc_numbers.json index 1883990135..f1e6f37a78 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -446,15 +446,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "men_having_sex_with_other_men ", - "text": "Wanaume wanaofanya ngono na wanaume wenzao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "men_having_sex_with_other_men", - "openmrs_entity_parent": "" - } - }, { "name": "truck_drivers ", "text": "Madreva wa masafa marefu", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json new file mode 100644 index 0000000000..ec71a33406 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json @@ -0,0 +1,793 @@ +{ + "form": "HIV Followup form", + "count": "1", + "encounter_type": "HIV Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya kumtembelea mgonjwa wa VVU", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Hali ya usajili/ ufuatiliaji" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "Mpya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma akitokea mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Amefuzu huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya ufwatiliaji", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya mteja" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Anaweza kufanya shughuli zake za kila siku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa) ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Hajimudu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem" + }, + "options": [ + { + "name": "pain", + "text": "Maumivu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "kukohoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kitabibu ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Matatizo ya lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "kushindwa kutimiza ratiba ya CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kijamii ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Tabia na mazingira hatarishi ya mteja" + }, + "options": [ + { + "name": "none", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Mlevi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Ana wapenzi wengi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Wavuvi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "Wajidunga", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Wanaofanya biashara ya ngono", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Wapasua mbao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Wachimba madini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Wanaume wanaofanya ngono na wanaume wenzao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Madreva wa masafa marefu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Vifaa vilizotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Sabuni", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Mashuka", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "chandarua", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Kondomu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Other supplies", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Vifaa vingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Dawa Nyinginezo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma zilizotolewa (Huduma za UKIMWI katika jamii ikiwemo ACUK) " + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "ushauri wa lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "Elimu kuhusu maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Upimaji wa awali", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Ushauri wa kisaikolojia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "Usafi wa nyumba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Huduma za afya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Huduma za tiba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Huduma nyingnie za UKIMWI katika jamii", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna huduma iliyotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "subjects": "hiv_services_provided:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "Hali ya Tiba na Matunzo (CTC)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_ctc_clinic", + "text": "Hajaandikishwa CTC/PMTCT", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", + "subjects": "registration_or_followup_status:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json new file mode 100644 index 0000000000..769fc792d3 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -0,0 +1,775 @@ +{ + "form": "HIV Followup form", + "count": "1", + "encounter_type": "HIV Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya kumtembelea mgonjwa wa VVU", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Hali ya usajili/ ufuatiliaji" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "Mpya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma akitokea mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Amefuzu huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya ufwatiliaji", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya mteja" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Anaweza kufanya shughuli zake za kila siku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa) ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Hajimudu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem" + }, + "options": [ + { + "name": "pain", + "text": "Maumivu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "kukohoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kitabibu ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Matatizo ya lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "kushindwa kutimiza ratiba ya CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kijamii ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Tabia na mazingira hatarishi ya mteja" + }, + "options": [ + { + "name": "none", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Mlevi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Ana wapenzi wengi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Wavuvi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "Wajidunga", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Wanaofanya biashara ya ngono", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Wapasua mbao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Wachimba madini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Wanaume wanaofanya ngono na wanaume wenzao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Madreva wa masafa marefu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Vifaa vilizotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Sabuni", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Mashuka", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "chandarua", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Kondomu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Other supplies", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Vifaa vingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Dawa Nyinginezo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma zilizotolewa (Huduma za UKIMWI katika jamii ikiwemo ACUK) " + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "ushauri wa lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "Elimu kuhusu maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Upimaji wa awali", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Ushauri wa kisaikolojia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "Usafi wa nyumba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Huduma za afya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Huduma za tiba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Huduma nyingnie za UKIMWI katika jamii", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna huduma iliyotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "subjects": "hiv_services_provided:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "Hali ya Tiba na Matunzo (CTC)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_and_uses_medication", + "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_ctc_clinic", + "text": "Hajaandikishwa CTC/PMTCT", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", + "subjects": "registration_or_followup_status:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json index 89b59b7237..6fe963b4ac 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json @@ -243,7 +243,7 @@ "options": [ { "name": "client_does_her_daily_activities", - "text": "Client does her daily activities", + "text": "Client does his/her daily activities", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_does_her_daily_activities", @@ -519,15 +519,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "men_having_sex_with_other_men ", - "text": "Men having sex with other men", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "men_having_sex_with_other_men", - "openmrs_entity_parent": "" - } - }, { "name": "truck_drivers ", "text": "Trucks and long distance drivers", diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit_for_clients_with_ctc_numbers.json index b44d9e1375..bf8b3385c3 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -170,7 +170,7 @@ "options": [ { "name": "client_does_her_daily_activities", - "text": "Client does her daily activities", + "text": "Client does his/her daily activities", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_does_her_daily_activities", @@ -446,15 +446,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "men_having_sex_with_other_men ", - "text": "Men having sex with other men", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "men_having_sex_with_other_men", - "openmrs_entity_parent": "" - } - }, { "name": "truck_drivers ", "text": "Trucks and long distance drivers", diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json new file mode 100644 index 0000000000..24591b9196 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json @@ -0,0 +1,1038 @@ +{ + "form": "HIV Followup form", + "count": "1", + "encounter_type": "HIV Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "HIV Followup form", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Registration/Followup status" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "New Client", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Clients continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services", + "text": "Client has completed and qualified from the services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the registration/followup status", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_hiv_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's HIV status after testing" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's hiv status", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "ctc_number", + "type": "text_input_edit_text", + "properties": { + "hint": "CTC Number", + "type": "Clinic of Treatment and Care registration number (CTC Number)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Not a valid CTC Number." + } + ], + "required_status": "yes:Please specify client's CTC Number", + "subjects": "client_hiv_status_after_testing:text" + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Condition of the client" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Client does his/her daily activities", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Client takes care of him/herself (Bathing, Eating)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Client is unable to take care of him/herself", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's condition", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Health Challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "pain", + "text": "Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "Coughing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Other Health Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Health Problems", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Please specify other health problems", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Social challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "Failure to adhere to CTC Appointments Schedule", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Transport issues while attending CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Other Social Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Social Challenges", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Please specify other social problems faced", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Vulnerable and at risk behaviors" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Alcoholism", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Has multiple sexual partners", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Sexual relations with different peers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Fisherman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "People Who Inject Drugs (PWID)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Sex workers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Lumberman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Mining workers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Men having sex with other men", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Trucks and long distance drivers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's behaviour", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Supplies provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Soap", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "Mosquito Nets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Bed Sheets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Water disinfectant", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Condoms", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Other supplies", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies/medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Supplies", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Please specify other supplies given", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Other Medicine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Please specify other medicine given", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "HIV services provided by CHW at the community" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "Nutririon Counselling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "HIV Infection Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Preliminary Testing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Psychological Counseling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "House Cleanliness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Health Care", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Medical Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Other HIV services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please fill the HIV services provided", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other HIV Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Please specify other HIV services provided", + "subjects": "hiv_services_provided:map" + }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals Issued to the Client for Other Services." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other HIV Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals to other services Completed by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referrals Completed", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "State of HIV Care and treatment" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_but_not_began_medication", + "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Registered in CTC/PMTCT clinic and uses ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_ctc_clinic", + "text": "Client is not registered in CTC/PMTCT clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the state of HIV therapy", + "subjects": "registration_or_followup_status:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json new file mode 100644 index 0000000000..5c242eb2e5 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -0,0 +1,947 @@ +{ + "form": "HIV Followup form", + "count": "1", + "encounter_type": "HIV Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "HIV Followup form", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Registration/Followup status" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "New Client", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Clients continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Client has completed and qualified from the services ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the registration/followup status", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Condition of the client" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Client does his/her daily activities", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Client takes care of him/herself (Bathing, Eating)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Client is unable to take care of him/herself", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's condition", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Health Challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "pain", + "text": "Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "Coughing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Other Health Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Health Problems", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Please specify other health problems", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Social challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "Failure to adhere to CTC Appointments Schedule", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Transport issues while attending CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Other Social Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Social Challenges", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Please specify other social problems faced", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Vulnerable and at risk behaviors" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Alcoholism", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Has multiple sexual partners", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Sexual relations with different peers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Fisherman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "People Who Inject Drugs (PWID)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Sex workers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Lumberman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Mining workers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Men having sex with other men", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Trucks and long distance drivers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's behaviour", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Supplies provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Soap", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "Mosquito Nets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Bed Sheets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Water disinfectant", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Condoms", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Other supplies", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies/medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Supplies", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Please specify other supplies given", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Other Medicine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Please specify other medicine given", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "HIV services provided by CHW at the community" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "Nutririon Counselling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "HIV Infection Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Preliminary Testing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Psychological Counseling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "House Cleanliness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Health Care", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Medical Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please fill the HIV services provided", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other HIV Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Please specify other HIV services provided", + "subjects": "hiv_services_provided:map" + }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals Issued to the Client for Other Services." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other HIV Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals to other services Completed by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referrals Completed", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "State of HIV Care and treatment" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Registered in CTC/PMTCT clinic and uses ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the state of HIV therapy", + "subjects": "registration_or_followup_status:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 9892ed471f..9d3a1e5579 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -80,9 +80,17 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity JSONObject formJsonObject; if (hivMemberObject.getCtcNumber().isEmpty()) { - formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()); + if (hivMemberObject.getGender().equalsIgnoreCase("Female")) { + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()); + } else { + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getMaleHivFollowupVisit()); + } } else { - formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisitForClientsWithCtcNumbers()); + if (hivMemberObject.getGender().equalsIgnoreCase("Female")) { + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisitForClientsWithCtcNumbers()); + } else { + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getMaleHivFollowupVisitForClientsWithCtcNumbers()); + } } intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, formJsonObject.toString()); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); From 1142216f3add0ddc3215f851823947b1e9a5baac Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sun, 7 Nov 2021 11:52:01 +0300 Subject: [PATCH 126/915] Implemented updating of hiv registration form --- .../chw/activity/HivProfileActivity.java | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 9892ed471f..92f71f49a9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -38,6 +38,7 @@ import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.domain.HivMemberObject; import org.smartregister.chw.hiv.util.Constants; +import org.smartregister.chw.hiv.util.DBConstants; import org.smartregister.chw.hiv.util.HivUtil; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.HivProfilePresenter; @@ -57,11 +58,16 @@ public class HivProfileActivity extends CoreHivProfileActivity implements FamilyProfileExtendedContract.PresenterCallBack, OnRetrieveNotifications { + public static final String UPDATE_HIV_REGISTRATION = "Update HIV Registration"; + public static final String ENCOUNTER_TYPE = "encounter_type"; + public static final String NAME = "name"; + public static final String PROPERTIES = "properties"; + public static final String TEXT = "text"; + public static final String SELECTION = "selection"; private static final String FOLLOWUP_STATUS_DECEASED_EN_VALUE = "Deceased"; private static final String FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE_EN_VALUE = "Client has completed and qualified from the services"; private static final String FOLLOWUP_STATUS_DECEASED_SW_VALUE = "Amefariki"; private static final String FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE_SW_VALUE = "Amefuzu huduma"; - private List referralTypeModels = new ArrayList<>(); private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); private Flavor flavor = new HivProfileActivityFlv(); @@ -394,19 +400,26 @@ public void startHivRegistrationDetailsActivity() { JSONObject formJsonObject = null; try { formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName); + formJsonObject.put(ENCOUNTER_TYPE, UPDATE_HIV_REGISTRATION); JSONArray fields = formJsonObject.getJSONArray("steps").getJSONObject(0).getJSONArray("fields"); for (int i = 0; i < fields.length(); i++) { JSONObject field = fields.getJSONObject(i); - if (field.getString("name").equals("cbhs_number")) { - field.getJSONObject("properties").put("text", getHivMemberObject().getCbhsNumber()); - } else if (field.getString("name").equals("client_hiv_status_during_registration")) { + if (field.getString(NAME).equals(DBConstants.Key.CBHS_NUMBER)) { + field.getJSONObject(PROPERTIES).put(TEXT, getHivMemberObject().getCbhsNumber()); + } else if (field.getString(NAME).equals(DBConstants.Key.CLIENT_HIV_STATUS_DURING_REGISTRATION)) { if (!getHivMemberObject().getCtcNumber().isEmpty()) - field.getJSONObject("properties").put("selection", "1"); + field.getJSONObject(PROPERTIES).put(SELECTION, "1"); else - field.getJSONObject("properties").put("selection", "0"); - } else if (field.getString("name").equals("ctc_number") && !getHivMemberObject().getCtcNumber().isEmpty()) { - field.getJSONObject("properties").put("text", getHivMemberObject().getCtcNumber()); + field.getJSONObject(PROPERTIES).put(SELECTION, "0"); + } else if (field.getString(NAME).equals(DBConstants.Key.CTC_NUMBER) && !getHivMemberObject().getCtcNumber().isEmpty()) { + field.getJSONObject(PROPERTIES).put(TEXT, getHivMemberObject().getCtcNumber()); + } else if (field.getString(NAME).equals(DBConstants.Key.TB_NUMBER) && !getHivMemberObject().getTbNumber().isEmpty()) { + field.getJSONObject(PROPERTIES).put(TEXT, getHivMemberObject().getTbNumber()); + } else if (field.getString(NAME).equals(DBConstants.Key.MAT_NUMBER) && !getHivMemberObject().getMatNumber().isEmpty()) { + field.getJSONObject(PROPERTIES).put(TEXT, getHivMemberObject().getMatNumber()); + } else if (field.getString(NAME).equals(DBConstants.Key.RCH_NUMBER) && !getHivMemberObject().getRchNumber().isEmpty()) { + field.getJSONObject(PROPERTIES).put(TEXT, getHivMemberObject().getRchNumber()); } } From 824248e036590cb418cb6c3f47587bb352a9f458 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sun, 7 Nov 2021 12:56:12 +0300 Subject: [PATCH 127/915] fix: renamed hiv followup visit forms to female hiv followup visit --- opensrp-chw/build.gradle | 2 +- ...hiv_followup_visit.json => female_hiv_followup_visit.json} | 0 ...male_hiv_followup_visit_for_clients_with_ctc_numbers.json} | 0 ...hiv_followup_visit.json => female_hiv_followup_visit.json} | 0 ...male_hiv_followup_visit_for_clients_with_ctc_numbers.json} | 0 .../org/smartregister/chw/activity/HivProfileActivity.java | 4 ++-- .../chw/fragment/HivIndexContactsRegisterFragment.java | 2 +- 7 files changed, 4 insertions(+), 4 deletions(-) rename opensrp-chw/src/ba/assets/json.form-sw/{hiv_followup_visit.json => female_hiv_followup_visit.json} (100%) rename opensrp-chw/src/ba/assets/json.form-sw/{hiv_followup_visit_for_clients_with_ctc_numbers.json => female_hiv_followup_visit_for_clients_with_ctc_numbers.json} (100%) rename opensrp-chw/src/ba/assets/json.form/{hiv_followup_visit.json => female_hiv_followup_visit.json} (100%) rename opensrp-chw/src/ba/assets/json.form/{hiv_followup_visit_for_clients_with_ctc_numbers.json => female_hiv_followup_visit_for_clients_with_ctc_numbers.json} (100%) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 34a0f7880a..6662e1b287 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.29.1-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.29.2-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json similarity index 100% rename from opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit.json rename to opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json similarity index 100% rename from opensrp-chw/src/ba/assets/json.form-sw/hiv_followup_visit_for_clients_with_ctc_numbers.json rename to opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json similarity index 100% rename from opensrp-chw/src/ba/assets/json.form/hiv_followup_visit.json rename to opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json similarity index 100% rename from opensrp-chw/src/ba/assets/json.form/hiv_followup_visit_for_clients_with_ctc_numbers.json rename to opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 9d3a1e5579..c282045c6c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -81,13 +81,13 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity if (hivMemberObject.getCtcNumber().isEmpty()) { if (hivMemberObject.getGender().equalsIgnoreCase("Female")) { - formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisit()); + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getFemaleHivFollowupVisit()); } else { formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getMaleHivFollowupVisit()); } } else { if (hivMemberObject.getGender().equalsIgnoreCase("Female")) { - formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getHivFollowupVisitForClientsWithCtcNumbers()); + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getFemaleHivFollowupVisitForClientsWithCtcNumbers()); } else { formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getMaleHivFollowupVisitForClientsWithCtcNumbers()); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java index cdc2cb846a..486fe1fc28 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java @@ -52,7 +52,7 @@ protected void openFollowUpVisit(@Nullable HivMemberObject hivMemberObject) { } try { - HivIndexContactsContactsRegisterActivity.startHIVFormActivity(getActivity(), hivMemberObject.getBaseEntityId(), formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), CoreConstants.JSON_FORM.getHivFollowupVisit()).toString()); + HivIndexContactsContactsRegisterActivity.startHIVFormActivity(getActivity(), hivMemberObject.getBaseEntityId(), formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), CoreConstants.JSON_FORM.getHivIndexContactFollowupVisit()).toString()); } catch (JSONException e) { Timber.e(e); } From 903d92ae903f449d3578e85b46da12bc3b8fba37 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 7 Nov 2021 12:59:18 +0300 Subject: [PATCH 128/915] updated: dueFilterCondition for index contacts --- opensrp-chw/build.gradle | 2 +- .../HivIndexContactsContactsRegisterFragmentPresenter.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 34a0f7880a..9261245922 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.29.1-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.29.3-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactsContactsRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactsContactsRegisterFragmentPresenter.java index adaad1d2ce..337704d99a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactsContactsRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactsContactsRegisterFragmentPresenter.java @@ -26,7 +26,8 @@ public String getMainCondition() { @Override @NotNull public String getDueFilterCondition() { - return ""; + return " " + + Tables.HIV_INDEX + "." + DBConstants.Key.FOLLOWED_UP_BY_CHW + " IS NULL"; } @Override From c2e4195aeaa1fd44194ccbd798a88cc52c884928 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sun, 7 Nov 2021 17:36:20 +0300 Subject: [PATCH 129/915] fix: written a skip logic for 8 forms (including swahili), which vanishes the dob unknown option when date of birth is entered --- opensrp-chw/build.gradle | 2 +- .../json.form-sw/all_clients_registration_form.json | 8 +++++++- .../src/ba/assets/json.form-sw/child_enrollment.json | 8 +++++++- .../ba/assets/json.form-sw/family_member_register.json | 8 +++++++- .../src/ba/assets/json.form-sw/family_register.json | 8 +++++++- .../assets/json.form/all_clients_registration_form.json | 8 +++++++- opensrp-chw/src/ba/assets/json.form/child_enrollment.json | 8 +++++++- .../src/ba/assets/json.form/family_member_register.json | 8 +++++++- opensrp-chw/src/ba/assets/json.form/family_register.json | 8 +++++++- 9 files changed, 57 insertions(+), 9 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 9261245922..8e36e91c87 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.29.3-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.29.4-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 27138e6e1c..0351fe19e1 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -334,7 +334,13 @@ "text_size": "18px", "value": "false" } - ] + ], + "relevance": { + "step2:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } }, { "key": "age", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index b5a74912da..4673ddecba 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -217,7 +217,13 @@ "text_size": "18px", "value": "false" } - ] + ], + "relevance": { + "step1:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } }, { "key": "age", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 12fe6bde02..4a2bf3089e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -226,7 +226,13 @@ "text_size": "18px", "value": "false" } - ] + ], + "relevance": { + "step1:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } }, { "key": "age", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 6cc9fe76fd..c7c032c06b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -280,7 +280,13 @@ "text_size": "18px", "value": "false" } - ] + ], + "relevance": { + "step2:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } }, { "key": "age", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index f3c3739a5e..8e33a46340 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -334,7 +334,13 @@ "text_size": "18px", "value": "false" } - ] + ], + "relevance": { + "step2:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } }, { "key": "age", diff --git a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json index c30e9fe11e..71b62d50b0 100644 --- a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json @@ -217,7 +217,13 @@ "text_size": "18px", "value": "false" } - ] + ], + "relevance": { + "step1:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } }, { "key": "age", diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index 2470566457..88255cc562 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -226,7 +226,13 @@ "text_size": "18px", "value": "false" } - ] + ], + "relevance": { + "step1:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } }, { "key": "age", diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index c40665fb6f..b6068728b3 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -330,7 +330,13 @@ "text_size": "18px", "value": "false" } - ] + ], + "relevance": { + "step2:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } }, { "key": "age", From e59da9f4cc5cf2ec4c0ff91fbe65c40d93874048 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 7 Nov 2021 17:42:29 +0300 Subject: [PATCH 130/915] fixed: returns back to the register after form submission --- .../java/org/smartregister/chw/activity/HivProfileActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 9743ab85a5..292e91d76b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -102,7 +102,7 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); - activity.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); + activity.startActivityForResult(intent, CoreConstants.ProfileActivityResults.CHANGE_COMPLETED); } @Override From 01a57b1e5e225fd3162df2b7cfb07cdb0cb9e8e3 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 10 Nov 2021 15:35:19 +0300 Subject: [PATCH 131/915] fix: changed two options within all clients registration --- .../ba/assets/json.form/all_clients_registration_form.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 8e33a46340..05ec275e76 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -1161,14 +1161,14 @@ }, { "key": "homosexual", - "text": "Man who has sex with a man", + "text": "Men who have sex with men", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "sex_worker_woman", - "text": "Sex Worker", + "text": "Sex worker", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" From 5606887de00c6856bd137c493472be2a09c74441 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 10 Nov 2021 15:54:02 +0300 Subject: [PATCH 132/915] fix: only individual clients above the age of 15 can now be registered --- .../ba/assets/json.form/all_clients_registration_form.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 8e33a46340..df18391a93 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -293,7 +293,7 @@ "label": "Age" }, "min_date": "today-120y", - "max_date": "today-5y", + "max_date": "today-15y", "v_required": { "value": "true", "err": "Please enter the date of birth" @@ -358,8 +358,8 @@ "err": "Number must begin with 0 and must be a total of 10 digits in length" }, "v_min": { - "value": "5", - "err": "Age must be equal or greater than 5" + "value": "15", + "err": "Age must be equal or greater than 15" }, "v_max": { "value": "120", From 6a415e4ce789fbf89b115de148b1fa44008929e7 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 10 Nov 2021 16:02:16 +0300 Subject: [PATCH 133/915] fix: only individual clients above the age of 15 can now be registered (for swahili form) --- .../assets/json.form-sw/all_clients_registration_form.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 0351fe19e1..9801fca8cf 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -293,7 +293,7 @@ "label": "Age" }, "min_date": "today-120y", - "max_date": "today-5y", + "max_date": "today-15y", "v_required": { "value": "true", "err": "Tafadhali ingiza tarehe ya kuzaliwa" @@ -358,8 +358,8 @@ "err": "Tafadhali ingiza umri" }, "v_min": { - "value": "5", - "err": "Umri lazima uwe sawa au mkubwa kuliko 5" + "value": "15", + "err": "Umri lazima uwe sawa au mkubwa kuliko 15" }, "v_max": { "value": "120", From 7d7d7bbb075cff07df23d30078df1c41a34ac018 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 10 Nov 2021 18:33:02 +0300 Subject: [PATCH 134/915] added implementation for english forms --- .../json.form/female_hiv_followup_visit.json | 41 ++++++++++ ...up_visit_for_clients_with_ctc_numbers.json | 41 ++++++++++ .../json.form/male_hiv_followup_visit.json | 41 ++++++++++ ...up_visit_for_clients_with_ctc_numbers.json | 41 ++++++++++ .../assets/rule/hiv_followup_form_rules.yml | 14 ++++ .../chw/activity/HivProfileActivity.java | 76 ++++++++++++++++++- .../org/smartregister/chw/util/Constants.java | 4 + 7 files changed, 257 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json index 6fe963b4ac..ed0525c97f 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json @@ -1031,6 +1031,47 @@ ], "required_status": "yes:Please specify the state of HIV therapy", "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Choose Moved To Facility", + "searchable": "Choose moved to facility" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please select the moved to facility", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Enter the other location", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please enter the moved to facility", + "subjects": "client_moved_location:text:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index bf8b3385c3..12e2792cb6 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -940,6 +940,47 @@ ], "required_status": "yes:Please specify the state of HIV therapy", "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Choose Moved To Facility", + "searchable": "Choose moved to facility" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please select the moved to facility", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Enter the other location", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please enter the moved to facility", + "subjects": "client_moved_location:text:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json index 24591b9196..4363eb6b6b 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json @@ -1031,6 +1031,47 @@ ], "required_status": "yes:Please specify the state of HIV therapy", "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Choose Moved To Facility", + "searchable": "Choose moved to facility" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please select the moved to facility", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Enter the other location", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please enter the moved to facility", + "subjects": "client_moved_location:text:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 5c242eb2e5..86c5c27302 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -940,6 +940,47 @@ ], "required_status": "yes:Please specify the state of HIV therapy", "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Choose Moved To Facility", + "searchable": "Choose moved to facility" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please select the moved to facility", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Enter the other location", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please enter the moved to facility", + "subjects": "client_moved_location:text" } ] } diff --git a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml index 91ae57ee7c..4aee4ab8af 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml @@ -138,4 +138,18 @@ priority: 1 condition: "true" actions: - "hiv_followup_visit_date_calculation = System.currentTimeMillis()" +--- +name: "client_moved_location_visibility" +description: "client_moved_location visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'Client has relocated to another location'" +actions: + - "client_moved_location_visibility = true" +--- +name: "client_moved_location_other_visibility" +description: "client_moved_location visibility" +priority: 1 +condition: "client_moved_location.value == 'Other'" +actions: + - "client_moved_location_other_visibility = true" diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 292e91d76b..363e64e244 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -14,6 +14,7 @@ import android.view.View; import android.widget.LinearLayout; +import com.google.gson.Gson; import com.vijay.jsonwizard.utils.FormUtils; import org.apache.commons.lang3.StringUtils; @@ -42,11 +43,16 @@ import org.smartregister.chw.hiv.util.HivUtil; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.HivProfilePresenter; +import org.smartregister.chw.referral.domain.NeatFormMetaData; +import org.smartregister.chw.referral.domain.NeatFormOption; +import org.smartregister.chw.referral.util.JsonFormConstants; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.commonregistry.CommonRepository; +import org.smartregister.domain.Location; import org.smartregister.family.util.Utils; +import org.smartregister.repository.LocationRepository; import java.util.ArrayList; import java.util.Date; @@ -98,13 +104,81 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getMaleHivFollowupVisitForClientsWithCtcNumbers()); } } - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, formJsonObject.toString()); + + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, initializeHealthFacilitiesList(formJsonObject).toString()); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); activity.startActivityForResult(intent, CoreConstants.ProfileActivityResults.CHANGE_COMPLETED); } + private static JSONObject initializeHealthFacilitiesList(JSONObject form){ + LocationRepository locationRepository = new LocationRepository(); + List locations = locationRepository.getAllLocations(); + if(locations != null && form != null){ + try { + JSONArray fields = form.getJSONArray(JsonFormConstants.STEPS) + .getJSONObject(0) + .getJSONArray(JsonFormConstants.FIELDS); + JSONObject referralHealthFacilities = null; + for (int i= 0; i < fields.length(); i++) { + if (fields.getJSONObject(i) + .getString(JsonFormConstants.NAME).equals(org.smartregister.chw.util.Constants.JSON_FORM_CONSTANTS.CLIENT_MOVED_LOCATION) + ) { + referralHealthFacilities = fields.getJSONObject(i); + break; + } + } + + ArrayList healthFacilitiesOptions = new ArrayList<>(); + + for(Location location : locations){ + NeatFormOption healthFacilityOption = new NeatFormOption(); + healthFacilityOption.name = location.getProperties().getName(); + healthFacilityOption.text = location.getProperties().getName(); + + NeatFormMetaData metaData = new NeatFormMetaData(); + metaData.openmrsEntity = "location_uuid"; + metaData.openmrsEntityId = location.getProperties().getUid(); + + healthFacilityOption.neatFormMetaData = metaData; + healthFacilitiesOptions.add(healthFacilityOption); + } + /* + * Other Option field + */ + NeatFormOption otherFacilityOption = new NeatFormOption(); + otherFacilityOption.text = "Other"; + otherFacilityOption.name = "Other"; + + NeatFormMetaData metaData = new NeatFormMetaData(); + metaData.openmrsEntity = ""; + metaData.openmrsEntityId = ""; + + otherFacilityOption.neatFormMetaData = metaData; + + healthFacilitiesOptions.add(otherFacilityOption); + + + + if (referralHealthFacilities != null) { + JSONArray optionsArray = new JSONArray(); + for(int i =0;i Date: Wed, 10 Nov 2021 18:43:38 +0300 Subject: [PATCH 135/915] added implementation for swahili forms --- .../female_hiv_followup_visit.json | 41 +++++++++++++++++++ ...up_visit_for_clients_with_ctc_numbers.json | 41 +++++++++++++++++++ .../json.form-sw/male_hiv_followup_visit.json | 41 +++++++++++++++++++ ...up_visit_for_clients_with_ctc_numbers.json | 41 +++++++++++++++++++ .../assets/rule/hiv_followup_form_rules.yml | 4 +- 5 files changed, 166 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json index 4bcfc41aae..62dea9eb2a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json @@ -786,6 +786,47 @@ ], "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Chagua alipohamia", + "searchable": "Chagua alipohamia" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali chagua sehemu alipohamia", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Andika alipohamia", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali andika alipohamia", + "subjects": "client_moved_location:text:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index f1e6f37a78..528e720c7e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -768,6 +768,47 @@ ], "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Chagua alipohamia", + "searchable": "Chagua alipohamia" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali chagua sehemu alipohamia", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Andika alipohamia", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali andika alipohamia", + "subjects": "client_moved_location:text:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json index ec71a33406..f996d9c669 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json @@ -786,6 +786,47 @@ ], "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Chagua alipohamia", + "searchable": "Chagua alipohamia" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali chagua sehemu alipohamia", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Andika alipohamia", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali andika alipohamia", + "subjects": "client_moved_location:text:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 769fc792d3..01920e5797 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -768,6 +768,47 @@ ], "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Chagua alipohamia", + "searchable": "Chagua alipohamia" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali chagua sehemu alipohamia", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Andika alipohamia", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali andika alipohamia", + "subjects": "client_moved_location:text:text" } ] } diff --git a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml index 4aee4ab8af..b66850bb0f 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml @@ -142,14 +142,14 @@ actions: name: "client_moved_location_visibility" description: "client_moved_location visibility" priority: 1 -condition: "registration_or_followup_status.value == 'Client has relocated to another location'" +condition: "registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine'" actions: - "client_moved_location_visibility = true" --- name: "client_moved_location_other_visibility" description: "client_moved_location visibility" priority: 1 -condition: "client_moved_location.value == 'Other'" +condition: "client_moved_location.value == 'Other' " actions: - "client_moved_location_other_visibility = true" From 1e9e4b456d4d0b9a3436d3e8771f469dfc8faee2 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 10 Nov 2021 18:45:08 +0300 Subject: [PATCH 136/915] performed import optimizations and code format --- .../chw/activity/HivProfileActivity.java | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 363e64e244..0a392e24d0 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -1,8 +1,5 @@ package org.smartregister.chw.activity; -import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; -import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; - import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -61,6 +58,9 @@ import io.reactivex.annotations.Nullable; import timber.log.Timber; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + public class HivProfileActivity extends CoreHivProfileActivity implements FamilyProfileExtendedContract.PresenterCallBack, OnRetrieveNotifications { @@ -112,19 +112,19 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity activity.startActivityForResult(intent, CoreConstants.ProfileActivityResults.CHANGE_COMPLETED); } - private static JSONObject initializeHealthFacilitiesList(JSONObject form){ + private static JSONObject initializeHealthFacilitiesList(JSONObject form) { LocationRepository locationRepository = new LocationRepository(); List locations = locationRepository.getAllLocations(); - if(locations != null && form != null){ + if (locations != null && form != null) { try { JSONArray fields = form.getJSONArray(JsonFormConstants.STEPS) - .getJSONObject(0) - .getJSONArray(JsonFormConstants.FIELDS); + .getJSONObject(0) + .getJSONArray(JsonFormConstants.FIELDS); JSONObject referralHealthFacilities = null; - for (int i= 0; i < fields.length(); i++) { + for (int i = 0; i < fields.length(); i++) { if (fields.getJSONObject(i) .getString(JsonFormConstants.NAME).equals(org.smartregister.chw.util.Constants.JSON_FORM_CONSTANTS.CLIENT_MOVED_LOCATION) - ) { + ) { referralHealthFacilities = fields.getJSONObject(i); break; } @@ -132,7 +132,7 @@ private static JSONObject initializeHealthFacilitiesList(JSONObject form){ ArrayList healthFacilitiesOptions = new ArrayList<>(); - for(Location location : locations){ + for (Location location : locations) { NeatFormOption healthFacilityOption = new NeatFormOption(); healthFacilityOption.name = location.getProperties().getName(); healthFacilityOption.text = location.getProperties().getName(); @@ -160,19 +160,18 @@ private static JSONObject initializeHealthFacilitiesList(JSONObject form){ healthFacilitiesOptions.add(otherFacilityOption); - if (referralHealthFacilities != null) { JSONArray optionsArray = new JSONArray(); - for(int i =0;i Date: Wed, 10 Nov 2021 19:02:41 +0300 Subject: [PATCH 137/915] fixed: code review changes --- .../ba/assets/json.form-sw/female_hiv_followup_visit.json | 6 +++--- ...ale_hiv_followup_visit_for_clients_with_ctc_numbers.json | 6 +++--- .../src/ba/assets/json.form-sw/male_hiv_followup_visit.json | 6 +++--- ...ale_hiv_followup_visit_for_clients_with_ctc_numbers.json | 6 +++--- .../src/ba/assets/json.form/female_hiv_followup_visit.json | 6 +++--- ...ale_hiv_followup_visit_for_clients_with_ctc_numbers.json | 6 +++--- .../src/ba/assets/json.form/male_hiv_followup_visit.json | 6 +++--- ...ale_hiv_followup_visit_for_clients_with_ctc_numbers.json | 4 ++-- 8 files changed, 23 insertions(+), 23 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json index 62dea9eb2a..733cda7b1d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json @@ -799,8 +799,8 @@ "name": "Other", "text": "Other", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", "openmrs_entity_parent": "" } } @@ -826,7 +826,7 @@ "openmrs_entity_parent": "" }, "required_status": "yes:Tafadhali andika alipohamia", - "subjects": "client_moved_location:text:text" + "subjects": "client_moved_location:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 528e720c7e..9a9c73de3c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -781,8 +781,8 @@ "name": "Other", "text": "Other", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", "openmrs_entity_parent": "" } } @@ -808,7 +808,7 @@ "openmrs_entity_parent": "" }, "required_status": "yes:Tafadhali andika alipohamia", - "subjects": "client_moved_location:text:text" + "subjects": "client_moved_location:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json index f996d9c669..2bd54688cc 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json @@ -799,8 +799,8 @@ "name": "Other", "text": "Other", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", "openmrs_entity_parent": "" } } @@ -826,7 +826,7 @@ "openmrs_entity_parent": "" }, "required_status": "yes:Tafadhali andika alipohamia", - "subjects": "client_moved_location:text:text" + "subjects": "client_moved_location:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 01920e5797..6269f52e26 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -781,8 +781,8 @@ "name": "Other", "text": "Other", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", "openmrs_entity_parent": "" } } @@ -808,7 +808,7 @@ "openmrs_entity_parent": "" }, "required_status": "yes:Tafadhali andika alipohamia", - "subjects": "client_moved_location:text:text" + "subjects": "client_moved_location:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json index ed0525c97f..e1172c2c23 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json @@ -1044,8 +1044,8 @@ "name": "Other", "text": "Other", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", "openmrs_entity_parent": "" } } @@ -1071,7 +1071,7 @@ "openmrs_entity_parent": "" }, "required_status": "yes:Please enter the moved to facility", - "subjects": "client_moved_location:text:text" + "subjects": "client_moved_location:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 12e2792cb6..a6ca404f6e 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -953,8 +953,8 @@ "name": "Other", "text": "Other", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", "openmrs_entity_parent": "" } } @@ -980,7 +980,7 @@ "openmrs_entity_parent": "" }, "required_status": "yes:Please enter the moved to facility", - "subjects": "client_moved_location:text:text" + "subjects": "client_moved_location:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json index 4363eb6b6b..33c264cbaf 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json @@ -1044,8 +1044,8 @@ "name": "Other", "text": "Other", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", "openmrs_entity_parent": "" } } @@ -1071,7 +1071,7 @@ "openmrs_entity_parent": "" }, "required_status": "yes:Please enter the moved to facility", - "subjects": "client_moved_location:text:text" + "subjects": "client_moved_location:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 86c5c27302..e4ab2f74c6 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -953,8 +953,8 @@ "name": "Other", "text": "Other", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", "openmrs_entity_parent": "" } } From bdbed0f3aabe3a3d15faf40be0e5c934533d956f Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 10 Nov 2021 19:23:07 +0300 Subject: [PATCH 138/915] fixed: utility class name --- .../java/org/smartregister/chw/activity/HivProfileActivity.java | 2 +- .../src/main/java/org/smartregister/chw/util/Constants.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 0a392e24d0..a36ce712f9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -123,7 +123,7 @@ private static JSONObject initializeHealthFacilitiesList(JSONObject form) { JSONObject referralHealthFacilities = null; for (int i = 0; i < fields.length(); i++) { if (fields.getJSONObject(i) - .getString(JsonFormConstants.NAME).equals(org.smartregister.chw.util.Constants.JSON_FORM_CONSTANTS.CLIENT_MOVED_LOCATION) + .getString(JsonFormConstants.NAME).equals(org.smartregister.chw.util.Constants.JsonFormConstants.CLIENT_MOVED_LOCATION) ) { referralHealthFacilities = fields.getJSONObject(i); break; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index a0dda68793..ebc1061447 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -23,7 +23,7 @@ public static class FORM_SUBMISSION_FIELD { } - public static class JSON_FORM_CONSTANTS{ + public static class JsonFormConstants{ public static String CLIENT_MOVED_LOCATION = "client_moved_location"; } From feead793435229e70f146e528fb4a9e0f1f6978f Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 10 Nov 2021 19:46:56 +0300 Subject: [PATCH 139/915] fixed: openmrsEntity and EntityId for generated other field --- .../org/smartregister/chw/activity/HivProfileActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index a36ce712f9..3b354ebc95 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -152,8 +152,8 @@ private static JSONObject initializeHealthFacilitiesList(JSONObject form) { otherFacilityOption.name = "Other"; NeatFormMetaData metaData = new NeatFormMetaData(); - metaData.openmrsEntity = ""; - metaData.openmrsEntityId = ""; + metaData.openmrsEntity = "concept"; + metaData.openmrsEntityId = "Other"; otherFacilityOption.neatFormMetaData = metaData; From 0da1d9fb2ad01f1fb73f710adadadb9074797f67 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 10 Nov 2021 20:51:04 +0300 Subject: [PATCH 140/915] Refactored ec_clients_fields --- opensrp-chw/src/ba/assets/ec_client_classification.json | 7 +++++++ opensrp-chw/src/ba/assets/ec_client_fields.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 9751d5cc0a..038fb2b4c0 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -305,6 +305,13 @@ "ec_hiv_register" ] }, + { + "field": "eventType", + "field_value": "Update HIV Registration", + "creates_case": [ + "ec_hiv_register" + ] + }, { "field": "eventType", "field_value": "HIV Followup", diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 1be5b40cd2..c583d08eb6 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2508,7 +2508,7 @@ "column_name": "mat_number", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", + "field": "obs.formSubmissionField", "concept": "mat_number" } }, From 82356b4a5b1c42cdc7e704094a042c129983cac6 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 10 Nov 2021 21:25:05 +0300 Subject: [PATCH 141/915] Implemented capturing marital status for clients above 18 years old --- .../all_clients_registration_form.json | 60 ++++++++++++++++ .../json.form/family_member_register.json | 60 ++++++++++++++++ .../ba/assets/json.form/family_register.json | 69 ++++++++++++++++++- .../rule/all_clients_member_relevance.yml | 21 ++++++ .../assets/rule/family_member_relevance.yml | 21 ++++++ .../assets/rule/family_register_relevance.yml | 22 +++++- 6 files changed, 251 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 138121acb0..2d70d25650 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -881,6 +881,52 @@ } } }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Client's Marital Status?", + "values": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, { "key": "service_provider", "openmrs_entity_parent": "", @@ -989,6 +1035,13 @@ "v_required": { "value": "true", "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } } }, { @@ -1074,6 +1127,13 @@ "v_required": { "value": "true", "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index 88255cc562..bedb7dab51 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -739,6 +739,52 @@ "err": "Number must be 10 digits and must start with 0." } }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Client's Marital Status?", + "values": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, { "key": "service_provider", "openmrs_entity_parent": "", @@ -847,6 +893,13 @@ "v_required": { "value": "true", "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } } }, { @@ -932,6 +985,13 @@ "v_required": { "value": "true", "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index b6068728b3..524bee6604 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -421,7 +421,14 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } - ] + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } }, { "key": "national_id", @@ -806,6 +813,52 @@ "err": "Number must be 10 digits and must start with 0." } }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Client's Marital Status?", + "values": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, { "key": "service_provider", "openmrs_entity_parent": "", @@ -914,6 +967,13 @@ "v_required": { "value": "true", "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } } }, { @@ -999,6 +1059,13 @@ "v_required": { "value": "true", "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml index fb6bdc3d8c..39b4ff3308 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml @@ -24,6 +24,27 @@ name: step2_id_avail description: identity relevance priority: 1 condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step2_service_provider +description: service_provider relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step2_leader +description: leader relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step2_marital_status +description: marital_status relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" actions: - "isRelevant = true" diff --git a/opensrp-chw/src/ba/assets/rule/family_member_relevance.yml b/opensrp-chw/src/ba/assets/rule/family_member_relevance.yml index f5c933ed41..5515222052 100644 --- a/opensrp-chw/src/ba/assets/rule/family_member_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/family_member_relevance.yml @@ -29,6 +29,27 @@ actions: - "isRelevant = true" --- +name: step1_service_provider +description: service_provider relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step1_leader +description: leader relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step1_marital_status +description: marital_status relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +actions: + - "isRelevant = true" +--- name: step1_preg_1yr description: pregnance 1yr relevance priority: 1 diff --git a/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml b/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml index 9bcf1d69bb..6dcede1e81 100644 --- a/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml @@ -12,7 +12,27 @@ priority: 1 condition: "!step2_dob_unknown.contains('dob_unknown')" actions: - "isRelevant = true" - +--- +name: step2_service_provider +description: service_provider relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step2_leader +description: leader relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step2_marital_status +description: marital_status relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" --- name: step2_dob_entered description: dob_entered relevance From 7754806d0b5c736ecdcb42c45de729cd79750ece Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 10 Nov 2021 22:53:08 +0300 Subject: [PATCH 142/915] Refactored all clients and family registration forms --- .../all_clients_registration_form.json | 206 ++++++++++-------- .../ba/assets/json.form/family_register.json | 206 ++++++++++-------- .../rule/all_clients_member_calculation.yml | 11 +- .../rule/all_clients_member_relevance.yml | 17 +- .../rule/family_register_calculation.yml | 11 +- .../assets/rule/family_register_relevance.yml | 23 +- 6 files changed, 261 insertions(+), 213 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 2d70d25650..9bd8778b4f 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -108,6 +108,108 @@ "err": "Please enter the middle name" } }, + { + "key": "client_sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Date of birth (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-15y", + "v_required": { + "value": "true", + "err": "Please enter the date of birth" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "DOB unknown?", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step1:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Age", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Number must begin with 0 and must be a total of 10 digits in length" + }, + "v_min": { + "value": "15", + "err": "Age must be equal or greater than 15" + }, + "v_max": { + "value": "120", + "err": "Age must be equal or less than 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Please enter the age" + } + }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -281,31 +383,6 @@ } } }, - { - "key": "dob", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdate", - "type": "date_picker", - "hint": "Date of birth (DOB)", - "expanded": false, - "duration": { - "label": "Age" - }, - "min_date": "today-120y", - "max_date": "today-15y", - "v_required": { - "value": "true", - "err": "Please enter the date of birth" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, { "key": "age_calculated", "openmrs_entity_parent": "", @@ -320,63 +397,6 @@ } } }, - { - "key": "dob_unknown", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdateApprox", - "type": "check_box", - "label": "", - "options": [ - { - "key": "dob_unknown", - "text": "DOB unknown?", - "text_size": "18px", - "value": "false" - } - ], - "relevance": { - "step2:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } - }, - { - "key": "age", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "age", - "type": "edit_text", - "hint": "Age", - "v_numeric_integer": { - "value": "true", - "err": "Must be a rounded number" - }, - "v_numeric": { - "value": "true", - "err": "Number must begin with 0 and must be a total of 10 digits in length" - }, - "v_min": { - "value": "15", - "err": "Age must be equal or greater than 15" - }, - "v_max": { - "value": "120", - "err": "Age must be equal or less than 120" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - }, - "v_required": { - "value": true, - "err": "Please enter the age" - } - }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -612,21 +632,15 @@ { "key": "sex", "openmrs_entity_parent": "", - "openmrs_entity": "person", + "openmrs_entity": "concept", "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Sex", - "values": [ - "Male", - "Female" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } } }, { diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index 524bee6604..7ddcd463a8 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -108,6 +108,108 @@ "err": "Please enter the middle name" } }, + { + "key": "client_sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Date of birth (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-15y", + "v_required": { + "value": "true", + "err": "Please enter the date of birth" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "DOB unknown?", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step1:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Age", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Number must begin with 0 and must be a total of 10 digits in length" + }, + "v_min": { + "value": "15", + "err": "Age must be equal or greater than 15" + }, + "v_max": { + "value": "120", + "err": "Age must be equal or less than 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Please enter the age" + } + }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -277,31 +379,6 @@ } } }, - { - "key": "dob", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdate", - "type": "date_picker", - "hint": "Date of birth (DOB)", - "expanded": false, - "duration": { - "label": "Age" - }, - "min_date": "today-120y", - "max_date": "today-15y", - "v_required": { - "value": "true", - "err": "Please enter the date of birth" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, { "key": "age_calculated", "openmrs_entity_parent": "", @@ -316,63 +393,6 @@ } } }, - { - "key": "dob_unknown", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdateApprox", - "type": "check_box", - "label": "", - "options": [ - { - "key": "dob_unknown", - "text": "DOB unknown?", - "text_size": "18px", - "value": "false" - } - ], - "relevance": { - "step2:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } - }, - { - "key": "age", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "age_entered", - "type": "edit_text", - "hint": "Age", - "v_numeric_integer": { - "value": "true", - "err": "Must be a rounded number" - }, - "v_numeric": { - "value": "true", - "err": "Number must begin with 0 and must be a total of 10 digits in length" - }, - "v_min": { - "value": "15", - "err": "Age must be equal or greater than 15" - }, - "v_max": { - "value": "120", - "err": "Age must be equal or less than 120" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - }, - "v_required": { - "value": true, - "err": "Please enter the age" - } - }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -608,21 +628,15 @@ { "key": "sex", "openmrs_entity_parent": "", - "openmrs_entity": "person", + "openmrs_entity": "concept", "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Sex", - "values": [ - "Male", - "Female" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } } }, { diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml index a9ff69c340..5bd0080fc9 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml @@ -4,7 +4,7 @@ description: Age calculated priority: 1 condition: "true" actions: - - "calculation = (!step2_dob_unknown.isEmpty() && step2_dob_unknown.contains('dob_unknown')) ? step2_age : helper.getDifferenceDays(step2_dob) / 365.25" + - "calculation = (!step1_dob_unknown.isEmpty() && step1_dob_unknown.contains('dob_unknown')) ? step1_age : helper.getDifferenceDays(step1_dob) / 365.25" --- name: step2_wra description: wra calculation @@ -32,4 +32,11 @@ description: set surname as the one added in step one priority: 1 condition: "true" actions: - - "calculation = step1_client_middle_name" \ No newline at end of file + - "calculation = step1_client_middle_name" +--- +name: step2_sex +description: set sex as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_client_sex" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml index 39b4ff3308..3681e037f6 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml @@ -1,15 +1,15 @@ --- -name: step2_dob +name: step1_dob description: dob relevance priority: 1 -condition: "!step2_dob_unknown.contains('dob_unknown')" +condition: "!step1_dob_unknown.contains('dob_unknown')" actions: - "isRelevant = true" --- -name: step2_age +name: step1_age description: age relevance priority: 1 -condition: "step2_dob_unknown.contains('dob_unknown')" +condition: "step1_dob_unknown.contains('dob_unknown')" actions: - "isRelevant = true" --- @@ -23,31 +23,30 @@ actions: name: step2_id_avail description: identity relevance priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" actions: - "isRelevant = true" --- name: step2_service_provider description: service_provider relevance priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" actions: - "isRelevant = true" --- name: step2_leader description: leader relevance priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" actions: - "isRelevant = true" --- name: step2_marital_status description: marital_status relevance priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" actions: - "isRelevant = true" - --- name: step2_preg_1yr description: pregnance 1yr relevance diff --git a/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml b/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml index 5d515e58ea..4831fffe50 100644 --- a/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml +++ b/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml @@ -11,7 +11,7 @@ description: Age calculated priority: 1 condition: "true" actions: - - "calculation = (!step2_dob_unknown.isEmpty() && step2_dob_unknown.contains('dob_unknown')) ? step2_age : helper.getDifferenceDays(step2_dob) / 365.25" + - "calculation = (!step1_dob_unknown.isEmpty() && step1_dob_unknown.contains('dob_unknown')) ? step1_age : helper.getDifferenceDays(step1_dob) / 365.25" --- name: step2_wra description: wra calculation @@ -32,4 +32,11 @@ description: set surname as the one added in step one priority: 1 condition: "true" actions: - - "calculation = step1_client_middle_name" \ No newline at end of file + - "calculation = step1_client_middle_name" +--- +name: step2_sex +description: set sex as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_client_sex" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml b/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml index 6dcede1e81..a31a9e89d0 100644 --- a/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml @@ -6,46 +6,53 @@ condition: "!step2_same_as_fam_name.contains('same_as_fam_name')" actions: - "isRelevant = true" --- -name: step2_dob +name: step1_dob description: dob relevance priority: 1 -condition: "!step2_dob_unknown.contains('dob_unknown')" +condition: "!step1_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step2_id_avail +description: identity relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" actions: - "isRelevant = true" --- name: step2_service_provider description: service_provider relevance priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" actions: - "isRelevant = true" --- name: step2_leader description: leader relevance priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" actions: - "isRelevant = true" --- name: step2_marital_status description: marital_status relevance priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" actions: - "isRelevant = true" --- name: step2_dob_entered description: dob_entered relevance priority: 1 -condition: "!step2_dob_unknown.contains('dob_unknown')" +condition: "!step1_dob_unknown.contains('dob_unknown')" actions: - "isRelevant = true" --- -name: step2_age +name: step1_age description: age relevance priority: 1 -condition: "step2_dob_unknown.contains('dob_unknown')" +condition: "step1_dob_unknown.contains('dob_unknown')" actions: - "isRelevant = true" From 68fc674193e21f072852264bb2a5f11ccbdb40ac Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 11 Nov 2021 09:35:46 +0300 Subject: [PATCH 143/915] fixed: made the visibility condition for other location more foolproof --- opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml index b66850bb0f..ef2d2af1cf 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml @@ -149,7 +149,7 @@ actions: name: "client_moved_location_other_visibility" description: "client_moved_location visibility" priority: 1 -condition: "client_moved_location.value == 'Other' " +condition: "client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine')" actions: - "client_moved_location_other_visibility = true" From dbddbbe33c4c9d8b99fa9fa46733995bc91dc6b3 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 11 Nov 2021 11:51:29 +0300 Subject: [PATCH 144/915] Refactored registration forms --- .../all_clients_registration_form.json | 210 ++++++++---------- .../ba/assets/json.form/family_register.json | 206 ++++++++--------- .../rule/all_clients_member_calculation.yml | 11 +- .../rule/all_clients_member_relevance.yml | 17 +- .../rule/family_register_calculation.yml | 11 +- .../assets/rule/family_register_relevance.yml | 23 +- 6 files changed, 215 insertions(+), 263 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 9bd8778b4f..2738c61c35 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -108,108 +108,6 @@ "err": "Please enter the middle name" } }, - { - "key": "client_sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Sex", - "values": [ - "Male", - "Female" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" - } - }, - { - "key": "dob", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdate", - "type": "date_picker", - "hint": "Date of birth (DOB)", - "expanded": false, - "duration": { - "label": "Age" - }, - "min_date": "today-120y", - "max_date": "today-15y", - "v_required": { - "value": "true", - "err": "Please enter the date of birth" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "dob_unknown", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdateApprox", - "type": "check_box", - "label": "", - "options": [ - { - "key": "dob_unknown", - "text": "DOB unknown?", - "text_size": "18px", - "value": "false" - } - ], - "relevance": { - "step1:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } - }, - { - "key": "age", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "age", - "type": "edit_text", - "hint": "Age", - "v_numeric_integer": { - "value": "true", - "err": "Must be a rounded number" - }, - "v_numeric": { - "value": "true", - "err": "Number must begin with 0 and must be a total of 10 digits in length" - }, - "v_min": { - "value": "15", - "err": "Age must be equal or greater than 15" - }, - "v_max": { - "value": "120", - "err": "Age must be equal or less than 120" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - }, - "v_required": { - "value": true, - "err": "Please enter the age" - } - }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -311,8 +209,8 @@ { "key": "surname", "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", + "openmrs_entity": "person", + "openmrs_entity_id": "surname", "type": "edit_text", "hint": "Surname", "edit_type": "name", @@ -383,6 +281,31 @@ } } }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Date of birth (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-15y", + "v_required": { + "value": "true", + "err": "Please enter the date of birth" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, { "key": "age_calculated", "openmrs_entity_parent": "", @@ -397,6 +320,63 @@ } } }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "DOB unknown?", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step2:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Age", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Number must begin with 0 and must be a total of 10 digits in length" + }, + "v_min": { + "value": "15", + "err": "Age must be equal or greater than 15" + }, + "v_max": { + "value": "120", + "err": "Age must be equal or less than 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Please enter the age" + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -632,15 +612,21 @@ { "key": "sex", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "person", "openmrs_entity_id": "gender", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_calculation.yml" - } - } + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" } }, { diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index 7ddcd463a8..524bee6604 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -108,108 +108,6 @@ "err": "Please enter the middle name" } }, - { - "key": "client_sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Sex", - "values": [ - "Male", - "Female" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" - } - }, - { - "key": "dob", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdate", - "type": "date_picker", - "hint": "Date of birth (DOB)", - "expanded": false, - "duration": { - "label": "Age" - }, - "min_date": "today-120y", - "max_date": "today-15y", - "v_required": { - "value": "true", - "err": "Please enter the date of birth" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "dob_unknown", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdateApprox", - "type": "check_box", - "label": "", - "options": [ - { - "key": "dob_unknown", - "text": "DOB unknown?", - "text_size": "18px", - "value": "false" - } - ], - "relevance": { - "step1:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } - }, - { - "key": "age", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "age", - "type": "edit_text", - "hint": "Age", - "v_numeric_integer": { - "value": "true", - "err": "Must be a rounded number" - }, - "v_numeric": { - "value": "true", - "err": "Number must begin with 0 and must be a total of 10 digits in length" - }, - "v_min": { - "value": "15", - "err": "Age must be equal or greater than 15" - }, - "v_max": { - "value": "120", - "err": "Age must be equal or less than 120" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - }, - "v_required": { - "value": true, - "err": "Please enter the age" - } - }, { "key": "unique_id", "openmrs_entity_parent": "", @@ -379,6 +277,31 @@ } } }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Date of birth (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-15y", + "v_required": { + "value": "true", + "err": "Please enter the date of birth" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, { "key": "age_calculated", "openmrs_entity_parent": "", @@ -393,6 +316,63 @@ } } }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "DOB unknown?", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step2:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age_entered", + "type": "edit_text", + "hint": "Age", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Number must begin with 0 and must be a total of 10 digits in length" + }, + "v_min": { + "value": "15", + "err": "Age must be equal or greater than 15" + }, + "v_max": { + "value": "120", + "err": "Age must be equal or less than 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Please enter the age" + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -628,15 +608,21 @@ { "key": "sex", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "person", "openmrs_entity_id": "gender", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_calculation.yml" - } - } + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" } }, { diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml index 5bd0080fc9..a9ff69c340 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml @@ -4,7 +4,7 @@ description: Age calculated priority: 1 condition: "true" actions: - - "calculation = (!step1_dob_unknown.isEmpty() && step1_dob_unknown.contains('dob_unknown')) ? step1_age : helper.getDifferenceDays(step1_dob) / 365.25" + - "calculation = (!step2_dob_unknown.isEmpty() && step2_dob_unknown.contains('dob_unknown')) ? step2_age : helper.getDifferenceDays(step2_dob) / 365.25" --- name: step2_wra description: wra calculation @@ -32,11 +32,4 @@ description: set surname as the one added in step one priority: 1 condition: "true" actions: - - "calculation = step1_client_middle_name" ---- -name: step2_sex -description: set sex as the one added in step one -priority: 1 -condition: "true" -actions: - - "calculation = step1_client_sex" \ No newline at end of file + - "calculation = step1_client_middle_name" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml index 3681e037f6..39b4ff3308 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml @@ -1,15 +1,15 @@ --- -name: step1_dob +name: step2_dob description: dob relevance priority: 1 -condition: "!step1_dob_unknown.contains('dob_unknown')" +condition: "!step2_dob_unknown.contains('dob_unknown')" actions: - "isRelevant = true" --- -name: step1_age +name: step2_age description: age relevance priority: 1 -condition: "step1_dob_unknown.contains('dob_unknown')" +condition: "step2_dob_unknown.contains('dob_unknown')" actions: - "isRelevant = true" --- @@ -23,30 +23,31 @@ actions: name: step2_id_avail description: identity relevance priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" actions: - "isRelevant = true" --- name: step2_service_provider description: service_provider relevance priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" actions: - "isRelevant = true" --- name: step2_leader description: leader relevance priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" actions: - "isRelevant = true" --- name: step2_marital_status description: marital_status relevance priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" actions: - "isRelevant = true" + --- name: step2_preg_1yr description: pregnance 1yr relevance diff --git a/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml b/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml index 4831fffe50..5d515e58ea 100644 --- a/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml +++ b/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml @@ -11,7 +11,7 @@ description: Age calculated priority: 1 condition: "true" actions: - - "calculation = (!step1_dob_unknown.isEmpty() && step1_dob_unknown.contains('dob_unknown')) ? step1_age : helper.getDifferenceDays(step1_dob) / 365.25" + - "calculation = (!step2_dob_unknown.isEmpty() && step2_dob_unknown.contains('dob_unknown')) ? step2_age : helper.getDifferenceDays(step2_dob) / 365.25" --- name: step2_wra description: wra calculation @@ -32,11 +32,4 @@ description: set surname as the one added in step one priority: 1 condition: "true" actions: - - "calculation = step1_client_middle_name" ---- -name: step2_sex -description: set sex as the one added in step one -priority: 1 -condition: "true" -actions: - - "calculation = step1_client_sex" \ No newline at end of file + - "calculation = step1_client_middle_name" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml b/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml index a31a9e89d0..6dcede1e81 100644 --- a/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml @@ -6,53 +6,46 @@ condition: "!step2_same_as_fam_name.contains('same_as_fam_name')" actions: - "isRelevant = true" --- -name: step1_dob +name: step2_dob description: dob relevance priority: 1 -condition: "!step1_dob_unknown.contains('dob_unknown')" -actions: - - "isRelevant = true" ---- -name: step2_id_avail -description: identity relevance -priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +condition: "!step2_dob_unknown.contains('dob_unknown')" actions: - "isRelevant = true" --- name: step2_service_provider description: service_provider relevance priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" actions: - "isRelevant = true" --- name: step2_leader description: leader relevance priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" actions: - "isRelevant = true" --- name: step2_marital_status description: marital_status relevance priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" actions: - "isRelevant = true" --- name: step2_dob_entered description: dob_entered relevance priority: 1 -condition: "!step1_dob_unknown.contains('dob_unknown')" +condition: "!step2_dob_unknown.contains('dob_unknown')" actions: - "isRelevant = true" --- -name: step1_age +name: step2_age description: age relevance priority: 1 -condition: "step1_dob_unknown.contains('dob_unknown')" +condition: "step2_dob_unknown.contains('dob_unknown')" actions: - "isRelevant = true" From 7697ac66fb25d632b04d8373d079ce3c4838855f Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 11 Nov 2021 14:47:13 +0300 Subject: [PATCH 145/915] fix: added apostrophe inclusion in surname for all registration forms (swahili included) --- .../ba/assets/json.form-sw/all_clients_registration_form.json | 4 ++-- opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json | 2 +- .../src/ba/assets/json.form-sw/family_member_register.json | 2 +- opensrp-chw/src/ba/assets/json.form-sw/family_register.json | 4 ++-- .../ba/assets/json.form/all_clients_registration_form.json | 4 ++-- opensrp-chw/src/ba/assets/json.form/child_enrollment.json | 2 +- .../src/ba/assets/json.form/family_member_register.json | 2 +- opensrp-chw/src/ba/assets/json.form/family_register.json | 4 ++-- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 9801fca8cf..8dfd198c5b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -70,7 +70,7 @@ "err": "Tafadhali ingiza jina la ukoo" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina la ukoo" } }, @@ -216,7 +216,7 @@ "edit_type": "name", "read_only": true, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" }, "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index 4673ddecba..63599a8298 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -81,7 +81,7 @@ "hint": "Jina la mwisho (ukoo)", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" }, "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 4a2bf3089e..42f5d11f23 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -81,7 +81,7 @@ "hint": "Jina la mwisho (ukoo)", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" }, "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index c7c032c06b..76827b4aa1 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -70,7 +70,7 @@ "err": "Tafadhali ingiza jina la ukoo" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina la ukoo" } }, @@ -216,7 +216,7 @@ "edit_type": "name", "read_only": "true", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" }, "calculation": { diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 2738c61c35..5afd4c5403 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -70,7 +70,7 @@ "err": "Please enter the surname" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter surname" } }, @@ -216,7 +216,7 @@ "edit_type": "name", "read_only": true, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json index 71b62d50b0..3d0a374655 100644 --- a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json @@ -81,7 +81,7 @@ "hint": "Surname", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index bedb7dab51..88b0d8ba53 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -81,7 +81,7 @@ "hint": "Surname", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index 524bee6604..611f74bde5 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -70,7 +70,7 @@ "err": "Please enter the family name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" } }, @@ -266,7 +266,7 @@ "edit_type": "name", "read_only": "true", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "calculation": { From 8e2df98422f9486853d36542dda63386d3b648e0 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 11 Nov 2021 18:59:19 +0300 Subject: [PATCH 146/915] updated: how cbhs register count is fetched to reflect core --- opensrp-chw/build.gradle | 2 +- .../ba/assets/ec_client_classification.json | 7 ++ .../src/ba/assets/ec_client_fields.json | 101 ++++++++++++++++++ .../chw/model/NavigationModelFlv.java | 2 +- .../chw/activity/HivRegisterActivity.java | 10 ++ 5 files changed, 120 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 8e36e91c87..f99affd2ef 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.29.4-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.29.5-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 038fb2b4c0..4c2a835e62 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -305,6 +305,13 @@ "ec_hiv_register" ] }, + { + "field": "eventType", + "field_value": "Hiv Registration", + "creates_case": [ + "ec_cbhs_register" + ] + }, { "field": "eventType", "field_value": "Update HIV Registration", diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index c583d08eb6..7184094843 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2556,6 +2556,107 @@ } ] }, + { + "name": "ec_cbhs_register", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "ctc_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "ctc_number" + } + }, + { + "column_name": "tb_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "tb_number" + } + }, + { + "column_name": "rch_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "rch_number" + } + }, + { + "column_name": "mat_number", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "mat_number" + } + }, + { + "column_name": "cbhs_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "cbhs_number" + } + }, + { + "column_name": "registration_or_followup_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "registration_or_followup_status", + "value_field": "obs.fieldCode" + } + }, + { + "column_name": "client_hiv_status_during_registration", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_hiv_status_during_registration" + } + }, + { + "column_name": "client_hiv_status_after_testing", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "test_results" + } + }, + { + "column_name": "hiv_registration_date", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "hiv_registration_date" + } + } + ] + }, { "name": "ec_hiv_community_followup", "columns": [ diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java index e742b169ff..70618b69af 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -29,7 +29,7 @@ public List getNavigationItems() { NavigationOption op8 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.menu_referrals, Constants.DrawerMenu.REFERRALS, 0); NavigationOption op9 = new NavigationOption(R.mipmap.sidemenu_updates, R.mipmap.sidemenu_updates_active, R.string.updates, CoreConstants.DrawerMenu.UPDATES, 0); NavigationOption op10 = new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0); - NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.HIV_CLIENTS, 0); + NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.CBHS_CLIENTS, 0); NavigationOption op12 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_index_contacts, CoreConstants.DrawerMenu.HIV_INDEX_CLIENTS, 0); NavigationOption op13 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java index 71b5c4f4a3..025c0cb2eb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.NotNull; import org.smartregister.chw.core.activity.CoreHivRegisterActivity; import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.fragment.HivFollowupRegisterFragment; import org.smartregister.chw.fragment.HivRegisterFragment; import org.smartregister.chw.hiv.fragment.BaseHivCommunityFollowupRegisterFragment; @@ -72,5 +73,14 @@ protected BaseHivCommunityFollowupRegisterFragment[] getOtherFragments() { return new HivFollowupRegisterFragment[]{ new HivFollowupRegisterFragment()}; } + + @Override + protected void onResumption() { + super.onResumption(); + NavigationMenu menu = NavigationMenu.getInstance(this, null, null); + if (menu != null) { + menu.getNavigationAdapter().setSelectedView(CoreConstants.DrawerMenu.CBHS_CLIENTS); + } + } } \ No newline at end of file From 9f723175be0124fd130ef1d3d3694091dd2698bb Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 13 Nov 2021 13:27:42 +0300 Subject: [PATCH 147/915] updated: to new version of core and implemented methods --- opensrp-chw/build.gradle | 2 +- .../chw/activity/AllClientsMemberProfileActivity.java | 5 +++++ .../chw/activity/FamilyOtherMemberProfileActivity.java | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index f99affd2ef..516671fc49 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.29.5-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.30.0-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 0d69c1086f..e2fd48f1fd 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -194,6 +194,11 @@ protected void startHfMalariaFollowupForm() { //Implements from super } + @Override + protected void startPmtctRegisration() { + //do nothing - implementation in hf + } + @Override protected void setIndependentClient(boolean isIndependentClient) { super.isIndependent = isIndependentClient; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index 4b036fa515..b621fdc520 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -230,6 +230,11 @@ protected void startHfMalariaFollowupForm() { //Implements from super } + @Override + protected void startPmtctRegisration() { + //do nothing - implementation in hf + } + /** * build implementation differences file */ From 81dea63b1fbb2e10054b8d408ea2cfc932c5c6a8 Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 13 Nov 2021 16:03:43 +0300 Subject: [PATCH 148/915] updated: removed references from hiv to cbhs registration --- opensrp-chw/build.gradle | 2 +- .../src/ba/java/org/smartregister/chw/util/UtilsFlv.java | 4 ++-- .../chw/activity/AllClientsMemberProfileActivity.java | 2 +- .../chw/activity/DefaultTbProfileActivityFlv.java | 2 +- .../chw/activity/FamilyOtherMemberProfileActivity.java | 2 +- .../org/smartregister/chw/activity/TbProfileActivity.java | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 516671fc49..5447013332 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.30.0-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.30.1-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java index 17eed7e69c..eeb85d7aa6 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java @@ -61,9 +61,9 @@ public static void updateFpMenuItems(String baseEntityId, Menu menu) { public static void updateHivMenuItems(String baseEntityId, Menu menu) { if (HivDao.isRegisteredForHiv(baseEntityId)) { - menu.findItem(R.id.action_hiv_registration).setVisible(false); + menu.findItem(R.id.action_cbhs_registration).setVisible(false); }else{ - menu.findItem(R.id.action_hiv_registration).setVisible(true); + menu.findItem(R.id.action_cbhs_registration).setVisible(true); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index e2fd48f1fd..c322caf024 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -42,7 +42,7 @@ public class AllClientsMemberProfileActivity extends CoreAllClientsMemberProfile public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.findItem(R.id.action_location_info).setVisible(true); - menu.findItem(R.id.action_hiv_registration).setVisible(true); + menu.findItem(R.id.action_cbhs_registration).setVisible(true); menu.findItem(R.id.action_tb_registration).setVisible(true); menu.findItem(R.id.action_anc_registration).setVisible(false); menu.findItem(R.id.action_sick_child_follow_up).setVisible(false); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultTbProfileActivityFlv.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultTbProfileActivityFlv.java index fde7b42e5d..7067ac70da 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultTbProfileActivityFlv.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultTbProfileActivityFlv.java @@ -7,6 +7,6 @@ public abstract class DefaultTbProfileActivityFlv implements TbProfileActivity.Flavor { @Override public void updateHivMenuItems(String baseEntityId, Menu menu) { - menu.findItem(R.id.action_hiv_registration).setVisible(false); + menu.findItem(R.id.action_cbhs_registration).setVisible(false); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index b621fdc520..f05275e465 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -69,7 +69,7 @@ public boolean onCreateOptionsMenu(Menu menu) { } if (!ChwApplication.getApplicationFlavor().hasHIV()) { - menu.findItem(R.id.action_hiv_registration).setVisible(false); + menu.findItem(R.id.action_cbhs_registration).setVisible(false); } else { flavor.updateHivMenuItems(baseEntityId, menu); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index af701e0ed0..78959e72f9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -267,7 +267,7 @@ public boolean onCreateOptionsMenu(Menu menu) { @Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); - if (itemId == org.smartregister.chw.core.R.id.action_hiv_registration) { + if (itemId == org.smartregister.chw.core.R.id.action_cbhs_registration) { startHivRegister(); return true; } From 2d6a1db61f9447595026a8c8c8b04a1e132f3210 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sat, 13 Nov 2021 18:57:50 +0300 Subject: [PATCH 149/915] fix: Renamed HIV followup form title to CBHS follow-up form & fixed the birth certificate option in child registration --- opensrp-chw/build.gradle | 2 +- .../src/ba/assets/json.form-sw/child_enrollment.json | 7 +++++++ opensrp-chw/src/ba/assets/json.form/child_enrollment.json | 7 +++++++ .../src/ba/assets/json.form/female_hiv_followup_visit.json | 4 ++-- ...le_hiv_followup_visit_for_clients_with_ctc_numbers.json | 4 ++-- .../src/ba/assets/json.form/male_hiv_followup_visit.json | 4 ++-- ...le_hiv_followup_visit_for_clients_with_ctc_numbers.json | 4 ++-- opensrp-chw/src/ba/assets/rule/family-child-relevance.yml | 7 +++++++ .../chw/activity/AllClientsMemberProfileActivity.java | 5 +++++ .../chw/activity/FamilyOtherMemberProfileActivity.java | 5 +++++ 10 files changed, 40 insertions(+), 9 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index f99affd2ef..516671fc49 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.29.5-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.30.0-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index 63599a8298..24214b8f72 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -433,6 +433,13 @@ "openmrs_choice_ids": { "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json index 3d0a374655..6c815fa659 100644 --- a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json @@ -492,6 +492,13 @@ "openmrs_choice_ids": { "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json index e1172c2c23..0006c46172 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json @@ -1,5 +1,5 @@ { - "form": "HIV Followup form", + "form": "CBHS Follow-up form", "count": "1", "encounter_type": "HIV Followup", "entity_id": "", @@ -55,7 +55,7 @@ }, "steps": [ { - "title": "HIV Followup form", + "title": "CBHS Follow-up form", "fields": [ { "name": "registration_or_followup_status", diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index a6ca404f6e..7e72e49e79 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -1,5 +1,5 @@ { - "form": "HIV Followup form", + "form": "CBHS Follow-up form", "count": "1", "encounter_type": "HIV Followup", "entity_id": "", @@ -55,7 +55,7 @@ }, "steps": [ { - "title": "HIV Followup form", + "title": "CBHS Follow-up form", "fields": [ { "name": "registration_or_followup_status", diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json index 33c264cbaf..1cdb7e6b14 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json @@ -1,5 +1,5 @@ { - "form": "HIV Followup form", + "form": "CBHS Follow-up form", "count": "1", "encounter_type": "HIV Followup", "entity_id": "", @@ -55,7 +55,7 @@ }, "steps": [ { - "title": "HIV Followup form", + "title": "CBHS Follow-up form", "fields": [ { "name": "registration_or_followup_status", diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index e4ab2f74c6..29f26c209b 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -1,5 +1,5 @@ { - "form": "HIV Followup form", + "form": "CBHS Follow-up form", "count": "1", "encounter_type": "HIV Followup", "entity_id": "", @@ -55,7 +55,7 @@ }, "steps": [ { - "title": "HIV Followup form", + "title": "CBHS Follow-up form", "fields": [ { "name": "registration_or_followup_status", diff --git a/opensrp-chw/src/ba/assets/rule/family-child-relevance.yml b/opensrp-chw/src/ba/assets/rule/family-child-relevance.yml index 0ed45d8c24..5e4d661239 100644 --- a/opensrp-chw/src/ba/assets/rule/family-child-relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/family-child-relevance.yml @@ -41,6 +41,13 @@ condition: "step1_disabilities.contains('Yes')" actions: - "isRelevant = true" --- +name: step1_birth_cert_available +description: birth certificate availability relevance +priority: 1 +condition: "!step1_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- name: step1_birth_regist_number descripltion: birth registration number priority: 1 diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 0d69c1086f..e2fd48f1fd 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -194,6 +194,11 @@ protected void startHfMalariaFollowupForm() { //Implements from super } + @Override + protected void startPmtctRegisration() { + //do nothing - implementation in hf + } + @Override protected void setIndependentClient(boolean isIndependentClient) { super.isIndependent = isIndependentClient; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index 4b036fa515..b621fdc520 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -230,6 +230,11 @@ protected void startHfMalariaFollowupForm() { //Implements from super } + @Override + protected void startPmtctRegisration() { + //do nothing - implementation in hf + } + /** * build implementation differences file */ From 41e0a621e2ca268729b81f779fba5273daaabf07 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 15 Nov 2021 23:16:50 +0300 Subject: [PATCH 150/915] fixed: bugs in forms --- .../json.form-sw/all_clients_registration_form.json | 11 ++++------- .../src/ba/assets/json.form-sw/family_register.json | 2 +- .../json.form/all_clients_registration_form.json | 13 +++++-------- .../all_clients_update_registration_info_form.json | 2 +- .../ba/assets/json.form/family_member_register.json | 2 +- .../src/ba/assets/json.form/family_register.json | 2 +- 6 files changed, 13 insertions(+), 19 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 8dfd198c5b..a5b7b7062f 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -293,7 +293,7 @@ "label": "Age" }, "min_date": "today-120y", - "max_date": "today-15y", + "max_date": "today", "v_required": { "value": "true", "err": "Tafadhali ingiza tarehe ya kuzaliwa" @@ -358,8 +358,8 @@ "err": "Tafadhali ingiza umri" }, "v_min": { - "value": "15", - "err": "Umri lazima uwe sawa au mkubwa kuliko 15" + "value": "0", + "err": "Umri lazima uwe sawa au mkubwa kuliko 0" }, "v_max": { "value": "120", @@ -522,8 +522,7 @@ "type": "spinner", "hint": "Bima ya afya unaotumia", "values": [ - "Bima ya afya ya jamii (CHF)", - "Bima ya afya ya jamii ulioboreshwa (iCHF)", + "Bima ya afya ya jamii (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -538,7 +537,6 @@ ], "keys": [ "Community Health Fund (CHF)", - "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -553,7 +551,6 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", - "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 76827b4aa1..b438d0e7ca 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -160,7 +160,7 @@ "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "type": "edit_text", - "hint": "ID", + "hint": "WAJA ID", "value": "0", "read_only": "true", "v_numeric": { diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 5afd4c5403..cefaabc301 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -293,7 +293,7 @@ "label": "Age" }, "min_date": "today-120y", - "max_date": "today-15y", + "max_date": "today", "v_required": { "value": "true", "err": "Please enter the date of birth" @@ -358,8 +358,8 @@ "err": "Number must begin with 0 and must be a total of 10 digits in length" }, "v_min": { - "value": "15", - "err": "Age must be equal or greater than 15" + "value": "0", + "err": "Age must be equal or greater than 0" }, "v_max": { "value": "120", @@ -383,7 +383,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", - "label": "Do have any of the following IDs?", + "label": "Do you have any of the following IDs?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -522,8 +522,7 @@ "type": "spinner", "hint": "Health insurance provider", "values": [ - "Community Health Fund (CHF)", - "iCHF", + "Community Health Fund (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -538,7 +537,6 @@ ], "keys": [ "Community Health Fund (CHF)", - "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -553,7 +551,6 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", - "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index dfbb8648ce..dd0ba3640f 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -229,7 +229,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", - "label": "Do have any of the following IDs?", + "label": "Do you have any of the following IDs?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index 88b0d8ba53..08f2d94e28 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -275,7 +275,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", - "label": "Do have any of the following IDs?", + "label": "Do you have any of the following IDs?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index 611f74bde5..e9f1f23c5a 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -194,7 +194,7 @@ "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "type": "edit_text", - "hint": "ID", + "hint": "WAJA ID", "value": "0", "read_only": "true", "v_numeric": { From b2e35ca3ce733d48159633642d2ccebe5bf8f44f Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 16 Nov 2021 09:37:55 +0300 Subject: [PATCH 151/915] fixed: refactored community health fund (chf) options for remaining forms --- opensrp-chw/build.gradle | 2 +- .../all_clients_update_registration_info_form.json | 5 +---- opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json | 5 +---- .../src/ba/assets/json.form-sw/family_member_register.json | 5 +---- opensrp-chw/src/ba/assets/json.form-sw/family_register.json | 5 +---- .../json.form/all_clients_update_registration_info_form.json | 5 +---- opensrp-chw/src/ba/assets/json.form/child_enrollment.json | 5 +---- .../src/ba/assets/json.form/family_member_register.json | 5 +---- opensrp-chw/src/ba/assets/json.form/family_register.json | 5 +---- 9 files changed, 9 insertions(+), 33 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 5447013332..6700555f95 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.30.1-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.30.2-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 1814185a7c..5f49c4adfc 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -368,8 +368,7 @@ "type": "spinner", "hint": "Bima ya afya unaotumia", "values": [ - "Bima ya afya ya jamii (CHF)", - "Bima ya afya ya jamii ulioboreshwa (iCHF)", + "Bima ya afya ya jamii (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -384,7 +383,6 @@ ], "keys": [ "Community Health Fund (CHF)", - "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -399,7 +397,6 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", - "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index 24214b8f72..7130093e5d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -264,8 +264,7 @@ "type": "spinner", "hint": "Bima ya afya unaotumia", "values": [ - "Bima ya afya ya jamii (CHF)", - "Bima ya afya ya jamii ulioboreshwa (iCHF)", + "Bima ya afya ya jamii (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -280,7 +279,6 @@ ], "keys": [ "Community Health Fund (CHF)", - "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -295,7 +293,6 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", - "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 42f5d11f23..c22017dad9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -414,8 +414,7 @@ "type": "spinner", "hint": "Bima ya afya unaotumia", "values": [ - "Bima ya afya ya jamii (CHF)", - "Bima ya afya ya jamii ulioboreshwa (iCHF)", + "Bima ya afya ya jamii (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -430,7 +429,6 @@ ], "keys": [ "Community Health Fund (CHF)", - "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -445,7 +443,6 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", - "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index b438d0e7ca..9616ee7c67 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -461,8 +461,7 @@ "type": "spinner", "hint": "Bima ya afya unaotumia", "values": [ - "Bima ya afya ya jamii (CHF)", - "Bima ya afya ya jamii ulioboreshwa (iCHF)", + "Bima ya afya ya jamii (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -477,7 +476,6 @@ ], "keys": [ "Community Health Fund (CHF)", - "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -492,7 +490,6 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", - "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index dd0ba3640f..4e1b7e9ed1 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -368,8 +368,7 @@ "type": "spinner", "hint": "Health insurance provider", "values": [ - "Community Health Fund (CHF)", - "iCHF", + "Community Health Fund (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -384,7 +383,6 @@ ], "keys": [ "Community Health Fund (CHF)", - "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -399,7 +397,6 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", - "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", diff --git a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json index 6c815fa659..ef0d057fe1 100644 --- a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json @@ -264,8 +264,7 @@ "type": "spinner", "hint": "Health insurance provider", "values": [ - "Community Health Fund (CHF)", - "iCHF", + "Community Health Fund (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -280,7 +279,6 @@ ], "keys": [ "Community Health Fund (CHF)", - "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -295,7 +293,6 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", - "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index 08f2d94e28..b16cec517b 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -414,8 +414,7 @@ "type": "spinner", "hint": "Health insurance provider", "values": [ - "Community Health Fund (CHF)", - "iCHF", + "Community Health Fund (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -430,7 +429,6 @@ ], "keys": [ "Community Health Fund (CHF)", - "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -445,7 +443,6 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", - "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index e9f1f23c5a..ff99191290 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -518,8 +518,7 @@ "type": "spinner", "hint": "Health insurance provider", "values": [ - "Community Health Fund (CHF)", - "iCHF", + "Community Health Fund (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -534,7 +533,6 @@ ], "keys": [ "Community Health Fund (CHF)", - "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", @@ -549,7 +547,6 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", - "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", From 2ce27978cb1ee10fefbc43c2079ba91fdd4e2175 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 16 Nov 2021 16:14:22 +0300 Subject: [PATCH 152/915] renamed an option in family registration form --- opensrp-chw/src/ba/assets/json.form/family_register.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index ff99191290..f4508f0c92 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -862,7 +862,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Occupation of the family member", + "label": "Occupation of the family head", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ From 84133b2dc0fdf0b2686137f4340130e74b29a6c2 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 16 Nov 2021 16:23:25 +0300 Subject: [PATCH 153/915] renaming the nav logo name --- opensrp-chw/build.gradle | 2 +- opensrp-chw/src/ba/res/values-fr/strings.xml | 2 +- opensrp-chw/src/ba/res/values-sw/strings.xml | 2 +- opensrp-chw/src/ba/res/values/strings.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 5447013332..deea310d40 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.30.1-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.30.3-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/ba/res/values-fr/strings.xml b/opensrp-chw/src/ba/res/values-fr/strings.xml index 965d2beaa4..08f929f09c 100644 --- a/opensrp-chw/src/ba/res/values-fr/strings.xml +++ b/opensrp-chw/src/ba/res/values-fr/strings.xml @@ -2,5 +2,5 @@ Ministry of Health Ministry of Health \n WAJA app - Ministry of Health + Ministry of Health Community App \ No newline at end of file diff --git a/opensrp-chw/src/ba/res/values-sw/strings.xml b/opensrp-chw/src/ba/res/values-sw/strings.xml index 7476dd672e..262ed39975 100644 --- a/opensrp-chw/src/ba/res/values-sw/strings.xml +++ b/opensrp-chw/src/ba/res/values-sw/strings.xml @@ -1,7 +1,7 @@ WAJA Ministry of Health \n WAJA app - Ministry of Health + Ministry of Health Community App Wajawazito Baada ya Kujifungua Kliniki ya Tiba na matunzo (CTC) diff --git a/opensrp-chw/src/ba/res/values/strings.xml b/opensrp-chw/src/ba/res/values/strings.xml index d48d797545..0633aa2c55 100644 --- a/opensrp-chw/src/ba/res/values/strings.xml +++ b/opensrp-chw/src/ba/res/values/strings.xml @@ -1,7 +1,7 @@ WAJA Ministry of Health \n WAJA app - Ministry of Health + Ministry of Health Community App ANC PNC SICK CHILD FORM From 4713acd682870a70743dfb76efb853620cb03ac1 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 16 Nov 2021 21:22:36 +0300 Subject: [PATCH 154/915] renamed the village field in all clients and family registration forms --- .../ba/assets/json.form-sw/all_clients_registration_form.json | 2 +- opensrp-chw/src/ba/assets/json.form-sw/family_register.json | 2 +- .../src/ba/assets/json.form/all_clients_registration_form.json | 2 +- opensrp-chw/src/ba/assets/json.form/family_register.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index a5b7b7062f..9fd8aa5f1f 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -176,7 +176,7 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Kijiji", + "hint": "Kijiji/Mtaa", "tree": [], "v_required": { "value": true, diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 9616ee7c67..9fb6e40efd 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -142,7 +142,7 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Kijiji", + "hint": "Kijiji/Mtaa", "tree": [], "v_required": { "value": true, diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index cefaabc301..e3861918be 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -176,7 +176,7 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Village", + "hint": "Village/Street", "tree": [], "v_required": { "value": true, diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index ff99191290..3a70d9bbb0 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -176,7 +176,7 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Village", + "hint": "Village/Street", "tree": [], "v_required": { "value": true, From ee4a5c6374ab650d8da5161c1f07ac61302544d9 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 17 Nov 2021 19:40:18 +0300 Subject: [PATCH 155/915] implemented regex for id formats and renamed options in forms together with skip logic for family registration form --- opensrp-chw/build.gradle | 2 +- .../all_clients_registration_form.json | 24 ++++++++++---- .../json.form-sw/family_details_register.json | 2 +- .../json.form-sw/family_member_register.json | 18 ++++++++-- .../assets/json.form-sw/family_register.json | 33 +++++++++++++++---- .../all_clients_registration_form.json | 22 ++++++++++--- .../json.form/family_member_register.json | 18 ++++++++-- .../ba/assets/json.form/family_register.json | 22 ++++++++++--- .../assets/rule/family_register_relevance.yml | 7 ++++ 9 files changed, 117 insertions(+), 31 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index deea310d40..3f80228217 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.30.3-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.30.4-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 9fd8aa5f1f..be3a9d92de 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -130,7 +130,7 @@ "openmrs_entity_id": "cityVillage", "type": "edit_text", "edit_type": "name", - "hint": "Eneno", + "hint": "Jina la eneo", "v_required": { "value": "true", "err": "Tafadhali ingiza jina la eneo" @@ -176,11 +176,11 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Kijiji/Mtaa", + "hint": "Kijiji/ Mtaa", "tree": [], "v_required": { "value": true, - "err": "Tafadhali chagua kijiji" + "err": "Tafadhali chagua jina la kijiji au mtaa" } } ] @@ -440,8 +440,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", "type": "edit_text", - "hint": "Namba ya kitambulisho cha taifa", + "hint": "Namba ya kitambulisho cha taifa, mfano: 12345678-91234-56789-12", "edit_type": "name", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "Namba ya kitambulisho cha taifa inatakiwa kuwa (XXXXXXXX-XXXXX-XXXXX-XX)" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -460,8 +464,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", "type": "edit_text", - "hint": "Namba ya kitambulisho cha mpiga kura", + "hint": "Namba ya kitambulisho cha mpiga kura, mfano: T-1234-5678-912-3", "edit_type": "name", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Namba ya kitambulisho cha mpiga kura inatakiwa kuwa (T-XXXX-XXXX-XXX-X)" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -480,8 +488,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", "type": "edit_text", - "hint": "Namba ya leseni ya udereva", + "hint": "Namba ya leseni ya udereva, mfano: 1234567891", "edit_type": "name", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Namba ya leseni ya udereva inatakiwa kuwa (XXXXXXXXXX)" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json index d932b57e27..5fb5ac7f4d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json @@ -92,7 +92,7 @@ "openmrs_entity": "person_address", "openmrs_entity_id": "cityVillage", "type": "edit_text", - "hint": "Jina la eneno", + "hint": "Jina la eneo", "v_required": { "value": "true", "err": "Tafadhali ingiza jina la eneo" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index c22017dad9..3ca955acc1 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -332,8 +332,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", "type": "edit_text", - "hint": "Namba ya kitambulisho cha taifa", + "hint": "Namba ya kitambulisho cha taifa, mfano: 12345678-91234-56789-12", "edit_type": "name", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "Namba ya kitambulisho cha taifa inatakiwa kuwa (XXXXXXXX-XXXXX-XXXXX-XX)" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -352,8 +356,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", "type": "edit_text", - "hint": "Namba ya kitambulisho cha mpiga kura", + "hint": "Namba ya kitambulisho cha mpiga kura, mfano: T-1234-5678-912-3", "edit_type": "name", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Namba ya kitambulisho cha mpiga kura inatakiwa kuwa (T-XXXX-XXXX-XXX-X)" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -372,8 +380,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", "type": "edit_text", - "hint": "Namba ya leseni ya udereva", + "hint": "Namba ya leseni ya udereva, mfano: 1234567891", "edit_type": "name", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Namba ya leseni ya udereva inatakiwa kuwa (XXXXXXXXXX)" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 9fb6e40efd..5ff11a1801 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -96,7 +96,7 @@ "openmrs_entity_id": "cityVillage", "type": "edit_text", "edit_type": "name", - "hint": "Eneo", + "hint": "Jina la eneo", "v_required": { "value": "true", "err": "Tafadhali ingiza jina la eneo" @@ -142,11 +142,11 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Kijiji/Mtaa", + "hint": "Kijiji/ Mtaa", "tree": [], "v_required": { "value": true, - "err": "Tafadhali chagua jina la kijiji" + "err": "Tafadhali chagua jina la kijiji au mtaa" } } ] @@ -371,7 +371,14 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } - ] + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } }, { "key": "national_id", @@ -379,8 +386,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", "type": "edit_text", - "hint": "Namba ya kitambulisho cha taifa", + "hint": "Namba ya kitambulisho cha taifa, mfano: 12345678-91234-56789-12", "edit_type": "name", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "Namba ya kitambulisho cha taifa inatakiwa kuwa (XXXXXXXX-XXXXX-XXXXX-XX)" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -399,8 +410,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", "type": "edit_text", - "hint": "Namba ya kitambulisho cha mpiga kura", + "hint": "Namba ya kitambulisho cha mpiga kura, mfano: T-1234-5678-912-3", "edit_type": "name", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Namba ya kitambulisho cha mpiga kura inatakiwa kuwa (T-XXXX-XXXX-XXX-X)" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -419,8 +434,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", "type": "edit_text", - "hint": "Namba ya leseni ya udereva", + "hint": "Namba ya leseni ya udereva, mfano: 1234567891", "edit_type": "name", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Namba ya leseni ya udereva inatakiwa kuwa (XXXXXXXXXX)" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index e3861918be..045f435fb3 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -176,11 +176,11 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Village/Street", + "hint": "Village/ Street", "tree": [], "v_required": { "value": true, - "err": "Please select the village" + "err": "Please select the village or street" } } ] @@ -440,8 +440,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", "type": "edit_text", - "hint": "National ID number", + "hint": "National ID number e.g 12345678-91234-56789-12", "edit_type": "name", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -460,8 +464,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", "type": "edit_text", - "hint": "Voter's registration number", + "hint": "Voter's registration number e.g T-1234-5678-912-3", "edit_type": "name", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -480,8 +488,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", "type": "edit_text", - "hint": "Driver's license number", + "hint": "Driver's license number e.g 1234567891", "edit_type": "name", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Driver's license number should be of the format (XXXXXXXXXX)" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index b16cec517b..1a34b19837 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -332,8 +332,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", "type": "edit_text", - "hint": "National ID number", + "hint": "National ID number e.g 12345678-91234-56789-12", "edit_type": "name", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -352,8 +356,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", "type": "edit_text", - "hint": "Voter's registration number", + "hint": "Voter's registration number e.g T-1234-5678-912-3", "edit_type": "name", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -372,8 +380,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", "type": "edit_text", - "hint": "Driver's license number", + "hint": "Driver's license number e.g 1234567891", "edit_type": "name", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Driver's license number should be of the format (XXXXXXXXXX)" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index a5436a270f..20c08d4e05 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -176,11 +176,11 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Village/Street", + "hint": "Village/ Street", "tree": [], "v_required": { "value": true, - "err": "Please select the village" + "err": "Please select the village or street" } } ] @@ -436,8 +436,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", "type": "edit_text", - "hint": "National ID number", + "hint": "National ID number e.g 12345678-91234-56789-12", "edit_type": "name", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -456,8 +460,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", "type": "edit_text", - "hint": "Voter's registration number", + "hint": "Voter's registration number e.g T-1234-5678-912-3", "edit_type": "name", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -476,8 +484,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", "type": "edit_text", - "hint": "Driver's license number", + "hint": "Driver's license number e.g 1234567891", "edit_type": "name", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Driver's license number should be of the format (XXXXXXXXXX)" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ diff --git a/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml b/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml index 6dcede1e81..fc5f2b25ae 100644 --- a/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml @@ -146,5 +146,12 @@ name: step2_preg_1yr description: pregnance 1yr relevance priority: 1 condition: "step2_wra == 1" +actions: + - "isRelevant = true" +--- +name: step2_id_avail +description: identity relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" actions: - "isRelevant = true" \ No newline at end of file From 9cfa18a0a92cbbb178cc303aafaa25dee78e55c2 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 18 Nov 2021 06:09:04 +0300 Subject: [PATCH 156/915] added cbhs upcoming service interactor --- opensrp-chw/build.gradle | 2 +- .../chw/activity/HivProfileActivity.java | 4 +- .../chw/interactor/CbhsProfileInteractor.java | 45 +++++++++++ .../CbhsUpcomingServicesInteractor.java | 76 +++++++++++++++++++ 4 files changed, 124 insertions(+), 3 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsProfileInteractor.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsUpcomingServicesInteractor.java diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index deea310d40..3f80228217 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.30.3-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.30.4-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 3b354ebc95..8aee8442a6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -25,7 +25,6 @@ import org.smartregister.chw.core.activity.CoreHivUpcomingServicesActivity; import org.smartregister.chw.core.adapter.NotificationListAdapter; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; -import org.smartregister.chw.core.interactor.CoreHivProfileInteractor; import org.smartregister.chw.core.listener.OnClickFloatingMenu; import org.smartregister.chw.core.listener.OnRetrieveNotifications; import org.smartregister.chw.core.task.RunnableTask; @@ -38,6 +37,7 @@ import org.smartregister.chw.hiv.util.Constants; import org.smartregister.chw.hiv.util.DBConstants; import org.smartregister.chw.hiv.util.HivUtil; +import org.smartregister.chw.interactor.CbhsProfileInteractor; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.HivProfilePresenter; import org.smartregister.chw.referral.domain.NeatFormMetaData; @@ -256,7 +256,7 @@ protected void removeMember() { @Override protected void initializePresenter() { showProgressBar(true); - setHivProfilePresenter(new HivProfilePresenter(this, new CoreHivProfileInteractor(this), getHivMemberObject())); + setHivProfilePresenter(new HivProfilePresenter(this, new CbhsProfileInteractor(this), getHivMemberObject())); fetchProfileData(); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsProfileInteractor.java b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsProfileInteractor.java new file mode 100644 index 0000000000..e4af0871b1 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsProfileInteractor.java @@ -0,0 +1,45 @@ +package org.smartregister.chw.interactor; + +import android.content.Context; + +import org.smartregister.chw.anc.model.BaseUpcomingService; +import org.smartregister.chw.core.interactor.CoreHivProfileInteractor; +import org.smartregister.chw.hiv.dao.HivDao; +import org.smartregister.dao.AbstractDao; +import org.smartregister.domain.Alert; +import org.smartregister.domain.AlertStatus; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.List; + +import timber.log.Timber; + +public class CbhsProfileInteractor extends CoreHivProfileInteractor { + public CbhsProfileInteractor(Context context) { + super(context); + } + + @Override + protected Alert getAlerts(Context context, String baseEntityID) { + try { + List baseUpcomingServices = new ArrayList<>(new CbhsUpcomingServicesInteractor().getMemberServices(context, toMember(HivDao.getMember(baseEntityID)))); + if (baseUpcomingServices.size() > 0) { + Comparator comparator = (o1, o2) -> o1.getServiceDate().compareTo(o2.getServiceDate()); + Collections.sort(baseUpcomingServices, comparator); + + BaseUpcomingService baseUpcomingService = baseUpcomingServices.get(0); + Date serviceDate = baseUpcomingService.getServiceDate(); + String serviceName = baseUpcomingService.getServiceName(); + AlertStatus upcomingServiceAlertStatus = serviceDate != null && serviceDate.before(new Date()) ? AlertStatus.urgent : AlertStatus.normal; + String formattedServiceDate = serviceDate != null ? AbstractDao.getDobDateFormat().format(serviceDate) : null; + return new Alert(baseEntityID, serviceName, serviceName, upcomingServiceAlertStatus, formattedServiceDate, "", true); + } + } catch (Exception e) { + Timber.e(e); + } + return null; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsUpcomingServicesInteractor.java b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsUpcomingServicesInteractor.java new file mode 100644 index 0000000000..b7a844f5a0 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsUpcomingServicesInteractor.java @@ -0,0 +1,76 @@ +package org.smartregister.chw.interactor; + +import android.content.Context; + +import org.jeasy.rules.api.Rules; +import org.smartregister.chw.anc.domain.MemberObject; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.interactor.BaseAncUpcomingServicesInteractor; +import org.smartregister.chw.anc.model.BaseUpcomingService; +import org.smartregister.chw.core.R; +import org.smartregister.chw.core.application.CoreChwApplication; +import org.smartregister.chw.core.rule.HivFollowupRule; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.HomeVisitUtil; +import org.smartregister.chw.hiv.dao.HivDao; +import org.smartregister.chw.hiv.domain.HivAlertObject; +import org.smartregister.chw.tb.util.Constants; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class CbhsUpcomingServicesInteractor extends BaseAncUpcomingServicesInteractor { + protected MemberObject memberObject; + protected Context context; + + public static Rules getHivRules() { + return CoreChwApplication.getInstance().getRulesEngineHelper().rules(CoreConstants.RULE_FILE.HIV_FOLLOW_UP_VISIT); + } + + @Override + public List getMemberServices(Context context, MemberObject memberObject) { + this.memberObject = memberObject; + this.context = context; + List serviceList = new ArrayList<>(); + evaluateHiv(serviceList); + return serviceList; + } + + private void evaluateHiv(List serviceList) { + String hiv_date = null; + Date serviceDueDate = null; + Date serviceOverDueDate = null; + String serviceName = null; + + List hivList = HivDao.getHivDetails(memberObject.getBaseEntityId()); + if (hivList.size() > 0) { + for (HivAlertObject hiv : hivList) { + hiv_date = hiv.getHivStartDate(); + } + } + Date lastVisitDate = null; + Visit lastVisit; + Date hivDate = new Date(new BigDecimal(hiv_date).longValue()); + lastVisit = HivDao.getLatestVisit(memberObject.getBaseEntityId(), Constants.EventType.FOLLOW_UP_VISIT); + if (lastVisit != null) { + lastVisitDate = lastVisit.getDate(); + } + + HivFollowupRule alertRule = HomeVisitUtil.getHivVisitStatus(lastVisitDate, hivDate); + serviceDueDate = alertRule.getDueDate(); + serviceOverDueDate = alertRule.getOverDueDate(); + serviceName = context.getString(R.string.cbhs_follow_up_visit); + + BaseUpcomingService upcomingService = new BaseUpcomingService(); + if (serviceName != null) { + upcomingService.setServiceDate(serviceDueDate); + upcomingService.setOverDueDate(serviceOverDueDate); + upcomingService.setServiceName(serviceName); + serviceList.add(upcomingService); + } + + } + +} From ac3e2ea943484f445c147100cfd66f2386c48b30 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 19 Nov 2021 11:07:34 +0300 Subject: [PATCH 157/915] update the switchToBaseFragment from FamilyRegister to AllClientsRegisterActivity --- opensrp-chw/build.gradle | 2 +- .../smartregister/chw/activity/AllClientsRegisterActivity.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 3f80228217..c04dac3c77 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.30.4-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.30.5-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsRegisterActivity.java index de67fc418e..065361220f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsRegisterActivity.java @@ -69,7 +69,7 @@ protected BaseOpdRegisterActivityPresenter createPresenter( @Override public void switchToBaseFragment() { - Intent intent = new Intent(this, FamilyRegisterActivity.class); + Intent intent = new Intent(this, AllClientsRegisterActivity.class); startActivity(intent); finish(); } From d54117ca2a42aefb390effb6752da0aaecaeacaa Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 19 Nov 2021 14:51:09 +0300 Subject: [PATCH 158/915] Made updates to forms and forms logic --- opensrp-chw/build.gradle | 2 +- .../all_clients_registration_form.json | 48 ++++++++++++++++++- .../json.form-sw/family_details_register.json | 8 ++-- .../json.form-sw/family_member_register.json | 46 ++++++++++++++++++ .../assets/json.form-sw/family_register.json | 48 ++++++++++++++++++- .../female_hiv_followup_visit.json | 9 ---- ...up_visit_for_clients_with_ctc_numbers.json | 9 ---- .../all_clients_registration_form.json | 6 +-- ...clients_update_registration_info_form.json | 2 +- .../json.form/family_details_register.json | 8 ++-- .../ba/assets/json.form/family_register.json | 4 +- .../json.form/female_hiv_followup_visit.json | 11 +---- ...up_visit_for_clients_with_ctc_numbers.json | 11 +---- .../json.form/male_hiv_followup_visit.json | 2 +- ...up_visit_for_clients_with_ctc_numbers.json | 2 +- .../rule/all_clients_member_relevance.yml | 2 +- .../assets/rule/family_member_relevance.yml | 2 +- .../assets/rule/family_register_relevance.yml | 2 +- 18 files changed, 162 insertions(+), 60 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 3f80228217..c04dac3c77 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.30.4-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.30.5-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index be3a9d92de..1002693767 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -176,7 +176,7 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Kijiji/ Mtaa", + "hint": "Kijiji/Mtaa", "tree": [], "v_required": { "value": true, @@ -830,6 +830,52 @@ } } }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya ndoa ya mteja?", + "values": [ + "Hajaolewa", + "Ameolewa", + "Ameachwa", + "Ndoa ya mme/mke mmoja", + "Mitala", + "Mjane", + "Kuishi pamoja" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, { "key": "service_provider", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json index 5fb5ac7f4d..cf162dfed8 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json @@ -60,14 +60,14 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la familia (ukoo)", + "hint": "Jina la familia (Ukoo)", "edit_type": "name", "v_required": { "value": "true", "err": "Tafadhali ingiza jina la familia (ukoo)" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" } }, @@ -121,11 +121,11 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Kijiji", + "hint": "Kijiji/Mtaa", "tree": [], "v_required": { "value": true, - "err": "Tafadhali chagua kijiji" + "err": "Tafadhali chagua kijiji au mtaa" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 3ca955acc1..209e948cc9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -688,6 +688,52 @@ "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." } }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya ndoa ya mteja?", + "values": [ + "Hajaolewa", + "Ameolewa", + "Ameachwa", + "Ndoa ya mme/mke mmoja", + "Mitala", + "Mjane", + "Kuishi pamoja" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, { "key": "service_provider", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 5ff11a1801..49f1f5fa65 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -142,7 +142,7 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Kijiji/ Mtaa", + "hint": "Kijiji/Mtaa", "tree": [], "v_required": { "value": true, @@ -712,6 +712,52 @@ "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." } }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya ndoa ya mteja?", + "values": [ + "Hajaolewa", + "Ameolewa", + "Ameachwa", + "Ndoa ya mme/mke mmoja", + "Mitala", + "Mjane", + "Kuishi pamoja" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, { "key": "service_provider", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json index 733cda7b1d..a9510c2ace 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json @@ -401,15 +401,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "women_having_sex_with_other_women", - "text": "Wanawake wanaofanya ngono na wanawake wenzao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "women_having_sex_with_other_women", - "openmrs_entity_parent": "" - } - }, { "name": "people_who_inject_drugs", "text": "Wajidunga", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 9a9c73de3c..55d8daff99 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -401,15 +401,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "women_having_sex_with_other_women", - "text": "Wanawake wanaofanya ngono na wanawake wenzao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "women_having_sex_with_other_women", - "openmrs_entity_parent": "" - } - }, { "name": "people_who_inject_drugs", "text": "Wajidunga", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 045f435fb3..3bff0baf76 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -147,7 +147,7 @@ "openmrs_entity_id": "landmark", "type": "edit_text", "edit_type": "name", - "hint": "Landmark/ description of house location", + "hint": "Landmark/Description of house location", "v_required": { "value": true, "err": "Please enter the landmark/description of location." @@ -176,7 +176,7 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Village/ Street", + "hint": "Village/Street", "tree": [], "v_required": { "value": true, @@ -1181,7 +1181,7 @@ "options": [ { "key": "hiv_aids_transmission", - "text": "HIV/AIDs transimission", + "text": "HIV/AIDs transmission", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index 4e1b7e9ed1..e75e3c5dc4 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -931,7 +931,7 @@ "options": [ { "key": "hiv_aids_transmission", - "text": "HIV/AIDs transimission", + "text": "HIV/AIDs transmission", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" diff --git a/opensrp-chw/src/ba/assets/json.form/family_details_register.json b/opensrp-chw/src/ba/assets/json.form/family_details_register.json index bf149eea08..831e2a517b 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_details_register.json @@ -60,14 +60,14 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Family name", + "hint": "Surname", "edit_type": "name", "v_required": { "value": "true", "err": "Please enter the family name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" } }, @@ -121,11 +121,11 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Village", + "hint": "Village/Street", "tree": [], "v_required": { "value": true, - "err": "Please enter the village" + "err": "Please enter the village or street" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index 20c08d4e05..6a7b8a1ca7 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -147,7 +147,7 @@ "openmrs_entity_id": "landmark", "type": "edit_text", "edit_type": "name", - "hint": "Landmark/ description of house location", + "hint": "Landmark/Description of house location", "v_required": { "value": true, "err": "Please enter the landmark/description of location." @@ -176,7 +176,7 @@ "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Village/ Street", + "hint": "Village/Street", "tree": [], "v_required": { "value": true, diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json index 0006c46172..49ebe1934a 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json @@ -134,7 +134,7 @@ }, { "name": "client_continues_with_clinic_from_elsewhere", - "text": "Clients continues with clinic from elsewhere", + "text": "Client continues with clinic from elsewhere", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", @@ -474,15 +474,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "women_having_sex_with_other_women", - "text": "Women having sex with other women", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "women_having_sex_with_other_women", - "openmrs_entity_parent": "" - } - }, { "name": "people_who_inject_drugs", "text": "People Who Inject Drugs (PWID)", diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 7e72e49e79..9d727cdba2 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -134,7 +134,7 @@ }, { "name": "client_continues_with_clinic_from_elsewhere", - "text": "Clients continues with clinic from elsewhere", + "text": "Client continues with clinic from elsewhere", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", @@ -401,15 +401,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "women_having_sex_with_other_women", - "text": "Women having sex with other women", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "women_having_sex_with_other_women", - "openmrs_entity_parent": "" - } - }, { "name": "people_who_inject_drugs", "text": "People Who Inject Drugs (PWID)", diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json index 1cdb7e6b14..e8171d446c 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json @@ -134,7 +134,7 @@ }, { "name": "client_continues_with_clinic_from_elsewhere", - "text": "Clients continues with clinic from elsewhere", + "text": "Client continues with clinic from elsewhere", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 29f26c209b..6bd151dbf1 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -134,7 +134,7 @@ }, { "name": "client_continues_with_clinic_from_elsewhere", - "text": "Clients continues with clinic from elsewhere", + "text": "Client continues with clinic from elsewhere", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml index 39b4ff3308..47fd457485 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml @@ -44,7 +44,7 @@ actions: name: step2_marital_status description: marital_status relevance priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 14) || (step2_age != '' && step2_age >= 14)" actions: - "isRelevant = true" diff --git a/opensrp-chw/src/ba/assets/rule/family_member_relevance.yml b/opensrp-chw/src/ba/assets/rule/family_member_relevance.yml index 5515222052..c14379bb4c 100644 --- a/opensrp-chw/src/ba/assets/rule/family_member_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/family_member_relevance.yml @@ -46,7 +46,7 @@ actions: name: step1_marital_status description: marital_status relevance priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 14) || (step1_age != '' && step1_age >= 14)" actions: - "isRelevant = true" --- diff --git a/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml b/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml index fc5f2b25ae..0d48b39234 100644 --- a/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml @@ -30,7 +30,7 @@ actions: name: step2_marital_status description: marital_status relevance priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 14) || (step2_age != '' && step2_age >= 14)" actions: - "isRelevant = true" --- From cb1760738f8344cdba4d4ea36a9c3b21cad1b902 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 19 Nov 2021 15:09:39 +0300 Subject: [PATCH 159/915] renamed error message --- .../src/ba/assets/json.form/family_details_register.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/json.form/family_details_register.json b/opensrp-chw/src/ba/assets/json.form/family_details_register.json index 831e2a517b..70d5c2cf42 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_details_register.json @@ -64,7 +64,7 @@ "edit_type": "name", "v_required": { "value": "true", - "err": "Please enter the family name" + "err": "Please enter the surname" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", From f139f108be7d4c576b608dc482b3bc68a27c1b73 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 19 Nov 2021 21:26:40 +0300 Subject: [PATCH 160/915] added additional questions for hiv followup forms option --- .../src/ba/assets/json.form-sw/female_hiv_followup_visit.json | 2 +- ...emale_hiv_followup_visit_for_clients_with_ctc_numbers.json | 2 +- .../src/ba/assets/json.form-sw/male_hiv_followup_visit.json | 2 +- .../male_hiv_followup_visit_for_clients_with_ctc_numbers.json | 2 +- opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json index a9510c2ace..24dcc40667 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json @@ -134,7 +134,7 @@ }, { "name": "client_continues_with_clinic_from_elsewhere", - "text": "Anaendelea na huduma akitokea mahali pengine", + "text": "Anaendelea na huduma kutoka sehemu nyingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 55d8daff99..a1b952cc41 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -134,7 +134,7 @@ }, { "name": "client_continues_with_clinic_from_elsewhere", - "text": "Anaendelea na huduma akitokea mahali pengine", + "text": "Anaendelea na huduma kutoka sehemu nyingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json index 2bd54688cc..34df74f473 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json @@ -134,7 +134,7 @@ }, { "name": "client_continues_with_clinic_from_elsewhere", - "text": "Anaendelea na huduma akitokea mahali pengine", + "text": "Anaendelea na huduma kutoka sehemu nyingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 6269f52e26..c55e2c8185 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -134,7 +134,7 @@ }, { "name": "client_continues_with_clinic_from_elsewhere", - "text": "Anaendelea na huduma akitokea mahali pengine", + "text": "Anaendelea na huduma kutoka sehemu nyingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", diff --git a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml index ef2d2af1cf..5140cddc18 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml @@ -142,14 +142,14 @@ actions: name: "client_moved_location_visibility" description: "client_moved_location visibility" priority: 1 -condition: "registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine'" +condition: "registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine' || registration_or_followup_status.value == 'Client continues with clinic from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine'" actions: - "client_moved_location_visibility = true" --- name: "client_moved_location_other_visibility" description: "client_moved_location visibility" priority: 1 -condition: "client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine')" +condition: "client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine') || client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client continues with clinic from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine')" actions: - "client_moved_location_other_visibility = true" From 6f823510a499a6ecd462ef3200b153b29be18fe6 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 21 Nov 2021 13:02:32 +0300 Subject: [PATCH 161/915] updated implementation for onViewClicked --- .../HivIndexContactsRegisterFragment.java | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java index 486fe1fc28..0520a3354f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java @@ -1,13 +1,17 @@ package org.smartregister.chw.fragment; +import android.view.View; + import com.vijay.jsonwizard.utils.FormUtils; import org.jetbrains.annotations.Nullable; import org.json.JSONException; +import org.smartregister.chw.R; import org.smartregister.chw.activity.HivIndexContactProfileActivity; import org.smartregister.chw.activity.HivIndexContactsContactsRegisterActivity; import org.smartregister.chw.core.fragment.CoreHivIndexContactsRegisterFragment; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.dao.HivIndexDao; import org.smartregister.chw.hiv.domain.HivMemberObject; import org.smartregister.chw.model.HivIndexContactsRegisterFragmentModel; @@ -39,25 +43,24 @@ protected void openProfile(CommonPersonObjectClient client) { HivIndexContactProfileActivity.startHivIndexContactProfileActivity(getActivity(), Objects.requireNonNull(HivIndexDao.getMember(client.getCaseId()))); } } - - @Override - protected void openFollowUpVisit(@Nullable HivMemberObject hivMemberObject) { - if (getActivity() != null) { - String formName; - if (hivMemberObject.getGender().equalsIgnoreCase("male")) { - formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); - } else { - formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); - } - + protected void onViewClicked(View view) { + if(getActivity() == null){ + return; + } + if(view.getTag() instanceof CommonPersonObjectClient && view.getTag(R.id.VIEW_ID) == CLICK_VIEW_NORMAL ){ + openProfile((CommonPersonObjectClient) view.getTag()); + }else if(view.getTag() instanceof CommonPersonObjectClient && view.getTag(R.id.VIEW_ID) == FOLLOW_UP_VISIT){ try { - HivIndexContactsContactsRegisterActivity.startHIVFormActivity(getActivity(), hivMemberObject.getBaseEntityId(), formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), CoreConstants.JSON_FORM.getHivIndexContactFollowupVisit()).toString()); + HivIndexContactProfileActivity.startHivIndexContactFollowupActivity(getActivity(), HivIndexDao.getMember(((CommonPersonObjectClient)view.getTag()).getCaseId()).getBaseEntityId()); } catch (JSONException e) { Timber.e(e); } + + //openFollowUpVisit(HivDao.getMember(((CommonPersonObjectClient)view.getTag()).getCaseId())); } } + } From 1c864ae7d3747501f5645c79f2d5d8541c55a341 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 21 Nov 2021 13:07:25 +0300 Subject: [PATCH 162/915] fixed codacy issues --- .../fragment/HivIndexContactsRegisterFragment.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java index 0520a3354f..5500c16494 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivIndexContactsRegisterFragment.java @@ -43,21 +43,20 @@ protected void openProfile(CommonPersonObjectClient client) { HivIndexContactProfileActivity.startHivIndexContactProfileActivity(getActivity(), Objects.requireNonNull(HivIndexDao.getMember(client.getCaseId()))); } } + @Override protected void onViewClicked(View view) { - if(getActivity() == null){ + if (getActivity() == null) { return; } - if(view.getTag() instanceof CommonPersonObjectClient && view.getTag(R.id.VIEW_ID) == CLICK_VIEW_NORMAL ){ + if (view.getTag() instanceof CommonPersonObjectClient && view.getTag(R.id.VIEW_ID) == CLICK_VIEW_NORMAL) { openProfile((CommonPersonObjectClient) view.getTag()); - }else if(view.getTag() instanceof CommonPersonObjectClient && view.getTag(R.id.VIEW_ID) == FOLLOW_UP_VISIT){ + } else if (view.getTag() instanceof CommonPersonObjectClient && view.getTag(R.id.VIEW_ID) == FOLLOW_UP_VISIT) { try { - HivIndexContactProfileActivity.startHivIndexContactFollowupActivity(getActivity(), HivIndexDao.getMember(((CommonPersonObjectClient)view.getTag()).getCaseId()).getBaseEntityId()); + HivIndexContactProfileActivity.startHivIndexContactFollowupActivity(getActivity(), HivIndexDao.getMember(((CommonPersonObjectClient) view.getTag()).getCaseId()).getBaseEntityId()); } catch (JSONException e) { Timber.e(e); } - - //openFollowUpVisit(HivDao.getMember(((CommonPersonObjectClient)view.getTag()).getCaseId())); } } From 74015f798334a3aa79de6eda3bb9db96022877a3 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 22 Nov 2021 18:24:26 +0300 Subject: [PATCH 163/915] fixed cbhs/hiv followup form rules --- .../assets/rule/hiv_followup_form_rules.yml | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml index 5140cddc18..c6364aaa93 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml @@ -2,14 +2,14 @@ name: "client_condition_visibility" description: "client_condition visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" actions: - "client_condition_visibility = true" --- name: "client_hiv_status_after_testing_visibility" description: "client_hiv_status_after_testing visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" actions: - "client_hiv_status_after_testing_visibility = true" --- @@ -23,7 +23,7 @@ actions: name: "health_problem_visibility" description: "health_problem visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" actions: - "health_problem_visibility = true" --- @@ -37,7 +37,7 @@ actions: name: "social_problem_visibility" description: "social_problem visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" actions: - "social_problem_visibility = true" --- @@ -51,7 +51,7 @@ actions: name: "supplies_provided_visibility" description: "supplies_provided visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" actions: - "supplies_provided_visibility = true" --- @@ -65,14 +65,14 @@ actions: name: "client_behaviour_and_environmental_risk_visibility" description: "client_behaviour_and_environmental_risk visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" actions: - "client_behaviour_and_environmental_risk_visibility = true" --- name: "medicine_provided_visibility" description: "medicine_provided visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services'" +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" actions: - "medicine_provided_visibility = true" --- @@ -86,7 +86,7 @@ actions: name: "hiv_services_provided_visibility" description: "hiv_services_provided visibility" priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" actions: - "hiv_services_provided_visibility = true" --- @@ -100,7 +100,7 @@ actions: name: "referrals_issued_to_other_services_visibility" description: "referrals_issued_to_other_services visibility" priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" actions: - "referrals_issued_to_other_services_visibility = true" --- @@ -114,7 +114,7 @@ actions: name: "referrals_to_other_services_completed_visibility" description: "referrals_to_other_services_completed visibility" priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" actions: - "referrals_to_other_services_completed_visibility = true" --- @@ -128,7 +128,7 @@ actions: name: "state_of_therapy_visibility" description: "state_of_therapy visibility" priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" actions: - "state_of_therapy_visibility = true" --- From 5546d21f8179725e8ec2423ca1bf7ccfcaf0741c Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 22 Nov 2021 18:32:41 +0300 Subject: [PATCH 164/915] Renamed 'form' field value --- .../src/ba/assets/json.form-sw/female_hiv_followup_visit.json | 2 +- .../female_hiv_followup_visit_for_clients_with_ctc_numbers.json | 2 +- .../src/ba/assets/json.form-sw/male_hiv_followup_visit.json | 2 +- .../male_hiv_followup_visit_for_clients_with_ctc_numbers.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json index 24dcc40667..bd49179d37 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json @@ -1,5 +1,5 @@ { - "form": "HIV Followup form", + "form": "CBHS Follow-up form", "count": "1", "encounter_type": "HIV Followup", "entity_id": "", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index a1b952cc41..4e50a2445a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -1,5 +1,5 @@ { - "form": "HIV Followup form", + "form": "CBHS Follow-up form", "count": "1", "encounter_type": "HIV Followup", "entity_id": "", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json index 34df74f473..712e5d9a7f 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json @@ -1,5 +1,5 @@ { - "form": "HIV Followup form", + "form": "CBHS Follow-up form", "count": "1", "encounter_type": "HIV Followup", "entity_id": "", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index c55e2c8185..5680557e66 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -1,5 +1,5 @@ { - "form": "HIV Followup form", + "form": "CBHS Follow-up form", "count": "1", "encounter_type": "HIV Followup", "entity_id": "", From b33de47237b0a62920ced3268f299abbd26ade18 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 23 Nov 2021 14:46:38 +0300 Subject: [PATCH 165/915] Apostrophe can be added in first and middle names --- .../json.form-sw/all_clients_registration_form.json | 8 ++++---- .../all_clients_update_registration_info_form.json | 6 +++--- .../src/ba/assets/json.form-sw/child_enrollment.json | 4 ++-- .../ba/assets/json.form-sw/family_member_register.json | 4 ++-- .../src/ba/assets/json.form-sw/family_register.json | 4 ++-- .../assets/json.form/all_clients_registration_form.json | 8 ++++---- .../all_clients_update_registration_info_form.json | 6 +++--- opensrp-chw/src/ba/assets/json.form/child_enrollment.json | 4 ++-- .../src/ba/assets/json.form/family_member_register.json | 4 ++-- opensrp-chw/src/ba/assets/json.form/family_register.json | 8 ++++---- 10 files changed, 28 insertions(+), 28 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 1002693767..0d6549a3c7 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -87,7 +87,7 @@ "err": "Tafadhali ingiza jina la kwanza" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" } }, @@ -100,7 +100,7 @@ "hint": "Jina la kati", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" }, "v_required": { @@ -244,7 +244,7 @@ "err": "Tafadhali ingiza jina la kwanza" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" }, "read_only": true, @@ -265,7 +265,7 @@ "hint": "Jina la kati", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" }, "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 5f49c4adfc..299d76aace 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -84,7 +84,7 @@ "edit_type": "name", "read_only": true, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" }, "v_required": { @@ -112,7 +112,7 @@ "err": "Tafadhali ingiza jina la kwanza" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" } }, @@ -125,7 +125,7 @@ "hint": "Jina la kati", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" }, "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index 7130093e5d..13fa0e5b4b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -154,7 +154,7 @@ "err": "Tafadhali ingiza jina la kwanza" }, "v_regex": { - "value": "[A-Za-z\\s\\-]*", + "value": "[A-Za-z\\s\\-\\']*", "err": "Tafadhali ingiza jina halali" } }, @@ -173,7 +173,7 @@ "err": "Tafadhali ingiza jina la kati" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" } }, diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 209e948cc9..cf3cf82ab9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -152,7 +152,7 @@ "err": "Tafadhali ingiza jina la kwanza" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" } }, @@ -165,7 +165,7 @@ "hint": "Jina la kati", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" }, "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 49f1f5fa65..7ff3426619 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -185,7 +185,7 @@ "err": "Tafadhali ingiza jina la kwanza" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" } }, @@ -202,7 +202,7 @@ "err": "Tafadhali ingiza jina la kati" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina halali" } }, diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 3bff0baf76..46a5bfd624 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -87,7 +87,7 @@ "err": "Please enter the first name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" } }, @@ -100,7 +100,7 @@ "hint": "Middle name", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "v_required": { @@ -244,7 +244,7 @@ "err": "Please enter the first name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "read_only": true, @@ -265,7 +265,7 @@ "hint": "Middle name", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index e75e3c5dc4..ccd54273b1 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -84,7 +84,7 @@ "edit_type": "name", "read_only": true, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "v_required": { @@ -112,7 +112,7 @@ "err": "Please enter the first name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" } }, @@ -125,7 +125,7 @@ "hint": "Middle name", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json index ef0d057fe1..481f5c0a4f 100644 --- a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json @@ -154,7 +154,7 @@ "err": "Please enter first name" }, "v_regex": { - "value": "[A-Za-z\\s\\-]*", + "value": "[A-Za-z\\s\\-\\']*", "err": "Please enter a valid name" } }, @@ -173,7 +173,7 @@ "err": "Please enter middle name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please Enter a Valid Name" } }, diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index 1a34b19837..4e8f39218c 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -152,7 +152,7 @@ "err": "Please enter the first name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" } }, @@ -165,7 +165,7 @@ "hint": "Middle name", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index 6a7b8a1ca7..ab09b5eab3 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -87,7 +87,7 @@ "err": "Please enter the first name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" } }, @@ -100,7 +100,7 @@ "hint": "Family Head's Middle name", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "v_required": { @@ -219,7 +219,7 @@ "err": "Please enter the first name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "read_only": true, @@ -244,7 +244,7 @@ "err": "Please enter the middle name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "read_only": true, From beeddb29f9005b4979f6ef2976c245aa7791a6ee Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 23 Nov 2021 19:54:08 +0300 Subject: [PATCH 166/915] NHIF option included in insurance provider options --- .../ba/assets/json.form-sw/all_clients_registration_form.json | 3 +++ .../all_clients_update_registration_info_form.json | 3 +++ opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json | 3 +++ .../src/ba/assets/json.form-sw/family_member_register.json | 3 +++ opensrp-chw/src/ba/assets/json.form-sw/family_register.json | 3 +++ .../src/ba/assets/json.form/all_clients_registration_form.json | 3 +++ .../json.form/all_clients_update_registration_info_form.json | 3 +++ opensrp-chw/src/ba/assets/json.form/child_enrollment.json | 3 +++ .../src/ba/assets/json.form/family_member_register.json | 3 +++ opensrp-chw/src/ba/assets/json.form/family_register.json | 3 +++ 10 files changed, 30 insertions(+) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 1002693767..d6dd637946 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -536,6 +536,7 @@ "values": [ "Bima ya afya ya jamii (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -550,6 +551,7 @@ "keys": [ "Community Health Fund (CHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -564,6 +566,7 @@ "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 5f49c4adfc..8288a99956 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -370,6 +370,7 @@ "values": [ "Bima ya afya ya jamii (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -384,6 +385,7 @@ "keys": [ "Community Health Fund (CHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -398,6 +400,7 @@ "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index 7130093e5d..932c3f339a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -266,6 +266,7 @@ "values": [ "Bima ya afya ya jamii (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -280,6 +281,7 @@ "keys": [ "Community Health Fund (CHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -294,6 +296,7 @@ "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 209e948cc9..8081b01a95 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -428,6 +428,7 @@ "values": [ "Bima ya afya ya jamii (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -442,6 +443,7 @@ "keys": [ "Community Health Fund (CHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -456,6 +458,7 @@ "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 49f1f5fa65..1e24891174 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -482,6 +482,7 @@ "values": [ "Bima ya afya ya jamii (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -496,6 +497,7 @@ "keys": [ "Community Health Fund (CHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -510,6 +512,7 @@ "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 3bff0baf76..44dd8a9598 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -536,6 +536,7 @@ "values": [ "Community Health Fund (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -550,6 +551,7 @@ "keys": [ "Community Health Fund (CHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -564,6 +566,7 @@ "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index e75e3c5dc4..5eea5a0875 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -370,6 +370,7 @@ "values": [ "Community Health Fund (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -384,6 +385,7 @@ "keys": [ "Community Health Fund (CHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -398,6 +400,7 @@ "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", diff --git a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json index ef0d057fe1..f320d94390 100644 --- a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json @@ -266,6 +266,7 @@ "values": [ "Community Health Fund (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -280,6 +281,7 @@ "keys": [ "Community Health Fund (CHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -294,6 +296,7 @@ "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index 1a34b19837..43960a5a10 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -428,6 +428,7 @@ "values": [ "Community Health Fund (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -442,6 +443,7 @@ "keys": [ "Community Health Fund (CHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -456,6 +458,7 @@ "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index 6a7b8a1ca7..7ceee5a1ed 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -532,6 +532,7 @@ "values": [ "Community Health Fund (CHF)/(iCHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -546,6 +547,7 @@ "keys": [ "Community Health Fund (CHF)", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -560,6 +562,7 @@ "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", From 05d8222b614a84d10ba0208b8538f404fddbbf85 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 23 Nov 2021 21:24:10 +0300 Subject: [PATCH 167/915] fixing the surname issue --- .../src/ba/assets/json.form/all_clients_registration_form.json | 2 +- opensrp-chw/src/ba/assets/json.form/family_register.json | 2 +- .../smartregister/chw/dataloader/FamilyMemberDataLoader.java | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 3bff0baf76..41c8d07d44 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -210,7 +210,7 @@ "key": "surname", "openmrs_entity_parent": "", "openmrs_entity": "person", - "openmrs_entity_id": "surname", + "openmrs_entity_id": "last_name", "type": "edit_text", "hint": "Surname", "edit_type": "name", diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index 6a7b8a1ca7..29890b2d26 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -260,7 +260,7 @@ "key": "surname", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "", + "openmrs_entity_id": "last_name", "type": "edit_text", "hint": "Surname", "edit_type": "name", diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dataloader/FamilyMemberDataLoader.java b/opensrp-chw/src/main/java/org/smartregister/chw/dataloader/FamilyMemberDataLoader.java index ac780f0dda..c32713d784 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dataloader/FamilyMemberDataLoader.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dataloader/FamilyMemberDataLoader.java @@ -75,6 +75,7 @@ public String getValue(Context context, String baseEntityID, JSONObject jsonObje .replace("-", ""); case Constants.JsonAssets.FAM_NAME: + case Constants.JsonAssets.SURNAME: computeFamName(client, jsonObject, jsonArray, familyName); break; @@ -160,7 +161,7 @@ private void computeFamName(Client client, JSONObject jsonObject, JSONArray json if (!familyName.equals(lastName)) { surname.put(org.smartregister.family.util.JsonFormUtils.VALUE, lastName); } else { - surname.put(org.smartregister.family.util.JsonFormUtils.VALUE, ""); + surname.put(org.smartregister.family.util.JsonFormUtils.VALUE, familyName); } } } From dc650b81eb5ae3efc9599dbee685c16123b9949f Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 27 Nov 2021 14:52:03 +0300 Subject: [PATCH 168/915] Fixed: register types listing on all clients --- .../chw/application/ChwApplication.java | 4 +- .../fragment/AllClientsRegisterFragment.java | 1 + .../ChwAllClientsRegisterQueryProvider.java | 14 + .../chw/util/ChwQueryConstant.java | 334 ++++++++++++++++++ 4 files changed, 351 insertions(+), 2 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwAllClientsRegisterQueryProvider.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index cf0fe4917a..9990914108 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -44,7 +44,6 @@ import org.smartregister.chw.core.application.CoreChwApplication; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.loggers.CrashlyticsTree; -import org.smartregister.chw.core.provider.CoreAllClientsRegisterQueryProvider; import org.smartregister.chw.core.service.CoreAuthorizationService; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.FormUtils; @@ -55,6 +54,7 @@ import org.smartregister.chw.malaria.MalariaLibrary; import org.smartregister.chw.model.NavigationModelFlv; import org.smartregister.chw.pnc.PncLibrary; +import org.smartregister.chw.provider.ChwAllClientsRegisterQueryProvider; import org.smartregister.chw.referral.ReferralLibrary; import org.smartregister.chw.repository.ChwRepository; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; @@ -266,7 +266,7 @@ private void initializeLibraries() { } OpdLibrary.init(context, getRepository(), - new OpdConfiguration.Builder(CoreAllClientsRegisterQueryProvider.class) + new OpdConfiguration.Builder(ChwAllClientsRegisterQueryProvider.class) .setBottomNavigationEnabled(true) .setOpdRegisterRowOptions(AllClientsRegisterRowOptions.class) .build(), diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java index 34fdde726a..378159c799 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java @@ -64,6 +64,7 @@ protected void goToClientDetailActivity(@NonNull CommonPersonObjectClient common AllClientsUtils.goToTbProfile(this.getActivity(), commonPersonObjectClient); break; case CoreConstants.REGISTER_TYPE.HIV: + case CoreConstants.REGISTER_TYPE.CBHS: AllClientsUtils.goToHivProfile(this.getActivity(), commonPersonObjectClient); break; default: diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwAllClientsRegisterQueryProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwAllClientsRegisterQueryProvider.java new file mode 100644 index 0000000000..abdd97b81d --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwAllClientsRegisterQueryProvider.java @@ -0,0 +1,14 @@ +package org.smartregister.chw.provider; + +import org.smartregister.chw.core.provider.CoreAllClientsRegisterQueryProvider; +import org.smartregister.chw.util.ChwQueryConstant; + +import androidx.annotation.NonNull; + +public class ChwAllClientsRegisterQueryProvider extends CoreAllClientsRegisterQueryProvider { + @NonNull + @Override + public String mainSelectWhereIDsIn() { + return ChwQueryConstant.ALL_CLIENTS_SELECT_QUERY; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java new file mode 100644 index 0000000000..f013418d34 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java @@ -0,0 +1,334 @@ +package org.smartregister.chw.util; + +public interface ChwQueryConstant { + String ALL_CLIENTS_SELECT_QUERY = "" + + "/*INDEPENDENT MEMBERS*/\n" + + "SELECT ec_family_member.first_name,\n" + + " ec_family_member.middle_name,\n" + + " ec_family_member.last_name,\n" + + " ec_family_member.gender,\n" + + " ec_family_member.dob,\n" + + " ec_family_member.base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'Independent' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name,\n" + + " ec_family_member.last_interacted_with AS last_interacted_with\n" + + "FROM ec_family_member\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + "where ec_family_member.date_removed is null\n" + + " AND ec_family.entity_type = 'ec_independent_client'\n" + + " AND ec_family_member.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + " UNION ALL\n" + + " SELECT ec_malaria_confirmation.base_entity_id AS base_entity_id\n" + + " FROM ec_malaria_confirmation\n" + + " UNION ALL\n" + + " SELECT ec_family_planning.base_entity_id AS base_entity_id\n" + + " FROM ec_family_planning\n" + + " UNION ALL\n" + + " SELECT ec_tb_register.base_entity_id AS base_entity_id\n" + + " FROM ec_tb_register\n" + + " WHERE ec_tb_register.tb_case_closure_date is null\n" + + " UNION ALL\n" + + " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + + " FROM ec_hiv_register\n" + + ")" + + "UNION ALL" + + "/* CBHS REGISTER */\n" + + "\n" + + "SELECT ec_family_member.first_name AS first_name,\n" + + " ec_family_member.middle_name AS middle_name,\n" + + " ec_family_member.last_name AS last_name,\n" + + " ec_family_member.gender AS gender,\n" + + " ec_family_member.dob AS dob,\n" + + " ec_family_member.base_entity_id AS base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'CBHS' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " ec_hiv_register.last_interacted_with AS last_interacted_with,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name\n" + + "FROM ec_hiv_register\n" + + " inner join ec_family_member on ec_family_member.base_entity_id = ec_hiv_register.base_entity_id\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + "where ec_family_member.date_removed is null\n" + + " and ec_hiv_register.is_closed is 0\n" + + " AND ec_hiv_register.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + " UNION ALL\n" + + " SELECT ec_tb_register.base_entity_id AS base_entity_id\n" + + " FROM ec_tb_register\n" + + " WHERE ec_tb_register.tb_case_closure_date is null\n" + + ")\n" + + "\n" + + "UNION ALL\n" + + "/*OTHER FAMILY MEMBERS*/\n" + + "SELECT ec_family_member.first_name,\n" + + " ec_family_member.middle_name,\n" + + " ec_family_member.last_name,\n" + + " ec_family_member.gender,\n" + + " ec_family_member.dob,\n" + + " ec_family_member.base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " NULL AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name,\n" + + " ec_family_member.last_interacted_with AS last_interacted_with\n" + + "FROM ec_family_member\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + "where ec_family_member.date_removed is null\n" + + " AND (ec_family.entity_type = 'ec_family' OR ec_family.entity_type is null)\n" + + " AND ec_family_member.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + " UNION ALL\n" + + " SELECT ec_malaria_confirmation.base_entity_id AS base_entity_id\n" + + " FROM ec_malaria_confirmation\n" + + " UNION ALL\n" + + " SELECT ec_family_planning.base_entity_id AS base_entity_id\n" + + " FROM ec_family_planning\n" + + " UNION ALL\n" + + " SELECT ec_tb_register.base_entity_id AS base_entity_id\n" + + " FROM ec_tb_register\n" + + " WHERE ec_tb_register.tb_case_closure_date is null\n" + + " UNION ALL\n" + + " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + + " FROM ec_hiv_register\n" + + ")\n" + + "UNION ALL\n" + + "/* ANC REGISTER */\n" + + "SELECT ec_family_member.first_name AS first_name,\n" + + " ec_family_member.middle_name AS middle_name,\n" + + " ec_family_member.last_name AS last_name,\n" + + " ec_family_member.gender AS gender,\n" + + " ec_family_member.dob AS dob,\n" + + " ec_family_member.base_entity_id AS base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'ANC' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " ec_anc_register.last_interacted_with AS last_interacted_with,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name\n" + + "FROM ec_anc_register\n" + + " inner join ec_family_member on ec_family_member.base_entity_id = ec_anc_register.base_entity_id\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + "where ec_family_member.date_removed is null\n" + + " and ec_anc_register.is_closed is 0\n" + + " and ec_anc_register.base_entity_id IN (%s)\n" + + "\n" + + "UNION ALL\n" + + "\n" + + "/* PNC REGISTER */\n" + + "\n" + + "SELECT ec_family_member.first_name AS first_name,\n" + + " ec_family_member.middle_name AS middle_name,\n" + + " ec_family_member.last_name AS last_name,\n" + + " ec_family_member.gender AS gender,\n" + + " ec_family_member.dob AS dob,\n" + + " ec_family_member.base_entity_id AS base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'PNC' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " ec_pregnancy_outcome.last_interacted_with AS last_interacted_with,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name\n" + + "FROM ec_pregnancy_outcome\n" + + " inner join ec_family_member on ec_family_member.base_entity_id = ec_pregnancy_outcome.base_entity_id\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + "where ec_family_member.date_removed is null\n" + + " and ec_pregnancy_outcome.is_closed is 0\n" + + " AND ec_pregnancy_outcome.base_entity_id NOT IN\n" + + " (SELECT base_entity_id FROM ec_anc_register WHERE ec_anc_register.is_closed IS 0)\n" + + " AND ec_pregnancy_outcome.base_entity_id IN (%s)\n" + + "\n" + + "UNION ALL\n" + + "/* CHILD REGISTER */\n" + + "\n" + + "SELECT ec_family_member.first_name AS first_name,\n" + + " ec_family_member.middle_name AS middle_name,\n" + + " ec_family_member.last_name AS last_name,\n" + + " ec_family_member.gender AS gender,\n" + + " ec_family_member.dob AS dob,\n" + + " ec_family_member.base_entity_id AS base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'Child' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " ec_child.last_interacted_with AS last_interacted_with,\n" + + " ec_child.mother_first_name AS mother_first_name,\n" + + " ec_child.mother_middle_name AS mother_middle_name,\n" + + " ec_child.mother_last_name AS mother_last_name\n" + + "FROM (SELECT ec_child.*,\n" + + " mother.first_name AS mother_first_name,\n" + + " mother.last_name AS mother_last_name,\n" + + " mother.middle_name AS mother_middle_name\n" + + " FROM ec_child\n" + + " inner join ec_family on ec_family.base_entity_id = ec_child.relational_id\n" + + " INNER JOIN ec_family_member AS mother ON ec_family.primary_caregiver = mother.base_entity_id\n" + + " ) ec_child\n" + + " inner join ec_family_member on ec_family_member.base_entity_id = ec_child.base_entity_id\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + "WHERE ec_family_member.is_closed = '0'\n" + + " AND ec_family_member.date_removed is null\n" + + " AND cast(strftime('%Y-%m-%d %H:%M:%S', 'now') - strftime('%Y-%m-%d %H:%M:%S', ec_child.dob) as int) > 0\n" + + " AND ec_child.base_entity_id IN (%s)\n" + + "\n" + + "UNION ALL\n" + + "/* TB REGISTER */\n" + + "\n" + + "SELECT ec_family_member.first_name AS first_name,\n" + + " ec_family_member.middle_name AS middle_name,\n" + + " ec_family_member.last_name AS last_name,\n" + + " ec_family_member.gender AS gender,\n" + + " ec_family_member.dob AS dob,\n" + + " ec_family_member.base_entity_id AS base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'TB' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " ec_tb_register.last_interacted_with AS last_interacted_with,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name\n" + + "FROM ec_tb_register\n" + + " inner join ec_family_member on ec_family_member.base_entity_id = ec_tb_register.base_entity_id\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + "where ec_family_member.date_removed is null\n" + + " and ec_tb_register.is_closed is 0\n" + + " and ec_tb_register.tb_case_closure_date is null\n" + + " AND ec_tb_register.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + ")\n" + + "\n" + + "UNION ALL\n" + + "/*ONLY MALARIA PATIENTS*/\n" + + "SELECT ec_family_member.first_name,\n" + + " ec_family_member.middle_name,\n" + + " ec_family_member.last_name,\n" + + " ec_family_member.gender,\n" + + " ec_family_member.dob,\n" + + " ec_family_member.base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'Malaria' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name,\n" + + " ec_malaria_confirmation.last_interacted_with AS last_interacted_with\n" + + "FROM ec_family_member\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + " inner join ec_malaria_confirmation\n" + + " on ec_family_member.base_entity_id = ec_malaria_confirmation.base_entity_id\n" + + "where ec_family_member.date_removed is null\n" + + " AND ec_family_member.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + " UNION ALL\n" + + " SELECT ec_family_planning.base_entity_id AS base_entity_id\n" + + " FROM ec_family_planning\n" + + " UNION ALL\n" + + " SELECT ec_tb_register.base_entity_id AS base_entity_id\n" + + " FROM ec_tb_register\n" + + " WHERE ec_tb_register.tb_case_closure_date is null\n" + + " UNION ALL\n" + + " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + + " FROM ec_hiv_register\n" + + ")\n" + + "UNION ALL\n" + + "\n" + + "/*ONLY FAMILY PLANNING PATIENTS*/\n" + + "SELECT ec_family_member.first_name,\n" + + " ec_family_member.middle_name,\n" + + " ec_family_member.last_name,\n" + + " ec_family_member.gender,\n" + + " ec_family_member.dob,\n" + + " ec_family_member.base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'Family Planning' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name,\n" + + " ec_family_planning.last_interacted_with AS last_interacted_with\n" + + "FROM ec_family_member\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + " inner join ec_family_planning\n" + + " on ec_family_member.base_entity_id = ec_family_planning.base_entity_id\n" + + "where ec_family_member.date_removed is null\n" + + " AND ec_family_planning.is_closed is 0\n" + + " AND ec_family_member.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + " UNION ALL\n" + + " SELECT ec_malaria_confirmation.base_entity_id AS base_entity_id\n" + + " FROM ec_malaria_confirmation\n" + + " UNION ALL\n" + + " SELECT ec_tb_register.base_entity_id AS base_entity_id\n" + + " FROM ec_tb_register\n" + + " WHERE ec_tb_register.tb_case_closure_date is null\n" + + " UNION ALL\n" + + " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + + " FROM ec_hiv_register\n" + + ")\n" + + "ORDER BY last_interacted_with DESC;"; +} From 74039f56314c7f9f58b07020b70df50b85efd5e0 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 26 Dec 2021 17:11:02 +0300 Subject: [PATCH 169/915] fixed: all clients register not to mark clients who aren't pnc as pnc --- .../org/smartregister/chw/util/ChwQueryConstant.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java index f013418d34..4012fcb0ee 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java @@ -24,10 +24,10 @@ public interface ChwQueryConstant { " AND ec_family_member.base_entity_id IN (%s)\n" + " AND ec_family_member.base_entity_id NOT IN (\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + - " FROM ec_anc_register\n" + + " FROM ec_anc_register where ec_anc_register.is_closed is 0\n" + " UNION ALL\n" + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + - " FROM ec_pregnancy_outcome\n" + + " FROM ec_pregnancy_outcome where ec_pregnancy_outcome.delivery_date is not null\n" + " UNION ALL\n" + " SELECT ec_child.base_entity_id AS base_entity_id\n" + " FROM ec_child\n" + @@ -106,10 +106,10 @@ public interface ChwQueryConstant { " AND ec_family_member.base_entity_id IN (%s)\n" + " AND ec_family_member.base_entity_id NOT IN (\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + - " FROM ec_anc_register\n" + + " FROM ec_anc_register where ec_anc_register.is_closed is 0\n" + " UNION ALL\n" + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + - " FROM ec_pregnancy_outcome\n" + + " FROM ec_pregnancy_outcome where ec_pregnancy_outcome.delivery_date is not null\n" + " UNION ALL\n" + " SELECT ec_child.base_entity_id AS base_entity_id\n" + " FROM ec_child\n" + @@ -173,6 +173,7 @@ public interface ChwQueryConstant { " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + "where ec_family_member.date_removed is null\n" + " and ec_pregnancy_outcome.is_closed is 0\n" + + " and ec_pregnancy_outcome.delivery_date is not null\n" + " AND ec_pregnancy_outcome.base_entity_id NOT IN\n" + " (SELECT base_entity_id FROM ec_anc_register WHERE ec_anc_register.is_closed IS 0)\n" + " AND ec_pregnancy_outcome.base_entity_id IN (%s)\n" + From 42ec823a9eb6a59db32c5dd2941a2d11d7630694 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sun, 26 Dec 2021 17:49:47 +0300 Subject: [PATCH 170/915] Allows saving of pregnancy outcome form --- .../src/ba/assets/json.form/anc_pregnancy_outcome.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/anc_pregnancy_outcome.json b/opensrp-chw/src/ba/assets/json.form/anc_pregnancy_outcome.json index 66d77989f6..b70fe8d922 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_pregnancy_outcome.json @@ -354,10 +354,7 @@ } } }, - "v_required": { - "value": true, - "err": "Please specify the # of babies" - }, + "value": [ { "key": "surname", From 09adb907f5dc583d076790bbe18623071021e107 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sun, 26 Dec 2021 18:09:11 +0300 Subject: [PATCH 171/915] Fixed: renamed LMP to LNMP --- .../src/ba/assets/json.form-sw/anc_pregnancy_outcome.json | 5 +---- .../src/ba/assets/json.form/anc_member_registration.json | 8 ++++---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json index 07419e2190..9f31ae35bd 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json @@ -354,10 +354,7 @@ } } }, - "v_required": { - "value": true, - "err": "Please specify the # of babies" - }, + "value": [ { "key": "surname", diff --git a/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json b/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json index 7b10f4ac2e..0a68b12187 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json @@ -62,9 +62,9 @@ "openmrs_entity": "concept", "openmrs_entity_id": "1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", - "hint": "Last Menstrual Period (LMP)", - "label_info_title": "LMP", - "label_info_text": "LMP = first day of Last Menstrual Period. If the exact date is unknown, but the period of the month is known, use day 5 for beginning of the month, day 15 for middle of the month and day 25 for end of the month.", + "hint": "Last Normal Menstrual Period (LNMP)", + "label_info_title": "LNMP", + "label_info_text": "LNMP = first day of Last Normal Menstrual Period. If the exact date is unknown, but the period of the month is known, use day 5 for beginning of the month, day 15 for middle of the month and day 25 for end of the month.", "expanded": false, "max_date": "today", "min_date": "today-50w", @@ -97,7 +97,7 @@ "options": [ { "key": "lmp_unknown", - "text": "LMP unknown?", + "text": "LNMP unknown?", "text_size": "18px", "value": "false" } From cc60f58ca9dde54bb15e04879ee52580582b1b0d Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 27 Dec 2021 15:55:40 +0300 Subject: [PATCH 172/915] fixed: client's age discrepancy in the list and on profile --- .../chw/provider/OpdRegisterProvider.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/OpdRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/OpdRegisterProvider.java index 35584a2619..84e7721c63 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/provider/OpdRegisterProvider.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/OpdRegisterProvider.java @@ -6,25 +6,40 @@ import androidx.annotation.NonNull; +import org.apache.commons.text.WordUtils; +import org.joda.time.DateTime; +import org.joda.time.Period; import org.smartregister.chw.R; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.family.util.DBConstants; import org.smartregister.family.util.Utils; +import org.smartregister.opd.OpdLibrary; +import org.smartregister.opd.configuration.OpdRegisterProviderMetadata; import org.smartregister.opd.holders.OpdRegisterViewHolder; +import org.smartregister.opd.utils.ConfigurationInstancesHelper; import org.smartregister.opd.utils.OpdDbConstants; +import java.util.Map; + public class OpdRegisterProvider extends org.smartregister.opd.provider.OpdRegisterProvider { private final Context context; + private OpdRegisterProviderMetadata opdRegisterProviderMetadata; + public OpdRegisterProvider(@NonNull Context context, @NonNull View.OnClickListener onClickListener, @NonNull View.OnClickListener paginationClickListener) { super(context, onClickListener, paginationClickListener); this.context = context; + this.opdRegisterProviderMetadata = ConfigurationInstancesHelper + .newInstance(OpdLibrary.getInstance() + .getOpdConfiguration() + .getOpdRegisterProviderMetadata()); } @Override public void populatePatientColumn(CommonPersonObjectClient commonPersonObjectClient, OpdRegisterViewHolder viewHolder) { super.populatePatientColumn(commonPersonObjectClient, viewHolder); + Map patientColumnMaps = commonPersonObjectClient.getColumnmaps(); String registerType = org.smartregister.util.Utils.getValue(commonPersonObjectClient.getColumnmaps(), OpdDbConstants.KEY.REGISTER_TYPE, true); @@ -35,6 +50,15 @@ public void populatePatientColumn(CommonPersonObjectClient commonPersonObjectCli } else { viewHolder.hideRegisterType(); } + String firstName = opdRegisterProviderMetadata.getClientFirstName(patientColumnMaps); + String middleName = opdRegisterProviderMetadata.getClientMiddleName(patientColumnMaps); + String lastName = opdRegisterProviderMetadata.getClientLastName(patientColumnMaps); + String fullName = org.smartregister.util.Utils.getName(firstName, middleName + " " + lastName); + + String age = String.valueOf(new Period(new DateTime(opdRegisterProviderMetadata.getDob(patientColumnMaps)),new DateTime()).getYears()); + + fillValue(viewHolder.textViewChildName, WordUtils.capitalize(fullName) + ", " + + WordUtils.capitalize(age)); } private String getTranslatedRegisterType(String registerType) { From 86ba423128ab8457f4dddc81451d4d7da5bf23b2 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 28 Dec 2021 16:14:35 +0300 Subject: [PATCH 173/915] Fixed: ANC HF visit number ordering --- .../chw/activity/AncMedicalHistoryActivityFlv.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java index 425c6a0252..e77e9a7723 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java @@ -26,7 +26,7 @@ protected void processHealthFacilityVisit(List> hf_visits, C if (hf_visits != null && hf_visits.size() > 0) { linearLayoutHealthFacilityVisit.setVisibility(View.VISIBLE); - int x = 0; + int x = 1; for (Map vals : hf_visits) { View view = inflater.inflate(R.layout.medial_history_anc_visit, null); @@ -39,7 +39,7 @@ protected void processHealthFacilityVisit(List> hf_visits, C view.findViewById(R.id.ifa_received).setVisibility(View.GONE); - tvTitle.setText(MessageFormat.format(context.getString(R.string.anc_visit_date), (hf_visits.size() - x), vals.get("anc_hf_visit_date"))); + tvTitle.setText(MessageFormat.format(context.getString(R.string.anc_visit_date), (x), vals.get("anc_hf_visit_date"))); tvTests.setText(MessageFormat.format(context.getString(R.string.tests_done_details), vals.get("tests_done"))); linearLayoutHealthFacilityVisitDetails.addView(view, 0); From 3b0a6eded1b24acb441c47d72f88c64b0a7ac5b6 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 3 Jan 2022 16:13:25 +0300 Subject: [PATCH 174/915] Removed 'marital status' question from ANC registration form --- .../json.form/anc_member_registration.json | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json b/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json index 7b10f4ac2e..0dd5014904 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json @@ -328,40 +328,6 @@ "err": "Number must be less than or equal to Number of Previous Pregnancies" } }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Marital status", - "v_required": { - "value": "true", - "err": "Please select one option" - }, - "values": [ - "Married", - "Co-habiting", - "Single", - "Divorced", - "Widowed" - ], - "keys": [ - "Married", - "Co-habiting", - "Single", - "Divorced", - "Widowed" - ], - "openmrs_choice_ids": { - "Married": "5555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Co-habiting": "1060AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Single": "5615AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Divorced": "1058AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Widowed": "1059AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - }, { "key": "phone_number", "openmrs_entity_parent": "", From c5d1e7f68710c71867b268fb63c5ed3c861650dc Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 10 Jan 2022 15:46:14 +0300 Subject: [PATCH 175/915] added: pregnancy_confirmation_referrals --- .../pregnancy_confirmation_referral_form.json | 211 ++++++++++++++++++ ...nancy_confirmation_referral_form_rules.yml | 47 ++++ .../FamilyOtherMemberProfileActivityFlv.java | 2 +- opensrp-chw/src/ba/res/values/strings.xml | 1 + .../AllClientsMemberProfileActivity.java | 2 +- .../org/smartregister/chw/util/Constants.java | 12 + .../org/smartregister/chw/util/Utils.java | 11 +- 7 files changed, 283 insertions(+), 3 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json create mode 100644 opensrp-chw/src/ba/assets/rule/pregnancy_confirmation_referral_form_rules.yml diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json new file mode 100644 index 0000000000..1b74df68e4 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json @@ -0,0 +1,211 @@ +{ + "form": "Pregnancy Confirmation Referral", + "encounter_type": "Pregnancy Confirmation Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/pregnancy_confirmation_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Pregnancy Confirmation Referral", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick condition/problem associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "options": [ + { + "name": "ten_or_more_years_since_last_pregnancy", + "text": "Ten or more years since last pregnancy", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_or_more_years_since_last_pregnancy", + "openmrs_entity_parent": "" + } + }, + { + "name": "delivery_by_c_section", + "text": "Delivery by Cesarean delivery (C-section)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "delivery_by_c_section", + "openmrs_entity_parent": "" + } + }, + { + "name": "still_birth", + "text": "Still Birth", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "still_birth", + "openmrs_entity_parent": "" + } + }, + { + "name": "two_or_more_miscarriages", + "text": "Two or more miscarriages", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "two_or_more_miscarriages", + "openmrs_entity_parent": "" + } + }, + { + "name": "heart_problems", + "text": "Heart Problems", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "heart_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "diabetes", + "text": "Diabetes", + "meta_data": { + "openmrs_entity": "conceptc", + "openmrs_entity_id": "diabetes", + "openmrs_entity_parent": "" + } + }, + { + "name": "tb", + "text": "Tuberculosis (TB)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_symptoms", + "text": "Other symptoms", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_symptoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify reason for Pregnancy Confirmation referral", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status", + "service_before_referral" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/pregnancy_confirmation_referral_form_rules.yml b/opensrp-chw/src/ba/assets/rule/pregnancy_confirmation_referral_form_rules.yml new file mode 100644 index 0000000000..cf2480e5f3 --- /dev/null +++ b/opensrp-chw/src/ba/assets/rule/pregnancy_confirmation_referral_form_rules.yml @@ -0,0 +1,47 @@ +--- +name: "problem_other_visibility" +description: "Specify other symptoms" +priority: 1 +condition: "problem['other_symptom'] != null || problem['other_symptoms'] != null" +actions: + - "problem_other_visibility = true" +--- +name: "service_before_referral_calculation" +description: "Service Before Referral" +condition: "true" +priority: 1 +actions: + - "service_before_referral_calculation = 'None'" +--- +name: "referral_date_calculation" +description: "Referral date calculation" +priority: 1 +condition: "true" +actions: + - "referral_date_calculation = System.currentTimeMillis()" +--- +name: "referral_time_calculation" +description: "Referral time calculation" +priority: 1 +condition: "true" +actions: + - "def getDate(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(System.currentTimeMillis()); + }" + - "referral_time_calculation = getDate('HH:mm:ss.SSS')" +--- +name: "referral_type_calculation" +description: "Referral type calculation" +priority: 1 +condition: "true" +actions: + - "referral_type_calculation = 'community_to_facility_referral'" +--- +name: "referral_status_calculation" +description: "Referral type calculation" +priority: 1 +condition: "true" +actions: + - "referral_status_calculation = 'PENDING'" \ No newline at end of file diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java index bb09841015..0de5e5e4bb 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java @@ -29,7 +29,7 @@ public OnClickFloatingMenu getOnClickFloatingMenu(final Activity activity, final break; case R.id.refer_to_facility_layout: if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { - launchClientReferralActivity(activity, getCommonReferralTypes(activity), baseEntityId); + launchClientReferralActivity(activity, getCommonReferralTypes(activity,baseEntityId), baseEntityId); } else { Toast.makeText(activity, "Refer to facility", Toast.LENGTH_SHORT).show(); } diff --git a/opensrp-chw/src/ba/res/values/strings.xml b/opensrp-chw/src/ba/res/values/strings.xml index 0633aa2c55..e604b976e5 100644 --- a/opensrp-chw/src/ba/res/values/strings.xml +++ b/opensrp-chw/src/ba/res/values/strings.xml @@ -9,6 +9,7 @@ HIV Testing Services Clinic Of Tuberculosis Treatment Gender Based Violence Referral + Pregnancy Confirmation Referral Child Gender Based Violence Referral Created: %s SAVE diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index c322caf024..63c145fb69 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -211,7 +211,7 @@ public void onClickMenu(int viewId) { FamilyCallDialogFragment.launchDialog(this, familyBaseEntityId); break; case R.id.refer_to_facility_layout: - Utils.launchClientReferralActivity(this, Utils.getCommonReferralTypes(this), baseEntityId); + Utils.launchClientReferralActivity(this, Utils.getCommonReferralTypes(this,baseEntityId), baseEntityId); break; default: break; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index ebc1061447..6eba535009 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -23,6 +23,18 @@ public static class FORM_SUBMISSION_FIELD { } + public static class JsonReferralForms { + public static String pregnancyConfirmationReferralForm = "referrals/pregnancy_confirmation_referral_form"; + + public static String getPregnancyConfirmationReferralForm() { + return pregnancyConfirmationReferralForm; + } + } + + public static class ReferralTaskFocus { + public static final String PREGNANCY_CONFIRMATION = "Pregnancy Confirmation"; + } + public static class JsonFormConstants{ public static String CLIENT_MOVED_LOCATION = "client_moved_location"; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java index 1d8c556f37..a731ef7a36 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java @@ -15,6 +15,8 @@ import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.model.ReferralTypeModel; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.family.util.DBConstants; import org.smartregister.growthmonitoring.domain.ZScore; import org.smartregister.growthmonitoring.repository.WeightForHeightRepository; import org.smartregister.helper.BottomNavigationHelper; @@ -38,11 +40,18 @@ public static void launchClientReferralActivity(Activity activity, List getCommonReferralTypes(Activity activity) { + public static List getCommonReferralTypes(Activity activity, String baseEntityId) { + CommonPersonObjectClient client = Utils.getCommonPersonObjectClient(baseEntityId); + String gender = Utils.getValue(client.getColumnmaps(), DBConstants.KEY.GENDER, false); + List referralTypeModels = new ArrayList<>(); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.gbv_referral), Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + if(gender.equalsIgnoreCase("Female") && isMemberOfReproductiveAge(client, 10, 49)){ + referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.pregnancy_confirmation_referral), + Constants.JsonReferralForms.getPregnancyConfirmationReferralForm(), Constants.ReferralTaskFocus.PREGNANCY_CONFIRMATION)); + } } return referralTypeModels; } From f13123af48318b96f210325c996dff0a6ae8decf Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 10 Jan 2022 16:15:48 +0300 Subject: [PATCH 176/915] fixed: receive pregnancy confirmation status from the facility --- .../ba/assets/ec_client_classification.json | 8 +++++ .../src/ba/assets/ec_client_fields.json | 36 ++++++++----------- .../fragment/AllClientsRegisterFragment.java | 2 +- .../chw/model/AncRegisterFragmentModel.java | 34 ++++++++++++++++++ .../chw/util/AllClientsUtils.java | 5 ++- 5 files changed, 59 insertions(+), 26 deletions(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 4c2a835e62..3c56d2d566 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -122,6 +122,14 @@ "ec_child" ] }, + { + "field": "eventType", + "field_value": "Pregnancy Confirmation", + "creates_case": [ + "ec_anc_register", + "ec_anc_log" + ] + }, { "field": "eventType", "field_value": "ANC Registration", diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 7184094843..db9fbf3534 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -305,6 +305,14 @@ "concept": "Primary_Caregiver_Name" } }, + { + "column_name": "marital_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "marital_status" + } + }, { "column_name": "entity_type", "type": "Event", @@ -679,24 +687,24 @@ "column_name": "last_menstrual_period", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", - "concept": "1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "field": "obs.formSubmissionField", + "concept": "last_menstrual_period" } }, { "column_name": "gest_age", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", - "concept": "1438AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "field": "obs.formSubmissionField", + "concept": "gest_age" } }, { "column_name": "edd", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", - "concept": "5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "field": "obs.formSubmissionField", + "concept": "edd" } }, { @@ -723,22 +731,6 @@ "concept": "164894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, - { - "column_name": "phone_number", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - }, - { - "column_name": "marital_status", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "1054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - }, { "column_name": "last_home_visit", "type": "Event", diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java index 378159c799..c934cf6b8c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java @@ -49,7 +49,7 @@ protected void goToClientDetailActivity(@NonNull CommonPersonObjectClient common AllClientsUtils.goToChildProfile(this.getActivity(), commonPersonObjectClient, bundle); break; case CoreConstants.REGISTER_TYPE.ANC: - AllClientsUtils.goToAncProfile(this.getActivity(), commonPersonObjectClient, bundle); + AllClientsUtils.goToAncProfile(this.getActivity(), commonPersonObjectClient); break; case CoreConstants.REGISTER_TYPE.PNC: AllClientsUtils.gotToPncProfile(this.getActivity(), commonPersonObjectClient, bundle); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/AncRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/AncRegisterFragmentModel.java index a59009939c..4f61472b9e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/AncRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/AncRegisterFragmentModel.java @@ -1,16 +1,50 @@ package org.smartregister.chw.model; import org.smartregister.chw.core.model.CoreAncRegisterFragmentModel; +import org.smartregister.chw.core.utils.ChildDBConstants; +import org.smartregister.chw.core.utils.ChwDBConstants; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; import org.smartregister.family.util.DBConstants; +import java.util.HashSet; +import java.util.Set; + public class AncRegisterFragmentModel extends CoreAncRegisterFragmentModel { public AncRegisterFragmentModel() { setFlavor(new AncRegisterFragmentModelFlv()); } + @Override + protected String[] mainColumns(String tableName) { + Set columnList = new HashSet<>(); + + columnList.add(tableName + "." + DBConstants.KEY.LAST_INTERACTED_WITH); + columnList.add(tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); + columnList.add(tableName + "." + ChwDBConstants.LMP); + columnList.add(CoreConstants.TABLE_NAME.ANC_MEMBER_LOG + "." + org.smartregister.chw.anc.util.DBConstants.KEY.DATE_CREATED); + columnList.add(tableName + "." + org.smartregister.chw.anc.util.DBConstants.KEY.CONFIRMED_VISITS); + columnList.add(tableName + "." + org.smartregister.chw.anc.util.DBConstants.KEY.LAST_HOME_VISIT); + columnList.add(tableName + "." + ChwDBConstants.VISIT_NOT_DONE); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); + columnList.add(tableName + "." + org.smartregister.chw.anc.util.DBConstants.KEY.LAST_MENSTRUAL_PERIOD); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.FIRST_NAME); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.LAST_NAME); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DOB); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); + + columnList.addAll(getFlavor().mainColumns(tableName)); + + return columnList.toArray(new String[0]); + } + @Override public String mainSelect(String tableName, String mainCondition) { SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java index 9ffc88fdd5..52b6a833d4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java @@ -68,9 +68,8 @@ public static void gotToPncProfile(Activity activity, CommonPersonObjectClient p activity.startActivity(initProfileActivityIntent(activity, patient, bundle, PncMemberProfileActivity.class)); } - public static void goToAncProfile(Activity activity, CommonPersonObjectClient patient, Bundle bundle) { - patient.getColumnmaps().putAll(CoreChwApplication.ancRegisterRepository().getAncCommonPersonObject(patient.entityId()).getColumnmaps()); - activity.startActivity(initProfileActivityIntent(activity, patient, bundle, AncMemberProfileActivity.class)); + public static void goToAncProfile(Activity activity, CommonPersonObjectClient patient) { + AncMemberProfileActivity.startMe(activity,patient.getCaseId()); } public static void gotToMalariaProfile(Activity activity, CommonPersonObjectClient patient) { From 367833a4d708612cdeebf768146feeeeb0f7f361 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 11 Jan 2022 09:20:30 +0300 Subject: [PATCH 177/915] Fix: updated anc visit forms --- .../assets/json.form/anc_hv_counselling.json | 18 +- .../anc_hv_health_facility_visit.json | 215 +----------------- .../ba/assets/json.form/anc_hv_malaria.json | 55 ++++- .../interactor/AncHomeVisitInteractorFlv.java | 134 +---------- 4 files changed, 70 insertions(+), 352 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_counselling.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_counselling.json index e85a438b25..931a74fa1a 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_counselling.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_counselling.json @@ -64,7 +64,7 @@ "options": [ { "key": "chk_attended_anc_contacts", - "text": "1. Attend ANC contacts early", + "text": "1. Attend ANC clinic early", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "161013AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -120,56 +120,56 @@ }, { "key": "chk_pnc_danger_signs", - "text": "10. PNC danger signs", + "text": "9. PNC danger signs", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_care_of_infant", - "text": "11. Care of infant after birth", + "text": "10. Care of infant after birth", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_infant_danger_signs", - "text": "14. Infant danger signs", + "text": "11. Infant danger signs", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_exposed_infant", - "text": "15. Follow-up for the HIV-exposed infant", + "text": "12. Follow-up for the HIV-exposed infant", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_breastfeeding", - "text": "16. Breastfeeding", + "text": "13. Breastfeeding", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_exclusive_breast_feeding ", - "text": "17. Plan for family planning using exclusive breast feeding for 6 months after birth", + "text": "14. Plan for family planning using exclusive breast feeding for 6 months after birth", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_family_planning", - "text": "18. Family planning", + "text": "15. Family planning", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_infection_prevention", - "text": "24. Infection prevention and control", + "text": "16. Infection prevention and control", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json index 8754fc0572..df9e7d09b6 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json @@ -86,7 +86,7 @@ "max_date": "today", "v_required": { "value": "true", - "err": "Enter the date that the member moved away" + "err": "Enter the facility visit date" }, "relevance": { "step1:anc_hf_visit": { @@ -96,224 +96,29 @@ } }, { - "key": "anc_hf_next_visit_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "anc_hf_next_visit_date", - "type": "spacer" - }, - { - "key": "tests_done", + "key": "reason_for_missed_visit", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Tests done", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_haemoglobin", - "text": "Haemoglobin level", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "21AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_urine_analysis_uti", - "text": "Urine analysis for UTI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_urine_analysis_protein", - "text": "Urine analysis for protein and sugar", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1875AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_hiv", - "text": "HIV test", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1356AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_syphilis", - "text": "Syphilis test", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "299AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_malaria", - "text": "Malaria test", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_tb", - "text": "TB screening", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164800AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_other", - "text": "Other test", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_none", - "text": "None", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - ], - "v_required": { - "value": "true", - "err": "Please pick at least one" - }, - "relevance": { - "step1:anc_hf_visit": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - }, - { - "key": "imm_medicine_given", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1767AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Immunisations and medicine provided", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_tetanus", - "text": "Tetanus toxoid (TT)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_malaria", - "text": "Malaria prevention (IPTp-SP)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "105232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_iron", - "text": "Iron and Folic acid (FEFO) tablets", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "773AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_albendazole", - "text": "Albendazole / Medandozle", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "159922AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_calcuim", - "text": "Calcium supplement", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "72650AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_other", - "text": "Other immunisation or medicine", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_none", - "text": "None", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - ], + "openmrs_entity_id": "reason_for_missed_visit", + "type": "edit_text", + "hint": "Reason for missed facility visit", "v_required": { "value": "true", - "err": "Please pick at least one" + "err": "Please enter the reason" }, "relevance": { "step1:anc_hf_visit": { "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - }, - { - "key": "other_imm_medicine_given", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Other immunisation or medicine", - "v_required": { - "value": "true", - "err": "Please enter the immunisation or medicine details" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_hv_health_facility_visit.yml" - } + "ex": "equalTo(., \"No\")" } } }, { - "key": "llin_given", + "key": "anc_hf_next_visit_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159855AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Did mother receive a LLIN in her first ANC contact at the health facility?", - "values": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Please select one option" - }, - "relevance": { - "step1:anc_hf_visit": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - }, - "rules-engine": { - "ex-rules": { - "rules-file": "anc_hv_health_facility_visit.yml" - } - } - } + "openmrs_entity_id": "anc_hf_next_visit_date", + "type": "spacer" }, { "key": "confirmed_visits", diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json index 57407020a2..6ed1d9b5f6 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json @@ -53,7 +53,7 @@ "key": "fam_llin", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "", + "openmrs_entity_id": "fam_llin", "openmrs_data_type": "select one", "type": "spinner", "hint": "Does the woman have a long lasting insecticide net (LLIN)?", @@ -78,7 +78,7 @@ "key": "llin_2days", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "", + "openmrs_entity_id": "llin_2days", "openmrs_data_type": "select one", "type": "spinner", "hint": "Did she sleep under the LLIN last night?", @@ -109,20 +109,20 @@ "key": "llin_condition", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "", + "openmrs_entity_id": "llin_condition", "openmrs_data_type": "select one", "type": "spinner", "hint": "LLIN condition", "values": [ - "Okay", + "Good", "Bad" ], "keys": [ - "Okay", + "Good", "Bad" ], "openmrs_choice_ids": { - "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Good": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { @@ -135,6 +135,49 @@ "ex": "equalTo(., \"Yes\")" } } + }, + { + "key": "malaria_sp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "malaria_sp", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Has the client taken malaria prevention dosage (SP)?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + }, + { + "key": "reason_for_missed_sp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reason_for_missed_sp", + "type": "edit_text", + "hint": "Reason as to why the client is not taking the SP medication", + "v_required": { + "value": "true", + "err": "Please enter the reason" + }, + "relevance": { + "step1:malaria_sp": { + "type": "string", + "ex": "equalTo(., \"No\")" + } + } } ] } diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java index 3364f89b4e..962a5d11c4 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java @@ -77,7 +77,6 @@ public LinkedHashMap calculateActions(BaseAncHom evaluateDangerSigns(actionList, details, context); evaluateHealthFacilityVisit(actionList, details, memberObject, dateMap, context); - evaluatePregnancyRisk(actionList, details, context); evaluateFamilyPlanning(actionList, details, context); evaluateNutritionStatus(actionList, details, context); evaluateCounsellingStatus(actionList, details, context); @@ -188,19 +187,6 @@ private void evaluateRemarks(LinkedHashMap actio actionList.put(context.getString(R.string.anc_home_visit_remarks_and_comments), remark_ba); } - private void evaluatePregnancyRisk(LinkedHashMap actionList, - Map> details, - final Context context) throws BaseAncHomeVisitAction.ValidationException { - - BaseAncHomeVisitAction pregnancyRisk = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_pregnancy_risk)) - .withOptional(true) - .withDetails(details) - .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getPregnancyRisk()) - .withHelper(new PregnancyRisk()) - .build(); - actionList.put(context.getString(R.string.anc_home_visit_pregnancy_risk), pregnancyRisk); - } - private class DangerSignsAction implements BaseAncHomeVisitAction.AncHomeVisitActionHelper { private String danger_signs_counseling; @@ -278,9 +264,6 @@ private class HealthFacilityAction extends HealthFacilityVisitAction { private String anc_hf_visit; private String anc_hf_visit_date; - private String tests_done; - private String imm_medicine_given; - private String llin_given; private Date visitDate; @@ -301,10 +284,6 @@ public void onPayloadReceived(String jsonPayload) { anc_hf_visit = JsonFormUtils.getValue(jsonObject, "anc_hf_visit"); anc_hf_visit_date = JsonFormUtils.getValue(jsonObject, "anc_hf_visit_date"); - tests_done = JsonFormUtils.getCheckBoxValue(jsonObject, "tests_done"); - imm_medicine_given = JsonFormUtils.getCheckBoxValue(jsonObject, "imm_medicine_given"); - llin_given = JsonFormUtils.getValue(jsonObject, "llin_given"); - visitDate = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).parse(anc_hf_visit_date); } catch (Exception e) { @@ -314,49 +293,7 @@ public void onPayloadReceived(String jsonPayload) { @Override public String getPreProcessed() { - String jsonString = super.getPreProcessed(); - List testDoneItems = AncDao.getTestDone(memberObject.getBaseEntityId()); - Boolean showTT = AncDao.showTT(memberObject.getBaseEntityId()); - - JSONObject jsonObject = null; - try { - jsonObject = new JSONObject(jsonString); - JSONArray fields = JsonFormUtils.fields(jsonObject); - JSONObject tests_done_fields = JsonFormUtils.getFieldJSONObject(fields, "tests_done"); - JSONArray testDoneOptions = tests_done_fields.getJSONArray(JsonFormConstants.OPTIONS); - JSONArray jsonArrayItems = new JSONArray(); - int x = 0; - while (x < testDoneOptions.length()) { - JSONObject testDoneJsonOption = testDoneOptions.getJSONObject(x); - if (!testDoneItems.contains(testDoneJsonOption.getString("text"))){ - jsonArrayItems.put(testDoneJsonOption); - } - x++; - } - tests_done_fields.put(JsonFormConstants.OPTIONS, jsonArrayItems); - - - JSONObject imm_medicine_given_fields = JsonFormUtils.getFieldJSONObject(fields, "imm_medicine_given"); - JSONArray immMedicineGivenOptions = imm_medicine_given_fields.getJSONArray(JsonFormConstants.OPTIONS); - JSONArray jsonArray = new JSONArray(); - int i = 0; - while (i < immMedicineGivenOptions.length()) { - JSONObject immGivenJsonOption = immMedicineGivenOptions.getJSONObject(i); - if(!immGivenJsonOption.getString("text").equalsIgnoreCase(CoreConstants.AncHealthFacilityVisitUtil.TETANUS_TOXOID)){ - jsonArray.put(immGivenJsonOption); - } - else if(showTT){ - jsonArray.put(immGivenJsonOption); - } - i++; - } - imm_medicine_given_fields.put(JsonFormConstants.OPTIONS, jsonArray); - return jsonObject.toString(); - - } catch (JSONException e) { - e.printStackTrace(); - } - return null; + return super.getPreProcessed(); } @Override @@ -366,9 +303,6 @@ public String evaluateSubTitle() { stringBuilder.append(context.getString(R.string.visit_not_done).replace("\n", "")); } else { stringBuilder.append(MessageFormat.format("{0}: {1}\n", context.getString(R.string.date), new SimpleDateFormat("dd MMM yyyy", Locale.getDefault()).format(visitDate))); - stringBuilder.append(MessageFormat.format("{0}: {1}\n", context.getString(R.string.tests_done), tests_done)); - stringBuilder.append(MessageFormat.format("{0}: {1}\n", context.getString(R.string.treatment_given), imm_medicine_given)); - stringBuilder.append(MessageFormat.format("{0}: {1}", context.getString(R.string.received_llin), llin_given)); } return stringBuilder.toString(); } @@ -638,7 +572,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { return BaseAncHomeVisitAction.Status.PENDING; } - if (fam_llin.equalsIgnoreCase("Yes") && llin_2days.equalsIgnoreCase("Yes") && llin_condition.equalsIgnoreCase("Okay")) { + if (fam_llin.equalsIgnoreCase("Yes") && llin_2days.equalsIgnoreCase("Yes") && llin_condition.equalsIgnoreCase("Good")) { return BaseAncHomeVisitAction.Status.COMPLETED; } else { return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; @@ -783,69 +717,5 @@ public void onPayloadReceived(BaseAncHomeVisitAction baseAncHomeVisitAction) { } } - - private class PregnancyRisk implements BaseAncHomeVisitAction.AncHomeVisitActionHelper { - private String preg_risk; - private Context context; - - @Override - public void onJsonFormLoaded(String s, Context context, Map> map) { - this.context = context; - } - - @Override - public String getPreProcessed() { - return null; - } - - @Override - public void onPayloadReceived(String jsonPayload) { - try { - - JSONObject jsonObject = new JSONObject(jsonPayload); - preg_risk = JsonFormUtils.getCheckBoxValue(jsonObject, "preg_risk").toLowerCase(); - } catch (JSONException e) { - Timber.e(e); - } - } - - @Override - public BaseAncHomeVisitAction.ScheduleStatus getPreProcessedStatus() { - return null; - } - - @Override - public String getPreProcessedSubTitle() { - return null; - } - - @Override - public String postProcess(String s) { - return null; - } - - @Override - public String evaluateSubTitle() { - return MessageFormat.format("{0}: {1}", - context.getString(R.string.anc_home_visit_pregnancy_risk), StringUtils.capitalize(preg_risk)); - } - - @Override - public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { - if (StringUtils.isBlank(preg_risk)) { - return BaseAncHomeVisitAction.Status.PENDING; - } - if (preg_risk.equalsIgnoreCase("Low")) { - return BaseAncHomeVisitAction.Status.COMPLETED; - } else { - return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; - } - } - - @Override - public void onPayloadReceived(BaseAncHomeVisitAction baseAncHomeVisitAction) { - Timber.v("onPayloadReceived"); - } - } } From 577288563fdc286ff0d01c0e66ff93d31daa49b7 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 11 Jan 2022 09:27:23 +0300 Subject: [PATCH 178/915] moved form and task focus definition to core --- .../java/org/smartregister/chw/util/Constants.java | 13 ------------- .../main/java/org/smartregister/chw/util/Utils.java | 2 +- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index 6eba535009..73ceeb3bc5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -22,19 +22,6 @@ public static class FORM_SUBMISSION_FIELD { public static String pncHfNextVisitDateFieldType = "pnc_hf_next_visit_date"; } - - public static class JsonReferralForms { - public static String pregnancyConfirmationReferralForm = "referrals/pregnancy_confirmation_referral_form"; - - public static String getPregnancyConfirmationReferralForm() { - return pregnancyConfirmationReferralForm; - } - } - - public static class ReferralTaskFocus { - public static final String PREGNANCY_CONFIRMATION = "Pregnancy Confirmation"; - } - public static class JsonFormConstants{ public static String CLIENT_MOVED_LOCATION = "client_moved_location"; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java index a731ef7a36..b3beb50c4c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java @@ -50,7 +50,7 @@ public static List getCommonReferralTypes(Activity activity, Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); if(gender.equalsIgnoreCase("Female") && isMemberOfReproductiveAge(client, 10, 49)){ referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.pregnancy_confirmation_referral), - Constants.JsonReferralForms.getPregnancyConfirmationReferralForm(), Constants.ReferralTaskFocus.PREGNANCY_CONFIRMATION)); + CoreConstants.JSON_FORM.getPregnancyConfirmationReferralForm(), CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION)); } } return referralTypeModels; From 159f4bf26b316040d1797993047e53b9fce6784f Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 11 Jan 2022 12:15:01 +0300 Subject: [PATCH 179/915] handles notification updates for pregnancy confirmation --- .../ba/assets/ec_client_classification.json | 10 +++++- .../src/ba/assets/ec_client_fields.json | 35 +++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 3c56d2d566..fdd0eb1bb6 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -127,7 +127,15 @@ "field_value": "Pregnancy Confirmation", "creates_case": [ "ec_anc_register", - "ec_anc_log" + "ec_anc_log", + "ec_pregnancy_confirmation_updates" + ] + }, + { + "field": "eventType", + "field_value": "Pregnancy Confirmation Dismissal", + "creates_case": [ + "ec_pregnancy_confirmation_updates" ] }, { diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index db9fbf3534..778bd3342f 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -3166,6 +3166,41 @@ } ] }, + { + "name": "ec_pregnancy_confirmation_updates", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "end" + } + }, + { + "column_name": "date_marked_as_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_marked_as_done" + } + } + ] + }, { "name": "ec_hiv_index", "columns": [ From 184f5724e4f19da0edc583c2244f13565ed7ecc1 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 11 Jan 2022 12:18:54 +0300 Subject: [PATCH 180/915] Fix: updated anc observation form and removed unused imports --- .../assets/json.form/anc_hv_observations.json | 26 ++----------------- .../interactor/AncHomeVisitInteractorFlv.java | 4 --- 2 files changed, 2 insertions(+), 28 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_observations.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_observations.json index a3850ba64d..2e26ddbd20 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_observations.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_observations.json @@ -117,13 +117,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - { - "key": "chk_other_treatment", - "text": "Other treatment", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, { "key": "chk_none", "text": "No treatment given", @@ -131,25 +124,10 @@ "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } - ] - }, - { - "key": "other_treatment_illness", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Other treatment", + ], "v_required": { "value": "true", - "err": "Please enter the illness details" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_hv_observations.yml" - } - } + "err": "Please select an option" } } ] diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java index 962a5d11c4..15b53b2d21 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java @@ -6,7 +6,6 @@ import org.joda.time.DateTime; import org.joda.time.LocalDate; import org.joda.time.format.DateTimeFormat; -import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; @@ -18,9 +17,6 @@ import org.smartregister.chw.anc.domain.VisitDetail; import org.smartregister.chw.anc.model.BaseAncHomeVisitAction; import org.smartregister.chw.anc.util.VisitUtils; -import org.smartregister.chw.core.dao.AncDao; -import org.smartregister.chw.core.utils.CoreConstants; -import org.smartregister.chw.referral.util.JsonFormConstants; import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.ContactUtil; import org.smartregister.chw.util.JsonFormUtils; From 46c7862035b40d54387f47e8a7bc7f9350cc4678 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 11 Jan 2022 15:13:17 +0300 Subject: [PATCH 181/915] Fix: updated anc hf visit form and disabled test done in medical history --- opensrp-chw/build.gradle | 2 +- .../anc_hv_health_facility_visit.json | 44 ++++++++++++++++++- .../AncMedicalHistoryActivityFlv.java | 2 +- 3 files changed, 44 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index c04dac3c77..6a6cd00826 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -294,7 +294,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.30.5-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.30.6-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json index df9e7d09b6..a216aa14ed 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json @@ -100,11 +100,32 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reason_for_missed_visit", - "type": "edit_text", + "type": "spinner", "hint": "Reason for missed facility visit", + "values": [ + "Fear to disclose her pregnancy", + "She forgot the appointment date", + "She did not have transport fare", + "She was not feeling well", + "Other" + ], + "keys": [ + "fear_to_disclose_her_pregnancy", + "she_forgot_the_appointment_date", + "she_did_not_have_transport_fare", + "she_was_not_feeling_well", + "other" + ], + "openmrs_choice_ids": { + "Fear to disclose her pregnancy": "fear_to_disclose_her_pregnancy", + "She forgot the appointment date": "she_forgot_the_appointment_date", + "She did not have transport fare": "she_did_not_have_transport_fare", + "She was not feeling well": "she_was_not_feeling_well", + "Other": "other" + }, "v_required": { "value": "true", - "err": "Please enter the reason" + "err": "Please select a reason" }, "relevance": { "step1:anc_hf_visit": { @@ -113,6 +134,25 @@ } } }, + { + "key": "other_reason_missed_visit", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_missed_visit", + "type": "edit_text", + "hint": "Other reason for missed facility visit", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter other reason" + }, + "relevance": { + "step1:reason_for_missed_visit": { + "type": "string", + "ex": "equalTo(., \"other\")" + } + } + }, { "key": "anc_hf_next_visit_date", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java index e77e9a7723..0da49bb1ba 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java @@ -32,6 +32,7 @@ protected void processHealthFacilityVisit(List> hf_visits, C TextView tvTitle = view.findViewById(R.id.title); TextView tvTests = view.findViewById(R.id.tests); + tvTests.setVisibility(View.GONE); view.findViewById(R.id.weight).setVisibility(View.GONE); view.findViewById(R.id.bp).setVisibility(View.GONE); @@ -40,7 +41,6 @@ protected void processHealthFacilityVisit(List> hf_visits, C tvTitle.setText(MessageFormat.format(context.getString(R.string.anc_visit_date), (x), vals.get("anc_hf_visit_date"))); - tvTests.setText(MessageFormat.format(context.getString(R.string.tests_done_details), vals.get("tests_done"))); linearLayoutHealthFacilityVisitDetails.addView(view, 0); From 42838eadb7397c86ece4fbe1e8940d29e98847e4 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 12 Jan 2022 09:12:56 +0300 Subject: [PATCH 182/915] Fix: updated anc malaria form --- .../ba/assets/json.form/anc_hv_malaria.json | 41 ++++++++++++++++++- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json index 6ed1d9b5f6..e60a26c10e 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json @@ -166,11 +166,29 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reason_for_missed_sp", - "type": "edit_text", + "type": "spinner", "hint": "Reason as to why the client is not taking the SP medication", + "values": [ + "Client was not given SP dosage", + "Client lost her medication", + "Client negligence", + "Other" + ], + "keys": [ + "client_was_not_given_sp_dosage", + "client_lost_her_medication", + "client_negligence", + "other" + ], + "openmrs_choice_ids": { + "Client was not given SP dosage": "client_was_not_given_sp_dosage", + "Client lost her medication": "client_lost_her_medication", + "Client negligence": "client_negligence", + "Other": "other" + }, "v_required": { "value": "true", - "err": "Please enter the reason" + "err": "Please select a reason" }, "relevance": { "step1:malaria_sp": { @@ -178,6 +196,25 @@ "ex": "equalTo(., \"No\")" } } + }, + { + "key": "other_reason_missed_sp_dosage", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_missed_sp_dosage", + "type": "edit_text", + "hint": "Other reason for why the client is not taking the SP medication", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the reason" + }, + "relevance": { + "step1:reason_for_missed_sp": { + "type": "string", + "ex": "equalTo(., \"other\")" + } + } } ] } From 958d062f223f3a14ab0cebed0b4a9f4f17bc08d7 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 12 Jan 2022 09:58:16 +0300 Subject: [PATCH 183/915] Fixed opemnrs choice ids --- .../assets/json.form/anc_hv_health_facility_visit.json | 10 +++++----- .../src/ba/assets/json.form/anc_hv_malaria.json | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json index a216aa14ed..be3324bff5 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json @@ -117,11 +117,11 @@ "other" ], "openmrs_choice_ids": { - "Fear to disclose her pregnancy": "fear_to_disclose_her_pregnancy", - "She forgot the appointment date": "she_forgot_the_appointment_date", - "She did not have transport fare": "she_did_not_have_transport_fare", - "She was not feeling well": "she_was_not_feeling_well", - "Other": "other" + "fear_to_disclose_her_pregnancy": "fear_to_disclose_her_pregnancy", + "she_forgot_the_appointment_date": "she_forgot_the_appointment_date", + "she_did_not_have_transport_fare": "she_did_not_have_transport_fare", + "she_was_not_feeling_well": "she_was_not_feeling_well", + "other": "other" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json index e60a26c10e..a1323fed33 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json @@ -181,10 +181,10 @@ "other" ], "openmrs_choice_ids": { - "Client was not given SP dosage": "client_was_not_given_sp_dosage", - "Client lost her medication": "client_lost_her_medication", - "Client negligence": "client_negligence", - "Other": "other" + "client_was_not_given_sp_dosage": "client_was_not_given_sp_dosage", + "client_lost_her_medication": "client_lost_her_medication", + "client_negligence": "client_negligence", + "other": "other" }, "v_required": { "value": "true", From 463eebbe91cf8f7291ad9ee46e16e8b802182e72 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 13 Jan 2022 11:26:53 +0300 Subject: [PATCH 184/915] fix: Pregnancy confirmation referral to be included in hiv profile --- .../java/org/smartregister/chw/activity/HivProfileActivity.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 8aee8442a6..a708a94c8a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -389,6 +389,8 @@ private void addHivReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_danger_signs), CoreConstants.JSON_FORM.getPncReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); + referralTypeModels.add(new ReferralTypeModel(getString(R.string.pregnancy_confirmation), + CoreConstants.JSON_FORM.getPregnancyConfirmationReferralForm(),CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION)); } } From fec46823d2e7f962b0ef7bb8d8de7d35eb7c86c4 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 13 Jan 2022 11:27:28 +0300 Subject: [PATCH 185/915] update: reasons for referral for pregnancy_confirmation --- .../pregnancy_confirmation_referral_form.json | 54 +++++++++++-------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json index 1b74df68e4..1d2672dd3c 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json @@ -69,65 +69,74 @@ }, "options": [ { - "name": "ten_or_more_years_since_last_pregnancy", - "text": "Ten or more years since last pregnancy", + "name": "loss_of_menstrual_period", + "text": "Loss of Menstrual Period", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "ten_or_more_years_since_last_pregnancy", + "openmrs_entity_id": "loss_of_menstrual_period", "openmrs_entity_parent": "" } }, { - "name": "delivery_by_c_section", - "text": "Delivery by Cesarean delivery (C-section)", + "name": "vomiting", + "text": "Vomiting", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "delivery_by_c_section", + "openmrs_entity_id": "vomiting", "openmrs_entity_parent": "" } }, { - "name": "still_birth", - "text": "Still Birth", + "name": "fever", + "text": "Fever", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "still_birth", + "openmrs_entity_id": "fever", "openmrs_entity_parent": "" } }, { - "name": "two_or_more_miscarriages", - "text": "Two or more miscarriages", + "name": "severe_headache", + "text": "Severe Headache", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "two_or_more_miscarriages", + "openmrs_entity_id": "severe_headache", "openmrs_entity_parent": "" } }, { - "name": "heart_problems", - "text": "Heart Problems", + "name": "nausea", + "text": "Nausea", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "heart_problems", + "openmrs_entity_id": "nausea", "openmrs_entity_parent": "" } }, { - "name": "diabetes", - "text": "Diabetes", + "name": "feeling_lightheaded_or_dizzy", + "text": "Feeling lightheaded or dizzy", "meta_data": { "openmrs_entity": "conceptc", - "openmrs_entity_id": "diabetes", + "openmrs_entity_id": "feeling_lightheaded_or_dizzy", "openmrs_entity_parent": "" } }, { - "name": "tb", - "text": "Tuberculosis (TB)", + "name": "frequent_urination", + "text": "Frequent urination", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "tb", + "openmrs_entity_id": "frequent_urination", + "openmrs_entity_parent": "" + } + }, + { + "name": "painful_breasts", + "text": "Painful breasts", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "painful_breasts", "openmrs_entity_parent": "" } }, @@ -196,7 +205,8 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", From 17399c48f2c3902384c2dd945f64f54157017a24 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 13 Jan 2022 11:27:59 +0300 Subject: [PATCH 186/915] fix: all referral forms to have a min date of today --- .../ba/assets/json.form-sw/referrals/anc_referral_form.json | 3 ++- .../assets/json.form-sw/referrals/child_gbv_referral_form.json | 3 ++- .../ba/assets/json.form-sw/referrals/child_referral_form.json | 3 ++- .../assets/json.form-sw/referrals/female_fp_referral_form.json | 3 ++- .../ba/assets/json.form-sw/referrals/gbv_referral_form.json | 3 ++- .../ba/assets/json.form-sw/referrals/hiv_referral_form.json | 3 ++- .../assets/json.form-sw/referrals/malaria_referral_form.json | 3 ++- .../assets/json.form-sw/referrals/male_fp_referral_form.json | 3 ++- .../ba/assets/json.form-sw/referrals/pnc_referral_form.json | 3 ++- .../src/ba/assets/json.form-sw/referrals/referral_form.json | 3 ++- .../src/ba/assets/json.form-sw/referrals/tb_referral_form.json | 3 ++- .../src/ba/assets/json.form/referrals/anc_referral_form.json | 3 ++- .../ba/assets/json.form/referrals/child_gbv_referral_form.json | 3 ++- .../src/ba/assets/json.form/referrals/child_referral_form.json | 3 ++- .../ba/assets/json.form/referrals/female_fp_referral_form.json | 3 ++- .../src/ba/assets/json.form/referrals/gbv_referral_form.json | 3 ++- .../src/ba/assets/json.form/referrals/hiv_referral_form.json | 3 ++- .../src/ba/assets/json.form/referrals/hts_referral_form.json | 3 ++- .../ba/assets/json.form/referrals/malaria_referral_form.json | 3 ++- .../ba/assets/json.form/referrals/male_fp_referral_form.json | 3 ++- .../src/ba/assets/json.form/referrals/pnc_referral_form.json | 3 ++- .../src/ba/assets/json.form/referrals/referral_form.json | 3 ++- .../src/ba/assets/json.form/referrals/tb_referral_form.json | 3 ++- 23 files changed, 46 insertions(+), 23 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json index 4ccf239484..7b9454a3b3 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json @@ -417,7 +417,8 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_gbv_referral_form.json index 150ba1cddd..1efc359e27 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_gbv_referral_form.json @@ -194,7 +194,8 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_referral_form.json index 2ad7f99e25..cd5594b7eb 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_referral_form.json @@ -383,7 +383,8 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/female_fp_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/female_fp_referral_form.json index 2ea1ba5a68..0803eb7169 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/female_fp_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/female_fp_referral_form.json @@ -561,7 +561,8 @@ "properties": { "hint": "Tafadhali chagua tarehe ya hudhurio", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json index ac4af8395f..34b4e7626e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json @@ -174,7 +174,8 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json index f4287f0108..a71f16aca9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json @@ -207,7 +207,8 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/malaria_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/malaria_referral_form.json index 6df7182c22..73d69c02ae 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/malaria_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/malaria_referral_form.json @@ -380,7 +380,8 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/male_fp_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/male_fp_referral_form.json index 01d6c61d26..dbbabe6afa 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/male_fp_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/male_fp_referral_form.json @@ -237,7 +237,8 @@ "properties": { "hint": "Tafadhali chagua tarehe ya hudhurio", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/pnc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/pnc_referral_form.json index ea8d2db046..fa562fc126 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/pnc_referral_form.json @@ -511,7 +511,8 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/referral_form.json index 099ad11674..06f27fd094 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/referral_form.json @@ -171,7 +171,8 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/tb_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/tb_referral_form.json index 174011ec03..c2930f66a8 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/tb_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/tb_referral_form.json @@ -201,7 +201,8 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json index b0dc371034..2c5744d09b 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json @@ -414,7 +414,8 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/child_gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/child_gbv_referral_form.json index 375ab3a7a1..cc26307983 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/child_gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/child_gbv_referral_form.json @@ -194,7 +194,8 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/child_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/child_referral_form.json index 7c9edf5beb..6aa479fae2 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/child_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/child_referral_form.json @@ -378,7 +378,8 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/female_fp_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/female_fp_referral_form.json index 2f0c80ba2a..748a091269 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/female_fp_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/female_fp_referral_form.json @@ -561,7 +561,8 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json index 519a0956d2..db7a630da9 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json @@ -176,7 +176,8 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json index 3543e4fe15..b1b45570ad 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json @@ -207,7 +207,8 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json index 26100ab63a..e14d20d450 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json @@ -158,7 +158,8 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/malaria_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/malaria_referral_form.json index 2a95c3f6c1..c2d9dada9a 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/malaria_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/malaria_referral_form.json @@ -380,7 +380,8 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/male_fp_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/male_fp_referral_form.json index 855a73ad13..deb125caee 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/male_fp_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/male_fp_referral_form.json @@ -237,7 +237,8 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/pnc_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/pnc_referral_form.json index 8e67d73d24..6cc0407f1c 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/pnc_referral_form.json @@ -506,7 +506,8 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/referral_form.json index 80a1a73630..34bfad9c86 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/referral_form.json @@ -171,7 +171,8 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/tb_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/tb_referral_form.json index 751826886e..c3ccb045bb 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/tb_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/tb_referral_form.json @@ -207,7 +207,8 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy" + "display_format": "dd/MM/yyyy", + "min_date": "today" }, "meta_data": { "openmrs_entity": "concept", From b2043d1392a35f2dbdb79e9b6b628b068817f63c Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 13 Jan 2022 12:09:56 +0300 Subject: [PATCH 187/915] Removed barcode scanning from WAJA ID --- .../all_clients_update_registration_info_form.json | 5 ++--- opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json | 5 ++--- .../src/ba/assets/json.form-sw/family_member_register.json | 5 ++--- .../ba/assets/json.form/all_clients_registration_form.json | 5 ++--- .../json.form/all_clients_update_registration_info_form.json | 5 ++--- opensrp-chw/src/ba/assets/json.form/child_enrollment.json | 5 ++--- .../src/ba/assets/json.form/family_member_register.json | 5 ++--- 7 files changed, 14 insertions(+), 21 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 6215d6407c..e470ef7713 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -61,10 +61,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "barcode", - "barcode_type": "qrcode", + "type": "edit_text", + "read_only": true, "hint": "WAJA ID", - "scanButtonText": "Chukua QR code", "v_numeric": { "value": "true", "err": "Tafadhali ingiza namba halali" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index cba0aa5bfb..9be89aec1b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -59,10 +59,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "barcode", - "barcode_type": "qrcode", + "type": "edit_text", + "read_only": true, "hint": "WAJA ID", - "scanButtonText": "Chukua QR code", "v_numeric": { "value": "true", "err": "Tafadhali ingiza namba halali" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index fef272c711..0dc4e2157c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -59,10 +59,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "barcode", - "barcode_type": "qrcode", + "type": "edit_text", + "read_only": true, "hint": "WAJA ID", - "scanButtonText": "Chukua QR code", "v_numeric": { "value": "true", "err": "Tafadhali ingiza namba halali" diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 3eb0a35ade..4e29992f6c 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -193,10 +193,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "barcode", - "barcode_type": "qrcode", + "type": "edit_text", + "read_only": true, "hint": "WAJA ID", - "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", "err": "Please enter a valid ID" diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index 164d402ba1..703417ecd5 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -61,10 +61,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "barcode", - "barcode_type": "qrcode", + "type": "edit_text", + "read_only": true, "hint": "WAJA ID", - "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", "err": "Please enter a valid ID" diff --git a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json index 6d720e5a48..62f6c7c0e3 100644 --- a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json @@ -59,10 +59,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "barcode", - "barcode_type": "qrcode", + "type": "edit_text", + "read_only": true, "hint": "WAJA ID", - "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", "err": "Please enter a valid ID" diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index e7cc1e92c8..5c223cba07 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -59,10 +59,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "barcode", - "barcode_type": "qrcode", + "type": "edit_text", + "read_only": true, "hint": "WAJA ID", - "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", "err": "Please enter a valid ID" From 61f20f044c92529c8df85f63da5a0796e742717a Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 13 Jan 2022 12:35:47 +0300 Subject: [PATCH 188/915] Disabled modules that are currently not ready for testing by NACP --- .../chw/model/NavigationModelFlv.java | 2 +- .../chw/application/ChwApplication.java | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java index 70618b69af..c2dbd46a7c 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -36,7 +36,7 @@ public List getNavigationItems() { //Reordered the Items as requested by Ministry of Health National AIDS Control Program (NACP) if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { - navigationOptions.addAll(Arrays.asList(op10,op1, op11, op12, op8, op3, op5, op2, op6, op7, op13, op9)); + navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op6, op8, op2, op7, op13, op9)); } else { navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index 9990914108..5c7fb45b07 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -1,5 +1,7 @@ package org.smartregister.chw.application; +import static org.koin.core.context.GlobalContext.getOrNull; + import android.Manifest; import android.content.Intent; import android.content.pm.PackageManager; @@ -36,7 +38,6 @@ import org.smartregister.chw.activity.MalariaRegisterActivity; import org.smartregister.chw.activity.PncRegisterActivity; import org.smartregister.chw.activity.ReferralRegisterActivity; -import org.smartregister.chw.activity.TbRegisterActivity; import org.smartregister.chw.activity.UpdatesRegisterActivity; import org.smartregister.chw.anc.AncLibrary; import org.smartregister.chw.anc.domain.Visit; @@ -60,8 +61,8 @@ import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; import org.smartregister.chw.service.ChildAlertService; import org.smartregister.chw.sync.ChwClientProcessor; -import org.smartregister.chw.util.ChwLocationBasedClassifier; import org.smartregister.chw.tb.TbLibrary; +import org.smartregister.chw.util.ChwLocationBasedClassifier; import org.smartregister.chw.util.FailSafeRecalledID; import org.smartregister.chw.util.FileUtils; import org.smartregister.chw.util.JsonFormUtils; @@ -95,8 +96,6 @@ import io.ona.kujaku.KujakuLibrary; import timber.log.Timber; -import static org.koin.core.context.GlobalContext.getOrNull; - public class ChwApplication extends CoreChwApplication { private static Flavor flavor = new ChwApplicationFlv(); @@ -337,7 +336,6 @@ public Map getRegisteredActivities() { registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.FAMILY_REGISTER_ACTIVITY, FamilyRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.CHILD_REGISTER_ACTIVITY, ChildRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.PNC_REGISTER_ACTIVITY, PncRegisterActivity.class); - registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.MALARIA_REGISTER_ACTIVITY, MalariaRegisterActivity.class); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.REFERRALS_REGISTER_ACTIVITY, ReferralRegisterActivity.class); } @@ -345,10 +343,15 @@ public Map getRegisteredActivities() { registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.ALL_CLIENTS_REGISTERED_ACTIVITY, AllClientsRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_REGISTER_ACTIVITY, HivRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_INDEX_REGISTER_ACTIVITY, HivIndexContactsContactsRegisterActivity.class); - registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.TB_REGISTER_ACTIVITY, TbRegisterActivity.class); +// TODO uncomment these when NACP is ready to test these modules +// registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.TB_REGISTER_ACTIVITY, TbRegisterActivity.class); + } + if (!BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.MALARIA_REGISTER_ACTIVITY, MalariaRegisterActivity.class); + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.FP_REGISTER_ACTIVITY, FpRegisterActivity.class); } - registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.FP_REGISTER_ACTIVITY, FpRegisterActivity.class); + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.UPDATES_REGISTER_ACTIVITY, UpdatesRegisterActivity.class); return registeredActivities; } @@ -375,9 +378,11 @@ public void setOpenSRPUrl() { public boolean hasReferrals() { return flavor.hasReferrals(); } + public boolean hasHIV() { return flavor.hasHIV(); } + public boolean hasTB() { return flavor.hasTB(); } From 22bde921b536d28347f4f4f3ac535615a854ee8e Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 13 Jan 2022 14:42:12 +0300 Subject: [PATCH 189/915] added: fix for passport number format --- .../ba/assets/json.form-sw/all_clients_registration_form.json | 4 ++++ .../all_clients_update_registration_info_form.json | 4 ++++ .../src/ba/assets/json.form-sw/family_member_register.json | 4 ++++ opensrp-chw/src/ba/assets/json.form-sw/family_register.json | 4 ++++ .../ba/assets/json.form/all_clients_registration_form.json | 4 ++++ .../json.form/all_clients_update_registration_info_form.json | 4 ++++ .../src/ba/assets/json.form/family_member_register.json | 4 ++++ opensrp-chw/src/ba/assets/json.form/family_register.json | 4 ++++ 8 files changed, 32 insertions(+) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index e0712971d0..47d2e30efa 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -514,6 +514,10 @@ "type": "edit_text", "hint": "Namba ya hati ya kusafiria", "edit_type": "name", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Namba ya hati ya kusafiria inatakiwa kuwa (TAE-XXXXXX)" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index e470ef7713..b331ab5dff 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -346,6 +346,10 @@ "openmrs_entity_id": "Passport_Number", "type": "edit_text", "hint": "Namba ya hati ya kusafiria", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Namba ya hati ya kusafiria inatakiwa kuwa (TAE-XXXXXX)" + }, "edit_type": "name", "relevance": { "step1:id_avail": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 0dc4e2157c..d1a1e40fa4 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -404,6 +404,10 @@ "openmrs_entity_id": "Passport_Number", "type": "edit_text", "hint": "Namba ya hati ya kusafiria", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Namba ya hati ya kusafiria inatakiwa kuwa (TAE-XXXXXX)" + }, "edit_type": "name", "relevance": { "step1:id_avail": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 32706d48a2..ec1f1e70d6 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -459,6 +459,10 @@ "openmrs_entity_id": "Passport_Number", "type": "edit_text", "hint": "Namba ya hati ya kusafiria", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Namba ya hati ya kusafiria inatakiwa kuwa (TAE-XXXXXX)" + }, "edit_type": "name", "relevance": { "step2:id_avail": { diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 4e29992f6c..6eb5dbadac 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -512,6 +512,10 @@ "openmrs_entity_id": "Passport_Number", "type": "edit_text", "hint": "Passport number", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Passport Number should be in the format (TAE-XXXXXX)" + }, "edit_type": "name", "relevance": { "step2:id_avail": { diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index 703417ecd5..0c3579931a 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -346,6 +346,10 @@ "openmrs_entity_id": "Passport_Number", "type": "edit_text", "hint": "Passport number", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Passport Number should be in the format (TAE-XXXXXX)" + }, "edit_type": "name", "relevance": { "step1:id_avail": { diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index 5c223cba07..d0d5e39a7c 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -405,6 +405,10 @@ "type": "edit_text", "hint": "Passport number", "edit_type": "name", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Passport Number should be in the format (TAE-XXXXXX)" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index a1544b1910..ca57bef42d 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -509,6 +509,10 @@ "openmrs_entity_id": "Passport_Number", "type": "edit_text", "hint": "Passport number", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Passport Number should be in the format (TAE-XXXXXX)" + }, "edit_type": "name", "relevance": { "step2:id_avail": { From e139ff016ddd2d4b8e8efe154c01a82583b3f205 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 13 Jan 2022 14:47:46 +0300 Subject: [PATCH 190/915] fix: update registration forms to check id formats --- .../all_clients_update_registration_info_form.json | 12 ++++++++++++ .../all_clients_update_registration_info_form.json | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index b331ab5dff..601baa63d9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -287,6 +287,10 @@ "type": "edit_text", "hint": "Namba ya kitambulisho cha taifa", "edit_type": "name", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "Namba ya kitambulisho cha taifa inatakiwa kuwa (XXXXXXXX-XXXXX-XXXXX-XX)" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -307,6 +311,10 @@ "type": "edit_text", "hint": "Namba ya kitambulisho cha mpiga kura", "edit_type": "name", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Namba ya kitambulisho cha mpiga kura inatakiwa kuwa (T-XXXX-XXXX-XXX-X)" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -327,6 +335,10 @@ "type": "edit_text", "hint": "Namba ya leseni ya udereva", "edit_type": "name", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Namba ya leseni ya udereva inatakiwa kuwa (XXXXXXXXXX)" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index 0c3579931a..5388564ee8 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -287,6 +287,10 @@ "type": "edit_text", "hint": "National ID number", "edit_type": "name", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -307,6 +311,10 @@ "type": "edit_text", "hint": "Voter's registration number", "edit_type": "name", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -327,6 +335,10 @@ "type": "edit_text", "hint": "Driver's license number", "edit_type": "name", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Driver's license number should be of the format (XXXXXXXXXX)" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ From 837c333f43274a1e88f5ec23d7bc35429b8298a0 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 14 Jan 2022 09:24:29 +0300 Subject: [PATCH 191/915] Fix: marital status and other questions can be viewed and edited. --- ...clients_update_registration_info_form.json | 84 +++++++++++++++++++ ...clients_update_registration_info_form.json | 84 +++++++++++++++++++ .../all_clients_member_update_relevance.yml | 24 +++++- 3 files changed, 191 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 601baa63d9..3b03fc6164 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -682,6 +682,52 @@ } } }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya ndoa ya mteja?", + "values": [ + "Hajaolewa", + "Ameolewa", + "Ameachwa", + "Ndoa ya mme/mke mmoja", + "Mitala", + "Mjane", + "Kuishi pamoja" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, { "key": "service_provider", "openmrs_entity_parent": "", @@ -790,6 +836,37 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Aina nyinginezo za shughuli anazojishughulisha mteja", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali taja anina ya shughuli" + }, + "relevance": { + "step1:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } } }, { @@ -851,6 +928,13 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index 5388564ee8..6cf399321d 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -742,6 +742,52 @@ } } }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Client's Marital Status?", + "values": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, { "key": "service_provider", "openmrs_entity_parent": "", @@ -850,6 +896,37 @@ "v_required": { "value": "true", "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Mention other Occupation", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify the occupation" + }, + "relevance": { + "step1:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } } }, { @@ -911,6 +988,13 @@ "v_required": { "value": "true", "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml index 303590dd14..591209ab21 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml @@ -75,4 +75,26 @@ description: as primary caregiver phone number priority: 1 condition: "step1_has_primary_caregiver == 'Yes'" actions: - - "isRelevant = true" \ No newline at end of file + - "isRelevant = true" +--- +name: step1_service_provider +description: service_provider relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step1_leader +description: leader relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step1_marital_status +description: marital_status relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 14) || (step1_age != '' && step1_age >= 14)" +actions: + - "isRelevant = true" + From e51776bb039536bb11c9535383aceca2ce4a5056 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 14 Jan 2022 12:15:52 +0300 Subject: [PATCH 192/915] Fix: Overridden and edited the exit form message --- opensrp-chw/src/ba/res/values/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/opensrp-chw/src/ba/res/values/strings.xml b/opensrp-chw/src/ba/res/values/strings.xml index e604b976e5..7fa75130c4 100644 --- a/opensrp-chw/src/ba/res/values/strings.xml +++ b/opensrp-chw/src/ba/res/values/strings.xml @@ -19,4 +19,5 @@ CBHS Return to all CBHS clients CBHS Clients + Any Changes You Made Will Be Discarded \ No newline at end of file From 3603f8abf38c067168b9e2bdad66e4701d9ed5c3 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 14 Jan 2022 12:22:42 +0300 Subject: [PATCH 193/915] Fix: Overridden the string in swahili --- opensrp-chw/src/ba/res/values-sw/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/opensrp-chw/src/ba/res/values-sw/strings.xml b/opensrp-chw/src/ba/res/values-sw/strings.xml index 262ed39975..637da5c7fb 100644 --- a/opensrp-chw/src/ba/res/values-sw/strings.xml +++ b/opensrp-chw/src/ba/res/values-sw/strings.xml @@ -13,4 +13,5 @@ UWANYU Rudi kwenye wateja wa UWANYU Wateja wa UWANYU + Any Changes You Made Will Be Discarded \ No newline at end of file From 1a76ea2e750d3efcdf193f35995fd4da0a6ee6aa Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 14 Jan 2022 13:11:13 +0300 Subject: [PATCH 194/915] fixed: reasons for registration on all clients forms --- .../all_clients_registration_form.json | 217 ++++++++++++++++- ...clients_update_registration_info_form.json | 217 ++++++++++++++++- .../all_clients_registration_form.json | 217 ++++++++++++++++- ...clients_update_registration_info_form.json | 219 ++++++++++++++++-- .../rule/all_clients_member_calculation.yml | 9 +- .../rule/all_clients_member_relevance.yml | 21 ++ 6 files changed, 850 insertions(+), 50 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 47d2e30efa..95804387dc 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -1107,6 +1107,20 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Registration_Reason", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "reasons_for_registration_male_15", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", "type": "native_radio", "label": "Sababu za Usajili", "label_text_style": "normal", @@ -1169,43 +1183,94 @@ "openmrs_entity_id": "" }, { - "key": "sex_worker_woman", - "text": "Mwanamke anayefanya biashara ya ngono", + "key": "gender_violence", + "text": "Mtu aliyenyanyaswa kijinsia", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU", + "key": "drug_abuse", + "text": "Mtu anayejidunga", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya kisajili mteja inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_female_15", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "native_radio", + "label": "Sababu za Usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizo ya VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU ", + "key": "sickle_cell_disease", + "text": "Sickle cell disease ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "weight_stagnation_child", - "text": "Mtoto asiyeongezeka uzito", + "key": "heart_disease", + "text": "Magonjwa ya moyo ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "child_with_fever", - "text": "Mtoto anayepata homa za mara kwa mara", + "key": "diabetes", + "text": "Kisukari ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "abused_child", - "text": "Mtoto anayefanyiwa ukatili", + "key": "cerebral_palsy", + "text": "Mtindio wa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sex_worker_woman", + "text": "Mwanamke anayefanya biashara ya ngono", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1237,6 +1302,127 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya kisajili mteja inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_under_15", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "native_radio", + "label": "Sababu za Usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizo ya VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Mtindio wa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "Mtoto asiyeongezeka uzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "Mtoto anayepata homa za mara kwa mara", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Mtoto anayefanyiwa ukatili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Mtu aliyenyanyaswa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Mtu anayejidunga", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" }, { "key": "child_in_risky_environment", @@ -1249,6 +1435,13 @@ "v_required": { "value": "true", "err": "Sababu ya kisajili mteja inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 3b03fc6164..5e2dbe652e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -966,6 +966,20 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Registration_Reason", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "reasons_for_registration_male_15", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", "type": "native_radio", "label": "Sababu za Usajili", "label_text_style": "normal", @@ -1028,43 +1042,94 @@ "openmrs_entity_id": "" }, { - "key": "sex_worker_woman", - "text": "Mwanamke anayefanya biashara ya ngono", + "key": "gender_violence", + "text": "Mtu aliyenyanyaswa kijinsia", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU", + "key": "drug_abuse", + "text": "Mtu anayejidunga", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya kisajili mteja inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_female_15", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "native_radio", + "label": "Sababu za Usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizo ya VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU ", + "key": "sickle_cell_disease", + "text": "Sickle cell disease ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "weight_stagnation_child", - "text": "Mtoto asiyeongezeka uzito", + "key": "heart_disease", + "text": "Magonjwa ya moyo ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "child_with_fever", - "text": "Mtoto anayepata homa za mara kwa mara", + "key": "diabetes", + "text": "Kisukari ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "abused_child", - "text": "Mtoto anayefanyiwa ukatili", + "key": "cerebral_palsy", + "text": "Mtindio wa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sex_worker_woman", + "text": "Mwanamke anayefanya biashara ya ngono", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1096,6 +1161,127 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya kisajili mteja inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_under_15", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "native_radio", + "label": "Sababu za Usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizo ya VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Mtindio wa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "Mtoto asiyeongezeka uzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "Mtoto anayepata homa za mara kwa mara", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Mtoto anayefanyiwa ukatili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Mtu aliyenyanyaswa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Mtu anayejidunga", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" }, { "key": "child_in_risky_environment", @@ -1108,6 +1294,13 @@ "v_required": { "value": "true", "err": "Sababu ya kisajili mteja inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } } } ] diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 6eb5dbadac..286a867c07 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -1180,6 +1180,20 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Registration_Reason", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "reasons_for_registration_male_15", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", "type": "native_radio", "label": "Reasons for Registration", "label_text_style": "normal", @@ -1242,43 +1256,94 @@ "openmrs_entity_id": "" }, { - "key": "sex_worker_woman", - "text": "Sex worker", + "key": "gender_violence", + "text": "Gender violence", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "hiv_infected_child", - "text": "A child born from a mother with HIV/AIDs", + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_female_15", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "untested_hiv_infected_child", - "text": "Untested HIV/AIDs child", + "key": "sickle_cell_disease", + "text": "Sickle cell disease", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "weight_stagnation_child", - "text": "A child with stagnation in weight", + "key": "heart_disease", + "text": "Heart diseases", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "child_with_fever", - "text": "A child with frequent fevers", + "key": "diabetes", + "text": "Diabetes", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "abused_child", - "text": "Abused child", + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sex_worker_woman", + "text": "Sex worker", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1310,6 +1375,127 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_under_15", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Registration_Reason", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "A child with stagnation in weight", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "A child with frequent fevers", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Abused child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" }, { "key": "child_in_risky_environment", @@ -1322,6 +1508,13 @@ "v_required": { "value": "true", "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } } } ] diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index 6cf399321d..45b9a6e50e 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -1026,6 +1026,20 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Registration_Reason", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "reasons_for_registration_male_15", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", "type": "native_radio", "label": "Reasons for Registration", "label_text_style": "normal", @@ -1082,49 +1096,100 @@ }, { "key": "homosexual", - "text": "Man who has sex with a man", + "text": "Men who have sex with men", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "sex_worker_woman", - "text": "Sex Worker", + "key": "gender_violence", + "text": "Gender violence", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "hiv_infected_child", - "text": "A child born from a mother with HIV/AIDs", + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_female_15", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "untested_hiv_infected_child", - "text": "Untested HIV/AIDs child", + "key": "sickle_cell_disease", + "text": "Sickle cell disease", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "weight_stagnation_child", - "text": "A child with stagnation in weight", + "key": "heart_disease", + "text": "Heart diseases", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "child_with_fever", - "text": "A child with frequent fevers", + "key": "diabetes", + "text": "Diabetes", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "abused_child", - "text": "Abused child", + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sex_worker_woman", + "text": "Sex worker", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1156,6 +1221,127 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_under_15", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Registration_Reason", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "A child with stagnation in weight", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "A child with frequent fevers", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Abused child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" }, { "key": "child_in_risky_environment", @@ -1168,6 +1354,13 @@ "v_required": { "value": "true", "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } } } ] diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml index a9ff69c340..bc6372e8b7 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml @@ -32,4 +32,11 @@ description: set surname as the one added in step one priority: 1 condition: "true" actions: - - "calculation = step1_client_middle_name" \ No newline at end of file + - "calculation = step1_client_middle_name" +--- +name: step2_reasons_for_registration +description: set reasons for registration +priority: 1 +condition: "true" +actions: + - "calculation = step2_age < 15 ? step2_reasons_for_registration_under_15 : (step2_sex.equalsIgnoreCase('Female') ? step2_reasons_for_registration_female_15 : step2_reasons_for_registration_male_15)" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml index 47fd457485..43aa34805c 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml @@ -95,5 +95,26 @@ name: step2_other_phone_number description: as primary caregiver phone number priority: 1 condition: "step2_has_primary_caregiver == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step2_reasons_for_registration_male_15 +description: Show up if client is male and age 15 above +priority: 1 +condition: "step2_sex.equals('Male') && step2_age >= 15" +actions: + - "isRelevant = true" +--- +name: step2_reasons_for_registration_female_15 +description: Show up if client is female and age 15 above +priority: 1 +condition: "step2_sex.equals('Female') && step2_age >= 15" +actions: + - "isRelevant = true" +--- +name: step2_reasons_for_registration_under_15 +description: Show up if client is below 15 +priority: 1 +condition: "step2_age < 15" actions: - "isRelevant = true" \ No newline at end of file From 2741c38e18f21c0246cfaa573159d6ec1abf3b44 Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 15 Jan 2022 09:39:09 +0300 Subject: [PATCH 195/915] fixed: registration forms order age, sex, marital status, phone number --- .../all_clients_registration_form.json | 172 ++++++++--------- ...clients_update_registration_info_form.json | 173 +++++++++--------- .../json.form-sw/family_member_register.json | 172 ++++++++--------- .../assets/json.form-sw/family_register.json | 164 ++++++++--------- .../all_clients_registration_form.json | 172 ++++++++--------- ...clients_update_registration_info_form.json | 172 ++++++++--------- .../json.form/family_member_register.json | 172 ++++++++--------- .../ba/assets/json.form/family_register.json | 164 ++++++++--------- 8 files changed, 681 insertions(+), 680 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 95804387dc..cc79ceeadc 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -377,6 +377,92 @@ "err": "Tafadhali ingiza umri" } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jinsi" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya ndoa ya mteja?", + "values": [ + "Hajaolewa", + "Ameolewa", + "Ameachwa", + "Ndoa ya mme/mke mmoja", + "Mitala", + "Mjane", + "Kuishi pamoja" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Namba ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." + }, + "v_required": { + "value": false, + "err": "Tafadhali taja numbe ya simu" + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -625,26 +711,6 @@ } } }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Jinsi", - "values": [ - "Me", - "Ke" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jinsi" - } - }, { "key": "wra", "openmrs_entity_parent": "", @@ -747,26 +813,6 @@ } } }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Namba ya simu", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." - }, - "v_required": { - "value": false, - "err": "Tafadhali taja numbe ya simu" - } - }, { "key": "has_primary_caregiver", "openmrs_entity_parent": "", @@ -837,52 +883,6 @@ } } }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Hali ya ndoa ya mteja?", - "values": [ - "Hajaolewa", - "Ameolewa", - "Ameachwa", - "Ndoa ya mme/mke mmoja", - "Mitala", - "Mjane", - "Kuishi pamoja" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, { "key": "service_provider", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 5e2dbe652e..657f9470bc 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -222,6 +222,92 @@ "err": "Tafadhali ingiza umri" } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jinsi" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya ndoa ya mteja?", + "values": [ + "Hajaolewa", + "Ameolewa", + "Ameachwa", + "Ndoa ya mme/mke mmoja", + "Mitala", + "Mjane", + "Kuishi pamoja" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Namba ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." + }, + "v_required": { + "value": false, + "err": "Tafadhali taja numbe ya simu" + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -470,26 +556,6 @@ } } }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Jinsi", - "values": [ - "Me", - "Ke" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jinsi" - } - }, { "key": "wra", "openmrs_entity_parent": "", @@ -592,26 +658,6 @@ } } }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Namba ya simu", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." - }, - "v_required": { - "value": false, - "err": "Tafadhali taja numbe ya simu" - } - }, { "key": "has_primary_caregiver", "openmrs_entity_parent": "", @@ -682,52 +728,7 @@ } } }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Hali ya ndoa ya mteja?", - "values": [ - "Hajaolewa", - "Ameolewa", - "Ameachwa", - "Ndoa ya mme/mke mmoja", - "Mitala", - "Mjane", - "Kuishi pamoja" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, + { "key": "service_provider", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index d1a1e40fa4..795cc5fd6d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -268,6 +268,92 @@ "err": "Tafadhali ingiza umri" } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jinsi" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya ndoa ya mteja?", + "values": [ + "Hajaolewa", + "Ameolewa", + "Ameachwa", + "Ndoa ya mme/mke mmoja", + "Mitala", + "Mjane", + "Kuishi pamoja" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Namba ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." + }, + "v_required": { + "value": false, + "err": "Tafadhali taja numbe ya simu" + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -516,26 +602,6 @@ } } }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Jinsi", - "values": [ - "Me", - "Ke" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jinsi" - } - }, { "key": "wra", "openmrs_entity_parent": "", @@ -658,26 +724,6 @@ "err": "Tafadhali chagua moja" } }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Namba ya simu", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." - }, - "v_required": { - "value": false, - "err": "Tafadhali taja numbe ya simu" - } - }, { "key": "other_phone_number", "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -694,52 +740,6 @@ "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." } }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Hali ya ndoa ya mteja?", - "values": [ - "Hajaolewa", - "Ameolewa", - "Ameachwa", - "Ndoa ya mme/mke mmoja", - "Mitala", - "Mjane", - "Kuishi pamoja" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, { "key": "service_provider", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index ec1f1e70d6..297aad39bb 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -323,6 +323,88 @@ "err": "Tafadhali ingiza umri" } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya ndoa ya mteja?", + "values": [ + "Hajaolewa", + "Ameolewa", + "Ameachwa", + "Ndoa ya mme/mke mmoja", + "Mitala", + "Mjane", + "Kuishi pamoja" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Namba ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -571,26 +653,6 @@ } } }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Jinsi", - "values": [ - "Me", - "Ke" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" - } - }, { "key": "wra", "openmrs_entity_parent": "", @@ -687,22 +749,6 @@ } } }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Namba ya simu", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." - } - }, { "key": "other_phone_number", "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -719,52 +765,6 @@ "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." } }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Hali ya ndoa ya mteja?", - "values": [ - "Hajaolewa", - "Ameolewa", - "Ameachwa", - "Ndoa ya mme/mke mmoja", - "Mitala", - "Mjane", - "Kuishi pamoja" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, { "key": "service_provider", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 286a867c07..e94a24ffee 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -376,6 +376,92 @@ "err": "Please enter the age" } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Client's Marital Status?", + "values": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Client phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." + }, + "v_required": { + "value": false, + "err": "Please specify the phone number" + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -624,26 +710,6 @@ } } }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Sex", - "values": [ - "Male", - "Female" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" - } - }, { "key": "wra", "openmrs_entity_parent": "", @@ -806,26 +872,6 @@ } } }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Client phone number", - "v_numeric": { - "value": "true", - "err": "Number must be a total of 10 digits in length" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." - }, - "v_required": { - "value": false, - "err": "Please specify the phone number" - } - }, { "key": "has_primary_caregiver", "openmrs_entity_parent": "", @@ -896,52 +942,6 @@ } } }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Client's Marital Status?", - "values": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Please select one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, { "key": "service_provider", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index 45b9a6e50e..8f1c1a2ed4 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -222,6 +222,92 @@ "err": "Please enter the age" } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Client's Marital Status?", + "values": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Client phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." + }, + "v_required": { + "value": false, + "err": "Please specify the phone number" + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -470,26 +556,6 @@ } } }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Sex", - "values": [ - "Male", - "Female" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" - } - }, { "key": "wra", "openmrs_entity_parent": "", @@ -652,26 +718,6 @@ } } }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Client phone number", - "v_numeric": { - "value": "true", - "err": "Number must be a total of 10 digits in length" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." - }, - "v_required": { - "value": false, - "err": "Please specify the phone number" - } - }, { "key": "has_primary_caregiver", "openmrs_entity_parent": "", @@ -742,52 +788,6 @@ } } }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Client's Marital Status?", - "values": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Please select one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, { "key": "service_provider", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index d0d5e39a7c..9f6fae0982 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -268,6 +268,92 @@ "err": "Please enter the age" } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Client's Marital Status?", + "values": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." + }, + "v_required": { + "value": false, + "err": "Please specify the phone number" + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -516,26 +602,6 @@ } } }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Sex", - "values": [ - "Male", - "Female" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" - } - }, { "key": "wra", "openmrs_entity_parent": "", @@ -718,26 +784,6 @@ "err": "Please select one" } }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Phone number", - "v_numeric": { - "value": "true", - "err": "Number must be a total of 10 digits in length" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." - }, - "v_required": { - "value": false, - "err": "Please specify the phone number" - } - }, { "key": "other_phone_number", "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -754,52 +800,6 @@ "err": "Number must be 10 digits and must start with 0." } }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Client's Marital Status?", - "values": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Please select one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, { "key": "service_provider", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index ca57bef42d..46646bb455 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -373,6 +373,88 @@ "err": "Please enter the age" } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Client's Marital Status?", + "values": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -621,26 +703,6 @@ } } }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Sex", - "values": [ - "Male", - "Female" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" - } - }, { "key": "wra", "openmrs_entity_parent": "", @@ -797,22 +859,6 @@ } } }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Phone number", - "v_numeric": { - "value": "true", - "err": "Number must be a total of 10 digits in length" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." - } - }, { "key": "other_phone_number", "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -829,52 +875,6 @@ "err": "Number must be 10 digits and must start with 0." } }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Client's Marital Status?", - "values": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Please select one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, { "key": "service_provider", "openmrs_entity_parent": "", From 5892821a258d2cfda8631953cf54a5ba22f63c23 Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 15 Jan 2022 10:51:25 +0300 Subject: [PATCH 196/915] the due layout doesn't show on independent clients --- .../smartregister/chw/activity/HivProfileActivity.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index a708a94c8a..77ada87a39 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -47,6 +47,7 @@ import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.commonregistry.CommonRepository; +import org.smartregister.domain.AlertStatus; import org.smartregister.domain.Location; import org.smartregister.family.util.Utils; import org.smartregister.repository.LocationRepository; @@ -335,6 +336,14 @@ public void openUpcomingServices() { CoreHivUpcomingServicesActivity.startMe(this, HivUtil.toMember(getHivMemberObject())); } + @Override + public void setFamilyStatus(@androidx.annotation.Nullable AlertStatus status) { + super.setFamilyStatus(status); + if(getHivMemberObject().getFamilyMemberEntityType().equals(Constants.FamilyMemberEntityType.EC_INDEPENDENT_CLIENT)){ + findViewById(R.id.rlFamilyServicesDue).setVisibility(View.GONE); + } + } + @Override public void openFamilyDueServices() { Intent intent = new Intent(this, FamilyProfileActivity.class); From 5b4e67dedad7635d95d842b16ec36abe87f44f5c Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 17 Jan 2022 16:03:00 +0300 Subject: [PATCH 197/915] fixed: Reason for registration saving issue --- .../ba/assets/json.form/all_clients_registration_form.json | 4 ++-- .../all_clients_update_registration_info_form.json | 4 ++-- .../src/ba/assets/rule/all_clients_member_calculation.yml | 2 +- .../src/ba/assets/rule/all_clients_member_relevance.yml | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index e94a24ffee..a99955b2d6 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -1392,8 +1392,8 @@ { "key": "reasons_for_registration_under_15", "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Registration_Reason", + "openmrs_entity": "", + "openmrs_entity_id": "", "type": "native_radio", "label": "Reasons for Registration", "label_text_style": "normal", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index 8f1c1a2ed4..9778d9ff86 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -1238,8 +1238,8 @@ { "key": "reasons_for_registration_under_15", "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Registration_Reason", + "openmrs_entity": "", + "openmrs_entity_id": "", "type": "native_radio", "label": "Reasons for Registration", "label_text_style": "normal", diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml index bc6372e8b7..5c7b0ac535 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml @@ -39,4 +39,4 @@ description: set reasons for registration priority: 1 condition: "true" actions: - - "calculation = step2_age < 15 ? step2_reasons_for_registration_under_15 : (step2_sex.equalsIgnoreCase('Female') ? step2_reasons_for_registration_female_15 : step2_reasons_for_registration_male_15)" \ No newline at end of file + - "calculation = ((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15)) ? step2_reasons_for_registration_under_15 : (step2_sex.equalsIgnoreCase('Female') ? step2_reasons_for_registration_female_15 : step2_reasons_for_registration_male_15)" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml index 43aa34805c..480b3d2971 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml @@ -101,20 +101,20 @@ actions: name: step2_reasons_for_registration_male_15 description: Show up if client is male and age 15 above priority: 1 -condition: "step2_sex.equals('Male') && step2_age >= 15" +condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 15) || (step2_age != '' && step2_age >= 15)) && step2_sex.equals('Male') " actions: - "isRelevant = true" --- name: step2_reasons_for_registration_female_15 description: Show up if client is female and age 15 above priority: 1 -condition: "step2_sex.equals('Female') && step2_age >= 15" +condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 15) || (step2_age != '' && step2_age >= 15))&& step2_sex.equals('Female')" actions: - "isRelevant = true" --- name: step2_reasons_for_registration_under_15 description: Show up if client is below 15 priority: 1 -condition: "step2_age < 15" +condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15))" actions: - "isRelevant = true" \ No newline at end of file From 4ba4ed31ab540d1dc37bad38394360ad4449959b Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 18 Jan 2022 09:04:23 +0300 Subject: [PATCH 198/915] Refactored all client forms --- .../all_clients_registration_form.json | 54 +++++++++---------- ...clients_update_registration_info_form.json | 51 +++++++++--------- .../all_clients_registration_form.json | 52 +++++++++--------- ...clients_update_registration_info_form.json | 48 ++++++++--------- 4 files changed, 102 insertions(+), 103 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index cc79ceeadc..0731b0c44b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -157,7 +157,7 @@ "key": "gps", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "gps", "openmrs_data_type": "text", "type": "gps" }, @@ -173,7 +173,7 @@ "key": "nearest_facility", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "nearest_facility", "openmrs_data_type": "text", "type": "tree", "hint": "Kijiji/Mtaa", @@ -447,7 +447,7 @@ "key": "phone_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "phone_number", "type": "edit_text", "hint": "Namba ya simu", "v_numeric": { @@ -743,7 +743,7 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "preg_1yr", "type": "spinner", "hint": "Je, amejifungua ndani ya mwaka 1?", "values": [ @@ -755,8 +755,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -774,7 +774,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "disabilities", "type": "spinner", "hint": "Hali ya ulemavu", "values": [ @@ -786,8 +786,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -796,9 +796,9 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "disabilities", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "type_of_disability", "type": "edit_text", "hint": "Aina ya ulemavu", "v_required": { @@ -858,9 +858,9 @@ }, { "key": "other_phone_number", - "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "other_phone_number", "type": "edit_text", "hint": "Namba ya simu ya msaidizi", "v_numeric": { @@ -887,7 +887,7 @@ "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "service_provider", "type": "check_box", "label": "Aina ya kazi anayojishughulisha", "label_text_style": "normal", @@ -901,91 +901,91 @@ "text": "Mkulima", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_farmer" }, { "key": "chk_cs", "text": "Mtumishi wa serikali", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cs" }, { "key": "chk_nurse", "text": "Muuguzi", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_nurse" }, { "key": "chk_teacher", "text": "Mwalimu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_teacher" }, { "key": "chk_th", "text": "Waganga wa tiba asilia (THs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_th" }, { "key": "chk_chw", "text": "Wahudumu wa afya ngazi ya jamii–WAJA", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chw" }, { "key": "chk_tba", "text": "Wakunga wa jadi (TBAs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_tba" }, { "key": "chk_chmis", "text": "Wakusanyaji takwimu za afya katika jamii (cHIMS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chmis" }, { "key": "chk_cbd", "text": "Wasambazaji wa dawa na vifaa vya uzazi wa mpango katika jamii (CBD)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cbd" }, { "key": "chk_hbc", "text": "Watoa huduma kwa wagonjwa majumbani (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_hbc" }, { "key": "chk_cimmci", "text": "Watoa huduma za udhibiti wa magonjwa ya watoto kwa uwiano katika jamii (cIMCI)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cimmci" }, { "key": "chk_other", "text": "Nyingine", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_other" }, { "key": "chk_none", "text": "Hakuna", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ], "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 657f9470bc..87463e1e9c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -292,7 +292,7 @@ "key": "phone_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "phone_number", "type": "edit_text", "hint": "Namba ya simu", "v_numeric": { @@ -588,7 +588,7 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "preg_1yr", "type": "spinner", "hint": "Je, amejifungua ndani ya mwaka 1?", "values": [ @@ -600,8 +600,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -619,7 +619,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "disabilities", "type": "spinner", "hint": "Hali ya ulemavu", "values": [ @@ -631,8 +631,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -641,9 +641,9 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "disabilities", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "type_of_disability", "type": "edit_text", "hint": "Aina ya ulemavu", "v_required": { @@ -703,9 +703,9 @@ }, { "key": "other_phone_number", - "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "other_phone_number", "type": "edit_text", "hint": "Namba ya simu ya msaidizi", "v_numeric": { @@ -728,12 +728,11 @@ } } }, - { "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "service_provider", "type": "check_box", "label": "Aina ya kazi anayojishughulisha", "label_text_style": "normal", @@ -747,91 +746,91 @@ "text": "Mkulima", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_farmer" }, { "key": "chk_cs", "text": "Mtumishi wa serikali", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cs" }, { "key": "chk_nurse", "text": "Muuguzi", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_nurse" }, { "key": "chk_teacher", "text": "Mwalimu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_teacher" }, { "key": "chk_th", "text": "Waganga wa tiba asilia (THs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_th" }, { "key": "chk_chw", "text": "Wahudumu wa afya ngazi ya jamii–WAJA", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chw" }, { "key": "chk_tba", "text": "Wakunga wa jadi (TBAs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_tba" }, { "key": "chk_chmis", "text": "Wakusanyaji takwimu za afya katika jamii (cHIMS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chmis" }, { "key": "chk_cbd", "text": "Wasambazaji wa dawa na vifaa vya uzazi wa mpango katika jamii (CBD)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cbd" }, { "key": "chk_hbc", "text": "Watoa huduma kwa wagonjwa majumbani (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_hbc" }, { "key": "chk_cimmci", "text": "Watoa huduma za udhibiti wa magonjwa ya watoto kwa uwiano katika jamii (cIMCI)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cimmci" }, { "key": "chk_other", "text": "Nyingine", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_other" }, { "key": "chk_none", "text": "Hakuna", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ], "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index a99955b2d6..4fe65aadbd 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -157,7 +157,7 @@ "key": "gps", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "gps", "openmrs_data_type": "text", "type": "gps" }, @@ -173,7 +173,7 @@ "key": "nearest_facility", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "nearest_facility", "openmrs_data_type": "text", "type": "tree", "hint": "Village/Street", @@ -446,7 +446,7 @@ "key": "phone_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "phone_number", "type": "edit_text", "hint": "Client phone number", "v_numeric": { @@ -742,7 +742,7 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "preg_1yr", "type": "spinner", "hint": "Has the woman delivered in the last 1 year?", "values": [ @@ -754,8 +754,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -773,7 +773,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "disabilities", "type": "spinner", "hint": "Physical disabilities", "values": [ @@ -785,8 +785,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -795,7 +795,7 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "disabilities", "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", "type": "check_box", @@ -917,9 +917,9 @@ }, { "key": "other_phone_number", - "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "other_phone_number", "type": "edit_text", "hint": "Primary caregiver phone number", "v_numeric": { @@ -946,7 +946,7 @@ "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "service_provider", "type": "check_box", "label": "Occupation of the Client", "label_text_style": "normal", @@ -960,91 +960,91 @@ "text": "Farmer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_farmer" }, { "key": "chk_cs", "text": "Civil Servant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cs" }, { "key": "chk_nurse", "text": "Nurse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_nurse" }, { "key": "chk_teacher", "text": "Teacher", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_teacher" }, { "key": "chk_th", "text": "Traditional Healer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_th" }, { "key": "chk_chw", "text": "Community Health Worker (CHW)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chw" }, { "key": "chk_tba", "text": "Traditional Birth Attendant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_tba" }, { "key": "chk_chmis", "text": "Community HMIS (cHMIS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chmis" }, { "key": "chk_cbd", "text": "Community Based Distributor", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cbd" }, { "key": "chk_hbc", "text": "Home Based Care (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_hbc" }, { "key": "chk_cimmci", "text": "Community IMCI", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cimmci" }, { "key": "chk_other", "text": "Other", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_other" }, { "key": "chk_none", "text": "None", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ], "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index 9778d9ff86..ed11f5e262 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -292,7 +292,7 @@ "key": "phone_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "phone_number", "type": "edit_text", "hint": "Client phone number", "v_numeric": { @@ -588,7 +588,7 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "preg_1yr", "type": "spinner", "hint": "Has the woman delivered in the last 1 year?", "values": [ @@ -600,8 +600,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -619,7 +619,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "disabilities", "type": "spinner", "hint": "Physical disabilities", "values": [ @@ -631,8 +631,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -641,7 +641,7 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "disabilities", "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", "type": "check_box", @@ -763,9 +763,9 @@ }, { "key": "other_phone_number", - "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "other_phone_number", "type": "edit_text", "hint": "Primary caregiver phone number", "v_numeric": { @@ -792,7 +792,7 @@ "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "service_provider", "type": "check_box", "label": "Occupation of the Client", "label_text_style": "normal", @@ -806,91 +806,91 @@ "text": "Farmer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_farmer" }, { "key": "chk_cs", "text": "Civil Servant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cs" }, { "key": "chk_nurse", "text": "Nurse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_nurse" }, { "key": "chk_teacher", "text": "Teacher", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_teacher" }, { "key": "chk_th", "text": "Traditional Healer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_th" }, { "key": "chk_chw", "text": "Community Health Worker (CHW)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chw" }, { "key": "chk_tba", "text": "Traditional Birth Attendant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_tba" }, { "key": "chk_chmis", "text": "Community HMIS (cHMIS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chmis" }, { "key": "chk_cbd", "text": "Community Based Distributor", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cbd" }, { "key": "chk_hbc", "text": "Home Based Care (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_hbc" }, { "key": "chk_cimmci", "text": "Community IMCI", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cimmci" }, { "key": "chk_other", "text": "Other", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_other" }, { "key": "chk_none", "text": "None", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ], "v_required": { From 7df4ad7f2e509d795890f9cf0a2e327842202e4c Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 18 Jan 2022 10:19:06 +0300 Subject: [PATCH 199/915] Refactored and fixed ANC forms --- .../json.form-sw/anc_hv_counselling.json | 36 +-- .../json.form-sw/anc_hv_danger_signs.json | 34 +-- .../json.form-sw/anc_hv_family_planning.json | 6 +- .../anc_hv_health_facility_visit.json | 237 +++--------------- .../assets/json.form-sw/anc_hv_malaria.json | 14 +- .../json.form-sw/anc_hv_nutrition_status.json | 8 +- .../json.form-sw/anc_hv_observations.json | 20 +- .../anc_hv_remarks_and_comments.json | 2 +- .../json.form-sw/anc_member_registration.json | 72 ++---- .../json.form-sw/anc_pregnancy_outcome.json | 70 +++--- .../referrals/anc_referral_form.json | 72 +++--- .../assets/json.form/anc_hv_counselling.json | 36 +-- .../assets/json.form/anc_hv_danger_signs.json | 34 +-- .../json.form/anc_hv_family_planning.json | 6 +- .../anc_hv_health_facility_visit.json | 8 +- .../ba/assets/json.form/anc_hv_malaria.json | 12 +- .../json.form/anc_hv_nutrition_status.json | 8 +- .../assets/json.form/anc_hv_observations.json | 16 +- .../anc_hv_remarks_and_comments.json | 2 +- .../json.form/anc_member_registration.json | 38 +-- .../json.form/anc_pregnancy_outcome.json | 70 +++--- .../referrals/anc_referral_form.json | 72 +++--- 22 files changed, 340 insertions(+), 533 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json index d3245f8b91..6597f91eb4 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json @@ -53,7 +53,7 @@ "key": "counselling_given", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "counselling_given", "type": "check_box", "label": "Ushauri nasaa uliotolewa kwa mama na wanafamilia", "label_text_style": "normal", @@ -67,119 +67,119 @@ "text": "1. Kuhudhuria kliniki ya wajawazito mapema", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161013AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_attended_anc_contacts" }, { "key": "chk_anc_danger_signs", "text": "2. Dalili za hatari wakati wa ujauzito", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_anc_danger_signs" }, { "key": "chk_maternal_nutrition", "text": "3. Lishe kwa mama wakati wa ujauzito na kunyonyesha", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_maternal_nutrition" }, { "key": "chk_personal_delivery", "text": "4. Mpango binafsi wa kujifungua", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_personal_delivery" }, { "key": "chk_hiv_aids", "text": "5. Umuhimu wa kupata ushauri nasaha na kupima VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_hiv_aids" }, { "key": "chk_pmtct_for_mother", "text": "6. Kuzuia mambukizi ya VVU kutoka kwa mama kwenda kwa mtoto", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_pmtct_for_mother" }, { "key": "chk_preventing_malaria", "text": "7. Kuzuia malaria kwa wajawazito", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_preventing_malaria" }, { "key": "chk_physical_changes", "text": "8. Mabadiliko ya kimwili kwa mama aliyejifungua", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_physical_changes" }, { "key": "chk_pnc_danger_signs", "text": "10. Dalili za hatari mara baada ya kujifungua hadi arobaini ya uzazi", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_pnc_danger_signs" }, { "key": "chk_care_of_infant", "text": "11. Huduma kwa mtoto mchanga mara baada ya kuzaliwa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_care_of_infant" }, { "key": "chk_infant_danger_signs", "text": "14. Dalili za hatari kwa mtoto mchanga", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_infant_danger_signs" }, { "key": "chk_hiv_exposed_infant", "text": "15. Ufuatiliaji wa mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_hiv_exposed_infant" }, { "key": "chk_breastfeeding", "text": "16. Unyonyeshaji wa maziwa ya mama", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_breastfeeding" }, { "key": "chk_exclusive_breast_feeding ", "text": "17. Njia ya uzazi wa mpango ya unyonyeshaji maziwa ya mama pekee kwa kipindi cha miezi sita baada ya kujifungua (LAM)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_exclusive_breast_feeding" }, { "key": "chk_family_planning", "text": "18. Uzazi wa mpango", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_family_planning" }, { "key": "chk_infection_prevention", "text": "24. Kuzuia maambukizi katika jamii", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_infection_prevention" }, { "key": "chk_none", "text": "Hajatoa ushauri", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ], "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json index 13ee312fc9..87a7ca2045 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json @@ -53,7 +53,7 @@ "key": "danger_signs_present", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "danger_signs_present", "type": "check_box", "label": "Je, mama ana dalili zozote za hatari wakati wa ujauzito?", "label_text_style": "normal", @@ -67,91 +67,91 @@ "text": "Homa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_fever" }, { "key": "chk_bleeding_vaginally", "text": "Damu kutoka ukeni", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_bleeding_vaginally" }, { "key": "chk_server_headache", "text": "Maumivu ya kichwa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_server_headache" }, { "key": "chk_blurred_vision", "text": "Kutoona vizuri", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_blurred_vision" }, { "key": "chk_convulsions", "text": "Degedege/Mtukutiko wa mwili", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_convulsions" }, { "key": "chk_difficulty_breathing", "text": "Kushindwa kupumua", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_difficulty_breathing" }, { "key": "chk_severe_abdominal_pain", "text": "Maumivu makali ya tumbo", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_severe_abdominal_pain" }, { "key": "chk_loss_consciousness", "text": "Kupoteza fahamu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "135592AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_loss_consciousness" }, { "key": "chk_swelling", "text": "Kuvimba uso na / au mikonos", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_swelling" }, { "key": "chk_early_labour", "text": "Kupata uchungu mapema kabla ya miezi tisa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "151687AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_early_labour" }, { "key": "chk_vaginal_discharge", "text": "Kutoka uchafu / majimaji ukeni yenye harufu mbaya", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_vaginal_discharge" }, { "key": "chk_unusual_movement", "text": "Kutocheza / kucheza kusiko kwa kawaida kwa mtoto aliye tumboni", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_unusual_movement" }, { "key": "chk_none", "text": "Hakuna", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ], "v_required": { @@ -195,7 +195,7 @@ "key": "danger_signs_counseling", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "165310AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "danger_signs_counseling", "openmrs_data_type": "select one", "type": "spinner", "label_info_title": "Je, mama alipewa ushauri kuhusu dalili za hatari wakati wa ujauzito kwenye kituo cha kutolea huduma za afya?", @@ -210,8 +210,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1267AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1118AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json index 29e3070127..fc7a7fe299 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json @@ -53,7 +53,7 @@ "key": "fam_planning", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "fam_planning", "openmrs_data_type": "select one", "type": "spinner", "hint": "Je, mama ameshauriwa kuhusu uzazi wa mpango alipohudhuria kituoni?", @@ -66,8 +66,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json index 3b776cae3d..b0f6e1b5e0 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json @@ -53,7 +53,7 @@ "key": "anc_hf_visit", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1889AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "anc_hf_visit", "openmrs_data_type": "select one", "label_info_title": "Je, mama amehudhuria kliniki ya wajawazito hudhurio la {0} katika kituo cha kutolea huduma za afya?", "label_info_text": "Je, mama amehudhuria kliniki ya wajawazito hudhurio la katika kituo cha kutolea huduma za afya?", @@ -68,8 +68,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -80,7 +80,7 @@ "key": "anc_hf_visit_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159590AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "anc_hf_visit_date", "openmrs_data_type": "text", "type": "date_picker", "label": "Tarehe ya hudhurio la kliniki ya wajawazito", @@ -100,228 +100,69 @@ } }, { - "key": "anc_hf_next_visit_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "anc_hf_next_visit_date", - "type": "spacer" - }, - { - "key": "tests_done", + "key": "reason_for_missed_visit", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Vipimo vilivyofanyika", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" + "openmrs_entity_id": "reason_for_missed_visit", + "type": "spinner", + "hint": "Reason for missed facility visit", + "values": [ + "Fear to disclose her pregnancy", + "She forgot the appointment date", + "She did not have transport fare", + "She was not feeling well", + "Other" ], - "options": [ - { - "key": "chk_haemoglobin", - "text": "Wingi wa damu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "21AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_urine_analysis_uti", - "text": "Kipimo cha maambukizi kwenye njia ya mkojo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_urine_analysis_protein", - "text": "Kipimo cha kuangalia uwepo wa protini na sukari kwenye mkojo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1875AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_hiv", - "text": "Kipimo cha VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1356AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_syphilis", - "text": "Kipimo cha kaswende", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "299AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_malaria", - "text": "Kipimo cha malaria", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_tb", - "text": "Uchunguzi wa kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164800AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_other", - "text": "Vipimo vingine", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_none", - "text": "Vipimo havijafanyika", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } + "keys": [ + "fear_to_disclose_her_pregnancy", + "she_forgot_the_appointment_date", + "she_did_not_have_transport_fare", + "she_was_not_feeling_well", + "other" ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau chaguo moja" + "openmrs_choice_ids": { + "fear_to_disclose_her_pregnancy": "fear_to_disclose_her_pregnancy", + "she_forgot_the_appointment_date": "she_forgot_the_appointment_date", + "she_did_not_have_transport_fare": "she_did_not_have_transport_fare", + "she_was_not_feeling_well": "she_was_not_feeling_well", + "other": "other" }, - "relevance": { - "step1:anc_hf_visit": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - }, - { - "key": "imm_medicine_given", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1767AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Chanjo na dawa alizopata", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_tetanus", - "text": "Chanjo ya pepopunda", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_malaria", - "text": "Tiba kinga ya malaria wakati wa ujauzito (IPTp-SP)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "105232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_iron", - "text": "Dawa za kuongeza damu (FEFO)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "773AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_albendazole", - "text": "Albendazole / Medandozle", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "159922AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_calcuim", - "text": "Calcium supplement", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "72650AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_other", - "text": "Dawa nyingine au chanjo nyingine", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_none", - "text": "Hajapewa dawa au chanjo yoyote", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - ], "v_required": { "value": "true", - "err": "Tafadhali chagua angalau chaguo moja" + "err": "Please select a reason" }, "relevance": { "step1:anc_hf_visit": { "type": "string", - "ex": "equalTo(., \"Yes\")" + "ex": "equalTo(., \"No\")" } } }, { - "key": "other_imm_medicine_given", + "key": "other_reason_missed_visit", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "other_reason_missed_visit", "type": "edit_text", - "hint": "Dawa au chanjo nyingine", + "hint": "Other reason for missed facility visit", + "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali ingiza chanjo au dawa nyingine" + "err": "Please enter other reason" }, "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_hv_health_facility_visit.yml" - } + "step1:reason_for_missed_visit": { + "type": "string", + "ex": "equalTo(., \"other\")" } } }, { - "key": "llin_given", + "key": "anc_hf_next_visit_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159855AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, mama alipata chandarua chenye viuwatilifu katika hudhurio la kwanza katika kituo cha kutolea huduma za afya?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo angalau moja" - }, - "relevance": { - "step1:anc_hf_visit": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - }, - "rules-engine": { - "ex-rules": { - "rules-file": "anc_hv_health_facility_visit.yml" - } - } - } + "openmrs_entity_id": "anc_hf_next_visit_date", + "type": "spacer" }, { "key": "confirmed_visits", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json index 0c06e1a88d..90e63b4598 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json @@ -66,8 +66,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -91,8 +91,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -118,12 +118,12 @@ "Mbovu" ], "keys": [ - "Okay", + "Good", "Bad" ], "openmrs_choice_ids": { - "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Good": "Good", + "Bad": "Bad" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json index 19cf849fc7..d934643339 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json @@ -53,7 +53,7 @@ "key": "nutrition_status", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "nutrition_status", "openmrs_data_type": "select one", "type": "spinner", "hint": "Je, hali ya lishe ya mama ikoje?", @@ -68,9 +68,9 @@ "Severe" ], "openmrs_choice_ids": { - "Normal": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Moderate": "1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Normal": "Normal", + "Moderate": "Moderate", + "Severe": "Severe" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json index 3d710b6d9d..42c535662d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json @@ -53,7 +53,7 @@ "key": "date_of_illness", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "date_of_illness", "type": "date_picker", "hint": "Tarehe", "expanded": false, @@ -68,7 +68,7 @@ "key": "illness_description", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "illness_description", "type": "edit_text", "hint": "Maelezo", "v_required": { @@ -80,7 +80,7 @@ "key": "action_taken", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "action_taken", "type": "check_box", "label": "Hatua zilizochukuliwa", "label_text_style": "normal", @@ -94,42 +94,42 @@ "text": "ORS 5", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_ors" }, { "key": "chk_zinc", "text": "Zinc 10", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_zinc" }, { "key": "chk_paracetamol", "text": "Panadol", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_paracetamol" }, { "key": "chk_referred", "text": "Amepewa rufaa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_referred" }, { "key": "chk_other_treatment", "text": "Matibabu mengine", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_other_treatment" }, { "key": "chk_none", "text": "Hajapewa matibabu yoyote", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ] }, @@ -137,7 +137,7 @@ "key": "other_treatment_illness", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "other_treatment_illness", "type": "edit_text", "hint": "Matibabu mengine", "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json index f21ae1b0a2..3ccff99651 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json @@ -53,7 +53,7 @@ "key": "chw_comment_anc", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "161011AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "chw_comment_anc", "type": "edit_text", "hint": "Toa maoni", "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json index b85e072582..65b9a36507 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json @@ -60,7 +60,7 @@ "key": "last_menstrual_period", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "last_menstrual_period", "type": "date_picker", "hint": "Tarehe ya kwanza ya hedhi ya kawaida ya mwisho (LNMP)", "label_info_title": "LMP", @@ -107,7 +107,7 @@ "key": "edd", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "edd", "type": "date_picker", "hint": "Tarehe ya kutarijia kujifungua (EDD)", "max_date": "today+50w", @@ -167,7 +167,7 @@ "key": "gest_age", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1438AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "gest_age", "type": "hidden", "calculation": { "rules-engine": { @@ -202,7 +202,7 @@ "key": "gravida", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "5624AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "gravida", "type": "hidden", "calculation": { "rules-engine": { @@ -216,7 +216,7 @@ "key": "delivery_method", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "delivery_method", "type": "check_box", "label": "Je, umejifungua mtoto/watoto kwa njia ya kawaida au kwa njia ya upasuaji?", "label_text_style": "normal", @@ -234,21 +234,21 @@ "text": "Njia ya kawaida", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_vaginally" }, { "key": "chk_cesarean_section", "text": "Njia ya upasuaji", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cesarean_section" }, { "key": "chk_miscarriage", "text": "Mimba kuharibika", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_miscarriage" } ], "v_required": { @@ -260,7 +260,7 @@ "key": "delivery_method_one", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "delivery_method_one", "type": "native_radio", "label": "Je, umejifungua mtoto/watoto kwa njia ya kawaida au kwa njia ya upasuaji?", "label_text_style": "normal", @@ -278,21 +278,21 @@ "text": "Njia ya kawaida", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_vaginally" }, { "key": "chk_cesarean_section", "text": "Njia ya upasuaji", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cesarean_section" }, { "key": "chk_miscarriage", "text": "Mimba kuharibika", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_miscarriage" } ], "v_required": { @@ -304,7 +304,7 @@ "key": "no_surv_children", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "164894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "no_surv_children", "type": "edit_text", "edit_type": "number", "hint": "Idadi ya watoto walio hai", @@ -328,45 +328,11 @@ "err": "Idadi ya watoto lazima iwe sawa au kubwa kuliko 0" } }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Hali ya ndoa", - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "values": [ - "Ameolewa", - "Anaishi na mwenza", - "Hajaolewa", - "Ameachika", - "Mjane" - ], - "keys": [ - "Married", - "Co-habiting", - "Single", - "Divorced", - "Widowed" - ], - "openmrs_choice_ids": { - "Married": "5555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Co-habiting": "1060AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Single": "5615AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Divorced": "1058AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Widowed": "1059AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - }, { "key": "phone_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "phone_number", "type": "edit_text", "hint": "Namba ya simu", "v_required": { @@ -385,7 +351,7 @@ "key": "person_assist", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159771AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "person_assist", "openmrs_data_type": "select one", "type": "spinner", "hint": "Je, mama ana mwenza/ndugu wa karibu wa umri kuanzia miaka 18 na zaidi ambae ataweza kumsaidia wakati wa ujauzito?", @@ -402,15 +368,15 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" } }, { "key": "name_person_assist", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160638AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "name_person_assist", "type": "edit_text", "hint": "Jina la mwenza/ndugu wa karibu anayeishi naye mwenye umri kuanzia miaka 18 na zaidi", "edit_type": "name", @@ -430,7 +396,7 @@ "key": "phone_person_assist", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160642AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "phone_person_assist", "type": "edit_text", "hint": "Phone number", "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json index 9f31ae35bd..806416ba3f 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json @@ -62,7 +62,7 @@ "key": "preg_outcome", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "161033AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "preg_outcome", "type": "native_radio", "label": "Matokeo ya ujauzito", "label_text_style": "bold", @@ -73,7 +73,7 @@ "text": "Mtoto amezaliwa hai", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "151849AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "born_alive", "openmrs_entity_parent": "" }, { @@ -81,7 +81,7 @@ "text": "Mtoto amezaliwa hai, lakini akafariki", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164816AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "born_alive_died", "openmrs_entity_parent": "" }, { @@ -89,7 +89,7 @@ "text": "Mtoto amezaliwa mfu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "125872AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "still_born", "openmrs_entity_parent": "" }, { @@ -97,7 +97,7 @@ "text": "Mtoto amezaliwa hai, lakini ana shida (mf. ulemavu, kupumua kwa shida, nk.)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161599AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "alive_with_problem", "openmrs_entity_parent": "" }, { @@ -105,7 +105,7 @@ "text": "Mimba kuharibika", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "48AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "miscarriage", "openmrs_entity_parent": "" } ], @@ -118,7 +118,7 @@ "key": "miscarriage_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "165248AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "miscarriage_date", "type": "date_picker", "hint": "Tarehe ya kuharibika mimba", "expanded": false, @@ -139,7 +139,7 @@ "key": "delivery_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "5599AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "delivery_date", "type": "date_picker", "hint": "Tarehe ya kujifungua", "expanded": false, @@ -160,14 +160,14 @@ "key": "no_children", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "164894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "no_children", "type": "hidden" }, { "key": "delivery_place", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1572AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "delivery_place", "openmrs_data_type": "select one", "type": "spinner", "hint": "Mahali alipojifungulia mama", @@ -184,10 +184,10 @@ "Other" ], "openmrs_choice_ids": { - "At Home": "1536AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "At a health facility": "1588AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "On the way to the health facility": "1601AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "At Home": "At home", + "At a health facility": "At a health facility", + "On the way to the health facility": "On the way to the health facility", + "Other": "Other" }, "v_required": { "value": "true", @@ -205,7 +205,7 @@ "key": "delivery_home", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1573AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "delivery_home", "type": "native_radio", "label": "Je, nani amemsaidia kujifungulia nyumbani?", "label_text_style": "bold", @@ -228,7 +228,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "gave_birth_alone" }, { "key": "gave_birth_with_help", @@ -236,7 +236,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "gave_birth_with_help" }, { "key": "midwife_help", @@ -244,7 +244,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "125872AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "midwife_help" } ] }, @@ -252,7 +252,7 @@ "key": "delivery_hf", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159771AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "delivery_hf", "type": "native_radio", "label": "Amejifungua kwenye kituo cha kutolea huduma ya afya. Je, amesindikizwa na nani?", "label_text_style": "bold", @@ -275,7 +275,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "969AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "facility_family_member" }, { "key": "facility_midwife", @@ -283,7 +283,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "facility_midwife" }, { "key": "alone", @@ -291,7 +291,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "alone" }, { "key": "other_pple", @@ -299,7 +299,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1582AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "other_pple" }, { "key": "other_chw", @@ -307,7 +307,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "other_chw" } ] }, @@ -458,7 +458,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159522AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "disabilities", "type": "spinner", "hint": "Ulemavu", "values": [ @@ -470,8 +470,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -482,7 +482,7 @@ "key": "type_of_disability", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "type_of_disability", "type": "edit_text", "hint": "Aina ya ulemavu", "edit_type": "name", @@ -498,7 +498,7 @@ "key": "early_bf_1hr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "164819AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "early_bf_1hr", "type": "spinner", "hint": "Unyonyeshaji wa mtoto ndani ya saa moja baada ya kujifungua?", "values": [ @@ -510,15 +510,15 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" } }, { "key": "vacc_birth", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "vacc_birth", "type": "check_box", "label": "Chanjo gani alizopata mtoto?", "label_text_style": "normal", @@ -532,21 +532,21 @@ "text": "Hajapata chanjo", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" }, { "key": "chk_opv_0", "text": "OPV 0", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_opv_0" }, { "key": "chk_bcg", "text": "BCG", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_bcg" } ], "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json index 7b9454a3b3..d6e113a927 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json @@ -65,7 +65,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "problem" }, "options": [ { @@ -73,7 +73,7 @@ "text": "Kutoka damu ukeni", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Vaginal_bleeding", "openmrs_entity_parent": "" } }, @@ -82,7 +82,7 @@ "text": "Kutoka uchafu / majimaji ukeni yenye harufu mbaya", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", "openmrs_entity_parent": "" } }, @@ -91,7 +91,7 @@ "text": "Shinikizo la damue", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "113088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "High_blood_pressure", "openmrs_entity_parent": "" } }, @@ -100,7 +100,7 @@ "text": "Maumivu makali ya tumbo", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Severe_abdominal_pain", "openmrs_entity_parent": "" } }, @@ -109,7 +109,7 @@ "text": "Upungufu mkubwa wa damu", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Severe_anaemia", "openmrs_entity_parent": "" } }, @@ -118,7 +118,7 @@ "text": "Degedege / Mtukutiko wa mwili", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Convulsions", "openmrs_entity_parent": "" } }, @@ -127,7 +127,7 @@ "text": "Kutocheza / kucheza kusiko kwa kawaida kwa mtoto aliye tumboni", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "No_movement_unusual_movement_for_a_child_in_the_womb", "openmrs_entity_parent": "" } }, @@ -136,7 +136,7 @@ "text": "Uchungu kuanza mapema kabla ya mimba kufikia miezi 9", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "153316AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Pregnancy_pains_before_9_months", "openmrs_entity_parent": "" } }, @@ -145,7 +145,7 @@ "text": "Kupata mimba katika umri mdogo (chini ya umri wa miaka 18)", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "163119AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Early_age_pregnancy_below_18_years", "openmrs_entity_parent": "" } }, @@ -154,7 +154,7 @@ "text": "Maumivu makali ya kichwa / kizunguzungu", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "A_severe_headache_dizziness", "openmrs_entity_parent": "" } }, @@ -163,7 +163,7 @@ "text": "Kuvimba uso na / au mikono", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Swelling_of_the_face_andor_hands", "openmrs_entity_parent": "" } }, @@ -172,7 +172,7 @@ "text": "Homa", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Fever", "openmrs_entity_parent": "" } }, @@ -181,7 +181,7 @@ "text": "Kutetemeka", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Shivering_trembling", "openmrs_entity_parent": "" } }, @@ -190,7 +190,7 @@ "text": "Kichefuchefu na kutapika", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "133473AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Nausea_and_Vomiting", "openmrs_entity_parent": "" } }, @@ -199,7 +199,7 @@ "text": "Chupa kupasuka mapema kabla ya uchungu", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "129211AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Water_sack_broke_before_contractions", "openmrs_entity_parent": "" } }, @@ -208,7 +208,7 @@ "text": "Kutangulia kitovu cha mtoto", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "128419AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Cord_prolapse", "openmrs_entity_parent": "" } }, @@ -217,7 +217,7 @@ "text": "Huduma za wateja / wagonjwa wanaoishi na VVU", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "HIV_care_and_support_services", "openmrs_entity_parent": "" } }, @@ -226,7 +226,7 @@ "text": "Huduma za uzazi wa mpango", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Family_planning_services", "openmrs_entity_parent": "" } }, @@ -235,7 +235,7 @@ "text": "Huduma ya kuzuia maambukizi ya VVU toka kwa mama kwenda kwa mtoto", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "PMTCT_for_mothers", "openmrs_entity_parent": "" } }, @@ -244,7 +244,7 @@ "text": "Fistula", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Fistula", "openmrs_entity_parent": "" } }, @@ -253,7 +253,7 @@ "text": "Kupumua kwa shida", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Difficultly_breathing", "openmrs_entity_parent": "" } }, @@ -262,7 +262,7 @@ "text": "Kujaa au maumivu ya matiti, chuchu na kushindwa kunyonyesha", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Breast_engorgement", "openmrs_entity_parent": "" } }, @@ -271,7 +271,7 @@ "text": "Kuona kwa shida", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Blurred_vision", "openmrs_entity_parent": "" } }, @@ -280,7 +280,7 @@ "text": "Kuchanika msamba", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Perineum_tear", "openmrs_entity_parent": "" } }, @@ -289,7 +289,7 @@ "text": "Kuhakiki uja-uzito", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "152305AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Pregnancy_confirmation", "openmrs_entity_parent": "" } }, @@ -298,7 +298,7 @@ "text": "Dalili nyingine", "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Other_symptoms", "openmrs_entity_parent": "" } } @@ -316,8 +316,8 @@ "type": "text_input_edit_text", "metadata": { "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" }, "properties": { "hint": "Dalili nyingine" @@ -330,7 +330,7 @@ "metadata": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "service_before_referral" }, "type": "multi_choice_checkbox", "properties": { @@ -342,7 +342,7 @@ "text": "ORS", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "ORS", "openmrs_entity_parent": "" } }, @@ -351,7 +351,7 @@ "text": "Panadol", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Panadol", "openmrs_entity_parent": "" } }, @@ -360,7 +360,7 @@ "text": "Matibabu mengine", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Other_treatment", "openmrs_entity_parent": "" } }, @@ -370,7 +370,7 @@ "is_exclusive": true, "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "None", "openmrs_entity_parent": "" } } @@ -382,8 +382,8 @@ "type": "text_input_edit_text", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "service_before_referral_other", + "openmrs_entity_parent": "service_before_referral" }, "properties": { "hint": "Matibabu mengine" diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_counselling.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_counselling.json index 931a74fa1a..99046d4865 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_counselling.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_counselling.json @@ -53,7 +53,7 @@ "key": "counselling_given", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "counselling_given", "type": "check_box", "label": "Counselling provided to the mother and family members ", "label_text_style": "normal", @@ -67,119 +67,119 @@ "text": "1. Attend ANC clinic early", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161013AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_attended_anc_contacts" }, { "key": "chk_anc_danger_signs", "text": "2. Pregnancy danger signs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_anc_danger_signs" }, { "key": "chk_maternal_nutrition", "text": "3. Maternal nutrition during pregnancy and breast feeding", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_maternal_nutrition" }, { "key": "chk_personal_delivery", "text": "4. Personal delivery plan", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_personal_delivery" }, { "key": "chk_hiv_aids", "text": "5. HIV/AIDS general information", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_hiv_aids" }, { "key": "chk_pmtct_for_mother", "text": "6. PMTCT for the mother", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_pmtct_for_mother" }, { "key": "chk_preventing_malaria", "text": "7. Preventing malaria for pregnant mothers", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_preventing_malaria" }, { "key": "chk_physical_changes", "text": "8. Physical changes for a mother after giving birth", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_physical_changes" }, { "key": "chk_pnc_danger_signs", "text": "9. PNC danger signs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_pnc_danger_signs" }, { "key": "chk_care_of_infant", "text": "10. Care of infant after birth", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_care_of_infant" }, { "key": "chk_infant_danger_signs", "text": "11. Infant danger signs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_infant_danger_signs" }, { "key": "chk_hiv_exposed_infant", "text": "12. Follow-up for the HIV-exposed infant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_hiv_exposed_infant" }, { "key": "chk_breastfeeding", "text": "13. Breastfeeding", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_breastfeeding" }, { "key": "chk_exclusive_breast_feeding ", "text": "14. Plan for family planning using exclusive breast feeding for 6 months after birth", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_exclusive_breast_feeding" }, { "key": "chk_family_planning", "text": "15. Family planning", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_family_planning" }, { "key": "chk_infection_prevention", "text": "16. Infection prevention and control", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_infection_prevention" }, { "key": "chk_none", "text": "None", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ], "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json index d6e16db770..cfee3feb59 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json @@ -53,7 +53,7 @@ "key": "danger_signs_present", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "danger_signs_present", "type": "check_box", "label": "Does the mother have any danger signs?", "label_text_style": "normal", @@ -67,91 +67,91 @@ "text": "Fever", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_fever" }, { "key": "chk_bleeding_vaginally", "text": "Bleeding vaginally", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_bleeding_vaginally" }, { "key": "chk_server_headache", "text": "Severe headache", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_server_headache" }, { "key": "chk_blurred_vision", "text": "Blurred vision", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_blurred_vision" }, { "key": "chk_convulsions", "text": "Convulsions", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_convulsions" }, { "key": "chk_difficulty_breathing", "text": "Difficulty breathing", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_difficulty_breathing" }, { "key": "chk_severe_abdominal_pain", "text": "Severe abdominal pain", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_severe_abdominal_pain" }, { "key": "chk_loss_consciousness", "text": "Loss of consciousness", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "135592AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_loss_consciousness" }, { "key": "chk_swelling", "text": "Swelling of the face and/or hands", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_swelling" }, { "key": "chk_early_labour", "text": "Early labour pains before 9 months", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "151687AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_early_labour" }, { "key": "chk_vaginal_discharge", "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_vaginal_discharge" }, { "key": "chk_unusual_movement", "text": "No movement / unusual movement for a child in the womb", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_unusual_movement" }, { "key": "chk_none", "text": "None", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ], "v_required": { @@ -195,7 +195,7 @@ "key": "danger_signs_counseling", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "165310AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "danger_signs_counseling", "openmrs_data_type": "select one", "type": "spinner", "label_info_title": "Did the mother receive counselling", @@ -210,8 +210,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1267AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1118AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json index 0fbda7e7e1..fdbc7b96ee 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json @@ -53,7 +53,7 @@ "key": "fam_planning", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "fam_planning", "openmrs_data_type": "select one", "type": "spinner", "hint": "Was the mother advised on family planning when you visited the health visit?", @@ -66,8 +66,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json index be3324bff5..e94434a07d 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json @@ -53,7 +53,7 @@ "key": "anc_hf_visit", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1889AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "anc_hf_visit", "openmrs_data_type": "select one", "label_info_title": "Did the woman attend her ANC {0} visit at the health facility?", "label_info_text": "Did the woman attend her ANC visit at the health facility?", @@ -64,8 +64,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -76,7 +76,7 @@ "key": "anc_hf_visit_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159590AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "anc_hf_visit_date", "openmrs_data_type": "text", "type": "date_picker", "label": "ANC visit date", diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json index a1323fed33..b8132775b6 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json @@ -66,8 +66,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -91,8 +91,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -122,8 +122,8 @@ "Bad" ], "openmrs_choice_ids": { - "Good": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Good": "Good", + "Bad": "Bad" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_nutrition_status.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_nutrition_status.json index 5bead34fb4..5e69f5da23 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_nutrition_status.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_nutrition_status.json @@ -53,7 +53,7 @@ "key": "nutrition_status", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "nutrition_status", "openmrs_data_type": "select one", "type": "spinner", "hint": "What is the nutrition status of the mother?", @@ -68,9 +68,9 @@ "Severe" ], "openmrs_choice_ids": { - "Normal": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Moderate": "1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Normal": "Normal", + "Moderate": "Moderate", + "Severe": "Severe" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_observations.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_observations.json index 2e26ddbd20..b588f4fe80 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_observations.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_observations.json @@ -53,7 +53,7 @@ "key": "date_of_illness", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "date_of_illness", "type": "date_picker", "hint": "Date ", "expanded": false, @@ -68,7 +68,7 @@ "key": "illness_description", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "illness_description", "type": "edit_text", "hint": "Description", "v_required": { @@ -80,7 +80,7 @@ "key": "action_taken", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "action_taken", "type": "check_box", "label": "Action taken", "label_text_style": "normal", @@ -94,35 +94,35 @@ "text": "ORS 5", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_ors" }, { "key": "chk_zinc", "text": "Zinc 10", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_zinc" }, { "key": "chk_paracetamol", "text": "Panadol", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_paracetamol" }, { "key": "chk_referred", "text": "Referred", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_referred" }, { "key": "chk_none", "text": "No treatment given", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ], "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_remarks_and_comments.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_remarks_and_comments.json index 035eb693eb..f899d29054 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_remarks_and_comments.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_remarks_and_comments.json @@ -53,7 +53,7 @@ "key": "chw_comment_anc", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "161011AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "chw_comment_anc", "type": "edit_text", "hint": "Remarks/Comments", "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json b/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json index c0f8a55e8c..ca6d81f2dc 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json @@ -60,7 +60,7 @@ "key": "last_menstrual_period", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "last_menstrual_period", "type": "date_picker", "hint": "Last Normal Menstrual Period (LNMP)", "label_info_title": "LNMP", @@ -107,7 +107,7 @@ "key": "edd", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "edd", "type": "date_picker", "hint": "Expected Date of Delivery (EDD)", "max_date": "today+50w", @@ -167,7 +167,7 @@ "key": "gest_age", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1438AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "gest_age", "type": "hidden", "calculation": { "rules-engine": { @@ -202,7 +202,7 @@ "key": "gravida", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "5624AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "gravida", "type": "hidden", "calculation": { "rules-engine": { @@ -216,7 +216,7 @@ "key": "delivery_method", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "delivery_method", "type": "check_box", "label": "Have you delivered your child(ren) vaginally or by cesarean section?", "label_text_style": "normal", @@ -234,21 +234,21 @@ "text": "Vaginally", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_vaginally" }, { "key": "chk_cesarean_section", "text": "Cesarean section", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cesarean_section" }, { "key": "chk_miscarriage", "text": "Miscarriage", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_miscarriage" } ], "v_required": { @@ -260,7 +260,7 @@ "key": "delivery_method_one", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "delivery_method_one", "type": "native_radio", "label": "Have you delivered your child(ren) vaginally or by cesarean section?", "label_text_style": "normal", @@ -278,21 +278,21 @@ "text": "Vaginally", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_vaginally" }, { "key": "chk_cesarean_section", "text": "Cesarean section", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cesarean_section" }, { "key": "chk_miscarriage", "text": "Miscarriage", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_miscarriage" } ], "v_required": { @@ -304,7 +304,7 @@ "key": "no_surv_children", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "164894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "no_surv_children", "type": "edit_text", "edit_type": "number", "hint": "No. of surviving children", @@ -332,7 +332,7 @@ "key": "phone_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "phone_number", "type": "edit_text", "hint": "Phone number", "v_numeric": { @@ -351,7 +351,7 @@ "key": "person_assist", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159771AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "person_assist", "openmrs_data_type": "select one", "type": "spinner", "hint": "Does the mother have anyone, 18 years or older, who would be able to assist her during her pregnancy?", @@ -368,15 +368,15 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" } }, { "key": "name_person_assist", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160638AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "name_person_assist", "type": "edit_text", "hint": "Name of close person/relative who lives with her and is 18 years or olders", "edit_type": "name", @@ -396,7 +396,7 @@ "key": "phone_person_assist", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160642AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "phone_person_assist", "type": "edit_text", "hint": "Phone number", "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/anc_pregnancy_outcome.json b/opensrp-chw/src/ba/assets/json.form/anc_pregnancy_outcome.json index b70fe8d922..5ddd5dc49c 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_pregnancy_outcome.json @@ -62,7 +62,7 @@ "key": "preg_outcome", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "161033AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "preg_outcome", "type": "native_radio", "label": "Pregnancy outcome", "label_text_style": "bold", @@ -73,7 +73,7 @@ "text": "Child was born alive", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "151849AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "born_alive", "openmrs_entity_parent": "" }, { @@ -81,7 +81,7 @@ "text": "Child was born alive, but died", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164816AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "born_alive_died", "openmrs_entity_parent": "" }, { @@ -89,7 +89,7 @@ "text": "Child was stillborn", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "125872AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "still_born", "openmrs_entity_parent": "" }, { @@ -97,7 +97,7 @@ "text": "Child was born alive, but they have a problem (i.e. disability, respiratory issues, etc.)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161599AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "alive_with_problem", "openmrs_entity_parent": "" }, { @@ -105,7 +105,7 @@ "text": "Miscarriage", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "48AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "miscarriage", "openmrs_entity_parent": "" } ], @@ -118,7 +118,7 @@ "key": "miscarriage_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "165248AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "miscarriage_date", "type": "date_picker", "hint": "Date of miscarriage", "expanded": false, @@ -139,7 +139,7 @@ "key": "delivery_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "5599AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "delivery_date", "type": "date_picker", "hint": "Delivery date", "expanded": false, @@ -160,14 +160,14 @@ "key": "no_children", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "164894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "no_children", "type": "hidden" }, { "key": "delivery_place", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1572AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "delivery_place", "openmrs_data_type": "select one", "type": "spinner", "hint": "The place the mother gave birth", @@ -184,10 +184,10 @@ "Other" ], "openmrs_choice_ids": { - "At home": "1536AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "At a health facility": "1588AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "On the way to the health facility": "1601AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "At home": "At home", + "At a health facility": "At a health facility", + "On the way to the health facility": "On the way to the health facility", + "Other": "Other" }, "v_required": { "value": "true", @@ -205,7 +205,7 @@ "key": "delivery_home", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1573AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "delivery_home", "type": "native_radio", "label": "Who helped the mother with a home delivery?", "label_text_style": "bold", @@ -228,7 +228,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "gave_birth_alone" }, { "key": "gave_birth_with_help", @@ -236,7 +236,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "gave_birth_with_help" }, { "key": "midwife_help", @@ -244,7 +244,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "125872AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "midwife_help" } ] }, @@ -252,7 +252,7 @@ "key": "delivery_hf", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159771AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "delivery_hf", "type": "native_radio", "label": "The mother gave birth in a health facility. Who accompanied the mother to the health facility?", "label_text_style": "bold", @@ -275,7 +275,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "969AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "facility_family_member" }, { "key": "facility_midwife", @@ -283,7 +283,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "facility_midwife" }, { "key": "alone", @@ -291,7 +291,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "alone" }, { "key": "other_pple", @@ -299,7 +299,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1582AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "other_pple" }, { "key": "other_chw", @@ -307,7 +307,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "other_chw" } ] }, @@ -458,7 +458,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159522AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "disabilities", "type": "spinner", "hint": "Physical disabilities", "values": [ @@ -470,8 +470,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -482,7 +482,7 @@ "key": "type_of_disability", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "type_of_disability", "type": "edit_text", "hint": "Type of physical disabilities", "edit_type": "name", @@ -498,7 +498,7 @@ "key": "early_bf_1hr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "164819AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "early_bf_1hr", "type": "spinner", "hint": "Early initiation of breastfeeding (1 hr)?", "values": [ @@ -510,15 +510,15 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" } }, { "key": "vacc_birth", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "vacc_birth", "type": "check_box", "label": "Which vaccinations were given?", "label_text_style": "normal", @@ -532,21 +532,21 @@ "text": "None", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" }, { "key": "chk_opv_0", "text": "OPV 0", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_opv_0" }, { "key": "chk_bcg", "text": "BCG", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_bcg" } ], "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json index 2c5744d09b..cf40d30037 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json @@ -65,7 +65,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "problem" }, "options": [ { @@ -73,7 +73,7 @@ "text": "Vaginal bleeding", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Vaginal_bleeding", "openmrs_entity_parent": "" } }, @@ -82,7 +82,7 @@ "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", "openmrs_entity_parent": "" } }, @@ -91,7 +91,7 @@ "text": "High blood pressure", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "113088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "High_blood_pressure", "openmrs_entity_parent": "" } }, @@ -100,7 +100,7 @@ "text": "Severe abdominal pain", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Severe_abdominal_pain", "openmrs_entity_parent": "" } }, @@ -109,7 +109,7 @@ "text": "Severe anaemia", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Severe_anaemia", "openmrs_entity_parent": "" } }, @@ -118,7 +118,7 @@ "text": "Convulsions", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Convulsions", "openmrs_entity_parent": "" } }, @@ -127,7 +127,7 @@ "text": "No movement / unusual movement for a child in the womb", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "No_movement_unusual_movement_for_a_child_in_the_womb", "openmrs_entity_parent": "" } }, @@ -136,7 +136,7 @@ "text": "Pregnancy pains before 9 months", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "153316AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Pregnancy_pains_before_9_months", "openmrs_entity_parent": "" } }, @@ -145,7 +145,7 @@ "text": "Early age pregnancy (below 18 years)", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "163119AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Early_age_pregnancy_below_18_years", "openmrs_entity_parent": "" } }, @@ -154,7 +154,7 @@ "text": "A severe headache / dizziness", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "A_severe_headache_dizziness", "openmrs_entity_parent": "" } }, @@ -163,7 +163,7 @@ "text": "Swelling of the face and/or hands", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Swelling_of_the_face_andor_hands", "openmrs_entity_parent": "" } }, @@ -172,7 +172,7 @@ "text": "Fever", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Fever", "openmrs_entity_parent": "" } }, @@ -181,7 +181,7 @@ "text": "Shivering/trembling", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Shivering_trembling", "openmrs_entity_parent": "" } }, @@ -190,7 +190,7 @@ "text": "Nausea and vomiting", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "133473AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Nausea_and_Vomiting", "openmrs_entity_parent": "" } }, @@ -199,7 +199,7 @@ "text": "Water sack broke before contractions", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "129211AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Water_sack_broke_before_contractions", "openmrs_entity_parent": "" } }, @@ -208,7 +208,7 @@ "text": "Cord prolapse", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "128419AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Cord_prolapse", "openmrs_entity_parent": "" } }, @@ -217,7 +217,7 @@ "text": "HIV care and support services", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "HIV_care_and_support_services", "openmrs_entity_parent": "" } }, @@ -226,7 +226,7 @@ "text": "Family planning services", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Family_planning_services", "openmrs_entity_parent": "" } }, @@ -235,7 +235,7 @@ "text": "PMTCT for mothers", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "PMTCT_for_mothers", "openmrs_entity_parent": "" } }, @@ -244,7 +244,7 @@ "text": "Fistula", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Fistula", "openmrs_entity_parent": "" } }, @@ -253,7 +253,7 @@ "text": "Difficultly breathing", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Difficultly_breathing", "openmrs_entity_parent": "" } }, @@ -262,7 +262,7 @@ "text": "Breast engorgement", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Breast_engorgement", "openmrs_entity_parent": "" } }, @@ -271,7 +271,7 @@ "text": "Blurred vision", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Blurred_vision", "openmrs_entity_parent": "" } }, @@ -280,7 +280,7 @@ "text": "Perineum tear", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Perineum_tear", "openmrs_entity_parent": "" } }, @@ -289,7 +289,7 @@ "text": "Pregnancy confirmation", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "152305AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Pregnancy_confirmation", "openmrs_entity_parent": "" } }, @@ -298,7 +298,7 @@ "text": "Other symptoms", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Other_symptoms", "openmrs_entity_parent": "" } } @@ -316,8 +316,8 @@ "type": "text_input_edit_text", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" }, "properties": { "hint": "Other symptoms", @@ -331,7 +331,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "service_before_referral" }, "type": "multi_choice_checkbox", "properties": { @@ -343,7 +343,7 @@ "text": "ORS", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "ORS", "openmrs_entity_parent": "" } }, @@ -352,7 +352,7 @@ "text": "Panadol", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Panadol", "openmrs_entity_parent": "" } }, @@ -361,7 +361,7 @@ "text": "Other treatment", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Other_treatment", "openmrs_entity_parent": "" } }, @@ -371,7 +371,7 @@ "is_exclusive": true, "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "None", "openmrs_entity_parent": "" } } @@ -383,8 +383,8 @@ "type": "text_input_edit_text", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "service_before_referral_other", + "openmrs_entity_parent": "service_before_referral" }, "properties": { "hint": "Other Treatment", From 92e9e429fbfd621125bd9d9597f6da2da4c4c506 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 18 Jan 2022 10:44:53 +0300 Subject: [PATCH 200/915] Refactored family forms and child enrollment form --- .../assets/json.form-sw/child_enrollment.json | 30 +++++------ .../json.form-sw/family_details_register.json | 4 +- .../json.form-sw/family_member_register.json | 50 ++++++++--------- .../assets/json.form-sw/family_register.json | 54 +++++++++---------- .../ba/assets/json.form/child_enrollment.json | 30 +++++------ .../json.form/family_details_register.json | 4 +- .../json.form/family_member_register.json | 48 ++++++++--------- .../ba/assets/json.form/family_register.json | 52 +++++++++--------- 8 files changed, 136 insertions(+), 136 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index 9be89aec1b..7fdc1938a9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -374,7 +374,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "disabilities", "type": "spinner", "hint": "Hali ya ulemavu", "values": [ @@ -386,8 +386,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -398,7 +398,7 @@ "key": "type_of_disability", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "type_of_disability", "type": "edit_text", "edit_type": "name", "hint": "Aina ya ulemavu", @@ -418,7 +418,7 @@ "key": "birth_cert_available", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "birth_cert_available", "type": "spinner", "hint": "Cheti cha kuzaliwa", "values": [ @@ -430,8 +430,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "relevance": { "rules-engine": { @@ -445,7 +445,7 @@ "key": "birth_regist_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162052AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "birth_regist_number", "type": "edit_text", "hint": "Namba ya cheti cha kuzaliwa", "relevance": { @@ -460,7 +460,7 @@ "key": "rhc_card", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "164147AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "rhc_card", "type": "spinner", "hint": "Je, mtoto ana RCH kadi namba moja/kitabu cha ukuaji wa mtoto?", "values": [ @@ -472,15 +472,15 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" } }, { "key": "nutrition_status", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163301AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "nutrition_status", "type": "spinner", "hint": "Hali ya lishe ya mtoto", "values": [ @@ -494,9 +494,9 @@ "Red" ], "openmrs_choice_ids": { - "Green": "160909AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Grey": "163639AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Red": "127778AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Green": "Green", + "Grey": "Grey", + "Red": "Red" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json index cf162dfed8..62baee0f69 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json @@ -110,7 +110,7 @@ "key": "gps", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "gps", "openmrs_data_type": "text", "type": "gps" }, @@ -118,7 +118,7 @@ "key": "nearest_facility", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "nearest_facility", "openmrs_data_type": "text", "type": "tree", "hint": "Kijiji/Mtaa", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 795cc5fd6d..dbee293a02 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -338,7 +338,7 @@ "key": "phone_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "phone_number", "type": "edit_text", "hint": "Namba ya simu", "v_numeric": { @@ -634,7 +634,7 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "preg_1yr", "type": "spinner", "hint": "Je, amejifungua ndani ya mwaka 1?", "values": [ @@ -646,8 +646,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -665,7 +665,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "disabilities", "type": "spinner", "hint": "Hali ya ulemavu", "values": [ @@ -677,8 +677,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -687,9 +687,9 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "disabilities", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "type_of_disability", "type": "edit_text", "hint": "Aina ya ulemavu", "v_required": { @@ -726,9 +726,9 @@ }, { "key": "other_phone_number", - "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "other_phone_number", "type": "edit_text", "hint": "Namba za simu nyingine", "v_numeric": { @@ -744,7 +744,7 @@ "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "service_provider", "type": "check_box", "label": "Aina ya kazi anayojishughulisha", "label_text_style": "normal", @@ -758,91 +758,91 @@ "text": "Mkulima", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_farmer" }, { "key": "chk_cs", "text": "Mtumishi wa serikali", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cs" }, { "key": "chk_nurse", "text": "Muuguzi", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_nurse" }, { "key": "chk_teacher", "text": "Mwalimu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_teacher" }, { "key": "chk_th", "text": "Waganga wa tiba asilia (THs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_th" }, { "key": "chk_chw", "text": "Wahudumu wa afya ngazi ya jamii–WAJA", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chw" }, { "key": "chk_tba", "text": "Wakunga wa jadi (TBAs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_tba" }, { "key": "chk_chmis", "text": "Wakusanyaji takwimu za afya katika jamii (cHIMS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chmis" }, { "key": "chk_cbd", "text": "Wasambazaji wa dawa na vifaa vya uzazi wa mpango katika jamii (CBD)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cbd" }, { "key": "chk_hbc", "text": "Watoa huduma kwa wagonjwa majumbani (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_hbc" }, { "key": "chk_cimmci", "text": "Watoa huduma za udhibiti wa magonjwa ya watoto kwa uwiano katika jamii (cIMCI)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cimmci" }, { "key": "chk_other", "text": "Nyingine", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_other" }, { "key": "chk_none", "text": "Hakuna", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ], "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 297aad39bb..03eef8de8e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -123,7 +123,7 @@ "key": "gps", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "gps", "openmrs_data_type": "text", "type": "gps" }, @@ -139,7 +139,7 @@ "key": "nearest_facility", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "nearest_facility", "openmrs_data_type": "text", "type": "tree", "hint": "Kijiji/Mtaa", @@ -393,7 +393,7 @@ "key": "phone_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "phone_number", "type": "edit_text", "hint": "Namba ya simu", "v_numeric": { @@ -679,7 +679,7 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "preg_1yr", "type": "spinner", "hint": "Je, amejifungua ndani ya mwaka 1?", "values": [ @@ -691,8 +691,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -710,7 +710,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "disabilities", "type": "spinner", "hint": "Hali ya ulemavu", "values": [ @@ -722,8 +722,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -732,9 +732,9 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "disabilities", "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "type_of_disability", "type": "edit_text", "hint": "Aina ya ulemavu", "v_required": { @@ -751,9 +751,9 @@ }, { "key": "other_phone_number", - "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "other_phone_number", "type": "edit_text", "hint": "Namba za simu nyingine", "v_numeric": { @@ -769,7 +769,7 @@ "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "service_provider", "type": "check_box", "label": "Aina ya kazi anayojishughulisha", "label_text_style": "normal", @@ -783,91 +783,91 @@ "text": "Mkulima", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_farmer" }, { "key": "chk_cs", "text": "Mtumishi wa serikali", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cs" }, { "key": "chk_nurse", "text": "Muuguzi", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_nurse" }, { "key": "chk_teacher", "text": "Mwalimu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_teacher" }, { "key": "chk_th", "text": "Waganga wa tiba asilia (THs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_th" }, { "key": "chk_chw", "text": "Wahudumu wa afya ngazi ya jamii–WAJA", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chw" }, { "key": "chk_tba", "text": "Wakunga wa jadi (TBAs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_tba" }, { "key": "chk_chmis", "text": "Wakusanyaji takwimu za afya katika jamii (cHIMS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chmis" }, { "key": "chk_cbd", "text": "Wasambazaji wa dawa na vifaa vya uzazi wa mpango katika jamii (CBD)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cbd" }, { "key": "chk_hbc", "text": "Watoa huduma kwa wagonjwa majumbani (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_hbc" }, { "key": "chk_cimmci", "text": "Watoa huduma za udhibiti wa magonjwa ya watoto kwa uwiano katika jamii (cIMCI)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cimmci" }, { "key": "chk_other", "text": "Nyingine", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_other" }, { "key": "chk_none", "text": "Hakuna", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ], "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json index 62f6c7c0e3..16420bc3a6 100644 --- a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json @@ -374,7 +374,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "disabilities", "type": "spinner", "hint": "Physical disabilities", "values": [ @@ -386,8 +386,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -396,7 +396,7 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "disabilities", "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", "type": "check_box", @@ -477,7 +477,7 @@ "key": "birth_cert_available", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "birth_cert_available", "type": "spinner", "hint": "Birth registration/certificate", "values": [ @@ -489,8 +489,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "relevance": { "rules-engine": { @@ -504,7 +504,7 @@ "key": "birth_regist_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162052AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "birth_regist_number", "type": "edit_text", "hint": "Birth registration number", "relevance": { @@ -519,7 +519,7 @@ "key": "rhc_card", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "164147AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "rhc_card", "type": "spinner", "hint": "Does the child have RCH card 1/child growth booklet?", "values": [ @@ -531,15 +531,15 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" } }, { "key": "nutrition_status", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163301AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "nutrition_status", "type": "spinner", "hint": "Nutrition status", "values": [ @@ -553,9 +553,9 @@ "Red" ], "openmrs_choice_ids": { - "Green": "160909AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Grey": "163639AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Red": "127778AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Green": "Green", + "Grey": "Grey", + "Red": "Red" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form/family_details_register.json b/opensrp-chw/src/ba/assets/json.form/family_details_register.json index 70d5c2cf42..747059dc6d 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_details_register.json @@ -110,7 +110,7 @@ "key": "gps", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "gps", "openmrs_data_type": "text", "type": "gps" }, @@ -118,7 +118,7 @@ "key": "nearest_facility", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "nearest_facility", "openmrs_data_type": "text", "type": "tree", "hint": "Village/Street", diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index 9f6fae0982..5e54513127 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -338,7 +338,7 @@ "key": "phone_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "phone_number", "type": "edit_text", "hint": "Phone number", "v_numeric": { @@ -634,7 +634,7 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "preg_1yr", "type": "spinner", "hint": "Has the woman delivered in the last 1 year?", "values": [ @@ -646,8 +646,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -665,7 +665,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "disabilities", "type": "spinner", "hint": "Physical disabilities", "values": [ @@ -677,8 +677,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -687,7 +687,7 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "disabilities", "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", "type": "check_box", @@ -786,9 +786,9 @@ }, { "key": "other_phone_number", - "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "other_phone_number", "type": "edit_text", "hint": "Other phone number", "v_numeric": { @@ -804,7 +804,7 @@ "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "service_provider", "type": "check_box", "label": "Occupation of the family member", "label_text_style": "normal", @@ -818,91 +818,91 @@ "text": "Farmer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_farmer" }, { "key": "chk_cs", "text": "Civil Servant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cs" }, { "key": "chk_nurse", "text": "Nurse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_nurse" }, { "key": "chk_teacher", "text": "Teacher", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_teacher" }, { "key": "chk_th", "text": "Traditional Healer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_th" }, { "key": "chk_chw", "text": "Community Health Worker (CHW)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chw" }, { "key": "chk_tba", "text": "Traditional Birth Attendant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_tba" }, { "key": "chk_chmis", "text": "Community HMIS (cHMIS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chmis" }, { "key": "chk_cbd", "text": "Community Based Distributor", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cbd" }, { "key": "chk_hbc", "text": "Home Based Care (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_hbc" }, { "key": "chk_cimmci", "text": "Community IMCI", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cimmci" }, { "key": "chk_other", "text": "Other", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_other" }, { "key": "chk_none", "text": "None", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ], "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index 46646bb455..a84d513ce0 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -157,7 +157,7 @@ "key": "gps", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "gps", "openmrs_data_type": "text", "type": "gps" }, @@ -173,7 +173,7 @@ "key": "nearest_facility", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "nearest_facility", "openmrs_data_type": "text", "type": "tree", "hint": "Village/Street", @@ -443,7 +443,7 @@ "key": "phone_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "phone_number", "type": "edit_text", "hint": "Phone number", "v_numeric": { @@ -729,7 +729,7 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "preg_1yr", "type": "spinner", "hint": "Has the woman delivered in the last 1 year?", "values": [ @@ -741,8 +741,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -760,7 +760,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "disabilities", "type": "spinner", "hint": "Physical disabilities", "values": [ @@ -772,8 +772,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -782,7 +782,7 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "disabilities", "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", "type": "check_box", @@ -861,9 +861,9 @@ }, { "key": "other_phone_number", - "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "other_phone_number", "type": "edit_text", "hint": "Other phone number", "v_numeric": { @@ -879,7 +879,7 @@ "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "service_provider", "type": "check_box", "label": "Occupation of the family head", "label_text_style": "normal", @@ -893,91 +893,91 @@ "text": "Farmer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_farmer" }, { "key": "chk_cs", "text": "Civil Servant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cs" }, { "key": "chk_nurse", "text": "Nurse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_nurse" }, { "key": "chk_teacher", "text": "Teacher", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_teacher" }, { "key": "chk_th", "text": "Traditional Healer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_th" }, { "key": "chk_chw", "text": "Community Health Worker (CHW)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chw" }, { "key": "chk_tba", "text": "Traditional Birth Attendant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_tba" }, { "key": "chk_chmis", "text": "Community HMIS (cHMIS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_chmis" }, { "key": "chk_cbd", "text": "Community Based Distributor", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cbd" }, { "key": "chk_hbc", "text": "Home Based Care (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_hbc" }, { "key": "chk_cimmci", "text": "Community IMCI", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_cimmci" }, { "key": "chk_other", "text": "Other", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_other" }, { "key": "chk_none", "text": "None", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_none" } ], "v_required": { From ce0c5a7d929ede5941350eaf9374f0c25999dd7f Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 18 Jan 2022 11:07:51 +0300 Subject: [PATCH 201/915] Refactored referral forms --- .../referrals/gbv_referral_form.json | 6 +++--- .../referrals/hiv_referral_form.json | 20 +++++++++---------- .../referrals/gbv_referral_form.json | 6 +++--- .../referrals/hiv_referral_form.json | 12 +++++------ .../referrals/hts_referral_form.json | 6 +++--- .../pregnancy_confirmation_referral_form.json | 4 ++-- 6 files changed, 27 insertions(+), 27 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json index 34b4e7626e..1247bc58f9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json @@ -64,7 +64,7 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "problem", "openmrs_entity_parent": "" }, "options": [ @@ -147,8 +147,8 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" }, "required_status": "true:Tafadhali jaza dalili nyingine", "subjects": "problem:map" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json index a71f16aca9..e79b7deb9c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json @@ -64,7 +64,7 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "problem", "openmrs_entity_parent": "" }, "options": [ @@ -131,8 +131,8 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" }, "required_status": "true:Tafadhali jaza dalili nyingine", "subjects": "problem:map" @@ -142,7 +142,7 @@ "type": "multi_choice_checkbox", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "service_before_referral", "openmrs_entity_parent": "" }, "properties": { @@ -153,8 +153,8 @@ "name": "Other_treatment", "text": "Matibabu mengine", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "Other_treatment", "openmrs_entity_parent": "" } }, @@ -163,8 +163,8 @@ "text": "Hajapewa matibabu yoyote", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -180,8 +180,8 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "service_before_referral_other", + "openmrs_entity_parent": "service_before_referral" }, "required_status": "true:Tafadhali taja matibabu mengine", "subjects": "service_before_referral:map" diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json index db7a630da9..2a614958a8 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json @@ -65,7 +65,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "problem" }, "options": [ { @@ -149,8 +149,8 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" }, "required_status": "true:Please specify other symptoms", "subjects": "problem:map" diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json index b1b45570ad..afad296b31 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json @@ -65,7 +65,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "problem" }, "options": [ { @@ -113,8 +113,8 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" }, "required_status": "true:Please specify other symptoms", "subjects": "problem:map" @@ -127,7 +127,7 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "service_before_referral", "openmrs_entity_parent": "" }, "options": [ @@ -180,8 +180,8 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "service_before_referral_other", + "openmrs_entity_parent": "service_before_referral" }, "required_status": "true:Please specify other treatment given", "subjects": "service_before_referral:map" diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json index e14d20d450..f7ea38452f 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json @@ -65,7 +65,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "problem" }, "options": [ { @@ -131,8 +131,8 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" }, "required_status": "true:Please specify other symptoms", "subjects": "problem:map" diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json index 1d2672dd3c..92a6bab2b1 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json @@ -65,7 +65,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "problem" }, "options": [ { @@ -175,7 +175,7 @@ "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_parent": "problem" }, "properties": { "hint": "Other symptoms", From 6332286e180608d064c4eadc6cec1b32194cd98c Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 18 Jan 2022 11:50:35 +0300 Subject: [PATCH 202/915] fixed all clients update registration info relevance and calculation --- .../all_clients_registration_form.json | 12 +++++------ ...clients_update_registration_info_form.json | 20 +++++++++--------- .../all_clients_registration_form.json | 12 +++++------ ...clients_update_registration_info_form.json | 20 +++++++++--------- .../all_clients_member_update_calculation.yml | 7 +++++++ .../all_clients_member_update_relevance.yml | 21 +++++++++++++++++++ 6 files changed, 60 insertions(+), 32 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 0731b0c44b..e5fc2f7345 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -1119,8 +1119,8 @@ { "key": "reasons_for_registration_male_15", "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_15", "type": "native_radio", "label": "Sababu za Usajili", "label_text_style": "normal", @@ -1212,8 +1212,8 @@ { "key": "reasons_for_registration_female_15", "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_15", "type": "native_radio", "label": "Sababu za Usajili", "label_text_style": "normal", @@ -1319,8 +1319,8 @@ { "key": "reasons_for_registration_under_15", "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_under_15", "type": "native_radio", "label": "Sababu za Usajili", "label_text_style": "normal", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 87463e1e9c..95755b4cab 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -970,7 +970,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "all_clients_member_calculation.yml" + "rules-file": "all_clients_member_update_calculation.yml" } } } @@ -978,8 +978,8 @@ { "key": "reasons_for_registration_male_15", "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_15", "type": "native_radio", "label": "Sababu za Usajili", "label_text_style": "normal", @@ -1063,7 +1063,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" + "rules-file": "all_clients_member_update_relevance.yml" } } } @@ -1071,8 +1071,8 @@ { "key": "reasons_for_registration_female_15", "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_15", "type": "native_radio", "label": "Sababu za Usajili", "label_text_style": "normal", @@ -1170,7 +1170,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" + "rules-file": "all_clients_member_update_relevance.yml" } } } @@ -1178,8 +1178,8 @@ { "key": "reasons_for_registration_under_15", "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_under_15", "type": "native_radio", "label": "Sababu za Usajili", "label_text_style": "normal", @@ -1298,7 +1298,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" + "rules-file": "all_clients_member_update_relevance.yml" } } } diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 4fe65aadbd..33d322111e 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -1192,8 +1192,8 @@ { "key": "reasons_for_registration_male_15", "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_15", "type": "native_radio", "label": "Reasons for Registration", "label_text_style": "normal", @@ -1285,8 +1285,8 @@ { "key": "reasons_for_registration_female_15", "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_15", "type": "native_radio", "label": "Reasons for Registration", "label_text_style": "normal", @@ -1392,8 +1392,8 @@ { "key": "reasons_for_registration_under_15", "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_under_15", "type": "native_radio", "label": "Reasons for Registration", "label_text_style": "normal", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index ed11f5e262..d5045106c4 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -1030,7 +1030,7 @@ "calculation": { "rules-engine": { "ex-rules": { - "rules-file": "all_clients_member_calculation.yml" + "rules-file": "all_clients_member_update_calculation.yml" } } } @@ -1038,8 +1038,8 @@ { "key": "reasons_for_registration_male_15", "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_15", "type": "native_radio", "label": "Reasons for Registration", "label_text_style": "normal", @@ -1123,7 +1123,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" + "rules-file": "all_clients_member_update_relevance.yml" } } } @@ -1131,8 +1131,8 @@ { "key": "reasons_for_registration_female_15", "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_15", "type": "native_radio", "label": "Reasons for Registration", "label_text_style": "normal", @@ -1230,7 +1230,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" + "rules-file": "all_clients_member_update_relevance.yml" } } } @@ -1238,8 +1238,8 @@ { "key": "reasons_for_registration_under_15", "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_under_15", "type": "native_radio", "label": "Reasons for Registration", "label_text_style": "normal", @@ -1358,7 +1358,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" + "rules-file": "all_clients_member_update_relevance.yml" } } } diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_update_calculation.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_update_calculation.yml index cd455aeba3..9fa01dc9be 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_update_calculation.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_update_calculation.yml @@ -12,3 +12,10 @@ priority: 1 condition: "step1_sex == 'Female' && (step1_age_calculated >= 10 && step1_age_calculated <= 49)" actions: - "calculation = 1" +--- +name: step1_reasons_for_registration +description: set reasons for registration +priority: 1 +condition: "true" +actions: + - "calculation = ((step1_dob != '' && helper.formatDate(step1_dob,'y') < 15) || (step1_age != '' && step1_age < 15)) ? step1_reasons_for_registration_under_15 : (step1_sex.equalsIgnoreCase('Female') ? step1_reasons_for_registration_female_15 : step1_reasons_for_registration_male_15)" diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml index 591209ab21..51a4487ebf 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml @@ -97,4 +97,25 @@ priority: 1 condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 14) || (step1_age != '' && step1_age >= 14)" actions: - "isRelevant = true" +--- +name: step1_reasons_for_registration_male_15 +description: Show up if client is male and age 15 above +priority: 1 +condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') >= 15) || (step1_age != '' && step1_age >= 15)) && step1_sex.equals('Male') " +actions: + - "isRelevant = true" +--- +name: step1_reasons_for_registration_female_15 +description: Show up if client is female and age 15 above +priority: 1 +condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') >= 15) || (step1_age != '' && step1_age >= 15))&& step1_sex.equals('Female')" +actions: + - "isRelevant = true" +--- +name: step1_reasons_for_registration_under_15 +description: Show up if client is below 15 +priority: 1 +condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') < 15) || (step1_age != '' && step1_age < 15))" +actions: + - "isRelevant = true" From 100078678aee91b20210ce67244240e22985003b Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 18 Jan 2022 12:28:06 +0300 Subject: [PATCH 203/915] fix: Pnc register crashing issue --- .../model/ChwPncRegisterFragmentModel.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java index 7c81692f05..8e511e036a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java @@ -1,12 +1,37 @@ package org.smartregister.chw.model; import org.smartregister.chw.core.model.PncRegisterFragmentModel; +import org.smartregister.chw.core.utils.ChildDBConstants; import org.smartregister.chw.core.utils.ChwDBConstants; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; import org.smartregister.family.util.DBConstants; +import java.util.HashSet; +import java.util.Set; + public class ChwPncRegisterFragmentModel extends PncRegisterFragmentModel { + @Override + protected String[] mainColumns(String tableName) { + Set columnList = new HashSet<>(); + + columnList.add(tableName + "." + ChwDBConstants.DELIVERY_DATE); + columnList.add(tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.FIRST_NAME); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.LAST_NAME); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DOB); + columnList.add(tableName + "." + DBConstants.KEY.PHONE_NUMBER); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); + + return columnList.toArray(new String[columnList.size()]); + } @Override public String mainSelect(String tableName, String mainCondition) { From 96249d60910139e07f04fdb67579398a8406e1f3 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 18 Jan 2022 13:06:41 +0300 Subject: [PATCH 204/915] fixed: client fields fieldCode to match the forms --- .../src/ba/assets/ec_client_fields.json | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 778bd3342f..4edc412400 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -50,7 +50,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "gps" } }, { @@ -58,7 +58,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "nearest_facility" } }, { @@ -184,7 +184,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "phone_number" } }, { @@ -192,7 +192,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "other_phone_number" } }, { @@ -249,7 +249,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "type_of_disability" } }, { @@ -257,7 +257,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "disabilities" } }, { @@ -265,7 +265,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "service_provider" } }, { @@ -429,7 +429,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "161543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "early_bf_1hr" } }, { @@ -437,7 +437,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "disabilities" } }, { @@ -445,7 +445,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "type_of_disability" } }, { @@ -453,7 +453,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "birth_cert_available" } }, { @@ -461,7 +461,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "164147AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "rhc_card" } }, { @@ -469,7 +469,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "163301AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "nutrition_status" } }, { @@ -522,7 +522,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "162052AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "birth_regist_number" } }, { @@ -712,7 +712,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "1438AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "no_prev_preg" } }, { @@ -720,7 +720,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "5624AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "gravida" } }, { @@ -728,7 +728,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "164894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "no_surv_children" } }, { @@ -760,7 +760,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "159590AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "last_contact_visit" } } ] @@ -1165,7 +1165,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "161033AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "preg_outcome" } }, { @@ -1173,7 +1173,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "165248AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "miscarriage_date" } }, { @@ -1181,7 +1181,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "5599AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "delivery_date" } }, { @@ -1189,7 +1189,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "1572AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "delivery_place" } }, { @@ -1197,7 +1197,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "1573AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "delivery_home" } }, { @@ -1402,7 +1402,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "problem" } }, { @@ -1410,7 +1410,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "problem_other" } }, { @@ -1418,7 +1418,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "service_before_referral" } }, { @@ -1426,7 +1426,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "service_before_referral_other" } }, { @@ -1435,7 +1435,7 @@ "data_type": "date", "json_mapping": { "field": "obs.fieldCode", - "concept": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "referral_appointment_date" } }, { @@ -2073,7 +2073,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "other_anc_danger_signs" } }, { @@ -2081,7 +2081,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "concept": "action_taken_anc_danger_signs" } }, { From d4813efc9eabc21d2e0cb425eb05aa1f40d91493 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 18 Jan 2022 14:35:54 +0300 Subject: [PATCH 205/915] fixed: PNC crashing error --- .../smartregister/chw/model/ChwPncRegisterFragmentModel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java index 8e511e036a..346a3638e5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java @@ -22,7 +22,7 @@ protected String[] mainColumns(String tableName) { columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.LAST_NAME); columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DOB); - columnList.add(tableName + "." + DBConstants.KEY.PHONE_NUMBER); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.PHONE_NUMBER); columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD); From 1eb2dde0f07b872a18d166f47ad288d18f46685e Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 18 Jan 2022 14:36:26 +0300 Subject: [PATCH 206/915] update:removed pregnancy outcome for chw --- .../smartregister/chw/activity/AncMemberProfileActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index 7bbdffb868..a414221fc8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -175,7 +175,6 @@ public boolean onOptionsItemSelected(MenuItem item) { IndividualProfileRemoveActivity.startIndividualProfileActivity(AncMemberProfileActivity.this, client, memberObject.getFamilyBaseEntityId(), memberObject.getFamilyHead(), memberObject.getPrimaryCareGiver(), AncRegisterActivity.class.getCanonicalName()); return true; } else if (itemId == R.id.action_pregnancy_out_come) { - CoreConstants.JSON_FORM.setLocaleAndAssetManager(ChwApplication.getCurrentLocale(), ChwApplication.getInstance().getApplicationContext().getAssets()); PncRegisterActivity.startPncRegistrationActivity(AncMemberProfileActivity.this, memberObject.getBaseEntityId(), null, CoreConstants.JSON_FORM.getPregnancyOutcome(), AncLibrary.getInstance().getUniqueIdRepository().getNextUniqueId().getOpenmrsId(), memberObject.getFamilyBaseEntityId(), memberObject.getFamilyName(), memberObject.getLastMenstrualPeriod()); return true; } @@ -187,6 +186,7 @@ public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.findItem(R.id.anc_danger_signs_outcome).setVisible(false); menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); + menu.findItem(R.id.action_pregnancy_out_come).setVisible(false); return true; } From 9384b60d0d68bc54ff2377a6198617d57bdcd0da Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 18 Jan 2022 14:36:46 +0300 Subject: [PATCH 207/915] update:added anc registration for independent clients --- .../chw/activity/AllClientsMemberProfileActivity.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 63c145fb69..78881a713c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -37,14 +37,21 @@ public class AllClientsMemberProfileActivity extends CoreAllClientsMemberProfile private FamilyMemberFloatingMenu familyFloatingMenu; private CoreAllClientsMemberContract.Presenter allClientsMemberPresenter; - + private final FamilyOtherMemberProfileActivity.Flavor flavor = new FamilyOtherMemberProfileActivityFlv(); @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); + + String gender = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.GENDER, false); menu.findItem(R.id.action_location_info).setVisible(true); menu.findItem(R.id.action_cbhs_registration).setVisible(true); menu.findItem(R.id.action_tb_registration).setVisible(true); - menu.findItem(R.id.action_anc_registration).setVisible(false); + if (flavor.hasANC() && !presenter().isWomanAlreadyRegisteredOnAnc(commonPersonObject) && flavor.isOfReproductiveAge(commonPersonObject, "Female") && gender.equalsIgnoreCase("Female")) { + flavor.updateFpMenuItems(baseEntityId, menu); + menu.findItem(R.id.action_anc_registration).setVisible(true); + } else { + menu.findItem(R.id.action_anc_registration).setVisible(false); + } menu.findItem(R.id.action_sick_child_follow_up).setVisible(false); menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); return true; From 71f3b65122dd577add8f4d985fbe787da5e732f3 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 18 Jan 2022 16:19:03 +0300 Subject: [PATCH 208/915] fixed: encounter types --- opensrp-chw/src/ba/assets/ec_client_classification.json | 8 ++++---- .../ba/assets/json.form/female_hiv_followup_visit.json | 2 +- ...e_hiv_followup_visit_for_clients_with_ctc_numbers.json | 2 +- .../src/ba/assets/json.form/female_hiv_registration.json | 2 +- .../src/ba/assets/json.form/male_hiv_followup_visit.json | 2 +- ...e_hiv_followup_visit_for_clients_with_ctc_numbers.json | 2 +- .../src/ba/assets/json.form/male_hiv_registration.json | 2 +- .../smartregister/chw/activity/HivProfileActivity.java | 2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index fdd0eb1bb6..e8d9c58418 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -316,28 +316,28 @@ }, { "field": "eventType", - "field_value": "Hiv Registration", + "field_value": "CBHS Registration", "creates_case": [ "ec_hiv_register" ] }, { "field": "eventType", - "field_value": "Hiv Registration", + "field_value": "CBHS Registration", "creates_case": [ "ec_cbhs_register" ] }, { "field": "eventType", - "field_value": "Update HIV Registration", + "field_value": "Update CBHS Registration", "creates_case": [ "ec_hiv_register" ] }, { "field": "eventType", - "field_value": "HIV Followup", + "field_value": "CBHS Followup", "creates_case": [ "ec_hiv_register" ] diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json index 49ebe1934a..ad399c7c1d 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json @@ -1,7 +1,7 @@ { "form": "CBHS Follow-up form", "count": "1", - "encounter_type": "HIV Followup", + "encounter_type": "CBHS Followup", "entity_id": "", "relational_id": "", "rules_file": "rule/hiv_followup_form_rules.yml", diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 9d727cdba2..f5d09fe504 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -1,7 +1,7 @@ { "form": "CBHS Follow-up form", "count": "1", - "encounter_type": "HIV Followup", + "encounter_type": "CBHS Followup", "entity_id": "", "relational_id": "", "rules_file": "rule/hiv_followup_form_rules.yml", diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json index afbb519244..d216cbf351 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json @@ -1,7 +1,7 @@ { "form": "HIV Registration form", "count": "1", - "encounter_type": "HIV Registration", + "encounter_type": "CBHS Registration", "entity_id": "", "relational_id": "", "rules_file": "rule/hiv_registration_form_rules.yml", diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json index e8171d446c..9247b62506 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json @@ -1,7 +1,7 @@ { "form": "CBHS Follow-up form", "count": "1", - "encounter_type": "HIV Followup", + "encounter_type": "CBHS Followup", "entity_id": "", "relational_id": "", "rules_file": "rule/hiv_followup_form_rules.yml", diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 6bd151dbf1..e7d6b030e7 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -1,7 +1,7 @@ { "form": "CBHS Follow-up form", "count": "1", - "encounter_type": "HIV Followup", + "encounter_type": "CBHS Followup", "entity_id": "", "relational_id": "", "rules_file": "rule/hiv_followup_form_rules.yml", diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json index 87e4e37a28..9d86e199af 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json @@ -1,7 +1,7 @@ { "form": "HIV Registration form", "count": "1", - "encounter_type": "HIV Registration", + "encounter_type": "CBHS Registration", "entity_id": "", "relational_id": "", "rules_file": "rule/hiv_registration_form_rules.yml", diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 77ada87a39..efcf6b944a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -65,7 +65,7 @@ public class HivProfileActivity extends CoreHivProfileActivity implements FamilyProfileExtendedContract.PresenterCallBack, OnRetrieveNotifications { - public static final String UPDATE_HIV_REGISTRATION = "Update HIV Registration"; + public static final String UPDATE_HIV_REGISTRATION = "Update CBHS Registration"; public static final String ENCOUNTER_TYPE = "encounter_type"; public static final String NAME = "name"; public static final String PROPERTIES = "properties"; From 35f333ab2575e4abc593e259a42bec0afc01f116 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 19 Jan 2022 14:30:17 +0300 Subject: [PATCH 209/915] Refactored ec_anc_register last_contact_visit column --- opensrp-chw/src/ba/assets/ec_client_fields.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 4edc412400..507253e1df 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -760,7 +760,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "last_contact_visit" + "concept": "anc_hf_visit_date" } } ] From c6eef790668a2089c3a25f504d8c5a33724d7f80 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 19 Jan 2022 15:22:13 +0300 Subject: [PATCH 210/915] Fixed: form for followup CBHS client to display location moved to --- .../hiv_community_followup_feedback.json | 43 ++++++++++++++++++- .../hiv_community_followup_feedback_rules.yml | 14 ++++++ .../HivCommunityFollowupDetailsActivity.java | 6 ++- .../chw/activity/HivProfileActivity.java | 15 +++++++ 4 files changed, 75 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json b/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json index 2f236e9759..b5d9b1e096 100644 --- a/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json +++ b/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json @@ -125,7 +125,7 @@ }, { "name": "client_continues_with_clinic_from_elsewhere", - "text": "Clients continues with clinic from elsewhere", + "text": "Client continues with clinic from elsewhere", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", @@ -137,6 +137,47 @@ "dependent_calculations": [ "hiv_community_followup_visit_date" ] + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Choose Moved To Facility", + "searchable": "Choose moved to facility" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please select the moved to facility", + "subjects": "followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Enter the other location", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please enter the moved to facility", + "subjects": "client_moved_location:text" } ] } diff --git a/opensrp-chw/src/ba/assets/rule/hiv_community_followup_feedback_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_community_followup_feedback_rules.yml index 26bf6b91da..a0ed8f53d6 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_community_followup_feedback_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_community_followup_feedback_rules.yml @@ -5,4 +5,18 @@ priority: 1 condition: "true" actions: - "hiv_community_followup_visit_date_calculation = System.currentTimeMillis()" +--- +name: "client_moved_location_visibility" +description: "client_moved_location visibility" +priority: 1 +condition: "followup_status.value == 'Client has relocated to another location' || followup_status.value == 'Amehamishiwa mahali pengine' || followup_status.value == 'Client continues with clinic from elsewhere' || followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine'" +actions: + - "client_moved_location_visibility = true" +--- +name: "client_moved_location_other_visibility" +description: "client_moved_location visibility" +priority: 1 +condition: "client_moved_location.value == 'Other' && (followup_status.value == 'Client has relocated to another location' || followup_status.value == 'Amehamishiwa mahali pengine') || client_moved_location.value == 'Other' && (followup_status.value == 'Client continues with clinic from elsewhere' || followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine')" +actions: + - "client_moved_location_other_visibility = true" diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java index 3251cb492c..e54a5df736 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java @@ -5,15 +5,17 @@ import org.json.JSONException; import org.smartregister.chw.hiv.activity.BaseHivCommunityFollowupDetailsActivity; +import java.util.Objects; + import timber.log.Timber; public class HivCommunityFollowupDetailsActivity extends BaseHivCommunityFollowupDetailsActivity { @Override protected void openFollowupForm() { try { - HivRegisterActivity.startHIVFormActivity(this, getMemberObject().getBaseEntityId(), org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JSON_FORM.getHivCommunityFollowFeedback()).toString()); + HivProfileActivity.startHivCommunityFollowupFeedbackActivity(this, Objects.requireNonNull(getMemberObject()).getBaseEntityId()); } catch (JSONException e) { - Timber.e(e); + e.printStackTrace(); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index efcf6b944a..b89333e7c2 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -113,6 +113,21 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity activity.startActivityForResult(intent, CoreConstants.ProfileActivityResults.CHANGE_COMPLETED); } + public static void startHivCommunityFollowupFeedbackActivity(Activity activity, String baseEntityID) throws JSONException{ + Intent intent = new Intent(activity, BaseHivFormsActivity.class); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); + + JSONObject formJsonObject; + + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivCommunityFollowFeedback()); + + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, initializeHealthFacilitiesList(formJsonObject).toString()); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); + + activity.startActivityForResult(intent, CoreConstants.ProfileActivityResults.CHANGE_COMPLETED); + } + private static JSONObject initializeHealthFacilitiesList(JSONObject form) { LocationRepository locationRepository = new LocationRepository(); List locations = locationRepository.getAllLocations(); From 2d679ad9d0dadd702acf50eec85f98e44ff1d958 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 19 Jan 2022 15:24:49 +0300 Subject: [PATCH 211/915] Removed unused imports --- .../chw/activity/HivCommunityFollowupDetailsActivity.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java index e54a5df736..007c0bdd1f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java @@ -1,14 +1,10 @@ package org.smartregister.chw.activity; -import com.vijay.jsonwizard.utils.FormUtils; - import org.json.JSONException; import org.smartregister.chw.hiv.activity.BaseHivCommunityFollowupDetailsActivity; import java.util.Objects; -import timber.log.Timber; - public class HivCommunityFollowupDetailsActivity extends BaseHivCommunityFollowupDetailsActivity { @Override protected void openFollowupForm() { From 0e1221157787b7f5d6424d63174f6acbb69f6bc4 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 20 Jan 2022 12:18:21 +0300 Subject: [PATCH 212/915] Fix: questions such as id number have max length --- .../all_clients_registration_form.json | 39 +++++++++++++++- ...clients_update_registration_info_form.json | 45 ++++++++++++++++--- .../json.form/family_member_register.json | 39 +++++++++++++++- .../ba/assets/json.form/family_register.json | 39 +++++++++++++++- 4 files changed, 151 insertions(+), 11 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 33d322111e..d95d15aecd 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -352,9 +352,14 @@ "value": "true", "err": "Must be a rounded number" }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Please enter a valid age" + }, "v_numeric": { "value": "true", - "err": "Number must begin with 0 and must be a total of 10 digits in length" + "err": "Please enter a valid age" }, "v_min": { "value": "0", @@ -449,6 +454,11 @@ "openmrs_entity_id": "phone_number", "type": "edit_text", "hint": "Client phone number", + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid phone number" + }, "v_numeric": { "value": "true", "err": "Number must be a total of 10 digits in length" @@ -527,6 +537,11 @@ "type": "edit_text", "hint": "National ID number e.g 12345678-91234-56789-12", "edit_type": "name", + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Please enter a valid national ID number" + }, "v_regex": { "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" @@ -551,6 +566,11 @@ "type": "edit_text", "hint": "Voter's registration number e.g T-1234-5678-912-3", "edit_type": "name", + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Please enter a valid voter's registration number" + }, "v_regex": { "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" @@ -575,6 +595,11 @@ "type": "edit_text", "hint": "Driver's license number e.g 1234567891", "edit_type": "name", + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid driver's license number" + }, "v_regex": { "value": "^([0-9]{10})", "err": "Driver's license number should be of the format (XXXXXXXXXX)" @@ -597,7 +622,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", "type": "edit_text", - "hint": "Passport number", + "hint": "Passport number e.g TAE-123456", + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid passport number" + }, "v_regex": { "value": "^TAE-\\d{6}$", "err": "Passport Number should be in the format (TAE-XXXXXX)" @@ -926,6 +956,11 @@ "value": "true", "err": "Number must be a total of 10 digits in length" }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid phone number" + }, "v_regex": { "value": "(0[0-9]{9})|\\s*", "err": "Number must be 10 digits and must start with 0." diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index d5045106c4..2c8f09e074 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -198,9 +198,14 @@ "value": "true", "err": "Must be a rounded number" }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Please enter a valid age" + }, "v_numeric": { "value": "true", - "err": "Number must begin with 0 and must be a total of 10 digits in length" + "err": "Please enter a valid age" }, "v_min": { "value": "5", @@ -299,6 +304,11 @@ "value": "true", "err": "Number must be a total of 10 digits in length" }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid phone number" + }, "v_regex": { "value": "(0[0-9]{9})|\\s*", "err": "Number must be 10 digits and must start with 0." @@ -371,12 +381,17 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", "type": "edit_text", - "hint": "National ID number", + "hint": "National ID number e.g 12345678-91234-56789-12", "edit_type": "name", "v_regex": { "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Please enter a valid national ID number" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -395,12 +410,17 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", "type": "edit_text", - "hint": "Voter's registration number", + "hint": "Voter's registration number e.g T-1234-5678-912-3", "edit_type": "name", "v_regex": { "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Please enter a valid voter's registration number" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -419,12 +439,17 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", "type": "edit_text", - "hint": "Driver's license number", + "hint": "Driver's license number e.g 1234567891", "edit_type": "name", "v_regex": { "value": "^([0-9]{10})", "err": "Driver's license number should be of the format (XXXXXXXXXX)" }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid driver's license number" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -443,11 +468,16 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", "type": "edit_text", - "hint": "Passport number", + "hint": "Passport number e.g TAE-123456", "v_regex": { "value": "^TAE-\\d{6}$", "err": "Passport Number should be in the format (TAE-XXXXXX)" }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid passport number" + }, "edit_type": "name", "relevance": { "step1:id_avail": { @@ -780,6 +810,11 @@ "value": "true", "err": "Please caregiver contact." }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid phone number" + }, "relevance": { "rules-engine": { "ex-rules": { diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index 5e54513127..fdf1a0813d 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -246,12 +246,17 @@ }, "v_numeric": { "value": "true", - "err": "Number must begin with 0 and must be a total of 10 digits in length" + "err": "Please enter a valid age" }, "v_min": { "value": "5", "err": "Age must be equal or greater than 5" }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Please enter a valid age" + }, "v_max": { "value": "120", "err": "Age must be equal or less than 120" @@ -345,6 +350,11 @@ "value": "true", "err": "Number must be a total of 10 digits in length" }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid phone number" + }, "v_regex": { "value": "(0[0-9]{9})|\\s*", "err": "Number must be 10 digits and must start with 0." @@ -423,6 +433,11 @@ "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Please enter a valid national ID number" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -447,6 +462,11 @@ "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Please enter a valid voter's registration number" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -471,6 +491,11 @@ "value": "^([0-9]{10})", "err": "Driver's license number should be of the format (XXXXXXXXXX)" }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid driver's license number" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -489,12 +514,17 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", "type": "edit_text", - "hint": "Passport number", + "hint": "Passport number e.g TAE-123456", "edit_type": "name", "v_regex": { "value": "^TAE-\\d{6}$", "err": "Passport Number should be in the format (TAE-XXXXXX)" }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid passport number" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -795,6 +825,11 @@ "value": "true", "err": "Number must be a total of 10 digits in length" }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid phone number" + }, "v_regex": { "value": "(0[0-9]{9})|\\s*", "err": "Number must be 10 digits and must start with 0." diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index a84d513ce0..a45a52f80b 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -349,9 +349,14 @@ "value": "true", "err": "Must be a rounded number" }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Please enter a valid age" + }, "v_numeric": { "value": "true", - "err": "Number must begin with 0 and must be a total of 10 digits in length" + "err": "Please enter a valid age" }, "v_min": { "value": "15", @@ -450,6 +455,11 @@ "value": "true", "err": "Number must be a total of 10 digits in length" }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid phone number" + }, "v_regex": { "value": "(0[0-9]{9})|\\s*", "err": "Number must be 10 digits and must start with 0." @@ -524,6 +534,11 @@ "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Please enter a valid national ID number" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -548,6 +563,11 @@ "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Please enter a valid voter's registration number" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -572,6 +592,11 @@ "value": "^([0-9]{10})", "err": "Driver's license number should be of the format (XXXXXXXXXX)" }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid driver's license number" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -590,11 +615,16 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", "type": "edit_text", - "hint": "Passport number", + "hint": "Passport number e.g TAE-123456", "v_regex": { "value": "^TAE-\\d{6}$", "err": "Passport Number should be in the format (TAE-XXXXXX)" }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid passport number" + }, "edit_type": "name", "relevance": { "step2:id_avail": { @@ -870,6 +900,11 @@ "value": "true", "err": "Number must be a total of 10 digits in length" }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid phone number" + }, "v_regex": { "value": "(0[0-9]{9})|\\s*", "err": "Number must be 10 digits and must start with 0." From ef45a288593412627069cd4060028bd73d0f8cfc Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 22 Jan 2022 09:15:49 +0300 Subject: [PATCH 213/915] fixed: hidden fields showing on updated native form library --- .../ba/assets/json.form-sw/all_clients_registration_form.json | 2 +- .../src/ba/assets/json.form-sw/family_details_register.json | 2 +- opensrp-chw/src/ba/assets/json.form-sw/family_register.json | 2 +- .../src/ba/assets/json.form/all_clients_registration_form.json | 2 +- .../src/ba/assets/json.form/family_details_register.json | 2 +- opensrp-chw/src/ba/assets/json.form/family_register.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index e5fc2f7345..e08e50c77d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -114,7 +114,7 @@ "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "hidden": "true", - "type": "barcode", + "type": "edit_text", "barcode_type": "qrcode", "hint": "ID", "scanButtonText": "Chukua QR code", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json index 62baee0f69..3fed4e520a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json @@ -77,7 +77,7 @@ "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "hidden": "true", - "type": "barcode", + "type": "edit_text", "barcode_type": "qrcode", "hint": "ID *", "scanButtonText": "Scan QR Code", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 03eef8de8e..0970a44f38 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -80,7 +80,7 @@ "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "hidden": "true", - "type": "barcode", + "type": "edit_text", "barcode_type": "qrcode", "hint": "ID", "scanButtonText": "Chukua QR code", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index d95d15aecd..04032899f9 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -114,7 +114,7 @@ "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "hidden": "true", - "type": "barcode", + "type": "edit_text", "barcode_type": "qrcode", "hint": "ID", "scanButtonText": "Scan QR Code", diff --git a/opensrp-chw/src/ba/assets/json.form/family_details_register.json b/opensrp-chw/src/ba/assets/json.form/family_details_register.json index 747059dc6d..2d98ff440b 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_details_register.json @@ -77,7 +77,7 @@ "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "hidden": "true", - "type": "barcode", + "type": "edit_text", "barcode_type": "qrcode", "hint": "ID *", "scanButtonText": "Scan QR Code", diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index a45a52f80b..ba32e6e47f 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -114,7 +114,7 @@ "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "hidden": "true", - "type": "barcode", + "type": "edit_text", "barcode_type": "qrcode", "hint": "ID", "scanButtonText": "Scan QR Code", From f4fa8971c0903cb66c07bc30adffc5095e7f8e59 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 25 Jan 2022 15:22:38 +0300 Subject: [PATCH 214/915] Updated translated swahili forms --- .../all_clients_registration_form.json | 361 +++-- ...clients_update_registration_info_form.json | 1309 +---------------- .../json.form-sw/anc_hv_counselling.json | 193 +-- .../json.form-sw/anc_hv_danger_signs.json | 224 +-- .../json.form-sw/anc_hv_family_planning.json | 80 +- .../anc_hv_health_facility_visit.json | 180 +-- .../assets/json.form-sw/anc_hv_malaria.json | 142 +- .../json.form-sw/anc_hv_nutrition_status.json | 83 +- .../json.form-sw/anc_hv_observations.json | 158 +- .../anc_hv_pregnancy_risk_form.json | 98 +- .../anc_hv_remarks_and_comments.json | 67 +- .../json.form-sw/anc_member_registration.json | 424 +----- .../json.form-sw/anc_pregnancy_outcome.json | 562 +------ .../json.form-sw/anc_referral_form.json | 422 +----- .../json.form-sw/birth_certification.json | 1 + .../assets/json.form-sw/child_enrollment.json | 516 +------ .../json.form-sw/child_hv_deworming.json | 70 +- .../child_hv_malaria_prevention.json | 142 +- .../child_hv_nutrition_status.json | 83 +- .../child_hv_vaccine_card_received.json | 1 + .../json.form-sw/child_hv_vitamin_a.json | 70 +- .../json.form-sw/child_referral_form.json | 379 +---- .../json.form-sw/family_details_register.json | 134 +- .../family_details_remove_child.json | 213 +-- .../family_details_remove_family.json | 172 +-- .../family_details_remove_member.json | 215 +-- .../json.form-sw/family_member_register.json | 965 +----------- .../assets/json.form-sw/family_register.json | 966 +----------- .../female_family_planning_registration.json | 1099 +------------- .../json.form-sw/female_fp_referral_form.json | 536 +------ .../json.form-sw/fp_followup_counsel.json | 84 +- .../json.form-sw/fp_followup_resupply.json | 160 +- .../fp_followup_side_effects.json | 400 +---- .../in_app_monthly_tallies_report.json | 109 +- .../json.form-sw/malaria_confirmation.json | 470 +----- .../json.form-sw/malaria_follow_up_visit.json | 265 +--- .../json.form-sw/malaria_referral_form.json | 340 +---- .../json.form-sw/observation_illness.json | 126 +- .../assets/json.form-sw/pnc_counselling.json | 207 +-- .../json.form-sw/pnc_danger_signs_baby.json | 205 +-- .../json.form-sw/pnc_danger_signs_mother.json | 205 +-- .../pnc_exclusive_breastfeeding.json | 77 +- .../json.form-sw/pnc_family_planning.json | 198 +-- .../pnc_health_facility_visit.json | 181 +-- .../pnc_health_facility_visit_two.json | 115 +- .../json.form-sw/pnc_hv_danger_signs.json | 1 + .../pnc_hv_observations_infant.json | 158 +- .../pnc_hv_observations_mother.json | 158 +- .../json.form-sw/pnc_malaria_prevention.json | 142 +- .../pnc_nutrition_status_infant.json | 83 +- .../pnc_nutrition_status_mother.json | 83 +- .../json.form-sw/pnc_referral_form.json | 498 +------ .../json.form-sw/routine_home_visit.json | 186 +-- 53 files changed, 270 insertions(+), 14046 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/birth_certification.json create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/child_hv_vaccine_card_received.json create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_danger_signs.json diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index e08e50c77d..a40a2ed4ba 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -54,7 +54,7 @@ } }, "step1": { - "title": "Taarifa ya eneo", + "title": "Location details", "next": "step2", "fields": [ { @@ -63,15 +63,15 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la mwisho (Ukoo)", + "hint": "Jina la Mwisho", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la ukoo" + "err": "Tafadhali andika jina la mwisho" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina la ukoo" + "err": "Tafadhali andika jina la mwisho" } }, { @@ -84,11 +84,11 @@ "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la kwanza" + "err": "Tafadhali andika jina la kwanza" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" + "err": "Tafadhali andika jina sahihi" } }, { @@ -97,15 +97,15 @@ "openmrs_entity": "person", "openmrs_entity_id": "middle_name", "type": "edit_text", - "hint": "Jina la kati", + "hint": "Jina la katikati", "edit_type": "name", "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" + "err": "Tafadhali andika jina sahihi" }, "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la kati" + "err": "Tafadhali andika jina la katikati" } }, { @@ -114,13 +114,13 @@ "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "hidden": "true", - "type": "edit_text", + "type": "barcode", "barcode_type": "qrcode", - "hint": "ID", - "scanButtonText": "Chukua QR code", + "hint": "Number ya utambulisho", + "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", - "err": "Tafadhali ingiza namba halali" + "err": "Tafadhali andika number ya utambulisho sahihi" } }, { @@ -137,7 +137,7 @@ }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Tafadhali ingiza jina halali la eneo" + "err": "Tafadhali ingiza jina la eneo sahihi" } }, { @@ -150,7 +150,7 @@ "hint": "Alama ya eneo la makazi", "v_required": { "value": true, - "err": "Tafadhali ingiza maelezo ya alama au eneo la makazi" + "err": "Tafadhali ingiza alama ya eneo la makazi" } }, { @@ -180,48 +180,47 @@ "tree": [], "v_required": { "value": true, - "err": "Tafadhali chagua jina la kijiji au mtaa" + "err": "Tafadhali chaguwa kijiji au mtaa" } } ] }, "step2": { - "title": "Taarifa ya mteja", + "title": "Client details", "fields": [ { "key": "unique_id", "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "barcode", - "barcode_type": "qrcode", + "type": "edit_text", + "read_only": true, "hint": "WAJA ID", - "scanButtonText": "Chukua QR code", "v_numeric": { "value": "true", - "err": "Tafadhali ingiza namba halali" + "err": "Tafadhali weka kitambulisho halali" }, "v_required": { "value": "true", - "err": "Tafadhali ingiza namba ya kipekee" + "err": "Tafadhali weka kitambulisho cha KIPEKEE" } }, { "key": "surname", "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", + "openmrs_entity": "person", + "openmrs_entity_id": "last_name", "type": "edit_text", - "hint": "Jina la mwisho (ukoo)", + "hint": "Jina la mwisho", "edit_type": "name", "read_only": true, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" + "err": "Tafadhali weka jina halali" }, "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la ukoo" + "err": "Tafadhali weka jina la ukoo" }, "calculation": { "rules-engine": { @@ -241,11 +240,11 @@ "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la kwanza" + "err": "Tafadhali andika jina la kwanza" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" + "err": "Tafadhali weka jina halali" }, "read_only": true, "calculation": { @@ -266,11 +265,11 @@ "edit_type": "name", "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" + "err": "Tafadhali weka jina halali" }, "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la kati" + "err": "Tafadhali weka jina la kati" }, "read_only": true, "calculation": { @@ -296,7 +295,7 @@ "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhali ingiza tarehe ya kuzaliwa" + "err": "Tafadhali weka tarehe ya kuzaliwa" }, "relevance": { "rules-engine": { @@ -355,15 +354,15 @@ }, "v_numeric": { "value": "true", - "err": "Tafadhali ingiza umri" + "err": "Lazima iwe numbari kalili" }, "v_min": { "value": "0", - "err": "Umri lazima uwe sawa au mkubwa kuliko 0" + "err": "Age must be equal or greater than 0" }, "v_max": { "value": "120", - "err": "Umri lazima uwe sawa au chini ya 120" + "err": "Age must be equal or less than 120" }, "relevance": { "rules-engine": { @@ -374,8 +373,10 @@ }, "v_required": { "value": true, - "err": "Tafadhali ingiza umri" - } + "err": "Tafadhali weka umri" + }, + "v_min.err": "Umri lazima uwe sawa au zaidi ya 0", + "v_max.err": "Umri lazima uwe sawa au chini ya 120" }, { "key": "sex", @@ -383,10 +384,10 @@ "openmrs_entity": "person", "openmrs_entity_id": "gender", "type": "spinner", - "hint": "Jinsi", + "hint": "jinsia", "values": [ - "Me", - "Ke" + "kiume", + "kike" ], "keys": [ "Male", @@ -394,7 +395,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhali ingiza jinsi" + "err": "Tafadhali chaguwa jinsia" } }, { @@ -403,12 +404,12 @@ "openmrs_entity": "concept", "openmrs_entity_id": "marital_status", "type": "spinner", - "hint": "Hali ya ndoa ya mteja?", + "hint": "Hali ya ndoa ya mteja", "values": [ "Hajaolewa", "Ameolewa", "Ameachwa", - "Ndoa ya mme/mke mmoja", + "Ndoa ya mke/mume moja", "Mitala", "Mjane", "Kuishi pamoja" @@ -449,18 +450,18 @@ "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", "type": "edit_text", - "hint": "Namba ya simu", + "hint": "Nambari ya simu ya mteja", "v_numeric": { "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" }, "v_regex": { "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." }, "v_required": { "value": false, - "err": "Tafadhali taja numbe ya simu" + "err": "Tafadhali taja nambari ya simu" } }, { @@ -469,7 +470,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", - "label": "Je, ana kitambulisho chochote kati ya hivi??", + "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -478,7 +479,7 @@ "options": [ { "key": "chk_national_id", - "text": "Kitambulisho cha taifa", + "text": "Kitambulisho cha Taifa", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" @@ -492,21 +493,21 @@ }, { "key": "chk_drivers_license", - "text": "Leseni ya dereva", + "text": "Leseni ya udereva", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, { "key": "chk_passport", - "text": "Hati ya kusafiria", + "text": "Pasipoti", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_passport" }, { "key": "chk_none", - "text": "Hakuna", + "text": "Nakuna", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" @@ -526,11 +527,11 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", "type": "edit_text", - "hint": "Namba ya kitambulisho cha taifa, mfano: 12345678-91234-56789-12", + "hint": "Nambari ya kitambulisho cha taifa k.m 12345678-91234-56789-12", "edit_type": "name", "v_regex": { "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", - "err": "Namba ya kitambulisho cha taifa inatakiwa kuwa (XXXXXXXX-XXXXX-XXXXX-XX)" + "err": "Nambari ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" }, "relevance": { "step2:id_avail": { @@ -550,11 +551,11 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", "type": "edit_text", - "hint": "Namba ya kitambulisho cha mpiga kura, mfano: T-1234-5678-912-3", + "hint": "Nambari ya usajili ya mpiga kura k.m T-1234-5678-912-3", "edit_type": "name", "v_regex": { "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Namba ya kitambulisho cha mpiga kura inatakiwa kuwa (T-XXXX-XXXX-XXX-X)" + "err": "Nambari ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" }, "relevance": { "step2:id_avail": { @@ -574,11 +575,11 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", "type": "edit_text", - "hint": "Namba ya leseni ya udereva, mfano: 1234567891", + "hint": "Nambari ya leseni ya udereva k.m 1234567891", "edit_type": "name", "v_regex": { "value": "^([0-9]{10})", - "err": "Namba ya leseni ya udereva inatakiwa kuwa (XXXXXXXXXX)" + "err": "Nambari ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" }, "relevance": { "step2:id_avail": { @@ -598,12 +599,12 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", "type": "edit_text", - "hint": "Namba ya hati ya kusafiria", - "edit_type": "name", + "hint": "Passport number", "v_regex": { "value": "^TAE-\\d{6}$", - "err": "Namba ya hati ya kusafiria inatakiwa kuwa (TAE-XXXXXX)" + "err": "Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" }, + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -622,20 +623,20 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Health_Insurance_Type", "type": "spinner", - "hint": "Bima ya afya unaotumia", + "hint": "Mtoa huduma ya bima ya afya", "values": [ - "Bima ya afya ya jamii (CHF)/(iCHF)", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "Mfuko wa Taifa wa Bima ya Afya (NHIF)", + "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", + "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya", "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", + "Huduma ya Afya ya AAR", + "Mikakati ya Bima", "Milvik Tanzania Ltd (BIMA Mkononi)", "Britam Insurance Tanzania", "Jubilee Insurance", "Resolutions Insurance", "Reliance Insurance", - "Bima ya afya nyingezo", + "Nyingine", "Hakuna" ], "keys": [ @@ -670,7 +671,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali ingiza bima" + "err": "Tafadhali ingiza mtoa huduma wa bima" } }, { @@ -679,10 +680,10 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Health_Insurance_Type", "type": "edit_text", - "hint": "Bima ya afya mwingine unaotumia", + "hint": "Mtoa huduma mwingine wa bima ya afya", "v_required": { "value": "true", - "err": "Tafadhali ingiza bima" + "err": "Tafadhali bainisha mtoa huduma wa bima" }, "relevance": { "rules-engine": { @@ -698,10 +699,10 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Health_Insurance_Number", "type": "edit_text", - "hint": "Namba ya bima ya afya umaotumia", + "hint": "Nambari ya mtoa huduma ya bima ya afya", "v_required": { "value": "true", - "err": "Tafadhali ingiza namba ya mfuko wa bima ya afya umaotumia" + "err": "Tafadhali ongeza Nambari ya kitambulisho ya mtoa huduma wa bima ya afya" }, "relevance": { "rules-engine": { @@ -745,9 +746,9 @@ "openmrs_entity": "concept", "openmrs_entity_id": "preg_1yr", "type": "spinner", - "hint": "Je, amejifungua ndani ya mwaka 1?", + "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", "values": [ - "Ndiyo", + "Ndio", "Hapana" ], "keys": [ @@ -776,9 +777,9 @@ "openmrs_entity": "concept", "openmrs_entity_id": "disabilities", "type": "spinner", - "hint": "Hali ya ulemavu", + "hint": "Ulemavu wa kimwili", "values": [ - "Ndiyo", + "Ndio", "Hapana" ], "keys": [ @@ -799,8 +800,68 @@ "openmrs_entity_parent": "disabilities", "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", - "type": "edit_text", - "hint": "Aina ya ulemavu", + "type": "check_box", + "label": "Aina ya ulemavu ", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Ulemavu wa viungo vya mwili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Ulemavu wa Uti wa Mgongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Ulemavu wa macho", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Ulemavu wa Kusikia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Ulemavu wa Utambuzi au Kujifunza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Matatizo ya Kisaikolojia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Ulemavu Usioonekana", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], "v_required": { "value": "true", "err": "Tafadhali ingiza aina ya ulemavu" @@ -819,9 +880,9 @@ "openmrs_entity": "concept", "openmrs_entity_id": "Has_Primary_Caregiver", "type": "spinner", - "hint": "Je una mlezi msaidizi?\n", + "hint": "Je, una mlezi/msaidizi wa Tiba?", "values": [ - "Ndiyo", + "Ndio", "Hapana" ], "keys": [ @@ -843,10 +904,10 @@ "openmrs_entity": "concept", "openmrs_entity_id": "Primary_Caregiver_Name", "type": "edit_text", - "hint": "Majina ya msaidizi", + "hint": "Jina la mlezi", "v_required": { "value": "true", - "err": "Jina la msaidizi lazima iwe." + "err": "Tafadhali taja jina la mlezi." }, "relevance": { "rules-engine": { @@ -862,18 +923,18 @@ "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", "type": "edit_text", - "hint": "Namba ya simu ya msaidizi", + "hint": "Nambari ya simu ya mlezi mkuu", "v_numeric": { "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" }, "v_regex": { "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." }, "v_required": { "value": "true", - "err": "Tafadhali weka namba ya msaidizi." + "err": "Tafadhali wasiliana na mlezi." }, "relevance": { "rules-engine": { @@ -889,7 +950,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "service_provider", "type": "check_box", - "label": "Aina ya kazi anayojishughulisha", + "label": "Kazi ya Mteja", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -905,14 +966,14 @@ }, { "key": "chk_cs", - "text": "Mtumishi wa serikali", + "text": "Mtumishi wa Serikali", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cs" }, { "key": "chk_nurse", - "text": "Muuguzi", + "text": "Muguzi", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_nurse" @@ -926,63 +987,63 @@ }, { "key": "chk_th", - "text": "Waganga wa tiba asilia (THs)", + "text": "Mganga wa tiba asili", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_th" }, { "key": "chk_chw", - "text": "Wahudumu wa afya ngazi ya jamii–WAJA", + "text": "Muhudumu wa afya ngazi ya jamii(WAJA)", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_chw" }, { "key": "chk_tba", - "text": "Wakunga wa jadi (TBAs)", + "text": "Mkunga wa Jadi", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_tba" }, { "key": "chk_chmis", - "text": "Wakusanyaji takwimu za afya katika jamii (cHIMS)", + "text": "Wakusanyaji takrimu za afya ngazi ya jamii", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_chmis" }, { "key": "chk_cbd", - "text": "Wasambazaji wa dawa na vifaa vya uzazi wa mpango katika jamii (CBD)", + "text": "Msambazaji wa dawa na vifaa vya uzazi wa mpango ngazi ya Jamii ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cbd" }, { "key": "chk_hbc", - "text": "Watoa huduma kwa wagonjwa majumbani (HBC)", + "text": "Watoa huduma kwa wagonj majumbaniwa", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_hbc" }, { "key": "chk_cimmci", - "text": "Watoa huduma za udhibiti wa magonjwa ya watoto kwa uwiano katika jamii (cIMCI)", + "text": "Watoa huduma za udhibiti wa magonjwa ya watoto ngazi ya jamii", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cimmci" }, { "key": "chk_other", - "text": "Nyingine", + "text": "Nyinginezo", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_other" }, { "key": "chk_none", - "text": "Hakuna", + "text": "Hakuna ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_none" @@ -991,6 +1052,13 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } } }, { @@ -999,11 +1067,11 @@ "openmrs_entity": "concept", "openmrs_entity_id": "service_provider_other", "type": "edit_text", - "hint": "Aina nyinginezo za shughuli anazojishughulisha mteja", + "hint": "Taja Kazi nyingine", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali taja anina ya shughuli" + "err": "Tafadhali taja kazi" }, "relevance": { "step2:service_provider": { @@ -1023,7 +1091,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Community_Leader", "type": "check_box", - "label": "Una jukumu lolote la uongozi kwenye ngazi ya jamii?", + "label": "Kuna nafasi yoyote ya uongozi katika jamii?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -1076,6 +1144,13 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } } }, { @@ -1084,11 +1159,11 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type_Name", "type": "edit_text", - "hint": "Taja hayo majukumu mengine", + "hint": "Taja nafasi nyingine katika jamii", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali taja jukumu" + "err": "Tafadhali bainisha jukumu" }, "relevance": { "step2:leader": { @@ -1128,70 +1203,70 @@ "options": [ { "key": "hiv_aids_transmission", - "text": "Maambukizo ya VVU", + "text": "maambukizi ya VVU/UKIMWI", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "sickle_cell_disease", - "text": "Sickle cell disease ", + "text": "Ugonjwa wa seli mundu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "heart_disease", - "text": "Magonjwa ya moyo ", + "text": "Magonjwa ya moyo", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "diabetes", - "text": "Kisukari ", + "text": "Kisukari", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "cerebral_palsy", - "text": "Mtindio wa ubongo", + "text": "Ugonjwa wa kupooza kwa ubongo", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "cancer", - "text": "Saratani ", + "text": "Saratani", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "tuberculosis", - "text": "Kifua kikuu ", + "text": "Kifuwa Kikuu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "homosexual", - "text": "Mwanaume anayefanya ngono na mwanaume mwenzake", + "text": "Wanaume wanaofanya mapenzi na wanaume", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "gender_violence", - "text": "Mtu aliyenyanyaswa kijinsia", + "text": "Unyanyasaji wa Kijinsia", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "drug_abuse", - "text": "Mtu anayejidunga", + "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1199,7 +1274,7 @@ ], "v_required": { "value": "true", - "err": "Sababu ya kisajili mteja inahitajika" + "err": "Sababu ya usajili inahitajika" }, "relevance": { "rules-engine": { @@ -1221,70 +1296,70 @@ "options": [ { "key": "hiv_aids_transmission", - "text": "Maambukizo ya VVU", + "text": "Maambukizi ya VVU/UKIMWI", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "sickle_cell_disease", - "text": "Sickle cell disease ", + "text": "Ugonjwa wa seli mundu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "heart_disease", - "text": "Magonjwa ya moyo ", + "text": "Magonjwa ya moyo", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "diabetes", - "text": "Kisukari ", + "text": "Kisukari", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "cerebral_palsy", - "text": "Mtindio wa ubongo", + "text": "Ugonjwa wa kupooza kwa ubongo", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "cancer", - "text": "Saratani ", + "text": "saratani", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "tuberculosis", - "text": "Kifua kikuu ", + "text": "Kifuwakikuu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "sex_worker_woman", - "text": "Mwanamke anayefanya biashara ya ngono", + "text": "Mfanyabiashara ya ngono", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "gender_violence", - "text": "Mtu aliyenyanyaswa kijinsia", + "text": "Ukatili wa kijinsia", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "drug_abuse", - "text": "Mtu anayejidunga", + "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1298,7 +1373,7 @@ }, { "key": "breastfeeding_mother", - "text": "Mama anayenyonyesha ", + "text": "Mama anayenyonyesha", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1306,7 +1381,7 @@ ], "v_required": { "value": "true", - "err": "Sababu ya kisajili mteja inahitajika" + "err": "Sababu ya usajili inahitajika" }, "relevance": { "rules-engine": { @@ -1328,105 +1403,105 @@ "options": [ { "key": "hiv_aids_transmission", - "text": "Maambukizo ya VVU", + "text": "Maambukizi ya VVU/UKIMWI", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "sickle_cell_disease", - "text": "Sickle cell disease ", + "text": "Ugonjwa wa seli mundu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "heart_disease", - "text": "Magonjwa ya moyo ", + "text": "Magonjwa ya moyo", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "diabetes", - "text": "Kisukari ", + "text": "Kisukari", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "cerebral_palsy", - "text": "Mtindio wa ubongo", + "text": "Ugonjwa wa kupooza kwa ubongo", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "cancer", - "text": "Saratani ", + "text": "Saratani", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "tuberculosis", - "text": "Kifua kikuu ", + "text": "Kifuwa kikuu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU", + "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU ", + "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "weight_stagnation_child", - "text": "Mtoto asiyeongezeka uzito", + "text": "Mtoto mwenye vilio vya uzito", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "child_with_fever", - "text": "Mtoto anayepata homa za mara kwa mara", + "text": "Mtoto mwenye homa za mara kwa mara", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "abused_child", - "text": "Mtoto anayefanyiwa ukatili", + "text": "Mtoto aliyedhulumiwa", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "gender_violence", - "text": "Mtu aliyenyanyaswa kijinsia", + "text": "Unyanyasaji wa kijinsia", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "drug_abuse", - "text": "Mtu anayejidunga", + "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "child_in_risky_environment", - "text": "Mtoto anayeishi mazingira hatarishi", + "text": "Mtoto anayeishi katika mazingira hatarishi", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1434,7 +1509,7 @@ ], "v_required": { "value": "true", - "err": "Sababu ya kisajili mteja inahitajika" + "err": "Sababu ya usajili inahitajika" }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 95755b4cab..c8a82bd737 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -1,1308 +1 @@ -{ - "validate_on_submit": true, - "show_errors_on_submit": false, - "count": "1", - "encounter_type": "Family Registration", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Taarifa ya mteja", - "fields": [ - { - "key": "unique_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_identifier", - "openmrs_entity_id": "opensrp_id", - "type": "edit_text", - "read_only": true, - "hint": "WAJA ID", - "v_numeric": { - "value": "true", - "err": "Tafadhali ingiza namba halali" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza namba ya kipekee" - } - }, - { - "key": "surname", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "edit_text", - "hint": "Jina la mwisho (ukoo)", - "edit_type": "name", - "read_only": true, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la ukoo" - }, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "first_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "first_name", - "type": "edit_text", - "hint": "Jina la kwanza", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la kwanza" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" - } - }, - { - "key": "middle_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "middle_name", - "type": "edit_text", - "hint": "Jina la kati", - "edit_type": "name", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la kati" - } - }, - { - "key": "dob", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdate", - "type": "date_picker", - "hint": "Tarehe ya kuzaliwa", - "expanded": false, - "duration": { - "label": "Age" - }, - "min_date": "today-120y", - "max_date": "today-5y", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe ya kuzaliwa" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "age_calculated", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "dob_unknown", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdateApprox", - "type": "check_box", - "label": "", - "options": [ - { - "key": "dob_unknown", - "text": "Tarehe ya kuzaliwa haijulikani?", - "text_size": "18px", - "value": "false" - } - ] - }, - { - "key": "age", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "age", - "type": "edit_text", - "hint": "Umri", - "v_numeric_integer": { - "value": "true", - "err": "Must be a rounded number" - }, - "v_numeric": { - "value": "true", - "err": "Tafadhali ingiza umri" - }, - "v_min": { - "value": "5", - "err": "Umri lazima uwe sawa au mkubwa kuliko 5" - }, - "v_max": { - "value": "120", - "err": "Umri lazima uwe sawa au chini ya 120" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - }, - "v_required": { - "value": true, - "err": "Tafadhali ingiza umri" - } - }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Jinsi", - "values": [ - "Me", - "Ke" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jinsi" - } - }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Hali ya ndoa ya mteja?", - "values": [ - "Hajaolewa", - "Ameolewa", - "Ameachwa", - "Ndoa ya mme/mke mmoja", - "Mitala", - "Mjane", - "Kuishi pamoja" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Namba ya simu", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." - }, - "v_required": { - "value": false, - "err": "Tafadhali taja numbe ya simu" - } - }, - { - "key": "id_avail", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "id_avail", - "type": "check_box", - "label": "Je, ana kitambulisho chochote kati ya hivi??", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_national_id", - "text": "Kitambulisho cha taifa", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_national_id" - }, - { - "key": "chk_voters_id", - "text": "Kitambulisho cha mpiga kura", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_voters_id" - }, - { - "key": "chk_drivers_license", - "text": "Leseni ya dereva", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_drivers_license" - }, - { - "key": "chk_passport", - "text": "Hati ya kusafiria", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_passport" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_none" - } - ], - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "national_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "National_ID", - "type": "edit_text", - "hint": "Namba ya kitambulisho cha taifa", - "edit_type": "name", - "v_regex": { - "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", - "err": "Namba ya kitambulisho cha taifa inatakiwa kuwa (XXXXXXXX-XXXXX-XXXXX-XX)" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_national_id" - ] - } - ] - } - } - }, - { - "key": "voter_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Voter_Registration_Number", - "type": "edit_text", - "hint": "Namba ya kitambulisho cha mpiga kura", - "edit_type": "name", - "v_regex": { - "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Namba ya kitambulisho cha mpiga kura inatakiwa kuwa (T-XXXX-XXXX-XXX-X)" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_voters_id" - ] - } - ] - } - } - }, - { - "key": "driver_license", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Driver_License_Number", - "type": "edit_text", - "hint": "Namba ya leseni ya udereva", - "edit_type": "name", - "v_regex": { - "value": "^([0-9]{10})", - "err": "Namba ya leseni ya udereva inatakiwa kuwa (XXXXXXXXXX)" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_drivers_license" - ] - } - ] - } - } - }, - { - "key": "passport", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Passport_Number", - "type": "edit_text", - "hint": "Namba ya hati ya kusafiria", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Namba ya hati ya kusafiria inatakiwa kuwa (TAE-XXXXXX)" - }, - "edit_type": "name", - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_passport" - ] - } - ] - } - } - }, - { - "key": "insurance_provider", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Health_Insurance_Type", - "type": "spinner", - "hint": "Bima ya afya unaotumia", - "values": [ - "Bima ya afya ya jamii (CHF)/(iCHF)", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", - "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Jubilee Insurance", - "Resolutions Insurance", - "Reliance Insurance", - "Bima ya afya nyingezo", - "Hakuna" - ], - "keys": [ - "Community Health Fund (CHF)", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "Mfuko wa Taifa wa Bima ya Afya (NHIF)", - "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Jubilee Insurance", - "Resolutions Insurance", - "Reliance Insurance", - "Other", - "None" - ], - "openmrs_choice_ids": { - "Community Health Fund (CHF)": "Community_Health_Fund", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", - "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", - "AAR Healthcare": "AAR_Healthcare", - "AAR Strategies Insurance": "Strategies_Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", - "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", - "Jubilee Insurance": "Jubilee_Insurance", - "Resolutions Insurance": "Resolutions_Insurance", - "Reliance Insurance": "Reliance_Insurance", - "Other": "Other_Health_Insurance_Type", - "None": "No_Health_Insurance" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza bima" - } - }, - { - "key": "insurance_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Health_Insurance_Type", - "type": "edit_text", - "hint": "Bima ya afya mwingine unaotumia", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza bima" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "insurance_provider_number", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Health_Insurance_Number", - "type": "edit_text", - "hint": "Namba ya bima ya afya umaotumia", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza namba ya mfuko wa bima ya afya umaotumia" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "wra", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "mra", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "preg_1yr", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "preg_1yr", - "type": "spinner", - "hint": "Je, amejifungua ndani ya mwaka 1?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "disabilities", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", - "type": "spinner", - "hint": "Hali ya ulemavu", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - } - }, - { - "key": "type_of_disability", - "openmrs_entity_parent": "disabilities", - "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "edit_text", - "hint": "Aina ya ulemavu", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza aina ya ulemavu" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "has_primary_caregiver", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "Has_Primary_Caregiver", - "type": "spinner", - "hint": "Je una mlezi msaidizi?\n", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - } - }, - { - "key": "primary_caregiver_name", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "Primary_Caregiver_Name", - "type": "edit_text", - "hint": "Majina ya msaidizi", - "v_required": { - "value": "true", - "err": "Jina la msaidizi lazima iwe." - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", - "type": "edit_text", - "hint": "Namba ya simu ya msaidizi", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." - }, - "v_required": { - "value": "true", - "err": "Tafadhali weka namba ya msaidizi." - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "service_provider", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider", - "type": "check_box", - "label": "Aina ya kazi anayojishughulisha", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_farmer", - "text": "Mkulima", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" - }, - { - "key": "chk_cs", - "text": "Mtumishi wa serikali", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" - }, - { - "key": "chk_nurse", - "text": "Muuguzi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" - }, - { - "key": "chk_teacher", - "text": "Mwalimu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" - }, - { - "key": "chk_th", - "text": "Waganga wa tiba asilia (THs)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" - }, - { - "key": "chk_chw", - "text": "Wahudumu wa afya ngazi ya jamii–WAJA", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" - }, - { - "key": "chk_tba", - "text": "Wakunga wa jadi (TBAs)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" - }, - { - "key": "chk_chmis", - "text": "Wakusanyaji takwimu za afya katika jamii (cHIMS)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" - }, - { - "key": "chk_cbd", - "text": "Wasambazaji wa dawa na vifaa vya uzazi wa mpango katika jamii (CBD)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" - }, - { - "key": "chk_hbc", - "text": "Watoa huduma kwa wagonjwa majumbani (HBC)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" - }, - { - "key": "chk_cimmci", - "text": "Watoa huduma za udhibiti wa magonjwa ya watoto kwa uwiano katika jamii (cIMCI)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" - }, - { - "key": "chk_other", - "text": "Nyingine", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Aina nyinginezo za shughuli anazojishughulisha mteja", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja anina ya shughuli" - }, - "relevance": { - "step1:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, - { - "key": "leader", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Community_Leader", - "type": "check_box", - "label": "Una jukumu lolote la uongozi kwenye ngazi ya jamii?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_religious", - "text": "Kiongozi wa dini", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Religious_Leader" - }, - { - "key": "chk_traditional", - "text": "Kiongozi wa kimila", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Traditional_leader" - }, - { - "key": "chk_political", - "text": "Kiongozi wa kisiasa", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Political_leader" - }, - { - "key": "chk_influential", - "text": "Mtu mwenye ushawishi kwenye jamii", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Influential_Leader" - }, - { - "key": "chk_other", - "text": "Nyinginezo", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Community_Leader_Type" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Not_a_Community_Leader" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "leader_other", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Community_Leader_Type_Name", - "type": "edit_text", - "hint": "Taja hayo majukumu mengine", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja jukumu" - }, - "relevance": { - "step1:leader": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, - { - "key": "reasons_for_registration", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Registration_Reason", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "reasons_for_registration_male_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_male_15", - "type": "native_radio", - "label": "Sababu za Usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "Maambukizo ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Mtindio wa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "homosexual", - "text": "Mwanaume anayefanya ngono na mwanaume mwenzake", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Mtu aliyenyanyaswa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Mtu anayejidunga", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya kisajili mteja inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_15", - "type": "native_radio", - "label": "Sababu za Usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "Maambukizo ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Mtindio wa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sex_worker_woman", - "text": "Mwanamke anayefanya biashara ya ngono", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Mtu aliyenyanyaswa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Mtu anayejidunga", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "pregnant_mother", - "text": "Mama mjamzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "breastfeeding_mother", - "text": "Mama anayenyonyesha ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya kisajili mteja inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_under_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "native_radio", - "label": "Sababu za Usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "Maambukizo ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Mtindio wa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "weight_stagnation_child", - "text": "Mtoto asiyeongezeka uzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "Mtoto anayepata homa za mara kwa mara", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "abused_child", - "text": "Mtoto anayefanyiwa ukatili", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Mtu aliyenyanyaswa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Mtu anayejidunga", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_in_risky_environment", - "text": "Mtoto anayeishi mazingira hatarishi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya kisajili mteja inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"validate_on_submit":true,"show_errors_on_submit":false,"count":"1","encounter_type":"Family Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Client details","fields":[{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","type":"edit_text","read_only":true,"hint":"Namba ya utambulisho ya WAJA","v_numeric":{"value":"true","err":"Tafahdali ingiza namba ya utambulisho ssahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza namba ya utambulisho ya kipekee ya WAJA"}},{"key":"surname","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Jina la mwisho","edit_type":"name","read_only":true,"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza jina la mwisho"},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_calculation.yml"}}}},{"key":"first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"Jina la kwanza","edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kwanza"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"}},{"key":"middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","type":"edit_text","hint":"Jina la kati","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza jina la kati"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdate","type":"date_picker","hint":"Tarehe ya kuzaliwa","expanded":false,"duration":{"label":"Age"},"min_date":"today-120y","max_date":"today-5y","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kuzaliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"age_calculated","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_calculation.yml"}}}},{"key":"dob_unknown","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdateApprox","type":"check_box","label":"","options":[{"key":"dob_unknown","text":"Tarehe ya kuzaliwa haijulikani?","text_size":"18px","value":"false"}]},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"age","type":"edit_text","hint":"Umri","v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_numeric":{"value":"true","err":"Lazima iwe namba kamili"},"v_min":{"value":"5","err":"Age must be equal or greater than 5"},"v_max":{"value":"120","err":"Age must be equal or less than 120"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}},"v_required":{"value":true,"err":"Tafahdhali ingiza umri"},"v_min.err":"Umri ni lazima uwe sawa au zaidi ya 5","v_max.err":"Umri lazima uwe sawa au chini ya 120"},{"key":"sex","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"gender","type":"spinner","hint":"Jinsia","values":["Kiume","Kike"],"keys":["Male","Female"],"v_required":{"value":"true","err":"Tafadhali ingiza jinsia"}},{"key":"marital_status","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"marital_status","type":"spinner","hint":"Hali ya ndoa ya mteja?","values":["Hajaoa/hajaolewa","Ameoa/ameolewa","Ameachwa","Ndoa ya mke mmoja","Ndoa ya wake wengi","Amefiwa na mwenza","Kuishi pamoja"],"keys":["Single","Married","Divorced","Monogamy","Polygamy","Widowed","Cohabitation"],"openmrs_choice_ids":{"Single":"Single","Married":"Married","Divorced":"Divorced","Monogamy":"Monogamy","Polygamy":"Polygamy","Widowed":"Widowed","Cohabitation":"Cohabitation"},"v_required":{"value":"true","err":"Tafadhali chagua moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"phone_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_number","type":"edit_text","hint":"Namba ya simu ya mteja","v_numeric":{"value":"true","err":"Namba lazima iwe jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Namba lazima iwe tarakimu 10 na lazima ianze na 0."},"v_required":{"value":false,"err":"Tafadhali taja namba ya simu"}},{"key":"id_avail","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"id_avail","type":"check_box","label":"Je, una kitambulisho chochote kati ya vifuatavyo?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_national_id","text":"Kitambulisho cha Taifa","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_national_id"},{"key":"chk_voters_id","text":"Kitambulisho cha usajili wa mpiga kura","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_voters_id"},{"key":"chk_drivers_license","text":"Leseni ya udereva","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_drivers_license"},{"key":"chk_passport","text":"Hati ya kusafiria","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_passport"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_none"}],"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"national_id","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"National_ID","type":"edit_text","hint":"Namba ya kitambulisho cha Taifa","edit_type":"name","v_regex":{"value":"^\\d{8}-\\d{5}-\\d{5}-\\d{2}$","err":"Namba ya kitambulisho cha Taifa inapaswa kuwa na umbizo (XXXXXXXX-XXXXX-XXXXX-XX)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_national_id"]}]}}},{"key":"voter_id","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Voter_Registration_Number","type":"edit_text","hint":"Kitambulisho cha usajili wa mpiga kura","edit_type":"name","v_regex":{"value":"^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$","err":"Namba ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_voters_id"]}]}}},{"key":"driver_license","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Driver_License_Number","type":"edit_text","hint":"Namba ya leseni ya udereva","edit_type":"name","v_regex":{"value":"^([0-9]{10})","err":"Namba ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_drivers_license"]}]}}},{"key":"passport","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Passport_Number","type":"edit_text","hint":"Namba ya hati ya kusafiria","v_regex":{"value":"^TAE-\\d{6}$","err":"Namba ya hati ya kusafiria inapaswa kuwa katika muundo (TAE-XXXXXX)"},"edit_type":"name","relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_passport"]}]}}},{"key":"insurance_provider","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Type","type":"spinner","hint":"Mtoa huduma wa bima ya afya","values":["Mfuko wa Afya ya Jamii (CHF)/(iCHF)","Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)","Mfuko wa Taifa wa Bima ya Afya (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Nyingine","Hakuna"],"keys":["Community Health Fund (CHF)","National Social Security Fund - Social Health Insurance Benefit (SHIB)","National Health Insurance Fund (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Other","None"],"openmrs_choice_ids":{"Community Health Fund (CHF)":"Community_Health_Fund","National Social Security Fund - Social Health Insurance Benefit (SHIB)":"National_Social_Security_Fund","National Health Insurance Fund (NHIF)":"National_Health_Insurance_Fund","Tiba Kwa Kadi (TIKA)":"Tiba_kwa_Kadi","AAR Healthcare":"AAR_Healthcare","AAR Strategies Insurance":"Strategies_Insurance","Milvik Tanzania Ltd (BIMA Mkononi)":"BIMA_Mkononi","Britam Insurance Tanzania":"Britam_Insurance_Tanzania","Jubilee Insurance":"Jubilee_Insurance","Resolutions Insurance":"Resolutions_Insurance","Reliance Insurance":"Reliance_Insurance","Other":"Other_Health_Insurance_Type","None":"No_Health_Insurance"},"v_required":{"value":"true","err":"Tafahdali ingiza mtoa huduma wa bima"}},{"key":"insurance_provider_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Health_Insurance_Type","type":"edit_text","hint":"Mtoa huduma mwingine wa bima ya afya","v_required":{"value":"true","err":"Tafadhali taja mtoa huduma wa bima"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"insurance_provider_number","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Number","type":"edit_text","hint":"Namba ya mtoa huduma wa bima ya afya","v_required":{"value":"true","err":"Tafadhali ongeza namba ya mtoa huduma wa bima ya afya"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"wra","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_calculation.yml"}}}},{"key":"mra","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_calculation.yml"}}}},{"key":"preg_1yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"preg_1yr","type":"spinner","hint":"Je, mwanamke amejifungua katika mwaka 1 uliopita?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"disabilities","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"disabilities","type":"spinner","hint":"Ulemavu wa kimwili","values":["Ndiyo ","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"type_of_disability","openmrs_entity_parent":"disabilities","openmrs_entity":"concept","openmrs_entity_id":"type_of_disability","type":"check_box","label":"Aina ya ulemavu wa kimwili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"physical_impairments","text":"Uhamaji na Ulemavu wa Kimwili","value":false,"openmrs_entity":"concept","openmrs_entity_id":"physical_impairments"},{"key":"spinal_cord_disability","text":"Ulemavu wa Uti wa Mgongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"spinal_cord_disability"},{"key":"brain_disability","text":"Majeraha ya Kichwa - Ulemavu wa Ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"brain_disability"},{"key":"vision_disability","text":"Ulemavu wa Kuona","value":false,"openmrs_entity":"concept","openmrs_entity_id":"vision_disability"},{"key":"hearing_disability","text":"Ulemavu wa Kuskia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"hearing_disability"},{"key":"learning_disabilities","text":"Ulemavu wa Utambuzi au Kujifunza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"learning_disabilities"},{"key":"psychological_disorders","text":"Matatizo ya Kisaikolojia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"psychological_disorders"},{"key":"invisible_disabilities","text":"Ulemavu Usioonekana","value":false,"openmrs_entity":"concept","openmrs_entity_id":"invisible_disabilities"}],"v_required":{"value":"true","err":"Tafahali ingiza aina ya ulemavu"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"has_primary_caregiver","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"Has_Primary_Caregiver","type":"spinner","hint":"Je, una mlezi/msaidizi wa Tiba?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"primary_caregiver_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"Primary_Caregiver_Name","type":"edit_text","hint":"Jina la mlezi","v_required":{"value":"true","err":"Tafadhali taja jina la mlezi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"other_phone_number","openmrs_entity_parent":"phone_number","openmrs_entity":"concept","openmrs_entity_id":"other_phone_number","type":"edit_text","hint":"Namba ya simu ya mlezi","v_numeric":{"value":"true","err":"Namba lazima iwe na jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Namba lazima iwe tarakimu 10 na lazima ianze na 0"},"v_required":{"value":"true","err":"Tafadhali mawasiliano ya mlezi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"service_provider","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"service_provider","type":"check_box","label":"Kazi ya Mteja","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_farmer","text":"Mkulima","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_farmer"},{"key":"chk_cs","text":"Mtumishi wa Umma","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cs"},{"key":"chk_nurse","text":"Muuguzi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_nurse"},{"key":"chk_teacher","text":"Mwalimu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_teacher"},{"key":"chk_th","text":"Mganga wa Kienyeji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_th"},{"key":"chk_chw","text":"Mhudumu wa Afya ya Jamii (MJA)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_chw"},{"key":"chk_tba","text":"Mkunga wa Jadi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_tba"},{"key":"chk_chmis","text":"HMIS ngazi ya Jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_chmis"},{"key":"chk_cbd","text":"Msambazaji wa Jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cbd"},{"key":"chk_hbc","text":"Mlezi wa Nyumbani","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_hbc"},{"key":"chk_cimmci","text":"IMCI wa Jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cimmci"},{"key":"chk_other","text":"Nyingine","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_other"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"service_provider_other","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"service_provider_other","type":"edit_text","hint":"Taja kazi nyingine","edit_type":"name","v_required":{"value":"true","err":"Tafadhali taja Kazi"},"relevance":{"step1:service_provider":{"ex-checkbox":[{"or":["chk_other"]}]}}},{"key":"leader","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Community_Leader","type":"check_box","label":"Nafasi yoyote ya uongozi katika jamii?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_religious","text":"Kiongozi wa Kidini","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Religious_Leader"},{"key":"chk_traditional","text":"Kiongozi wa Kijadi","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Traditional_leader"},{"key":"chk_political","text":"Kiongozi wa Kisiasa","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Political_leader"},{"key":"chk_influential","text":"Kiongozi mwenye ushawishi ","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Influential_Leader"},{"key":"chk_other","text":"Nyingine","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Community_Leader_Type"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Not_a_Community_Leader"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"leader_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Community_Leader_Type_Name","type":"edit_text","hint":"Taja nafasi nyingine katika jamii","edit_type":"name","v_required":{"value":"true","err":"Tafadhali taja nafasi hiyo"},"relevance":{"step1:leader":{"ex-checkbox":[{"or":["chk_other"]}]}}},{"key":"reasons_for_registration","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Registration_Reason","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_calculation.yml"}}}},{"key":"reasons_for_registration_male_15","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"reasons_for_registration_male_15","type":"native_radio","label":"Sababu ya usajili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"hiv_aids_transmission","text":"Maambukizi ya VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"sickle_cell_disease","text":"Ugonjwa wa seli mundu","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"heart_disease","text":"Magonjwa ya moyo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"diabetes","text":"Kisukari","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"cerebral_palsy","text":"Ugonjwa wa kupooza kwa ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"cancer","text":"Saratani","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"tuberculosis","text":"Kifua kikuu","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"homosexual","text":"Mwanaume anayejamiana na wanaume","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"gender_violence","text":"Ukatili wa kijinsia","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"drug_abuse","text":"Matumizi mabaya ya dawa za kulevya","value":false,"openmrs_entity":"concept","openmrs_entity_id":""}],"v_required":{"value":"true","err":"Sababu ya usajili inahitajika"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"reasons_for_registration_female_15","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"reasons_for_registration_female_15","type":"native_radio","label":"Sababu ya usajili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"hiv_aids_transmission","text":"Maambukizi ya VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"sickle_cell_disease","text":"Ugonjwa wa seli mundu","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"heart_disease","text":"Magonjwa ya moyo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"diabetes","text":"Kisukari","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"cerebral_palsy","text":"Ugonjwa wa kupooza kwa ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"cancer","text":"Saratani","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"tuberculosis","text":"Kifua kikuu","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"sex_worker_woman","text":"Mwanamke anayefanya biashara ya ngono","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"gender_violence","text":"Ukatili wa kijinsia","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"drug_abuse","text":"Matumizi mabaya ya madawa yak kulevya","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"pregnant_mother","text":"Mama mjamzito","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"breastfeeding_mother","text":"Mama anayenyonyesha","value":false,"openmrs_entity":"concept","openmrs_entity_id":""}],"v_required":{"value":"true","err":"Sababu ya usajili inahitajika"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"reasons_for_registration_under_15","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"reasons_for_registration_under_15","type":"native_radio","label":"Sababu ya usajili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"hiv_aids_transmission","text":"Maambukizi ya VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"sickle_cell_disease","text":"Ugonjwa wa seli mundu","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"heart_disease","text":"Magonjwa ya moyo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"diabetes","text":"Kisukari","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"cerebral_palsy","text":"Ugonjwa wa kupooza kwa ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"cancer","text":"Saratani","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"tuberculosis","text":"Kifua kikuu","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"hiv_infected_child","text":"Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI ","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"untested_hiv_infected_child","text":"Mtoto ambaye hajapimwa VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"weight_stagnation_child","text":"Mtoto mwenye vilio vya uzito","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"child_with_fever","text":"Mtoto mwenye homa za mara kwa mara","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"abused_child","text":"Mtoto anayenyanyaswa","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"gender_violence","text":"Ukatili wa kijinsia","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"drug_abuse","text":"Matumizi mabaya ya madawa ya kulevya","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"child_in_risky_environment","text":"Mtoto anayeishi katika mazingira hatarishi","value":false,"openmrs_entity":"concept","openmrs_entity_id":""}],"v_required":{"value":"true","err":"Sababu ya usajili inahitajika"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json index 6597f91eb4..8c547b0057 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json @@ -1,192 +1 @@ -{ - "count": "1", - "encounter_type": "ANC Counselling", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Ushauri", - "fields": [ - { - "key": "counselling_given", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "counselling_given", - "type": "check_box", - "label": "Ushauri nasaa uliotolewa kwa mama na wanafamilia", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_attended_anc_contacts", - "text": "1. Kuhudhuria kliniki ya wajawazito mapema", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_attended_anc_contacts" - }, - { - "key": "chk_anc_danger_signs", - "text": "2. Dalili za hatari wakati wa ujauzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_anc_danger_signs" - }, - { - "key": "chk_maternal_nutrition", - "text": "3. Lishe kwa mama wakati wa ujauzito na kunyonyesha", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_maternal_nutrition" - }, - { - "key": "chk_personal_delivery", - "text": "4. Mpango binafsi wa kujifungua", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_personal_delivery" - }, - { - "key": "chk_hiv_aids", - "text": "5. Umuhimu wa kupata ushauri nasaha na kupima VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hiv_aids" - }, - { - "key": "chk_pmtct_for_mother", - "text": "6. Kuzuia mambukizi ya VVU kutoka kwa mama kwenda kwa mtoto", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_pmtct_for_mother" - }, - { - "key": "chk_preventing_malaria", - "text": "7. Kuzuia malaria kwa wajawazito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_preventing_malaria" - }, - { - "key": "chk_physical_changes", - "text": "8. Mabadiliko ya kimwili kwa mama aliyejifungua", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_physical_changes" - }, - { - "key": "chk_pnc_danger_signs", - "text": "10. Dalili za hatari mara baada ya kujifungua hadi arobaini ya uzazi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_pnc_danger_signs" - }, - { - "key": "chk_care_of_infant", - "text": "11. Huduma kwa mtoto mchanga mara baada ya kuzaliwa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_care_of_infant" - }, - { - "key": "chk_infant_danger_signs", - "text": "14. Dalili za hatari kwa mtoto mchanga", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_infant_danger_signs" - }, - { - "key": "chk_hiv_exposed_infant", - "text": "15. Ufuatiliaji wa mtoto aliyezaliwa na mama mwenye VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hiv_exposed_infant" - }, - { - "key": "chk_breastfeeding", - "text": "16. Unyonyeshaji wa maziwa ya mama", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_breastfeeding" - }, - { - "key": "chk_exclusive_breast_feeding ", - "text": "17. Njia ya uzazi wa mpango ya unyonyeshaji maziwa ya mama pekee kwa kipindi cha miezi sita baada ya kujifungua (LAM)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_exclusive_breast_feeding" - }, - { - "key": "chk_family_planning", - "text": "18. Uzazi wa mpango", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_family_planning" - }, - { - "key": "chk_infection_prevention", - "text": "24. Kuzuia maambukizi katika jamii", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_infection_prevention" - }, - { - "key": "chk_none", - "text": "Hajatoa ushauri", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"ANC Counselling","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Counselling","fields":[{"key":"counselling_given","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"counselling_given","type":"check_box","label":"Ushauri uliyotolewa kwa mama na wanafamilia","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_attended_anc_contacts","text":"1. Kufika kliniki ya ANC mapema","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_attended_anc_contacts"},{"key":"chk_anc_danger_signs","text":"2. Dalili za hatari za ujauzito","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_anc_danger_signs"},{"key":"chk_maternal_nutrition","text":"3. Lishe ya mama wakati wa ujauzito na kunyonyesha","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_maternal_nutrition"},{"key":"chk_personal_delivery","text":"4. Mpango binafsi wa kujifungua","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_personal_delivery"},{"key":"chk_hiv_aids","text":"5. Taarifa za ujumla za VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_hiv_aids"},{"key":"chk_pmtct_for_mother","text":"6. PMTCT kwa ajili ya mama","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_pmtct_for_mother"},{"key":"chk_preventing_malaria","text":"7. Kuzuia malaria kwa ajili ya wamama wajawazito","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_preventing_malaria"},{"key":"chk_physical_changes","text":"8. Mabadiliko ya kimwili kwa mama aliyetoka kujifungua","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_physical_changes"},{"key":"chk_pnc_danger_signs","text":"9. Dalili za hatari za PNC","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_pnc_danger_signs"},{"key":"chk_care_of_infant","text":"10. Utunzaji wa mtoto mchanga baada ya kuzaliwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_care_of_infant"},{"key":"chk_infant_danger_signs","text":"11. Dalili za hatari za mtoto mchanga","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_infant_danger_signs"},{"key":"chk_hiv_exposed_infant","text":"12. Ufuatiliaji kwa ajili ya mtoto mchanga aliyeambukizwa na VVU","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_hiv_exposed_infant"},{"key":"chk_breastfeeding","text":"13. Kunyonyesha ","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_breastfeeding"},{"key":"chk_exclusive_breast_feeding ","text":"14. Kupanga mpango wa uzazi kwa kutumia kunyonyesha maziwa ya mama pekee kwa miezi 6 baada ya kuzaliwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_exclusive_breast_feeding"},{"key":"chk_family_planning","text":"15. Mpango wa uzazi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_family_planning"},{"key":"chk_infection_prevention","text":"16. Kuzuia na kudhibiti maambukizi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_infection_prevention"},{"key":"chk_none","text":"17. Hamna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau mojawapo"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json index 87a7ca2045..e65e3a209b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json @@ -1,223 +1 @@ -{ - "count": "1", - "encounter_type": "Home Visit - Danger signs", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Dalili za hatari", - "fields": [ - { - "key": "danger_signs_present", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "danger_signs_present", - "type": "check_box", - "label": "Je, mama ana dalili zozote za hatari wakati wa ujauzito?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_fever", - "text": "Homa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_fever" - }, - { - "key": "chk_bleeding_vaginally", - "text": "Damu kutoka ukeni", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_bleeding_vaginally" - }, - { - "key": "chk_server_headache", - "text": "Maumivu ya kichwa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_server_headache" - }, - { - "key": "chk_blurred_vision", - "text": "Kutoona vizuri", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_blurred_vision" - }, - { - "key": "chk_convulsions", - "text": "Degedege/Mtukutiko wa mwili", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_convulsions" - }, - { - "key": "chk_difficulty_breathing", - "text": "Kushindwa kupumua", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_difficulty_breathing" - }, - { - "key": "chk_severe_abdominal_pain", - "text": "Maumivu makali ya tumbo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_severe_abdominal_pain" - }, - { - "key": "chk_loss_consciousness", - "text": "Kupoteza fahamu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_loss_consciousness" - }, - { - "key": "chk_swelling", - "text": "Kuvimba uso na / au mikonos", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_swelling" - }, - { - "key": "chk_early_labour", - "text": "Kupata uchungu mapema kabla ya miezi tisa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_early_labour" - }, - { - "key": "chk_vaginal_discharge", - "text": "Kutoka uchafu / majimaji ukeni yenye harufu mbaya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_vaginal_discharge" - }, - { - "key": "chk_unusual_movement", - "text": "Kutocheza / kucheza kusiko kwa kawaida kwa mtoto aliye tumboni", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_unusual_movement" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - } - }, - { - "key": "danger_signs_present_toaster", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "Dalili za hatari! \nToa rufaa haraka kwenda kituo cha kutolea huduma za afya.", - "text_color": "#CF0800", - "toaster_type": "problem", - "relevance": { - "step1:danger_signs_present": { - "ex-checkbox": [ - { - "or": [ - "chk_fever", - "chk_bleeding_vaginally", - "chk_server_headache", - "chk_blurred_vision", - "chk_convulsions", - "chk_difficulty_breathing", - "chk_severe_abdominal_pain", - "chk_loss_consciousness", - "chk_swelling", - "chk_early_labour", - "chk_vaginal_discharge", - "chk_unusual_movement" - ] - } - ] - } - } - }, - { - "key": "danger_signs_counseling", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "danger_signs_counseling", - "openmrs_data_type": "select one", - "type": "spinner", - "label_info_title": "Je, mama alipewa ushauri kuhusu dalili za hatari wakati wa ujauzito kwenye kituo cha kutolea huduma za afya?", - "label_info_text": "Je, mama alipewa ushauri kuhusu dalili za hatari wakati wa ujauzito kwenye kituo cha kutolea huduma za afya?", - "hint": "Je, mama alipewa ushauri kuhusu dalili za hatari wakati wa ujauzito kwenye kituo cha kutolea huduma za afya?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Home Visit - Danger signs","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"ANC Registration","fields":[{"key":"danger_signs_present","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"danger_signs_present","type":"check_box","label":"Je, mama ana dalili zozote za hatari?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_fever","text":"Homa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_fever"},{"key":"chk_bleeding_vaginally","text":"Kutokwa na damu ukeni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_bleeding_vaginally"},{"key":"chk_server_headache","text":"Maumivu makali ya kichwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_server_headache"},{"key":"chk_blurred_vision","text":"Uoni hafifu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_blurred_vision"},{"key":"chk_convulsions","text":"Degedege","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_convulsions"},{"key":"chk_difficulty_breathing","text":"Kupumua kwa shida","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_difficulty_breathing"},{"key":"chk_severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_severe_abdominal_pain"},{"key":"chk_loss_consciousness","text":"Kupoteza fahamu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_loss_consciousness"},{"key":"chk_swelling","text":"Kuvimba kwa uso na/au mikono","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_swelling"},{"key":"chk_early_labour","text":"Maumivu ya kuzaa mapema kabla ya miezi 9","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_early_labour"},{"key":"chk_vaginal_discharge","text":"Kutokwa na majimaji ukeni yenye rangirangi na harufu mbaya","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_vaginal_discharge"},{"key":"chk_unusual_movement","text":"Hakuna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_unusual_movement"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau mojawapo"}},{"key":"danger_signs_present_toaster","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Dalili ya hatari! Apewe rufaa kwenda kwenye kituo cha afya haraka.","text_color":"#CF0800","toaster_type":"problem","relevance":{"step1:danger_signs_present":{"ex-checkbox":[{"or":["chk_fever","chk_bleeding_vaginally","chk_server_headache","chk_blurred_vision","chk_convulsions","chk_difficulty_breathing","chk_severe_abdominal_pain","chk_loss_consciousness","chk_swelling","chk_early_labour","chk_vaginal_discharge","chk_unusual_movement"]}]}}},{"key":"danger_signs_counseling","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"danger_signs_counseling","openmrs_data_type":"select one","type":"spinner","label_info_title":"Did the mother receive counselling","label_info_text":"Did the mother receive counselling on danger signs at the health facility recently?","hint":"Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json index fc7a7fe299..5852cc8edf 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json @@ -1,79 +1 @@ -{ - "count": "1", - "encounter_type": "Home Visit - Family Planning", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Uzazi wa mpango", - "fields": [ - { - "key": "fam_planning", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "fam_planning", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, mama ameshauriwa kuhusu uzazi wa mpango alipohudhuria kituoni?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Home Visit - Family Planning","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Family planning","fields":[{"key":"fam_planning","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fam_planning","openmrs_data_type":"select one","type":"spinner","hint":"Je, mama alishauriwa kuhusu mpango wa uzazi ulimpotembelea kwa ajili ya ziara ya afya?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json index b0f6e1b5e0..7109893a97 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json @@ -1,179 +1 @@ -{ - "count": "1", - "encounter_type": "Home Visit - Facility Visit", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Hudhurio la kliniki ya wajawazito {0} katika kituo cha kutolea huduma za afya", - "fields": [ - { - "key": "anc_hf_visit", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "anc_hf_visit", - "openmrs_data_type": "select one", - "label_info_title": "Je, mama amehudhuria kliniki ya wajawazito hudhurio la {0} katika kituo cha kutolea huduma za afya?", - "label_info_text": "Je, mama amehudhuria kliniki ya wajawazito hudhurio la katika kituo cha kutolea huduma za afya?", - "type": "spinner", - "hint": "Je, mama amehudhuria kliniki ya wajawazito hudhurio la {0} katika kituo cha kutolea huduma za afya?\n\nTarehe ya hudhurio lingine: {1}", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - }, - { - "key": "anc_hf_visit_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "anc_hf_visit_date", - "openmrs_data_type": "text", - "type": "date_picker", - "label": "Tarehe ya hudhurio la kliniki ya wajawazito", - "hint": "Tarehe ya hudhurio la kliniki ya wajawazito", - "expanded": false, - "min_date": "today-10y", - "max_date": "today", - "v_required": { - "value": "true", - "err": "Ingiza tarehe ambayo mwanamke alienda kwenye kituo cha afya" - }, - "relevance": { - "step1:anc_hf_visit": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - }, - { - "key": "reason_for_missed_visit", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reason_for_missed_visit", - "type": "spinner", - "hint": "Reason for missed facility visit", - "values": [ - "Fear to disclose her pregnancy", - "She forgot the appointment date", - "She did not have transport fare", - "She was not feeling well", - "Other" - ], - "keys": [ - "fear_to_disclose_her_pregnancy", - "she_forgot_the_appointment_date", - "she_did_not_have_transport_fare", - "she_was_not_feeling_well", - "other" - ], - "openmrs_choice_ids": { - "fear_to_disclose_her_pregnancy": "fear_to_disclose_her_pregnancy", - "she_forgot_the_appointment_date": "she_forgot_the_appointment_date", - "she_did_not_have_transport_fare": "she_did_not_have_transport_fare", - "she_was_not_feeling_well": "she_was_not_feeling_well", - "other": "other" - }, - "v_required": { - "value": "true", - "err": "Please select a reason" - }, - "relevance": { - "step1:anc_hf_visit": { - "type": "string", - "ex": "equalTo(., \"No\")" - } - } - }, - { - "key": "other_reason_missed_visit", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_reason_missed_visit", - "type": "edit_text", - "hint": "Other reason for missed facility visit", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please enter other reason" - }, - "relevance": { - "step1:reason_for_missed_visit": { - "type": "string", - "ex": "equalTo(., \"other\")" - } - } - }, - { - "key": "anc_hf_next_visit_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "anc_hf_next_visit_date", - "type": "spacer" - }, - { - "key": "confirmed_visits", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "confirmed_visits", - "type": "spacer", - "read_only": "true", - "hidden": "true", - "value": "0" - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Home Visit - Facility Visit","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"ANC {0} health facility visit","fields":[{"key":"anc_hf_visit","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"anc_hf_visit","openmrs_data_type":"select one","label_info_title":"Did the woman attend her ANC {0} visit at the health facility?","label_info_text":"Did the woman attend her ANC visit at the health facility?","type":"spinner","hint":"Je, mwanamke huyo alihudhuria ziara yake ya ANC {0} katika kituo cha afya? Tarehe ya kukamilisha ziara: {1}","values":["Ndiyo","Hapana"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"anc_hf_visit_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"anc_hf_visit_date","openmrs_data_type":"text","type":"date_picker","label":"ANC visit date","hint":"Tarehe ya ziara ya ANC","expanded":false,"min_date":"today-10y","max_date":"today","v_required":{"value":"true","err":"Ingiza tarehe ya kutembelea kituoni"},"relevance":{"step1:anc_hf_visit":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"reason_for_missed_visit","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"reason_for_missed_visit","type":"spinner","hint":"Sababu ya kutofika kituoni","values":["Hofu ya kufichua ujauzito wake","Alisahau tarehe ya miadi","Hakuwa na nauli ya usafiri","Alikuwa hajisikii vizuri","Nyingine"],"keys":["fear_to_disclose_her_pregnancy","she_forgot_the_appointment_date","she_did_not_have_transport_fare","she_was_not_feeling_well","other"],"openmrs_choice_ids":{"fear_to_disclose_her_pregnancy":"fear_to_disclose_her_pregnancy","she_forgot_the_appointment_date":"she_forgot_the_appointment_date","she_did_not_have_transport_fare":"she_did_not_have_transport_fare","she_was_not_feeling_well":"she_was_not_feeling_well","other":"other"},"v_required":{"value":"true","err":"Tafadhali chagua sababu"},"relevance":{"step1:anc_hf_visit":{"type":"string","ex":"equalTo(., \"No\")"}}},{"key":"other_reason_missed_visit","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"other_reason_missed_visit","type":"edit_text","hint":"Sababu nyingine ya kutofika kituoni","edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza sababu nyingine"},"relevance":{"step1:reason_for_missed_visit":{"type":"string","ex":"equalTo(., \"other\")"}}},{"key":"anc_hf_next_visit_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"anc_hf_next_visit_date","type":"spacer"},{"key":"confirmed_visits","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"confirmed_visits","type":"spacer","read_only":"true","hidden":"true","value":"0"}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json index 90e63b4598..da2b56b016 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json @@ -1,141 +1 @@ -{ - "count": "1", - "encounter_type": "Home Visit - Malaria", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Kinga dhidi ya malaria", - "fields": [ - { - "key": "fam_llin", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Ana chandarua chenye viuwatilifu vya muda mrefu?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo angalau moja" - } - }, - { - "key": "llin_2days", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, amelala kwenye chandarua chenye viuwatilifu vya muda mrefu usiku uliopita?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo angalau moja" - }, - "relevance": { - "step1:fam_llin": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - }, - { - "key": "llin_condition", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Hali ya chandarua chenye viuwatilifu vya muda mrefu kinachotumika", - "values": [ - "Nzima", - "Mbovu" - ], - "keys": [ - "Good", - "Bad" - ], - "openmrs_choice_ids": { - "Good": "Good", - "Bad": "Bad" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo angalau moja" - }, - "relevance": { - "step1:fam_llin": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Home Visit - Malaria","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Malaria prevention","fields":[{"key":"fam_llin","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fam_llin","openmrs_data_type":"select one","type":"spinner","hint":"Je, mwanamke ana chandarua chenye dawa ya muda mrefu (LLIN)?","values":["Ndiyo ","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"llin_2days","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"llin_2days","openmrs_data_type":"select one","type":"spinner","hint":"Je, alilala ndani ya chandarua jana usiku?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"step1:fam_llin":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"llin_condition","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"llin_condition","openmrs_data_type":"select one","type":"spinner","hint":"Hali ya chandarua","values":["Nzuri","Mbaya"],"keys":["Good","Bad"],"openmrs_choice_ids":{"Good":"Good","Bad":"Bad"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"step1:fam_llin":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"malaria_sp","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"malaria_sp","openmrs_data_type":"select one","type":"spinner","hint":"Je, mteja ametumia dawa ya kuzuia malaria (SP)?","values":["Ndiyo ",""],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"reason_for_missed_sp","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"reason_for_missed_sp","type":"spinner","hint":"Sababu kwa nini mteja hatumii dawa za SP","values":["Mteja hakupewa dawa za SP","Mteja alipoteza dawa zake","Uzembe wa mteja","Nyingine"],"keys":["client_was_not_given_sp_dosage","client_lost_her_medication","client_negligence","other"],"openmrs_choice_ids":{"client_was_not_given_sp_dosage":"client_was_not_given_sp_dosage","client_lost_her_medication":"client_lost_her_medication","client_negligence":"client_negligence","other":"other"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"step1:malaria_sp":{"type":"string","ex":"equalTo(., \"No\")"}}},{"key":"other_reason_missed_sp_dosage","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"other_reason_missed_sp_dosage","type":"edit_text","hint":"Sababu nyingine kwa nini mteja hatumii dawa za SP","edit_type":"name","v_required":{"value":"true","err":"Tafahdali ingiza sababu hiyo"},"relevance":{"step1:reason_for_missed_sp":{"type":"string","ex":"equalTo(., \"other\")"}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json index d934643339..c1a987ab37 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json @@ -1,82 +1 @@ -{ - "count": "1", - "encounter_type": "Home Visit - Nutrition Status", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Hali ya lishe", - "fields": [ - { - "key": "nutrition_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_status", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, hali ya lishe ya mama ikoje?", - "values": [ - "Nzuri/Kijani", - "Kadri/Njano", - "Dhaifu/Nyekundu" - ], - "keys": [ - "Normal", - "Moderate", - "Severe" - ], - "openmrs_choice_ids": { - "Normal": "Normal", - "Moderate": "Moderate", - "Severe": "Severe" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo angalau moja" - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Home Visit - Nutrition Status","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Nutrition status","fields":[{"key":"nutrition_status","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"nutrition_status","openmrs_data_type":"select one","type":"spinner","hint":"Je, hali ya lishe ya mama ikoje?","values":["Kawaida/Kijani","Wastani/Njano","Mbaya/Nyekundu"],"keys":["Normal","Moderate","Severe"],"openmrs_choice_ids":{"Normal":"Normal","Moderate":"Moderate","Severe":"Severe"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json index 42c535662d..23ba8e5812 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json @@ -1,157 +1 @@ -{ - "count": "1", - "encounter_type": "Home Visit - Obs and Illness", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Uchunguzi na ugonjwa", - "fields": [ - { - "key": "date_of_illness", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "date_of_illness", - "type": "date_picker", - "hint": "Tarehe", - "expanded": false, - "min_date": "today-1y", - "max_date": "today", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe ya ugonjwa" - } - }, - { - "key": "illness_description", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "illness_description", - "type": "edit_text", - "hint": "Maelezo", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza maelezo" - } - }, - { - "key": "action_taken", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "action_taken", - "type": "check_box", - "label": "Hatua zilizochukuliwa", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_ors", - "text": "ORS 5", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_ors" - }, - { - "key": "chk_zinc", - "text": "Zinc 10", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_zinc" - }, - { - "key": "chk_paracetamol", - "text": "Panadol", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_paracetamol" - }, - { - "key": "chk_referred", - "text": "Amepewa rufaa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_referred" - }, - { - "key": "chk_other_treatment", - "text": "Matibabu mengine", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other_treatment" - }, - { - "key": "chk_none", - "text": "Hajapewa matibabu yoyote", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" - } - ] - }, - { - "key": "other_treatment_illness", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_treatment_illness", - "type": "edit_text", - "hint": "Matibabu mengine", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza maelezo ya ugonjwa" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_hv_observations.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Home Visit - Obs and Illness","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Observations & Illness","fields":[{"key":"date_of_illness","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"date_of_illness","type":"date_picker","hint":"Tarehe","expanded":false,"min_date":"today-1y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya ugonjwa"}},{"key":"illness_description","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"illness_description","type":"edit_text","hint":"Maelezo","v_required":{"value":"true","err":"Tafadhali ingiza maelezo hayo"}},{"key":"action_taken","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"action_taken","type":"check_box","label":"Hatua iliyochukuliwa","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_ors","text":"ORS 5","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_ors"},{"key":"chk_zinc","text":"Zinc 10","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_zinc"},{"key":"chk_paracetamol","text":"Panadol","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_paracetamol"},{"key":"chk_referred","text":"Kupewa rufaa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_referred"},{"key":"chk_none","text":"Hakuna matibabu yaliyotolewa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_pregnancy_risk_form.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_pregnancy_risk_form.json index aa16f2a6d2..e188fead3e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_pregnancy_risk_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_pregnancy_risk_form.json @@ -1,97 +1 @@ -{ - "count": "1", - "encounter_type": "Pregnancy risk", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Hatari ya ujazito", - "fields": [ - { - "key": "preg_risk", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "preg_risk", - "type": "check_box", - "label": "Hatari ya ujazito", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "saveObsAsArray": true, - "exclusive": [ - "Low", - "Medium", - "High" - ], - "options": [ - { - "key": "Low", - "text": "Kidogo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "Low" - }, - { - "key": "Medium", - "text": "Kati kati", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "Medium" - }, - { - "key": "High", - "text": "Kubwa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "High" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Pregnancy risk","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Pregnancy risk","fields":[{"key":"preg_risk","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"preg_risk","type":"check_box","label":"Hatari ya ujauzito kwa mwanamke","label_text_style":"normal","text_color":"#C0C0C0","saveObsAsArray":true,"exclusive":["Low","Medium","High"],"options":[{"key":"Low","text":"Chini","value":false,"openmrs_entity":"concept","openmrs_entity_id":"Low"},{"key":"Medium","text":"Wastani","value":false,"openmrs_entity":"concept","openmrs_entity_id":"Medium"},{"key":"High","text":"Juu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"High"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau mojawapo"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json index 3ccff99651..f2a43b9937 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json @@ -1,66 +1 @@ -{ - "count": "1", - "encounter_type": "Home Visit - Remarks and comment", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Maoni", - "fields": [ - { - "key": "chw_comment_anc", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "chw_comment_anc", - "type": "edit_text", - "hint": "Toa maoni", - "v_required": { - "value": "false", - "err": "Tafadhali ingiza maoni na maoni yako" - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Home Visit - Remarks and comment","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Remarks/Comments","fields":[{"key":"chw_comment_anc","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"chw_comment_anc","type":"edit_text","hint":"Maoni","v_required":{"value":"false","err":"Tafadhali ingiza maoni yako"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json index 65b9a36507..8edb5c52dd 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json @@ -1,423 +1 @@ -{ - "count": "1", - "encounter_type": "ANC Registration", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Usajili wa ANC", - "fields": [ - { - "key": "relational_id", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "relational_id", - "type": "hidden" - }, - { - "key": "last_menstrual_period", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "last_menstrual_period", - "type": "date_picker", - "hint": "Tarehe ya kwanza ya hedhi ya kawaida ya mwisho (LNMP)", - "label_info_title": "LMP", - "label_info_text": "LNMP = Siku ya kwanza ya mwisho ya hedhi (LNMP). Kama tarehe halisi haijulikani, lakini kipindi cha mwezi kinajulikana; \n ∙ tumia tarehe 5 kwa mwanzo wa mwezi \n ∙ tumia tarehe 15 kwa katikati ya mwezi \n ∙ tumia tarehe 25 kwa mwisho wa mwezi.", - "expanded": false, - "max_date": "today", - "min_date": "today-50w", - "v_required": { - "value": "true", - "err": "LNMP inahitajika" - }, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_calculation.yml" - } - } - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } - } - }, - { - "key": "last_menstrual_period_unknown", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "last_menstrual_period_unknown", - "openmrs_data_type": "text", - "type": "check_box", - "options": [ - { - "key": "lmp_unknown", - "text": "Tarehe ya kwanza ya hedhi ya kawaida ya mwisho (LNMP) haijulikani?", - "text_size": "18px", - "value": "false" - } - ] - }, - { - "key": "edd", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "edd", - "type": "date_picker", - "hint": "Tarehe ya kutarijia kujifungua (EDD)", - "max_date": "today+50w", - "min_date": "today", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_calculation.yml" - } - } - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } - }, - "v_required": { - "value": "true", - "err": "Required" - } - }, - { - "key": "gest_age_note", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "edit_text", - "hint": "Umri wa mimba (GA)", - "read_only": true, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_calculation.yml" - } - } - } - }, - { - "key": "edd_note", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "edit_text", - "hint": "Tarehe ya kutarijia kujifungua (EDD)", - "read_only": true, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_calculation.yml" - } - } - } - }, - { - "key": "gest_age", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "gest_age", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_calculation.yml" - } - } - } - }, - { - "key": "no_prev_preg", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "no_prev_preg", - "type": "edit_text", - "edit_type": "number", - "hint": "Idadi ya mimba zilizotangulia", - "v_required": { - "value": "true", - "err": "Ingiza thamani sawa au kubwa kuliko 0" - }, - "v_numeric_integer": { - "value": "true", - "err": "Ingiza thamani sawa au kubwa kuliko 0" - }, - "v_min": { - "value": "0", - "err": "Nambari lazima iwe chini ya au sawa na Idadi ya Mimba za awali" - } - }, - { - "key": "gravida", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "gravida", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_calculation.yml" - } - } - } - }, - { - "key": "delivery_method", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_method", - "type": "check_box", - "label": "Je, umejifungua mtoto/watoto kwa njia ya kawaida au kwa njia ya upasuaji?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } - }, - "options": [ - { - "key": "chk_vaginally", - "text": "Njia ya kawaida", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_vaginally" - }, - { - "key": "chk_cesarean_section", - "text": "Njia ya upasuaji", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cesarean_section" - }, - { - "key": "chk_miscarriage", - "text": "Mimba kuharibika", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_miscarriage" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo" - } - }, - { - "key": "delivery_method_one", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_method_one", - "type": "native_radio", - "label": "Je, umejifungua mtoto/watoto kwa njia ya kawaida au kwa njia ya upasuaji?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } - }, - "options": [ - { - "key": "chk_vaginally", - "text": "Njia ya kawaida", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_vaginally" - }, - { - "key": "chk_cesarean_section", - "text": "Njia ya upasuaji", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cesarean_section" - }, - { - "key": "chk_miscarriage", - "text": "Mimba kuharibika", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_miscarriage" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo angalau moja" - } - }, - { - "key": "no_surv_children", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "no_surv_children", - "type": "edit_text", - "edit_type": "number", - "hint": "Idadi ya watoto walio hai", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } - }, - "v_required": { - "value": "true", - "err": "Required" - }, - "v_numeric_integer": { - "value": "true", - "err": "Ingiza thamani sawa au kubwa kuliko 0" - }, - "v_min": { - "value": "0", - "err": "Idadi ya watoto lazima iwe sawa au kubwa kuliko 0" - } - }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Namba ya simu", - "v_required": { - "value": false - }, - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." - } - }, - { - "key": "person_assist", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "person_assist", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, mama ana mwenza/ndugu wa karibu wa umri kuanzia miaka 18 na zaidi ambae ataweza kumsaidia wakati wa ujauzito?", - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - } - }, - { - "key": "name_person_assist", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "name_person_assist", - "type": "edit_text", - "hint": "Jina la mwenza/ndugu wa karibu anayeishi naye mwenye umri kuanzia miaka 18 na zaidi", - "edit_type": "name", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la mtu huyo" - } - }, - { - "key": "phone_person_assist", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_person_assist", - "type": "edit_text", - "hint": "Phone number", - "v_required": { - "value": false - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } - }, - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"ANC Registration","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"ANC Registration","fields":[{"key":"relational_id","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"relational_id","type":"hidden"},{"key":"last_menstrual_period","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_menstrual_period","type":"date_picker","hint":"Kipindi cha Mwisho cha Hedhi iliyo ya Kawaida (LNMP)","label_info_title":"LNMP","label_info_text":"LNMP = first day of Last Normal Menstrual Period. If the exact date is unknown, but the period of the month is known, use day 5 for beginning of the month, day 15 for middle of the month and day 25 for end of the month.","expanded":false,"max_date":"today","min_date":"today-50w","v_required":{"value":"true","err":"Tarehe ya mwisho ya hedhi ya kawaida"},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}}},{"key":"last_menstrual_period_unknown","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_menstrual_period_unknown","openmrs_data_type":"text","type":"check_box","options":[{"key":"lmp_unknown","text":"Kipindi cha Mwisho cha Hedhi ya Kawadia isiyojulikana","text_size":"18px","value":"false"}]},{"key":"edd","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"edd","type":"date_picker","hint":"Tarehe ya Kujifungua inayotarajiwa (EDD)","max_date":"today+50w","min_date":"today","calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"gest_age_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Umri wa ujauzito (GA)","read_only":true,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"edd_note","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"edit_text","hint":"Tarehe ya Kujifungua inayotarajiwa (EDD)","read_only":true,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"gest_age","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gest_age","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"no_prev_preg","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_prev_preg","type":"edit_text","edit_type":"number","hint":"Idadi ya mimba zilizopita","v_required":{"value":"true","err":"Sawa na au zaidi ya 0"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Number must be equal or greater than 0"},"v_min.err":"Namba lazima iwe sawa au zaidi ya 0"},{"key":"gravida","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gravida","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"delivery_method","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_method","type":"check_box","label":"Je, umejifungua mtoto/watoto wako kwa njia ya kawaida (kupitia uke) au kwa njia ya upasuaji?","label_text_style":"normal","text_color":"#C0C0C0","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"options":[{"key":"chk_vaginally","text":"Njia ya kawaida (kupiitia uke)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_vaginally"},{"key":"chk_cesarean_section","text":"Upasuaji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cesarean_section"},{"key":"chk_miscarriage","text":"Iliharibika","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_miscarriage"}],"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"delivery_method_one","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_method_one","type":"native_radio","label":"Je, umejifungua mtoto/watoto wako kwa njia ya kawaida (kupitia uke) au kwa njia ya upasuaji?","label_text_style":"normal","text_color":"#C0C0C0","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"options":[{"key":"chk_vaginally","text":"Njia ya kawaida (kupiitia uke)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_vaginally"},{"key":"chk_cesarean_section","text":"Upasuaji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cesarean_section"},{"key":"chk_miscarriage","text":"Iliharibika","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_miscarriage"}],"v_required":{"value":"true","err":"Tafadhali chagua zote zinazotumika"}},{"key":"no_surv_children","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_surv_children","type":"edit_text","edit_type":"number","hint":"Idadi ya watoto walio hai","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_relative_max":{"value":"no_prev_preg","err":"Number must be less than or equal to Number of Previous Pregnancies"}},{"key":"phone_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_number","type":"edit_text","hint":"Namba ya simu","v_numeric":{"value":"true","err":"Namba lazima iwe na jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Namba lazima iwe na tarakimu 10 na ianze na 0"},"v_required":{"value":false,"err":"Haijafafanuliwa"}},{"key":"person_assist","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"person_assist","openmrs_data_type":"select one","type":"spinner","hint":"Je, mama ana mtu yeyote, mwenye umri wa miaka 18 au zaidi, ambaye angeweza kumsaidia wakati wa ujauzito wake?","v_required":{"value":"true","err":"Tadhali chagua chaguo moja"},"values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"}},{"key":"name_person_assist","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"name_person_assist","type":"edit_text","hint":"Jina la mtu wa karibu/jamaa anayeishi naye na ana umri wa miaka 18 au zaidi","edit_type":"name","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Tafadhali ingiza jina la mtu huyo"}},{"key":"phone_person_assist","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_person_assist","type":"edit_text","hint":"Namba ya simu","v_required":{"value":false,"err":"Haijafafanuliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_numeric":{"value":"true","err":"Namba lazima iwe na jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Namba lazima iwe na tarakimu 10 na ianze na 0"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json index 806416ba3f..1161632437 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json @@ -1,561 +1 @@ -{ - "validate_on_submit": true, - "show_errors_on_submit": false, - "count": "1", - "encounter_type": "Pregnancy Outcome", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Matokeo ya ujauzito", - "fields": [ - { - "key": "relational_id", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "relational_id", - "type": "hidden" - }, - { - "key": "preg_outcome", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "preg_outcome", - "type": "native_radio", - "label": "Matokeo ya ujauzito", - "label_text_style": "bold", - "text_color": "#000000", - "options": [ - { - "key": "born_alive", - "text": "Mtoto amezaliwa hai", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "born_alive", - "openmrs_entity_parent": "" - }, - { - "key": "born_alive_died", - "text": "Mtoto amezaliwa hai, lakini akafariki", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "born_alive_died", - "openmrs_entity_parent": "" - }, - { - "key": "still_born", - "text": "Mtoto amezaliwa mfu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "still_born", - "openmrs_entity_parent": "" - }, - { - "key": "alive_with_problem", - "text": "Mtoto amezaliwa hai, lakini ana shida (mf. ulemavu, kupumua kwa shida, nk.)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "alive_with_problem", - "openmrs_entity_parent": "" - }, - { - "key": "miscarriage", - "text": "Mimba kuharibika", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "miscarriage", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua matokeo ya ujauzito" - } - }, - { - "key": "miscarriage_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "miscarriage_date", - "type": "date_picker", - "hint": "Tarehe ya kuharibika mimba", - "expanded": false, - "max_date": "today", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe mwanamke ameharibika mimba." - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_pregnancy_outcome_relevance.yml" - } - } - } - }, - { - "key": "delivery_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_date", - "type": "date_picker", - "hint": "Tarehe ya kujifungua", - "expanded": false, - "max_date": "today", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe mwanamke aliyejifungua" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_pregnancy_outcome_relevance.yml" - } - } - } - }, - { - "key": "no_children", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "no_children", - "type": "hidden" - }, - { - "key": "delivery_place", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_place", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Mahali alipojifungulia mama", - "values": [ - "Nyumbani", - "Kituo cha kutolea huduma za afya", - "Njiani kabla ya kufika kituoni", - "Mahali pengine" - ], - "keys": [ - "At home", - "At a health facility", - "On the way to the health facility", - "Other" - ], - "openmrs_choice_ids": { - "At Home": "At home", - "At a health facility": "At a health facility", - "On the way to the health facility": "On the way to the health facility", - "Other": "Other" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_pregnancy_outcome_relevance.yml" - } - } - } - }, - { - "key": "delivery_home", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_home", - "type": "native_radio", - "label": "Je, nani amemsaidia kujifungulia nyumbani?", - "label_text_style": "bold", - "text_color": "#C0C0C0", - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_pregnancy_outcome_relevance.yml" - } - } - }, - "options": [ - { - "key": "gave_birth_alone", - "text": "Amejifungulia nyumbani pekee yake/bila mtu", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "gave_birth_alone" - }, - { - "key": "gave_birth_with_help", - "text": "Amejifungulia nyumbani akisaidiwa na mtu wa familia/rafiki/jirani", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "gave_birth_with_help" - }, - { - "key": "midwife_help", - "text": "Amejifungulia nyumbani akisaidiwa na mkunga wa jadi", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "midwife_help" - } - ] - }, - { - "key": "delivery_hf", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_hf", - "type": "native_radio", - "label": "Amejifungua kwenye kituo cha kutolea huduma ya afya. Je, amesindikizwa na nani?", - "label_text_style": "bold", - "text_color": "#C0C0C0", - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_pregnancy_outcome_relevance.yml" - } - } - }, - "options": [ - { - "key": "facility_family_member", - "text": "Amejifungulia  katika kituo cha kutolea huduma za afya, na amesindikizwa na mwanafamilia.", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "facility_family_member" - }, - { - "key": "facility_midwife", - "text": "Amejifungulia katika kituo cha kutolea huduma za afya, na amesindikizwa na mkunga wa jadi", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "facility_midwife" - }, - { - "key": "alone", - "text": "Amejifungulia katika kituo cha kutolea huduma za afya, na amekuja pekee yake", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "alone" - }, - { - "key": "other_pple", - "text": "Amejifungulia katika kituo cha kutolea huduma ya afya, na amesindikizwa na watu wengine", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_pple" - }, - { - "key": "other_chw", - "text": "Amejifungulia katika kituo cha kutolea huduma ya afya, na amesindikizwa na CHW", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_chw" - } - ] - }, - { - "key": "baby_label", - "type": "label", - "text": "MAELEZO YA MTOTO", - "has_bg": true, - "left_padding": "20dp", - "right_padding": "20dp", - "text_size": "8sp", - "text_color": "#000000", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_pregnancy_outcome_relevance.yml" - } - } - } - }, - { - "key": "fam_name", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "fam_name", - "type": "hidden" - }, - { - "key": "no_children_no", - "type": "repeating_group", - "reference_edit_text_hint": "Idadi ya watoto waliozaliwa hai", - "repeating_group_label": "Maelezo ya mtoto #", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "repeating_group_max": "10", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_pregnancy_outcome_relevance.yml" - } - } - }, - - "value": [ - { - "key": "surname", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "edit_text", - "hint": "Jina la mwisho (ukoo)", - "edit_type": "name", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Tafadhali ingiza jina halali" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la ukoo" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-dynamic": "anc_pregnancy_outcome_relevance.yml" - } - } - } - - }, - { - "key": "same_as_fam_name_chk", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "openmrs_data_type": "text", - "type": "check_box", - "options": [ - { - "key": "same_as_fam_name", - "text": "Surname sawa na jina la ukoo", - "text_size": "18px", - "value": "false" - } - ] - }, - { - "key": "first_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "first_name", - "type": "edit_text", - "hint": "Jina la kwanza", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la kwanza" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Please enter a valid name" - } - }, - { - "key": "middle_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "middle_name", - "type": "edit_text", - "hint": "Jina la kati", - "edit_type": "name", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Tafadhali ingiza jina halali" - } - }, - { - "key": "dob", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdate", - "type": "hidden" - }, - { - "key": "gender", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Jinsi", - "values": [ - "Me", - "Ke" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jinsia" - } - }, - { - "key": "disabilities", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", - "type": "spinner", - "hint": "Ulemavu", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza ulemavu" - } - }, - { - "key": "type_of_disability", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "edit_text", - "hint": "Aina ya ulemavu", - "edit_type": "name", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-dynamic": "anc_pregnancy_outcome_relevance.yml" - } - } - } - }, - { - "key": "early_bf_1hr", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "early_bf_1hr", - "type": "spinner", - "hint": "Unyonyeshaji wa mtoto ndani ya saa moja baada ya kujifungua?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - } - }, - { - "key": "vacc_birth", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "vacc_birth", - "type": "check_box", - "label": "Chanjo gani alizopata mtoto?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_none", - "text": "Hajapata chanjo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" - }, - { - "key": "chk_opv_0", - "text": "OPV 0", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_opv_0" - }, - { - "key": "chk_bcg", - "text": "BCG", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_bcg" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo angalau moja" - } - } - ] - } - ] - } -} \ No newline at end of file +{"validate_on_submit":true,"show_errors_on_submit":false,"count":"1","encounter_type":"Pregnancy Outcome","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Pregnancy Outcome","fields":[{"key":"relational_id","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"relational_id","type":"hidden"},{"key":"preg_outcome","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"preg_outcome","type":"native_radio","label":"Matokeo ya ujauzito","label_text_style":"bold","text_color":"#000000","options":[{"key":"born_alive","text":"Mtoto alizaliwa akiwa hai","value":false,"openmrs_entity":"concept","openmrs_entity_id":"born_alive","openmrs_entity_parent":""},{"key":"born_alive_died","text":"Mtoto alizaliwa akiwa hai, lakini akafa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"born_alive_died","openmrs_entity_parent":""},{"key":"still_born","text":"Mtoto alizaliwa mfu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"still_born","openmrs_entity_parent":""},{"key":"alive_with_problem","text":"Mtoto alizaliwa akiwa hai, lakini wana tatizo (yaani ulemavu, matatizo ya kupumua, n.k.)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"alive_with_problem","openmrs_entity_parent":""},{"key":"miscarriage","text":"Iliharibika","value":false,"openmrs_entity":"concept","openmrs_entity_id":"miscarriage","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Tafadhali chagua matokeo ya ujauzito"}},{"key":"miscarriage_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"miscarriage_date","type":"date_picker","hint":"Tarehe ya kuharibika kwa mimba","expanded":false,"max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kuharibika kwa mimba ya mwanamke"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}}},{"key":"delivery_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_date","type":"date_picker","hint":"Tarehe ya kujifungua","expanded":false,"max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kujifungua kwa mwanamke huyo"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}}},{"key":"no_children","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_children","type":"hidden"},{"key":"delivery_place","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_place","openmrs_data_type":"select one","type":"spinner","hint":"Mahali ambapo mama alijifungulia","values":["Nyumbani","Katika kituo cha afya","Njiani kuelekea kituo cha afya","Nyingine"],"keys":["At home","At a health facility","On the way to the health facility","Other"],"openmrs_choice_ids":{"At home":"At home","At a health facility":"At a health facility","On the way to the health facility":"On the way to the health facility","Other":"Other"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}}},{"key":"delivery_home","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_home","type":"native_radio","label":"Nani alimsaidia mama kujifungua nyumbani?","label_text_style":"bold","text_color":"#C0C0C0","v_required":{"value":"true","err":"Tafadhali chagua"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}},"options":[{"key":"gave_birth_alone","text":"Alijifungua nyumbani peke yake","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gave_birth_alone"},{"key":"gave_birth_with_help","text":"Alijifungulia nyumbani kwa msaada wa mwanafamilia/rafiki/jirani","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gave_birth_with_help"},{"key":"midwife_help","text":"Alijifungulia nyumbani kwa msaada wa mkunga wa jadi","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"midwife_help"}]},{"key":"delivery_hf","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_hf","type":"native_radio","label":"Mama alijifungua katika kituo cha afya. Nani aliongozana na mama hadi kituo cha afya?","label_text_style":"bold","text_color":"#C0C0C0","v_required":{"value":"true","err":"Tafadhali cchagua"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}},"options":[{"key":"facility_family_member","text":"Alijifungua katika kituo cha afya, na alisindikizwa na wanafamilia.","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"facility_family_member"},{"key":"facility_midwife","text":"Alijifungua katika kituo cha afya, na alisindikizwa na mkunga wa jadi","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"facility_midwife"},{"key":"alone","text":"Alijifungua katika kituo cha afya, na alikuja peke yake","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"alone"},{"key":"other_pple","text":"Alijifungua katika kituo cha afya, na alisindikizwa na watu wengine","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"other_pple"},{"key":"other_chw","text":"Alijifungua katika kituo cha afya, na aliandamana na mfanyakazi wa afya ya jamii (CHW)","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"other_chw"}]},{"key":"baby_label","type":"label","text":"BABY DETAILS","left_padding":"20dp","right_padding":"20dp","text_size":"7sp","text_color":"#000000","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}}},{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fam_name","type":"hidden"},{"key":"no_children_no","type":"repeating_group","reference_edit_text_hint":"Number of children born alive","repeating_group_label":"Baby Details #","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","repeating_group_max":"10","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}},"value":[{"key":"surname","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Surname","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*","err":"Please enter a valid name"},"v_required":{"value":"true","err":"Please enter the surname"},"relevance":{"rules-engine":{"ex-rules":{"rules-dynamic":"anc_pregnancy_outcome_relevance.yml"}}}},{"key":"same_as_fam_name_chk","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"text","type":"check_box","options":[{"key":"same_as_fam_name","text":"Surname same as family name","text_size":"18px","value":"false"}]},{"key":"first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"First name","edit_type":"name","v_required":{"value":"true","err":"Please enter the first name"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*","err":"Please enter a valid name"}},{"key":"middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","type":"edit_text","hint":"Middle name","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*","err":"Please enter a valid name"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdate","type":"hidden"},{"key":"gender","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"gender","type":"spinner","hint":"Sex","values":["Male","Female"],"keys":["Male","Female"],"v_required":{"value":"true","err":"Gender required"}},{"key":"disabilities","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"disabilities","type":"spinner","hint":"Physical disabilities","values":["Yes","No"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Required"}},{"key":"type_of_disability","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"type_of_disability","type":"edit_text","hint":"Type of physical disabilities","edit_type":"name","relevance":{"rules-engine":{"ex-rules":{"rules-dynamic":"anc_pregnancy_outcome_relevance.yml"}}}},{"key":"early_bf_1hr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"early_bf_1hr","type":"spinner","hint":"Early initiation of breastfeeding (1 hr)?","values":["Yes","No"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"}},{"key":"vacc_birth","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"vacc_birth","type":"check_box","label":"Which vaccinations were given?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_none","text":"None","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"},{"key":"chk_opv_0","text":"OPV 0","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_opv_0"},{"key":"chk_bcg","text":"BCG","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_bcg"}],"v_required":{"value":"true","err":"vaccinations given required"}}]}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_referral_form.json index 0d8bdc5e23..230cf4f007 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_referral_form.json @@ -1,421 +1 @@ -{ - "count": "1", - "encounter_type": "ANC Referral", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Rufaa ya mama mjamzito", - "fields": [ - { - "key": "chw_referral_hf_anc", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "hidden", - "is_problem": false, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_referral_calculation.yml" - } - } - } - }, - { - "key": "problem_hf_anc", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Tatizo / hali ya afya ya mteja", - "label_text_style": "bold", - "options": [ - { - "key": "Vaginal_bleeding", - "text": "Kutoka damu ukeni", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", - "text": "Kutoka uchafu / majimaji ukeni yenye harufu mbaya", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "High_blood_pressure", - "text": "Shinikizo la damu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "113088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Severe_abdominal_pain", - "text": "Maumivu makali ya tumbo", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Severe_anaemia", - "text": "Upungufu mkubwa wa damu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Convulsions", - "text": "Degedege / Mtukutiko wa mwili", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "No_movement_unusual_movement_for_a_child_in_the_womb", - "text": "Kutocheza / kucheza kusiko kwa kawaida kwa mtoto aliye tumboni", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Pregnancy_pains_before_9_months", - "text": "Uchungu kuanza mapema kabla ya mimba kufikia miezi 9", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "153316AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Early_age_pregnancy_below_18_years", - "text": "Kupata mimba katika umri mdogo (chini ya umri wa miaka 18)", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "163119AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "A_severe_headache_dizziness", - "text": "Maumivu makali ya kichwa / kizunguzungu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Swelling_of_the_face_andor_hands", - "text": "Kuvimba uso na / au mikono", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Fever", - "text": "Homa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Shivering_trembling", - "text": "Kutetemeka", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Nausea_and_Vomiting", - "text": "Kichefuchefu na kutapika", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "133473AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Water_sack_broke_before_contractions", - "text": "Chupa kupasuka mapema kabla ya uchungu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "129211AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Cord_prolapse", - "text": "Kutangulia kitovu cha mtoto", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "128419AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "HIV_care_and_support_services", - "text": "Huduma za wateja / wagonjwa wanaoishi na VVU", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Family_planning_services", - "text": "Huduma za uzazi wa mpango", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "PMTCT_for_mothers", - "text": "Huduma ya kuzuia maambukizi ya VVU toka kwa mama kwenda kwa mtoto", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Fistula", - "text": "Fistula", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Difficultly_breathing", - "text": "Kupumua kwa shida", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Breast_engorgement", - "text": "Kujaa au maumivu ya matiti, chuchu na kushindwa kunyonyesha", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Blurred_vision", - "text": "Kuona kwa shida", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Perineum_tear", - "text": "Kuchanika msamba", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Pregnancy_confirmation", - "text": "Kuhakiki uja-uzito", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "152305AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Other_symptoms", - "text": "Dalili nyingine", - "value": false, - "ignore": true, - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": true, - "err": "Tafadhali taja sababu ya rufaa ya mama mjamzito" - } - }, - { - "key": "problem_hf_anc_other", - "type": "edit_text", - "openmrs_entity": "", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "edit_type": "name", - "hint": "Dalili nyingine", - "v_required": { - "value": "true", - "err": "Tafadhali taja dalili zingine" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_referral_relevance.yml" - } - } - } - }, - { - "key": "service_before_anc", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "is_problem": false, - "label": "Huduma aliyopewa kabla ya rufaa", - "label_text_style": "bold", - "exclusive": [ - "None" - ], - "options": [ - { - "key": "ORS", - "text": "ORS", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Panadol", - "text": "Panadol", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Other_treatment", - "text": "Matibabu mengine", - "value": false, - "ignore": true, - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "None", - "text": "Hakuna huduma aliyopewa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": "true", - "err": "Huduma aliyopewa kabla ya rufaa ni lazima" - } - }, - { - "key": "service_before_anc_other", - "type": "edit_text", - "openmrs_entity": "", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "is_problem": false, - "edit_type": "name", - "hint": "Matibabu mengine", - "v_required": { - "value": "true", - "err": "Tafadhali taja matibabu mengine" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_referral_relevance.yml" - } - } - } - }, - { - "key": "referral_date_anc", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "hidden", - "is_problem": false, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_referral_calculation.yml" - } - } - } - }, - { - "key": "referral_time_anc", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "referral_time_anc", - "type": "hidden", - "is_problem": false, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_referral_calculation.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"ANC Referral","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"ANC referral form","fields":[{"key":"chw_referral_hf_anc","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_referral_calculation.yml"}}}},{"key":"problem_hf_anc","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Hali ya mteja / tatizo","label_text_style":"bold","options":[{"key":"Vaginal_bleeding","text":"Kutokwa na damu ukeni","value":false,"openmrs_entity":"","openmrs_entity_id":"147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell","text":"Kutokwa na majimaji yenye rangirangi na harufu mbaya","value":false,"openmrs_entity":"","openmrs_entity_id":"123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"High_blood_pressure","text":"Shinikizo la damu","value":false,"openmrs_entity":"","openmrs_entity_id":"113088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_anaemia","text":"upungufu mkali wa damu","value":false,"openmrs_entity":"","openmrs_entity_id":"162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Convulsions","text":"Degedege","value":false,"openmrs_entity":"","openmrs_entity_id":"113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"No_movement_unusual_movement_for_a_child_in_the_womb","text":"Hamna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni","value":false,"openmrs_entity":"","openmrs_entity_id":"113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Pregnancy_pains_before_9_months","text":"Maumivu ya ujauzito kabla ya miezi 9","value":false,"openmrs_entity":"","openmrs_entity_id":"153316AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Early_age_pregnancy_below_18_years","text":"Mimba ya umri mdogo (chini ya miaka 18)","value":false,"openmrs_entity":"","openmrs_entity_id":"163119AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"A_severe_headache_dizziness","text":"Maumivu makali ya kichwa / kizunguzungu","value":false,"openmrs_entity":"","openmrs_entity_id":"139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Swelling_of_the_face_andor_hands","text":"Kuvimba kwa uso na/au mikono","value":false,"openmrs_entity":"","openmrs_entity_id":"460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fever","text":"Homa","value":false,"openmrs_entity":"","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Shivering_trembling","text":"Kutetemeka","value":false,"openmrs_entity":"","openmrs_entity_id":"158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Nausea_and_Vomiting","text":"Kichefuchefu na kutapika","value":false,"openmrs_entity":"","openmrs_entity_id":"133473AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Water_sack_broke_before_contractions","text":"Maji ya uzazi kupasuka kabla ya mikazo","value":false,"openmrs_entity":"","openmrs_entity_id":"129211AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Cord_prolapse","text":"Kutokwa kwa kamba ya uzazi nje ya uke","value":false,"openmrs_entity":"","openmrs_entity_id":"128419AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"HIV_care_and_support_services","text":"Huduma za matunzo na usaidizi wa VVU","value":false,"openmrs_entity":"","openmrs_entity_id":"159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Family_planning_services","text":"Huduma za uzazi wa mpango","value":false,"openmrs_entity":"","openmrs_entity_id":"5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"PMTCT_for_mothers","text":"PMTCT kwa akina mama","value":false,"openmrs_entity":"","openmrs_entity_id":"160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fistula","text":"Fistula","value":false,"openmrs_entity":"","openmrs_entity_id":"160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Difficultly_breathing","text":"Kupumua kwa shida","value":false,"openmrs_entity":"","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Breast_engorgement","text":"Kuvimba kwa matiti","value":false,"openmrs_entity":"","openmrs_entity_id":"118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Blurred_vision","text":"Uoni hafifu","value":false,"openmrs_entity":"","openmrs_entity_id":"147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Perineum_tear","text":"Kupasuka kwa msamba","value":false,"openmrs_entity":"","openmrs_entity_id":"136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Pregnancy_confirmation","text":"Kuthibitisha ujauzito","value":false,"openmrs_entity":"","openmrs_entity_id":"152305AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_symptoms","text":"Dalili zingine","value":false,"ignore":true,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":true,"err":"Tafadhali bainisha sababu ya rufaa ya ANC"}},{"key":"problem_hf_anc_other","type":"edit_text","openmrs_entity":"","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","edit_type":"name","hint":"Dalili zingine","v_required":{"value":"true","err":"Tafadhali bainisha dalili nyingine"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_referral_relevance.yml"}}}},{"key":"service_before_anc","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","is_problem":false,"label":"Usimamizi wa kabla ya kutoa rufaa uliopewa","label_text_style":"bold","exclusive":["None"],"options":[{"key":"ORS","text":"ORS","value":false,"openmrs_entity":"","openmrs_entity_id":"351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Panadol","text":"Panadol","value":false,"openmrs_entity":"","openmrs_entity_id":"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_treatment","text":"Matibabu mengine","value":false,"ignore":true,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"HaKuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Sehemu ya usimamizi kabla ya ktutoa rufaa inahitajika"}},{"key":"service_before_anc_other","type":"edit_text","openmrs_entity":"","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","is_problem":false,"edit_type":"name","hint":"Other treatment","v_required":{"value":"true","err":"Please specify other treatment"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_referral_relevance.yml"}}}},{"key":"referral_date_anc","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_referral_calculation.yml"}}}},{"key":"referral_time_anc","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_referral_calculation.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/birth_certification.json b/opensrp-chw/src/ba/assets/json.form-sw/birth_certification.json new file mode 100644 index 0000000000..ff798b9880 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/birth_certification.json @@ -0,0 +1 @@ +{"count":"1","encounter_type":"Birth Certification","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Birth Certification","fields":[{"key":"birth_cert","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Mtoto ana cheti cha kuzaliwa?","values":["Ndiyo","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":true,"err":"Tafadhali chagua chaguo"}},{"key":"birth_cert_issue_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164129AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya kutoa cheti cha kuzaliwa","expanded":false,"max_date":"today","min_date":"","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kutoa cheti cha kuzaliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"birth_certification.yml"}}}},{"key":"birth_cert_num","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"162052AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"edit_text","hint":"Namba ya cheti cha kuzaliwa","v_required":{"value":"true","err":"Tafadhali ingiza namba"},"v_numeric":{"value":"true","err":"Namba lazima iwe tarakimu 15 au pungufu ya hapo"},"v_regex":{"value":"([0-9]{1,15})|\\s*","err":"Namba lazima iwe tarakimu 15 au pungufu ya hapo"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"birth_certification.yml"}}}},{"key":"birth_notification","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"165405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Je, arifa ya kuzaliwa ilifanywa?","values":["Ndiyo","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":false,"err":"Tafadhali chagua chaguo"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"birth_certification.yml"}}}},{"key":"birthinstroductions","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","text":"Ask to see the birth notification and instruct the caregiver to register the birth at County Health.","relevance":{"rules-engine":{"ex-rules":{"rules-file":"birth_certification.yml"}}}},{"key":"caregiverinstroductions","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","text":"Instruct the caregiver to have the birth registered at County Health.","relevance":{"rules-engine":{"ex-rules":{"rules-file":"birth_certification.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index 7fdc1938a9..8d02caf36d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -1,515 +1 @@ -{ - "count": "1", - "encounter_type": "Child Registration", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Ongeza mtoto chini ya miaki 5", - "fields": [ - { - "key": "unique_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_identifier", - "openmrs_entity_id": "opensrp_id", - "type": "edit_text", - "read_only": true, - "hint": "WAJA ID", - "v_numeric": { - "value": "true", - "err": "Tafadhali ingiza namba halali" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza namba ya kipekee" - } - }, - { - "key": "surname", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "edit_text", - "hint": "Jina la mwisho (ukoo)", - "edit_type": "name", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la ukoo" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family-child-relevance.yml" - } - } - } - }, - { - "key": "same_as_fam_name", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_data_type": "text", - "type": "check_box", - "label": "", - "exclusive": [ - "none" - ], - "options": [ - { - "key": "same_as_fam_name", - "text": "Jina la ukoo ni sawa na jina la familia", - "text_size": "18px", - "value": "false" - } - ] - }, - { - "key": "fam_name", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "label", - "hidden": "true" - }, - { - "key": "surname_calculation", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "last_name", - "type": "hidden", - "hint": "Jina la ukoo ni sawa na jina la famili", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family-child-calculation.yml" - } - } - } - }, - { - "key": "first_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "first_name", - "openmrs_data_type": "text", - "type": "edit_text", - "hint": "Jina la kwanza", - "expanded": false, - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la kwanza" - }, - "v_regex": { - "value": "[A-Za-z\\s\\-\\']*", - "err": "Tafadhali ingiza jina halali" - } - }, - { - "key": "middle_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "middle_name", - "openmrs_data_type": "text", - "type": "edit_text", - "hint": "Jina la kati", - "expanded": false, - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la kati" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" - } - }, - { - "key": "dob", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdate", - "type": "date_picker", - "hint": "Tarehe ya kuzaliwa", - "expanded": false, - "duration": { - "label": "Age" - }, - "min_date": "today-5y", - "max_date": "today", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe ya kuzaliwa" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family-child-relevance.yml" - } - } - } - }, - { - "key": "dob_unknown", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdateApprox", - "hidden": "false", - "type": "check_box", - "label": "", - "options": [ - { - "key": "dob_unknown", - "text": "Tarehe ya kuzaliwa haijulikani?", - "text_size": "18px", - "value": "false" - } - ], - "relevance": { - "step1:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } - }, - { - "key": "age", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "age", - "type": "edit_text", - "hint": "Umri", - "v_numeric": { - "value": "true", - "err": "Nambari lazima ianze na 0 na lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_min": { - "value": "0", - "err": "Umri lazima uwe sawa au mkubwa kuliko 0" - }, - "v_max": { - "value": "5", - "err": "Umri lazima uwe sawa au chini ya 5" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family-child-relevance.yml" - } - } - }, - "v_required": { - "value": true, - "err": "Tafadhali ingiza umri" - } - }, - { - "key": "insurance_provider", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "insurance_provider", - "type": "spinner", - "hint": "Bima ya afya unaotumia", - "values": [ - "Bima ya afya ya jamii (CHF)/(iCHF)", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", - "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Jubilee Insurance", - "Resolutions Insurance", - "Reliance Insurance", - "Bima ya afya nyingezo", - "Hakuna" - ], - "keys": [ - "Community Health Fund (CHF)", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "Mfuko wa Taifa wa Bima ya Afya (NHIF)", - "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Jubilee Insurance", - "Resolutions Insurance", - "Reliance Insurance", - "Other", - "None" - ], - "openmrs_choice_ids": { - "Community Health Fund (CHF)": "Community_Health_Fund", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", - "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", - "AAR Healthcare": "AAR_Healthcare", - "AAR Strategies Insurance": "Strategies_Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", - "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", - "Jubilee Insurance": "Jubilee_Insurance", - "Resolutions Insurance": "Resolutions_Insurance", - "Reliance Insurance": "Reliance_Insurance", - "Other": "Other_Health_Insurance_Type", - "None": "No_Health_Insurance" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza bima" - } - }, - { - "key": "insurance_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Health_Insurance_Type", - "type": "edit_text", - "hint": "Bima ya afya mwingine unaotumia", - "v_required": { - "value": "true", - "err": "Tafadhali taja bima" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "insurance_provider_number", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Health_Insurance_Number", - "type": "edit_text", - "hint": "Namba ya bima ya afya umaotumia", - "v_required": { - "value": "true", - "err": "Tafadhali ongeza nambari ya bima ya afya" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "gender", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Jinsi", - "values": [ - "Me", - "Ke" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jinsi" - } - }, - { - "key": "disabilities", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", - "type": "spinner", - "hint": "Hali ya ulemavu", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - } - }, - { - "key": "type_of_disability", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "edit_text", - "edit_type": "name", - "hint": "Aina ya ulemavu", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family-child-relevance.yml" - } - } - }, - "v_required": { - "value": true, - "err": "Tafadhali ingiza aina ya ulemavu wa mwili" - } - }, - { - "key": "birth_cert_available", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "birth_cert_available", - "type": "spinner", - "hint": "Cheti cha kuzaliwa", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family-child-relevance.yml" - } - } - } - }, - { - "key": "birth_regist_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "birth_regist_number", - "type": "edit_text", - "hint": "Namba ya cheti cha kuzaliwa", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family-child-relevance.yml" - } - } - } - }, - { - "key": "rhc_card", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "rhc_card", - "type": "spinner", - "hint": "Je, mtoto ana RCH kadi namba moja/kitabu cha ukuaji wa mtoto?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - } - }, - { - "key": "nutrition_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_status", - "type": "spinner", - "hint": "Hali ya lishe ya mtoto", - "values": [ - "Kijani", - "Kijivu/Njano", - "Nyekundu" - ], - "keys": [ - "Green", - "Grey", - "Red" - ], - "openmrs_choice_ids": { - "Green": "Green", - "Grey": "Grey", - "Red": "Red" - }, - "v_required": { - "value": "true", - "err": "Tafadhali toa hali ya lishe ya watoto" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family-child-relevance.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Child Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Add Child Under 5 years","fields":[{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","type":"edit_text","read_only":true,"hint":"Namba ya utambulisho ya WAJA","v_numeric":{"value":"true","err":"Tafadhali ingiza namba ya kitambulisho sahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza namba namba ya kipekee ya kitambulisho"}},{"key":"surname","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Jina la mwisho","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza jina la mwisho"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"same_as_fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"text","type":"check_box","label":"","exclusive":["none"],"options":[{"key":"same_as_fam_name","text":"Jina la mwisho sawa na jina la familia","text_size":"18px","value":"false"}]},{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","hidden":"true"},{"key":"surname_calculation","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"last_name","type":"hidden","hint":"Surname as Family name","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family-child-calculation.yml"}}}},{"key":"first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","openmrs_data_type":"text","type":"edit_text","hint":"Jina la kwanza","expanded":false,"edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kwanza"},"v_regex":{"value":"[A-Za-z\\s\\-\\']*","err":"Tafadhali ingiza jina sahihi"}},{"key":"middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","openmrs_data_type":"text","type":"edit_text","hint":"Jina la katiT","expanded":false,"edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kati"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdate","type":"date_picker","hint":"Tarehe ya kuzaliwa","expanded":false,"duration":{"label":"Age"},"min_date":"today-5y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kuzaliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"dob_unknown","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdateApprox","hidden":"false","type":"check_box","label":"","options":[{"key":"dob_unknown","text":"Tarehe ya kuzaliwa haijulikani","text_size":"18px","value":"false"}],"relevance":{"step1:dob":{"type":"string","ex":"equalTo(.,\"\")"}}},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"age","type":"edit_text","hint":"Umri","v_numeric":{"value":"true","err":""},"v_min":{"value":"0","err":"Age must be equal or greater than 0"},"v_max":{"value":"5","err":"Age must be equal or less than 5"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}},"v_required":{"value":true,"err":"Tafadhali ingiza umri"},"v_min.err":"Umri lazima uwe sawa au zaidi ya 0","v_max.err":"Umri ni lazima uwe sawa au chini ya 5"},{"key":"insurance_provider","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"insurance_provider","type":"spinner","hint":"Mtoa huduma ya bima ya afya","values":["Mfuko wa Afya ya Jamii (CHF)/(iCHF)","Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)","Mfuko wa Taifa wa Bima ya Afya (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Nyingine","Hakuna"],"keys":["Community Health Fund (CHF)","National Social Security Fund - Social Health Insurance Benefit (SHIB)","National Health Insurance Fund (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Other","None"],"openmrs_choice_ids":{"Community Health Fund (CHF)":"Community_Health_Fund","National Social Security Fund - Social Health Insurance Benefit (SHIB)":"National_Social_Security_Fund","National Health Insurance Fund (NHIF)":"National_Health_Insurance_Fund","Tiba Kwa Kadi (TIKA)":"Tiba_kwa_Kadi","AAR Healthcare":"AAR_Healthcare","AAR Strategies Insurance":"Strategies_Insurance","Milvik Tanzania Ltd (BIMA Mkononi)":"BIMA_Mkononi","Britam Insurance Tanzania":"Britam_Insurance_Tanzania","Jubilee Insurance":"Jubilee_Insurance","Resolutions Insurance":"Resolutions_Insurance","Reliance Insurance":"Reliance_Insurance","Other":"Other_Health_Insurance_Type","None":"No_Health_Insurance"},"v_required":{"value":"true","err":"Tafadhali ingiza mtoa huduma ya bima"}},{"key":"insurance_provider_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Health_Insurance_Type","type":"edit_text","hint":"Mtoa huduma mwingine wa bima ya afya","v_required":{"value":"true","err":"Tafadhali ingiza mtoa huduma ya bima"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"insurance_provider_number","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Number","type":"edit_text","hint":"Namba ya mtoa huduma wa bima ya afya","v_required":{"value":"true","err":"Tafadhali ongeza namba ya kitambulisho ya mtoa huduma wa bima ya afya"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"gender","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"gender","type":"spinner","hint":"Jinsia","values":["Kiume","Kike"],"keys":["Male","Female"],"v_required":{"value":"true","err":"Tafadhali ingiza jinsia"}},{"key":"disabilities","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"disabilities","type":"spinner","hint":"Ulemavu wa kimwili","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali ingiza moja"}},{"key":"type_of_disability","openmrs_entity_parent":"disabilities","openmrs_entity":"concept","openmrs_entity_id":"type_of_disability","type":"check_box","label":"Aina ya ulemavu wa kimwili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"physical_impairments","text":"Uhamaji na Ulemavu wa Kimwili","value":false,"openmrs_entity":"concept","openmrs_entity_id":"physical_impairments"},{"key":"spinal_cord_disability","text":"Ulemavu wa Uti wa Mgongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"spinal_cord_disability"},{"key":"brain_disability","text":"Majeraha ya Kichwa - Ulemavu wa Ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"brain_disability"},{"key":"vision_disability","text":"Ulemavu wa Kuona","value":false,"openmrs_entity":"concept","openmrs_entity_id":"vision_disability"},{"key":"hearing_disability","text":"Ulemavu wa Kusikia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"hearing_disability"},{"key":"learning_disabilities","text":"Ulemavu wa Utambuzi au Kujifunza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"learning_disabilities"},{"key":"psychological_disorders","text":"Matatizo ya Kisaikolojia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"psychological_disorders"},{"key":"invisible_disabilities","text":"Ulemavu Usioonekana","value":false,"openmrs_entity":"concept","openmrs_entity_id":"invisible_disabilities"}],"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}},"v_required":{"value":true,"err":"Tafadhali ingiza aina ya ulemavu wa kimwili"}},{"key":"birth_cert_available","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"birth_cert_available","type":"spinner","hint":"Usajili/cheti cha kuzaliwa","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"birth_regist_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"birth_regist_number","type":"edit_text","hint":"Namba ya usajili wa kuzaliwa","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"rhc_card","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"rhc_card","type":"spinner","hint":"Je, mtoto ana kadi ya RCH 1/kijitabu cha ukuaji wa mtoto?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"}},{"key":"nutrition_status","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"nutrition_status","type":"spinner","hint":"Hali ya lishe","values":["Kijani","Kijivu/Njano","Nyekundu"],"keys":["Green","Grey","Red"],"openmrs_choice_ids":{"Green":"Green","Grey":"Grey","Red":"Red"},"v_required":{"value":"true","err":"Tafadhali ingiza hali ya lishe ya mtoto"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_deworming.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_deworming.json index cb75ecc92d..9fc2cba804 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_deworming.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_deworming.json @@ -1,69 +1 @@ -{ - "count": "1", - "encounter_type": "De-worming", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Dozi ya {0} ya dawa ya minyoo", - "fields": [ - { - "key": "deworming{0}_date", - "openmrs_entity_parent": "84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity": "concept", - "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "date_picker", - "image": "ic_form_deworming", - "hint": "Dawa ya minyoo ya {0} lilifanyika lini?", - "min_date": "today-120y", - "max_date": "today", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe ya dozi ya dawa ya minyoo" - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"De-worming","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Deworming {0} dose","fields":[{"key":"deworming{0}_date","openmrs_entity_parent":"84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","image":"ic_form_deworming","hint":"Je, dawa ya minyoo {0} ilitolewa lini?","min_date":"today-120y","max_date":"today","v_required":{"value":"true","err":"Tafadhali weka tarehe ambayo dawa ya minyoo ilitolewa"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_malaria_prevention.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_malaria_prevention.json index 410d200e26..228619892f 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_malaria_prevention.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_malaria_prevention.json @@ -1,141 +1 @@ -{ - "count": "1", - "encounter_type": "Malaria Prevention", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Kinga dhidi ya Malaria", - "fields": [ - { - "key": "fam_llin_1m5yr", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Ana chandarua chenye viuwatilifu vya muda mrefu?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - }, - { - "key": "llin_2days_1m5yr", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, amelala kwenye chandarua chenye viuwatilifu vya muda mrefu usiku uliopita?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "step1:fam_llin_1m5yr": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - }, - { - "key": "llin_condition_1m5yr", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Hali ya chandarua chenye viuwatilifu vya muda mrefu kinachotumika", - "values": [ - "Nzima", - "Mbovu" - ], - "keys": [ - "Okay", - "Bad" - ], - "openmrs_choice_ids": { - "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "step1:fam_llin_1m5yr": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Malaria Prevention","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Malaria Prevention","fields":[{"key":"fam_llin_1m5yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"select one","type":"spinner","hint":"Je, mtoto ana chandarua chenye dawa inayodumu kwa muda mrefu (LLIN)?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"llin_2days_1m5yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"select one","type":"spinner","hint":"Je, mtoto alilala kwenye chandarua chenye dawa inayodumu kwa muda mrefu (LLIN) jana usiku??","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafahdali chagua chaguo moja"},"relevance":{"step1:fam_llin_1m5yr":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"llin_condition_1m5yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"select one","type":"spinner","hint":"Hali ya chandarua (LLIN)","values":["Ndiyo","Hapana"],"keys":["Okay","Bad"],"openmrs_choice_ids":{"Okay":"159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Bad":"159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"step1:fam_llin_1m5yr":{"type":"string","ex":"equalTo(., \"Yes\")"}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_nutrition_status.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_nutrition_status.json index 7ec85d9d72..94f0b30797 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_nutrition_status.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_nutrition_status.json @@ -1,82 +1 @@ -{ - "count": "1", - "encounter_type": "Home Visit - Nutrition Status", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Hali ya lishe", - "fields": [ - { - "key": "nutrition_status_1m5yr", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163301AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Hali ya lishe", - "values": [ - "Kawaida", - "Dhaifu", - "Dhaifu sana" - ], - "keys": [ - "Normal", - "Moderate", - "Severe" - ], - "openmrs_choice_ids": { - "Normal": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Moderate": "1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo angalau moja" - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Home Visit - Nutrition Status","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Nutrition status","fields":[{"key":"nutrition_status_1m5yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163301AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Hali ya lishe ","values":["Kawaida","Wastani","Mbaya"],"keys":["Normal","Moderate","Severe"],"openmrs_choice_ids":{"Normal":"1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Moderate":"1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Severe":"1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vaccine_card_received.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vaccine_card_received.json new file mode 100644 index 0000000000..1556b12d17 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vaccine_card_received.json @@ -0,0 +1 @@ +{"count":"1","encounter_type":"Child vaccine card received","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Child vaccine card received","fields":[{"key":"child_vaccine_card","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164147AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","image":"form_received_card","hint":"Je, mtoto alipokea kadi yake ya chanjo?","values":["Ndiyo","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vitamin_a.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vitamin_a.json index ec026e47a1..33022acd46 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vitamin_a.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vitamin_a.json @@ -1,69 +1 @@ -{ - "count": "1", - "encounter_type": "Vitamin A", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Vitamin A {0} dose", - "fields": [ - { - "key": "vitamin_a{0}_date", - "openmrs_entity_parent": "84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity": "concept", - "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "date_picker", - "image": "ic_form_vitamin", - "hint": "Dozi ya Vitamini A ya {0} ilifanyika lini?", - "min_date": "today-120y", - "max_date": "today", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe ya dozi ya Vitamini A" - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Vitamin A","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Vitamin A {0} dose","fields":[{"key":"vitamin_a{0}_date","openmrs_entity_parent":"84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","image":"ic_form_vitamin","hint":"Dozi ya Vitamini A {0} ilifanywa lini?","min_date":"today-120y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ambayo vitamini A iliyotolewa"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/child_referral_form.json index fb3678ab8d..4b7430a0f4 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_referral_form.json @@ -1,378 +1 @@ -{ - "count": "1", - "encounter_type": "Sick Child Referral", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Fomu ya wagonjwa wa mtoto", - "fields": [ - { - "key": "chw_referral_hf_child", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "child_referral_calculation.yml" - } - } - } - }, - { - "key": "referral_problem_child", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Tatizo / hali ya afya ya mteja", - "label_text_style": "bold", - "options": [ - { - "key": "Fast_breathing_and_difficulty_with_breathing", - "text": "Kupumua kwa haraka na kushindwa kupumua", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Umbilical_cord_navel_bleeding", - "text": "Kutoka damu kwenye kitovu cha mtoto", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Excessive_crying", - "text": "Kulia sana kwa Mtoto", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Convulsions", - "text": "Degedege", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Unable_to_breastfeed_or_swallow", - "text": "Kushindwa kunyonya au kumeza", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Neck_stiffness", - "text": "Shingo kukakamaa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Fever", - "text": "Homa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Bloating", - "text": "Tumbo kujaa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Redness_around_the_umbilical_cord_foul_smelling_discharge_from_the_umbilical_cord", - "text": "Uambukizo kwenye kitovu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Bacterial_conjunctivitis", - "text": "Macho kutoa uchafu / usaa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Severe_anaemia", - "text": "Upungufu mkubwa wa damu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Severe_abdominal_pain", - "text": "Maumivu makali ya tumbo", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Pale_or_jaundiced", - "text": "Mwili kuwa njano", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Cyanosis_blueness_of_lips", - "text": "Kubadilika kwa sababu ya kukosa hewa (midomo kuwa bluu, ulimi au viganja)", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Skin_rash_pustules", - "text": "Vipele mwilini", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Diarrhea", - "text": "Kuharisha", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Vomiting", - "text": "Kutapika", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Disabilities", - "text": "Kuzaliwa na ulemavu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Premature_baby", - "text": "Mtoto aliyezaliwa na uzito pungufu / njiti", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Care_of_HIV_exposed_infant", - "text": "Huduma za kumsaidia mtoto aliyezaliwa na mama mwenye VVU", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Immunisation", - "text": "Huduma za chanjo", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Other_symptom", - "text": "Dalili nyingine", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": true, - "err": "Tafadhali taja shida ya kiafya" - } - }, - { - "key": "referral_problem_child_other", - "type": "edit_text", - "openmrs_entity": "", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "edit_type": "name", - "hint": "Dalili nyingine", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "child_referral_relevance.yml" - } - } - } - }, - { - "key": "service_before_child", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Huduma aliyopewa kabla ya rufaa", - "label_text_style": "bold", - "exclusive": [ - "None" - ], - "options": [ - { - "key": "ORS", - "text": "ORS", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Panadol", - "text": "Panadol", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Other_treatment", - "text": "Matibabu mengine", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "None", - "text": "Hajapewa matibabu yoyote", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": "true", - "err": "Huduma aliyopewa kabla ya rufaa ni lazima" - } - }, - { - "key": "service_before_child_other", - "type": "edit_text", - "openmrs_entity": "", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "edit_type": "name", - "hint": "Matibabu mengine", - "v_required": { - "value": "true", - "err": "Tafadhali taja matibabu mengine" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "child_referral_relevance.yml" - } - } - } - }, - { - "key": "referral_date_child", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "child_referral_calculation.yml" - } - } - } - }, - { - "key": "referral_time_child", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "child_referral_calculation.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Sick Child Referral","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Sick child form","fields":[{"key":"chw_referral_hf_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"child_referral_calculation.yml"}}}},{"key":"referral_problem_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Tatizo / hali ya kiafya","label_text_style":"bold","options":[{"key":"Fast_breathing_and_difficulty_with_breathing","text":"Kupumua haraka na ugumu wa kupumua","value":false,"openmrs_entity":"concept","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Umbilical_cord_navel_bleeding","text":"Kutokwa na damu kwa kitovu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Excessive_crying","text":"Kulia kupita kiasi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Convulsions","text":"Degedege","value":false,"openmrs_entity":"concept","openmrs_entity_id":"113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Unable_to_breastfeed_or_swallow","text":"Haiwezi kunyonya au kumeza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Neck_stiffness","text":"Shingo kukaza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fever","text":"Homa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Bloating","text":"Kuvimba","value":false,"openmrs_entity":"concept","openmrs_entity_id":"147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Redness_around_the_umbilical_cord_foul_smelling_discharge_from_the_umbilical_cord","text":"Wekundu kuzunguka kitovu, kutokwa na harufu mbaya kutoka kwa kitovu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Bacterial_conjunctivitis","text":"Kuvimba kwa macho inayosababishwa na bakteria","value":false,"openmrs_entity":"concept","openmrs_entity_id":"148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_anaemia","text":"Kupungukiwa sana kwa damu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Pale_or_jaundiced","text":"Kupoteza rangi kwenye ngozi au kuonekana wa njano","value":false,"openmrs_entity":"concept","openmrs_entity_id":"136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Cyanosis_blueness_of_lips","text":"Midomo kuonekana na rangi ya bluu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Skin_rash_pustules","text":"Kuwa na upele kwenye ngozi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Diarrhea","text":"Kuhara","value":false,"openmrs_entity":"concept","openmrs_entity_id":"142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Vomiting","text":"Kutapika","value":false,"openmrs_entity":"concept","openmrs_entity_id":"122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Disabilities","text":"Ulemavu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Premature_baby","text":"Mtoto njiti","value":false,"openmrs_entity":"concept","openmrs_entity_id":"159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Care_of_HIV_exposed_infant","text":"Utunzaji wa mtoto aliyeambukizwa VVU","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Immunisation","text":"Kupatiwa chanjo ya kinga","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_symptom","text":"Dalili zingine","value":false,"ignore":true,"openmrs_entity":"concept","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":true,"err":"Tafadhali taja tatizo la kiafya"}},{"key":"referral_problem_child_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Dalili zingine","relevance":{"rules-engine":{"ex-rules":{"rules-file":"child_referral_relevance.yml"}}}},{"key":"service_before_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Usimamizi wa kabla ya kupewa rufaa iliyotolewa","label_text_style":"bold","is_problem":false,"exclusive":["None"],"options":[{"key":"ORS","text":"ORS","value":false,"openmrs_entity":"concept","openmrs_entity_id":"351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Panadol","text":"Panadol","value":false,"openmrs_entity":"concept","openmrs_entity_id":"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_treatment","text":"Matibabu mengine","value":false,"ignore":true,"openmrs_entity":"concept","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Sehemu ya Usimamizi wa kabla ya kupewa rufaa inahitajika"}},{"key":"service_before_child_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Matibabu mengine","is_problem":false,"v_required":{"value":"true","err":"Tafadhali taji matibabu megine "},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"child_referral_relevance.yml"}}}},{"key":"referral_date_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"child_referral_calculation.yml"}}}},{"key":"referral_time_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"referral_time_child","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"child_referral_calculation.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json index 3fed4e520a..49996440f1 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json @@ -1,133 +1 @@ -{ - "count": "1", - "encounter_type": "Family Details", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Taarifa ya familia", - "fields": [ - { - "key": "fam_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "first_name", - "type": "edit_text", - "hint": "Jina la familia (Ukoo)", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la familia (ukoo)" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" - } - }, - { - "key": "unique_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_identifier", - "openmrs_entity_id": "opensrp_id", - "hidden": "true", - "type": "edit_text", - "barcode_type": "qrcode", - "hint": "ID *", - "scanButtonText": "Scan QR Code", - "v_numeric": { - "value": "true", - "err": "Tafadhali ingiza namba halali" - } - }, - { - "key": "village_town", - "openmrs_entity_parent": "", - "openmrs_entity": "person_address", - "openmrs_entity_id": "cityVillage", - "type": "edit_text", - "hint": "Jina la eneo", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la eneo" - } - }, - { - "key": "landmark", - "openmrs_entity_parent": "", - "openmrs_entity": "person_address", - "openmrs_entity_id": "landmark", - "type": "edit_text", - "hint": "Alama ya eneo la makazi" - }, - { - "key": "gps", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "gps", - "openmrs_data_type": "text", - "type": "gps" - }, - { - "key": "nearest_facility", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "nearest_facility", - "openmrs_data_type": "text", - "type": "tree", - "hint": "Kijiji/Mtaa", - "tree": [], - "v_required": { - "value": true, - "err": "Tafadhali chagua kijiji au mtaa" - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Family Details","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Family Details","fields":[{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"Jina la ukoo","edit_type":"name","v_required":{"value":"true","err":"Tafadhali weka jina la ukoo"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"}},{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","hidden":"true","type":"barcode","barcode_type":"qrcode","hint":"Number ya utambulisho","scanButtonText":"Scan QR Code","v_numeric":{"value":"true","err":"Tafadhali weka kitambulisho halali"}},{"key":"village_town","openmrs_entity_parent":"","openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","type":"edit_text","hint":"Jina la Eneo","v_required":{"value":"true","err":"Tafadhali weka jina la eneo"}},{"key":"landmark","openmrs_entity_parent":"","openmrs_entity":"person_address","openmrs_entity_id":"landmark","type":"edit_text","hint":"Alama ya kihistoria"},{"key":"gps","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gps","openmrs_data_type":"text","type":"gps"},{"key":"nearest_facility","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"nearest_facility","openmrs_data_type":"text","type":"tree","hint":"Kijiji/Mtaa","tree":[],"v_required":{"value":true,"err":"Tafadhali ingia kijijini au mtaani"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_child.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_child.json index 47d0728d2a..ffea43b3e3 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_child.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_child.json @@ -1,212 +1 @@ -{ - "count": "1", - "encounter_type": "Remove Child Under 5", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Ondoa mtoto chini ya miaki 5", - "fields": [ - { - "key": "spacer", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "spacer", - "spacer_height": "10sp" - }, - { - "key": "details", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "label", - "text": "", - "text_size": "25px" - }, - { - "key": "divider1", - "type": "h_line", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "spacer", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "spacer", - "spacer_height": "15dp" - }, - { - "key": "remove_reason", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Sababu ya kuiondoa", - "values": [ - "Kifo", - "Amehama", - "Sababu nyingine" - ], - "keys": [ - "Died", - "Moved away", - "Other" - ], - "v_required": { - "value": "true", - "err": "Chagua sababu ya kuondoa rekodi ya mtoto." - }, - "openmrs_choice_ids": { - "Died": "160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Moved away": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - }, - { - "key": "dob", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "spacer", - "expanded": false, - "read_only": "true", - "hidden": "false" - }, - { - "key": "date_moved", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "text", - "type": "date_picker", - "label": "Tarehe aliyohama", - "hint": "Tarehe aliyohama", - "expanded": false, - "min_date": "", - "max_date": "today", - "v_required": { - "value": "true", - "err": "Ingiza tarehe ambayo mwanachama alihama" - }, - "constraints": [ - { - "type": "date", - "ex": "greaterThanEqualTo(., step1:dob)", - "err": "Tarehe ya kuhamishwa haiwezi kuwa kabla ya tarehe ya kuzaliwa" - } - ], - "relevance": { - "step1:remove_reason": { - "type": "string", - "ex": "equalTo(., \"Moved away\")" - } - } - }, - { - "key": "date_died", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "text", - "type": "date_picker", - "label": "Tarehe ya kifo", - "hint": "Tarehe ya kifo", - "expanded": false, - "min_date": "", - "max_date": "today", - "v_required": { - "value": "true", - "err": "Ingiza tarehe ya kifo" - }, - "constraints": [ - { - "type": "date", - "ex": "greaterThanEqualTo(., step1:dob)", - "err": "Tarehe ya kifo haiwezi kutokea kabla ya tarehe ya kuzaliwa" - } - ], - "relevance": { - "step1:remove_reason": { - "type": "string", - "ex": "equalTo(., \"Died\")" - } - } - }, - { - "key": "age_at_death", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "label": "Umri wakati anafariki", - "hint": "Umri wakati anafariki", - "type": "edit_text", - "read_only": "true", - "relevance": { - "step1:remove_reason": { - "type": "string", - "ex": "equalTo(., \"Died\")" - } - }, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "child_remove_calculation.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Remove Child Under 5","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Remove Child Under 5","fields":[{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"10sp"},{"key":"details","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","text":"","text_size":"25px"},{"key":"divider1","type":"h_line","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":""},{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"15dp"},{"key":"remove_reason","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Sababu","values":["Alikufa","Imehamishwa","Nyingine"],"keys":["Died","Moved away","Other"],"v_required":{"value":"true","err":"Chagua sababu ya kuondoa rekodi ya mtoto."},"openmrs_choice_ids":{"Died":"160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Moved away":"160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Other":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","expanded":false,"read_only":"true","hidden":"false"},{"key":"date_moved","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"date_picker","label":"Date moved away","hint":"Tarehe ya kuhamishwa","expanded":false,"min_date":"","max_date":"today","v_required":{"value":"true","err":"Weka tarehe ambayo mwanachama alihama"},"constraints":[{"type":"date","ex":"greaterThanEqualTo(., step1:dob)","err":"Moved away date cannot be before date of birth"}],"relevance":{"step1:remove_reason":{"type":"string","ex":"equalTo(., \"Moved away\")"}}},{"key":"date_died","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"date_picker","label":"Date of death","hint":"Tarehe ya kifo","expanded":false,"min_date":"","max_date":"today","v_required":{"value":"true","err":"Weka tarehe ya kifo"},"constraints":[{"type":"date","ex":"greaterThanEqualTo(., step1:dob)","err":"Date of death can't occur before date of birth"}],"relevance":{"step1:remove_reason":{"type":"string","ex":"equalTo(., \"Died\")"}}},{"key":"age_at_death","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","label":"Age at death","hint":"Umri wakati wa kifo","type":"edit_text","read_only":"true","relevance":{"step1:remove_reason":{"type":"string","ex":"equalTo(., \"Died\")"}},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"child_remove_calculation.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_family.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_family.json index 84b8a4047e..3e82aad6d1 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_family.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_family.json @@ -1,171 +1 @@ -{ - "count": "1", - "encounter_type": "Remove Family", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Ondoa familia", - "fields": [ - { - "key": "spacer", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "spacer", - "spacer_height": "30sp" - }, - { - "key": "fam_name", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "label", - "text": "", - "text_size": "25px" - }, - { - "key": "details", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "label", - "text": "", - "text_size": "25px" - }, - { - "key": "divider1", - "type": "h_line", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "spacer", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "spacer", - "spacer_height": "20sp" - }, - { - "key": "closure_reason_fam", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Sababu ya kufungwa", - "values": [ - "Kaya imehama", - "Nyingine" - ], - "keys": [ - "Relocation", - "Other" - ], - "v_required": { - "value": "true", - "err": "Chagua sababu ya kuondoa rekodi ya familia." - }, - "openmrs_choice_ids": { - "Relocation": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - }, - { - "key": "closure_reason_other_fam", - "openmrs_entity_parent": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "text", - "type": "edit_text", - "hint": "Sababu nyingine", - "v_required": { - "value": "true", - "err": "Ingiza sababu ya kufungwa" - }, - "relevance": { - "step1:closure_reason_fam": { - "type": "string", - "ex": "equalTo(., \"Other\")" - } - } - }, - { - "key": "closure_reason_relocation_fam", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Kaya imehama", - "values": [ - "Ndani ya wilaya", - "Nje ya wilaya" - ], - "keys": [ - "Within the district", - "Outside the district" - ], - "v_required": { - "value": "true", - "err": "Ingiza sababu ya kufungwa" - }, - "relevance": { - "step1:closure_reason_fam": { - "type": "string", - "ex": "equalTo(., \"Relocation\")" - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Remove Family","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Remove Family","fields":[{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"30sp"},{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","text":"","text_size":"25px"},{"key":"details","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","text":"","text_size":"25px"},{"key":"divider1","type":"h_line","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":""},{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"20sp"},{"key":"closure_reason_fam","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Sababu ya kufungwa","values":["Uhamisho","Nyinginezo"],"keys":["Relocation","Other"],"v_required":{"value":"true","err":"Chagua sababu ya kuondoa rekodi ya familia."},"openmrs_choice_ids":{"Relocation":"160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Other":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"key":"closure_reason_other_fam","openmrs_entity_parent":"160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"edit_text","hint":"Sababu nyingine","v_required":{"value":"true","err":"Weka sababu ya kufungwa"},"relevance":{"step1:closure_reason_fam":{"type":"string","ex":"equalTo(., \"Other\")"}}},{"key":"closure_reason_relocation_fam","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Uhamisho wa kaya","values":["Ndani ya wilaya","Nje ya wilaya"],"keys":["Within the district","Outside the district"],"v_required":{"value":"true","err":"Weka sababu ya kufungwa"},"relevance":{"step1:closure_reason_fam":{"type":"string","ex":"equalTo(., \"Relocation\")"}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_member.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_member.json index a95ae42246..0c6da1e5fe 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_member.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_member.json @@ -1,214 +1 @@ -{ - "count": "1", - "encounter_type": "Remove Family Member", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Ondoa mwanafamilia", - "fields": [ - { - "key": "spacer", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "spacer", - "spacer_height": "10sp" - }, - { - "key": "details", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "label", - "text": "", - "text_size": "25px" - }, - { - "key": "divider1", - "type": "h_line", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "spacer", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "spacer", - "spacer_height": "15dp" - }, - { - "key": "remove_reason", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Sababu ya kuiondoa", - "v_required": { - "value": "true", - "err": "Chagua sababu ya kuondoa rekodi ya familia" - }, - "values": [ - "Kifo", - "Amehama", - "Sababu nyingine" - ], - "keys": [ - "Death", - "Moved away", - "Other" - ], - "openmrs_choice_ids": { - "Died": "160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Moved away": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - }, - { - "key": "dob", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "spacer", - "expanded": false, - "read_only": "true", - "hidden": "false" - }, - { - "key": "date_moved", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "text", - "type": "date_picker", - "label": "Tarehe aliyohama", - "hint": "Tarehe aliyohama", - "expanded": false, - "min_date": "", - "max_date": "today", - "v_required": { - "value": "true", - "err": "Ingiza tarehe ambayo mwanachama alihama" - }, - "constraints": [ - { - "type": "date", - "ex": "greaterThanEqualTo(., step1:dob)", - "err": "Tarehe iliyohamishwa imetokea kabla ya tarehe ya kuzaliwa" - } - ], - "relevance": { - "step1:remove_reason": { - "type": "string", - "ex": "equalTo(., \"Moved away\")" - } - } - }, - { - "key": "date_died", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "text", - "type": "date_picker", - "label": "Tarehe ya kifo", - "hint": "Tarehe ya kifo", - "expanded": false, - "min_date": "today-80y", - "max_date": "today", - "v_required": { - "value": "true", - "err": "Ingiza tarehe ya kifo" - }, - "constraints": [ - { - "type": "date", - "ex": "greaterThanEqualTo(., step1:dob)", - "err": "Tarehe ya kifo haiwezi kutokea kabla ya tarehe ya kuzaliwa" - } - ], - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_remove_relevance.yml" - } - } - } - }, - { - "key": "age_at_death", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "label": "Umri wakati anafariki", - "hint": "Umri wakati anafariki", - "type": "edit_text", - "read_only": "true", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_remove_relevance.yml" - } - } - }, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_remove_calculation.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Remove Family Member","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Remove Family Member","fields":[{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"10sp"},{"key":"details","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","text":"","text_size":"25px"},{"key":"divider1","type":"h_line","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":""},{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"15dp"},{"key":"remove_reason","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Sababu ya kuondolewa","v_required":{"value":"true","err":"Chagua sababu ya kuondoa rekodi ya mwanafamilia"},"values":["Kifo","Imehamishwa","Nyingine"],"keys":["Death","Moved away","Other"],"openmrs_choice_ids":{"Died":"160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Moved away":"160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Other":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","expanded":false,"read_only":"true","hidden":"false"},{"key":"date_moved","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"date_picker","label":"Date moved away","hint":"Tarehe ya kuhamishwa","expanded":false,"min_date":"","max_date":"today","v_required":{"value":"true","err":"Weka tarehe ambayo mwanachama alihama"},"constraints":[{"type":"date","ex":"greaterThanEqualTo(., step1:dob)","err":"Date moved away occur before date of birth"}],"relevance":{"step1:remove_reason":{"type":"string","ex":"equalTo(., \"Moved away\")"}}},{"key":"date_died","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"date_picker","label":"Date of death","hint":"Tarehe ya kifo","expanded":false,"min_date":"today-80y","max_date":"today","v_required":{"value":"true","err":"Weka tarehe ya kifo"},"constraints":[{"type":"date","ex":"greaterThanEqualTo(., step1:dob)","err":"Date of death can't occur before date of birth"}],"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_remove_relevance.yml"}}}},{"key":"age_at_death","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","label":"Age at death","hint":"Umri wakati wa kifo","type":"edit_text","read_only":"true","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_remove_relevance.yml"}}},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_remove_calculation.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index dbee293a02..04ff06b7f9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -1,964 +1 @@ -{ - "count": "1", - "encounter_type": "Family Member Registration", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Ongeza Mwanachama wa Familia", - "fields": [ - { - "key": "unique_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_identifier", - "openmrs_entity_id": "opensrp_id", - "type": "edit_text", - "read_only": true, - "hint": "WAJA ID", - "v_numeric": { - "value": "true", - "err": "Tafadhali ingiza namba halali" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza namba ya kipekee" - } - }, - { - "key": "surname", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "edit_text", - "hint": "Jina la mwisho (ukoo)", - "edit_type": "name", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la ukoo" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, - { - "key": "same_as_fam_name", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_data_type": "text", - "type": "check_box", - "label": "", - "exclusive": [ - "none" - ], - "options": [ - { - "key": "same_as_fam_name", - "text": "Jina la ukoo ni sawa na jina la familia", - "text_size": "18px", - "value": "false" - } - ] - }, - { - "key": "fam_name", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "label", - "hidden": "true" - }, - { - "key": "surname_calculation", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "last_name", - "type": "hidden", - "hint": "Jina la ukoo ni sawa na jina la familia", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family-member-calculation.yml" - } - } - } - }, - { - "key": "first_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "first_name", - "type": "edit_text", - "hint": "Jina la kwanza", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la kwanza" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" - } - }, - { - "key": "middle_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "middle_name", - "type": "edit_text", - "hint": "Jina la kati", - "edit_type": "name", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la kati" - } - }, - { - "key": "dob", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdate", - "type": "date_picker", - "hint": "Tarehe ya kuzaliwa", - "expanded": false, - "duration": { - "label": "Age" - }, - "min_date": "today-120y", - "max_date": "today-5y", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe ya kuzaliwa" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, - { - "key": "age_calculated", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_register_calculation.yml" - } - } - } - }, - { - "key": "dob_unknown", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdateApprox", - "type": "check_box", - "label": "", - "options": [ - { - "key": "dob_unknown", - "text": "Tarehe ya kuzaliwa haijulikani?", - "text_size": "18px", - "value": "false" - } - ], - "relevance": { - "step1:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } - }, - { - "key": "age", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "age", - "type": "edit_text", - "hint": "Umri", - "v_numeric_integer": { - "value": "true", - "err": "Must be a rounded number" - }, - "v_numeric": { - "value": "true", - "err": "Tafadhali ingiza umri" - }, - "v_min": { - "value": "5", - "err": "Umri lazima uwe sawa au mkubwa kuliko 5" - }, - "v_max": { - "value": "120", - "err": "Umri lazima uwe sawa au chini ya 120" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - }, - "v_required": { - "value": true, - "err": "Tafadhali ingiza umri" - } - }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Jinsi", - "values": [ - "Me", - "Ke" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jinsi" - } - }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Hali ya ndoa ya mteja?", - "values": [ - "Hajaolewa", - "Ameolewa", - "Ameachwa", - "Ndoa ya mme/mke mmoja", - "Mitala", - "Mjane", - "Kuishi pamoja" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Namba ya simu", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." - }, - "v_required": { - "value": false, - "err": "Tafadhali taja numbe ya simu" - } - }, - { - "key": "id_avail", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "id_avail", - "type": "check_box", - "label": "Je, ana kitambulisho chochote kati ya hivi??", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_national_id", - "text": "Kitambulisho cha taifa", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_national_id" - }, - { - "key": "chk_voters_id", - "text": "Kitambulisho cha mpiga kura", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_voters_id" - }, - { - "key": "chk_drivers_license", - "text": "Leseni ya dereva", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_drivers_license" - }, - { - "key": "chk_passport", - "text": "Hati ya kusafiria", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_passport" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_none" - } - ], - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, - { - "key": "national_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "National_ID", - "type": "edit_text", - "hint": "Namba ya kitambulisho cha taifa, mfano: 12345678-91234-56789-12", - "edit_type": "name", - "v_regex": { - "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", - "err": "Namba ya kitambulisho cha taifa inatakiwa kuwa (XXXXXXXX-XXXXX-XXXXX-XX)" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_national_id" - ] - } - ] - } - } - }, - { - "key": "voter_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Voter_Registration_Number", - "type": "edit_text", - "hint": "Namba ya kitambulisho cha mpiga kura, mfano: T-1234-5678-912-3", - "edit_type": "name", - "v_regex": { - "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Namba ya kitambulisho cha mpiga kura inatakiwa kuwa (T-XXXX-XXXX-XXX-X)" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_voters_id" - ] - } - ] - } - } - }, - { - "key": "driver_license", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Driver_License_Number", - "type": "edit_text", - "hint": "Namba ya leseni ya udereva, mfano: 1234567891", - "edit_type": "name", - "v_regex": { - "value": "^([0-9]{10})", - "err": "Namba ya leseni ya udereva inatakiwa kuwa (XXXXXXXXXX)" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_drivers_license" - ] - } - ] - } - } - }, - { - "key": "passport", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Passport_Number", - "type": "edit_text", - "hint": "Namba ya hati ya kusafiria", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Namba ya hati ya kusafiria inatakiwa kuwa (TAE-XXXXXX)" - }, - "edit_type": "name", - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_passport" - ] - } - ] - } - } - }, - { - "key": "insurance_provider", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Health_Insurance_Type", - "type": "spinner", - "hint": "Bima ya afya unaotumia", - "values": [ - "Bima ya afya ya jamii (CHF)/(iCHF)", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "Mfuko wa Taifa wa Bima ya Afya (NHIF)", - "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Jubilee Insurance", - "Resolutions Insurance", - "Reliance Insurance", - "Bima ya afya nyingezo", - "Hakuna" - ], - "keys": [ - "Community Health Fund (CHF)", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", - "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Jubilee Insurance", - "Resolutions Insurance", - "Reliance Insurance", - "Other", - "None" - ], - "openmrs_choice_ids": { - "Community Health Fund (CHF)": "Community_Health_Fund", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", - "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", - "AAR Healthcare": "AAR_Healthcare", - "AAR Strategies Insurance": "Strategies_Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", - "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", - "Jubilee Insurance": "Jubilee_Insurance", - "Resolutions Insurance": "Resolutions_Insurance", - "Reliance Insurance": "Reliance_Insurance", - "Other": "Other_Health_Insurance_Type", - "None": "No_Health_Insurance" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza bima" - } - }, - { - "key": "insurance_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Health_Insurance_Type", - "type": "edit_text", - "hint": "Bima ya afya mwingine unaotumia", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza bima" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, - { - "key": "insurance_provider_number", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Health_Insurance_Number", - "type": "edit_text", - "hint": "Namba ya bima ya afya umaotumia", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza namba ya mfuko wa bima ya afya umaotumia" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, - { - "key": "wra", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_register_calculation.yml" - } - } - } - }, - { - "key": "mra", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_register_calculation.yml" - } - } - } - }, - { - "key": "preg_1yr", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "preg_1yr", - "type": "spinner", - "hint": "Je, amejifungua ndani ya mwaka 1?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, - { - "key": "disabilities", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", - "type": "spinner", - "hint": "Hali ya ulemavu", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - } - }, - { - "key": "type_of_disability", - "openmrs_entity_parent": "disabilities", - "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "edit_text", - "hint": "Aina ya ulemavu", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza aina ya ulemavu" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, - { - "key": "is_primary_caregiver", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "spinner", - "hint": "Ni mlezi mkuu wa familia?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - } - }, - { - "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", - "type": "edit_text", - "hint": "Namba za simu nyingine", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." - } - }, - { - "key": "service_provider", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider", - "type": "check_box", - "label": "Aina ya kazi anayojishughulisha", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_farmer", - "text": "Mkulima", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" - }, - { - "key": "chk_cs", - "text": "Mtumishi wa serikali", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" - }, - { - "key": "chk_nurse", - "text": "Muuguzi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" - }, - { - "key": "chk_teacher", - "text": "Mwalimu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" - }, - { - "key": "chk_th", - "text": "Waganga wa tiba asilia (THs)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" - }, - { - "key": "chk_chw", - "text": "Wahudumu wa afya ngazi ya jamii–WAJA", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" - }, - { - "key": "chk_tba", - "text": "Wakunga wa jadi (TBAs)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" - }, - { - "key": "chk_chmis", - "text": "Wakusanyaji takwimu za afya katika jamii (cHIMS)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" - }, - { - "key": "chk_cbd", - "text": "Wasambazaji wa dawa na vifaa vya uzazi wa mpango katika jamii (CBD)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" - }, - { - "key": "chk_hbc", - "text": "Watoa huduma kwa wagonjwa majumbani (HBC)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" - }, - { - "key": "chk_cimmci", - "text": "Watoa huduma za udhibiti wa magonjwa ya watoto kwa uwiano katika jamii (cIMCI)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" - }, - { - "key": "chk_other", - "text": "Nyingine", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - } - }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Aina nyinginezo za shughuli anazojishughulisha mteja", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja anina ya shughuli" - }, - "relevance": { - "step1:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, - { - "key": "leader", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Community_Leader", - "type": "check_box", - "label": "Una jukumu lolote la uongozi kwenye ngazi ya jamii?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_religious", - "text": "Kiongozi wa dini", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Religious_Leader" - }, - { - "key": "chk_traditional", - "text": "Kiongozi wa kimila", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Traditional_leader" - }, - { - "key": "chk_political", - "text": "Kiongozi wa kisiasa", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Political_leader" - }, - { - "key": "chk_influential", - "text": "Mtu mwenye ushawishi kwenye jamii", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Influential_Leader" - }, - { - "key": "chk_other", - "text": "Nyinginezo", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Community_Leader_Type" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Not_a_Community_Leader" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - } - }, - { - "key": "leader_other", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Community_Leader_Type_Name", - "type": "edit_text", - "hint": "Taja hayo majukumu mengine", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja jukumu" - }, - "relevance": { - "step1:leader": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Family Member Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Add Family Member","fields":[{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","type":"edit_text","read_only":true,"hint":"WAJA ID","v_numeric":{"value":"true","err":"Please enter a valid ID"},"v_required":{"value":"true","err":"Please enter the UNIQUE ID"}},{"key":"surname","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Jina la ukoo","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"},"v_required":{"value":"true","err":"Tafadhali weka jina la ukoo"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"same_as_fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"text","type":"check_box","label":"","exclusive":["none"],"options":[{"key":"same_as_fam_name","text":"Jina la ukoo sawa na jina la ukoo","text_size":"18px","value":"false"}]},{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","hidden":"true"},{"key":"surname_calculation","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"last_name","type":"hidden","hint":"Surname as Family name","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family-member-calculation.yml"}}}},{"key":"first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"Jina la kwanza","edit_type":"name","v_required":{"value":"true","err":"Tafadhali weka jina la kwanza"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"}},{"key":"middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","type":"edit_text","hint":"Jina la kati","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina la kati"},"v_required":{"value":"true","err":"Tafadhali weka jina la kati"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdate","type":"date_picker","hint":"Tarehe ya kuzaliwa (DOB)","expanded":false,"duration":{"label":"Age"},"min_date":"today-120y","max_date":"today-5y","v_required":{"value":"true","err":"Tafadhali weka tarehe ya kuzaliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"age_calculated","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_member_register_calculation.yml"}}}},{"key":"dob_unknown","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdateApprox","type":"check_box","label":"","options":[{"key":"dob_unknown","text":"Tarehe ya kuzaliwa haijulikani","text_size":"18px","value":"false"}],"relevance":{"step1:dob":{"type":"string","ex":"equalTo(.,\"\")"}}},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"age","type":"edit_text","hint":"Umri","v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_numeric":{"value":"true","err":"Lazima iwe nambari ya mviringo"},"v_min":{"value":"5","err":"Age must be equal or greater than 5"},"v_max":{"value":"120","err":"Age must be equal or less than 120"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}},"v_required":{"value":true,"err":"Tafadhali weka umri"},"v_min.err":"Umri lazima uwe sawa au zaidi ya 5","v_max.err":"Umri lazima uwe sawa au chini ya 120"},{"key":"sex","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"gender","type":"spinner","hint":"jinsi","values":["Mwanaume","Mwanamke"],"keys":["Male","Female"],"v_required":{"value":"true","err":"Tafadhali ingiza jinsi"}},{"key":"marital_status","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"marital_status","type":"spinner","hint":"Hali ya Ndoa ya Mteja?","values":["Hajaolowe","Ameolewa","Wameachwa","Ndoa ya mke mmoja","Ndoa za wake wengi","Mjane","Kuishi pamoja"],"keys":["Single","Married","Divorced","Monogamy","Polygamy","Widowed","Cohabitation"],"openmrs_choice_ids":{"Single":"Single","Married":"Married","Divorced":"Divorced","Monogamy":"Monogamy","Polygamy":"Polygamy","Widowed":"Widowed","Cohabitation":"Cohabitation"},"v_required":{"value":"true","err":"Tafadhali chagua moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"phone_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_number","type":"edit_text","hint":"Nambari ya simu","v_numeric":{"value":"true","err":"Nambari lazima iwe jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Nambari lazima iwe na tarakimu 10 na lazima ianze na 0."},"v_required":{"value":false,"err":"Tafadhali taja nambari ya simu"}},{"key":"id_avail","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"id_avail","type":"check_box","label":"Je, una kitambulisho chochote kati ya vifuatavyo?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_national_id","text":"Kitambulisho cha Taifa","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_national_id"},{"key":"chk_voters_id","text":"Kitambulisho cha usajili wa mpiga kura","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_voters_id"},{"key":"chk_drivers_license","text":"Leseni ya udereva","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_drivers_license"},{"key":"chk_passport","text":"Pasipoti","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_passport"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_none"}],"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"national_id","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"National_ID","type":"edit_text","hint":"Nambari ya kitambulisho cha taifa k.m 12345678-91234-56789-12","edit_type":"name","v_regex":{"value":"^\\d{8}-\\d{5}-\\d{5}-\\d{2}$","err":"Nambari ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_national_id"]}]}}},{"key":"voter_id","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Voter_Registration_Number","type":"edit_text","hint":"Nambari ya usajili ya mpiga kura k.m T-1234-5678-912-3","edit_type":"name","v_regex":{"value":"^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$","err":"Nambari ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_voters_id"]}]}}},{"key":"driver_license","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Driver_License_Number","type":"edit_text","hint":"Nambari ya leseni ya udereva k.m 1234567891","edit_type":"name","v_regex":{"value":"^([0-9]{10})","err":"Nambari ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_drivers_license"]}]}}},{"key":"passport","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Passport_Number","type":"edit_text","hint":"Nambari ya pasipoti","edit_type":"name","v_regex":{"value":"^TAE-\\d{6}$","err":"Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_passport"]}]}}},{"key":"insurance_provider","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Type","type":"spinner","hint":"Mtoa huduma ya bima ya afya","values":["Mfuko wa Afya ya Jamii (CHF)/(iCHF)","Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)","Mfuko wa Taifa wa Bima ya Afya (NHIF)","Tiba Kwa Kadi (TIKA)","Huduma ya Afya ya AAR","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Bima ya Britam Tanzania","Bima ya Jubilee","Resolutions Insurance","Reliance Insurance","Nyingine","Hakuna"],"keys":["Community Health Fund (CHF)","National Social Security Fund - Social Health Insurance Benefit (SHIB)","National Health Insurance Fund (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Other","None"],"openmrs_choice_ids":{"Community Health Fund (CHF)":"Community_Health_Fund","National Social Security Fund - Social Health Insurance Benefit (SHIB)":"National_Social_Security_Fund","National Health Insurance Fund (NHIF)":"National_Health_Insurance_Fund","Tiba Kwa Kadi (TIKA)":"Tiba_kwa_Kadi","AAR Healthcare":"AAR_Healthcare","AAR Strategies Insurance":"Strategies_Insurance","Milvik Tanzania Ltd (BIMA Mkononi)":"BIMA_Mkononi","Britam Insurance Tanzania":"Britam_Insurance_Tanzania","Jubilee Insurance":"Jubilee_Insurance","Resolutions Insurance":"Resolutions_Insurance","Reliance Insurance":"Reliance_Insurance","Other":"Other_Health_Insurance_Type","None":"No_Health_Insurance"},"v_required":{"value":"true","err":"Tafadhali ingiza mtoa huduma wa bima"}},{"key":"insurance_provider_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Health_Insurance_Type","type":"edit_text","hint":"Mtoa huduma mwingine wa bima ya afya","v_required":{"value":"true","err":"Tafadhali bainisha mtoa huduma wa bima"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"insurance_provider_number","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Number","type":"edit_text","hint":"Nambari ya mtoa huduma ya bima ya afya","v_required":{"value":"true","err":"Tafadhali ongeza Nambari ya kitambulisho ya mtoa huduma wa bima ya afya"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"wra","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_member_register_calculation.yml"}}}},{"key":"mra","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_member_register_calculation.yml"}}}},{"key":"preg_1yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"preg_1yr","type":"spinner","hint":"Je, mwanamke amejifungua katika mwaka 1 uliopita?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Je, mwanamke amejifungua katika mwaka 1 uliopita?"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"disabilities","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"disabilities","type":"spinner","hint":"Ulemavu wa kimwili","values":["Ndio","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"type_of_disability","openmrs_entity_parent":"disabilities","openmrs_entity":"concept","openmrs_entity_id":"type_of_disability","type":"check_box","label":"Aina ya ulemavu wa mwili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"physical_impairments","text":"Uhamaji na Ulemavu wa Kimwili","value":false,"openmrs_entity":"concept","openmrs_entity_id":"physical_impairments"},{"key":"spinal_cord_disability","text":"Ulemavu wa Uti wa Mgongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"spinal_cord_disability"},{"key":"brain_disability","text":"Majeraha ya Kichwa - Ulemavu wa Ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"brain_disability"},{"key":"vision_disability","text":"Ulemavu wa Maono","value":false,"openmrs_entity":"concept","openmrs_entity_id":"vision_disability"},{"key":"hearing_disability","text":"Ulemavu wa Kusikia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"hearing_disability"},{"key":"learning_disabilities","text":"Ulemavu wa Utambuzi au Kujifunza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"learning_disabilities"},{"key":"psychological_disorders","text":"Matatizo ya Kisaikolojia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"psychological_disorders"},{"key":"invisible_disabilities","text":"Ulemavu Usioonekana","value":false,"openmrs_entity":"concept","openmrs_entity_id":"invisible_disabilities"}],"v_required":{"value":"true","err":"Tafadhali ingiza aina ya ulemavu"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"is_primary_caregiver","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spinner","hint":"Je, mlezi mkuu?","values":["Ndio","Hapana"],"keys":["Yes","No"],"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"other_phone_number","openmrs_entity_parent":"phone_number","openmrs_entity":"concept","openmrs_entity_id":"other_phone_number","type":"edit_text","hint":"Nambari nyingine ya simu","v_numeric":{"value":"true","err":"Nambari lazima iwe jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Nambari lazima iwe na tarakimu 10 na lazima ianze na 0."}},{"key":"service_provider","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"service_provider","type":"check_box","label":"Kazi ya mwanafamilia","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_farmer","text":"Farmer","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_farmer"},{"key":"chk_cs","text":"Mtumishi wa Serikali","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cs"},{"key":"chk_nurse","text":"Muuguzi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_nurse"},{"key":"chk_teacher","text":"Mwalimu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_teacher"},{"key":"chk_th","text":"Mganga wa Kienyeji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_th"},{"key":"chk_chw","text":"Mhudumu wa Afya ya Jamii (CHW)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_chw"},{"key":"chk_tba","text":"Mkunga wa Jadi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_tba"},{"key":"chk_chmis","text":"Mkusanya takrimu za afya ngazi ya jami","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_chmis"},{"key":"chk_cbd","text":"Msambazaji wa vifaa vya uzazi wa mpango ngazi ja jami","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cbd"},{"key":"chk_hbc","text":"Utunzaji wa Nyumbani (HBC)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_hbc"},{"key":"chk_cimmci","text":"Watoa huduma huduma za kuzuia magonjwa ya watoto kwa uwiano ngazi ya jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cimmci"},{"key":"chk_other","text":"Nyinginezo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_other"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"service_provider_other","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"service_provider_other","type":"edit_text","hint":"Taja Kazi nyingine","edit_type":"name","v_required":{"value":"true","err":"Tafadhali taja kazi"},"relevance":{"step1:service_provider":{"ex-checkbox":[{"or":["chk_other"]}]}}},{"key":"leader","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Community_Leader","type":"check_box","label":"Kuna nafasi yoyote ya uongozi katika jamii?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_religious","text":"Kiongozi wa dini","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Religious_Leader"},{"key":"chk_traditional","text":"Kiongozi wa dini","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Traditional_leader"},{"key":"chk_political","text":"Kiongozi wa kisiasa","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Political_leader"},{"key":"chk_influential","text":"Kiongozi mwenye ushawishi","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Influential_Leader"},{"key":"chk_other","text":"Nyinginezo","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Community_Leader_Type"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Not_a_Community_Leader"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"leader_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Community_Leader_Type_Name","type":"edit_text","hint":"Taja nafasi nyingine katika jamii","edit_type":"name","v_required":{"value":"true","err":"Tafadhali bainisha jukumu"},"relevance":{"step1:leader":{"ex-checkbox":[{"or":["chk_other"]}]}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 0970a44f38..0ea268a11d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -1,965 +1 @@ -{ - "validate_on_submit": true, - "show_errors_on_submit": false, - "count": "2", - "encounter_type": "Family Registration", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Taarifa ya familia", - "next": "step2", - "fields": [ - { - "key": "fam_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "first_name", - "type": "edit_text", - "hint": "Taarifa ya familia", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la ukoo" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina la ukoo" - } - }, - { - "key": "unique_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_identifier", - "openmrs_entity_id": "opensrp_id", - "hidden": "true", - "type": "edit_text", - "barcode_type": "qrcode", - "hint": "ID", - "scanButtonText": "Chukua QR code", - "v_numeric": { - "value": "true", - "err": "Tafadhali ingiza namba halali" - } - }, - { - "key": "fam_village", - "openmrs_entity_parent": "", - "openmrs_entity": "person_address", - "openmrs_entity_id": "cityVillage", - "type": "edit_text", - "edit_type": "name", - "hint": "Jina la eneo", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la eneo" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Tafadhali ingiza jina halali la eneo" - } - }, - { - "key": "landmark", - "openmrs_entity_parent": "", - "openmrs_entity": "person_address", - "openmrs_entity_id": "landmark", - "type": "edit_text", - "edit_type": "name", - "hint": "Alama ya eneo la makazi", - "v_required": { - "value": true, - "err": "Tafadhali ingiza maelezo ya alama au eneo la makazi" - } - }, - { - "key": "gps", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "gps", - "openmrs_data_type": "text", - "type": "gps" - }, - { - "key": "spacer", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "spacer", - "spacer_height": "15dp" - }, - { - "key": "nearest_facility", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "nearest_facility", - "openmrs_data_type": "text", - "type": "tree", - "hint": "Kijiji/Mtaa", - "tree": [], - "v_required": { - "value": true, - "err": "Tafadhali chagua jina la kijiji au mtaa" - } - } - ] - }, - "step2": { - "title": "Mkuu wa kaya", - "fields": [ - { - "key": "unique_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_identifier", - "openmrs_entity_id": "opensrp_id", - "type": "edit_text", - "hint": "WAJA ID", - "value": "0", - "read_only": "true", - "v_numeric": { - "value": "true", - "err": "Tafadhali ingiza namba halali" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza namba" - } - }, - { - "key": "first_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "first_name", - "type": "edit_text", - "hint": "Jina la kwanza", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la kwanza" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" - } - }, - { - "key": "middle_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "middle_name", - "type": "edit_text", - "hint": "Jina la kati", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la kati" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" - } - }, - { - "key": "surname", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "edit_text", - "hint": "Jina la familia (ukoo)", - "edit_type": "name", - "read_only": "true", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina halali" - }, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_calculation.yml" - } - } - } - }, - { - "key": "dob", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdate", - "type": "date_picker", - "hint": "Tarehe ya kuzaliwa", - "expanded": false, - "duration": { - "label": "Age" - }, - "min_date": "today-120y", - "max_date": "today-15y", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe ya kuzaliwa" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "age_calculated", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_calculation.yml" - } - } - } - }, - { - "key": "dob_unknown", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdateApprox", - "type": "check_box", - "label": "", - "options": [ - { - "key": "dob_unknown", - "text": "Tarehe ya kuzaliwa haijulikani?", - "text_size": "18px", - "value": "false" - } - ], - "relevance": { - "step2:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } - }, - { - "key": "age", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "age_entered", - "type": "edit_text", - "hint": "Umri", - "v_numeric_integer": { - "value": "true", - "err": "Must be a rounded number" - }, - "v_numeric": { - "value": "true", - "err": "Nambari lazima ianze na 0 na lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_min": { - "value": "15", - "err": "Umri lazima uwe sawa au mkubwa kuliko 15" - }, - "v_max": { - "value": "120", - "err": "Umri lazima uwe sawa au chini ya 120" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - }, - "v_required": { - "value": true, - "err": "Tafadhali ingiza umri" - } - }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Jinsi", - "values": [ - "Me", - "Ke" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" - } - }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Hali ya ndoa ya mteja?", - "values": [ - "Hajaolewa", - "Ameolewa", - "Ameachwa", - "Ndoa ya mme/mke mmoja", - "Mitala", - "Mjane", - "Kuishi pamoja" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Namba ya simu", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." - } - }, - { - "key": "id_avail", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "id_avail", - "type": "check_box", - "label": "Je, ana kitambulisho chochote kati ya hivi?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_national_id", - "text": "Kitambulisho cha taifa", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_national_id" - }, - { - "key": "chk_voters_id", - "text": "Kitambulisho cha mpiga kura", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_voters_id" - }, - { - "key": "chk_drivers_license", - "text": "Leseni ya dereva", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_drivers_license" - }, - { - "key": "chk_passport", - "text": "Hati ya kusafiria", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_passport" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_none" - } - ], - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "national_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "National_ID", - "type": "edit_text", - "hint": "Namba ya kitambulisho cha taifa, mfano: 12345678-91234-56789-12", - "edit_type": "name", - "v_regex": { - "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", - "err": "Namba ya kitambulisho cha taifa inatakiwa kuwa (XXXXXXXX-XXXXX-XXXXX-XX)" - }, - "relevance": { - "step2:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_national_id" - ] - } - ] - } - } - }, - { - "key": "voter_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Voter_Registration_Number", - "type": "edit_text", - "hint": "Namba ya kitambulisho cha mpiga kura, mfano: T-1234-5678-912-3", - "edit_type": "name", - "v_regex": { - "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Namba ya kitambulisho cha mpiga kura inatakiwa kuwa (T-XXXX-XXXX-XXX-X)" - }, - "relevance": { - "step2:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_voters_id" - ] - } - ] - } - } - }, - { - "key": "driver_license", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Driver_License_Number", - "type": "edit_text", - "hint": "Namba ya leseni ya udereva, mfano: 1234567891", - "edit_type": "name", - "v_regex": { - "value": "^([0-9]{10})", - "err": "Namba ya leseni ya udereva inatakiwa kuwa (XXXXXXXXXX)" - }, - "relevance": { - "step2:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_drivers_license" - ] - } - ] - } - } - }, - { - "key": "passport", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Passport_Number", - "type": "edit_text", - "hint": "Namba ya hati ya kusafiria", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Namba ya hati ya kusafiria inatakiwa kuwa (TAE-XXXXXX)" - }, - "edit_type": "name", - "relevance": { - "step2:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_passport" - ] - } - ] - } - } - }, - { - "key": "insurance_provider", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Health_Insurance_Type", - "type": "spinner", - "hint": "Bima ya afya unaotumia", - "values": [ - "Bima ya afya ya jamii (CHF)/(iCHF)", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "Mfuko wa Taifa wa Bima ya Afya (NHIF)", - "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Jubilee Insurance", - "Resolutions Insurance", - "Reliance Insurance", - "Bima ya afya nyingezo", - "Hakuna" - ], - "keys": [ - "Community Health Fund (CHF)", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", - "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Jubilee Insurance", - "Resolutions Insurance", - "Reliance Insurance", - "Other", - "None" - ], - "openmrs_choice_ids": { - "Community Health Fund (CHF)": "Community_Health_Fund", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", - "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", - "AAR Healthcare": "AAR_Healthcare", - "AAR Strategies Insurance": "Strategies_Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", - "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", - "Jubilee Insurance": "Jubilee_Insurance", - "Resolutions Insurance": "Resolutions_Insurance", - "Reliance Insurance": "Reliance_Insurance", - "Other": "Other_Health_Insurance_Type", - "None": "No_Health_Insurance" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza mfuko wa bima" - } - }, - { - "key": "insurance_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Health_Insurance_Type", - "type": "edit_text", - "hint": "Bima ya afya mwingine unaotumia", - "v_required": { - "value": "true", - "err": "Tafadhali taja bima" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "insurance_provider_number", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Health_Insurance_Number", - "type": "edit_text", - "hint": "Namba ya bima ya afya unaotumia", - "v_required": { - "value": "true", - "err": "Tafadhali ongeza nambari ya bima ya afya" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "wra", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_calculation.yml" - } - } - } - }, - { - "key": "mra", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "hidden", - "values": "" - }, - { - "key": "preg_1yr", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "preg_1yr", - "type": "spinner", - "hint": "Je, amejifungua ndani ya mwaka 1?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "disabilities", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", - "type": "spinner", - "hint": "Hali ya ulemavu", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - } - }, - { - "key": "type_of_disability", - "openmrs_entity_parent": "disabilities", - "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "edit_text", - "hint": "Aina ya ulemavu", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza aina ya ulemavu" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", - "type": "edit_text", - "hint": "Namba za simu nyingine", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." - } - }, - { - "key": "service_provider", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider", - "type": "check_box", - "label": "Aina ya kazi anayojishughulisha", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_farmer", - "text": "Mkulima", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" - }, - { - "key": "chk_cs", - "text": "Mtumishi wa serikali", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" - }, - { - "key": "chk_nurse", - "text": "Muuguzi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" - }, - { - "key": "chk_teacher", - "text": "Mwalimu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" - }, - { - "key": "chk_th", - "text": "Waganga wa tiba asilia (THs)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" - }, - { - "key": "chk_chw", - "text": "Wahudumu wa afya ngazi ya jamii–WAJA", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" - }, - { - "key": "chk_tba", - "text": "Wakunga wa jadi (TBAs)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" - }, - { - "key": "chk_chmis", - "text": "Wakusanyaji takwimu za afya katika jamii (cHIMS)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" - }, - { - "key": "chk_cbd", - "text": "Wasambazaji wa dawa na vifaa vya uzazi wa mpango katika jamii (CBD)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" - }, - { - "key": "chk_hbc", - "text": "Watoa huduma kwa wagonjwa majumbani (HBC)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" - }, - { - "key": "chk_cimmci", - "text": "Watoa huduma za udhibiti wa magonjwa ya watoto kwa uwiano katika jamii (cIMCI)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" - }, - { - "key": "chk_other", - "text": "Nyingine", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - } - }, - { - "key": "leader", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Community_Leader", - "type": "check_box", - "label": "Una jukumu lolote la uongozi kwenye ngazi ya jamii?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_religious", - "text": "Kiongozi wa dini", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Religious_Leader" - }, - { - "key": "chk_traditional", - "text": "Kiongozi wa kimila", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Traditional_leader" - }, - { - "key": "chk_political", - "text": "Kiongozi wa kisiasa", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Political_leader" - }, - { - "key": "chk_influential", - "text": "Mtu mwenye ushawishi kwenye jamii", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Influential_Leader" - }, - { - "key": "chk_other", - "text": "Nyinginezo", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Community_Leader_Type" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Not_a_Community_Leader" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - } - }, - { - "key": "leader_other", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Community_Leader_Type_Name", - "type": "edit_text", - "hint": "Taja hayo majukumu mengine", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja jukumu" - }, - "relevance": { - "step2:leader": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - } - ] - } -} \ No newline at end of file +{"validate_on_submit":true,"show_errors_on_submit":false,"count":"2","encounter_type":"Family Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Family details","next":"step2","fields":[{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"Jina la Familia (Jina la Mkuu wa Familia)","edit_type":"name","v_required":{"value":"true","err":"Tafadhali weka jina la familia"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"}},{"key":"client_first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"Jina la kwanza Mkuu wa Familia","edit_type":"name","v_required":{"value":"true","err":"Please enter the first name"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"}},{"key":"client_middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","type":"edit_text","hint":"Jina la Kati la Mkuu wa Familia","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"},"v_required":{"value":"true","err":"Tafadhali weka jina la kati"}},{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","hidden":"true","type":"barcode","barcode_type":"qrcode","hint":"Number ya utambulisho","scanButtonText":"Scan QR Code","v_numeric":{"value":"true","err":"Tafadhali weka kitambulisho halali"}},{"key":"fam_village","openmrs_entity_parent":"","openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","type":"edit_text","edit_type":"name","hint":"Jina la Eneo","v_required":{"value":"true","err":"Tafadhali weka jina la eneo"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*","err":"Tafadhali weka jina sahihi la eneo"}},{"key":"landmark","openmrs_entity_parent":"","openmrs_entity":"person_address","openmrs_entity_id":"landmark","type":"edit_text","edit_type":"name","hint":"Alama/Maelezo ya eneo la nyumba","v_required":{"value":true,"err":"Tafadhali weka alama/maelezo ya eneo."}},{"key":"gps","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gps","openmrs_data_type":"text","type":"gps"},{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"15dp"},{"key":"nearest_facility","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"nearest_facility","openmrs_data_type":"text","type":"tree","hint":"Kijiji/Mtaa","tree":[],"v_required":{"value":true,"err":"Tafadhali chagua kijiji au mtaa"}}]},"step2":{"title":"Family head","fields":[{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","type":"edit_text","hint":"","value":"0","read_only":"true","v_numeric":{"value":"true","err":"Please enter a valid ID"},"v_required":{"value":"true","err":"Please enter the ID"}},{"key":"first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"Jina la kwanza","edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kwanza"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"},"read_only":true,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_register_calculation.yml"}}}},{"key":"middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","type":"edit_text","hint":"Jina la kati","edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kati"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"},"read_only":true,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_register_calculation.yml"}}}},{"key":"surname","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_name","type":"edit_text","hint":"Jina la mwisho","edit_type":"name","read_only":"true","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_register_calculation.yml"}}}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdate","type":"date_picker","hint":"Tarehe ya kuzaliwa (DOB)","expanded":false,"duration":{"label":"Age"},"min_date":"today-120y","max_date":"today-15y","v_required":{"value":"true","err":"Tafadhali weka tarehe ya kuzaliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"age_calculated","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_register_calculation.yml"}}}},{"key":"dob_unknown","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdateApprox","type":"check_box","label":"","options":[{"key":"dob_unknown","text":"Tarehe ya kuzaliwa haijulikani?","text_size":"18px","value":"false"}],"relevance":{"step2:dob":{"type":"string","ex":"equalTo(.,\"\")"}}},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"age_entered","type":"edit_text","hint":"Umri","v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_numeric":{"value":"true","err":"Lazima iwe number kamili"},"v_min":{"value":"15","err":"Age must be equal or greater than 15"},"v_max":{"value":"120","err":"Age must be equal or less than 120"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}},"v_required":{"value":true,"err":"Tafadhali weka umri"},"v_min.err":"Umri lazima uwe sawa au zaidi ya 15","v_max.err":"Umri lazima uwe sawa au chini ya 120"},{"key":"sex","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"gender","type":"spinner","hint":"jinsi","values":["Mwanaume","Mwanamke"],"keys":["Male","Female"],"v_required":{"value":"true","err":"Tafadhali weka jinsi"}},{"key":"marital_status","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"marital_status","type":"spinner","hint":"Hali ya Ndoa ya Mteja?","values":["Hajaolewa","Ameolewa","Ameachika","Ndoa ya mke au mume moja","Mitara","Mjane","wanaishi wote"],"keys":["Single","Married","Divorced","Monogamy","Polygamy","Widowed","Cohabitation"],"openmrs_choice_ids":{"Single":"Single","Married":"Married","Divorced":"Divorced","Monogamy":"Monogamy","Polygamy":"Polygamy","Widowed":"Widowed","Cohabitation":"Cohabitation"},"v_required":{"value":"true","err":"Tafadhali chagua moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"phone_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_number","type":"edit_text","hint":"Numbari ya simu","v_numeric":{"value":"true","err":"Nambari lazima iwe jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Nambari lazima iwe na tarakimu 10 na lazima ianze na 0."}},{"key":"id_avail","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"id_avail","type":"check_box","label":"Je, ana kitambulisho chochote kati ya vifuatavyo?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_national_id","text":"Kitambulisho cha Taifa","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_national_id"},{"key":"chk_voters_id","text":"Kitambulisho cha Mpiga kura","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_voters_id"},{"key":"chk_drivers_license","text":"Leseni ya udereva","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_drivers_license"},{"key":"chk_passport","text":"pasipoti","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_passport"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_none"}],"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"national_id","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"National_ID","type":"edit_text","hint":"Nambari ya kitambulisho cha taifa k.m 12345678-91234-56789-12","edit_type":"name","v_regex":{"value":"^\\d{8}-\\d{5}-\\d{5}-\\d{2}$","err":"Nambari ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)"},"relevance":{"step2:id_avail":{"ex-checkbox":[{"or":["chk_national_id"]}]}}},{"key":"voter_id","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Voter_Registration_Number","type":"edit_text","hint":"Nambari ya usajili ya mpiga kura k.m T-1234-5678-912-3","edit_type":"name","v_regex":{"value":"^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$","err":"Nambari ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)"},"relevance":{"step2:id_avail":{"ex-checkbox":[{"or":["chk_voters_id"]}]}}},{"key":"driver_license","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Driver_License_Number","type":"edit_text","hint":"Nambari ya leseni ya udereva k.m 1234567891","edit_type":"name","v_regex":{"value":"^([0-9]{10})","err":"Nambari ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)"},"relevance":{"step2:id_avail":{"ex-checkbox":[{"or":["chk_drivers_license"]}]}}},{"key":"passport","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Passport_Number","type":"edit_text","hint":"Nambari ya pasipoti","v_regex":{"value":"^TAE-\\d{6}$","err":"Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)"},"edit_type":"name","relevance":{"step2:id_avail":{"ex-checkbox":[{"or":["chk_passport"]}]}}},{"key":"insurance_provider","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Type","type":"spinner","hint":"Mtoa huduma ya bima ya afya","values":["Mfuko wa Afya ya Jamii (CHF)/(iCHF)","Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)","Mfuko wa Taifa wa Bima ya Afya (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Bima ya Jubilee","Bima ya Resolutions ","Bima ya Reliance","Nyinginezo","Hakuna"],"keys":["Community Health Fund (CHF)","National Social Security Fund - Social Health Insurance Benefit (SHIB)","National Health Insurance Fund (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Other","None"],"openmrs_choice_ids":{"Community Health Fund (CHF)":"Community_Health_Fund","National Social Security Fund - Social Health Insurance Benefit (SHIB)":"National_Social_Security_Fund","National Health Insurance Fund (NHIF)":"National_Health_Insurance_Fund","Tiba Kwa Kadi (TIKA)":"Tiba_kwa_Kadi","AAR Healthcare":"AAR_Healthcare","AAR Strategies Insurance":"Strategies_Insurance","Milvik Tanzania Ltd (BIMA Mkononi)":"BIMA_Mkononi","Britam Insurance Tanzania":"Britam_Insurance_Tanzania","Jubilee Insurance":"Jubilee_Insurance","Resolutions Insurance":"Resolutions_Insurance","Reliance Insurance":"Reliance_Insurance","Other":"Other_Health_Insurance_Type","None":"No_Health_Insurance"},"v_required":{"value":"true","err":"Tafadhali ingiza toleo la bima"}},{"key":"insurance_provider_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Health_Insurance_Type","type":"edit_text","hint":"Mtoa huduma mwingine wa bima ya afya","v_required":{"value":"true","err":"Tafadhali bainisha mtoa huduma wa bima"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"insurance_provider_number","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Number","type":"edit_text","hint":"Nambari ya mtoa huduma ya bima ya afya","v_required":{"value":"true","err":"Tafadhali ongeza Nambari ya kitambulisho ya mtoa huduma wa bima ya afya"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"wra","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_register_calculation.yml"}}}},{"key":"mra","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","values":""},{"key":"preg_1yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"preg_1yr","type":"spinner","hint":"Je, mwanamke amejifungua katika mwaka 1 uliopita?","values":["Ndio","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"disabilities","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"disabilities","type":"spinner","hint":"Ulemavu wa kimwili","values":["Ndio","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Please select one"}},{"key":"type_of_disability","openmrs_entity_parent":"disabilities","openmrs_entity":"concept","openmrs_entity_id":"type_of_disability","type":"check_box","label":"Aina ya ulemavu wa mteja","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"physical_impairments","text":"Ulemavu wa mwili","value":false,"openmrs_entity":"concept","openmrs_entity_id":"physical_impairments"},{"key":"spinal_cord_disability","text":"Ulemavu wa Uti wa Mgongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"spinal_cord_disability"},{"key":"brain_disability","text":"Majeraha ya Kichwa - Ulemavu wa Ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"brain_disability"},{"key":"vision_disability","text":"Ulemavu wa Maono","value":false,"openmrs_entity":"concept","openmrs_entity_id":"vision_disability"},{"key":"hearing_disability","text":"Ulemavu wa Kusikia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"hearing_disability"},{"key":"learning_disabilities","text":"Ulemavu wa Utambuzi au Kujifunza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"learning_disabilities"},{"key":"psychological_disorders","text":"Matatizo ya Kisaikolojia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"psychological_disorders"},{"key":"invisible_disabilities","text":"Ulemavu Usioonekana","value":false,"openmrs_entity":"concept","openmrs_entity_id":"invisible_disabilities"}],"v_required":{"value":"true","err":"Tafadhali ingiza aina ya ulemavu"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"other_phone_number","openmrs_entity_parent":"phone_number","openmrs_entity":"concept","openmrs_entity_id":"other_phone_number","type":"edit_text","hint":"Nambari nyingine ya simu","v_numeric":{"value":"true","err":"Nambari lazima iwe jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Nambari lazima iwe na tarakimu 10 na lazima ianze na 0."}},{"key":"service_provider","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"service_provider","type":"check_box","label":"Kazi ya kichwa cha familia","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_farmer","text":"Mkulim","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_farmer"},{"key":"chk_cs","text":"Mtumishi wa Serikali","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cs"},{"key":"chk_nurse","text":"Muuguzi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_nurse"},{"key":"chk_teacher","text":"Mwalimu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_teacher"},{"key":"chk_th","text":"Mganga wa Kienyeji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_th"},{"key":"chk_chw","text":"Mhudumu wa Afya ya Jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_chw"},{"key":"chk_tba","text":"Mkunga wa Jadi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_tba"},{"key":"chk_chmis","text":"Mkusanyaji tahakrimu za afya ngazi ya jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_chmis"},{"key":"chk_cbd","text":"Msambazaji wa vifaa vya uzazi wa mpango ngazi ya jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cbd"},{"key":"chk_hbc","text":"Mtoa huduma ya afya nyumbani","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_hbc"},{"key":"chk_cimmci","text":"Community IMCI","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cimmci"},{"key":"chk_other","text":"Nyinginezo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_other"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"service_provider_other","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"service_provider_other","type":"edit_text","hint":"Taja Kazi nyingine","edit_type":"name","v_required":{"value":"true","err":"Tafadhali taja kazi"},"relevance":{"step2:service_provider":{"ex-checkbox":[{"or":["chk_other"]}]}}},{"key":"leader","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Community_Leader","type":"check_box","label":"Kuna nafasi yoyote ya uongozi katika jamii?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_religious","text":"Kiongozi wa dini","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Religious_Leader"},{"key":"chk_traditional","text":"Kiongozi wa jadi","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Traditional_leader"},{"key":"chk_political","text":"Kiongozi wa kisiasa","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Political_leader"},{"key":"chk_influential","text":"Kiongozi mwenye ushawishi","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Influential_Leader"},{"key":"chk_other","text":"Nyingine","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Community_Leader_Type"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Not_a_Community_Leader"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"leader_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Community_Leader_Type_Name","type":"edit_text","hint":"Taja nafasi nyingine katika jamii","edit_type":"name","v_required":{"value":"true","err":"Tafadhali bainisha jukumu"},"relevance":{"step2:leader":{"ex-checkbox":[{"or":["chk_other"]}]}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_family_planning_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/female_family_planning_registration.json index fa91e0f238..879fc7b6d9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_family_planning_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_family_planning_registration.json @@ -1,1098 +1 @@ -{ - "validate_on_submit": false, - "show_errors_on_submit": false, - "count": "3", - "encounter_type": "Family Planning Registration", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Taarifa ya kusajili ya uzazi wa mpango", - "next": "step2", - "fields": [ - { - "key": "fp_reg_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "fp_reg_date", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_calculation.yml" - } - } - } - }, - { - "key": "age", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "age", - "type": "hidden" - }, - { - "key": "using_method", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "using_method", - "openmrs_entity_parent": "", - "label": "Je, anatumia aina ya uzazi wa mpango sasa hivi?", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - }, - { - "key": "couselling_fp_methods", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "label": "Je, alishauriwa kwa njia tofauti za uzazi wa mpango?", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "couselling_HIV_STI", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "couselling_HIV_STI", - "openmrs_entity_parent": "", - "label": "Je, alishauriwa kuhusu kuzuia VVU na magonjwa ya zinaa?", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - } - ] - }, - "step2": { - "title": "Njia ya uzazi wa mpango", - "next": "step3", - "fields": [ - { - "key": "pill", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "pill", - "openmrs_entity_parent": "", - "label": "Je, anataka kutumia vidonge kwa njia za uzazi wa mpango?", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "user_toaster_info", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "Orodha kutoa vidonge vya kumeza vyenye vichocheo kimoja au viwili", - "toaster_info_text": "Orodha hakiki ya kutoa vidonge vya kumeza vyenye vichocheo kimoja au viwili", - "toaster_type": "info", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "breast_lump", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "breast_lump", - "openmrs_entity_parent": "", - "label": "Je, ana uvimbe wowote kwenye matiti?", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "abnormal_vaginal", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "abnormal_vaginal", - "openmrs_entity_parent": "", - "label": "Je, anatokwa na majimaji yasiyo ya kawaida kama damu au usaha ukeni?", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "pregnant", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "pregnant", - "openmrs_entity_parent": "", - "label": "Je, yeye ni mjauzito?", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "difficultly_breathing", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "difficultly_breathing", - "openmrs_entity_parent": "", - "label": "Je, anapata maumivu makali ya kifua na kushindwa kupumua?", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "headaches", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "headaches", - "openmrs_entity_parent": "", - "label": "Je, ana kawaida ya kuumwa kichwa sana kikiambatana na kichefuchefu, kutapika au kutokuona vizuri?", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "frequent_urge", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "frequent_urge", - "openmrs_entity_parent": "", - "label": "Je, anasikia kiu mara kwa mara, kukojoa mara mara na kusikia uchovu?", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "falling_loss_unconsciousness", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "falling_loss_unconsciousness", - "openmrs_entity_parent": "", - "label": "Je, ana matatizo ya kuanguka/kuzimia na kupoteza fahamu?", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "breastfeed", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "breastfeed", - "openmrs_entity_parent": "", - "label": "Je, ananyonyesha mtoto chini ya miezi 6, na ana upungufu wowote katika utoaji wa maziwa?", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "COC_POP", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "COC_POP", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_calculation.yml" - } - } - } - }, - { - "key": "POP", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "POP", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_calculation.yml" - } - } - } - }, - { - "key": "no_pill", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "no_pill", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_calculation.yml" - } - } - } - }, - { - "key": "COC_POP_note", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "Anaweza kumeza vidonge vya kumeza vyenye vichocheo kimoja au viwili", - "toaster_info_text": "Anaweza kumeza vidonge vya kumeza vyenye vichocheo kimoja au viwili", - "toaster_type": "info", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "POP_note", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "Anaweza kumeza vidonge vya kumeza vyenye vichocheo kimoja", - "toaster_info_text": "Anaweza kumeza vidonge vya kumeza vyenye vichocheo kimoja", - "toaster_type": "info", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "no_pill_note", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "Haiweza kumeza vidonge vya kumeza vyenye vichocheo kimoja au viwili. Mshauri mteja kutumia kondomu, na mpe rufaa kwenda kuonana na mtoa huduma za afya katika kituo cha huduma.", - "toaster_info_text": "Haiweza kumeza vidonge vya kumeza vyenye vichocheo kimoja au viwili. Mshauri mteja kutumia kondomu, na mpe rufaa kwenda kuonana na mtoa huduma za afya katika kituo cha huduma.", - "toaster_type": "info", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "fp_method_chw", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "160576AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "spinner", - "hint": "Njia za uzazi wa mpango selected", - "values": [ - "Kondomu ya kiume", - "Kondomu ya kike", - "Vidonge vya kumeza vyenye vichocheo viwili", - "Vidonge vya kumeza vyenye vichocheo kimoja", - "Shanga", - "Uzazi wa dharura" - ], - "keys": [ - "Male condom", - "Female condom", - "COC", - "POP", - "Standard day method", - "Emergency contraceptive" - ], - "openmrs_choice_ids": { - "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "COC": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "POP": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Standard day method": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Emergency contraceptive": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "fp_method_already", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "spinner", - "hint": "Njia za uzazi wa mpango selected", - "values": [ - "Kondomu ya kiume", - "Kondomu ya kike", - "Vidonge vya kumeza vyenye vichocheo viwili", - "Vidonge vya kumeza vyenye vichocheo kimoja", - "Shanga", - "Uzazi wa dharura", - "Sindano", - "Kitanzi", - "Kipandikizi cha miaka 3", - "Kipandikizi cha miaka 5", - "Kufunga kizazi mwanamke", - "Kufunga kizazi mwanamme" - ], - "keys": [ - "Male condom", - "Female condom", - "COC", - "POP", - "Standard day method", - "Emergency contraceptive", - "Injectable", - "IUCD", - "Implanon - NXT", - "Jadelle", - "Female sterilization", - "Male sterilization" - ], - "openmrs_choice_ids": { - "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "COC": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "POP": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Standard day method": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Emergency contraceptive": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Injectable": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "IUCD": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Implanon - NXT": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Jadelle": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Female sterilization": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Male sterilization": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "fp_method_accepted", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "fp_method_accepted", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_calculation.yml" - } - } - } - } - ] - }, - "step3": { - "title": "Taarifa ya njia ya uzazi wa mpango", - "fields": [ - { - "key": "ec_note", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "Kuhimiza yeye kuchagua njia ya uzazi wa mpango kudumu", - "toaster_info_text": "Kuhimiza yeye kuchagua njia ya uzazi wa mpango kudumu", - "toaster_type": "info", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "ecp", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "ecp", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_calculation.yml" - } - } - } - }, - { - "key": "no_condoms", - "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity": "concept", - "openmrs_entity_id": "no_condoms", - "type": "edit_text", - "edit_type": "number", - "hint": "Amepata vipande vya kondpmu vingapi?", - "v_required": { - "value": "true", - "err": "Sawa au kubwa kuliko 0" - }, - "v_numeric_integer": { - "value": "true", - "err": "Lazima iwe nambari iliyokamilishwa" - }, - "v_min": { - "value": "0", - "err": "Nambari lazima iwe sawa au kubwa kuliko 0" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "fp_start_condom", - "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity": "concept", - "openmrs_entity_id": "fp_start_condom", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_calculation.yml" - } - } - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "no_pillcycles", - "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity": "concept", - "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "edit_type": "number", - "hint": "Amepata saiko ngapi?", - "v_required": { - "value": "true", - "err": "Sawa au kubwa kuliko 0" - }, - "v_numeric_integer": { - "value": "true", - "err": "Lazima iwe nambari iliyokamilishwa" - }, - "v_min": { - "value": "0", - "err": "Nambari lazima iwe sawa au kubwa kuliko 0" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "fp_start_cocpop", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "fp_start_cocpop", - "type": "date_picker", - "hint": "Je, alianza au anapanga kuanza vidonge vya kumeza vyenye vichocheo viwili au kimoja lini?", - "max_date": "today", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - }, - "v_required": { - "value": "true", - "err": "Required" - } - }, - { - "key": "counselling_use", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "counselling_use", - "type": "spinner", - "hint": "Je, mteja ameshauri jinsi ya kutumia njia za uzazi wa mpango?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "fp_start_injectable", - "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity": "concept", - "openmrs_entity_id": "162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "date_picker", - "hint": "Tarehe ya sindano iliyopita", - "max_date": "today", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - }, - "v_required": { - "value": "true", - "err": "Required" - } - }, - { - "key": "next_injection_due_date", - "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity": "5096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_id": "next_injection_due_date", - "type": "edit_text", - "hint": "Tarehe ya sindano ijayo:", - "read_only": "true", - "value": "0", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - }, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_calculation.yml" - } - } - } - }, - { - "key": "fp_start_iucd", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "fp_start_iucd", - "type": "date_picker", - "hint": "Tarehe ya kuweka kitanzi", - "max_date": "today", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - }, - "v_required": { - "value": "true", - "err": "Required" - } - }, - { - "key": "fp_start_implant_nxt", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "fp_start_implant_nxt", - "type": "date_picker", - "hint": "Tarehe ya kuweka kipandikizi cha miaka 3", - "max_date": "today", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - }, - "v_required": { - "value": "true", - "err": "Required" - } - }, - { - "key": "fp_start_implant_jad", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "fp_start_implant_jad", - "type": "date_picker", - "hint": "Tarehe ya kuweka vipandikizi vya miaka 5", - "max_date": "today", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - }, - "v_required": { - "value": "true", - "err": "Required" - } - }, - { - "key": "fp_start_female_ster", - "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity": "concept", - "openmrs_entity_id": "fp_start_female_ster", - "type": "date_picker", - "hint": "Tarehe y kufunga kizazi mwanmke", - "max_date": "today", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - }, - "v_required": { - "value": "true", - "err": "Required" - } - }, - { - "key": "fp_start_male_ster", - "openmrs_entity_parent": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity": "concept", - "openmrs_entity_id": "fp_start_male_ster", - "type": "date_picker", - "hint": "Tarehe ya kufunga kizazi mwanamume ya mume wake", - "max_date": "today", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - }, - "v_required": { - "value": "true", - "err": "Required" - } - }, - { - "key": "fp_male_ster_note", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "Shauri yeye kutumia kondomu kwa miezi mitatu kuzuia ujazito", - "toaster_info_text": "Shauri yeye kutumia kondomu kwa miezi mitatu kuzuia ujazito", - "toaster_type": "info", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_relevance.yml" - } - } - } - }, - { - "key": "referral_given", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_given", - "openmrs_entity_parent": "", - "label": "Rufaa iliyotolewa", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - }, - { - "key": "fp_start_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hidden": "true", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_planning_registration_calculation.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"validate_on_submit":false,"show_errors_on_submit":false,"count":"3","encounter_type":"Family Planning Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Family planning registration Info","next":"step2","fields":[{"key":"fp_reg_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_reg_date","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"age","type":"hidden"},{"key":"using_method","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"using_method","openmrs_entity_parent":"","label":"Je, mwanamke tayari anatumia njia ya kupanga uzazi?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"couselling_fp_methods","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Je, alishauriwa kuhusu mbinu tofauti za kupanga uzazi?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"couselling_HIV_STI","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"couselling_HIV_STI","openmrs_entity_parent":"","label":"Je, alishauriwa kuhusu kuzuia VVU na magonjwa ya zinaa?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}}]},"step2":{"title":"Family planning method","next":"step3","fields":[{"key":"pill","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"pill","openmrs_entity_parent":"","label":"Je, anataka kutumia kidonge cha kuzuia mimba?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"user_toaster_info","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Orodha ya hundi ya Kuzuia Mimba ya Kumeza","toaster_info_text":"Orodha ya kuangalia kwa ajili ya kutoa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP)","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"breast_lump","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"breast_lump","openmrs_entity_parent":"","label":"Je, ana uvimbe wowote wa matiti?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"abnormal_vaginal","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"abnormal_vaginal","openmrs_entity_parent":"","label":"Je, ana damu isiyo ya kawaida au kutokwa na maji ukeni?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"pregnant","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"pregnant","openmrs_entity_parent":"","label":"Je, ana mimba?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"difficultly_breathing","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"difficultly_breathing","openmrs_entity_parent":"","label":"Je, ana maumivu makali ya kifua na kupumua kwa shida?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"headaches","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"headaches","openmrs_entity_parent":"","label":"Je, ana maumivu ya kichwa yasiyo ya kawaida yanayohusiana na kichefuchefu, kutapika au kutoona vizuri?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"frequent_urge","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"frequent_urge","openmrs_entity_parent":"","label":"Je, mara kwa mara anahisi kiu, haja ya kukojoa au anahisi uchovu?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"falling_loss_unconsciousness","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"falling_loss_unconsciousness","openmrs_entity_parent":"","label":"Je, ana tabia ya kuanguka/kuanguka na kupoteza fahamu?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"breastfeed","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"breastfeed","openmrs_entity_parent":"","label":"Je, ananyonyesha mtoto wa miezi 6 au chini na ana matatizo yoyote ya kuzalisha maziwa?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"COC_POP","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"COC_POP","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"POP","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"POP","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"no_pill","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_pill","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"COC_POP_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke anastahiki aidha Vidonge Vilivyochanganywa vya Kuzuia Mimba (COC) au Vidonge vya Projestini Pekee (POP)","toaster_info_text":"COC au POP anastahiki: Mwanamke anastahiki aidha Vidonge Vilivyochanganywa vya Kuzuia Mimba (COC) au Vidonge vya Projestini Pekee (POP)","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"POP_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke anastahiki Vidonge vya Progestin Pekee (POP) pekee","toaster_info_text":"POP inastahiki pekee: Mwanamke anastahiki Vidonge vya Progestin Pekee (POP) pekee","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"no_pill_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke hastahiki kwa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP). Tafadhali mshauri mteja kutumia kondomu na mpe rufaa ya kwenda kwenye kituo cha afya kwa ushauri zaidi juu ya uzazi wa mpango.","toaster_info_text":"Hastahiki: Mwanamke hastahiki kwa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP). Tafadhali mshauri mteja kutumia kondomu na mpe rufaa ya kwenda kwenye kituo cha afya kwa ushauri zaidi juu ya uzazi wa mpango.","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_chw","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160576AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Mbinu ya kupanga uzazi imechaguliwa","values":["Kondomu ya kiume","Kondomu ya kike","COC","POP","Njia ya kawaida ya siku","Uzazi wa mpango wa dharura"],"openmrs_choice_ids":{"Male condom":"164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female condom":"164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","COC":"159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","POP":"159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Standard day method":"5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Emergency contraceptive":"160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_already","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Mbinu ya kupanga uzazi imechaguliwa","values":["Kondomu ya kiume","Kondomu ya Kike","COC","POC","Njia ya kawaida ya siku","Uzazi wa mpango wa dharura","Sindano","IUCD","Kitanzi","Kijiti","Kufunga kizazi kwa mwanamke","Kufunga kizazi kwa mwanaume"],"openmrs_choice_ids":{"Male condom":"164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female condom":"164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","COC":"159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","POP":"159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Standard day method":"5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Emergency contraceptive":"160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Injectable":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","IUCD":"5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Implanon - NXT":"76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Jadelle":"1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female sterilization":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Male sterilization":"1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_accepted","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_method_accepted","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}}]},"step3":{"title":"Family planning method info","fields":[{"key":"ec_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mhimize mwanamke kuchagua nafasi au njia ya kudumu ya kupanga uzazi","toaster_info_text":"Mhimize mwanamke kuchagua nafasi au njia ya kudumu ya kupanga uzazi","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"ecp","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"ecp","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"no_condoms","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"no_condoms","type":"edit_text","edit_type":"number","hint":"Je, alipewa kondomu ngapi?","v_required":{"value":"true","err":"Sawa au zaidi ya )"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Number must be equal or greater than 0"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_min.err":"Nambari lazima iwe sawa au zaidi ya 0"},{"key":"fp_start_condom","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_condom","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"no_pillcycles","openmrs_entity_parent":"5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","edit_type":"number","hint":"Je, alipewa mizunguko mingapi ya vidonge?","v_required":{"value":"true","err":"Sawa au zaidi ya 0"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Number must be equal or greater than 0"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_min.err":"Nambari lazima iwe sawa au zaidi ya 0"},{"key":"fp_start_cocpop","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_cocpop","type":"date_picker","hint":"Je, ni lini alianza au alipanga kuanza kutumia COC/POP?","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"counselling_use","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"counselling_use","type":"spinner","hint":"Je, alishauriwa jinsi ya kutumia njia ya kupanga uzazi?","values":["Ndio","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_start_injectable","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya sindano ya mwisho","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"next_injection_due_date","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"5096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_id":"next_injection_due_date","type":"edit_text","hint":"Sindano inayofuata inastahili:","read_only":"true","value":"0","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"fp_start_iucd","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_iucd","type":"date_picker","hint":"Tarehe ya kuwekewa IUCD","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_implant_nxt","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_implant_nxt","type":"date_picker","hint":"Tarehe ya Implanon - kuingizwa kwa NXT","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_implant_jad","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_implant_jad","type":"date_picker","hint":"Tarehe ya Kuwekewa Kijiti","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inaitajika"}},{"key":"fp_start_female_ster","openmrs_entity_parent":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_female_ster","type":"date_picker","hint":"Tarehe ya Kufunga kizazi ya mwanamke","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_male_ster","openmrs_entity_parent":"1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_male_ster","type":"date_picker","hint":"Tarehe ya Kufunga kizazi ya mwanaume","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_male_ster_note","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"toaster_notes","text":"Mshauri mwanamke kutumia kondomu kwa muda wa miezi 3 ya kwanza ili kuzuia mimba","toaster_info_text":"Ujumbe wa kumjulisha mteja kwamba anapaswa kutumia kondomu kwa miezi mitatu ya kwanza baada ya kufunga kizazi ili kuzuia mimba","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"referral_given","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"referral_given","openmrs_entity_parent":"","label":"Je, alipewa rufaa ya kwenda kwenye kituo cha afya?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"fp_start_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","hidden":"true","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_fp_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/female_fp_referral_form.json index 4d1da72bf7..4ae1bec788 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_fp_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_fp_referral_form.json @@ -1,535 +1 @@ -{ - "count": "1", - "encounter_type": "Family Planning Referral", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Family Planning Referral", - "fields": [ - { - "key": "fp_method_accepted_referral", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "label": "Njia ya uzazi wa mpango aliyochagua na anaohitaji rufaa", - "label_text_style": "bold", - "options": [ - { - "key": "Male_condom", - "openmrs_entity": "", - "openmrs_entity_id": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Kondomu ya kiume" - }, - { - "key": "Female_condom", - "openmrs_entity": "", - "openmrs_entity_id": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Kondomu ya kike" - }, - { - "key": "COC", - "openmrs_entity": "", - "openmrs_entity_id": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Vidonge vya kumeza vyenye vichocheo viwili" - }, - { - "key": "POP", - "openmrs_entity": "", - "openmrs_entity_id": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Vidonge vya kumeza vyenye vichocheo kimoja" - }, - { - "key": "Standard_day_method", - "openmrs_entity": "", - "openmrs_entity_id": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Shanga" - }, - { - "key": "Emergency_contraceptive", - "openmrs_entity": "", - "openmrs_entity_id": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Uzazi wa dharura" - }, - { - "key": "Injectable", - "openmrs_entity": "", - "openmrs_entity_id": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Sindano" - }, - { - "key": "IUCD", - "openmrs_entity": "", - "openmrs_entity_id": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Kitanzi" - }, - { - "key": "Implanon_NXT", - "openmrs_entity": "", - "openmrs_entity_id": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Kipandikizi cha miaka 3" - }, - { - "key": "Jadelle", - "openmrs_entity": "", - "openmrs_entity_id": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Kipandikizi cha miaka 5" - }, - { - "key": "Female_sterilization", - "openmrs_entity": "", - "openmrs_entity_id": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Kufunga kizazi mwanamke" - }, - { - "key": "Male_sterilization", - "openmrs_entity": "", - "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Kufunga kizazi mwanamme" - }, - { - "key": "None", - "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hakuna" - }, - { - "key": "Not_applicable", - "openmrs_entity": "", - "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Si husika" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - }, - { - "key": "side_effects_sterialization", - "type": "check_box", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "", - "label": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango", - "label_text_style": "bold", - "exclusive": [ - "None", - "Not_applicable" - ], - "options": [ - { - "key": "Incisional_bleeding", - "text": "Kutokwa damu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Pus_Discharge_from_incision", - "text": "Kutokwa usaha", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Swollen_around_the_incision", - "text": "Kuvimba kwenye kidonda", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Others", - "text": "Madhara mengineyo", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "None", - "text": "Hakuna", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Not_applicable", - "text": "Si husika", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_referral_relevance.yml" - } - } - } - }, - { - "key": "side_effects_iucd", - "type": "check_box", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "", - "label": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango", - "label_text_style": "bold", - "options": [ - { - "key": "Severe_pain_inside_the_vagina_after_IUD_was_put_in", - "text": "Maumivu makali ndani ya uke baada kuwekewa kitanzi", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in", - "text": "Maumivu ya tumbo au kiuno siku chache baada ya kuwekewa kitanzi", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Spotting_between_periods_and_or_irregular_periods", - "text": "Hedhi kutofuata mzunguko wa kawaida", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Heavier_periods_and_worse_menstrual_cramps", - "text": "Kutokwa damu nyingi na maumivu makali wakati wa hedhi", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "IUCD_explusion", - "text": "Kufukuzwa kwa kitanzi", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Others", - "text": "Madhara mengineyo", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "None", - "text": "Hakuna", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Not_applicable", - "text": "Si husika", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_referral_relevance.yml" - } - } - } - }, - { - "key": "side_effects_implant", - "type": "check_box", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "", - "label": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango ", - "label_text_style": "bold", - "options": [ - { - "key": "Insertion_site_infected_pus_discharge", - "text": "Kutokwa usaha sehemu alipowekewa kipandikizi", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Insertion_site_swollen", - "text": "Imevimba sehemu alipowekewa kipandikizi", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Implant_expulsion", - "text": "Kipandikizi kimetoka", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "144458AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Heavy_bleeding", - "text": "Kutokwa damu nyingi wakati wa hedhi", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Others", - "text": "Madhara mengineyo", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "None", - "text": "Hakuna", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Not_applicable", - "text": "Si husika", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_referral_relevance.yml" - } - } - } - }, - { - "key": "side_effects_inject_pills", - "type": "check_box", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "", - "label": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango", - "label_text_style": "bold", - "options": [ - { - "key": "Heavy_bleeding_", - "text": "Kutokwa damu nyingi wakati wa hedhi", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Irregular_periods", - "text": "Kutopangiliwa kwa mzunguko wa hedhi", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Others", - "text": "Madhara mengineyo", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "None", - "text": "Hakuna", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Not_applicable", - "text": "Si husika", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_referral_relevance.yml" - } - } - } - }, - { - "key": "fp_side_effects", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "hidden", - "is_problem": false, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_referral_calculation.yml" - } - } - } - }, - { - "key": "fp_side_effects_other", - "type": "edit_text", - "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "hint": "Madhara mengineyo", - "v_required": { - "value": "true", - "err": "Tafadhali andika aadhara mengineyo" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_referral_relevance.yml" - } - } - } - },{ - "key": "referral_date_fp", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "hidden", - "is_problem": false, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_referral_calculation.yml" - } - } - } - }, - { - "key": "referral_time_fp", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "hidden", - "is_problem": false, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_referral_calculation.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Family Planning Referral","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Family Planning Referral","fields":[{"key":"fp_method_accepted_referral","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Mbinu ya FP iliyochaguliwa inayohitaji rufaa","label_text_style":"bold","options":[{"key":"Male_condom","openmrs_entity":"","openmrs_entity_id":"164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Kondomu ya kiume"},{"key":"Female_condom","openmrs_entity":"","openmrs_entity_id":"164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Kondomu ya kike"},{"key":"COC","openmrs_entity":"","openmrs_entity_id":"159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"COC"},{"key":"POP","openmrs_entity":"","openmrs_entity_id":"159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"POP"},{"key":"Standard_day_method","openmrs_entity":"","openmrs_entity_id":"5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Njia ya kawaida ya siku"},{"key":"Emergency_contraceptive","openmrs_entity":"","openmrs_entity_id":"160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Uzazi wa mpango wa dharura"},{"key":"Injectable","openmrs_entity":"","openmrs_entity_id":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Sindano"},{"key":"IUCD","openmrs_entity":"","openmrs_entity_id":"5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"IUXD"},{"key":"Implanon_NXT","openmrs_entity":"","openmrs_entity_id":"76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Kitanzi"},{"key":"Jadelle","openmrs_entity":"","openmrs_entity_id":"1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Kijiti"},{"key":"Female_sterilization","openmrs_entity":"","openmrs_entity_id":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Kufunga kizazi kwa mwanamke"},{"key":"Male_sterilization","openmrs_entity":"","openmrs_entity_id":"1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Kufunga kizazi kwa wanaume"},{"key":"None","openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hakuna"},{"key":"Not_applicable","openmrs_entity":"","openmrs_entity_id":"1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Haiusiki"}],"v_required":{"value":"true","err":"Tafadhali chagua mbinu ya kupanga uzazi"}},{"key":"side_effects_sterialization","type":"check_box","openmrs_entity":"","openmrs_entity_id":"","openmrs_entity_parent":"","label":"Madhara ya uzazi wa mpango","label_text_style":"bold","exclusive":["None","Not_applicable"],"options":[{"key":"Incisional_bleeding","text":"Kutokwa na damu kwa mkato","value":false,"openmrs_entity":"","openmrs_entity_id":"147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Pus_Discharge_from_incision","text":"Usaha/Kutokwa na chale","value":false,"openmrs_entity":"","openmrs_entity_id":"164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Swollen_around_the_incision","text":"Kuvimba karibu na chale","value":false,"openmrs_entity":"","openmrs_entity_id":"159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Others","text":"Nyinginezo","value":false,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Not_applicable","text":"Haiusiki","value":false,"openmrs_entity":"","openmrs_entity_id":"1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Tafadhali chagua thamani"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_relevance.yml"}}}},{"key":"side_effects_iucd","type":"check_box","openmrs_entity":"","openmrs_entity_id":"","openmrs_entity_parent":"","label":"Madhara ya uzazi wa mpango","label_text_style":"bold","options":[{"key":"Severe_pain_inside_the_vagina_after_IUD_was_put_in","text":"Maumivu makali ndani ya uke baada ya IUD kuwekwa","value":false,"openmrs_entity":"","openmrs_entity_id":"123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in","text":"Mimba au maumivu ya mgongo kwa siku chache baada ya kuweka IUD","value":false,"openmrs_entity":"","openmrs_entity_id":"148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Spotting_between_periods_and_or_irregular_periods","text":"Kugundua kati ya hedhi na/au hedhi isiyo ya kawaida","value":false,"openmrs_entity":"","openmrs_entity_id":"116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Heavier_periods_and_worse_menstrual_cramps","text":"Hedhi nzito na maumivu makali ya hedhi","value":false,"openmrs_entity":"","openmrs_entity_id":"156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"IUCD_explusion","text":"Kufukuzwa kwa IUD","value":false,"openmrs_entity":"","openmrs_entity_id":"157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Others","text":"Nyinginezo","value":false,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Not_applicable","text":"Haiusiki","value":false,"openmrs_entity":"","openmrs_entity_id":"1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Tafadhali chagua thamani"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_relevance.yml"}}}},{"key":"side_effects_implant","type":"check_box","openmrs_entity":"","openmrs_entity_id":"","openmrs_entity_parent":"","label":"Madhara ya uzazi wa mpango","label_text_style":"bold","options":[{"key":"Insertion_site_infected_pus_discharge","text":"Sehemu ya kuingizwa iliyoambukizwa - usaha / kutokwa","value":false,"openmrs_entity":"","openmrs_entity_id":"164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Insertion_site_swollen","text":"Sehemu iliyopandikizwa imevimba","value":false,"openmrs_entity":"","openmrs_entity_id":"159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Implant_expulsion","text":"Kufukuzwa kwa implant","value":false,"openmrs_entity":"","openmrs_entity_id":"144458AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Heavy_bleeding","text":"Kutokwa na damu nyingi","value":false,"openmrs_entity":"","openmrs_entity_id":"136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Others","text":"Nyinginezo","value":false,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Not_applicable","text":"Haiusiki","value":false,"openmrs_entity":"","openmrs_entity_id":"1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Tafadhali chagua "},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_relevance.yml"}}}},{"key":"side_effects_inject_pills","type":"check_box","openmrs_entity":"","openmrs_entity_id":"","openmrs_entity_parent":"","label":"Madhara ya uzazi wa mpango","label_text_style":"bold","options":[{"key":"Heavy_bleeding_","text":"Kutokwa na damu nyingi","value":false,"openmrs_entity":"","openmrs_entity_id":"136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Irregular_periods","text":"Vipindi visivyo vya kawaida","value":false,"openmrs_entity":"","openmrs_entity_id":"116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Others","text":"Nyinginezo","value":false,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Not_applicable","text":"Haiusiki","value":false,"openmrs_entity":"","openmrs_entity_id":"1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Tafadhali chagua "},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_relevance.yml"}}}},{"key":"fp_side_effects","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_calculation.yml"}}}},{"key":"fp_side_effects_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","hint":"Madhara mengine","v_required":{"value":"true","err":"Tafadhali bainisha madhara mengine"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_relevance.yml"}}}},{"key":"referral_date_fp","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_calculation.yml"}}}},{"key":"referral_time_fp","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_calculation.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_counsel.json b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_counsel.json index 1b89ff52eb..42a3a241c7 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_counsel.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_counsel.json @@ -1,83 +1 @@ -{ - "count": "1", - "encounter_type": "FP Follow up visit Counselling", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Ushauri", - "fields": [ - { - "key": "fp_counselling", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "label": "Je, anapata ushauri wowote wa uzazi wa mpango?", - "options": [ - { - "key": "yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Yes" - }, - { - "key": "no", - "openmrs_entity": "concept", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "No" - } - ], - "v_required": { - "value": "true", - "err": "Thamani hii haiwezi kuwa laini" - } - } - - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"FP Follow up visit Counselling","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Counselling","fields":[{"key":"fp_counselling","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Je, mteja alipokea ushauri wowote wa uzazi wa mpango?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndiyo "},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Sehemu hii haiwezi kuachwa wazi"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_resupply.json b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_resupply.json index 5216d41f12..78d7755646 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_resupply.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_resupply.json @@ -1,159 +1 @@ -{ - "count": "1", - "encounter_type": "FP Follow up Visit Resupply", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Kujaza tena au mara ya kwenda kituo cha afya tena", - "fields": [ - { - "key": "fp_method", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "spacer", - "read_only": "true" - }, - { - "key": "no_condoms", - "type": "edit_text", - "openmrs_entity": "concept", - "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "edit_type": "number", - "hint": "Amepata vipande vya kondpmu vingapi?", - "v_required": { - "value": "true", - "err": "this value cannot be null" - }, - "v_numeric_integer": { - "value": "true", - "err": "Must be a rounded number" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_resupply.yml" - } - } - } - }, - { - "key": "no_pillcycles", - "type": "edit_text", - "openmrs_entity": "concept", - "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "edit_type": "number", - "hint": "Amepata saiko ngapi?", - "v_required": { - "value": "true", - "err": "this value cannot be null" - }, - "v_numeric_integer": { - "value": "true", - "err": "Must be a rounded number" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_resupply.yml" - } - } - } - }, - { - "key": "fp_refill_injectable", - "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity": "concept", - "openmrs_entity_id": "162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "date_picker", - "hint": "Tarehe ya sindano iliyopita", - "expanded": false, - "duration": { - "label": "last injection" - }, - "min_date": "today-120y", - "max_date": "today", - "v_required": { - "value": "true", - "err": "Tarehe ya sindano iliyopita" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_resupply.yml" - } - } - } - }, - { - "key": "next_injection_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "Tarehe ya sindano ijayo: {fp_refill_injectable}", - "text_color": "#1199F9", - "toaster_type": "info", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_resupply.yml" - } - } - }, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_resupply_calculation.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"FP Follow up Visit Resupply","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Re-supply or Next Health Facility Visit","fields":[{"key":"fp_method","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","read_only":"true"},{"key":"no_condoms","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"number","hint":"Je, aipewa kondomu ngapi?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_resupply.yml"}}}},{"key":"no_pillcycles","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"number","hint":"Je, alipewa mizunguko mingapi ya vidonge?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_resupply.yml"}}}},{"key":"fp_refill_injectable","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya sindano ya mwisho","expanded":false,"duration":{"label":"last injection"},"min_date":"today-120y","max_date":"today","v_required":{"value":"true","err":"Tafadhali tarehe ya sindano ya mwisho"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_resupply.yml"}}}},{"key":"next_injection_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Date of next injection: {fp_refill_injectable}","text_color":"#1199F9","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_resupply.yml"}}},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_resupply_calculation.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_side_effects.json b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_side_effects.json index 84571faecc..f7bec54c07 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_side_effects.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_side_effects.json @@ -1,399 +1 @@ -{ - "count": "1", - "encounter_type": "FP Follow-up Visit Side-effects", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Madhara", - "fields": [ - { - "key": "fp_method", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "spacer", - "read_only": "true" - }, - { - "key": "condom_side_effects", - "type": "spinner", - "openmrs_entity": "concept", - "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "values": [ - "Athari za mzio", - "Madhara mengineyo", - "Hakuna" - ], - "keys": [ - "Allergic_reactions", - "Others", - "None" - ], - "openmrs_choice_ids": { - "Allergic_reactions": "149086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "hint": "Je, ni madhara gani ambayo yeye amepata tangu kutumia kondom?", - "v_required": { - "value": "true", - "err": "Thamani hii haiwezi kuwa laini" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_side_effects.yml" - } - } - } - }, - { - "key": "condom_side_effects_other", - "type": "edit_text", - "openmrs_entity": "concept", - "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "edit_type": "name", - "hint": "Madhara mengineyo:", - "v_required": { - "value": "true", - "err": "Thamani hii haiwezi kuwa laini" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_side_effects.yml" - } - } - } - }, - { - "key": "cocpop_side_effects", - "type": "spinner", - "openmrs_entity": "concept", - "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "values": [ - "Kutokwa damu nyingi wakati wa hedhi", - "Kutopangiliwa kwa mzunguko wa hedhi", - "Madhara mengineyo", - "Hakuna" - ], - "keys": [ - "Heavy_bleeding_", - "Irregular_periods", - "Others", - "None" - ], - "openmrs_choice_ids": { - "Heavy_bleeding_": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Irregular_periods": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "hint": "Je, ni madhara gani ambayo yeye amepata tangu kutumia vidonge vya kumeza vyenye vichocheo viwili/kimoja?", - "v_required": { - "value": "true", - "err": "Thamani hii haiwezi kuwa laini" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_side_effects.yml" - } - } - } - }, - { - "key": "cocpop_side_effects_other", - "type": "edit_text", - "openmrs_entity": "concept", - "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "edit_type": "name", - "hint": "Madhara mengineyo:", - "v_required": { - "value": "true", - "err": "Thamani hii haiwezi kuwa laini" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_side_effects.yml" - } - } - } - }, - { - "key": "inject_side_effects", - "type": "spinner", - "openmrs_entity": "concept", - "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "values": [ - "Kutokwa damu nyingi wakati wa hedhi", - "Kutopangiliwa kwa mzunguko wa hedhi", - "Madhara mengineyo", - "Hakuna" - ], - "keys": [ - "Heavy_bleeding_", - "Irregular_periods", - "Others", - "None" - ], - "openmrs_choice_ids": { - "Heavy_bleeding_": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Irregular_periods": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "hint": "Je, ni madhara gani ambayo yeye amepata tangu kutumia sindano?", - "v_required": { - "value": "true", - "err": "Thamani hii haiwezi kuwa laini" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_side_effects.yml" - } - } - } - }, - { - "key": "inject_side_effects_other", - "type": "edit_text", - "openmrs_entity": "concept", - "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "edit_type": "name", - "hint": "Madhara mengineyo:", - "v_required": { - "value": "true", - "err": "Thamani hii haiwezi kuwa laini" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_side_effects.yml" - } - } - } - }, - { - "key": "IUCD_side_effects", - "type": "spinner", - "openmrs_entity": "concept", - "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "values": [ - "Maumivu makali ndani ya uke baada kuwekewa kitanzi", - "Maumivu ya tumbo au kiuno siku chache baada ya kuwekewa kitanzi", - "Hedhi kutofuata mzunguko wa kawaida", - "Kutokwa damu nyingi na maumivu makali wakati wa hedhi", - "Kufukuzwa kwa kitanzi", - "Madhara mengineyo", - "Hakuna" - ], - "keys": [ - "Severe_pain_inside_the_vagina_after_IUD_was_put_in", - "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in", - "Spotting_between_periods_and_or_irregular_periods", - "Heavier_periods_and_worse_menstrual_cramps", - "IUCD_explusion", - "Others", - "None" - ], - "openmrs_choice_ids": { - "Severe_pain_inside_the_vagina_after_IUD_was_put_in": "123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in": "148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Spotting_between_periods_and_or_irregular_periods": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Heavier_periods_and_worse_menstrual_cramps": "156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "IUCD_explusion": "157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "hint": "Je, ni madhara gani ambayo yeye amepata tangu kutumia kitanzi?", - "v_required": { - "value": "true", - "err": "Thamani hii haiwezi kuwa laini" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_side_effects.yml" - } - } - } - }, - { - "key": "IUCD_side_effects_other", - "type": "edit_text", - "openmrs_entity": "concept", - "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "edit_type": "name", - "hint": "Madhara mengineyo:", - "v_required": { - "value": "true", - "err": "Thamani hii haiwezi kuwa laini" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_side_effects.yml" - } - } - } - }, - { - "key": "sterilization_side_effects", - "type": "spinner", - "openmrs_entity": "concept", - "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "values": [ - "Kutokwa damu", - "Kutokwa usaha", - "Kuvimba kwenye kidonda", - "Madhara mengineyo", - "Hakuna" - ], - "keys": [ - "Incisional_bleeding", - "Pus_Discharge_from_incision", - "Swollen_around_the_incision", - "Others", - "None" - ], - "openmrs_choice_ids": { - "Incisional_bleeding": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Pus_Discharge_from_incision": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Swollen_around_the_incision": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "hint": "Je, ni madhara gani ya yeye ambayo mteja amepata kufunga kizazi?", - "v_required": { - "value": "true", - "err": "Thamani hii haiwezi kuwa laini" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_side_effects.yml" - } - } - } - }, - { - "key": "sterilization_side_effects_other", - "type": "edit_text", - "openmrs_entity": "concept", - "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "edit_type": "name", - "hint": "Madhara mengineyo:", - "v_required": { - "value": "true", - "err": "Thamani hii haiwezi kuwa laini" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_side_effects.yml" - } - } - } - }, - { - "key": "action_taken", - "type": "native_radio", - "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "label": "Hatua zilizochukuliwa", - "options": [ - { - "key": "managed", - "openmrs_entity": "concept", - "openmrs_entity_id": "140959AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Alisimamia" - }, - { - "key": "referred", - "openmrs_entity": "concept", - "openmrs_entity_id": "1648AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Alimkupata rufaa" - }, - { - "key": "no_action_taken", - "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hajafanya chochote" - } - ], - "v_required": { - "value": "true", - "err": "Thamani hii haiwezi kuwa laini" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "fp_followup_side_effects.yml" - } - } - } - - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"FP Follow-up Visit Side-effects","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Side Effects","fields":[{"key":"fp_method","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","read_only":"true"},{"key":"condom_side_effects","type":"spinner","openmrs_entity":"concept","openmrs_entity_id":"165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","values":["Athari za mzio","Nyingine","Hakuna"],"keys":["Allergic_reactions","Others","None"],"openmrs_choice_ids":{"Allergic_reactions":"149086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Others":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","None":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"hint":"Je, anakabiliwa na madhara yoyote?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"condom_side_effects_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Zingine","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"cocpop_side_effects","type":"spinner","openmrs_entity":"concept","openmrs_entity_id":"165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","values":["Kutokwa sana kwa damu","Vipindi vya hedhi visivyo vya kawaida","Nyingine","Hakuna"],"keys":["Heavy_bleeding_","Irregular_periods","Others","None"],"openmrs_choice_ids":{"Heavy_bleeding_":"136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Irregular_periods":"116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Others":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","None":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"hint":"Je, anakabiliwa na madhara yoyote?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"cocpop_side_effects_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Zingine","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"inject_side_effects","type":"spinner","openmrs_entity":"concept","openmrs_entity_id":"165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","values":["Kutokwa sana kwa damu","Vipindi vya hedhi visivyo vya kawaida","Nyingine","Hakuna"],"keys":["Heavy_bleeding_","Irregular_periods","Others","None"],"openmrs_choice_ids":{"Heavy_bleeding_":"136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Irregular_periods":"116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Others":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","None":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"hint":"Je, anakabiliwa na madhara yoyote?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"inject_side_effects_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Zingine","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"IUCD_side_effects","type":"spinner","openmrs_entity":"concept","openmrs_entity_id":"165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","values":["Maumivu makali ndani ya uke baada ya IUD kuwekwa","Kukaza au maumivu ya mgongo kwa siku chache baada ya kuweka IUD","Kugundua kati ya hedhi na/au hedhi isiyo ya kawaida","Hedhi nzito na maumivu makali ya hedhi","kutokw kwa IUD","Nyingine","Hakuna"],"keys":["Severe_pain_inside_the_vagina_after_IUD_was_put_in","Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in","Spotting_between_periods_and_or_irregular_periods","Heavier_periods_and_worse_menstrual_cramps","IUCD_explusion","Others","None"],"openmrs_choice_ids":{"Severe_pain_inside_the_vagina_after_IUD_was_put_in":"123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in":"148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Spotting_between_periods_and_or_irregular_periods":"116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Heavier_periods_and_worse_menstrual_cramps":"156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","IUCD_explusion":"157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Others":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","None":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"hint":"Je, anakabiliwa na madhara yoyote?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"IUCD_side_effects_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Zingine","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"sterilization_side_effects","type":"spinner","openmrs_entity":"concept","openmrs_entity_id":"165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","values":["Kutokwa na damu katika eneo lililochanwa","Usaha/Majimaji kutoka kwenye eneo lililochanwa","Kuvimba eneo linalozunguka mchano","Nyingine","Hakuna"],"keys":["Incisional_bleeding","Pus_Discharge_from_incision","Swollen_around_the_incision","Others","None"],"openmrs_choice_ids":{"Incisional_bleeding":"147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Pus_Discharge_from_incision":"164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Swollen_around_the_incision":"159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Others":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","None":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"hint":"Je, anakabiliwa na madhara yoyote?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"sterilization_side_effects_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Zingine","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"action_taken","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Action taken","options":[{"key":"managed","openmrs_entity":"concept","openmrs_entity_id":"140959AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Managed"},{"key":"referred","openmrs_entity":"concept","openmrs_entity_id":"1648AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Referred"},{"key":"no_action_taken","openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"No action taken"}],"v_required":{"value":"true","err":"This value cannot be null"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/in_app_monthly_tallies_report.json b/opensrp-chw/src/ba/assets/json.form-sw/in_app_monthly_tallies_report.json index a364f4417d..305894d9e3 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/in_app_monthly_tallies_report.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/in_app_monthly_tallies_report.json @@ -1,108 +1 @@ -{ - "count": "1", - "encounter_type": "CHW Monthly tallies Report", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Misaada ya kila mwezi", - "fields": [ - { - "key": "indicator_code", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "indicator_code", - "type": "edit_text", - "hint": "Nambari ya kiashiria", - "value": "" - }, - { - "key": "month", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "month", - "type": "edit_text", - "hint": "Mwezi", - "value": "" - }, - { - "key": "edited", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "edited", - "type": "edit_text", - "hint": "imehaririwa", - "value": "" - }, - { - "key": "date_sent", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "date_sent", - "type": "edit_text", - "hint": "Tarehe iliyotumwa", - "value": "" - }, - { - "key": "created_at", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "created_at", - "type": "edit_text", - "hint": "Imeundwa kwa", - "value": "" - }, - { - "key": "value", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "value", - "type": "edit_text", - "hint": "Imesasishwa kwa", - "value": "" - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"CHW Monthly tallies Report","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Monthly Tallies","fields":[{"key":"indicator_code","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"indicator_code","type":"edit_text","hint":"Msimbo wa kiashiria","value":""},{"key":"month","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"month","type":"edit_text","hint":"Mwezi","value":""},{"key":"edited","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"edited","type":"edit_text","hint":"imehaririwa","value":""},{"key":"date_sent","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"date_sent","type":"edit_text","hint":"Tarehe iliyotumwa","value":""},{"key":"created_at","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"created_at","type":"edit_text","hint":"Imeundwa saa","value":""},{"key":"value","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"value","type":"edit_text","hint":"Ilisasishwa saa","value":""}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/malaria_confirmation.json b/opensrp-chw/src/ba/assets/json.form-sw/malaria_confirmation.json index ca1637737a..0ec9d55548 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/malaria_confirmation.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/malaria_confirmation.json @@ -1,469 +1 @@ -{ - "validate_on_submit": true, - "show_errors_on_submit": false, - "count": "2", - "encounter_type": "Malaria Confirmation", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Uhakiki wa Malaria", - "next": "step2", - "fields": [ - { - "key": "date_chw_malaria_test", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "162869AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "hidden": "true", - "type": "edit_text", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_confirmation_calculation.yml" - } - } - } - }, - { - "key": "relational_id", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "relational_id", - "hidden": "true", - "type": "edit_text" - }, - { - "key": "fever_malaria_chw", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "fever_malaria_chw", - "type": "native_radio", - "label": "Je, mteja ana homa au aligunduliwa kuwa na malaria ndani ya siku 14 katika kituo cha afya?", - "label_text_style": "bold", - "text_color": "#000000", - "options": [ - { - "key": "has_fever", - "text": "Ana homa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "has_fever", - "openmrs_entity_parent": "" - }, - { - "key": "tested_positive_last_14_days", - "text": "Alikuwa na malaria ndani ya siku 14", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tested_positive_last_14_days", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - }, - { - "key": "fever_duration", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "spinner", - "hint": "Umekuwa na homa kwa muda gani?", - "values": [ - "Ndani ya saa 24", - "Zaidi ya saa 24" - ], - "keys": [ - "Less than 24 hrs", - "More than 24 hrs" - ], - "openmrs_choice_ids": { - "Less than 24 hrs": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "More than 24 hrs": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_confirmation_relevance.yml" - } - } - } - }, - { - "key": "malaria_test_done", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "malaria_test_done", - "type": "spinner", - "hint": "Kipimo cha malaria kimefanyika?", - "values": [ - "Hapana", - "Ndiyo, kwa WAJA" - ], - "keys": [ - "No", - "Yes, by the CHW" - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_confirmation_relevance.yml" - } - } - } - }, - { - "key": "malaria_results", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "spinner", - "hint": "Majibu ya mRDT", - "values": [ - "Chanya", - "Hasi" - ], - "keys": [ - "Positive", - "Negative" - ], - "openmrs_choice_ids": { - "Positive": "703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Negative": "664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_confirmation_relevance.yml" - } - } - } - }, - { - "key": "date_hf_malaria_test", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "date_hf_malaria_test", - "type": "date_picker", - "hint": "Tarehe ya kipimo cha malaria katika kituo cha afya", - "expanded": false, - "max_date": "today", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe ya majaribio ya ugonjwa wa malaria katika kituo cha afya" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_confirmation_relevance.yml" - } - } - } - }, - { - "key": "malaria_test_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "hidden": "true", - "type": "edit_text", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_confirmation_calculation.yml" - } - } - } - }, - { - "key": "malaria", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163725AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "hidden": "true", - "type": "edit_text", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_confirmation_calculation.yml" - } - } - } - }, - { - "key": "malaria_treat", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "malaria_treat", - "type": "spinner", - "hint": "Matibabu aliyopewa", - "values": [ - "ALU 6", - "ALU 12", - "ALU 18", - "ALU 24", - "Hajapewa", - "Matibabu mengine" - ], - "keys": [ - "ALU 6", - "ALU 12", - "ALU 18", - "ALU 24", - "Not given", - "Other treatment" - ], - "openmrs_choice_ids": { - "ALU 6": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "ALU 12": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "ALU 18": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "ALU 24": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Not given": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Other treatment": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_confirmation_relevance.yml" - } - } - } - }, - { - "key": "referral_note", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "Tafadhali mpe rufaa kwa kipimo cha malaria", - "toaster_info_text": "Tafadhali mpe rufaa kwa kipimo cha malaria", - "toaster_type": "info", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_confirmation_relevance.yml" - } - } - } - } - ] - }, - "step2": { - "title": "Kuzuia Malaria", - "fields": [ - { - "key": "fam_llin", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "fam_llin", - "type": "spinner", - "hint": "Ana chandarua chenye viuwatilifu?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - }, - { - "key": "llin_2days", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "llin_2days", - "type": "spinner", - "hint": "Je, amelala kwenye chandarua chenye viuwatilifu usiku uliopita?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_confirmation_relevance.yml" - } - } - } - }, - { - "key": "llin_condition", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "llin_condition", - "type": "spinner", - "hint": "Hali ya chandarua chenye viuwatilifu kinachotumika", - "values": [ - "Nzima", - "Mbovu" - ], - "keys": [ - "Okay", - "Bad" - ], - "openmrs_choice_ids": { - "Okay": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Bad": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_confirmation_relevance.yml" - } - } - } - }, - { - "key": "malaria_edu_chw", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "malaria_edu_chw", - "type": "check_box", - "label": "Mada juu ya ugonjwa wa Malaria zilizofundishwa", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "combine_checkbox_option_values": "true", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "overview_on_malaria", - "text": "Muktasari kuhusu ugonjwa wa malaria", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "malaria_prevention", - "text": "Kuzuia malaria", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "uncomplicated_malaria", - "text": "Malaria isiyokali", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "159950AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "Severe_malaria", - "text": "Malaria kali", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "160155AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "malaria_in_pregnancy", - "text": "Malaria kwa mama mjamzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "135361AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_none", - "text": "Hajafanya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - } - ] - } -} \ No newline at end of file +{"validate_on_submit":true,"show_errors_on_submit":false,"count":"2","encounter_type":"Malaria Confirmation","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Malaria Confirmation","next":"step2","fields":[{"key":"date_chw_malaria_test","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"162869AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","hidden":"true","type":"edit_text","calculation":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_calculation.yml"}}}},{"key":"relational_id","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"relational_id","hidden":"true","type":"edit_text"},{"key":"fever_malaria_chw","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fever_malaria_chw","type":"native_radio","label":"Je mteja huyu ana Homa au amepimwa kwenye Kituo cha Afya na akakutwa na Malaria?","label_text_style":"bold","text_color":"#000000","options":[{"key":"has_fever","text":"Ana Homa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"has_fever","openmrs_entity_parent":""},{"key":"tested_positive_last_14_days","text":"Amepimwa kwenye Kituo cha Afya na Amekutwa na Malaria ndani siku 14","value":false,"openmrs_entity":"concept","openmrs_entity_id":"tested_positive_last_14_days","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Tafadhari mojawapo kati ya haya:"}},{"key":"fever_duration","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Umekuwa na Homa kwa muda gani?","values":["Chini ya masaa 24","Zaidi ya Masaa 24"],"openmrs_choice_ids":{"Less than 24 hrs":"164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","More than 24 hrs":"164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhari changua moja:"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"malaria_test_done","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"malaria_test_done","type":"spinner","hint":"Je kipimo cha Malaria kimefanyika?","values":["Hapana","Ndio, kimefanywa na mtoa huduma ngazi ya jamii"],"v_required":{"value":"true","err":"Tafadhari chagua mojawapo:"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"malaria_results","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Majibu ya mRDT","values":["Chanya","Hasi"],"openmrs_choice_ids":{"Positive":"703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Negative":"664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhari chagua mojawapo:"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"date_hf_malaria_test","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"date_hf_malaria_test","type":"date_picker","hint":"Tarehe ya kipimo cha Malaria kwenye Kituo cha Afya","expanded":false,"max_date":"today","v_required":{"value":"true","err":"Tafadhari Ingiza tarehe ya kipimo cha Malaria katika Kituo cha Afya"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"malaria_test_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","hidden":"true","type":"edit_text","calculation":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_calculation.yml"}}}},{"key":"malaria","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163725AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","hidden":"true","type":"edit_text","calculation":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_calculation.yml"}}}},{"key":"malaria_treat","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"malaria_treat","type":"spinner","hint":"Matibabu aliyopatiwa","values":["MSETO vidonge 6","MSETO vidonge 12","MSETO vidonge 18","MSETO vidonge 24","Hakupatiwa ","Matibabu mengine"],"openmrs_choice_ids":{"ALU 6":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","ALU 12":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","ALU 18":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","ALU 24":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Not given":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Other treatment":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhari chagua mojawapo"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"referral_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Tafadhari mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria","toaster_info_text":"Tafadhari mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}}]},"step2":{"title":"Malaria Prevention","fields":[{"key":"fam_llin","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fam_llin","type":"spinner","hint":"Je una Chandarua kiliwekea viwatilifu ya muda mrefu?","values":["Ndio","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhari chagua mojawapo"}},{"key":"llin_2days","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"llin_2days","type":"spinner","hint":"Je jana usiku umelala kwenye Chandarua chenye viwatilifu vya muda mrefu?","values":["Ndio","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhari Chagua mojawapo:"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"llin_condition","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"llin_condition","type":"spinner","hint":"Hali ya Chandarua","values":["Bado ni nzuri","Mbaya"],"openmrs_choice_ids":{"Okay":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Bad":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhari changua mojawapo:"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"malaria_edu_chw","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"malaria_edu_chw","type":"check_box","label":"Mada za Malaria zilizofundishwa","label_text_style":"normal","text_color":"#C0C0C0","combine_checkbox_option_values":"true","exclusive":["chk_none"],"options":[{"key":"overview_on_malaria","text":"Mukhutasari juu ya Malaria","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"malaria_prevention","text":"Jinsi ya Kujikinga na Malaria","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"uncomplicated_malaria","text":"Malaria ya kawaida","value":false,"openmrs_entity":"concept","openmrs_entity_id":"159950AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"Severe_malaria","text":"Malaria kali","value":false,"openmrs_entity":"concept","openmrs_entity_id":"160155AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"malaria_in_pregnancy","text":"Malaria katika Ujauzito","value":false,"openmrs_entity":"concept","openmrs_entity_id":"135361AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Mada za Malaria zilizojadiliwa:"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/malaria_follow_up_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/malaria_follow_up_visit.json index e0f2b312b4..12b464deee 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/malaria_follow_up_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/malaria_follow_up_visit.json @@ -1,264 +1 @@ -{ - "count": "1", - "encounter_type": "Malaria Follow-up Visit", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Follow-up Visit", - "fields": [ - { - "key": "date_chw_mfollowup", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "162869AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "hidden" - }, - { - "key": "hf_chw_mfollowup", - "type": "native_radio", - "openmrs_entity": "", - "openmrs_entity_id": "1889AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "label": "Je, ulienda hospitali kwa ajili ya kipimo na matibabu ya malaria?", - "options": [ - { - "key": "Yes", - "openmrs_entity": "", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "No", - "openmrs_entity": "", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": null - } - }, - { - "key": "treat_given_chw_mfollowup", - "type": "native_radio", - "openmrs_entity": "", - "openmrs_entity_id": "162686AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "label": "Matibabu uliyopewa", - "options": [ - { - "key": "ALU_6", - "openmrs_entity": "", - "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "ALU 6" - }, - { - "key": "ALU_12", - "openmrs_entity": "", - "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "ALU 12" - }, - { - "key": "ALU_18", - "openmrs_entity": "", - "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "ALU 18" - }, - { - "key": "ALU_24", - "openmrs_entity": "", - "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "ALU 24" - }, - { - "key": "Other_treatment", - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Matibabu mengine" - }, - { - "key": "Received_treatment_but_dont_remember_which_treatment", - "openmrs_entity": "", - "openmrs_entity_id": "1767AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Amepewa matibabu, lakini hakumbuki aina gani" - }, - { - "key": "Not_given_treatment", - "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hajapewa matibabu" - } - ], - "v_required": { - "value": "true", - "err": null - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_followup_relevance.yml" - } - } - } - }, - { - "key": "reason_no_treat", - "type": "native_radio", - "openmrs_entity": "", - "openmrs_entity_id": "1743AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "label": "Sababu ya kutopata matibabu", - "options": [ - { - "key": "Referral_unsuccessful", - "openmrs_entity": "", - "openmrs_entity_id": "160068AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Rufaa haikufanikiwa" - }, - { - "key": "Drugs_stock_out", - "openmrs_entity": "", - "openmrs_entity_id": "1754AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Dawa zimeisha" - }, - { - "key": "Other_reason", - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Sababu nyingine" - } - ], - "v_required": { - "value": "true", - "err": null - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_followup_relevance.yml" - } - } - } - }, - { - "key": "fever_still", - "type": "native_radio", - "openmrs_entity": "", - "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "label": "Je, bado ana homa?", - "options": [ - { - "key": "Yes", - "openmrs_entity": "", - "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndiyo" - }, - { - "key": "No", - "openmrs_entity": "", - "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Hapana" - } - ], - "v_required": { - "value": "true", - "err": null - } - }, - { - "key": "fever_duration", - "type": "native_radio", - "openmrs_entity": "", - "openmrs_entity_id": "1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "label": "Umekuwa na homa kwa muda gani?", - "options": [ - { - "key": "Less_than_24hrs", - "openmrs_entity": "", - "openmrs_entity_id": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "text": "Ndani ya saa 24" - }, - { - "key": "More_than_24hrs", - "openmrs_entity": "", - "openmrs_entity_id": "NA", - "openmrs_entity_parent": "", - "text": "Zaidi ya saa 24" - } - ], - "v_required": { - "value": "true", - "err": null - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_followup_relevance.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Malaria Follow-up Visit","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Follow-up Visit","fields":[{"key":"date_chw_mfollowup","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"162869AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden"},{"key":"hf_chw_mfollowup","type":"native_radio","openmrs_entity":"","openmrs_entity_id":"1889AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Je umepata rufaa kwenye kufanya kipimo cha Malaria katika Kituo cha Afya?","options":[{"key":"Yes","openmrs_entity":"","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"No","openmrs_entity":"","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":null}},{"key":"treat_given_chw_mfollowup","type":"native_radio","openmrs_entity":"","openmrs_entity_id":"162686AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Matibabu yaliyotolewa","options":[{"key":"ALU_6","openmrs_entity":"","openmrs_entity_id":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"MSETO vidonge 6"},{"key":"ALU_12","openmrs_entity":"","openmrs_entity_id":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"MSETO vidonge 12"},{"key":"ALU_18","openmrs_entity":"","openmrs_entity_id":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"MSETO vidonge 18"},{"key":"ALU_24","openmrs_entity":"","openmrs_entity_id":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"MSETO vidonge 24"},{"key":"Other_treatment","openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Matibabu Mengine"},{"key":"Received_treatment_but_dont_remember_which_treatment","openmrs_entity":"","openmrs_entity_id":"1767AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Nimepokea matibabu mengine ila sikumbuki"},{"key":"Not_given_treatment","openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Sijapata matibabu"}],"v_required":{"value":"true","err":null},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_followup_relevance.yml"}}}},{"key":"reason_no_treat","type":"native_radio","openmrs_entity":"","openmrs_entity_id":"1743AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Sababu za kutotoa matibabu","options":[{"key":"Referral_unsuccessful","openmrs_entity":"","openmrs_entity_id":"160068AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Rufaa haijakamilika"},{"key":"Drugs_stock_out","openmrs_entity":"","openmrs_entity_id":"1754AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Dawa zimeisha"},{"key":"Other_reason","openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Sababu nyingine"}],"v_required":{"value":"true","err":null},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_followup_relevance.yml"}}}},{"key":"fever_still","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Je bado unajihisi Homa?","options":[{"key":"Yes","openmrs_entity":"","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndiyo","value":false},{"key":"No","openmrs_entity":"","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana","value":false}],"v_required":{"value":"true","err":null}},{"key":"fever_duration","type":"native_radio","openmrs_entity":"","openmrs_entity_id":"1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Umekuwa na Homa kwa muda gani?","options":[{"key":"Less_than_24hrs","openmrs_entity":"","openmrs_entity_id":"164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Chini ya masaa 24"},{"key":"More_than_24hrs","openmrs_entity":"","openmrs_entity_id":"NA","openmrs_entity_parent":"","text":"Zaidi ya masaa 24"}],"v_required":{"value":"true","err":null},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_followup_relevance.yml"}}}},{"key":"referral_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mpe rufaa mteja kwenda kwenye kituo cha afya kwa ajili ya uchunguzi na vipimo vya ziada","toaster_info_text":"Mpe rufaa mteja kwenda kwenye kituo cha afya kwa ajili ya uchunguzi na vipimo vya ziada","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_followup_relevance.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/malaria_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/malaria_referral_form.json index 693ed7b144..2b74cb2b45 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/malaria_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/malaria_referral_form.json @@ -1,339 +1 @@ -{ - "count": "1", - "encounter_type": "Malaria Referral", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Malaria Referral", - "fields": [ - { - "key": "referral_problem_malaria", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_problem_malaria", - "type": "check_box", - "label": "Maelezo ya tatizo la mgonjwa", - "label_text_style": "bold", - "options": [ - { - "key": "Fever", - "text": "Homa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Diarrhea", - "text": "Kuharisha", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Vomiting", - "text": "Kutapika", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Nausea", - "text": "Kutetemeka", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Trembling", - "text": "Kutetemeka", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "A_severe_headache_dizziness", - "text": "Maumivu makali ya kichwa / kizunguzungu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Sweating", - "text": "Kutoka jasho", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "140941AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Severe_abdominal_pain", - "text": "Maumivu makali ya tumbo", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Muscle_pain", - "text": "Maumivu ya misuli", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "133632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Sweling_of_the_face_and_or_hands", - "text": "Kuvimba uso na / au mikono", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "163894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Difficult_in_breathing_fast_and_laboured_breathing", - "text": "Kushindwa kupumua", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Convulsions", - "text": "Degedege/ Mtukutiko wa mwili", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Very_weak", - "text": "Kulegea", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "5226AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Irritable_easily_disturbed", - "text": "Kukereka kirahisi", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "118296AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Unconcious", - "text": "Kukosa fahamu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "123818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Unusually_sleepy", - "text": "Kulala kusiko kwa kawaida", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "117417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Neck_stiffness", - "text": "Shingo kukakamaa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Unable_to_sit_without_support", - "text": "Kushindwa kukaa bila msaada", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "123833AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Abnormal_bleeding_or_passing_of_urine_with_blood", - "text": "Kutokwa na damu au mkojo wenye damu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Severe_anaemia_pale_palms_and_inner_eyelids", - "text": "Upungufu mkubwa wa damu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Yellowing_of_the_eyes_jaundice", - "text": "Macho kuwa ya njano", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Severe_malnutrition", - "text": "Utapiamlo mkali", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "163302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Bloating", - "text": "Tumbo kujaa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": true, - "err": "Tafadhali taja shida inayohusiana na mteja" - } - }, - { - "key": "service_before_malaria", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "service_before_malaria", - "type": "check_box", - "label": "Matibabu aliyopewa kabla ya rufaa", - "label_text_style": "bold", - "is_problem": false, - "exclusive": [ - "None" - ], - "options": [ - { - "key": "Rectal_artesunate", - "text": "Rectal artesunate", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "71561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Panadol", - "text": "Panadol", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "ORS", - "text": "ORS", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Other_treatment", - "text": "Matibabu mengine", - "value": false, - "ignore": true, - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "None", - "text": "Hakuna", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": "true", - "err": "Matibabu iliyopewa kabla ya rufaa inahitajika" - } - }, - { - "key": "service_before_malaria_other", - "type": "edit_text", - "openmrs_entity": "", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "edit_type": "name", - "hint": "Matibabu mengine", - "is_problem": false, - "v_required": { - "value": "true", - "err": "Tafadhali taja matibabu mengine" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_referral_relevance.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Malaria Referral","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Malaria Referral","fields":[{"key":"referral_problem_malaria","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"referral_problem_malaria","type":"check_box","label":"Maelezo kuhusiana na matatizo ya mteja","label_text_style":"bold","options":[{"key":"Fever","text":"Homa","value":false,"openmrs_entity":"","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Diarrhea","text":"Kuhara","value":false,"openmrs_entity":"","openmrs_entity_id":"142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Vomiting","text":"Kutapika","value":false,"openmrs_entity":"","openmrs_entity_id":"122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Nausea","text":"Kichefuchefu","value":false,"openmrs_entity":"","openmrs_entity_id":"5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Trembling","text":"Kuhisi kutetemeka","value":false,"openmrs_entity":"","openmrs_entity_id":"158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"A_severe_headache_dizziness","text":"Maumivu makali ya Kichwa","value":false,"openmrs_entity":"","openmrs_entity_id":"139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Sweating","text":"Kutokwa na jasho","value":false,"openmrs_entity":"","openmrs_entity_id":"140941AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_abdominal_pain","text":"Maumivu makali ya tumbo ","value":false,"openmrs_entity":"","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Muscle_pain","text":"Maumivu ya Misuli","value":false,"openmrs_entity":"","openmrs_entity_id":"133632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Sweling_of_the_face_and_or_hands","text":"Kuvimba uso na mikono","value":false,"openmrs_entity":"","openmrs_entity_id":"163894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Difficult_in_breathing_fast_and_laboured_breathing","text":"Changamoto ya Upumuaji (Ugumu wa kupumua)","value":false,"openmrs_entity":"","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Convulsions","text":"Degedege","value":false,"openmrs_entity":"","openmrs_entity_id":"113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Very_weak","text":"Kuhisi mdhaifu wa mwili","value":false,"openmrs_entity":"","openmrs_entity_id":"5226AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Irritable_easily_disturbed","text":"Kuwa na hasira","value":false,"openmrs_entity":"","openmrs_entity_id":"118296AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Unconcious","text":"Kupoteza fahamu","value":false,"openmrs_entity":"","openmrs_entity_id":"123818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Unusually_sleepy","text":"Usingizi usikuwa wa kawaida","value":false,"openmrs_entity":"","openmrs_entity_id":"117417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Neck_stiffness","text":"Kukakamaa kwa Shingo","value":false,"openmrs_entity":"","openmrs_entity_id":"112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Unable_to_sit_without_support","text":"Kushindwa kukaa","value":false,"openmrs_entity":"","openmrs_entity_id":"123833AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Abnormal_bleeding_or_passing_of_urine_with_blood","text":"Kutokwa na damu kusiko kawaida","value":false,"openmrs_entity":"","openmrs_entity_id":"147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_anaemia_pale_palms_and_inner_eyelids","text":"Upungufu mkubwa wa damu","value":false,"openmrs_entity":"","openmrs_entity_id":"162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Yellowing_of_the_eyes_jaundice","text":"Homa ya Manjano","value":false,"openmrs_entity":"","openmrs_entity_id":"136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_malnutrition","text":"Utapiamlo","value":false,"openmrs_entity":"","openmrs_entity_id":"163302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Bloating","text":"Kuvimba mwili","value":false,"openmrs_entity":"","openmrs_entity_id":"147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":true,"err":"Tafadhari bainisha matatizo aliyonayo mteja"}},{"key":"service_before_malaria","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"service_before_malaria","type":"check_box","label":"Matibabu aliyopatikwa kabla ya Rufaa","label_text_style":"bold","is_problem":false,"exclusive":["None"],"options":[{"key":"Rectal_artesunate","text":"Rectal artesunate","value":false,"openmrs_entity":"","openmrs_entity_id":"71561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Panadol","text":"Panado","value":false,"openmrs_entity":"","openmrs_entity_id":"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"ORS","text":"Dawa ya kurejesha maji mwilini (ORS)","value":false,"openmrs_entity":"","openmrs_entity_id":"351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_treatment","text":"Matibabu mengine","value":false,"ignore":true,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Matibabu aliyopatikwa kabla ya Rufaa"}},{"key":"service_before_malaria_other","type":"edit_text","openmrs_entity":"","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","edit_type":"name","hint":"Matibabu mengine","is_problem":false,"v_required":{"value":"true","err":"Tafadhari bainisha matibabu mengine"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_referral_relevance.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/observation_illness.json b/opensrp-chw/src/ba/assets/json.form-sw/observation_illness.json index e2409d44b1..bd0c7baf8a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/observation_illness.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/observation_illness.json @@ -1,125 +1 @@ -{ - "count": "1", - "encounter_type": "Observations Illness", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Uangulifu na muda ya ugonjwa", - "fields": [ - { - "key": "date_of_illness", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "date_picker", - "hint": "Tarehe", - "expanded": false, - "max_date": "today", - "min_date": "", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe ya ugonjwa" - } - }, - { - "key": "illness_description", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "text", - "type": "edit_text", - "hint": "Maelezo", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza maelezo" - } - }, - { - "key": "action_taken_1m5yr", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Hatua zilizochukuliwa", - "v_required": { - "value": "true", - "err": "Please select action" - }, - "values": [ - "ORS 5", - "Zinc 10", - "Panadol", - "Matibabu mengine" - ], - "keys": [ - "ORS 5", - "Zinc 10", - "Paracetamol", - "Other treatment" - ] - }, - { - "key": "other_treat_1m5yr", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "edit_text", - "hint": "Matibabu mengine", - "v_required": { - "value": "true", - "err": "Tafadhali taja matibabu mengine" - }, - "relevance": { - "step1:action_taken_1m5yr": { - "type": "string", - "ex": "equalTo(., \"Other treatment\")" - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Observations Illness","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Observations & Illness","fields":[{"key":"date_of_illness","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe","expanded":false,"max_date":"today","min_date":"","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya ugonjwa"}},{"key":"illness_description","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"edit_text","hint":"Maelezo","v_required":{"value":"true","err":"Tafadhali ingiza maelezo"}},{"key":"action_taken_1m5yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Hatua iliyochukuliwa","v_required":{"value":"true","err":"Tafadhali chagua hatua"},"values":["ORS 5","Zinc 10","Panadol","Kutoa rufaa","Matibabu mengine","Hakuna matibabu yaliyotolewa"],"keys":["ORS 5","Zinc 10","Panadol","Referred","Other treatment given","No treatment"]},{"key":"other_treat_1m5yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Matibabu mengine","v_required":{"value":"true","err":"Tafadhali taja matibabu mengine"},"relevance":{"step1:action_taken_1m5yr":{"type":"string","ex":"equalTo(., \"Other treatment\")"}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_counselling.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_counselling.json index 4cbc54c7be..d69b72540b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_counselling.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_counselling.json @@ -1,206 +1 @@ -{ - "count": "1", - "encounter_type": "Child Home Visit Counselling", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Ushauri", - "fields": [ - { - "key": "couselling_pnc", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Ushauri uliotolewa", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_maternal_nutrition", - "text": "3. Lishe kwa mama wakati wa kunyonyesha", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_hiv_aids", - "text": "5. Umuhimu wa kupata ushauri nasaha na kupima VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_pmtct", - "text": "6. Kuzuia mambukizi ya VVU kutoka kwa mama kwenda kwa mtoto", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_malaria_prevention", - "text": "7. Kuzuia malaria kwa watoto wenye umri chini ya miaka mitano", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_pnc_care_for_mother", - "text": "9. Huduma kwa mama baada ya kujifungua", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1623AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_pnc_danger_signs", - "text": "10. Dalili za hatari mara baada ya kujifungua hadi siku arobaini na mbili ya uzazi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_care_of_infant_after_birth", - "text": "11. Huduma kwa mtoto mchanga mara baada ya kuzaliwa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "159839AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_care_of_premature_baby", - "text": "12. Huduma kwa mtoto aliyezaliwa kabla ya muda wake / njiti au mtoto mwenye uzito pungufu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "chk_care_of_new_born", - "text": "13. Kumhudumia mtoto mchanga", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_new_born_danger_signs", - "text": "14. Dalili za hatari kwa mtoto mchanga", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_hiv_exposed_infant", - "text": "15. Ufuatiliaji wa mtoto aliyezaliwa na mama mwenye VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_breastfeeding", - "text": "16. Unyonyeshaji wa mazima wa mama", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_lam", - "text": "17. Njia ya uzazi wa mpango ya unyonyeshaji maziwa ya mama pekee kwa kipindi cha miezi sita baada ya kujifungua (LAM)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_family_planning", - "text": "18. Uzazi wa mpango", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_birth_registration", - "text": "19. Usajili wa vizazi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_immunisation", - "text": "22. Chanjo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_infection_prevention", - "text": "24. Kuzuia maambukizi katika jamii", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_gender_issues", - "text": "26. Jinsia", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_none", - "text": "Hakushauriwa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - } - } - ] - } -} +{"count":"1","encounter_type":"Child Home Visit Counselling","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Counselling","fields":[{"key":"couselling_pnc","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Ushauri uliyotolewa","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_maternal_nutrition","text":"Lishe ya mama wakati wa kunyonyesha","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_hiv_aids","text":"Taarifa za jumla za VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_pmtct","text":"PMTCT kwa mama","value":false,"openmrs_entity":"concept","openmrs_entity_id":"160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_malaria_prevention","text":"Kuzuia Malaria","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_pnc_care_for_mother","text":"Malezi ya PNC kwa mama","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1623AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_hiv_exposed_infant","text":"Ufuatiliaji wa Mtoto aliye katika hatari ya VVU","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_pnc_danger_signs","text":"Dalili za hatari za PNC","value":false,"openmrs_entity":"concept","openmrs_entity_id":"161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_care_of_infant_after_birth","text":"Malezi ya mtoto mchanga baada ya kuzaliwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"159839AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_care_of_premature_baby","text":"Malezi ya mtoto njiti","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_care_of_new_born","text":"Malezi ya mtoto mchanga mara baada ya kuzaliwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_new_born_danger_signs","text":"Dalili za hatari kwa mtoto mchanga ","value":false,"openmrs_entity":"concept","openmrs_entity_id":"161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_hiv_exposed_infant","text":"Ufuatiliaji wa Mtoto aliye katika hatari ya VVU","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_breastfeeding","text":"Kunyonyesha","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_lam","text":"LAM kama njia ya asili ya uzazi wa mpango, ambayo inajumuisha unyonyeshaji wa kipekee miezi sita baada ya kujifungua","value":false,"openmrs_entity":"concept","openmrs_entity_id":"161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_family_planning","text":"Uzazi wa mpango","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_birth_registration","text":"Usajili wa kuzaliwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_immunisation","text":"Upataji wa chanjo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_infection_prevention","text":"Kuzuia na kudhibiti maambukizi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_gender_issues","text":"Masuala ya jinsia","value":false,"openmrs_entity":"","openmrs_entity_id":""},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}],"v_required":{"value":"true","err":"Tafahdali chagua angalau moja"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_baby.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_baby.json index f514213eaf..888a354461 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_baby.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_baby.json @@ -1,204 +1 @@ -{ - "count": "1", - "encounter_type": "Danger signs - Baby", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Dalili za hatari kwa mtoto", - "fields": [ - { - "key": "danger_signs_present_child", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Je, mtoto mchanga ana dalili zozote za hatari?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_fever", - "text": "Homa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_excessive_crying", - "text": "Mtoto kulia sana", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "110540AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_fast_breathing", - "text": "Kupumua kwa haraka", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "125061AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_difficult_breathing", - "text": "Kushindwa kupumua", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_unable_to_suck", - "text": "Kushindwa kunyonya au kumeza", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_umbilical_discharge", - "text": "Kutoka damu kwenye kitovu au usaha", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "123843AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_no_movement", - "text": "Hakuna harakati", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164455AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_convulsions", - "text": "Degedege / Mtukutiko wa mwili", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_skin_rashes", - "text": "Vipele mwilini", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_pale", - "text": "Mwili kuwa njano", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_eye_discharge", - "text": "Macho kutoa uchafu / usaha", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "142246AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_severe_abdominal_pain", - "text": "Maumivu makali ya tumbo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_lethargy", - "text": "Uchovu / Kulegea mwili", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "116334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - } - }, - { - "key": "danger_signs_present_toaster", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "Dalili za hatari! \nToa rufaa haraka kwenda kituo cha kutolea huduma za afya.", - "text_color": "#CF0800", - "toaster_type": "problem", - "relevance": { - "step1:danger_signs_present_child": { - "ex-checkbox": [ - { - "or": [ - "chk_fever", - "chk_excessive_crying", - "chk_fast_breathing", - "chk_difficult_breathing", - "chk_unable_to_suck", - "chk_umbilical_discharge", - "chk_no_movement", - "chk_convulsions", - "chk_skin_rashes", - "chk_pale", - "chk_eye_discharge", - "chk_severe_abdominal_pain", - "chk_lethargy" - ] - } - ] - } - } - } - ] - } -} +{"count":"1","encounter_type":"Danger signs - Baby","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Danger Signs Baby","fields":[{"key":"danger_signs_present_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Je, mtoto ana dalili zozote za hatari?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_fever","text":"Homa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_excessive_crying","text":"Kulia kupita kiasi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"110540AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_fast_breathing","text":"Kupumua kwa haraka","value":false,"openmrs_entity":"concept","openmrs_entity_id":"125061AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_difficult_breathing","text":"Kupumua kwa shida","value":false,"openmrs_entity":"concept","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_unable_to_suck","text":"Kutoweza kunyonya","value":false,"openmrs_entity":"concept","openmrs_entity_id":"159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_umbilical_discharge","text":"Kitovu kutokwa na damu/usaha","value":false,"openmrs_entity":"concept","openmrs_entity_id":"123843AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_no_movement","text":"Hamna uchezaji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164455AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_convulsions","text":"Degedege","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_skin_rashes","text":"Vipele kwenye ngozi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_pale","text":"Kupauka au kuonekana na rangi ya manjano","value":false,"openmrs_entity":"concept","openmrs_entity_id":"136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_eye_discharge","text":"Jicho kutokwa na majimaji ","value":false,"openmrs_entity":"concept","openmrs_entity_id":"142246AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_lethargy","text":"Ulegeevu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"116334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"}},{"key":"danger_signs_present_toaster","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Dalili ya hatari! Mpatie rufaa kwenda kituo cha afya haraka","text_color":"#CF0800","toaster_type":"problem","relevance":{"step1:danger_signs_present_child":{"ex-checkbox":[{"or":["chk_fever","chk_excessive_crying","chk_fast_breathing","chk_difficult_breathing","chk_unable_to_suck","chk_umbilical_discharge","chk_no_movement","chk_convulsions","chk_skin_rashes","chk_pale","chk_eye_discharge","chk_severe_abdominal_pain","chk_lethargy"]}]}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_mother.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_mother.json index f980cd8d6a..b268054c44 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_mother.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_mother.json @@ -1,204 +1 @@ -{ - "count": "1", - "encounter_type": "Danger signs - Mother", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Dalili za hatari kwa mama", - "fields": [ - { - "key": "danger_signs_present_mama", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Je, mama ana dalili zozote za hatari?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_fever", - "text": "Homa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_bleeding_vaginally", - "text": "Damu kutoka ukeni", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_server_headache", - "text": "Maumivu ya kichwa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_convulsions", - "text": "Degedege / Mtukutiko wa mwili", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_difficulty_breathing", - "text": "Kupumua kwa shida", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_severe_leg_pain", - "text": "Maumivu makali kwenye misuli ya miguu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "114395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_unusual_behaviour", - "text": "Tabia isiyo ya kawaida (msongo wa mawazo, kuchanganyikiwa)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "152376AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_swelling of breast", - "text": "Kuvimba kwa matiti na chuchu zilizo chanika", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "125212AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_severe_abdominal_pain", - "text": "Maumivu makali ya tumbo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_vaginal_discharge", - "text": "Kutoka uchafu / majimaji ukeni yenye harufu mbaya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_blurred_vision", - "text": "Kutoona vizuri", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_loss_conscioueness", - "text": "Kupoteza fahamu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "135592AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_urination", - "text": "Kupata mkojo kidogo au kuvuja mkojo mfululizo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "118982AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - } - }, - { - "key": "danger_signs_present_toaster", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "Dalili za hatari! \nMpe rufaa haraka kwenda kituo cha afya.", - "text_color": "#CF0800", - "toaster_type": "problem", - "relevance": { - "step1:danger_signs_present_mama": { - "ex-checkbox": [ - { - "or": [ - "chk_fever", - "chk_bleeding_vaginally", - "chk_server_headache", - "chk_convulsions", - "chk_difficulty_breathing", - "chk_severe_leg_pain", - "chk_unusual_behaviour", - "chk_swelling of breast", - "chk_severe_abdominal_pain", - "chk_vaginal_discharge", - "chk_blurred_vision", - "chk_loss_conscioueness", - "chk_urination" - ] - } - ] - } - } - } - ] - } -} +{"count":"1","encounter_type":"Danger signs - Mother","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Danger Signs Mother","fields":[{"key":"danger_signs_present_mama","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Je, mama ana dalili zozote za hatari?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_fever","text":"Homa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_bleeding_vaginally","text":"Kutokwa na damu ukeni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_server_headache","text":"Maumivu makali ya kichwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_convulsions","text":"Degedege","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_difficulty_breathing","text":"Kupumua kwa shida","value":false,"openmrs_entity":"concept","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_severe_leg_pain","text":"Maumivu makali ya mguu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"114395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_unusual_behaviour","text":"Tabia isiyo ya kawaida (msongo wa mawazo, kuchanganyikiwa)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"152376AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_swelling of breast","text":"Kuvimba kwa titi na chuchu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"125212AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_vaginal_discharge","text":"Kutokwa na majimaji yenye harufu mbaya kutoka ukeni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_blurred_vision","text":"Uoni hafifu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_loss_conscioueness","text":"Kupoteza fahamu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"135592AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_urination","text":"Kukojoa kidogo au mkojo kuvuja kutoka ukeni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"118982AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}],"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"danger_signs_present_toaster","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Dalili ya hatari! Mpatie rufaa ya kwenda kituo cha afya haraka.","text_color":"#CF0800","toaster_type":"problem","relevance":{"step1:danger_signs_present_mama":{"ex-checkbox":[{"or":["chk_fever","chk_bleeding_vaginally","chk_server_headache","chk_convulsions","chk_difficulty_breathing","chk_severe_leg_pain","chk_unusual_behaviour","chk_swelling of breast","chk_severe_abdominal_pain","chk_vaginal_discharge","chk_blurred_vision","chk_loss_conscioueness","chk_urination"]}]}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_exclusive_breastfeeding.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_exclusive_breastfeeding.json index 65785a6034..316d97c302 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_exclusive_breastfeeding.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_exclusive_breastfeeding.json @@ -1,76 +1 @@ -{ - "count": "1", - "encounter_type": "Exclusive breast feeding", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Kunyonyeshwa maziwa ya mama pekee mwezi 0", - "fields": [ - { - "key": "exclusive_breast_feeding", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "openmrs_data_type": "exclusive_breast_feeding", - "type": "spinner", - "image": "ic_form_bf", - "hint": "Je, mtoto amenyonyeshwa maziwa ya mama pekee?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Exclusive breast feeding","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Exclusive breastfeeding","fields":[{"key":"exclusive_breast_feeding","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"exclusive_breast_feeding","type":"spinner","image":"ic_form_bf","hint":"Je, mtoto amekuwa akinyonya maziwa ya mama pekee?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_family_planning.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_family_planning.json index 6b50c5c84b..d292769f3f 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_family_planning.json @@ -1,197 +1 @@ -{ - "count": "1", - "encounter_type": "Family Planning", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Uzazi wa mpango", - "fields": [ - { - "key": "fp_counseling", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, mama amepata ushauri juu ya uzazi wa mpango katika kituo cha kutolea huduma za afya hivi karibuni?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - }, - { - "key": "fp_period_received", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Je, alipewa ushauri katika kipindi gani?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "chk_during_anc", - "text": "Wakati wa kliniki ya wajawazito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_during_anc" - }, - { - "key": "chk_during_labour_and_delivery", - "text": "Wakati wa uchungu na kujifungua", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_during_labour_and_delivery" - }, - { - "key": "chk_during_pnc", - "text": "Wakati wa huduma ya mama na mtoto wa baada ya kujifungua", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_during_pnc" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "pnc_family_planning_relevance.yml" - } - } - } - }, - { - "key": "fp_method", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Njia ya uzazi wa mpango uliyochagua?", - "values": [ - "Kitanzi", - "Vidonge vya kumeza (POP)", - "Kipandikizi", - "Kondomu", - "Njia ya uzazi wa mpango kwa unyonyeshaji (LAM)", - "Shanga", - "Kufunga kizazi mwanamke", - "Kufunga kizazi mwanamme", - "Hakuchagua njia yoyote" - ], - "keys": [ - "PPIUCD", - "Pills", - "Implant", - "Condoms", - "LAM", - "Bead Counting", - "Permanent (BTL)", - "Permanent (Vascemtomy)", - "None" - ], - "openmrs_choice_ids": { - "PPIUCD": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Pills": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Implant": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Condoms": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "LAM": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Bead Counting": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Permanent (BTL)": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Permanent (Vascemtomy)": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "None": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "pnc_family_planning_relevance.yml" - } - } - } - }, - { - "key": "fp_start_date", - "openmrs_entity_parent": "163757AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity": "", - "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "date_picker", - "hint": "Tarehe ya kuanza njia ya uzazi wa mpango", - "min_date": "today-120y", - "max_date": "today", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "pnc_family_planning_relevance.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Family Planning","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Family Planning","fields":[{"key":"fp_counseling","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Je, mama alishauriwa kuhusu upangaji uzazi katika kituo cha afya hivi karibuni??","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"fp_period_received","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Alishauriwa katika kipindi gani?","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"chk_during_anc","text":"Wakati wa ANCc","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_during_anc"},{"key":"chk_during_labour_and_delivery","text":"Wakati wa kujifungua","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_during_labour_and_delivery"},{"key":"chk_during_pnc","text":"Wakati wa PNC","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_during_pnc"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"pnc_family_planning_relevance.yml"}}}},{"key":"fp_method","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Njia ya uzazi wa mpango iliyochaguliwa","values":["Njia ya PPIUCD","Vidonge","Kipandikizi","Kondomu","Njia ya LAM","Njia ya kawaida ya siku","Njia ya kudumu (BTL)","Njia ya kudumu (Vasectomy)","Hakuna"],"keys":["PPIUCD","Pills","Implant","Condoms","LAM","Bead Counting","Permanent (BTL)","Permanent (Vascemtomy)","None"],"openmrs_choice_ids":{"PPIUCD":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Pills":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Implant":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Condoms":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","LAM":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Bead Counting":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Permanent (BTL)":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Permanent (Vascemtomy)":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","None":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"pnc_family_planning_relevance.yml"}}}},{"key":"fp_start_date","openmrs_entity_parent":"163757AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya kuanza","min_date":"today-120y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kuanza kututmika kwa njia iliyochaguliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"pnc_family_planning_relevance.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit.json index 6c84cf240d..59616ce123 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit.json @@ -1,180 +1 @@ -{ - "count": "1", - "encounter_type": "Health Facility Visit", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Hudhurio katika kituo cha kutolea huduma za afya ya mama na mtoto baada ya kujifungua", - "fields": [ - { - "key": "pnc_visit_{0}", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, mama alihudhuria hudhurio la {0} la huduma ya mama na mtoto baada ya kujifungua katika kituo cha kutolea huduma za afya? \n\nTarehe ya hudhurio lingine: {1}", - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo" - }, - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ] - }, - { - "key": "pnc_hf_visit{0}_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "date_picker", - "hint": "Tarehe ya hudhurio la {0} la huduma ya mama na mtoto baada ya kujifungua", - "expanded": false, - "max_date": "today", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe" - }, - "relevance": { - "step1:pnc_visit_{0}": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - }, - { - "key": "vit_a_mother", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, mama alipewa Vitamini A ndani ya masaa 24 baada ya kujifungua?", - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo" - }, - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "relevance": { - "step1:pnc_visit_{0}": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - }, - { - "key": "ifa_mother", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "104677AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, mama alipewa dawa za kuongeza damu (FEFO) ndani ya masaa 24 baada ya kujifungua?", - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo" - }, - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "relevance": { - "step1:pnc_visit_{0}": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - }, - { - "key": "confirmed_health_facility_visits", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "confirmed_health_facility_visits", - "type": "spacer", - "read_only": "true", - "hidden": "true", - "value": "0" - }, - { - "key": "last_health_facility_visit_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "last_health_facility_visit_date", - "type": "spacer", - "read_only": "true", - "hidden": "true", - "value": "0" - }, - { - "key": "pnc_hf_next_visit_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "pnc_hf_next_visit_date", - "type": "spacer" - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Health Facility Visit","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Health Facility Visit","fields":[{"key":"pnc_visit_{0}","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Je, mwanamke huyo alihudhuria PNC yake alipotembelea {0} kituo cha afya? Tarehe ya kukamilisha hudhurio: {1}","v_required":{"value":"true","err":"Tafadhali chagua chaguo"},"values":["Ndiyo","Hapana"]},{"key":"pnc_hf_visit{0}_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya kutembelea kituo cha afya kwa ajili ya PNC {0}","expanded":false,"max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe "},"relevance":{"step1:pnc_visit_{0}":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"vit_a_mother","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Je, mwanamke huyo alipokea Vitamini A ndani ya saa 24 baada ya kujifungua?","v_required":{"value":"true","err":"Tafadhali chagua chaguo"},"values":["Ndiyo","Hapana"],"relevance":{"step1:pnc_visit_{0}":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"ifa_mother","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"104677AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Je, mwanamke alipokea tembe za iron na folic acid (IFA) ndani ya saa 24 baada ya kujifungua?","v_required":{"value":"true","err":"Tafadhali chagua chaguo"},"values":["Ndiyo","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"relevance":{"step1:pnc_visit_{0}":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"confirmed_health_facility_visits","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"confirmed_health_facility_visits","type":"spacer","read_only":"true","hidden":"true","value":"0"},{"key":"last_health_facility_visit_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_health_facility_visit_date","type":"spacer","read_only":"true","hidden":"true","value":"0"},{"key":"pnc_hf_next_visit_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"pnc_hf_next_visit_date","type":"spacer"}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit_two.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit_two.json index 238f82418a..9a78ee4d5e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit_two.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit_two.json @@ -1,114 +1 @@ -{ - "count": "1", - "encounter_type": "Health Facility Visit", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Hudhurio katika kituo cha kutolea huduma za afya ya mama na mtoto baada ya kujifungua", - "fields": [ - { - "key": "pnc_visit_{0}", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, mama alihudhuria hudhurio la {0} la huduma ya mama na mtoto baada ya kujifungua katika kituo cha kutolea huduma za afya?\n\nTarehe ya hudhurio lingine: {1}", - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo" - }, - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ] - }, - { - "key": "pnc_hf_visit{0}_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "date_picker", - "hint": "Tarehe ya hudhurio la {0} la huduma ya mama na mtoto baada ya kujifungua", - "expanded": false, - "max_date": "today", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe" - }, - "relevance": { - "step1:pnc_visit_{0}": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - }, - { - "key": "confirmed_health_facility_visits", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "confirmed_health_facility_visits", - "type": "spacer", - "read_only": "true", - "hidden": "true", - "value": "0" - }, - { - "key": "last_health_facility_visit_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "last_health_facility_visit_date", - "type": "spacer", - "read_only": "true", - "hidden": "true", - "value": "0" - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Health Facility Visit","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Health Facility Visit","fields":[{"key":"pnc_visit_{0}","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Je, mwanamke huyo alihudhuria PNC yake alipotembelea {0} kituo cha afya? Tarehe ya kukamilisha hudhurio: {1}","v_required":{"value":"true","err":"Tafadhai chagua chaguo"},"values":["Ndiyo","Hapana"]},{"key":"pnc_hf_visit{0}_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya kutembelea kituo cha afya cha PNC {0}","expanded":false,"max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe"},"relevance":{"step1:pnc_visit_{0}":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"confirmed_health_facility_visits","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"confirmed_health_facility_visits","type":"spacer","read_only":"true","hidden":"true","value":"0"},{"key":"last_health_facility_visit_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_health_facility_visit_date","type":"spacer","read_only":"true","hidden":"true","value":"0"}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_danger_signs.json new file mode 100644 index 0000000000..91dcb8af25 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_danger_signs.json @@ -0,0 +1 @@ +{"count":"1","encounter_type":"PNC HomeVisit","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"PNC Danger Signs","fields":[{"key":"danger_signs_present","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Je, mama ana dalili zozote za hatari?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_fever","text":"Homa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_bleeding_vaginally","text":"Kutokwa na damu ukeni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_server_headache","text":"Maumivu makali ya kichwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_convulsions","text":"Degedege","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_difficulty_breathing","text":"Kupumua kwa shida","value":false,"openmrs_entity":"concept","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_swelling","text":"Kuvimba kwa uso na/au mikono","value":false,"openmrs_entity":"concept","openmrs_entity_id":"460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_vaginal_discharge","text":"Kutokwa na majimaji yenye rangirangi na harufu mbaya ukeni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_unusual_movement","text":"Hamna uchezaji/uchezaji wa mtoto tumboni usiyo wa kawaida","value":false,"openmrs_entity":"concept","openmrs_entity_id":"113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"}},{"key":"danger_signs_present_toaster","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Dalili ya hatari! Mpe rufaa ya kwenda kituo cha afya haraka.","text_color":"#CF0800","toaster_type":"problem","relevance":{"step1:danger_signs_present":{"ex-checkbox":[{"or":["chk_fever","chk_bleeding_vaginally","chk_server_headache","chk_convulsions","chk_difficulty_breathing","chk_severe_abdominal_pain","chk_swelling","chk_vaginal_discharge","chk_unusual_movement"]}]}}},{"key":"danger_signs_counseling","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"165310AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","label_info_title":"Did the mother receive counselling","label_info_text":"Did the mother receive counselling on danger signs at the health facility recently?","hint":"Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?","values":["Ndiyo ","Hapana"],"openmrs_choice_ids":{"Yes":"1267AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1118AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_infant.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_infant.json index 538dfe38a9..f4be5c0506 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_infant.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_infant.json @@ -1,157 +1 @@ -{ - "count": "1", - "encounter_type": "ANC Registration", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Uchunguzi na ugonjwa kwa mtoto", - "fields": [ - { - "key": "date_of_illness_child", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "date_picker", - "hint": "Tarehe", - "expanded": false, - "min_date": "today-1y", - "max_date": "today", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe ya shida" - } - }, - { - "key": "illness_description_child", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Maelezo", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza maelezo" - } - }, - { - "key": "action_taken_child", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Hatua zilizochukuliwa", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_ors", - "text": "ORS 5", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_zinc", - "text": "Zinc 10", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_paracetamol", - "text": "Panadol", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_referred", - "text": "Amepewa rufaa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_other_treatment", - "text": "Matibabu mengine", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_none", - "text": "Hajapata matibabu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - ] - }, - { - "key": "other_treatment_illness_child", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Matibabu mengine", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza maelezo ya ugonjwa" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_hv_observations.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"ANC Registration","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Observations & Illness - Child","fields":[{"key":"date_of_illness_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe","expanded":false,"min_date":"today-1y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya ugonjwa"}},{"key":"illness_description_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","hint":"Maelezo","v_required":{"value":"true","err":"Tafadhali ingiza maelezo"}},{"key":"action_taken_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Hatua iliyochukuliwa","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_ors","text":"ORS 5","value":false,"openmrs_entity":"concept","openmrs_entity_id":"351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_zinc","text":"Zinc 10","value":false,"openmrs_entity":"concept","openmrs_entity_id":"86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_paracetamol","text":"Panadol","value":false,"openmrs_entity":"concept","openmrs_entity_id":"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_referred","text":"Kupewa rufaa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_other_treatment","text":"Matibabu mengine","value":false,"openmrs_entity":"concept","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_none","text":"Hakuna matibabu yaliyotolewa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}]},{"key":"other_treatment_illness_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","hint":"Matibabu mengine","v_required":{"value":"true","err":"Tafadhali ingiza maelezo kuhusu ugonjwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_hv_observations.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_mother.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_mother.json index fb1daa076d..bad549781a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_mother.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_mother.json @@ -1,157 +1 @@ -{ - "count": "1", - "encounter_type": "ANC Registration", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Uchunguzi na ugonjwa kwa mama", - "fields": [ - { - "key": "date_of_illness_mama", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "date_picker", - "hint": "Tarehe", - "expanded": false, - "min_date": "today-1y", - "max_date": "today", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe ya ugonjwa" - } - }, - { - "key": "illness_description_mama", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Maelezo", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza maelezo" - } - }, - { - "key": "action_taken_mama", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Hatua zilizochukuliwa", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_ors", - "text": "ORS 5", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_zinc", - "text": "Zinc 10", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_paracetamol", - "text": "Panadol", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_referred", - "text": "Amepewa rufaa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_other_treatment", - "text": "Matibabu mengine", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_none", - "text": "Hajapata matibabu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - ] - }, - { - "key": "other_treatment_illness_mama", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "edit_text", - "hint": "Matibabu mengine", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza maelezo ya ugonjwa" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_hv_observations.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"ANC Registration","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Observations & Illness - Mama","fields":[{"key":"date_of_illness_mama","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe","expanded":false,"min_date":"today-1y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya ugonjwa"}},{"key":"illness_description_mama","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","hint":"Maelezo","v_required":{"value":"true","err":"Tafadhali ingiza maelezo"}},{"key":"action_taken_mama","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Hatua iliyochukuliwa","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_ors","text":"ORS 5","value":false,"openmrs_entity":"concept","openmrs_entity_id":"351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_zinc","text":"Zinc 10","value":false,"openmrs_entity":"concept","openmrs_entity_id":"86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_paracetamol","text":"Panadol","value":false,"openmrs_entity":"concept","openmrs_entity_id":"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_referred","text":"Kutoa rufaa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_other_treatment","text":"Matibabu mengine","value":false,"openmrs_entity":"concept","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_none","text":"Hakuna matibabu yaliyotolewa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}]},{"key":"other_treatment_illness_mama","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","hint":"Matibabu mengine","v_required":{"value":"true","err":"Tafahdali ingiza maelezo ya ugonjwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_hv_observations.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_malaria_prevention.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_malaria_prevention.json index 1d49806701..e33ef1a773 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_malaria_prevention.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_malaria_prevention.json @@ -1,141 +1 @@ -{ - "count": "1", - "encounter_type": "Malaria Prevention", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Kuzuia malaria", - "fields": [ - { - "key": "fam_llin", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, ana chandarua chenye viuwatilifu vya muda mrefu?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - }, - { - "key": "llin_2days", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, amelala kwenye chandarua chenye viuwatilifu vya muda mrefu usiku uliopita?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "step1:fam_llin": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - }, - { - "key": "llin_condition", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Hali ya chandarua chenye viuwatilifu vya muda mrefu kinachotumika", - "values": [ - "Nzima", - "Mbovu" - ], - "keys": [ - "Okay", - "Bad" - ], - "openmrs_choice_ids": { - "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "step1:fam_llin": { - "type": "string", - "ex": "equalTo(., \"Yes\")" - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Malaria Prevention","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Malaria Prevention","fields":[{"key":"fam_llin","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"select one","type":"spinner","hint":"Je, ana chandarua chenye dawa inayodumu kwa muda mrefu (LLIN)?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"llin_2days","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"select one","type":"spinner","hint":"Je, alilala chini ya chandarua jana usiku?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"step1:fam_llin":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"llin_condition","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"select one","type":"spinner","hint":"Hali ya chandarua","values":["Nzuri","Mbaya"],"keys":["Okay","Bad"],"openmrs_choice_ids":{"Okay":"159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Bad":"159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"step1:fam_llin":{"type":"string","ex":"equalTo(., \"Yes\")"}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_infant.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_infant.json index 703d9af91c..cd1079c8e8 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_infant.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_infant.json @@ -1,82 +1 @@ -{ - "count": "1", - "encounter_type": "Nutrition Status - Baby", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Hali ya lishe ya mtoto", - "fields": [ - { - "key": "nutrition_status_1m", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Hali ya lishe ya mtoto mchanga", - "values": [ - "Nzuri/Kijani", - "Kadri/Njano", - "Dhaifu/Nyekundu" - ], - "keys": [ - "Normal", - "Moderate", - "Severe" - ], - "openmrs_choice_ids": { - "Yes": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Nutrition Status - Baby","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Nutrition Status - Baby","fields":[{"key":"nutrition_status_1m","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Hali ya lishe ya mtoto mchanga","values":["Kawaida/Kijani","Wastani/Njano","Mbaya/Nyekundu"],"keys":["Normal","Moderate","Severe"],"openmrs_choice_ids":{"Yes":"1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Severe":"1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_mother.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_mother.json index cb8b44470e..0e5893e074 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_mother.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_mother.json @@ -1,82 +1 @@ -{ - "count": "1", - "encounter_type": "Nutrition Status - Mother", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Hali ya lishe ya mama", - "fields": [ - { - "key": "nutrition_status_mama", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Hali ya lishe ya mama", - "values": [ - "Nzuri/Kijani", - "Kadri/Njano", - "Dhaifu/Nyekundu" - ], - "keys": [ - "Normal", - "Moderate", - "Severe" - ], - "openmrs_choice_ids": { - "Yes": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"Nutrition Status - Mother","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Nutrition Status - Mother","fields":[{"key":"nutrition_status_mama","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Hali ya lishe ya mwanamke","values":["Kawaida/Kijani","Wastani/Njano","Mbaya/Nyekundu"],"keys":["Normal","Moderate","Severe"],"openmrs_choice_ids":{"Yes":"1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Severe":"1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafahdali chagua chaguo moja"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_referral_form.json index a304b199d6..df81122b6e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_referral_form.json @@ -1,497 +1 @@ -{ - "count": "1", - "encounter_type": "PNC Referral", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Rufaa kwa mama na mtoto baada ya kujifungua", - "fields": [ - { - "key": "chw_referral_hf_pnc", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "hidden", - "is_problem": false, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "pnc_referral_calculation.yml" - } - } - } - }, - { - "key": "problem_hf_pnc", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "check_box", - "label": "Tatizo / hali ya afya ya mteja", - "label_text_style": "bold", - "options": [ - { - "key": "Vaginal_bleeding", - "text": "Kutoka damu ukenig", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Discoloured_or_watery_liquid_vaginal_discharge", - "text": "Kutoka uchafu / majimaji ukeni yenye harufu mbaya", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Severe_abdominal_pain", - "text": "Maumivu makali ya tumboni", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Severe_anaemia", - "text": "Upungufu mkubwa wa damu (weupe wa kiganja)", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Convulsions", - "text": "Degedege / mtukutiko wa mwili", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "A_severe_headache_dizziness", - "text": "Maumivu makali ya kichwa / kizunguzungu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Swelling_of_the_face_and_or_hands", - "text": "Kuvimba uso na / au mikono", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Fever", - "text": "Homa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Shivering_trembling", - "text": "Kutetemeka", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Nausea", - "text": "Kichefuchefu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Vomiting", - "text": "Kutapika", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Cord_prolapse", - "text": "Kutangulia kitovu cha mtoto", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "113617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Perineum_bleeding", - "text": "Kuchanika msamba", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Fullness_or_pain_of_the_breasts", - "text": "Kujaa au maumivu ya matiti, chuchu, na kushindwa kunyonyesha", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "HIV_care_and_support_services", - "text": "Huduma za wateja / wagonjwa wanaoishi na VVU", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Family_planning_services", - "text": "Huduma za uzazi wa mpango", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "PMTCT_for_mothers", - "text": "Huduma ya kuzuia maambukizi ya VVU toka kwa mama kwenda kwa mtoto", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Fistula", - "text": "Fistula", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Fast_breathing_and_difficulty_with_breathing", - "text": "Kushindwa kupumua", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Umbilical_cord", - "text": "Kutoka damu kwenye kitovu cha mtoto", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Excessive_crying", - "text": "Mtoto kulia sana", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Unable_to_breastfeed_or_swallow", - "text": "Kushindwa kunyonya au kumeza", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Neck_stiffness", - "text": "Shingo kukakamaa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Bloating", - "text": "Tumbo kujaa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Redness_around_the_umbilical_cord_foul", - "text": "Uambukizo kwenye kitovu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Bacterial_conjunctivitis", - "text": "Macho kutoa uchafu / usaa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Pale_or_jaundiced", - "text": "Mwili kuwa njano", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Cyanosis_blueness_of_lips", - "text": "Kubadilika kwa sababu ya kukosa hewa(midomo kuwa bluu,ulimi au viganja)", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Skin_rash_pustules", - "text": "Vipele mwilini", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Diarrhea", - "text": "Kuharisha", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Disabilities", - "text": "Kuzaliwa na ulemavu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Premature_baby", - "text": "Mtoto aliyezaliwa na Uzito pungufu/ njiti", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Failure_to_pass_urine_or_stool", - "text": "Kushindwa kukojoa au kutopata haja kubwa kwa muda wa saa 24 baada ya kuzaliwa", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - }, - { - "key": "Care_of_HIV_exposed_infant", - "text": "Huduma za kumsaidia mtoto aliyezaliwa na mama mwenye VVU", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Immunisation", - "text": "Huduma za chanjo", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Other_symptom", - "text": "Dalili nyingine", - "value": false, - "ignore": true, - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": true, - "err": "Tafadhali taja hali ya mteja / shida" - } - }, - { - "key": "problem_hf_pnc_other", - "type": "edit_text", - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "", - "edit_type": "name", - "hint": "Dalili nyingine", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "pnc_referral_relevance.yml" - } - } - } - }, - { - "key": "service_before_pnc", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Huduma aliyopewa kabla ya rufaa", - "label_text_style": "bold", - "is_problem": false, - "exclusive": [ - "None" - ], - "options": [ - { - "key": "ORS", - "text": "ORS", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Panadol", - "text": "Panadol", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "Other_treatment", - "text": "Matibabu mengine", - "value": false, - "ignore": true, - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - { - "key": "None", - "text": "Hajapata matibabu", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - ], - "v_required": { - "value": "true", - "err": "Pre-referral management field is required" - } - }, - { - "key": "service_before_pnc_other", - "type": "edit_text", - "openmrs_entity": "", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "", - "edit_type": "name", - "hint": "Matibabu mengine", - "is_problem": false, - "v_required": { - "value": "true", - "err": "Tafadhali taja matibabu mengine" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "pnc_referral_relevance.yml" - } - } - } - }, - { - "key": "referral_date_pnc", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "hidden", - "is_problem": false, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "pnc_referral_calculation.yml" - } - } - } - }, - { - "key": "referral_time_pnc", - "openmrs_entity_parent": "", - "openmrs_entity": "", - "openmrs_entity_id": "", - "type": "hidden", - "is_problem": false, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "pnc_referral_calculation.yml" - } - } - } - } - ] - } -} \ No newline at end of file +{"count":"1","encounter_type":"PNC Referral","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"PNC referral form","fields":[{"key":"chw_referral_hf_pnc","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"pnc_referral_calculation.yml"}}}},{"key":"problem_hf_pnc","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"check_box","label":"Hali/tatizo la mteja","label_text_style":"bold","options":[{"key":"Vaginal_bleeding","text":"Kutokwa damu ukeni","value":false,"openmrs_entity":"","openmrs_entity_id":"147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Discoloured_or_watery_liquid_vaginal_discharge","text":"Kutokwa na majimaji yenye rangirangi na harufu mbaya ukeni","value":false,"openmrs_entity":"","openmrs_entity_id":"123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_anaemia","text":"Kupungukiwa sana kwa damu","value":false,"openmrs_entity":"","openmrs_entity_id":"162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Convulsions","text":"Degedege","value":false,"openmrs_entity":"","openmrs_entity_id":"113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"A_severe_headache_dizziness","text":"Maumivu makali ya kichwa/kizunguzungu","value":false,"openmrs_entity":"","openmrs_entity_id":"139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Swelling_of_the_face_and_or_hands","text":"Kuvimba kwa uso na/au mikono","value":false,"openmrs_entity":"","openmrs_entity_id":"460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fever","text":"Homa","value":false,"openmrs_entity":"","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Shivering_trembling","text":"Kutetemeka","value":false,"openmrs_entity":"","openmrs_entity_id":"158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Nausea","text":"Kichefuchefu","value":false,"openmrs_entity":"","openmrs_entity_id":"5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Vomiting","text":"Kutapika","value":false,"openmrs_entity":"","openmrs_entity_id":"122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Cord_prolapse","text":"Kitovu kutokea kwa nje","value":false,"openmrs_entity":"","openmrs_entity_id":"113617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Perineum_bleeding","text":"Kutoka na damu kwnenye msamba","value":false,"openmrs_entity":"","openmrs_entity_id":"136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fullness_or_pain_of_the_breasts","text":"Kuvimbwa kwa titi/matiti","value":false,"openmrs_entity":"","openmrs_entity_id":"118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"HIV_care_and_support_services","text":"Huduma za matunzo na usaidizi wa VVU","value":false,"openmrs_entity":"","openmrs_entity_id":"159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Family_planning_services","text":"Huduma za uzazi wa mpango","value":false,"openmrs_entity":"","openmrs_entity_id":"5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"PMTCT_for_mothers","text":"PMTCT kwa wamama","value":false,"openmrs_entity":"","openmrs_entity_id":"160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fistula","text":"Fistula","value":false,"openmrs_entity":"","openmrs_entity_id":"160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fast_breathing_and_difficulty_with_breathing","text":"Kupumua kwa haraka na kupumua kwa shida","value":false,"openmrs_entity":"","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Umbilical_cord","text":"Kutokwa na damu kwenye kitovu","value":false,"openmrs_entity":"","openmrs_entity_id":"123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Excessive_crying","text":"Kulia kupita kiasi","value":false,"openmrs_entity":"","openmrs_entity_id":"140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Unable_to_breastfeed_or_swallow","text":"Kutoweza kunyonya au kumeza","value":false,"openmrs_entity":"","openmrs_entity_id":"159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Neck_stiffness","text":"Kukaza kwa shingo","value":false,"openmrs_entity":"","openmrs_entity_id":"112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Bloating","text":"Tumbo kujaa","value":false,"openmrs_entity":"","openmrs_entity_id":"147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Redness_around_the_umbilical_cord_foul","text":"Kuwa na wekundu eneolinalozunguka kitovu, kutokwa na majimaji yenye harufu mbaya kutoka kwenye kitovu","value":false,"openmrs_entity":"","openmrs_entity_id":"132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Bacterial_conjunctivitis","text":"Ugonjwa wa macho unaosababishwa na bakteria","value":false,"openmrs_entity":"","openmrs_entity_id":"148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Pale_or_jaundiced","text":"Kupauka au kuonekana na ngozi yenye rangi ya njano","value":false,"openmrs_entity":"","openmrs_entity_id":"136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Cyanosis_blueness_of_lips","text":"Mdomo kuwa na rangi ya bluu","value":false,"openmrs_entity":"","openmrs_entity_id":"143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Skin_rash_pustules","text":"Vipele kwenye ngozi","value":false,"openmrs_entity":"","openmrs_entity_id":"512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Diarrhea","text":"Kuhara","value":false,"openmrs_entity":"","openmrs_entity_id":"142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Disabilities","text":"Ulemavu wa kuzaliwa nao","value":false,"openmrs_entity":"","openmrs_entity_id":"162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Premature_baby","text":"Mtoto njiti","value":false,"openmrs_entity":"","openmrs_entity_id":"159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Failure_to_pass_urine_or_stool","text":"Kushindwa kujtoa haja ndogo au kubwa ndani ya masaa 24 baada ya kuzaliwa","value":false,"openmrs_entity":"","openmrs_entity_id":"","openmrs_entity_parent":""},{"key":"Care_of_HIV_exposed_infant","text":"Utunzaji wa mtoto aliyeambukizwa VVU","value":false,"openmrs_entity":"","openmrs_entity_id":"164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Immunisation","text":"Kupatiwa chanjo ya kinga","value":false,"openmrs_entity":"","openmrs_entity_id":"1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_symptom","text":"Dalili nyingine","value":false,"ignore":true,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":true,"err":"Tafadhali bainisha hali /tatizo la mteja"}},{"key":"problem_hf_pnc_other","type":"edit_text","openmrs_entity":"","openmrs_entity_id":"","openmrs_entity_parent":"","edit_type":"name","hint":"Dalili nyingne","relevance":{"rules-engine":{"ex-rules":{"rules-file":"pnc_referral_relevance.yml"}}}},{"key":"service_before_pnc","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Usimamizi wa kabla ya kupewa rufaa iliyotolewa","label_text_style":"bold","is_problem":false,"exclusive":["None"],"options":[{"key":"ORS","text":"ORS","value":false,"openmrs_entity":"","openmrs_entity_id":"351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Panadol","text":"Panadol","value":false,"openmrs_entity":"","openmrs_entity_id":"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_treatment","text":"Matibabu mengine","value":false,"ignore":true,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Sehemu ya usimamizi wa kabla ya kupewa rufaa inahitajika"}},{"key":"service_before_pnc_other","type":"edit_text","openmrs_entity":"","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","edit_type":"name","hint":"Matibabu mengine","is_problem":false,"v_required":{"value":"true","err":"Tafadhali bainisha matibabu mengine"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"pnc_referral_relevance.yml"}}}},{"key":"referral_date_pnc","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"pnc_referral_calculation.yml"}}}},{"key":"referral_time_pnc","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"pnc_referral_calculation.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/routine_home_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/routine_home_visit.json index e803f95059..2a8eb6e688 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/routine_home_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/routine_home_visit.json @@ -1,185 +1 @@ -{ - "validate_on_submit": true, - "show_errors_on_submit": false, - "count": "1", - "encounter_type": "Counseling", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Ushauri", - "fields": [ - { - "key": "counselling_1m5yrs", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "counselling", - "type": "check_box", - "label": "Ushauri uliotolewa", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_maternal_nutrition", - "text": "3. Lishe kwa mama wakati wa kunyonyesha", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_hiv_aids", - "text": "5. Umuhimu wa kupata ushauri nasaha na kupima VVU", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_pmtc_for_mother", - "text": "6. Kuzuia mambukizi ya VVU kutoka kwa mama kwenda kwa mtoto", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_malaria_prevention", - "text": "7. Kuzuia malaria kwa watoto wenye umri chini ya miaka mitano", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_hiv_exposed_infant", - "text": "15. Ufuatiliaji wa mtoto aliyezaliwa na mama mwenye VVU", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_breast_feeding", - "text": "16. Unyonyeshaji wa maziwa ya mama", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_birth_registration", - "text": "19. Usajili wa vizazi", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_complementary_feeding", - "text": "20. Kumlisha mtoto vyakula vya nyongeza", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_growth_and_dev", - "text": "21. Makuzi na maendeleo ya awali ya mtoto", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_immunization", - "text": "22. Chanjo", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_newborn_danger", - "text": "23. Dalili za hatari kwa mtoto mchanga", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_infection", - "text": "24. Kuzuia maambukizi katika jamii", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_prevention_of_accidents", - "text": "25. Kuzuia ajali kwa watoto chini ya miaka Mitano", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_gender_issues", - "text": "26. Jinsia", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - }, - { - "key": "chk_none", - "text": "Hajafanya", - "value": false, - "openmrs_entity": "", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": true, - "err": "Tafadhali taja dalili zingine zozote au uchague hajafanya" - } - } - ] - } -} \ No newline at end of file +{"validate_on_submit":true,"show_errors_on_submit":false,"count":"1","encounter_type":"Counseling","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Counselling","fields":[{"key":"counselling_1m5yrs","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"counselling","type":"check_box","label":"Ushauri uliyotolewa","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_maternal_nutrition","text":"Lishe ya mama wakati wa kunyonyesha","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_hiv_aids","text":"Taarifa za jumla za VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_pmtc_for_mother","text":"PMTCT kwa mama","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_malaria_prevention","text":"Kinga dhidi ya malaria","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_hiv_exposed_infant","text":"Ufuatiliaji wa mtoto aliyeambukizwa VVU","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_breast_feeding","text":"Kunyonyesha","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_birth_registration","text":"Usajili wa kuzaliwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_complementary_feeding","text":"Lishe ya ziada","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_growth_and_dev","text":"Ukuaji na maendeleo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_immunization","text":"Upataji wa chanjo ya kinga","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_newborn_danger","text":"Ishara za hatari kwa watoto wachanga","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_infection","text":"Kuzuia na kudhibiti maambukizi","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_prevention_of_accidents","text":"Kuzuia ajali","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_gender_issues","text":"Masuala ya jinsia","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":""}],"v_required":{"value":true,"err":"Tafadhali taja dalili zozote zile au chagua Hakuna"}}]}} \ No newline at end of file From 196fb48b83d09f8fa03f9159f7beb32bd4d21044 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 25 Jan 2022 19:50:59 +0300 Subject: [PATCH 215/915] Implemented mask for different fields --- .../all_clients_registration_form.json | 90 +- ...clients_update_registration_info_form.json | 1435 ++++++++++++++++- .../json.form-sw/family_member_register.json | 1105 ++++++++++++- .../assets/json.form-sw/family_register.json | 1172 +++++++++++++- .../all_clients_registration_form.json | 62 +- ...clients_update_registration_info_form.json | 64 +- .../json.form/family_member_register.json | 62 +- .../ba/assets/json.form/family_register.json | 62 +- 8 files changed, 3979 insertions(+), 73 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index a40a2ed4ba..971ff9d60b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -449,16 +449,24 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", "hint": "Nambari ya simu ya mteja", "v_numeric": { "value": "true", "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" }, "v_regex": { - "value": "(0[0-9]{9})|\\s*", + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, "v_required": { "value": false, "err": "Tafadhali taja nambari ya simu" @@ -526,13 +534,25 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", "hint": "Nambari ya kitambulisho cha taifa k.m 12345678-91234-56789-12", - "edit_type": "name", + "edit_type": "number", "v_regex": { "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", "err": "Nambari ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -550,13 +570,25 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", "hint": "Nambari ya usajili ya mpiga kura k.m T-1234-5678-912-3", - "edit_type": "name", + "edit_type": "number", "v_regex": { "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", "err": "Nambari ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -574,13 +606,25 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", "hint": "Nambari ya leseni ya udereva k.m 1234567891", - "edit_type": "name", + "edit_type": "number", "v_regex": { "value": "^([0-9]{10})", "err": "Nambari ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -598,13 +642,25 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", - "type": "edit_text", - "hint": "Passport number", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", + "hint": "Namba ya hati ya kusafiria", "v_regex": { "value": "^TAE-\\d{6}$", "err": "Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" }, - "edit_type": "name", + "edit_type": "number", + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -922,14 +978,22 @@ "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", "hint": "Nambari ya simu ya mlezi mkuu", + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, "v_numeric": { "value": "true", "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" }, "v_regex": { - "value": "(0[0-9]{9})|\\s*", + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." }, "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index c8a82bd737..6d7cb678a7 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -1 +1,1434 @@ -{"validate_on_submit":true,"show_errors_on_submit":false,"count":"1","encounter_type":"Family Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Client details","fields":[{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","type":"edit_text","read_only":true,"hint":"Namba ya utambulisho ya WAJA","v_numeric":{"value":"true","err":"Tafahdali ingiza namba ya utambulisho ssahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza namba ya utambulisho ya kipekee ya WAJA"}},{"key":"surname","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Jina la mwisho","edit_type":"name","read_only":true,"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza jina la mwisho"},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_calculation.yml"}}}},{"key":"first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"Jina la kwanza","edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kwanza"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"}},{"key":"middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","type":"edit_text","hint":"Jina la kati","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza jina la kati"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdate","type":"date_picker","hint":"Tarehe ya kuzaliwa","expanded":false,"duration":{"label":"Age"},"min_date":"today-120y","max_date":"today-5y","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kuzaliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"age_calculated","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_calculation.yml"}}}},{"key":"dob_unknown","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdateApprox","type":"check_box","label":"","options":[{"key":"dob_unknown","text":"Tarehe ya kuzaliwa haijulikani?","text_size":"18px","value":"false"}]},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"age","type":"edit_text","hint":"Umri","v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_numeric":{"value":"true","err":"Lazima iwe namba kamili"},"v_min":{"value":"5","err":"Age must be equal or greater than 5"},"v_max":{"value":"120","err":"Age must be equal or less than 120"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}},"v_required":{"value":true,"err":"Tafahdhali ingiza umri"},"v_min.err":"Umri ni lazima uwe sawa au zaidi ya 5","v_max.err":"Umri lazima uwe sawa au chini ya 120"},{"key":"sex","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"gender","type":"spinner","hint":"Jinsia","values":["Kiume","Kike"],"keys":["Male","Female"],"v_required":{"value":"true","err":"Tafadhali ingiza jinsia"}},{"key":"marital_status","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"marital_status","type":"spinner","hint":"Hali ya ndoa ya mteja?","values":["Hajaoa/hajaolewa","Ameoa/ameolewa","Ameachwa","Ndoa ya mke mmoja","Ndoa ya wake wengi","Amefiwa na mwenza","Kuishi pamoja"],"keys":["Single","Married","Divorced","Monogamy","Polygamy","Widowed","Cohabitation"],"openmrs_choice_ids":{"Single":"Single","Married":"Married","Divorced":"Divorced","Monogamy":"Monogamy","Polygamy":"Polygamy","Widowed":"Widowed","Cohabitation":"Cohabitation"},"v_required":{"value":"true","err":"Tafadhali chagua moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"phone_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_number","type":"edit_text","hint":"Namba ya simu ya mteja","v_numeric":{"value":"true","err":"Namba lazima iwe jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Namba lazima iwe tarakimu 10 na lazima ianze na 0."},"v_required":{"value":false,"err":"Tafadhali taja namba ya simu"}},{"key":"id_avail","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"id_avail","type":"check_box","label":"Je, una kitambulisho chochote kati ya vifuatavyo?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_national_id","text":"Kitambulisho cha Taifa","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_national_id"},{"key":"chk_voters_id","text":"Kitambulisho cha usajili wa mpiga kura","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_voters_id"},{"key":"chk_drivers_license","text":"Leseni ya udereva","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_drivers_license"},{"key":"chk_passport","text":"Hati ya kusafiria","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_passport"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_none"}],"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"national_id","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"National_ID","type":"edit_text","hint":"Namba ya kitambulisho cha Taifa","edit_type":"name","v_regex":{"value":"^\\d{8}-\\d{5}-\\d{5}-\\d{2}$","err":"Namba ya kitambulisho cha Taifa inapaswa kuwa na umbizo (XXXXXXXX-XXXXX-XXXXX-XX)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_national_id"]}]}}},{"key":"voter_id","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Voter_Registration_Number","type":"edit_text","hint":"Kitambulisho cha usajili wa mpiga kura","edit_type":"name","v_regex":{"value":"^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$","err":"Namba ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_voters_id"]}]}}},{"key":"driver_license","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Driver_License_Number","type":"edit_text","hint":"Namba ya leseni ya udereva","edit_type":"name","v_regex":{"value":"^([0-9]{10})","err":"Namba ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_drivers_license"]}]}}},{"key":"passport","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Passport_Number","type":"edit_text","hint":"Namba ya hati ya kusafiria","v_regex":{"value":"^TAE-\\d{6}$","err":"Namba ya hati ya kusafiria inapaswa kuwa katika muundo (TAE-XXXXXX)"},"edit_type":"name","relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_passport"]}]}}},{"key":"insurance_provider","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Type","type":"spinner","hint":"Mtoa huduma wa bima ya afya","values":["Mfuko wa Afya ya Jamii (CHF)/(iCHF)","Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)","Mfuko wa Taifa wa Bima ya Afya (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Nyingine","Hakuna"],"keys":["Community Health Fund (CHF)","National Social Security Fund - Social Health Insurance Benefit (SHIB)","National Health Insurance Fund (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Other","None"],"openmrs_choice_ids":{"Community Health Fund (CHF)":"Community_Health_Fund","National Social Security Fund - Social Health Insurance Benefit (SHIB)":"National_Social_Security_Fund","National Health Insurance Fund (NHIF)":"National_Health_Insurance_Fund","Tiba Kwa Kadi (TIKA)":"Tiba_kwa_Kadi","AAR Healthcare":"AAR_Healthcare","AAR Strategies Insurance":"Strategies_Insurance","Milvik Tanzania Ltd (BIMA Mkononi)":"BIMA_Mkononi","Britam Insurance Tanzania":"Britam_Insurance_Tanzania","Jubilee Insurance":"Jubilee_Insurance","Resolutions Insurance":"Resolutions_Insurance","Reliance Insurance":"Reliance_Insurance","Other":"Other_Health_Insurance_Type","None":"No_Health_Insurance"},"v_required":{"value":"true","err":"Tafahdali ingiza mtoa huduma wa bima"}},{"key":"insurance_provider_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Health_Insurance_Type","type":"edit_text","hint":"Mtoa huduma mwingine wa bima ya afya","v_required":{"value":"true","err":"Tafadhali taja mtoa huduma wa bima"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"insurance_provider_number","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Number","type":"edit_text","hint":"Namba ya mtoa huduma wa bima ya afya","v_required":{"value":"true","err":"Tafadhali ongeza namba ya mtoa huduma wa bima ya afya"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"wra","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_calculation.yml"}}}},{"key":"mra","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_calculation.yml"}}}},{"key":"preg_1yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"preg_1yr","type":"spinner","hint":"Je, mwanamke amejifungua katika mwaka 1 uliopita?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"disabilities","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"disabilities","type":"spinner","hint":"Ulemavu wa kimwili","values":["Ndiyo ","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"type_of_disability","openmrs_entity_parent":"disabilities","openmrs_entity":"concept","openmrs_entity_id":"type_of_disability","type":"check_box","label":"Aina ya ulemavu wa kimwili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"physical_impairments","text":"Uhamaji na Ulemavu wa Kimwili","value":false,"openmrs_entity":"concept","openmrs_entity_id":"physical_impairments"},{"key":"spinal_cord_disability","text":"Ulemavu wa Uti wa Mgongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"spinal_cord_disability"},{"key":"brain_disability","text":"Majeraha ya Kichwa - Ulemavu wa Ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"brain_disability"},{"key":"vision_disability","text":"Ulemavu wa Kuona","value":false,"openmrs_entity":"concept","openmrs_entity_id":"vision_disability"},{"key":"hearing_disability","text":"Ulemavu wa Kuskia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"hearing_disability"},{"key":"learning_disabilities","text":"Ulemavu wa Utambuzi au Kujifunza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"learning_disabilities"},{"key":"psychological_disorders","text":"Matatizo ya Kisaikolojia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"psychological_disorders"},{"key":"invisible_disabilities","text":"Ulemavu Usioonekana","value":false,"openmrs_entity":"concept","openmrs_entity_id":"invisible_disabilities"}],"v_required":{"value":"true","err":"Tafahali ingiza aina ya ulemavu"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"has_primary_caregiver","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"Has_Primary_Caregiver","type":"spinner","hint":"Je, una mlezi/msaidizi wa Tiba?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"primary_caregiver_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"Primary_Caregiver_Name","type":"edit_text","hint":"Jina la mlezi","v_required":{"value":"true","err":"Tafadhali taja jina la mlezi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"other_phone_number","openmrs_entity_parent":"phone_number","openmrs_entity":"concept","openmrs_entity_id":"other_phone_number","type":"edit_text","hint":"Namba ya simu ya mlezi","v_numeric":{"value":"true","err":"Namba lazima iwe na jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Namba lazima iwe tarakimu 10 na lazima ianze na 0"},"v_required":{"value":"true","err":"Tafadhali mawasiliano ya mlezi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"service_provider","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"service_provider","type":"check_box","label":"Kazi ya Mteja","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_farmer","text":"Mkulima","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_farmer"},{"key":"chk_cs","text":"Mtumishi wa Umma","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cs"},{"key":"chk_nurse","text":"Muuguzi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_nurse"},{"key":"chk_teacher","text":"Mwalimu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_teacher"},{"key":"chk_th","text":"Mganga wa Kienyeji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_th"},{"key":"chk_chw","text":"Mhudumu wa Afya ya Jamii (MJA)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_chw"},{"key":"chk_tba","text":"Mkunga wa Jadi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_tba"},{"key":"chk_chmis","text":"HMIS ngazi ya Jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_chmis"},{"key":"chk_cbd","text":"Msambazaji wa Jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cbd"},{"key":"chk_hbc","text":"Mlezi wa Nyumbani","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_hbc"},{"key":"chk_cimmci","text":"IMCI wa Jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cimmci"},{"key":"chk_other","text":"Nyingine","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_other"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"service_provider_other","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"service_provider_other","type":"edit_text","hint":"Taja kazi nyingine","edit_type":"name","v_required":{"value":"true","err":"Tafadhali taja Kazi"},"relevance":{"step1:service_provider":{"ex-checkbox":[{"or":["chk_other"]}]}}},{"key":"leader","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Community_Leader","type":"check_box","label":"Nafasi yoyote ya uongozi katika jamii?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_religious","text":"Kiongozi wa Kidini","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Religious_Leader"},{"key":"chk_traditional","text":"Kiongozi wa Kijadi","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Traditional_leader"},{"key":"chk_political","text":"Kiongozi wa Kisiasa","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Political_leader"},{"key":"chk_influential","text":"Kiongozi mwenye ushawishi ","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Influential_Leader"},{"key":"chk_other","text":"Nyingine","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Community_Leader_Type"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Not_a_Community_Leader"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"leader_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Community_Leader_Type_Name","type":"edit_text","hint":"Taja nafasi nyingine katika jamii","edit_type":"name","v_required":{"value":"true","err":"Tafadhali taja nafasi hiyo"},"relevance":{"step1:leader":{"ex-checkbox":[{"or":["chk_other"]}]}}},{"key":"reasons_for_registration","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Registration_Reason","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_calculation.yml"}}}},{"key":"reasons_for_registration_male_15","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"reasons_for_registration_male_15","type":"native_radio","label":"Sababu ya usajili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"hiv_aids_transmission","text":"Maambukizi ya VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"sickle_cell_disease","text":"Ugonjwa wa seli mundu","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"heart_disease","text":"Magonjwa ya moyo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"diabetes","text":"Kisukari","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"cerebral_palsy","text":"Ugonjwa wa kupooza kwa ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"cancer","text":"Saratani","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"tuberculosis","text":"Kifua kikuu","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"homosexual","text":"Mwanaume anayejamiana na wanaume","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"gender_violence","text":"Ukatili wa kijinsia","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"drug_abuse","text":"Matumizi mabaya ya dawa za kulevya","value":false,"openmrs_entity":"concept","openmrs_entity_id":""}],"v_required":{"value":"true","err":"Sababu ya usajili inahitajika"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"reasons_for_registration_female_15","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"reasons_for_registration_female_15","type":"native_radio","label":"Sababu ya usajili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"hiv_aids_transmission","text":"Maambukizi ya VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"sickle_cell_disease","text":"Ugonjwa wa seli mundu","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"heart_disease","text":"Magonjwa ya moyo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"diabetes","text":"Kisukari","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"cerebral_palsy","text":"Ugonjwa wa kupooza kwa ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"cancer","text":"Saratani","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"tuberculosis","text":"Kifua kikuu","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"sex_worker_woman","text":"Mwanamke anayefanya biashara ya ngono","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"gender_violence","text":"Ukatili wa kijinsia","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"drug_abuse","text":"Matumizi mabaya ya madawa yak kulevya","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"pregnant_mother","text":"Mama mjamzito","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"breastfeeding_mother","text":"Mama anayenyonyesha","value":false,"openmrs_entity":"concept","openmrs_entity_id":""}],"v_required":{"value":"true","err":"Sababu ya usajili inahitajika"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}},{"key":"reasons_for_registration_under_15","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"reasons_for_registration_under_15","type":"native_radio","label":"Sababu ya usajili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"hiv_aids_transmission","text":"Maambukizi ya VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"sickle_cell_disease","text":"Ugonjwa wa seli mundu","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"heart_disease","text":"Magonjwa ya moyo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"diabetes","text":"Kisukari","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"cerebral_palsy","text":"Ugonjwa wa kupooza kwa ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"cancer","text":"Saratani","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"tuberculosis","text":"Kifua kikuu","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"hiv_infected_child","text":"Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI ","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"untested_hiv_infected_child","text":"Mtoto ambaye hajapimwa VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"weight_stagnation_child","text":"Mtoto mwenye vilio vya uzito","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"child_with_fever","text":"Mtoto mwenye homa za mara kwa mara","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"abused_child","text":"Mtoto anayenyanyaswa","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"gender_violence","text":"Ukatili wa kijinsia","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"drug_abuse","text":"Matumizi mabaya ya madawa ya kulevya","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"child_in_risky_environment","text":"Mtoto anayeishi katika mazingira hatarishi","value":false,"openmrs_entity":"concept","openmrs_entity_id":""}],"v_required":{"value":"true","err":"Sababu ya usajili inahitajika"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"all_clients_member_update_relevance.yml"}}}}]}} \ No newline at end of file +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "1", + "encounter_type": "Family Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Client details", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": true, + "hint": "Namba ya utambulisho ya WAJA", + "v_numeric": { + "value": "true", + "err": "Tafahdali ingiza namba ya utambulisho ssahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza namba ya utambulisho ya kipekee ya WAJA" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Jina la mwisho", + "edit_type": "name", + "read_only": true, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la mwisho" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la kati", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kati" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Tarehe ya kuzaliwa", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-5y", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya kuzaliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "Tarehe ya kuzaliwa haijulikani?", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Umri", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Lazima iwe namba kamili" + }, + "v_min": { + "value": "5", + "err": "Age must be equal or greater than 5" + }, + "v_max": { + "value": "120", + "err": "Age must be equal or less than 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafahdhali ingiza umri" + }, + "v_min.err": "Umri ni lazima uwe sawa au zaidi ya 5", + "v_max.err": "Umri lazima uwe sawa au chini ya 120" + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsia", + "values": [ + "Kiume", + "Kike" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jinsia" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya ndoa ya mteja?", + "values": [ + "Hajaoa/hajaolewa", + "Ameoa/ameolewa", + "Ameachwa", + "Ndoa ya mke mmoja", + "Ndoa ya wake wengi", + "Amefiwa na mwenza", + "Kuishi pamoja" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", + "hint": "Namba ya simu ya mteja", + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + }, + "v_required": { + "value": false, + "err": "Tafadhali taja namba ya simu" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "Kitambulisho cha Taifa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Kitambulisho cha usajili wa mpiga kura", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Leseni ya udereva", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_passport", + "text": "Hati ya kusafiria", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_passport" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", + "hint": "Namba ya kitambulisho cha Taifa", + "edit_type": "number", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "Namba ya kitambulisho cha Taifa inapaswa kuwa na umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", + "hint": "Kitambulisho cha usajili wa mpiga kura", + "edit_type": "number", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Namba ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", + "hint": "Namba ya leseni ya udereva", + "edit_type": "number", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Namba ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "passport", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Passport_Number", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", + "hint": "Namba ya hati ya kusafiria", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Namba ya hati ya kusafiria inapaswa kuwa katika muundo (TAE-XXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "edit_type": "number", + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_passport" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Mtoa huduma wa bima ya afya", + "values": [ + "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", + "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Tafahdali ingiza mtoa huduma wa bima" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Mtoa huduma mwingine wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali taja mtoa huduma wa bima" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Namba ya mtoa huduma wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali ongeza namba ya mtoa huduma wa bima ya afya" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_1yr", + "type": "spinner", + "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Ulemavu wa kimwili", + "values": [ + "Ndiyo ", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Aina ya ulemavu wa kimwili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Uhamaji na Ulemavu wa Kimwili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Ulemavu wa Uti wa Mgongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Ulemavu wa Kuona", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Ulemavu wa Kuskia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Ulemavu wa Utambuzi au Kujifunza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Matatizo ya Kisaikolojia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Ulemavu Usioonekana", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "v_required": { + "value": "true", + "err": "Tafahali ingiza aina ya ulemavu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "has_primary_caregiver", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Has_Primary_Caregiver", + "type": "spinner", + "hint": "Je, una mlezi/msaidizi wa Tiba?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "primary_caregiver_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Primary_Caregiver_Name", + "type": "edit_text", + "hint": "Jina la mlezi", + "v_required": { + "value": "true", + "err": "Tafadhali taja jina la mlezi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", + "hint": "Namba ya simu ya mlezi", + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe na jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + }, + "v_required": { + "value": "true", + "err": "Tafadhali mawasiliano ya mlezi" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider", + "type": "check_box", + "label": "Kazi ya Mteja", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_farmer", + "text": "Mkulima", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_cs", + "text": "Mtumishi wa Umma", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cs" + }, + { + "key": "chk_nurse", + "text": "Muuguzi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nurse" + }, + { + "key": "chk_teacher", + "text": "Mwalimu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_teacher" + }, + { + "key": "chk_th", + "text": "Mganga wa Kienyeji", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_th" + }, + { + "key": "chk_chw", + "text": "Mhudumu wa Afya ya Jamii (MJA)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chw" + }, + { + "key": "chk_tba", + "text": "Mkunga wa Jadi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_tba" + }, + { + "key": "chk_chmis", + "text": "HMIS ngazi ya Jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chmis" + }, + { + "key": "chk_cbd", + "text": "Msambazaji wa Jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cbd" + }, + { + "key": "chk_hbc", + "text": "Mlezi wa Nyumbani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hbc" + }, + { + "key": "chk_cimmci", + "text": "IMCI wa Jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cimmci" + }, + { + "key": "chk_other", + "text": "Nyingine", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Taja kazi nyingine", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali taja Kazi" + }, + "relevance": { + "step1:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Nafasi yoyote ya uongozi katika jamii?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Kiongozi wa Kidini", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Kiongozi wa Kijadi", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Kiongozi wa Kisiasa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Kiongozi mwenye ushawishi ", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Nyingine", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Taja nafasi nyingine katika jamii", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali taja nafasi hiyo" + }, + "relevance": { + "step1:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "reasons_for_registration", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Registration_Reason", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "reasons_for_registration_male_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_15", + "type": "native_radio", + "label": "Sababu ya usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "homosexual", + "text": "Mwanaume anayejamiana na wanaume", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Ukatili wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya usajili inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_female_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_15", + "type": "native_radio", + "label": "Sababu ya usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sex_worker_woman", + "text": "Mwanamke anayefanya biashara ya ngono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Ukatili wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya madawa yak kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "pregnant_mother", + "text": "Mama mjamzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "breastfeeding_mother", + "text": "Mama anayenyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya usajili inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_under_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_under_15", + "type": "native_radio", + "label": "Sababu ya usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "Mtoto mwenye vilio vya uzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "Mtoto mwenye homa za mara kwa mara", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Mtoto anayenyanyaswa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Ukatili wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya madawa ya kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Mtoto anayeishi katika mazingira hatarishi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya usajili inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 04ff06b7f9..0a6b7ea940 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -1 +1,1104 @@ -{"count":"1","encounter_type":"Family Member Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Add Family Member","fields":[{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","type":"edit_text","read_only":true,"hint":"WAJA ID","v_numeric":{"value":"true","err":"Please enter a valid ID"},"v_required":{"value":"true","err":"Please enter the UNIQUE ID"}},{"key":"surname","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Jina la ukoo","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"},"v_required":{"value":"true","err":"Tafadhali weka jina la ukoo"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"same_as_fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"text","type":"check_box","label":"","exclusive":["none"],"options":[{"key":"same_as_fam_name","text":"Jina la ukoo sawa na jina la ukoo","text_size":"18px","value":"false"}]},{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","hidden":"true"},{"key":"surname_calculation","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"last_name","type":"hidden","hint":"Surname as Family name","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family-member-calculation.yml"}}}},{"key":"first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"Jina la kwanza","edit_type":"name","v_required":{"value":"true","err":"Tafadhali weka jina la kwanza"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"}},{"key":"middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","type":"edit_text","hint":"Jina la kati","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina la kati"},"v_required":{"value":"true","err":"Tafadhali weka jina la kati"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdate","type":"date_picker","hint":"Tarehe ya kuzaliwa (DOB)","expanded":false,"duration":{"label":"Age"},"min_date":"today-120y","max_date":"today-5y","v_required":{"value":"true","err":"Tafadhali weka tarehe ya kuzaliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"age_calculated","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_member_register_calculation.yml"}}}},{"key":"dob_unknown","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdateApprox","type":"check_box","label":"","options":[{"key":"dob_unknown","text":"Tarehe ya kuzaliwa haijulikani","text_size":"18px","value":"false"}],"relevance":{"step1:dob":{"type":"string","ex":"equalTo(.,\"\")"}}},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"age","type":"edit_text","hint":"Umri","v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_numeric":{"value":"true","err":"Lazima iwe nambari ya mviringo"},"v_min":{"value":"5","err":"Age must be equal or greater than 5"},"v_max":{"value":"120","err":"Age must be equal or less than 120"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}},"v_required":{"value":true,"err":"Tafadhali weka umri"},"v_min.err":"Umri lazima uwe sawa au zaidi ya 5","v_max.err":"Umri lazima uwe sawa au chini ya 120"},{"key":"sex","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"gender","type":"spinner","hint":"jinsi","values":["Mwanaume","Mwanamke"],"keys":["Male","Female"],"v_required":{"value":"true","err":"Tafadhali ingiza jinsi"}},{"key":"marital_status","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"marital_status","type":"spinner","hint":"Hali ya Ndoa ya Mteja?","values":["Hajaolowe","Ameolewa","Wameachwa","Ndoa ya mke mmoja","Ndoa za wake wengi","Mjane","Kuishi pamoja"],"keys":["Single","Married","Divorced","Monogamy","Polygamy","Widowed","Cohabitation"],"openmrs_choice_ids":{"Single":"Single","Married":"Married","Divorced":"Divorced","Monogamy":"Monogamy","Polygamy":"Polygamy","Widowed":"Widowed","Cohabitation":"Cohabitation"},"v_required":{"value":"true","err":"Tafadhali chagua moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"phone_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_number","type":"edit_text","hint":"Nambari ya simu","v_numeric":{"value":"true","err":"Nambari lazima iwe jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Nambari lazima iwe na tarakimu 10 na lazima ianze na 0."},"v_required":{"value":false,"err":"Tafadhali taja nambari ya simu"}},{"key":"id_avail","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"id_avail","type":"check_box","label":"Je, una kitambulisho chochote kati ya vifuatavyo?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_national_id","text":"Kitambulisho cha Taifa","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_national_id"},{"key":"chk_voters_id","text":"Kitambulisho cha usajili wa mpiga kura","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_voters_id"},{"key":"chk_drivers_license","text":"Leseni ya udereva","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_drivers_license"},{"key":"chk_passport","text":"Pasipoti","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_passport"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_none"}],"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"national_id","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"National_ID","type":"edit_text","hint":"Nambari ya kitambulisho cha taifa k.m 12345678-91234-56789-12","edit_type":"name","v_regex":{"value":"^\\d{8}-\\d{5}-\\d{5}-\\d{2}$","err":"Nambari ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_national_id"]}]}}},{"key":"voter_id","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Voter_Registration_Number","type":"edit_text","hint":"Nambari ya usajili ya mpiga kura k.m T-1234-5678-912-3","edit_type":"name","v_regex":{"value":"^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$","err":"Nambari ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_voters_id"]}]}}},{"key":"driver_license","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Driver_License_Number","type":"edit_text","hint":"Nambari ya leseni ya udereva k.m 1234567891","edit_type":"name","v_regex":{"value":"^([0-9]{10})","err":"Nambari ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_drivers_license"]}]}}},{"key":"passport","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Passport_Number","type":"edit_text","hint":"Nambari ya pasipoti","edit_type":"name","v_regex":{"value":"^TAE-\\d{6}$","err":"Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)"},"relevance":{"step1:id_avail":{"ex-checkbox":[{"or":["chk_passport"]}]}}},{"key":"insurance_provider","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Type","type":"spinner","hint":"Mtoa huduma ya bima ya afya","values":["Mfuko wa Afya ya Jamii (CHF)/(iCHF)","Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)","Mfuko wa Taifa wa Bima ya Afya (NHIF)","Tiba Kwa Kadi (TIKA)","Huduma ya Afya ya AAR","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Bima ya Britam Tanzania","Bima ya Jubilee","Resolutions Insurance","Reliance Insurance","Nyingine","Hakuna"],"keys":["Community Health Fund (CHF)","National Social Security Fund - Social Health Insurance Benefit (SHIB)","National Health Insurance Fund (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Other","None"],"openmrs_choice_ids":{"Community Health Fund (CHF)":"Community_Health_Fund","National Social Security Fund - Social Health Insurance Benefit (SHIB)":"National_Social_Security_Fund","National Health Insurance Fund (NHIF)":"National_Health_Insurance_Fund","Tiba Kwa Kadi (TIKA)":"Tiba_kwa_Kadi","AAR Healthcare":"AAR_Healthcare","AAR Strategies Insurance":"Strategies_Insurance","Milvik Tanzania Ltd (BIMA Mkononi)":"BIMA_Mkononi","Britam Insurance Tanzania":"Britam_Insurance_Tanzania","Jubilee Insurance":"Jubilee_Insurance","Resolutions Insurance":"Resolutions_Insurance","Reliance Insurance":"Reliance_Insurance","Other":"Other_Health_Insurance_Type","None":"No_Health_Insurance"},"v_required":{"value":"true","err":"Tafadhali ingiza mtoa huduma wa bima"}},{"key":"insurance_provider_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Health_Insurance_Type","type":"edit_text","hint":"Mtoa huduma mwingine wa bima ya afya","v_required":{"value":"true","err":"Tafadhali bainisha mtoa huduma wa bima"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"insurance_provider_number","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Number","type":"edit_text","hint":"Nambari ya mtoa huduma ya bima ya afya","v_required":{"value":"true","err":"Tafadhali ongeza Nambari ya kitambulisho ya mtoa huduma wa bima ya afya"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"wra","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_member_register_calculation.yml"}}}},{"key":"mra","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_member_register_calculation.yml"}}}},{"key":"preg_1yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"preg_1yr","type":"spinner","hint":"Je, mwanamke amejifungua katika mwaka 1 uliopita?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Je, mwanamke amejifungua katika mwaka 1 uliopita?"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"disabilities","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"disabilities","type":"spinner","hint":"Ulemavu wa kimwili","values":["Ndio","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"type_of_disability","openmrs_entity_parent":"disabilities","openmrs_entity":"concept","openmrs_entity_id":"type_of_disability","type":"check_box","label":"Aina ya ulemavu wa mwili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"physical_impairments","text":"Uhamaji na Ulemavu wa Kimwili","value":false,"openmrs_entity":"concept","openmrs_entity_id":"physical_impairments"},{"key":"spinal_cord_disability","text":"Ulemavu wa Uti wa Mgongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"spinal_cord_disability"},{"key":"brain_disability","text":"Majeraha ya Kichwa - Ulemavu wa Ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"brain_disability"},{"key":"vision_disability","text":"Ulemavu wa Maono","value":false,"openmrs_entity":"concept","openmrs_entity_id":"vision_disability"},{"key":"hearing_disability","text":"Ulemavu wa Kusikia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"hearing_disability"},{"key":"learning_disabilities","text":"Ulemavu wa Utambuzi au Kujifunza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"learning_disabilities"},{"key":"psychological_disorders","text":"Matatizo ya Kisaikolojia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"psychological_disorders"},{"key":"invisible_disabilities","text":"Ulemavu Usioonekana","value":false,"openmrs_entity":"concept","openmrs_entity_id":"invisible_disabilities"}],"v_required":{"value":"true","err":"Tafadhali ingiza aina ya ulemavu"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"is_primary_caregiver","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spinner","hint":"Je, mlezi mkuu?","values":["Ndio","Hapana"],"keys":["Yes","No"],"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"other_phone_number","openmrs_entity_parent":"phone_number","openmrs_entity":"concept","openmrs_entity_id":"other_phone_number","type":"edit_text","hint":"Nambari nyingine ya simu","v_numeric":{"value":"true","err":"Nambari lazima iwe jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Nambari lazima iwe na tarakimu 10 na lazima ianze na 0."}},{"key":"service_provider","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"service_provider","type":"check_box","label":"Kazi ya mwanafamilia","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_farmer","text":"Farmer","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_farmer"},{"key":"chk_cs","text":"Mtumishi wa Serikali","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cs"},{"key":"chk_nurse","text":"Muuguzi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_nurse"},{"key":"chk_teacher","text":"Mwalimu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_teacher"},{"key":"chk_th","text":"Mganga wa Kienyeji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_th"},{"key":"chk_chw","text":"Mhudumu wa Afya ya Jamii (CHW)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_chw"},{"key":"chk_tba","text":"Mkunga wa Jadi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_tba"},{"key":"chk_chmis","text":"Mkusanya takrimu za afya ngazi ya jami","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_chmis"},{"key":"chk_cbd","text":"Msambazaji wa vifaa vya uzazi wa mpango ngazi ja jami","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cbd"},{"key":"chk_hbc","text":"Utunzaji wa Nyumbani (HBC)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_hbc"},{"key":"chk_cimmci","text":"Watoa huduma huduma za kuzuia magonjwa ya watoto kwa uwiano ngazi ya jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cimmci"},{"key":"chk_other","text":"Nyinginezo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_other"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"service_provider_other","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"service_provider_other","type":"edit_text","hint":"Taja Kazi nyingine","edit_type":"name","v_required":{"value":"true","err":"Tafadhali taja kazi"},"relevance":{"step1:service_provider":{"ex-checkbox":[{"or":["chk_other"]}]}}},{"key":"leader","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Community_Leader","type":"check_box","label":"Kuna nafasi yoyote ya uongozi katika jamii?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_religious","text":"Kiongozi wa dini","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Religious_Leader"},{"key":"chk_traditional","text":"Kiongozi wa dini","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Traditional_leader"},{"key":"chk_political","text":"Kiongozi wa kisiasa","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Political_leader"},{"key":"chk_influential","text":"Kiongozi mwenye ushawishi","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Influential_Leader"},{"key":"chk_other","text":"Nyinginezo","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Community_Leader_Type"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Not_a_Community_Leader"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_member_relevance.yml"}}}},{"key":"leader_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Community_Leader_Type_Name","type":"edit_text","hint":"Taja nafasi nyingine katika jamii","edit_type":"name","v_required":{"value":"true","err":"Tafadhali bainisha jukumu"},"relevance":{"step1:leader":{"ex-checkbox":[{"or":["chk_other"]}]}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Family Member Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Add Family Member", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": true, + "hint": "WAJA ID", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + }, + "v_required": { + "value": "true", + "err": "Please enter the UNIQUE ID" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Jina la ukoo", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la ukoo" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "same_as_fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "text", + "type": "check_box", + "label": "", + "exclusive": [ + "none" + ], + "options": [ + { + "key": "same_as_fam_name", + "text": "Jina la ukoo sawa na jina la ukoo", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "hidden": "true" + }, + { + "key": "surname_calculation", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "last_name", + "type": "hidden", + "hint": "Surname as Family name", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-member-calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la kati", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina la kati" + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la kati" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Tarehe ya kuzaliwa (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-5y", + "v_required": { + "value": "true", + "err": "Tafadhali weka tarehe ya kuzaliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_register_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "Tarehe ya kuzaliwa haijulikani", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step1:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Umri", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Lazima iwe nambari ya mviringo" + }, + "v_min": { + "value": "5", + "err": "Age must be equal or greater than 5" + }, + "v_max": { + "value": "120", + "err": "Age must be equal or less than 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafadhali weka umri" + }, + "v_min.err": "Umri lazima uwe sawa au zaidi ya 5", + "v_max.err": "Umri lazima uwe sawa au chini ya 120" + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "jinsi", + "values": [ + "Mwanaume", + "Mwanamke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jinsi" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya Ndoa ya Mteja?", + "values": [ + "Hajaolowe", + "Ameolewa", + "Wameachwa", + "Ndoa ya mke mmoja", + "Ndoa za wake wengi", + "Mjane", + "Kuishi pamoja" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", + "hint": "Nambari ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_required": { + "value": false, + "err": "Tafadhali taja nambari ya simu" + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "Kitambulisho cha Taifa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Kitambulisho cha usajili wa mpiga kura", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Leseni ya udereva", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_passport", + "text": "Pasipoti", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_passport" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", + "hint": "Nambari ya kitambulisho cha taifa k.m 12345678-91234-56789-12", + "edit_type": "number", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "Nambari ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" + }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", + "hint": "Nambari ya usajili ya mpiga kura k.m T-1234-5678-912-3", + "edit_type": "number", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Nambari ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", + "hint": "Nambari ya leseni ya udereva k.m 1234567891", + "edit_type": "number", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Nambari ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "passport", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Passport_Number", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", + "hint": "Nambari ya pasipoti", + "edit_type": "number", + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_passport" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Mtoa huduma ya bima ya afya", + "values": [ + "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", + "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "Huduma ya Afya ya AAR", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Bima ya Britam Tanzania", + "Bima ya Jubilee", + "Resolutions Insurance", + "Reliance Insurance", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza mtoa huduma wa bima" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Mtoa huduma mwingine wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha mtoa huduma wa bima" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Nambari ya mtoa huduma ya bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali ongeza Nambari ya kitambulisho ya mtoa huduma wa bima ya afya" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_register_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_register_calculation.yml" + } + } + } + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_1yr", + "type": "spinner", + "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Je, mwanamke amejifungua katika mwaka 1 uliopita?" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Ulemavu wa kimwili", + "values": [ + "Ndio", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Aina ya ulemavu wa mwili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Uhamaji na Ulemavu wa Kimwili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Ulemavu wa Uti wa Mgongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Ulemavu wa Maono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Ulemavu wa Kusikia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Ulemavu wa Utambuzi au Kujifunza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Matatizo ya Kisaikolojia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Ulemavu Usioonekana", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza aina ya ulemavu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "is_primary_caregiver", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spinner", + "hint": "Je, mlezi mkuu?", + "values": [ + "Ndio", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", + "hint": "Nambari nyingine ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider", + "type": "check_box", + "label": "Kazi ya mwanafamilia", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_farmer", + "text": "Farmer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_cs", + "text": "Mtumishi wa Serikali", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cs" + }, + { + "key": "chk_nurse", + "text": "Muuguzi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nurse" + }, + { + "key": "chk_teacher", + "text": "Mwalimu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_teacher" + }, + { + "key": "chk_th", + "text": "Mganga wa Kienyeji", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_th" + }, + { + "key": "chk_chw", + "text": "Mhudumu wa Afya ya Jamii (CHW)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chw" + }, + { + "key": "chk_tba", + "text": "Mkunga wa Jadi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_tba" + }, + { + "key": "chk_chmis", + "text": "Mkusanya takrimu za afya ngazi ya jami", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chmis" + }, + { + "key": "chk_cbd", + "text": "Msambazaji wa vifaa vya uzazi wa mpango ngazi ja jami", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cbd" + }, + { + "key": "chk_hbc", + "text": "Utunzaji wa Nyumbani (HBC)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hbc" + }, + { + "key": "chk_cimmci", + "text": "Watoa huduma huduma za kuzuia magonjwa ya watoto kwa uwiano ngazi ya jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cimmci" + }, + { + "key": "chk_other", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Taja Kazi nyingine", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali taja kazi" + }, + "relevance": { + "step1:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Kuna nafasi yoyote ya uongozi katika jamii?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Kiongozi wa dini", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Kiongozi wa dini", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Kiongozi wa kisiasa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Kiongozi mwenye ushawishi", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Taja nafasi nyingine katika jamii", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha jukumu" + }, + "relevance": { + "step1:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 0ea268a11d..5767b20c53 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -1 +1,1171 @@ -{"validate_on_submit":true,"show_errors_on_submit":false,"count":"2","encounter_type":"Family Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Family details","next":"step2","fields":[{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"Jina la Familia (Jina la Mkuu wa Familia)","edit_type":"name","v_required":{"value":"true","err":"Tafadhali weka jina la familia"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"}},{"key":"client_first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"Jina la kwanza Mkuu wa Familia","edit_type":"name","v_required":{"value":"true","err":"Please enter the first name"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"}},{"key":"client_middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","type":"edit_text","hint":"Jina la Kati la Mkuu wa Familia","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"},"v_required":{"value":"true","err":"Tafadhali weka jina la kati"}},{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","hidden":"true","type":"barcode","barcode_type":"qrcode","hint":"Number ya utambulisho","scanButtonText":"Scan QR Code","v_numeric":{"value":"true","err":"Tafadhali weka kitambulisho halali"}},{"key":"fam_village","openmrs_entity_parent":"","openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","type":"edit_text","edit_type":"name","hint":"Jina la Eneo","v_required":{"value":"true","err":"Tafadhali weka jina la eneo"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*","err":"Tafadhali weka jina sahihi la eneo"}},{"key":"landmark","openmrs_entity_parent":"","openmrs_entity":"person_address","openmrs_entity_id":"landmark","type":"edit_text","edit_type":"name","hint":"Alama/Maelezo ya eneo la nyumba","v_required":{"value":true,"err":"Tafadhali weka alama/maelezo ya eneo."}},{"key":"gps","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gps","openmrs_data_type":"text","type":"gps"},{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"15dp"},{"key":"nearest_facility","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"nearest_facility","openmrs_data_type":"text","type":"tree","hint":"Kijiji/Mtaa","tree":[],"v_required":{"value":true,"err":"Tafadhali chagua kijiji au mtaa"}}]},"step2":{"title":"Family head","fields":[{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","type":"edit_text","hint":"","value":"0","read_only":"true","v_numeric":{"value":"true","err":"Please enter a valid ID"},"v_required":{"value":"true","err":"Please enter the ID"}},{"key":"first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"Jina la kwanza","edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kwanza"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"},"read_only":true,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_register_calculation.yml"}}}},{"key":"middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","type":"edit_text","hint":"Jina la kati","edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kati"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"},"read_only":true,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_register_calculation.yml"}}}},{"key":"surname","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_name","type":"edit_text","hint":"Jina la mwisho","edit_type":"name","read_only":"true","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_register_calculation.yml"}}}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdate","type":"date_picker","hint":"Tarehe ya kuzaliwa (DOB)","expanded":false,"duration":{"label":"Age"},"min_date":"today-120y","max_date":"today-15y","v_required":{"value":"true","err":"Tafadhali weka tarehe ya kuzaliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"age_calculated","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_register_calculation.yml"}}}},{"key":"dob_unknown","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdateApprox","type":"check_box","label":"","options":[{"key":"dob_unknown","text":"Tarehe ya kuzaliwa haijulikani?","text_size":"18px","value":"false"}],"relevance":{"step2:dob":{"type":"string","ex":"equalTo(.,\"\")"}}},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"age_entered","type":"edit_text","hint":"Umri","v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_numeric":{"value":"true","err":"Lazima iwe number kamili"},"v_min":{"value":"15","err":"Age must be equal or greater than 15"},"v_max":{"value":"120","err":"Age must be equal or less than 120"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}},"v_required":{"value":true,"err":"Tafadhali weka umri"},"v_min.err":"Umri lazima uwe sawa au zaidi ya 15","v_max.err":"Umri lazima uwe sawa au chini ya 120"},{"key":"sex","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"gender","type":"spinner","hint":"jinsi","values":["Mwanaume","Mwanamke"],"keys":["Male","Female"],"v_required":{"value":"true","err":"Tafadhali weka jinsi"}},{"key":"marital_status","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"marital_status","type":"spinner","hint":"Hali ya Ndoa ya Mteja?","values":["Hajaolewa","Ameolewa","Ameachika","Ndoa ya mke au mume moja","Mitara","Mjane","wanaishi wote"],"keys":["Single","Married","Divorced","Monogamy","Polygamy","Widowed","Cohabitation"],"openmrs_choice_ids":{"Single":"Single","Married":"Married","Divorced":"Divorced","Monogamy":"Monogamy","Polygamy":"Polygamy","Widowed":"Widowed","Cohabitation":"Cohabitation"},"v_required":{"value":"true","err":"Tafadhali chagua moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"phone_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_number","type":"edit_text","hint":"Numbari ya simu","v_numeric":{"value":"true","err":"Nambari lazima iwe jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Nambari lazima iwe na tarakimu 10 na lazima ianze na 0."}},{"key":"id_avail","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"id_avail","type":"check_box","label":"Je, ana kitambulisho chochote kati ya vifuatavyo?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_national_id","text":"Kitambulisho cha Taifa","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_national_id"},{"key":"chk_voters_id","text":"Kitambulisho cha Mpiga kura","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_voters_id"},{"key":"chk_drivers_license","text":"Leseni ya udereva","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_drivers_license"},{"key":"chk_passport","text":"pasipoti","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_passport"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"chk_none"}],"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"national_id","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"National_ID","type":"edit_text","hint":"Nambari ya kitambulisho cha taifa k.m 12345678-91234-56789-12","edit_type":"name","v_regex":{"value":"^\\d{8}-\\d{5}-\\d{5}-\\d{2}$","err":"Nambari ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)"},"relevance":{"step2:id_avail":{"ex-checkbox":[{"or":["chk_national_id"]}]}}},{"key":"voter_id","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Voter_Registration_Number","type":"edit_text","hint":"Nambari ya usajili ya mpiga kura k.m T-1234-5678-912-3","edit_type":"name","v_regex":{"value":"^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$","err":"Nambari ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)"},"relevance":{"step2:id_avail":{"ex-checkbox":[{"or":["chk_voters_id"]}]}}},{"key":"driver_license","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Driver_License_Number","type":"edit_text","hint":"Nambari ya leseni ya udereva k.m 1234567891","edit_type":"name","v_regex":{"value":"^([0-9]{10})","err":"Nambari ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)"},"relevance":{"step2:id_avail":{"ex-checkbox":[{"or":["chk_drivers_license"]}]}}},{"key":"passport","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Passport_Number","type":"edit_text","hint":"Nambari ya pasipoti","v_regex":{"value":"^TAE-\\d{6}$","err":"Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)"},"edit_type":"name","relevance":{"step2:id_avail":{"ex-checkbox":[{"or":["chk_passport"]}]}}},{"key":"insurance_provider","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Type","type":"spinner","hint":"Mtoa huduma ya bima ya afya","values":["Mfuko wa Afya ya Jamii (CHF)/(iCHF)","Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)","Mfuko wa Taifa wa Bima ya Afya (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Bima ya Jubilee","Bima ya Resolutions ","Bima ya Reliance","Nyinginezo","Hakuna"],"keys":["Community Health Fund (CHF)","National Social Security Fund - Social Health Insurance Benefit (SHIB)","National Health Insurance Fund (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Other","None"],"openmrs_choice_ids":{"Community Health Fund (CHF)":"Community_Health_Fund","National Social Security Fund - Social Health Insurance Benefit (SHIB)":"National_Social_Security_Fund","National Health Insurance Fund (NHIF)":"National_Health_Insurance_Fund","Tiba Kwa Kadi (TIKA)":"Tiba_kwa_Kadi","AAR Healthcare":"AAR_Healthcare","AAR Strategies Insurance":"Strategies_Insurance","Milvik Tanzania Ltd (BIMA Mkononi)":"BIMA_Mkononi","Britam Insurance Tanzania":"Britam_Insurance_Tanzania","Jubilee Insurance":"Jubilee_Insurance","Resolutions Insurance":"Resolutions_Insurance","Reliance Insurance":"Reliance_Insurance","Other":"Other_Health_Insurance_Type","None":"No_Health_Insurance"},"v_required":{"value":"true","err":"Tafadhali ingiza toleo la bima"}},{"key":"insurance_provider_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Health_Insurance_Type","type":"edit_text","hint":"Mtoa huduma mwingine wa bima ya afya","v_required":{"value":"true","err":"Tafadhali bainisha mtoa huduma wa bima"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"insurance_provider_number","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Number","type":"edit_text","hint":"Nambari ya mtoa huduma ya bima ya afya","v_required":{"value":"true","err":"Tafadhali ongeza Nambari ya kitambulisho ya mtoa huduma wa bima ya afya"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"wra","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_register_calculation.yml"}}}},{"key":"mra","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"hidden","values":""},{"key":"preg_1yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"preg_1yr","type":"spinner","hint":"Je, mwanamke amejifungua katika mwaka 1 uliopita?","values":["Ndio","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"disabilities","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"disabilities","type":"spinner","hint":"Ulemavu wa kimwili","values":["Ndio","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Please select one"}},{"key":"type_of_disability","openmrs_entity_parent":"disabilities","openmrs_entity":"concept","openmrs_entity_id":"type_of_disability","type":"check_box","label":"Aina ya ulemavu wa mteja","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"physical_impairments","text":"Ulemavu wa mwili","value":false,"openmrs_entity":"concept","openmrs_entity_id":"physical_impairments"},{"key":"spinal_cord_disability","text":"Ulemavu wa Uti wa Mgongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"spinal_cord_disability"},{"key":"brain_disability","text":"Majeraha ya Kichwa - Ulemavu wa Ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"brain_disability"},{"key":"vision_disability","text":"Ulemavu wa Maono","value":false,"openmrs_entity":"concept","openmrs_entity_id":"vision_disability"},{"key":"hearing_disability","text":"Ulemavu wa Kusikia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"hearing_disability"},{"key":"learning_disabilities","text":"Ulemavu wa Utambuzi au Kujifunza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"learning_disabilities"},{"key":"psychological_disorders","text":"Matatizo ya Kisaikolojia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"psychological_disorders"},{"key":"invisible_disabilities","text":"Ulemavu Usioonekana","value":false,"openmrs_entity":"concept","openmrs_entity_id":"invisible_disabilities"}],"v_required":{"value":"true","err":"Tafadhali ingiza aina ya ulemavu"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"other_phone_number","openmrs_entity_parent":"phone_number","openmrs_entity":"concept","openmrs_entity_id":"other_phone_number","type":"edit_text","hint":"Nambari nyingine ya simu","v_numeric":{"value":"true","err":"Nambari lazima iwe jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Nambari lazima iwe na tarakimu 10 na lazima ianze na 0."}},{"key":"service_provider","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"service_provider","type":"check_box","label":"Kazi ya kichwa cha familia","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_farmer","text":"Mkulim","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_farmer"},{"key":"chk_cs","text":"Mtumishi wa Serikali","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cs"},{"key":"chk_nurse","text":"Muuguzi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_nurse"},{"key":"chk_teacher","text":"Mwalimu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_teacher"},{"key":"chk_th","text":"Mganga wa Kienyeji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_th"},{"key":"chk_chw","text":"Mhudumu wa Afya ya Jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_chw"},{"key":"chk_tba","text":"Mkunga wa Jadi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_tba"},{"key":"chk_chmis","text":"Mkusanyaji tahakrimu za afya ngazi ya jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_chmis"},{"key":"chk_cbd","text":"Msambazaji wa vifaa vya uzazi wa mpango ngazi ya jamii","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cbd"},{"key":"chk_hbc","text":"Mtoa huduma ya afya nyumbani","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_hbc"},{"key":"chk_cimmci","text":"Community IMCI","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cimmci"},{"key":"chk_other","text":"Nyinginezo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_other"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"service_provider_other","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"service_provider_other","type":"edit_text","hint":"Taja Kazi nyingine","edit_type":"name","v_required":{"value":"true","err":"Tafadhali taja kazi"},"relevance":{"step2:service_provider":{"ex-checkbox":[{"or":["chk_other"]}]}}},{"key":"leader","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Community_Leader","type":"check_box","label":"Kuna nafasi yoyote ya uongozi katika jamii?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_religious","text":"Kiongozi wa dini","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Religious_Leader"},{"key":"chk_traditional","text":"Kiongozi wa jadi","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Traditional_leader"},{"key":"chk_political","text":"Kiongozi wa kisiasa","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Political_leader"},{"key":"chk_influential","text":"Kiongozi mwenye ushawishi","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Influential_Leader"},{"key":"chk_other","text":"Nyingine","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Community_Leader_Type"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"person_attribute","openmrs_entity_id":"Not_a_Community_Leader"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"leader_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Community_Leader_Type_Name","type":"edit_text","hint":"Taja nafasi nyingine katika jamii","edit_type":"name","v_required":{"value":"true","err":"Tafadhali bainisha jukumu"},"relevance":{"step2:leader":{"ex-checkbox":[{"or":["chk_other"]}]}}}]}} \ No newline at end of file +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "2", + "encounter_type": "Family Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Family details", + "next": "step2", + "fields": [ + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la Familia (Jina la Mkuu wa Familia)", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la familia" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + } + }, + { + "key": "client_first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza Mkuu wa Familia", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + } + }, + { + "key": "client_middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la Kati la Mkuu wa Familia", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la kati" + } + }, + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "hidden": "true", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Number ya utambulisho", + "scanButtonText": "Scan QR Code", + "v_numeric": { + "value": "true", + "err": "Tafadhali weka kitambulisho halali" + } + }, + { + "key": "fam_village", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "type": "edit_text", + "edit_type": "name", + "hint": "Jina la Eneo", + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la eneo" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali weka jina sahihi la eneo" + } + }, + { + "key": "landmark", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "landmark", + "type": "edit_text", + "edit_type": "name", + "hint": "Alama/Maelezo ya eneo la nyumba", + "v_required": { + "value": true, + "err": "Tafadhali weka alama/maelezo ya eneo." + } + }, + { + "key": "gps", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gps", + "openmrs_data_type": "text", + "type": "gps" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "15dp" + }, + { + "key": "nearest_facility", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nearest_facility", + "openmrs_data_type": "text", + "type": "tree", + "hint": "Kijiji/Mtaa", + "tree": [], + "v_required": { + "value": true, + "err": "Tafadhali chagua kijiji au mtaa" + } + } + ] + }, + "step2": { + "title": "Family head", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "hint": "", + "value": "0", + "read_only": "true", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + }, + "v_required": { + "value": "true", + "err": "Please enter the ID" + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la kati", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kati" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_name", + "type": "edit_text", + "hint": "Jina la mwisho", + "edit_type": "name", + "read_only": "true", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Tarehe ya kuzaliwa (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-15y", + "v_required": { + "value": "true", + "err": "Tafadhali weka tarehe ya kuzaliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "Tarehe ya kuzaliwa haijulikani?", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step2:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age_entered", + "type": "edit_text", + "hint": "Umri", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Lazima iwe number kamili" + }, + "v_min": { + "value": "15", + "err": "Age must be equal or greater than 15" + }, + "v_max": { + "value": "120", + "err": "Age must be equal or less than 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafadhali weka umri" + }, + "v_min.err": "Umri lazima uwe sawa au zaidi ya 15", + "v_max.err": "Umri lazima uwe sawa au chini ya 120" + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "jinsi", + "values": [ + "Mwanaume", + "Mwanamke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali weka jinsi" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya Ndoa ya Mteja?", + "values": [ + "Hajaolewa", + "Ameolewa", + "Ameachika", + "Ndoa ya mke au mume moja", + "Mitara", + "Mjane", + "wanaishi wote" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", + "hint": "Numbari ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Je, ana kitambulisho chochote kati ya vifuatavyo?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "Kitambulisho cha Taifa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Kitambulisho cha Mpiga kura", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Leseni ya udereva", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_passport", + "text": "pasipoti", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_passport" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", + "hint": "Nambari ya kitambulisho cha taifa k.m 12345678-91234-56789-12", + "edit_type": "number", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "Nambari ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" + }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", + "hint": "Nambari ya usajili ya mpiga kura k.m T-1234-5678-912-3", + "edit_type": "number", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Nambari ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", + "hint": "Nambari ya leseni ya udereva k.m 1234567891", + "edit_type": "number", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Nambari ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "passport", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Passport_Number", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", + "hint": "Nambari ya pasipoti", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "edit_type": "number", + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_passport" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Mtoa huduma ya bima ya afya", + "values": [ + "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", + "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Bima ya Jubilee", + "Bima ya Resolutions ", + "Bima ya Reliance", + "Nyinginezo", + "Hakuna" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza toleo la bima" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Mtoa huduma mwingine wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha mtoa huduma wa bima" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Nambari ya mtoa huduma ya bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali ongeza Nambari ya kitambulisho ya mtoa huduma wa bima ya afya" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "values": "" + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_1yr", + "type": "spinner", + "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", + "values": [ + "Ndio", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Ulemavu wa kimwili", + "values": [ + "Ndio", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Aina ya ulemavu wa mteja", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Ulemavu wa mwili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Ulemavu wa Uti wa Mgongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Ulemavu wa Maono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Ulemavu wa Kusikia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Ulemavu wa Utambuzi au Kujifunza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Matatizo ya Kisaikolojia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Ulemavu Usioonekana", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza aina ya ulemavu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Nambari nyingine ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider", + "type": "check_box", + "label": "Kazi ya kichwa cha familia", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_farmer", + "text": "Mkulim", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_cs", + "text": "Mtumishi wa Serikali", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cs" + }, + { + "key": "chk_nurse", + "text": "Muuguzi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nurse" + }, + { + "key": "chk_teacher", + "text": "Mwalimu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_teacher" + }, + { + "key": "chk_th", + "text": "Mganga wa Kienyeji", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_th" + }, + { + "key": "chk_chw", + "text": "Mhudumu wa Afya ya Jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chw" + }, + { + "key": "chk_tba", + "text": "Mkunga wa Jadi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_tba" + }, + { + "key": "chk_chmis", + "text": "Mkusanyaji tahakrimu za afya ngazi ya jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chmis" + }, + { + "key": "chk_cbd", + "text": "Msambazaji wa vifaa vya uzazi wa mpango ngazi ya jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cbd" + }, + { + "key": "chk_hbc", + "text": "Mtoa huduma ya afya nyumbani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hbc" + }, + { + "key": "chk_cimmci", + "text": "Community IMCI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cimmci" + }, + { + "key": "chk_other", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Taja Kazi nyingine", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali taja kazi" + }, + "relevance": { + "step2:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Kuna nafasi yoyote ya uongozi katika jamii?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Kiongozi wa dini", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Kiongozi wa jadi", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Kiongozi wa kisiasa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Kiongozi mwenye ushawishi", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Nyingine", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Taja nafasi nyingine katika jamii", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha jukumu" + }, + "relevance": { + "step2:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 04032899f9..c8af3de5fd 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -452,7 +452,10 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", "hint": "Client phone number", "v_max_length": { "value": "10", @@ -464,8 +467,8 @@ "err": "Number must be a total of 10 digits in length" }, "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." }, "v_required": { "value": false, @@ -534,9 +537,12 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", "hint": "National ID number e.g 12345678-91234-56789-12", - "edit_type": "name", + "edit_type": "number", "v_max_length": { "value": "23", "is_fixed_size": "true", @@ -546,6 +552,10 @@ "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" }, + "v_required": { + "value": true, + "err": "Please enter a valid national ID" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -563,9 +573,12 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", "hint": "Voter's registration number e.g T-1234-5678-912-3", - "edit_type": "name", + "edit_type": "number", "v_max_length": { "value": "17", "is_fixed_size": "true", @@ -575,6 +588,10 @@ "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" }, + "v_required": { + "value": true, + "err": "Please enter a valid voters registration number" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -592,9 +609,12 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", "hint": "Driver's license number e.g 1234567891", - "edit_type": "name", + "edit_type": "number", "v_max_length": { "value": "10", "is_fixed_size": "true", @@ -604,6 +624,10 @@ "value": "^([0-9]{10})", "err": "Driver's license number should be of the format (XXXXXXXXXX)" }, + "v_required": { + "value": true, + "err": "Please enter a valid driver's license number" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -621,7 +645,10 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", "hint": "Passport number e.g TAE-123456", "v_max_length": { "value": "10", @@ -632,7 +659,11 @@ "value": "^TAE-\\d{6}$", "err": "Passport Number should be in the format (TAE-XXXXXX)" }, - "edit_type": "name", + "v_required": { + "value": true, + "err": "Please enter a valid passport number" + }, + "edit_type": "number", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -950,7 +981,10 @@ "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", "hint": "Primary caregiver phone number", "v_numeric": { "value": "true", @@ -962,8 +996,8 @@ "err": "Please enter a valid phone number" }, "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index 2c8f09e074..82caddbff7 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -298,7 +298,10 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", "hint": "Client phone number", "v_numeric": { "value": "true", @@ -310,8 +313,8 @@ "err": "Please enter a valid phone number" }, "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." }, "v_required": { "value": false, @@ -380,9 +383,12 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", "hint": "National ID number e.g 12345678-91234-56789-12", - "edit_type": "name", + "edit_type": "number", "v_regex": { "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" @@ -392,6 +398,10 @@ "is_fixed_size": "true", "err": "Please enter a valid national ID number" }, + "v_required": { + "value": true, + "err": "Please enter a valid national ID" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -409,9 +419,12 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", "hint": "Voter's registration number e.g T-1234-5678-912-3", - "edit_type": "name", + "edit_type": "number", "v_regex": { "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" @@ -421,6 +434,10 @@ "is_fixed_size": "true", "err": "Please enter a valid voter's registration number" }, + "v_required": { + "value": true, + "err": "Please enter a valid voters registration number" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -438,9 +455,12 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", "hint": "Driver's license number e.g 1234567891", - "edit_type": "name", + "edit_type": "number", "v_regex": { "value": "^([0-9]{10})", "err": "Driver's license number should be of the format (XXXXXXXXXX)" @@ -450,6 +470,10 @@ "is_fixed_size": "true", "err": "Please enter a valid driver's license number" }, + "v_required": { + "value": true, + "err": "Please enter a valid driver's license number" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -467,7 +491,10 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", "hint": "Passport number e.g TAE-123456", "v_regex": { "value": "^TAE-\\d{6}$", @@ -478,7 +505,11 @@ "is_fixed_size": "true", "err": "Please enter a valid passport number" }, - "edit_type": "name", + "v_required": { + "value": true, + "err": "Please enter a valid passport number" + }, + "edit_type": "number", "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -796,7 +827,10 @@ "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", "hint": "Primary caregiver phone number", "v_numeric": { "value": "true", @@ -806,9 +840,9 @@ "value": "(0[0-9]{9})|\\s*", "err": "Number must be 10 digits and must start with 0." }, - "v_required": { - "value": "true", - "err": "Please caregiver contact." + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." }, "v_max_length": { "value": "10", diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index fdf1a0813d..b84c3a5f06 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -344,7 +344,10 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", "hint": "Phone number", "v_numeric": { "value": "true", @@ -356,8 +359,8 @@ "err": "Please enter a valid phone number" }, "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." }, "v_required": { "value": false, @@ -426,9 +429,12 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", "hint": "National ID number e.g 12345678-91234-56789-12", - "edit_type": "name", + "edit_type": "number", "v_regex": { "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" @@ -438,6 +444,10 @@ "is_fixed_size": "true", "err": "Please enter a valid national ID number" }, + "v_required": { + "value": true, + "err": "Please enter a valid national ID" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -455,9 +465,12 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", "hint": "Voter's registration number e.g T-1234-5678-912-3", - "edit_type": "name", + "edit_type": "number", "v_regex": { "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" @@ -467,6 +480,10 @@ "is_fixed_size": "true", "err": "Please enter a valid voter's registration number" }, + "v_required": { + "value": true, + "err": "Please enter a valid voters registration number" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -484,9 +501,12 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", "hint": "Driver's license number e.g 1234567891", - "edit_type": "name", + "edit_type": "number", "v_regex": { "value": "^([0-9]{10})", "err": "Driver's license number should be of the format (XXXXXXXXXX)" @@ -496,6 +516,10 @@ "is_fixed_size": "true", "err": "Please enter a valid driver's license number" }, + "v_required": { + "value": true, + "err": "Please enter a valid driver's license number" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -513,9 +537,12 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", "hint": "Passport number e.g TAE-123456", - "edit_type": "name", + "edit_type": "number", "v_regex": { "value": "^TAE-\\d{6}$", "err": "Passport Number should be in the format (TAE-XXXXXX)" @@ -525,6 +552,10 @@ "is_fixed_size": "true", "err": "Please enter a valid passport number" }, + "v_required": { + "value": true, + "err": "Please enter a valid passport number" + }, "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -819,7 +850,10 @@ "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", "hint": "Other phone number", "v_numeric": { "value": "true", @@ -831,8 +865,8 @@ "err": "Please enter a valid phone number" }, "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." } }, { diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index ba32e6e47f..6623779271 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -449,7 +449,10 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", "hint": "Phone number", "v_numeric": { "value": "true", @@ -461,8 +464,8 @@ "err": "Please enter a valid phone number" }, "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." } }, { @@ -527,9 +530,12 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", "hint": "National ID number e.g 12345678-91234-56789-12", - "edit_type": "name", + "edit_type": "number", "v_regex": { "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" @@ -539,6 +545,10 @@ "is_fixed_size": "true", "err": "Please enter a valid national ID number" }, + "v_required": { + "value": true, + "err": "Please enter a valid national ID" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -556,9 +566,12 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", "hint": "Voter's registration number e.g T-1234-5678-912-3", - "edit_type": "name", + "edit_type": "number", "v_regex": { "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" @@ -568,6 +581,10 @@ "is_fixed_size": "true", "err": "Please enter a valid voter's registration number" }, + "v_required": { + "value": true, + "err": "Please enter a valid voters registration number" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -585,9 +602,12 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", "hint": "Driver's license number e.g 1234567891", - "edit_type": "name", + "edit_type": "number", "v_regex": { "value": "^([0-9]{10})", "err": "Driver's license number should be of the format (XXXXXXXXXX)" @@ -597,6 +617,10 @@ "is_fixed_size": "true", "err": "Please enter a valid driver's license number" }, + "v_required": { + "value": true, + "err": "Please enter a valid driver's license number" + }, "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -614,7 +638,10 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", "hint": "Passport number e.g TAE-123456", "v_regex": { "value": "^TAE-\\d{6}$", @@ -625,7 +652,11 @@ "is_fixed_size": "true", "err": "Please enter a valid passport number" }, - "edit_type": "name", + "v_required": { + "value": true, + "err": "Please enter a valid passport number" + }, + "edit_type": "number", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -894,7 +925,10 @@ "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", - "type": "edit_text", + "type": "mask_edit_text", + "mask": "0#########", + "mask_hint": "714000000", + "allowed_chars": "0123456789", "hint": "Other phone number", "v_numeric": { "value": "true", @@ -906,8 +940,8 @@ "err": "Please enter a valid phone number" }, "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." } }, { From 11c5e81a23674046523194ebe778da372ce26bda Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 26 Jan 2022 09:20:41 +0300 Subject: [PATCH 216/915] Implemented mask for different fields --- .../json.form-sw/female_hiv_registration.json | 14 ++++++++++---- .../json.form-sw/male_hiv_registration.json | 14 ++++++++++---- .../assets/json.form/female_hiv_registration.json | 15 +++++++++++---- .../assets/json.form/male_hiv_registration.json | 15 +++++++++++---- 4 files changed, 42 insertions(+), 16 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json index 28a0c0b732..4ad3a8cc10 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json @@ -59,10 +59,13 @@ "fields": [ { "name": "cbhs_number", - "type": "text_input_edit_text", + "type": "masked_edit_text", "properties": { "hint": "Namba ya HUWANYU mfano: 1234/56/78/912", - "type": "Namba ya HUWANYU mfano: 1234/56/78/912" + "type": "Namba ya HUWANYU mfano: 1234/56/78/912", + "mask": "####/##/##/###", + "mask_hint": "12345678912", + "allowed_chars": "0123456789" }, "meta_data": { "openmrs_entity": "concept", @@ -124,10 +127,13 @@ }, { "name": "ctc_number", - "type": "text_input_edit_text", + "type": "masked_edit_text", "properties": { "hint": "Namba ya CTC mfano: 12-34-5678-912345", - "type": "Namba ya CTC mfano: 12-34-5678-912345" + "type": "Namba ya CTC mfano: 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json index eabfbadc80..597655d48b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json @@ -59,10 +59,13 @@ "fields": [ { "name": "cbhs_number", - "type": "text_input_edit_text", + "type": "masked_edit_text", "properties": { "hint": "Namba ya HUWANYU mfano: 1234/56/78/912", - "type": "Namba ya HUWANYU mfano: 1234/56/78/912" + "type": "Namba ya HUWANYU mfano: 1234/56/78/912", + "mask": "####/##/##/###", + "mask_hint": "12345678912", + "allowed_chars": "0123456789" }, "meta_data": { "openmrs_entity": "concept", @@ -124,10 +127,13 @@ }, { "name": "ctc_number", - "type": "text_input_edit_text", + "type": "masked_edit_text", "properties": { "hint": "Namba ya CTC mfano: 12-34-5678-912345", - "type": "Namba ya CTC mfano: 12-34-5678-912345" + "type": "Namba ya CTC mfano: 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json index d216cbf351..588f5ec34d 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json @@ -59,9 +59,13 @@ "fields": [ { "name": "cbhs_number", - "type": "text_input_edit_text", + "type": "masked_edit_text", "properties": { - "hint": "CBHS Number e.g 1234/56/78/912" + "hint": "CBHS Number e.g 1234/56/78/912", + "type": "CBHS Number e.g 1234/56/78/912", + "mask": "####/##/##/###", + "mask_hint": "12345678912", + "allowed_chars": "0123456789" }, "meta_data": { "openmrs_entity": "concept", @@ -122,10 +126,13 @@ }, { "name": "ctc_number", - "type": "text_input_edit_text", + "type": "masked_edit_text", "properties": { "hint": "CTC Number e.g 12-34-5678-912345", - "type": "CTC Number e.g 12-34-5678-912345" + "type": "CTC Number e.g 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json index 9d86e199af..5e7478ac78 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json @@ -59,9 +59,13 @@ "fields": [ { "name": "cbhs_number", - "type": "text_input_edit_text", + "type": "masked_edit_text", "properties": { - "hint": "CBHS Number e.g 1234/56/78/912" + "hint": "CBHS Number e.g 1234/56/78/912", + "type": "CBHS Number e.g 1234/56/78/912", + "mask": "####/##/##/###", + "mask_hint": "12345678912", + "allowed_chars": "0123456789" }, "meta_data": { "openmrs_entity": "concept", @@ -122,10 +126,13 @@ }, { "name": "ctc_number", - "type": "text_input_edit_text", + "type": "masked_edit_text", "properties": { "hint": "CTC Number e.g 12-34-5678-912345", - "type": "CTC Number e.g 12-34-5678-912345" + "type": "CTC Number e.g 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" }, "meta_data": { "openmrs_entity": "concept", From 749488bc21d4154b7ed82bcf28e4780e27efac9c Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 26 Jan 2022 15:34:50 +0300 Subject: [PATCH 217/915] Updated phone number field type to edit text --- .../json.form-sw/all_clients_registration_form.json | 10 ++-------- .../all_clients_update_registration_info_form.json | 10 ++-------- .../assets/json.form-sw/family_member_register.json | 10 ++-------- .../src/ba/assets/json.form-sw/family_register.json | 12 +++++++----- .../json.form/all_clients_registration_form.json | 10 ++-------- .../all_clients_update_registration_info_form.json | 10 ++-------- .../ba/assets/json.form/family_member_register.json | 10 ++-------- .../src/ba/assets/json.form/family_register.json | 10 ++-------- 8 files changed, 21 insertions(+), 61 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 971ff9d60b..6b81f3191d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -449,10 +449,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Nambari ya simu ya mteja", "v_numeric": { "value": "true", @@ -978,10 +975,7 @@ "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Nambari ya simu ya mlezi mkuu", "v_max_length": { "value": "10", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 6d7cb678a7..ffc36c83a0 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -295,10 +295,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Namba ya simu ya mteja", "v_numeric": { "value": "true", @@ -824,10 +821,7 @@ "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Namba ya simu ya mlezi", "v_numeric": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 0a6b7ea940..85aa9f2ed3 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -341,10 +341,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Nambari ya simu", "v_numeric": { "value": "true", @@ -847,10 +844,7 @@ "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Nambari nyingine ya simu", "v_numeric": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 5767b20c53..b8c60df47e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -446,10 +446,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Numbari ya simu", "v_numeric": { "value": "true", @@ -929,8 +926,13 @@ "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" }, "v_regex": { - "value": "(0[0-9]{9})|\\s*", + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" } }, { diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index c8af3de5fd..8a75e88089 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -452,10 +452,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Client phone number", "v_max_length": { "value": "10", @@ -981,10 +978,7 @@ "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Primary caregiver phone number", "v_numeric": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index 82caddbff7..b39cfe2c03 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -298,10 +298,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Client phone number", "v_numeric": { "value": "true", @@ -827,10 +824,7 @@ "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Primary caregiver phone number", "v_numeric": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index b84c3a5f06..8d0fceee4a 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -344,10 +344,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Phone number", "v_numeric": { "value": "true", @@ -850,10 +847,7 @@ "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Other phone number", "v_numeric": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index 6623779271..a9e9e84283 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -449,10 +449,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Phone number", "v_numeric": { "value": "true", @@ -925,10 +922,7 @@ "openmrs_entity_parent": "phone_number", "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", - "type": "mask_edit_text", - "mask": "0#########", - "mask_hint": "714000000", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Other phone number", "v_numeric": { "value": "true", From c8cf971a697c5a7d3e930a3ff5f82519d3e3b37c Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 26 Jan 2022 16:40:18 +0300 Subject: [PATCH 218/915] Update: phone number fields to not be required --- .../all_clients_registration_form.json | 14 -------------- ..._clients_update_registration_info_form.json | 18 ------------------ .../json.form-sw/family_member_register.json | 14 -------------- .../assets/json.form-sw/family_register.json | 10 ---------- .../all_clients_registration_form.json | 18 ------------------ ..._clients_update_registration_info_form.json | 18 ------------------ .../json.form/family_member_register.json | 14 -------------- .../ba/assets/json.form/family_register.json | 10 ---------- 8 files changed, 116 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 6b81f3191d..6e04feca8b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -458,15 +458,6 @@ "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" - }, - "v_required": { - "value": false, - "err": "Tafadhali taja nambari ya simu" } }, { @@ -977,11 +968,6 @@ "openmrs_entity_id": "other_phone_number", "type": "edit_text", "hint": "Nambari ya simu ya mlezi mkuu", - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" - }, "v_numeric": { "value": "true", "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index ffc36c83a0..6771ba94f9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -304,15 +304,6 @@ "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." - }, - "v_required": { - "value": false, - "err": "Tafadhali taja namba ya simu" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" } }, { @@ -831,15 +822,6 @@ "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." }, - "v_required": { - "value": "true", - "err": "Tafadhali mawasiliano ya mlezi" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" - }, "relevance": { "rules-engine": { "ex-rules": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 85aa9f2ed3..4633b6fcb6 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -350,15 +350,6 @@ "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" - }, - "v_required": { - "value": false, - "err": "Tafadhali taja nambari ya simu" } }, { @@ -853,11 +844,6 @@ "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" } }, { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index b8c60df47e..1dd475cca3 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -455,11 +455,6 @@ "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" } }, { @@ -928,11 +923,6 @@ "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" } }, { diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index 8a75e88089..def1a165ab 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -454,11 +454,6 @@ "openmrs_entity_id": "phone_number", "type": "edit_text", "hint": "Client phone number", - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid phone number" - }, "v_numeric": { "value": "true", "err": "Number must be a total of 10 digits in length" @@ -466,10 +461,6 @@ "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Number must be 10 digits and must start with 06 or 07." - }, - "v_required": { - "value": false, - "err": "Please specify the phone number" } }, { @@ -984,19 +975,10 @@ "value": "true", "err": "Number must be a total of 10 digits in length" }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid phone number" - }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Number must be 10 digits and must start with 06 or 07." }, - "v_required": { - "value": "true", - "err": "Please caregiver contact." - }, "relevance": { "rules-engine": { "ex-rules": { diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json index b39cfe2c03..54fc863863 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json @@ -304,18 +304,9 @@ "value": "true", "err": "Number must be a total of 10 digits in length" }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid phone number" - }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Number must be 10 digits and must start with 06 or 07." - }, - "v_required": { - "value": false, - "err": "Please specify the phone number" } }, { @@ -830,19 +821,10 @@ "value": "true", "err": "Number must be a total of 10 digits in length" }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." - }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Number must be 10 digits and must start with 06 or 07." }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid phone number" - }, "relevance": { "rules-engine": { "ex-rules": { diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index 8d0fceee4a..7a3fc58a4e 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -350,18 +350,9 @@ "value": "true", "err": "Number must be a total of 10 digits in length" }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid phone number" - }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Number must be 10 digits and must start with 06 or 07." - }, - "v_required": { - "value": false, - "err": "Please specify the phone number" } }, { @@ -853,11 +844,6 @@ "value": "true", "err": "Number must be a total of 10 digits in length" }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid phone number" - }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Number must be 10 digits and must start with 06 or 07." diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index a9e9e84283..33d17a4ec5 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -455,11 +455,6 @@ "value": "true", "err": "Number must be a total of 10 digits in length" }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid phone number" - }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Number must be 10 digits and must start with 06 or 07." @@ -928,11 +923,6 @@ "value": "true", "err": "Number must be a total of 10 digits in length" }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid phone number" - }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Number must be 10 digits and must start with 06 or 07." From d0b5ce6d19fc7563922f6c758b1dd987794d6675 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 27 Jan 2022 11:07:45 +0300 Subject: [PATCH 219/915] fixed and formatted all swahili forms --- .../all_clients_registration_form.json | 8 +- ...clients_update_registration_info_form.json | 8 +- .../json.form-sw/anc_hv_counselling.json | 193 +++++- .../json.form-sw/anc_hv_danger_signs.json | 224 ++++++- .../json.form-sw/anc_hv_family_planning.json | 80 ++- .../anc_hv_health_facility_visit.json | 176 +++++- .../assets/json.form-sw/anc_hv_malaria.json | 222 ++++++- .../json.form-sw/anc_hv_nutrition_status.json | 83 ++- .../json.form-sw/anc_hv_observations.json | 136 ++++- .../anc_hv_pregnancy_risk_form.json | 98 ++- .../anc_hv_remarks_and_comments.json | 67 ++- .../json.form-sw/anc_member_registration.json | 2 +- .../json.form-sw/anc_pregnancy_outcome.json | 559 +++++++++++++++++- .../json.form-sw/anc_referral_form.json | 422 ++++++++++++- .../json.form-sw/birth_certification.json | 184 +++++- .../assets/json.form-sw/child_enrollment.json | 2 +- .../json.form-sw/child_hv_deworming.json | 70 ++- .../child_hv_malaria_prevention.json | 142 ++++- .../child_hv_nutrition_status.json | 83 ++- .../child_hv_vaccine_card_received.json | 73 ++- .../json.form-sw/child_hv_vitamin_a.json | 70 ++- .../json.form-sw/child_referral_form.json | 386 +++++++++++- .../json.form-sw/family_details_register.json | 134 ++++- .../family_details_remove_child.json | 213 ++++++- .../family_details_remove_family.json | 172 +++++- .../family_details_remove_member.json | 215 ++++++- .../json.form-sw/family_member_register.json | 8 +- .../assets/json.form-sw/family_register.json | 8 +- .../female_family_planning_registration.json | 2 +- .../json.form-sw/female_fp_referral_form.json | 537 ++++++++++++++++- .../json.form-sw/fp_followup_counsel.json | 83 ++- .../json.form-sw/fp_followup_resupply.json | 160 ++++- .../fp_followup_side_effects.json | 399 ++++++++++++- .../in_app_monthly_tallies_report.json | 109 +++- .../json.form-sw/malaria_confirmation.json | 438 +++++++++++++- .../json.form-sw/malaria_follow_up_visit.json | 284 ++++++++- .../json.form-sw/malaria_referral_form.json | 340 ++++++++++- .../json.form-sw/observation_illness.json | 130 +++- .../assets/json.form-sw/pnc_counselling.json | 214 ++++++- .../json.form-sw/pnc_danger_signs_baby.json | 205 ++++++- .../json.form-sw/pnc_danger_signs_mother.json | 205 ++++++- .../pnc_exclusive_breastfeeding.json | 77 ++- .../json.form-sw/pnc_family_planning.json | 198 ++++++- .../pnc_health_facility_visit.json | 169 +++++- .../pnc_health_facility_visit_two.json | 112 +++- .../json.form-sw/pnc_hv_danger_signs.json | 196 +++++- .../pnc_hv_observations_infant.json | 158 ++++- .../pnc_hv_observations_mother.json | 158 ++++- .../json.form-sw/pnc_malaria_prevention.json | 142 ++++- .../pnc_nutrition_status_infant.json | 83 ++- .../pnc_nutrition_status_mother.json | 83 ++- .../json.form-sw/pnc_referral_form.json | 498 +++++++++++++++- .../json.form-sw/routine_home_visit.json | 186 +++++- 53 files changed, 9135 insertions(+), 69 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 971ff9d60b..d6f4c9815a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -358,11 +358,11 @@ }, "v_min": { "value": "0", - "err": "Age must be equal or greater than 0" + "err": "Umri lazima uwe sawa au zaidi ya 0" }, "v_max": { "value": "120", - "err": "Age must be equal or less than 120" + "err": "Umri lazima uwe sawa au chini ya 120" }, "relevance": { "rules-engine": { @@ -374,9 +374,7 @@ "v_required": { "value": true, "err": "Tafadhali weka umri" - }, - "v_min.err": "Umri lazima uwe sawa au zaidi ya 0", - "v_max.err": "Umri lazima uwe sawa au chini ya 120" + } }, { "key": "sex", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 6d7cb678a7..1cf5b135bf 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -204,11 +204,11 @@ }, "v_min": { "value": "5", - "err": "Age must be equal or greater than 5" + "err": "Umri ni lazima uwe sawa au zaidi ya 5" }, "v_max": { "value": "120", - "err": "Age must be equal or less than 120" + "err": "Umri lazima uwe sawa au chini ya 120" }, "relevance": { "rules-engine": { @@ -220,9 +220,7 @@ "v_required": { "value": true, "err": "Tafahdhali ingiza umri" - }, - "v_min.err": "Umri ni lazima uwe sawa au zaidi ya 5", - "v_max.err": "Umri lazima uwe sawa au chini ya 120" + } }, { "key": "sex", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json index 8c547b0057..f3ac35df3c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json @@ -1 +1,192 @@ -{"count":"1","encounter_type":"ANC Counselling","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Counselling","fields":[{"key":"counselling_given","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"counselling_given","type":"check_box","label":"Ushauri uliyotolewa kwa mama na wanafamilia","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_attended_anc_contacts","text":"1. Kufika kliniki ya ANC mapema","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_attended_anc_contacts"},{"key":"chk_anc_danger_signs","text":"2. Dalili za hatari za ujauzito","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_anc_danger_signs"},{"key":"chk_maternal_nutrition","text":"3. Lishe ya mama wakati wa ujauzito na kunyonyesha","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_maternal_nutrition"},{"key":"chk_personal_delivery","text":"4. Mpango binafsi wa kujifungua","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_personal_delivery"},{"key":"chk_hiv_aids","text":"5. Taarifa za ujumla za VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_hiv_aids"},{"key":"chk_pmtct_for_mother","text":"6. PMTCT kwa ajili ya mama","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_pmtct_for_mother"},{"key":"chk_preventing_malaria","text":"7. Kuzuia malaria kwa ajili ya wamama wajawazito","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_preventing_malaria"},{"key":"chk_physical_changes","text":"8. Mabadiliko ya kimwili kwa mama aliyetoka kujifungua","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_physical_changes"},{"key":"chk_pnc_danger_signs","text":"9. Dalili za hatari za PNC","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_pnc_danger_signs"},{"key":"chk_care_of_infant","text":"10. Utunzaji wa mtoto mchanga baada ya kuzaliwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_care_of_infant"},{"key":"chk_infant_danger_signs","text":"11. Dalili za hatari za mtoto mchanga","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_infant_danger_signs"},{"key":"chk_hiv_exposed_infant","text":"12. Ufuatiliaji kwa ajili ya mtoto mchanga aliyeambukizwa na VVU","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_hiv_exposed_infant"},{"key":"chk_breastfeeding","text":"13. Kunyonyesha ","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_breastfeeding"},{"key":"chk_exclusive_breast_feeding ","text":"14. Kupanga mpango wa uzazi kwa kutumia kunyonyesha maziwa ya mama pekee kwa miezi 6 baada ya kuzaliwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_exclusive_breast_feeding"},{"key":"chk_family_planning","text":"15. Mpango wa uzazi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_family_planning"},{"key":"chk_infection_prevention","text":"16. Kuzuia na kudhibiti maambukizi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_infection_prevention"},{"key":"chk_none","text":"17. Hamna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau mojawapo"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "ANC Counselling", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Counselling", + "fields": [ + { + "key": "counselling_given", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling_given", + "type": "check_box", + "label": "Ushauri uliyotolewa kwa mama na wanafamilia", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_attended_anc_contacts", + "text": "1. Kufika kliniki ya ANC mapema", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_attended_anc_contacts" + }, + { + "key": "chk_anc_danger_signs", + "text": "2. Dalili za hatari za ujauzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_anc_danger_signs" + }, + { + "key": "chk_maternal_nutrition", + "text": "3. Lishe ya mama wakati wa ujauzito na kunyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_maternal_nutrition" + }, + { + "key": "chk_personal_delivery", + "text": "4. Mpango binafsi wa kujifungua", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_personal_delivery" + }, + { + "key": "chk_hiv_aids", + "text": "5. Taarifa za ujumla za VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hiv_aids" + }, + { + "key": "chk_pmtct_for_mother", + "text": "6. PMTCT kwa ajili ya mama", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_pmtct_for_mother" + }, + { + "key": "chk_preventing_malaria", + "text": "7. Kuzuia malaria kwa ajili ya wamama wajawazito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_preventing_malaria" + }, + { + "key": "chk_physical_changes", + "text": "8. Mabadiliko ya kimwili kwa mama aliyetoka kujifungua", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_physical_changes" + }, + { + "key": "chk_pnc_danger_signs", + "text": "9. Dalili za hatari za PNC", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_pnc_danger_signs" + }, + { + "key": "chk_care_of_infant", + "text": "10. Utunzaji wa mtoto mchanga baada ya kuzaliwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_care_of_infant" + }, + { + "key": "chk_infant_danger_signs", + "text": "11. Dalili za hatari za mtoto mchanga", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_infant_danger_signs" + }, + { + "key": "chk_hiv_exposed_infant", + "text": "12. Ufuatiliaji kwa ajili ya mtoto mchanga aliyeambukizwa na VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hiv_exposed_infant" + }, + { + "key": "chk_breastfeeding", + "text": "13. Kunyonyesha ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_breastfeeding" + }, + { + "key": "chk_exclusive_breast_feeding ", + "text": "14. Kupanga mpango wa uzazi kwa kutumia kunyonyesha maziwa ya mama pekee kwa miezi 6 baada ya kuzaliwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_exclusive_breast_feeding" + }, + { + "key": "chk_family_planning", + "text": "15. Mpango wa uzazi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_family_planning" + }, + { + "key": "chk_infection_prevention", + "text": "16. Kuzuia na kudhibiti maambukizi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_infection_prevention" + }, + { + "key": "chk_none", + "text": "17. Hamna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau mojawapo" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json index e65e3a209b..d2440dd259 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json @@ -1 +1,223 @@ -{"count":"1","encounter_type":"Home Visit - Danger signs","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"ANC Registration","fields":[{"key":"danger_signs_present","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"danger_signs_present","type":"check_box","label":"Je, mama ana dalili zozote za hatari?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_fever","text":"Homa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_fever"},{"key":"chk_bleeding_vaginally","text":"Kutokwa na damu ukeni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_bleeding_vaginally"},{"key":"chk_server_headache","text":"Maumivu makali ya kichwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_server_headache"},{"key":"chk_blurred_vision","text":"Uoni hafifu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_blurred_vision"},{"key":"chk_convulsions","text":"Degedege","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_convulsions"},{"key":"chk_difficulty_breathing","text":"Kupumua kwa shida","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_difficulty_breathing"},{"key":"chk_severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_severe_abdominal_pain"},{"key":"chk_loss_consciousness","text":"Kupoteza fahamu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_loss_consciousness"},{"key":"chk_swelling","text":"Kuvimba kwa uso na/au mikono","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_swelling"},{"key":"chk_early_labour","text":"Maumivu ya kuzaa mapema kabla ya miezi 9","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_early_labour"},{"key":"chk_vaginal_discharge","text":"Kutokwa na majimaji ukeni yenye rangirangi na harufu mbaya","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_vaginal_discharge"},{"key":"chk_unusual_movement","text":"Hakuna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_unusual_movement"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau mojawapo"}},{"key":"danger_signs_present_toaster","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Dalili ya hatari! Apewe rufaa kwenda kwenye kituo cha afya haraka.","text_color":"#CF0800","toaster_type":"problem","relevance":{"step1:danger_signs_present":{"ex-checkbox":[{"or":["chk_fever","chk_bleeding_vaginally","chk_server_headache","chk_blurred_vision","chk_convulsions","chk_difficulty_breathing","chk_severe_abdominal_pain","chk_loss_consciousness","chk_swelling","chk_early_labour","chk_vaginal_discharge","chk_unusual_movement"]}]}}},{"key":"danger_signs_counseling","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"danger_signs_counseling","openmrs_data_type":"select one","type":"spinner","label_info_title":"Did the mother receive counselling","label_info_text":"Did the mother receive counselling on danger signs at the health facility recently?","hint":"Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Home Visit - Danger signs", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "ANC Registration", + "fields": [ + { + "key": "danger_signs_present", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "danger_signs_present", + "type": "check_box", + "label": "Je, mama ana dalili zozote za hatari?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_fever", + "text": "Homa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_fever" + }, + { + "key": "chk_bleeding_vaginally", + "text": "Kutokwa na damu ukeni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_bleeding_vaginally" + }, + { + "key": "chk_server_headache", + "text": "Maumivu makali ya kichwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_server_headache" + }, + { + "key": "chk_blurred_vision", + "text": "Uoni hafifu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_blurred_vision" + }, + { + "key": "chk_convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_convulsions" + }, + { + "key": "chk_difficulty_breathing", + "text": "Kupumua kwa shida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_difficulty_breathing" + }, + { + "key": "chk_severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_severe_abdominal_pain" + }, + { + "key": "chk_loss_consciousness", + "text": "Kupoteza fahamu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_loss_consciousness" + }, + { + "key": "chk_swelling", + "text": "Kuvimba kwa uso na/au mikono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_swelling" + }, + { + "key": "chk_early_labour", + "text": "Maumivu ya kuzaa mapema kabla ya miezi 9", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_early_labour" + }, + { + "key": "chk_vaginal_discharge", + "text": "Kutokwa na majimaji ukeni yenye rangirangi na harufu mbaya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_vaginal_discharge" + }, + { + "key": "chk_unusual_movement", + "text": "Hakuna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_unusual_movement" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau mojawapo" + } + }, + { + "key": "danger_signs_present_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Dalili ya hatari! Apewe rufaa kwenda kwenye kituo cha afya haraka.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:danger_signs_present": { + "ex-checkbox": [ + { + "or": [ + "chk_fever", + "chk_bleeding_vaginally", + "chk_server_headache", + "chk_blurred_vision", + "chk_convulsions", + "chk_difficulty_breathing", + "chk_severe_abdominal_pain", + "chk_loss_consciousness", + "chk_swelling", + "chk_early_labour", + "chk_vaginal_discharge", + "chk_unusual_movement" + ] + } + ] + } + } + }, + { + "key": "danger_signs_counseling", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "danger_signs_counseling", + "openmrs_data_type": "select one", + "type": "spinner", + "label_info_title": "Did the mother receive counselling", + "label_info_text": "Did the mother receive counselling on danger signs at the health facility recently?", + "hint": "Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json index 5852cc8edf..b7c9ce7184 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json @@ -1 +1,79 @@ -{"count":"1","encounter_type":"Home Visit - Family Planning","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Family planning","fields":[{"key":"fam_planning","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fam_planning","openmrs_data_type":"select one","type":"spinner","hint":"Je, mama alishauriwa kuhusu mpango wa uzazi ulimpotembelea kwa ajili ya ziara ya afya?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Home Visit - Family Planning", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Family planning", + "fields": [ + { + "key": "fam_planning", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fam_planning", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mama alishauriwa kuhusu mpango wa uzazi ulimpotembelea kwa ajili ya ziara ya afya?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json index 7109893a97..e75e44d488 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json @@ -1 +1,175 @@ -{"count":"1","encounter_type":"Home Visit - Facility Visit","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"ANC {0} health facility visit","fields":[{"key":"anc_hf_visit","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"anc_hf_visit","openmrs_data_type":"select one","label_info_title":"Did the woman attend her ANC {0} visit at the health facility?","label_info_text":"Did the woman attend her ANC visit at the health facility?","type":"spinner","hint":"Je, mwanamke huyo alihudhuria ziara yake ya ANC {0} katika kituo cha afya? Tarehe ya kukamilisha ziara: {1}","values":["Ndiyo","Hapana"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"anc_hf_visit_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"anc_hf_visit_date","openmrs_data_type":"text","type":"date_picker","label":"ANC visit date","hint":"Tarehe ya ziara ya ANC","expanded":false,"min_date":"today-10y","max_date":"today","v_required":{"value":"true","err":"Ingiza tarehe ya kutembelea kituoni"},"relevance":{"step1:anc_hf_visit":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"reason_for_missed_visit","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"reason_for_missed_visit","type":"spinner","hint":"Sababu ya kutofika kituoni","values":["Hofu ya kufichua ujauzito wake","Alisahau tarehe ya miadi","Hakuwa na nauli ya usafiri","Alikuwa hajisikii vizuri","Nyingine"],"keys":["fear_to_disclose_her_pregnancy","she_forgot_the_appointment_date","she_did_not_have_transport_fare","she_was_not_feeling_well","other"],"openmrs_choice_ids":{"fear_to_disclose_her_pregnancy":"fear_to_disclose_her_pregnancy","she_forgot_the_appointment_date":"she_forgot_the_appointment_date","she_did_not_have_transport_fare":"she_did_not_have_transport_fare","she_was_not_feeling_well":"she_was_not_feeling_well","other":"other"},"v_required":{"value":"true","err":"Tafadhali chagua sababu"},"relevance":{"step1:anc_hf_visit":{"type":"string","ex":"equalTo(., \"No\")"}}},{"key":"other_reason_missed_visit","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"other_reason_missed_visit","type":"edit_text","hint":"Sababu nyingine ya kutofika kituoni","edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza sababu nyingine"},"relevance":{"step1:reason_for_missed_visit":{"type":"string","ex":"equalTo(., \"other\")"}}},{"key":"anc_hf_next_visit_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"anc_hf_next_visit_date","type":"spacer"},{"key":"confirmed_visits","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"confirmed_visits","type":"spacer","read_only":"true","hidden":"true","value":"0"}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Home Visit - Facility Visit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "ANC {0} health facility visit", + "fields": [ + { + "key": "anc_hf_visit", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "anc_hf_visit", + "openmrs_data_type": "select one", + "label_info_title": "Did the woman attend her ANC {0} visit at the health facility?", + "label_info_text": "Did the woman attend her ANC visit at the health facility?", + "type": "spinner", + "hint": "Je, mwanamke huyo alihudhuria ziara yake ya ANC {0} katika kituo cha afya? Tarehe ya kukamilisha ziara: {1}", + "values": [ + "Ndiyo", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "anc_hf_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "anc_hf_visit_date", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "ANC visit date", + "hint": "Tarehe ya ziara ya ANC", + "expanded": false, + "min_date": "today-10y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Ingiza tarehe ya kutembelea kituoni" + }, + "relevance": { + "step1:anc_hf_visit": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "reason_for_missed_visit", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reason_for_missed_visit", + "type": "spinner", + "hint": "Sababu ya kutofika kituoni", + "values": [ + "Hofu ya kufichua ujauzito wake", + "Alisahau tarehe ya miadi", + "Hakuwa na nauli ya usafiri", + "Alikuwa hajisikii vizuri", + "Nyingine" + ], + "keys": [ + "fear_to_disclose_her_pregnancy", + "she_forgot_the_appointment_date", + "she_did_not_have_transport_fare", + "she_was_not_feeling_well", + "other" + ], + "openmrs_choice_ids": { + "fear_to_disclose_her_pregnancy": "fear_to_disclose_her_pregnancy", + "she_forgot_the_appointment_date": "she_forgot_the_appointment_date", + "she_did_not_have_transport_fare": "she_did_not_have_transport_fare", + "she_was_not_feeling_well": "she_was_not_feeling_well", + "other": "other" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua sababu" + }, + "relevance": { + "step1:anc_hf_visit": { + "type": "string", + "ex": "equalTo(., \"No\")" + } + } + }, + { + "key": "other_reason_missed_visit", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_missed_visit", + "type": "edit_text", + "hint": "Sababu nyingine ya kutofika kituoni", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza sababu nyingine" + }, + "relevance": { + "step1:reason_for_missed_visit": { + "type": "string", + "ex": "equalTo(., \"other\")" + } + } + }, + { + "key": "anc_hf_next_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "anc_hf_next_visit_date", + "type": "spacer" + }, + { + "key": "confirmed_visits", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "confirmed_visits", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json index da2b56b016..000c04ecd2 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json @@ -1 +1,221 @@ -{"count":"1","encounter_type":"Home Visit - Malaria","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Malaria prevention","fields":[{"key":"fam_llin","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fam_llin","openmrs_data_type":"select one","type":"spinner","hint":"Je, mwanamke ana chandarua chenye dawa ya muda mrefu (LLIN)?","values":["Ndiyo ","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"llin_2days","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"llin_2days","openmrs_data_type":"select one","type":"spinner","hint":"Je, alilala ndani ya chandarua jana usiku?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"step1:fam_llin":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"llin_condition","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"llin_condition","openmrs_data_type":"select one","type":"spinner","hint":"Hali ya chandarua","values":["Nzuri","Mbaya"],"keys":["Good","Bad"],"openmrs_choice_ids":{"Good":"Good","Bad":"Bad"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"step1:fam_llin":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"malaria_sp","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"malaria_sp","openmrs_data_type":"select one","type":"spinner","hint":"Je, mteja ametumia dawa ya kuzuia malaria (SP)?","values":["Ndiyo ",""],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"reason_for_missed_sp","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"reason_for_missed_sp","type":"spinner","hint":"Sababu kwa nini mteja hatumii dawa za SP","values":["Mteja hakupewa dawa za SP","Mteja alipoteza dawa zake","Uzembe wa mteja","Nyingine"],"keys":["client_was_not_given_sp_dosage","client_lost_her_medication","client_negligence","other"],"openmrs_choice_ids":{"client_was_not_given_sp_dosage":"client_was_not_given_sp_dosage","client_lost_her_medication":"client_lost_her_medication","client_negligence":"client_negligence","other":"other"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"step1:malaria_sp":{"type":"string","ex":"equalTo(., \"No\")"}}},{"key":"other_reason_missed_sp_dosage","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"other_reason_missed_sp_dosage","type":"edit_text","hint":"Sababu nyingine kwa nini mteja hatumii dawa za SP","edit_type":"name","v_required":{"value":"true","err":"Tafahdali ingiza sababu hiyo"},"relevance":{"step1:reason_for_missed_sp":{"type":"string","ex":"equalTo(., \"other\")"}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Home Visit - Malaria", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Malaria prevention", + "fields": [ + { + "key": "fam_llin", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fam_llin", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mwanamke ana chandarua chenye dawa ya muda mrefu (LLIN)?", + "values": [ + "Ndiyo ", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "llin_2days", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "llin_2days", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, alilala ndani ya chandarua jana usiku?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "step1:fam_llin": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "llin_condition", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "llin_condition", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hali ya chandarua", + "values": [ + "Nzuri", + "Mbaya" + ], + "keys": [ + "Good", + "Bad" + ], + "openmrs_choice_ids": { + "Good": "Good", + "Bad": "Bad" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "step1:fam_llin": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "malaria_sp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "malaria_sp", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mteja ametumia dawa ya kuzuia malaria (SP)?", + "values": [ + "Ndiyo ", + "" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "reason_for_missed_sp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reason_for_missed_sp", + "type": "spinner", + "hint": "Sababu kwa nini mteja hatumii dawa za SP", + "values": [ + "Mteja hakupewa dawa za SP", + "Mteja alipoteza dawa zake", + "Uzembe wa mteja", + "Nyingine" + ], + "keys": [ + "client_was_not_given_sp_dosage", + "client_lost_her_medication", + "client_negligence", + "other" + ], + "openmrs_choice_ids": { + "client_was_not_given_sp_dosage": "client_was_not_given_sp_dosage", + "client_lost_her_medication": "client_lost_her_medication", + "client_negligence": "client_negligence", + "other": "other" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "step1:malaria_sp": { + "type": "string", + "ex": "equalTo(., \"No\")" + } + } + }, + { + "key": "other_reason_missed_sp_dosage", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_missed_sp_dosage", + "type": "edit_text", + "hint": "Sababu nyingine kwa nini mteja hatumii dawa za SP", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafahdali ingiza sababu hiyo" + }, + "relevance": { + "step1:reason_for_missed_sp": { + "type": "string", + "ex": "equalTo(., \"other\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json index c1a987ab37..085e0f5b14 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json @@ -1 +1,82 @@ -{"count":"1","encounter_type":"Home Visit - Nutrition Status","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Nutrition status","fields":[{"key":"nutrition_status","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"nutrition_status","openmrs_data_type":"select one","type":"spinner","hint":"Je, hali ya lishe ya mama ikoje?","values":["Kawaida/Kijani","Wastani/Njano","Mbaya/Nyekundu"],"keys":["Normal","Moderate","Severe"],"openmrs_choice_ids":{"Normal":"Normal","Moderate":"Moderate","Severe":"Severe"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Home Visit - Nutrition Status", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Nutrition status", + "fields": [ + { + "key": "nutrition_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_status", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, hali ya lishe ya mama ikoje?", + "values": [ + "Kawaida/Kijani", + "Wastani/Njano", + "Mbaya/Nyekundu" + ], + "keys": [ + "Normal", + "Moderate", + "Severe" + ], + "openmrs_choice_ids": { + "Normal": "Normal", + "Moderate": "Moderate", + "Severe": "Severe" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json index 23ba8e5812..5689e6603c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json @@ -1 +1,135 @@ -{"count":"1","encounter_type":"Home Visit - Obs and Illness","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Observations & Illness","fields":[{"key":"date_of_illness","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"date_of_illness","type":"date_picker","hint":"Tarehe","expanded":false,"min_date":"today-1y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya ugonjwa"}},{"key":"illness_description","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"illness_description","type":"edit_text","hint":"Maelezo","v_required":{"value":"true","err":"Tafadhali ingiza maelezo hayo"}},{"key":"action_taken","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"action_taken","type":"check_box","label":"Hatua iliyochukuliwa","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_ors","text":"ORS 5","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_ors"},{"key":"chk_zinc","text":"Zinc 10","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_zinc"},{"key":"chk_paracetamol","text":"Panadol","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_paracetamol"},{"key":"chk_referred","text":"Kupewa rufaa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_referred"},{"key":"chk_none","text":"Hakuna matibabu yaliyotolewa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Home Visit - Obs and Illness", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Observations & Illness", + "fields": [ + { + "key": "date_of_illness", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "date_of_illness", + "type": "date_picker", + "hint": "Tarehe", + "expanded": false, + "min_date": "today-1y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya ugonjwa" + } + }, + { + "key": "illness_description", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "illness_description", + "type": "edit_text", + "hint": "Maelezo", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza maelezo hayo" + } + }, + { + "key": "action_taken", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "action_taken", + "type": "check_box", + "label": "Hatua iliyochukuliwa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_ors", + "text": "ORS 5", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_ors" + }, + { + "key": "chk_zinc", + "text": "Zinc 10", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_zinc" + }, + { + "key": "chk_paracetamol", + "text": "Panadol", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_paracetamol" + }, + { + "key": "chk_referred", + "text": "Kupewa rufaa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_referred" + }, + { + "key": "chk_none", + "text": "Hakuna matibabu yaliyotolewa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_pregnancy_risk_form.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_pregnancy_risk_form.json index e188fead3e..f72532d3b3 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_pregnancy_risk_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_pregnancy_risk_form.json @@ -1 +1,97 @@ -{"count":"1","encounter_type":"Pregnancy risk","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Pregnancy risk","fields":[{"key":"preg_risk","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"preg_risk","type":"check_box","label":"Hatari ya ujauzito kwa mwanamke","label_text_style":"normal","text_color":"#C0C0C0","saveObsAsArray":true,"exclusive":["Low","Medium","High"],"options":[{"key":"Low","text":"Chini","value":false,"openmrs_entity":"concept","openmrs_entity_id":"Low"},{"key":"Medium","text":"Wastani","value":false,"openmrs_entity":"concept","openmrs_entity_id":"Medium"},{"key":"High","text":"Juu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"High"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau mojawapo"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Pregnancy risk", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Pregnancy risk", + "fields": [ + { + "key": "preg_risk", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_risk", + "type": "check_box", + "label": "Hatari ya ujauzito kwa mwanamke", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "saveObsAsArray": true, + "exclusive": [ + "Low", + "Medium", + "High" + ], + "options": [ + { + "key": "Low", + "text": "Chini", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "Low" + }, + { + "key": "Medium", + "text": "Wastani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "Medium" + }, + { + "key": "High", + "text": "Juu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "High" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau mojawapo" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json index f2a43b9937..92d63eebfc 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json @@ -1 +1,66 @@ -{"count":"1","encounter_type":"Home Visit - Remarks and comment","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Remarks/Comments","fields":[{"key":"chw_comment_anc","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"chw_comment_anc","type":"edit_text","hint":"Maoni","v_required":{"value":"false","err":"Tafadhali ingiza maoni yako"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Home Visit - Remarks and comment", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Remarks/Comments", + "fields": [ + { + "key": "chw_comment_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_comment_anc", + "type": "edit_text", + "hint": "Maoni", + "v_required": { + "value": "false", + "err": "Tafadhali ingiza maoni yako" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json index 8edb5c52dd..147abaf1ab 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json @@ -1 +1 @@ -{"count":"1","encounter_type":"ANC Registration","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"ANC Registration","fields":[{"key":"relational_id","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"relational_id","type":"hidden"},{"key":"last_menstrual_period","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_menstrual_period","type":"date_picker","hint":"Kipindi cha Mwisho cha Hedhi iliyo ya Kawaida (LNMP)","label_info_title":"LNMP","label_info_text":"LNMP = first day of Last Normal Menstrual Period. If the exact date is unknown, but the period of the month is known, use day 5 for beginning of the month, day 15 for middle of the month and day 25 for end of the month.","expanded":false,"max_date":"today","min_date":"today-50w","v_required":{"value":"true","err":"Tarehe ya mwisho ya hedhi ya kawaida"},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}}},{"key":"last_menstrual_period_unknown","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_menstrual_period_unknown","openmrs_data_type":"text","type":"check_box","options":[{"key":"lmp_unknown","text":"Kipindi cha Mwisho cha Hedhi ya Kawadia isiyojulikana","text_size":"18px","value":"false"}]},{"key":"edd","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"edd","type":"date_picker","hint":"Tarehe ya Kujifungua inayotarajiwa (EDD)","max_date":"today+50w","min_date":"today","calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"gest_age_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Umri wa ujauzito (GA)","read_only":true,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"edd_note","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"edit_text","hint":"Tarehe ya Kujifungua inayotarajiwa (EDD)","read_only":true,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"gest_age","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gest_age","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"no_prev_preg","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_prev_preg","type":"edit_text","edit_type":"number","hint":"Idadi ya mimba zilizopita","v_required":{"value":"true","err":"Sawa na au zaidi ya 0"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Number must be equal or greater than 0"},"v_min.err":"Namba lazima iwe sawa au zaidi ya 0"},{"key":"gravida","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gravida","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"delivery_method","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_method","type":"check_box","label":"Je, umejifungua mtoto/watoto wako kwa njia ya kawaida (kupitia uke) au kwa njia ya upasuaji?","label_text_style":"normal","text_color":"#C0C0C0","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"options":[{"key":"chk_vaginally","text":"Njia ya kawaida (kupiitia uke)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_vaginally"},{"key":"chk_cesarean_section","text":"Upasuaji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cesarean_section"},{"key":"chk_miscarriage","text":"Iliharibika","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_miscarriage"}],"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"delivery_method_one","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_method_one","type":"native_radio","label":"Je, umejifungua mtoto/watoto wako kwa njia ya kawaida (kupitia uke) au kwa njia ya upasuaji?","label_text_style":"normal","text_color":"#C0C0C0","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"options":[{"key":"chk_vaginally","text":"Njia ya kawaida (kupiitia uke)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_vaginally"},{"key":"chk_cesarean_section","text":"Upasuaji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cesarean_section"},{"key":"chk_miscarriage","text":"Iliharibika","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_miscarriage"}],"v_required":{"value":"true","err":"Tafadhali chagua zote zinazotumika"}},{"key":"no_surv_children","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_surv_children","type":"edit_text","edit_type":"number","hint":"Idadi ya watoto walio hai","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_relative_max":{"value":"no_prev_preg","err":"Number must be less than or equal to Number of Previous Pregnancies"}},{"key":"phone_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_number","type":"edit_text","hint":"Namba ya simu","v_numeric":{"value":"true","err":"Namba lazima iwe na jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Namba lazima iwe na tarakimu 10 na ianze na 0"},"v_required":{"value":false,"err":"Haijafafanuliwa"}},{"key":"person_assist","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"person_assist","openmrs_data_type":"select one","type":"spinner","hint":"Je, mama ana mtu yeyote, mwenye umri wa miaka 18 au zaidi, ambaye angeweza kumsaidia wakati wa ujauzito wake?","v_required":{"value":"true","err":"Tadhali chagua chaguo moja"},"values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"}},{"key":"name_person_assist","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"name_person_assist","type":"edit_text","hint":"Jina la mtu wa karibu/jamaa anayeishi naye na ana umri wa miaka 18 au zaidi","edit_type":"name","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Tafadhali ingiza jina la mtu huyo"}},{"key":"phone_person_assist","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_person_assist","type":"edit_text","hint":"Namba ya simu","v_required":{"value":false,"err":"Haijafafanuliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_numeric":{"value":"true","err":"Namba lazima iwe na jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Namba lazima iwe na tarakimu 10 na ianze na 0"}}]}} \ No newline at end of file +{"count":"1","encounter_type":"ANC Registration","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"ANC Registration","fields":[{"key":"relational_id","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"relational_id","type":"hidden"},{"key":"last_menstrual_period","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_menstrual_period","type":"date_picker","hint":"Kipindi cha Mwisho cha Hedhi iliyo ya Kawaida (LNMP)","label_info_title":"LNMP","label_info_text":"LNMP = first day of Last Normal Menstrual Period. If the exact date is unknown, but the period of the month is known, use day 5 for beginning of the month, day 15 for middle of the month and day 25 for end of the month.","expanded":false,"max_date":"today","min_date":"today-50w","v_required":{"value":"true","err":"Tarehe ya mwisho ya hedhi ya kawaida"},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}}},{"key":"last_menstrual_period_unknown","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_menstrual_period_unknown","openmrs_data_type":"text","type":"check_box","options":[{"key":"lmp_unknown","text":"Kipindi cha Mwisho cha Hedhi ya Kawadia isiyojulikana","text_size":"18px","value":"false"}]},{"key":"edd","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"edd","type":"date_picker","hint":"Tarehe ya Kujifungua inayotarajiwa (EDD)","max_date":"today+50w","min_date":"today","calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"gest_age_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Umri wa ujauzito (GA)","read_only":true,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"edd_note","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"edit_text","hint":"Tarehe ya Kujifungua inayotarajiwa (EDD)","read_only":true,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"gest_age","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gest_age","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"no_prev_preg","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_prev_preg","type":"edit_text","edit_type":"number","hint":"Idadi ya mimba zilizopita","v_required":{"value":"true","err":"Sawa na au zaidi ya 0"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Namba lazima iwe sawa au zaidi ya 0"}},{"key":"gravida","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gravida","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"delivery_method","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_method","type":"check_box","label":"Je, umejifungua mtoto/watoto wako kwa njia ya kawaida (kupitia uke) au kwa njia ya upasuaji?","label_text_style":"normal","text_color":"#C0C0C0","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"options":[{"key":"chk_vaginally","text":"Njia ya kawaida (kupiitia uke)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_vaginally"},{"key":"chk_cesarean_section","text":"Upasuaji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cesarean_section"},{"key":"chk_miscarriage","text":"Iliharibika","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_miscarriage"}],"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"delivery_method_one","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_method_one","type":"native_radio","label":"Je, umejifungua mtoto/watoto wako kwa njia ya kawaida (kupitia uke) au kwa njia ya upasuaji?","label_text_style":"normal","text_color":"#C0C0C0","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"options":[{"key":"chk_vaginally","text":"Njia ya kawaida (kupiitia uke)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_vaginally"},{"key":"chk_cesarean_section","text":"Upasuaji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cesarean_section"},{"key":"chk_miscarriage","text":"Iliharibika","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_miscarriage"}],"v_required":{"value":"true","err":"Tafadhali chagua zote zinazotumika"}},{"key":"no_surv_children","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_surv_children","type":"edit_text","edit_type":"number","hint":"Idadi ya watoto walio hai","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_relative_max":{"value":"no_prev_preg","err":"Number must be less than or equal to Number of Previous Pregnancies"}},{"key":"phone_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_number","type":"edit_text","hint":"Namba ya simu","v_numeric":{"value":"true","err":"Namba lazima iwe na jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Namba lazima iwe na tarakimu 10 na ianze na 0"},"v_required":{"value":false,"err":"Haijafafanuliwa"}},{"key":"person_assist","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"person_assist","openmrs_data_type":"select one","type":"spinner","hint":"Je, mama ana mtu yeyote, mwenye umri wa miaka 18 au zaidi, ambaye angeweza kumsaidia wakati wa ujauzito wake?","v_required":{"value":"true","err":"Tadhali chagua chaguo moja"},"values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"}},{"key":"name_person_assist","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"name_person_assist","type":"edit_text","hint":"Jina la mtu wa karibu/jamaa anayeishi naye na ana umri wa miaka 18 au zaidi","edit_type":"name","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Tafadhali ingiza jina la mtu huyo"}},{"key":"phone_person_assist","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_person_assist","type":"edit_text","hint":"Namba ya simu","v_required":{"value":false,"err":"Haijafafanuliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_numeric":{"value":"true","err":"Namba lazima iwe na jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Namba lazima iwe na tarakimu 10 na ianze na 0"}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json index 1161632437..e994fccc5f 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json @@ -1 +1,558 @@ -{"validate_on_submit":true,"show_errors_on_submit":false,"count":"1","encounter_type":"Pregnancy Outcome","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Pregnancy Outcome","fields":[{"key":"relational_id","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"relational_id","type":"hidden"},{"key":"preg_outcome","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"preg_outcome","type":"native_radio","label":"Matokeo ya ujauzito","label_text_style":"bold","text_color":"#000000","options":[{"key":"born_alive","text":"Mtoto alizaliwa akiwa hai","value":false,"openmrs_entity":"concept","openmrs_entity_id":"born_alive","openmrs_entity_parent":""},{"key":"born_alive_died","text":"Mtoto alizaliwa akiwa hai, lakini akafa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"born_alive_died","openmrs_entity_parent":""},{"key":"still_born","text":"Mtoto alizaliwa mfu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"still_born","openmrs_entity_parent":""},{"key":"alive_with_problem","text":"Mtoto alizaliwa akiwa hai, lakini wana tatizo (yaani ulemavu, matatizo ya kupumua, n.k.)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"alive_with_problem","openmrs_entity_parent":""},{"key":"miscarriage","text":"Iliharibika","value":false,"openmrs_entity":"concept","openmrs_entity_id":"miscarriage","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Tafadhali chagua matokeo ya ujauzito"}},{"key":"miscarriage_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"miscarriage_date","type":"date_picker","hint":"Tarehe ya kuharibika kwa mimba","expanded":false,"max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kuharibika kwa mimba ya mwanamke"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}}},{"key":"delivery_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_date","type":"date_picker","hint":"Tarehe ya kujifungua","expanded":false,"max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kujifungua kwa mwanamke huyo"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}}},{"key":"no_children","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_children","type":"hidden"},{"key":"delivery_place","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_place","openmrs_data_type":"select one","type":"spinner","hint":"Mahali ambapo mama alijifungulia","values":["Nyumbani","Katika kituo cha afya","Njiani kuelekea kituo cha afya","Nyingine"],"keys":["At home","At a health facility","On the way to the health facility","Other"],"openmrs_choice_ids":{"At home":"At home","At a health facility":"At a health facility","On the way to the health facility":"On the way to the health facility","Other":"Other"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}}},{"key":"delivery_home","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_home","type":"native_radio","label":"Nani alimsaidia mama kujifungua nyumbani?","label_text_style":"bold","text_color":"#C0C0C0","v_required":{"value":"true","err":"Tafadhali chagua"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}},"options":[{"key":"gave_birth_alone","text":"Alijifungua nyumbani peke yake","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gave_birth_alone"},{"key":"gave_birth_with_help","text":"Alijifungulia nyumbani kwa msaada wa mwanafamilia/rafiki/jirani","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gave_birth_with_help"},{"key":"midwife_help","text":"Alijifungulia nyumbani kwa msaada wa mkunga wa jadi","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"midwife_help"}]},{"key":"delivery_hf","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_hf","type":"native_radio","label":"Mama alijifungua katika kituo cha afya. Nani aliongozana na mama hadi kituo cha afya?","label_text_style":"bold","text_color":"#C0C0C0","v_required":{"value":"true","err":"Tafadhali cchagua"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}},"options":[{"key":"facility_family_member","text":"Alijifungua katika kituo cha afya, na alisindikizwa na wanafamilia.","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"facility_family_member"},{"key":"facility_midwife","text":"Alijifungua katika kituo cha afya, na alisindikizwa na mkunga wa jadi","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"facility_midwife"},{"key":"alone","text":"Alijifungua katika kituo cha afya, na alikuja peke yake","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"alone"},{"key":"other_pple","text":"Alijifungua katika kituo cha afya, na alisindikizwa na watu wengine","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"other_pple"},{"key":"other_chw","text":"Alijifungua katika kituo cha afya, na aliandamana na mfanyakazi wa afya ya jamii (CHW)","value":false,"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"other_chw"}]},{"key":"baby_label","type":"label","text":"BABY DETAILS","left_padding":"20dp","right_padding":"20dp","text_size":"7sp","text_color":"#000000","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}}},{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fam_name","type":"hidden"},{"key":"no_children_no","type":"repeating_group","reference_edit_text_hint":"Number of children born alive","repeating_group_label":"Baby Details #","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","repeating_group_max":"10","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_pregnancy_outcome_relevance.yml"}}},"value":[{"key":"surname","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Surname","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*","err":"Please enter a valid name"},"v_required":{"value":"true","err":"Please enter the surname"},"relevance":{"rules-engine":{"ex-rules":{"rules-dynamic":"anc_pregnancy_outcome_relevance.yml"}}}},{"key":"same_as_fam_name_chk","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"text","type":"check_box","options":[{"key":"same_as_fam_name","text":"Surname same as family name","text_size":"18px","value":"false"}]},{"key":"first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"First name","edit_type":"name","v_required":{"value":"true","err":"Please enter the first name"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*","err":"Please enter a valid name"}},{"key":"middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","type":"edit_text","hint":"Middle name","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*","err":"Please enter a valid name"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdate","type":"hidden"},{"key":"gender","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"gender","type":"spinner","hint":"Sex","values":["Male","Female"],"keys":["Male","Female"],"v_required":{"value":"true","err":"Gender required"}},{"key":"disabilities","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"disabilities","type":"spinner","hint":"Physical disabilities","values":["Yes","No"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Required"}},{"key":"type_of_disability","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"type_of_disability","type":"edit_text","hint":"Type of physical disabilities","edit_type":"name","relevance":{"rules-engine":{"ex-rules":{"rules-dynamic":"anc_pregnancy_outcome_relevance.yml"}}}},{"key":"early_bf_1hr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"early_bf_1hr","type":"spinner","hint":"Early initiation of breastfeeding (1 hr)?","values":["Yes","No"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"}},{"key":"vacc_birth","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"vacc_birth","type":"check_box","label":"Which vaccinations were given?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_none","text":"None","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"},{"key":"chk_opv_0","text":"OPV 0","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_opv_0"},{"key":"chk_bcg","text":"BCG","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_bcg"}],"v_required":{"value":"true","err":"vaccinations given required"}}]}]}} \ No newline at end of file +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "1", + "encounter_type": "Pregnancy Outcome", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Pregnancy Outcome", + "fields": [ + { + "key": "relational_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "relational_id", + "type": "hidden" + }, + { + "key": "preg_outcome", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_outcome", + "type": "native_radio", + "label": "Matokeo ya ujauzito", + "label_text_style": "bold", + "text_color": "#000000", + "options": [ + { + "key": "born_alive", + "text": "Mtoto alizaliwa akiwa hai", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "born_alive", + "openmrs_entity_parent": "" + }, + { + "key": "born_alive_died", + "text": "Mtoto alizaliwa akiwa hai, lakini akafa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "born_alive_died", + "openmrs_entity_parent": "" + }, + { + "key": "still_born", + "text": "Mtoto alizaliwa mfu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "still_born", + "openmrs_entity_parent": "" + }, + { + "key": "alive_with_problem", + "text": "Mtoto alizaliwa akiwa hai, lakini wana tatizo (yaani ulemavu, matatizo ya kupumua, n.k.)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "alive_with_problem", + "openmrs_entity_parent": "" + }, + { + "key": "miscarriage", + "text": "Iliharibika", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "miscarriage", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua matokeo ya ujauzito" + } + }, + { + "key": "miscarriage_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "miscarriage_date", + "type": "date_picker", + "hint": "Tarehe ya kuharibika kwa mimba", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya kuharibika kwa mimba ya mwanamke" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "delivery_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_date", + "type": "date_picker", + "hint": "Tarehe ya kujifungua", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya kujifungua kwa mwanamke huyo" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "no_children", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_children", + "type": "hidden" + }, + { + "key": "delivery_place", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_place", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Mahali ambapo mama alijifungulia", + "values": [ + "Nyumbani", + "Katika kituo cha afya", + "Njiani kuelekea kituo cha afya", + "Nyingine" + ], + "keys": [ + "At home", + "At a health facility", + "On the way to the health facility", + "Other" + ], + "openmrs_choice_ids": { + "At home": "At home", + "At a health facility": "At a health facility", + "On the way to the health facility": "On the way to the health facility", + "Other": "Other" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "delivery_home", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_home", + "type": "native_radio", + "label": "Nani alimsaidia mama kujifungua nyumbani?", + "label_text_style": "bold", + "text_color": "#C0C0C0", + "v_required": { + "value": "true", + "err": "Tafadhali chagua" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + }, + "options": [ + { + "key": "gave_birth_alone", + "text": "Alijifungua nyumbani peke yake", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gave_birth_alone" + }, + { + "key": "gave_birth_with_help", + "text": "Alijifungulia nyumbani kwa msaada wa mwanafamilia/rafiki/jirani", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gave_birth_with_help" + }, + { + "key": "midwife_help", + "text": "Alijifungulia nyumbani kwa msaada wa mkunga wa jadi", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "midwife_help" + } + ] + }, + { + "key": "delivery_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_hf", + "type": "native_radio", + "label": "Mama alijifungua katika kituo cha afya. Nani aliongozana na mama hadi kituo cha afya?", + "label_text_style": "bold", + "text_color": "#C0C0C0", + "v_required": { + "value": "true", + "err": "Tafadhali cchagua" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + }, + "options": [ + { + "key": "facility_family_member", + "text": "Alijifungua katika kituo cha afya, na alisindikizwa na wanafamilia.", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "facility_family_member" + }, + { + "key": "facility_midwife", + "text": "Alijifungua katika kituo cha afya, na alisindikizwa na mkunga wa jadi", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "facility_midwife" + }, + { + "key": "alone", + "text": "Alijifungua katika kituo cha afya, na alikuja peke yake", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "alone" + }, + { + "key": "other_pple", + "text": "Alijifungua katika kituo cha afya, na alisindikizwa na watu wengine", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_pple" + }, + { + "key": "other_chw", + "text": "Alijifungua katika kituo cha afya, na aliandamana na mfanyakazi wa afya ya jamii (CHW)", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_chw" + } + ] + }, + { + "key": "baby_label", + "type": "label", + "text": "BABY DETAILS", + "left_padding": "20dp", + "right_padding": "20dp", + "text_size": "7sp", + "text_color": "#000000", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fam_name", + "type": "hidden" + }, + { + "key": "no_children_no", + "type": "repeating_group", + "reference_edit_text_hint": "Number of children born alive", + "repeating_group_label": "Baby Details #", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "repeating_group_max": "10", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + }, + "value": [ + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Surname", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the surname" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-dynamic": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "same_as_fam_name_chk", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "text", + "type": "check_box", + "options": [ + { + "key": "same_as_fam_name", + "text": "Surname same as family name", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Middle name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "hidden" + }, + { + "key": "gender", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Gender required" + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Physical disabilities", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "edit_text", + "hint": "Type of physical disabilities", + "edit_type": "name", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-dynamic": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "early_bf_1hr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "early_bf_1hr", + "type": "spinner", + "hint": "Early initiation of breastfeeding (1 hr)?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + } + }, + { + "key": "vacc_birth", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "vacc_birth", + "type": "check_box", + "label": "Which vaccinations were given?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + }, + { + "key": "chk_opv_0", + "text": "OPV 0", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_opv_0" + }, + { + "key": "chk_bcg", + "text": "BCG", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_bcg" + } + ], + "v_required": { + "value": "true", + "err": "vaccinations given required" + } + } + ] + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_referral_form.json index 230cf4f007..b62683de5d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_referral_form.json @@ -1 +1,421 @@ -{"count":"1","encounter_type":"ANC Referral","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"ANC referral form","fields":[{"key":"chw_referral_hf_anc","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_referral_calculation.yml"}}}},{"key":"problem_hf_anc","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Hali ya mteja / tatizo","label_text_style":"bold","options":[{"key":"Vaginal_bleeding","text":"Kutokwa na damu ukeni","value":false,"openmrs_entity":"","openmrs_entity_id":"147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell","text":"Kutokwa na majimaji yenye rangirangi na harufu mbaya","value":false,"openmrs_entity":"","openmrs_entity_id":"123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"High_blood_pressure","text":"Shinikizo la damu","value":false,"openmrs_entity":"","openmrs_entity_id":"113088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_anaemia","text":"upungufu mkali wa damu","value":false,"openmrs_entity":"","openmrs_entity_id":"162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Convulsions","text":"Degedege","value":false,"openmrs_entity":"","openmrs_entity_id":"113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"No_movement_unusual_movement_for_a_child_in_the_womb","text":"Hamna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni","value":false,"openmrs_entity":"","openmrs_entity_id":"113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Pregnancy_pains_before_9_months","text":"Maumivu ya ujauzito kabla ya miezi 9","value":false,"openmrs_entity":"","openmrs_entity_id":"153316AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Early_age_pregnancy_below_18_years","text":"Mimba ya umri mdogo (chini ya miaka 18)","value":false,"openmrs_entity":"","openmrs_entity_id":"163119AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"A_severe_headache_dizziness","text":"Maumivu makali ya kichwa / kizunguzungu","value":false,"openmrs_entity":"","openmrs_entity_id":"139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Swelling_of_the_face_andor_hands","text":"Kuvimba kwa uso na/au mikono","value":false,"openmrs_entity":"","openmrs_entity_id":"460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fever","text":"Homa","value":false,"openmrs_entity":"","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Shivering_trembling","text":"Kutetemeka","value":false,"openmrs_entity":"","openmrs_entity_id":"158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Nausea_and_Vomiting","text":"Kichefuchefu na kutapika","value":false,"openmrs_entity":"","openmrs_entity_id":"133473AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Water_sack_broke_before_contractions","text":"Maji ya uzazi kupasuka kabla ya mikazo","value":false,"openmrs_entity":"","openmrs_entity_id":"129211AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Cord_prolapse","text":"Kutokwa kwa kamba ya uzazi nje ya uke","value":false,"openmrs_entity":"","openmrs_entity_id":"128419AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"HIV_care_and_support_services","text":"Huduma za matunzo na usaidizi wa VVU","value":false,"openmrs_entity":"","openmrs_entity_id":"159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Family_planning_services","text":"Huduma za uzazi wa mpango","value":false,"openmrs_entity":"","openmrs_entity_id":"5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"PMTCT_for_mothers","text":"PMTCT kwa akina mama","value":false,"openmrs_entity":"","openmrs_entity_id":"160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fistula","text":"Fistula","value":false,"openmrs_entity":"","openmrs_entity_id":"160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Difficultly_breathing","text":"Kupumua kwa shida","value":false,"openmrs_entity":"","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Breast_engorgement","text":"Kuvimba kwa matiti","value":false,"openmrs_entity":"","openmrs_entity_id":"118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Blurred_vision","text":"Uoni hafifu","value":false,"openmrs_entity":"","openmrs_entity_id":"147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Perineum_tear","text":"Kupasuka kwa msamba","value":false,"openmrs_entity":"","openmrs_entity_id":"136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Pregnancy_confirmation","text":"Kuthibitisha ujauzito","value":false,"openmrs_entity":"","openmrs_entity_id":"152305AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_symptoms","text":"Dalili zingine","value":false,"ignore":true,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":true,"err":"Tafadhali bainisha sababu ya rufaa ya ANC"}},{"key":"problem_hf_anc_other","type":"edit_text","openmrs_entity":"","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","edit_type":"name","hint":"Dalili zingine","v_required":{"value":"true","err":"Tafadhali bainisha dalili nyingine"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_referral_relevance.yml"}}}},{"key":"service_before_anc","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","is_problem":false,"label":"Usimamizi wa kabla ya kutoa rufaa uliopewa","label_text_style":"bold","exclusive":["None"],"options":[{"key":"ORS","text":"ORS","value":false,"openmrs_entity":"","openmrs_entity_id":"351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Panadol","text":"Panadol","value":false,"openmrs_entity":"","openmrs_entity_id":"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_treatment","text":"Matibabu mengine","value":false,"ignore":true,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"HaKuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Sehemu ya usimamizi kabla ya ktutoa rufaa inahitajika"}},{"key":"service_before_anc_other","type":"edit_text","openmrs_entity":"","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","is_problem":false,"edit_type":"name","hint":"Other treatment","v_required":{"value":"true","err":"Please specify other treatment"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_referral_relevance.yml"}}}},{"key":"referral_date_anc","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_referral_calculation.yml"}}}},{"key":"referral_time_anc","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_referral_calculation.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "ANC Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "ANC referral form", + "fields": [ + { + "key": "chw_referral_hf_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_calculation.yml" + } + } + } + }, + { + "key": "problem_hf_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Hali ya mteja / tatizo", + "label_text_style": "bold", + "options": [ + { + "key": "Vaginal_bleeding", + "text": "Kutokwa na damu ukeni", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", + "text": "Kutokwa na majimaji yenye rangirangi na harufu mbaya", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "High_blood_pressure", + "text": "Shinikizo la damu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_anaemia", + "text": "upungufu mkali wa damu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "No_movement_unusual_movement_for_a_child_in_the_womb", + "text": "Hamna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pregnancy_pains_before_9_months", + "text": "Maumivu ya ujauzito kabla ya miezi 9", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "153316AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Early_age_pregnancy_below_18_years", + "text": "Mimba ya umri mdogo (chini ya miaka 18)", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "163119AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "A_severe_headache_dizziness", + "text": "Maumivu makali ya kichwa / kizunguzungu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Swelling_of_the_face_andor_hands", + "text": "Kuvimba kwa uso na/au mikono", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fever", + "text": "Homa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Shivering_trembling", + "text": "Kutetemeka", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Nausea_and_Vomiting", + "text": "Kichefuchefu na kutapika", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "133473AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Water_sack_broke_before_contractions", + "text": "Maji ya uzazi kupasuka kabla ya mikazo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "129211AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cord_prolapse", + "text": "Kutokwa kwa kamba ya uzazi nje ya uke", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "128419AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "HIV_care_and_support_services", + "text": "Huduma za matunzo na usaidizi wa VVU", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Family_planning_services", + "text": "Huduma za uzazi wa mpango", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "PMTCT_for_mothers", + "text": "PMTCT kwa akina mama", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fistula", + "text": "Fistula", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Difficultly_breathing", + "text": "Kupumua kwa shida", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Breast_engorgement", + "text": "Kuvimba kwa matiti", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Blurred_vision", + "text": "Uoni hafifu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Perineum_tear", + "text": "Kupasuka kwa msamba", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pregnancy_confirmation", + "text": "Kuthibitisha ujauzito", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "152305AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_symptoms", + "text": "Dalili zingine", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": true, + "err": "Tafadhali bainisha sababu ya rufaa ya ANC" + } + }, + { + "key": "problem_hf_anc_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "edit_type": "name", + "hint": "Dalili zingine", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha dalili nyingine" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_relevance.yml" + } + } + } + }, + { + "key": "service_before_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "is_problem": false, + "label": "Usimamizi wa kabla ya kutoa rufaa uliopewa", + "label_text_style": "bold", + "exclusive": [ + "None" + ], + "options": [ + { + "key": "ORS", + "text": "ORS", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Panadol", + "text": "Panadol", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_treatment", + "text": "Matibabu mengine", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "HaKuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Sehemu ya usimamizi kabla ya ktutoa rufaa inahitajika" + } + }, + { + "key": "service_before_anc_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "is_problem": false, + "edit_type": "name", + "hint": "Other treatment", + "v_required": { + "value": "true", + "err": "Please specify other treatment" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_relevance.yml" + } + } + } + }, + { + "key": "referral_date_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/birth_certification.json b/opensrp-chw/src/ba/assets/json.form-sw/birth_certification.json index ff798b9880..6c4cda2d28 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/birth_certification.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/birth_certification.json @@ -1 +1,183 @@ -{"count":"1","encounter_type":"Birth Certification","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Birth Certification","fields":[{"key":"birth_cert","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Mtoto ana cheti cha kuzaliwa?","values":["Ndiyo","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":true,"err":"Tafadhali chagua chaguo"}},{"key":"birth_cert_issue_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164129AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya kutoa cheti cha kuzaliwa","expanded":false,"max_date":"today","min_date":"","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kutoa cheti cha kuzaliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"birth_certification.yml"}}}},{"key":"birth_cert_num","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"162052AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"edit_text","hint":"Namba ya cheti cha kuzaliwa","v_required":{"value":"true","err":"Tafadhali ingiza namba"},"v_numeric":{"value":"true","err":"Namba lazima iwe tarakimu 15 au pungufu ya hapo"},"v_regex":{"value":"([0-9]{1,15})|\\s*","err":"Namba lazima iwe tarakimu 15 au pungufu ya hapo"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"birth_certification.yml"}}}},{"key":"birth_notification","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"165405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Je, arifa ya kuzaliwa ilifanywa?","values":["Ndiyo","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":false,"err":"Tafadhali chagua chaguo"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"birth_certification.yml"}}}},{"key":"birthinstroductions","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","text":"Ask to see the birth notification and instruct the caregiver to register the birth at County Health.","relevance":{"rules-engine":{"ex-rules":{"rules-file":"birth_certification.yml"}}}},{"key":"caregiverinstroductions","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","text":"Instruct the caregiver to have the birth registered at County Health.","relevance":{"rules-engine":{"ex-rules":{"rules-file":"birth_certification.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Birth Certification", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Birth Certification", + "fields": [ + { + "key": "birth_cert", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Mtoto ana cheti cha kuzaliwa?", + "values": [ + "Ndiyo", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": true, + "err": "Tafadhali chagua chaguo" + } + }, + { + "key": "birth_cert_issue_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164129AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe ya kutoa cheti cha kuzaliwa", + "expanded": false, + "max_date": "today", + "min_date": "", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya kutoa cheti cha kuzaliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + }, + { + "key": "birth_cert_num", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "162052AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Namba ya cheti cha kuzaliwa", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza namba" + }, + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe tarakimu 15 au pungufu ya hapo" + }, + "v_regex": { + "value": "([0-9]{1,15})|\\s*", + "err": "Namba lazima iwe tarakimu 15 au pungufu ya hapo" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + }, + { + "key": "birth_notification", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, arifa ya kuzaliwa ilifanywa?", + "values": [ + "Ndiyo", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": false, + "err": "Tafadhali chagua chaguo" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + }, + { + "key": "birthinstroductions", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "Ask to see the birth notification and instruct the caregiver to register the birth at County Health.", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + }, + { + "key": "caregiverinstroductions", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "Instruct the caregiver to have the birth registered at County Health.", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index 8d02caf36d..91e5d9871a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -1 +1 @@ -{"count":"1","encounter_type":"Child Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Add Child Under 5 years","fields":[{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","type":"edit_text","read_only":true,"hint":"Namba ya utambulisho ya WAJA","v_numeric":{"value":"true","err":"Tafadhali ingiza namba ya kitambulisho sahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza namba namba ya kipekee ya kitambulisho"}},{"key":"surname","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Jina la mwisho","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza jina la mwisho"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"same_as_fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"text","type":"check_box","label":"","exclusive":["none"],"options":[{"key":"same_as_fam_name","text":"Jina la mwisho sawa na jina la familia","text_size":"18px","value":"false"}]},{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","hidden":"true"},{"key":"surname_calculation","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"last_name","type":"hidden","hint":"Surname as Family name","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family-child-calculation.yml"}}}},{"key":"first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","openmrs_data_type":"text","type":"edit_text","hint":"Jina la kwanza","expanded":false,"edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kwanza"},"v_regex":{"value":"[A-Za-z\\s\\-\\']*","err":"Tafadhali ingiza jina sahihi"}},{"key":"middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","openmrs_data_type":"text","type":"edit_text","hint":"Jina la katiT","expanded":false,"edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kati"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdate","type":"date_picker","hint":"Tarehe ya kuzaliwa","expanded":false,"duration":{"label":"Age"},"min_date":"today-5y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kuzaliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"dob_unknown","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdateApprox","hidden":"false","type":"check_box","label":"","options":[{"key":"dob_unknown","text":"Tarehe ya kuzaliwa haijulikani","text_size":"18px","value":"false"}],"relevance":{"step1:dob":{"type":"string","ex":"equalTo(.,\"\")"}}},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"age","type":"edit_text","hint":"Umri","v_numeric":{"value":"true","err":""},"v_min":{"value":"0","err":"Age must be equal or greater than 0"},"v_max":{"value":"5","err":"Age must be equal or less than 5"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}},"v_required":{"value":true,"err":"Tafadhali ingiza umri"},"v_min.err":"Umri lazima uwe sawa au zaidi ya 0","v_max.err":"Umri ni lazima uwe sawa au chini ya 5"},{"key":"insurance_provider","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"insurance_provider","type":"spinner","hint":"Mtoa huduma ya bima ya afya","values":["Mfuko wa Afya ya Jamii (CHF)/(iCHF)","Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)","Mfuko wa Taifa wa Bima ya Afya (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Nyingine","Hakuna"],"keys":["Community Health Fund (CHF)","National Social Security Fund - Social Health Insurance Benefit (SHIB)","National Health Insurance Fund (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Other","None"],"openmrs_choice_ids":{"Community Health Fund (CHF)":"Community_Health_Fund","National Social Security Fund - Social Health Insurance Benefit (SHIB)":"National_Social_Security_Fund","National Health Insurance Fund (NHIF)":"National_Health_Insurance_Fund","Tiba Kwa Kadi (TIKA)":"Tiba_kwa_Kadi","AAR Healthcare":"AAR_Healthcare","AAR Strategies Insurance":"Strategies_Insurance","Milvik Tanzania Ltd (BIMA Mkononi)":"BIMA_Mkononi","Britam Insurance Tanzania":"Britam_Insurance_Tanzania","Jubilee Insurance":"Jubilee_Insurance","Resolutions Insurance":"Resolutions_Insurance","Reliance Insurance":"Reliance_Insurance","Other":"Other_Health_Insurance_Type","None":"No_Health_Insurance"},"v_required":{"value":"true","err":"Tafadhali ingiza mtoa huduma ya bima"}},{"key":"insurance_provider_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Health_Insurance_Type","type":"edit_text","hint":"Mtoa huduma mwingine wa bima ya afya","v_required":{"value":"true","err":"Tafadhali ingiza mtoa huduma ya bima"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"insurance_provider_number","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Number","type":"edit_text","hint":"Namba ya mtoa huduma wa bima ya afya","v_required":{"value":"true","err":"Tafadhali ongeza namba ya kitambulisho ya mtoa huduma wa bima ya afya"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"gender","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"gender","type":"spinner","hint":"Jinsia","values":["Kiume","Kike"],"keys":["Male","Female"],"v_required":{"value":"true","err":"Tafadhali ingiza jinsia"}},{"key":"disabilities","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"disabilities","type":"spinner","hint":"Ulemavu wa kimwili","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali ingiza moja"}},{"key":"type_of_disability","openmrs_entity_parent":"disabilities","openmrs_entity":"concept","openmrs_entity_id":"type_of_disability","type":"check_box","label":"Aina ya ulemavu wa kimwili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"physical_impairments","text":"Uhamaji na Ulemavu wa Kimwili","value":false,"openmrs_entity":"concept","openmrs_entity_id":"physical_impairments"},{"key":"spinal_cord_disability","text":"Ulemavu wa Uti wa Mgongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"spinal_cord_disability"},{"key":"brain_disability","text":"Majeraha ya Kichwa - Ulemavu wa Ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"brain_disability"},{"key":"vision_disability","text":"Ulemavu wa Kuona","value":false,"openmrs_entity":"concept","openmrs_entity_id":"vision_disability"},{"key":"hearing_disability","text":"Ulemavu wa Kusikia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"hearing_disability"},{"key":"learning_disabilities","text":"Ulemavu wa Utambuzi au Kujifunza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"learning_disabilities"},{"key":"psychological_disorders","text":"Matatizo ya Kisaikolojia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"psychological_disorders"},{"key":"invisible_disabilities","text":"Ulemavu Usioonekana","value":false,"openmrs_entity":"concept","openmrs_entity_id":"invisible_disabilities"}],"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}},"v_required":{"value":true,"err":"Tafadhali ingiza aina ya ulemavu wa kimwili"}},{"key":"birth_cert_available","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"birth_cert_available","type":"spinner","hint":"Usajili/cheti cha kuzaliwa","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"birth_regist_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"birth_regist_number","type":"edit_text","hint":"Namba ya usajili wa kuzaliwa","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"rhc_card","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"rhc_card","type":"spinner","hint":"Je, mtoto ana kadi ya RCH 1/kijitabu cha ukuaji wa mtoto?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"}},{"key":"nutrition_status","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"nutrition_status","type":"spinner","hint":"Hali ya lishe","values":["Kijani","Kijivu/Njano","Nyekundu"],"keys":["Green","Grey","Red"],"openmrs_choice_ids":{"Green":"Green","Grey":"Grey","Red":"Red"},"v_required":{"value":"true","err":"Tafadhali ingiza hali ya lishe ya mtoto"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}}]}} \ No newline at end of file +{"count":"1","encounter_type":"Child Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Add Child Under 5 years","fields":[{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","type":"edit_text","read_only":true,"hint":"Namba ya utambulisho ya WAJA","v_numeric":{"value":"true","err":"Tafadhali ingiza namba ya kitambulisho sahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza namba namba ya kipekee ya kitambulisho"}},{"key":"surname","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Jina la mwisho","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza jina la mwisho"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"same_as_fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"text","type":"check_box","label":"","exclusive":["none"],"options":[{"key":"same_as_fam_name","text":"Jina la mwisho sawa na jina la familia","text_size":"18px","value":"false"}]},{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","hidden":"true"},{"key":"surname_calculation","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"last_name","type":"hidden","hint":"Surname as Family name","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family-child-calculation.yml"}}}},{"key":"first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","openmrs_data_type":"text","type":"edit_text","hint":"Jina la kwanza","expanded":false,"edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kwanza"},"v_regex":{"value":"[A-Za-z\\s\\-\\']*","err":"Tafadhali ingiza jina sahihi"}},{"key":"middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","openmrs_data_type":"text","type":"edit_text","hint":"Jina la katiT","expanded":false,"edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kati"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdate","type":"date_picker","hint":"Tarehe ya kuzaliwa","expanded":false,"duration":{"label":"Age"},"min_date":"today-5y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kuzaliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"dob_unknown","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdateApprox","hidden":"false","type":"check_box","label":"","options":[{"key":"dob_unknown","text":"Tarehe ya kuzaliwa haijulikani","text_size":"18px","value":"false"}],"relevance":{"step1:dob":{"type":"string","ex":"equalTo(.,\"\")"}}},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"age","type":"edit_text","hint":"Umri","v_numeric":{"value":"true","err":""},"v_min":{"value":"0","err":"Umri lazima uwe sawa au zaidi ya 0"},"v_max":{"value":"5","err":"Umri ni lazima uwe sawa au chini ya 5"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}},"v_required":{"value":true,"err":"Tafadhali ingiza umri"}},{"key":"insurance_provider","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"insurance_provider","type":"spinner","hint":"Mtoa huduma ya bima ya afya","values":["Mfuko wa Afya ya Jamii (CHF)/(iCHF)","Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)","Mfuko wa Taifa wa Bima ya Afya (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Nyingine","Hakuna"],"keys":["Community Health Fund (CHF)","National Social Security Fund - Social Health Insurance Benefit (SHIB)","National Health Insurance Fund (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Other","None"],"openmrs_choice_ids":{"Community Health Fund (CHF)":"Community_Health_Fund","National Social Security Fund - Social Health Insurance Benefit (SHIB)":"National_Social_Security_Fund","National Health Insurance Fund (NHIF)":"National_Health_Insurance_Fund","Tiba Kwa Kadi (TIKA)":"Tiba_kwa_Kadi","AAR Healthcare":"AAR_Healthcare","AAR Strategies Insurance":"Strategies_Insurance","Milvik Tanzania Ltd (BIMA Mkononi)":"BIMA_Mkononi","Britam Insurance Tanzania":"Britam_Insurance_Tanzania","Jubilee Insurance":"Jubilee_Insurance","Resolutions Insurance":"Resolutions_Insurance","Reliance Insurance":"Reliance_Insurance","Other":"Other_Health_Insurance_Type","None":"No_Health_Insurance"},"v_required":{"value":"true","err":"Tafadhali ingiza mtoa huduma ya bima"}},{"key":"insurance_provider_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Health_Insurance_Type","type":"edit_text","hint":"Mtoa huduma mwingine wa bima ya afya","v_required":{"value":"true","err":"Tafadhali ingiza mtoa huduma ya bima"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"insurance_provider_number","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Number","type":"edit_text","hint":"Namba ya mtoa huduma wa bima ya afya","v_required":{"value":"true","err":"Tafadhali ongeza namba ya kitambulisho ya mtoa huduma wa bima ya afya"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"gender","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"gender","type":"spinner","hint":"Jinsia","values":["Kiume","Kike"],"keys":["Male","Female"],"v_required":{"value":"true","err":"Tafadhali ingiza jinsia"}},{"key":"disabilities","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"disabilities","type":"spinner","hint":"Ulemavu wa kimwili","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali ingiza moja"}},{"key":"type_of_disability","openmrs_entity_parent":"disabilities","openmrs_entity":"concept","openmrs_entity_id":"type_of_disability","type":"check_box","label":"Aina ya ulemavu wa kimwili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"physical_impairments","text":"Uhamaji na Ulemavu wa Kimwili","value":false,"openmrs_entity":"concept","openmrs_entity_id":"physical_impairments"},{"key":"spinal_cord_disability","text":"Ulemavu wa Uti wa Mgongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"spinal_cord_disability"},{"key":"brain_disability","text":"Majeraha ya Kichwa - Ulemavu wa Ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"brain_disability"},{"key":"vision_disability","text":"Ulemavu wa Kuona","value":false,"openmrs_entity":"concept","openmrs_entity_id":"vision_disability"},{"key":"hearing_disability","text":"Ulemavu wa Kusikia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"hearing_disability"},{"key":"learning_disabilities","text":"Ulemavu wa Utambuzi au Kujifunza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"learning_disabilities"},{"key":"psychological_disorders","text":"Matatizo ya Kisaikolojia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"psychological_disorders"},{"key":"invisible_disabilities","text":"Ulemavu Usioonekana","value":false,"openmrs_entity":"concept","openmrs_entity_id":"invisible_disabilities"}],"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}},"v_required":{"value":true,"err":"Tafadhali ingiza aina ya ulemavu wa kimwili"}},{"key":"birth_cert_available","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"birth_cert_available","type":"spinner","hint":"Usajili/cheti cha kuzaliwa","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"birth_regist_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"birth_regist_number","type":"edit_text","hint":"Namba ya usajili wa kuzaliwa","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"rhc_card","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"rhc_card","type":"spinner","hint":"Je, mtoto ana kadi ya RCH 1/kijitabu cha ukuaji wa mtoto?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"}},{"key":"nutrition_status","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"nutrition_status","type":"spinner","hint":"Hali ya lishe","values":["Kijani","Kijivu/Njano","Nyekundu"],"keys":["Green","Grey","Red"],"openmrs_choice_ids":{"Green":"Green","Grey":"Grey","Red":"Red"},"v_required":{"value":"true","err":"Tafadhali ingiza hali ya lishe ya mtoto"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_deworming.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_deworming.json index 9fc2cba804..db7272f377 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_deworming.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_deworming.json @@ -1 +1,69 @@ -{"count":"1","encounter_type":"De-worming","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Deworming {0} dose","fields":[{"key":"deworming{0}_date","openmrs_entity_parent":"84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","image":"ic_form_deworming","hint":"Je, dawa ya minyoo {0} ilitolewa lini?","min_date":"today-120y","max_date":"today","v_required":{"value":"true","err":"Tafadhali weka tarehe ambayo dawa ya minyoo ilitolewa"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "De-worming", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Deworming {0} dose", + "fields": [ + { + "key": "deworming{0}_date", + "openmrs_entity_parent": "84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "image": "ic_form_deworming", + "hint": "Je, dawa ya minyoo {0} ilitolewa lini?", + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali weka tarehe ambayo dawa ya minyoo ilitolewa" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_malaria_prevention.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_malaria_prevention.json index 228619892f..ac716feba6 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_malaria_prevention.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_malaria_prevention.json @@ -1 +1,141 @@ -{"count":"1","encounter_type":"Malaria Prevention","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Malaria Prevention","fields":[{"key":"fam_llin_1m5yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"select one","type":"spinner","hint":"Je, mtoto ana chandarua chenye dawa inayodumu kwa muda mrefu (LLIN)?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"llin_2days_1m5yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"select one","type":"spinner","hint":"Je, mtoto alilala kwenye chandarua chenye dawa inayodumu kwa muda mrefu (LLIN) jana usiku??","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafahdali chagua chaguo moja"},"relevance":{"step1:fam_llin_1m5yr":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"llin_condition_1m5yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"select one","type":"spinner","hint":"Hali ya chandarua (LLIN)","values":["Ndiyo","Hapana"],"keys":["Okay","Bad"],"openmrs_choice_ids":{"Okay":"159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Bad":"159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"step1:fam_llin_1m5yr":{"type":"string","ex":"equalTo(., \"Yes\")"}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Malaria Prevention", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Malaria Prevention", + "fields": [ + { + "key": "fam_llin_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mtoto ana chandarua chenye dawa inayodumu kwa muda mrefu (LLIN)?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "llin_2days_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mtoto alilala kwenye chandarua chenye dawa inayodumu kwa muda mrefu (LLIN) jana usiku??", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafahdali chagua chaguo moja" + }, + "relevance": { + "step1:fam_llin_1m5yr": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "llin_condition_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hali ya chandarua (LLIN)", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Okay", + "Bad" + ], + "openmrs_choice_ids": { + "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "step1:fam_llin_1m5yr": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_nutrition_status.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_nutrition_status.json index 94f0b30797..f4f0938823 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_nutrition_status.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_nutrition_status.json @@ -1 +1,82 @@ -{"count":"1","encounter_type":"Home Visit - Nutrition Status","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Nutrition status","fields":[{"key":"nutrition_status_1m5yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163301AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Hali ya lishe ","values":["Kawaida","Wastani","Mbaya"],"keys":["Normal","Moderate","Severe"],"openmrs_choice_ids":{"Normal":"1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Moderate":"1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Severe":"1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Home Visit - Nutrition Status", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Nutrition status", + "fields": [ + { + "key": "nutrition_status_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163301AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hali ya lishe ", + "values": [ + "Kawaida", + "Wastani", + "Mbaya" + ], + "keys": [ + "Normal", + "Moderate", + "Severe" + ], + "openmrs_choice_ids": { + "Normal": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Moderate": "1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vaccine_card_received.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vaccine_card_received.json index 1556b12d17..d77ad963e3 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vaccine_card_received.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vaccine_card_received.json @@ -1 +1,72 @@ -{"count":"1","encounter_type":"Child vaccine card received","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Child vaccine card received","fields":[{"key":"child_vaccine_card","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164147AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","image":"form_received_card","hint":"Je, mtoto alipokea kadi yake ya chanjo?","values":["Ndiyo","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Child vaccine card received", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Child vaccine card received", + "fields": [ + { + "key": "child_vaccine_card", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164147AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "image": "form_received_card", + "hint": "Je, mtoto alipokea kadi yake ya chanjo?", + "values": [ + "Ndiyo", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vitamin_a.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vitamin_a.json index 33022acd46..feaf6069a6 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vitamin_a.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vitamin_a.json @@ -1 +1,69 @@ -{"count":"1","encounter_type":"Vitamin A","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Vitamin A {0} dose","fields":[{"key":"vitamin_a{0}_date","openmrs_entity_parent":"84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","image":"ic_form_vitamin","hint":"Dozi ya Vitamini A {0} ilifanywa lini?","min_date":"today-120y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ambayo vitamini A iliyotolewa"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Vitamin A", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Vitamin A {0} dose", + "fields": [ + { + "key": "vitamin_a{0}_date", + "openmrs_entity_parent": "84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "image": "ic_form_vitamin", + "hint": "Dozi ya Vitamini A {0} ilifanywa lini?", + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ambayo vitamini A iliyotolewa" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/child_referral_form.json index 4b7430a0f4..6560173825 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_referral_form.json @@ -1 +1,385 @@ -{"count":"1","encounter_type":"Sick Child Referral","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Sick child form","fields":[{"key":"chw_referral_hf_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"child_referral_calculation.yml"}}}},{"key":"referral_problem_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Tatizo / hali ya kiafya","label_text_style":"bold","options":[{"key":"Fast_breathing_and_difficulty_with_breathing","text":"Kupumua haraka na ugumu wa kupumua","value":false,"openmrs_entity":"concept","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Umbilical_cord_navel_bleeding","text":"Kutokwa na damu kwa kitovu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Excessive_crying","text":"Kulia kupita kiasi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Convulsions","text":"Degedege","value":false,"openmrs_entity":"concept","openmrs_entity_id":"113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Unable_to_breastfeed_or_swallow","text":"Haiwezi kunyonya au kumeza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Neck_stiffness","text":"Shingo kukaza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fever","text":"Homa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Bloating","text":"Kuvimba","value":false,"openmrs_entity":"concept","openmrs_entity_id":"147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Redness_around_the_umbilical_cord_foul_smelling_discharge_from_the_umbilical_cord","text":"Wekundu kuzunguka kitovu, kutokwa na harufu mbaya kutoka kwa kitovu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Bacterial_conjunctivitis","text":"Kuvimba kwa macho inayosababishwa na bakteria","value":false,"openmrs_entity":"concept","openmrs_entity_id":"148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_anaemia","text":"Kupungukiwa sana kwa damu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Pale_or_jaundiced","text":"Kupoteza rangi kwenye ngozi au kuonekana wa njano","value":false,"openmrs_entity":"concept","openmrs_entity_id":"136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Cyanosis_blueness_of_lips","text":"Midomo kuonekana na rangi ya bluu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Skin_rash_pustules","text":"Kuwa na upele kwenye ngozi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Diarrhea","text":"Kuhara","value":false,"openmrs_entity":"concept","openmrs_entity_id":"142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Vomiting","text":"Kutapika","value":false,"openmrs_entity":"concept","openmrs_entity_id":"122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Disabilities","text":"Ulemavu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Premature_baby","text":"Mtoto njiti","value":false,"openmrs_entity":"concept","openmrs_entity_id":"159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Care_of_HIV_exposed_infant","text":"Utunzaji wa mtoto aliyeambukizwa VVU","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Immunisation","text":"Kupatiwa chanjo ya kinga","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_symptom","text":"Dalili zingine","value":false,"ignore":true,"openmrs_entity":"concept","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":true,"err":"Tafadhali taja tatizo la kiafya"}},{"key":"referral_problem_child_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Dalili zingine","relevance":{"rules-engine":{"ex-rules":{"rules-file":"child_referral_relevance.yml"}}}},{"key":"service_before_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Usimamizi wa kabla ya kupewa rufaa iliyotolewa","label_text_style":"bold","is_problem":false,"exclusive":["None"],"options":[{"key":"ORS","text":"ORS","value":false,"openmrs_entity":"concept","openmrs_entity_id":"351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Panadol","text":"Panadol","value":false,"openmrs_entity":"concept","openmrs_entity_id":"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_treatment","text":"Matibabu mengine","value":false,"ignore":true,"openmrs_entity":"concept","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Sehemu ya Usimamizi wa kabla ya kupewa rufaa inahitajika"}},{"key":"service_before_child_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Matibabu mengine","is_problem":false,"v_required":{"value":"true","err":"Tafadhali taji matibabu megine "},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"child_referral_relevance.yml"}}}},{"key":"referral_date_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"child_referral_calculation.yml"}}}},{"key":"referral_time_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"referral_time_child","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"child_referral_calculation.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Sick Child Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Sick child form", + "fields": [ + { + "key": "chw_referral_hf_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_problem_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Tatizo / hali ya kiafya", + "label_text_style": "bold", + "options": [ + { + "key": "Fast_breathing_and_difficulty_with_breathing", + "text": "Kupumua haraka na ugumu wa kupumua", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Umbilical_cord_navel_bleeding", + "text": "Kutokwa na damu kwa kitovu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Excessive_crying", + "text": "Kulia kupita kiasi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unable_to_breastfeed_or_swallow", + "text": "Haiwezi kunyonya au kumeza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Neck_stiffness", + "text": "Shingo kukaza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fever", + "text": "Homa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bloating", + "text": "Kuvimba", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Redness_around_the_umbilical_cord_foul_smelling_discharge_from_the_umbilical_cord", + "text": "Wekundu kuzunguka kitovu, kutokwa na harufu mbaya kutoka kwa kitovu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bacterial_conjunctivitis", + "text": "Kuvimba kwa macho inayosababishwa na bakteria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_anaemia", + "text": "Kupungukiwa sana kwa damu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pale_or_jaundiced", + "text": "Kupoteza rangi kwenye ngozi au kuonekana wa njano", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cyanosis_blueness_of_lips", + "text": "Midomo kuonekana na rangi ya bluu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Skin_rash_pustules", + "text": "Kuwa na upele kwenye ngozi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Diarrhea", + "text": "Kuhara", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Vomiting", + "text": "Kutapika", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Disabilities", + "text": "Ulemavu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Premature_baby", + "text": "Mtoto njiti", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Care_of_HIV_exposed_infant", + "text": "Utunzaji wa mtoto aliyeambukizwa VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Immunisation", + "text": "Kupatiwa chanjo ya kinga", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_symptom", + "text": "Dalili zingine", + "value": false, + "ignore": true, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": true, + "err": "Tafadhali taja tatizo la kiafya" + } + }, + { + "key": "referral_problem_child_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Dalili zingine", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_relevance.yml" + } + } + } + }, + { + "key": "service_before_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Usimamizi wa kabla ya kupewa rufaa iliyotolewa", + "label_text_style": "bold", + "is_problem": false, + "exclusive": [ + "None" + ], + "options": [ + { + "key": "ORS", + "text": "ORS", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Panadol", + "text": "Panadol", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_treatment", + "text": "Matibabu mengine", + "value": false, + "ignore": true, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Sehemu ya Usimamizi wa kabla ya kupewa rufaa inahitajika" + } + }, + { + "key": "service_before_child_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Matibabu mengine", + "is_problem": false, + "v_required": { + "value": "true", + "err": "Tafadhali taji matibabu megine " + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_relevance.yml" + } + } + } + }, + { + "key": "referral_date_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_time_child", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json index 49996440f1..85fed03e87 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json @@ -1 +1,133 @@ -{"count":"1","encounter_type":"Family Details","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Family Details","fields":[{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","type":"edit_text","hint":"Jina la ukoo","edit_type":"name","v_required":{"value":"true","err":"Tafadhali weka jina la ukoo"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali weka jina halali"}},{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","hidden":"true","type":"barcode","barcode_type":"qrcode","hint":"Number ya utambulisho","scanButtonText":"Scan QR Code","v_numeric":{"value":"true","err":"Tafadhali weka kitambulisho halali"}},{"key":"village_town","openmrs_entity_parent":"","openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","type":"edit_text","hint":"Jina la Eneo","v_required":{"value":"true","err":"Tafadhali weka jina la eneo"}},{"key":"landmark","openmrs_entity_parent":"","openmrs_entity":"person_address","openmrs_entity_id":"landmark","type":"edit_text","hint":"Alama ya kihistoria"},{"key":"gps","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gps","openmrs_data_type":"text","type":"gps"},{"key":"nearest_facility","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"nearest_facility","openmrs_data_type":"text","type":"tree","hint":"Kijiji/Mtaa","tree":[],"v_required":{"value":true,"err":"Tafadhali ingia kijijini au mtaani"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Family Details", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Family Details", + "fields": [ + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la ukoo", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la ukoo" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + } + }, + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "hidden": "true", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Number ya utambulisho", + "scanButtonText": "Scan QR Code", + "v_numeric": { + "value": "true", + "err": "Tafadhali weka kitambulisho halali" + } + }, + { + "key": "village_town", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "type": "edit_text", + "hint": "Jina la Eneo", + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la eneo" + } + }, + { + "key": "landmark", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "landmark", + "type": "edit_text", + "hint": "Alama ya kihistoria" + }, + { + "key": "gps", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gps", + "openmrs_data_type": "text", + "type": "gps" + }, + { + "key": "nearest_facility", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nearest_facility", + "openmrs_data_type": "text", + "type": "tree", + "hint": "Kijiji/Mtaa", + "tree": [], + "v_required": { + "value": true, + "err": "Tafadhali ingia kijijini au mtaani" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_child.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_child.json index ffea43b3e3..04a6a6842c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_child.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_child.json @@ -1 +1,212 @@ -{"count":"1","encounter_type":"Remove Child Under 5","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Remove Child Under 5","fields":[{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"10sp"},{"key":"details","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","text":"","text_size":"25px"},{"key":"divider1","type":"h_line","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":""},{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"15dp"},{"key":"remove_reason","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Sababu","values":["Alikufa","Imehamishwa","Nyingine"],"keys":["Died","Moved away","Other"],"v_required":{"value":"true","err":"Chagua sababu ya kuondoa rekodi ya mtoto."},"openmrs_choice_ids":{"Died":"160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Moved away":"160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Other":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","expanded":false,"read_only":"true","hidden":"false"},{"key":"date_moved","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"date_picker","label":"Date moved away","hint":"Tarehe ya kuhamishwa","expanded":false,"min_date":"","max_date":"today","v_required":{"value":"true","err":"Weka tarehe ambayo mwanachama alihama"},"constraints":[{"type":"date","ex":"greaterThanEqualTo(., step1:dob)","err":"Moved away date cannot be before date of birth"}],"relevance":{"step1:remove_reason":{"type":"string","ex":"equalTo(., \"Moved away\")"}}},{"key":"date_died","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"date_picker","label":"Date of death","hint":"Tarehe ya kifo","expanded":false,"min_date":"","max_date":"today","v_required":{"value":"true","err":"Weka tarehe ya kifo"},"constraints":[{"type":"date","ex":"greaterThanEqualTo(., step1:dob)","err":"Date of death can't occur before date of birth"}],"relevance":{"step1:remove_reason":{"type":"string","ex":"equalTo(., \"Died\")"}}},{"key":"age_at_death","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","label":"Age at death","hint":"Umri wakati wa kifo","type":"edit_text","read_only":"true","relevance":{"step1:remove_reason":{"type":"string","ex":"equalTo(., \"Died\")"}},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"child_remove_calculation.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Remove Child Under 5", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Remove Child Under 5", + "fields": [ + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "10sp" + }, + { + "key": "details", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "", + "text_size": "25px" + }, + { + "key": "divider1", + "type": "h_line", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "15dp" + }, + { + "key": "remove_reason", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Sababu", + "values": [ + "Alikufa", + "Imehamishwa", + "Nyingine" + ], + "keys": [ + "Died", + "Moved away", + "Other" + ], + "v_required": { + "value": "true", + "err": "Chagua sababu ya kuondoa rekodi ya mtoto." + }, + "openmrs_choice_ids": { + "Died": "160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Moved away": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "expanded": false, + "read_only": "true", + "hidden": "false" + }, + { + "key": "date_moved", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "Date moved away", + "hint": "Tarehe ya kuhamishwa", + "expanded": false, + "min_date": "", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Weka tarehe ambayo mwanachama alihama" + }, + "constraints": [ + { + "type": "date", + "ex": "greaterThanEqualTo(., step1:dob)", + "err": "Moved away date cannot be before date of birth" + } + ], + "relevance": { + "step1:remove_reason": { + "type": "string", + "ex": "equalTo(., \"Moved away\")" + } + } + }, + { + "key": "date_died", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "Date of death", + "hint": "Tarehe ya kifo", + "expanded": false, + "min_date": "", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Weka tarehe ya kifo" + }, + "constraints": [ + { + "type": "date", + "ex": "greaterThanEqualTo(., step1:dob)", + "err": "Date of death can't occur before date of birth" + } + ], + "relevance": { + "step1:remove_reason": { + "type": "string", + "ex": "equalTo(., \"Died\")" + } + } + }, + { + "key": "age_at_death", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "label": "Age at death", + "hint": "Umri wakati wa kifo", + "type": "edit_text", + "read_only": "true", + "relevance": { + "step1:remove_reason": { + "type": "string", + "ex": "equalTo(., \"Died\")" + } + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_remove_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_family.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_family.json index 3e82aad6d1..fa157b7ec6 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_family.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_family.json @@ -1 +1,171 @@ -{"count":"1","encounter_type":"Remove Family","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Remove Family","fields":[{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"30sp"},{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","text":"","text_size":"25px"},{"key":"details","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","text":"","text_size":"25px"},{"key":"divider1","type":"h_line","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":""},{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"20sp"},{"key":"closure_reason_fam","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Sababu ya kufungwa","values":["Uhamisho","Nyinginezo"],"keys":["Relocation","Other"],"v_required":{"value":"true","err":"Chagua sababu ya kuondoa rekodi ya familia."},"openmrs_choice_ids":{"Relocation":"160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Other":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"key":"closure_reason_other_fam","openmrs_entity_parent":"160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"edit_text","hint":"Sababu nyingine","v_required":{"value":"true","err":"Weka sababu ya kufungwa"},"relevance":{"step1:closure_reason_fam":{"type":"string","ex":"equalTo(., \"Other\")"}}},{"key":"closure_reason_relocation_fam","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Uhamisho wa kaya","values":["Ndani ya wilaya","Nje ya wilaya"],"keys":["Within the district","Outside the district"],"v_required":{"value":"true","err":"Weka sababu ya kufungwa"},"relevance":{"step1:closure_reason_fam":{"type":"string","ex":"equalTo(., \"Relocation\")"}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Remove Family", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Remove Family", + "fields": [ + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "30sp" + }, + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "", + "text_size": "25px" + }, + { + "key": "details", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "", + "text_size": "25px" + }, + { + "key": "divider1", + "type": "h_line", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "20sp" + }, + { + "key": "closure_reason_fam", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Sababu ya kufungwa", + "values": [ + "Uhamisho", + "Nyinginezo" + ], + "keys": [ + "Relocation", + "Other" + ], + "v_required": { + "value": "true", + "err": "Chagua sababu ya kuondoa rekodi ya familia." + }, + "openmrs_choice_ids": { + "Relocation": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "key": "closure_reason_other_fam", + "openmrs_entity_parent": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Sababu nyingine", + "v_required": { + "value": "true", + "err": "Weka sababu ya kufungwa" + }, + "relevance": { + "step1:closure_reason_fam": { + "type": "string", + "ex": "equalTo(., \"Other\")" + } + } + }, + { + "key": "closure_reason_relocation_fam", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Uhamisho wa kaya", + "values": [ + "Ndani ya wilaya", + "Nje ya wilaya" + ], + "keys": [ + "Within the district", + "Outside the district" + ], + "v_required": { + "value": "true", + "err": "Weka sababu ya kufungwa" + }, + "relevance": { + "step1:closure_reason_fam": { + "type": "string", + "ex": "equalTo(., \"Relocation\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_member.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_member.json index 0c6da1e5fe..8ec57ab184 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_member.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_member.json @@ -1 +1,214 @@ -{"count":"1","encounter_type":"Remove Family Member","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Remove Family Member","fields":[{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"10sp"},{"key":"details","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","text":"","text_size":"25px"},{"key":"divider1","type":"h_line","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":""},{"key":"spacer","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","spacer_height":"15dp"},{"key":"remove_reason","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Sababu ya kuondolewa","v_required":{"value":"true","err":"Chagua sababu ya kuondoa rekodi ya mwanafamilia"},"values":["Kifo","Imehamishwa","Nyingine"],"keys":["Death","Moved away","Other"],"openmrs_choice_ids":{"Died":"160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Moved away":"160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Other":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","expanded":false,"read_only":"true","hidden":"false"},{"key":"date_moved","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"date_picker","label":"Date moved away","hint":"Tarehe ya kuhamishwa","expanded":false,"min_date":"","max_date":"today","v_required":{"value":"true","err":"Weka tarehe ambayo mwanachama alihama"},"constraints":[{"type":"date","ex":"greaterThanEqualTo(., step1:dob)","err":"Date moved away occur before date of birth"}],"relevance":{"step1:remove_reason":{"type":"string","ex":"equalTo(., \"Moved away\")"}}},{"key":"date_died","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"date_picker","label":"Date of death","hint":"Tarehe ya kifo","expanded":false,"min_date":"today-80y","max_date":"today","v_required":{"value":"true","err":"Weka tarehe ya kifo"},"constraints":[{"type":"date","ex":"greaterThanEqualTo(., step1:dob)","err":"Date of death can't occur before date of birth"}],"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_remove_relevance.yml"}}}},{"key":"age_at_death","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","label":"Age at death","hint":"Umri wakati wa kifo","type":"edit_text","read_only":"true","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_remove_relevance.yml"}}},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_remove_calculation.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Remove Family Member", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Remove Family Member", + "fields": [ + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "10sp" + }, + { + "key": "details", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "", + "text_size": "25px" + }, + { + "key": "divider1", + "type": "h_line", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "15dp" + }, + { + "key": "remove_reason", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Sababu ya kuondolewa", + "v_required": { + "value": "true", + "err": "Chagua sababu ya kuondoa rekodi ya mwanafamilia" + }, + "values": [ + "Kifo", + "Imehamishwa", + "Nyingine" + ], + "keys": [ + "Death", + "Moved away", + "Other" + ], + "openmrs_choice_ids": { + "Died": "160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Moved away": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "expanded": false, + "read_only": "true", + "hidden": "false" + }, + { + "key": "date_moved", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "Date moved away", + "hint": "Tarehe ya kuhamishwa", + "expanded": false, + "min_date": "", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Weka tarehe ambayo mwanachama alihama" + }, + "constraints": [ + { + "type": "date", + "ex": "greaterThanEqualTo(., step1:dob)", + "err": "Date moved away occur before date of birth" + } + ], + "relevance": { + "step1:remove_reason": { + "type": "string", + "ex": "equalTo(., \"Moved away\")" + } + } + }, + { + "key": "date_died", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "Date of death", + "hint": "Tarehe ya kifo", + "expanded": false, + "min_date": "today-80y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Weka tarehe ya kifo" + }, + "constraints": [ + { + "type": "date", + "ex": "greaterThanEqualTo(., step1:dob)", + "err": "Date of death can't occur before date of birth" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_remove_relevance.yml" + } + } + } + }, + { + "key": "age_at_death", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "label": "Age at death", + "hint": "Umri wakati wa kifo", + "type": "edit_text", + "read_only": "true", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_remove_relevance.yml" + } + } + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_remove_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 0a6b7ea940..57775be243 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -250,11 +250,11 @@ }, "v_min": { "value": "5", - "err": "Age must be equal or greater than 5" + "err": "Umri lazima uwe sawa au zaidi ya 5" }, "v_max": { "value": "120", - "err": "Age must be equal or less than 120" + "err": "Umri lazima uwe sawa au chini ya 120" }, "relevance": { "rules-engine": { @@ -266,9 +266,7 @@ "v_required": { "value": true, "err": "Tafadhali weka umri" - }, - "v_min.err": "Umri lazima uwe sawa au zaidi ya 5", - "v_max.err": "Umri lazima uwe sawa au chini ya 120" + } }, { "key": "sex", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 5767b20c53..aae0e3c51e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -355,11 +355,11 @@ }, "v_min": { "value": "15", - "err": "Age must be equal or greater than 15" + "err": "Umri lazima uwe sawa au zaidi ya 15" }, "v_max": { "value": "120", - "err": "Age must be equal or less than 120" + "err": "Umri lazima uwe sawa au chini ya 120" }, "relevance": { "rules-engine": { @@ -371,9 +371,7 @@ "v_required": { "value": true, "err": "Tafadhali weka umri" - }, - "v_min.err": "Umri lazima uwe sawa au zaidi ya 15", - "v_max.err": "Umri lazima uwe sawa au chini ya 120" + } }, { "key": "sex", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_family_planning_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/female_family_planning_registration.json index 879fc7b6d9..fa540c8d96 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_family_planning_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_family_planning_registration.json @@ -1 +1 @@ -{"validate_on_submit":false,"show_errors_on_submit":false,"count":"3","encounter_type":"Family Planning Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Family planning registration Info","next":"step2","fields":[{"key":"fp_reg_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_reg_date","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"age","type":"hidden"},{"key":"using_method","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"using_method","openmrs_entity_parent":"","label":"Je, mwanamke tayari anatumia njia ya kupanga uzazi?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"couselling_fp_methods","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Je, alishauriwa kuhusu mbinu tofauti za kupanga uzazi?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"couselling_HIV_STI","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"couselling_HIV_STI","openmrs_entity_parent":"","label":"Je, alishauriwa kuhusu kuzuia VVU na magonjwa ya zinaa?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}}]},"step2":{"title":"Family planning method","next":"step3","fields":[{"key":"pill","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"pill","openmrs_entity_parent":"","label":"Je, anataka kutumia kidonge cha kuzuia mimba?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"user_toaster_info","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Orodha ya hundi ya Kuzuia Mimba ya Kumeza","toaster_info_text":"Orodha ya kuangalia kwa ajili ya kutoa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP)","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"breast_lump","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"breast_lump","openmrs_entity_parent":"","label":"Je, ana uvimbe wowote wa matiti?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"abnormal_vaginal","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"abnormal_vaginal","openmrs_entity_parent":"","label":"Je, ana damu isiyo ya kawaida au kutokwa na maji ukeni?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"pregnant","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"pregnant","openmrs_entity_parent":"","label":"Je, ana mimba?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"difficultly_breathing","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"difficultly_breathing","openmrs_entity_parent":"","label":"Je, ana maumivu makali ya kifua na kupumua kwa shida?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"headaches","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"headaches","openmrs_entity_parent":"","label":"Je, ana maumivu ya kichwa yasiyo ya kawaida yanayohusiana na kichefuchefu, kutapika au kutoona vizuri?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"frequent_urge","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"frequent_urge","openmrs_entity_parent":"","label":"Je, mara kwa mara anahisi kiu, haja ya kukojoa au anahisi uchovu?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"falling_loss_unconsciousness","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"falling_loss_unconsciousness","openmrs_entity_parent":"","label":"Je, ana tabia ya kuanguka/kuanguka na kupoteza fahamu?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"breastfeed","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"breastfeed","openmrs_entity_parent":"","label":"Je, ananyonyesha mtoto wa miezi 6 au chini na ana matatizo yoyote ya kuzalisha maziwa?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"COC_POP","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"COC_POP","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"POP","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"POP","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"no_pill","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_pill","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"COC_POP_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke anastahiki aidha Vidonge Vilivyochanganywa vya Kuzuia Mimba (COC) au Vidonge vya Projestini Pekee (POP)","toaster_info_text":"COC au POP anastahiki: Mwanamke anastahiki aidha Vidonge Vilivyochanganywa vya Kuzuia Mimba (COC) au Vidonge vya Projestini Pekee (POP)","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"POP_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke anastahiki Vidonge vya Progestin Pekee (POP) pekee","toaster_info_text":"POP inastahiki pekee: Mwanamke anastahiki Vidonge vya Progestin Pekee (POP) pekee","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"no_pill_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke hastahiki kwa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP). Tafadhali mshauri mteja kutumia kondomu na mpe rufaa ya kwenda kwenye kituo cha afya kwa ushauri zaidi juu ya uzazi wa mpango.","toaster_info_text":"Hastahiki: Mwanamke hastahiki kwa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP). Tafadhali mshauri mteja kutumia kondomu na mpe rufaa ya kwenda kwenye kituo cha afya kwa ushauri zaidi juu ya uzazi wa mpango.","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_chw","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160576AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Mbinu ya kupanga uzazi imechaguliwa","values":["Kondomu ya kiume","Kondomu ya kike","COC","POP","Njia ya kawaida ya siku","Uzazi wa mpango wa dharura"],"openmrs_choice_ids":{"Male condom":"164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female condom":"164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","COC":"159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","POP":"159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Standard day method":"5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Emergency contraceptive":"160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_already","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Mbinu ya kupanga uzazi imechaguliwa","values":["Kondomu ya kiume","Kondomu ya Kike","COC","POC","Njia ya kawaida ya siku","Uzazi wa mpango wa dharura","Sindano","IUCD","Kitanzi","Kijiti","Kufunga kizazi kwa mwanamke","Kufunga kizazi kwa mwanaume"],"openmrs_choice_ids":{"Male condom":"164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female condom":"164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","COC":"159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","POP":"159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Standard day method":"5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Emergency contraceptive":"160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Injectable":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","IUCD":"5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Implanon - NXT":"76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Jadelle":"1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female sterilization":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Male sterilization":"1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_accepted","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_method_accepted","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}}]},"step3":{"title":"Family planning method info","fields":[{"key":"ec_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mhimize mwanamke kuchagua nafasi au njia ya kudumu ya kupanga uzazi","toaster_info_text":"Mhimize mwanamke kuchagua nafasi au njia ya kudumu ya kupanga uzazi","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"ecp","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"ecp","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"no_condoms","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"no_condoms","type":"edit_text","edit_type":"number","hint":"Je, alipewa kondomu ngapi?","v_required":{"value":"true","err":"Sawa au zaidi ya )"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Number must be equal or greater than 0"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_min.err":"Nambari lazima iwe sawa au zaidi ya 0"},{"key":"fp_start_condom","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_condom","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"no_pillcycles","openmrs_entity_parent":"5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","edit_type":"number","hint":"Je, alipewa mizunguko mingapi ya vidonge?","v_required":{"value":"true","err":"Sawa au zaidi ya 0"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Number must be equal or greater than 0"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_min.err":"Nambari lazima iwe sawa au zaidi ya 0"},{"key":"fp_start_cocpop","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_cocpop","type":"date_picker","hint":"Je, ni lini alianza au alipanga kuanza kutumia COC/POP?","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"counselling_use","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"counselling_use","type":"spinner","hint":"Je, alishauriwa jinsi ya kutumia njia ya kupanga uzazi?","values":["Ndio","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_start_injectable","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya sindano ya mwisho","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"next_injection_due_date","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"5096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_id":"next_injection_due_date","type":"edit_text","hint":"Sindano inayofuata inastahili:","read_only":"true","value":"0","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"fp_start_iucd","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_iucd","type":"date_picker","hint":"Tarehe ya kuwekewa IUCD","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_implant_nxt","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_implant_nxt","type":"date_picker","hint":"Tarehe ya Implanon - kuingizwa kwa NXT","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_implant_jad","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_implant_jad","type":"date_picker","hint":"Tarehe ya Kuwekewa Kijiti","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inaitajika"}},{"key":"fp_start_female_ster","openmrs_entity_parent":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_female_ster","type":"date_picker","hint":"Tarehe ya Kufunga kizazi ya mwanamke","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_male_ster","openmrs_entity_parent":"1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_male_ster","type":"date_picker","hint":"Tarehe ya Kufunga kizazi ya mwanaume","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_male_ster_note","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"toaster_notes","text":"Mshauri mwanamke kutumia kondomu kwa muda wa miezi 3 ya kwanza ili kuzuia mimba","toaster_info_text":"Ujumbe wa kumjulisha mteja kwamba anapaswa kutumia kondomu kwa miezi mitatu ya kwanza baada ya kufunga kizazi ili kuzuia mimba","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"referral_given","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"referral_given","openmrs_entity_parent":"","label":"Je, alipewa rufaa ya kwenda kwenye kituo cha afya?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"fp_start_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","hidden":"true","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}}]}} \ No newline at end of file +{"validate_on_submit":false,"show_errors_on_submit":false,"count":"3","encounter_type":"Family Planning Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Family planning registration Info","next":"step2","fields":[{"key":"fp_reg_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_reg_date","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"age","type":"hidden"},{"key":"using_method","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"using_method","openmrs_entity_parent":"","label":"Je, mwanamke tayari anatumia njia ya kupanga uzazi?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"couselling_fp_methods","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Je, alishauriwa kuhusu mbinu tofauti za kupanga uzazi?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"couselling_HIV_STI","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"couselling_HIV_STI","openmrs_entity_parent":"","label":"Je, alishauriwa kuhusu kuzuia VVU na magonjwa ya zinaa?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}}]},"step2":{"title":"Family planning method","next":"step3","fields":[{"key":"pill","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"pill","openmrs_entity_parent":"","label":"Je, anataka kutumia kidonge cha kuzuia mimba?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"user_toaster_info","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Orodha ya hundi ya Kuzuia Mimba ya Kumeza","toaster_info_text":"Orodha ya kuangalia kwa ajili ya kutoa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP)","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"breast_lump","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"breast_lump","openmrs_entity_parent":"","label":"Je, ana uvimbe wowote wa matiti?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"abnormal_vaginal","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"abnormal_vaginal","openmrs_entity_parent":"","label":"Je, ana damu isiyo ya kawaida au kutokwa na maji ukeni?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"pregnant","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"pregnant","openmrs_entity_parent":"","label":"Je, ana mimba?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"difficultly_breathing","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"difficultly_breathing","openmrs_entity_parent":"","label":"Je, ana maumivu makali ya kifua na kupumua kwa shida?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"headaches","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"headaches","openmrs_entity_parent":"","label":"Je, ana maumivu ya kichwa yasiyo ya kawaida yanayohusiana na kichefuchefu, kutapika au kutoona vizuri?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"frequent_urge","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"frequent_urge","openmrs_entity_parent":"","label":"Je, mara kwa mara anahisi kiu, haja ya kukojoa au anahisi uchovu?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"falling_loss_unconsciousness","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"falling_loss_unconsciousness","openmrs_entity_parent":"","label":"Je, ana tabia ya kuanguka/kuanguka na kupoteza fahamu?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"breastfeed","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"breastfeed","openmrs_entity_parent":"","label":"Je, ananyonyesha mtoto wa miezi 6 au chini na ana matatizo yoyote ya kuzalisha maziwa?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"COC_POP","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"COC_POP","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"POP","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"POP","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"no_pill","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_pill","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"COC_POP_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke anastahiki aidha Vidonge Vilivyochanganywa vya Kuzuia Mimba (COC) au Vidonge vya Projestini Pekee (POP)","toaster_info_text":"COC au POP anastahiki: Mwanamke anastahiki aidha Vidonge Vilivyochanganywa vya Kuzuia Mimba (COC) au Vidonge vya Projestini Pekee (POP)","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"POP_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke anastahiki Vidonge vya Progestin Pekee (POP) pekee","toaster_info_text":"POP inastahiki pekee: Mwanamke anastahiki Vidonge vya Progestin Pekee (POP) pekee","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"no_pill_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke hastahiki kwa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP). Tafadhali mshauri mteja kutumia kondomu na mpe rufaa ya kwenda kwenye kituo cha afya kwa ushauri zaidi juu ya uzazi wa mpango.","toaster_info_text":"Hastahiki: Mwanamke hastahiki kwa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP). Tafadhali mshauri mteja kutumia kondomu na mpe rufaa ya kwenda kwenye kituo cha afya kwa ushauri zaidi juu ya uzazi wa mpango.","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_chw","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160576AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Mbinu ya kupanga uzazi imechaguliwa","values":["Kondomu ya kiume","Kondomu ya kike","COC","POP","Njia ya kawaida ya siku","Uzazi wa mpango wa dharura"],"openmrs_choice_ids":{"Male condom":"164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female condom":"164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","COC":"159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","POP":"159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Standard day method":"5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Emergency contraceptive":"160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_already","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Mbinu ya kupanga uzazi imechaguliwa","values":["Kondomu ya kiume","Kondomu ya Kike","COC","POC","Njia ya kawaida ya siku","Uzazi wa mpango wa dharura","Sindano","IUCD","Kitanzi","Kijiti","Kufunga kizazi kwa mwanamke","Kufunga kizazi kwa mwanaume"],"openmrs_choice_ids":{"Male condom":"164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female condom":"164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","COC":"159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","POP":"159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Standard day method":"5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Emergency contraceptive":"160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Injectable":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","IUCD":"5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Implanon - NXT":"76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Jadelle":"1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female sterilization":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Male sterilization":"1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_accepted","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_method_accepted","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}}]},"step3":{"title":"Family planning method info","fields":[{"key":"ec_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mhimize mwanamke kuchagua nafasi au njia ya kudumu ya kupanga uzazi","toaster_info_text":"Mhimize mwanamke kuchagua nafasi au njia ya kudumu ya kupanga uzazi","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"ecp","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"ecp","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"no_condoms","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"no_condoms","type":"edit_text","edit_type":"number","hint":"Je, alipewa kondomu ngapi?","v_required":{"value":"true","err":"Sawa au zaidi ya )"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Nambari lazima iwe sawa au zaidi ya 0"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_start_condom","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_condom","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"no_pillcycles","openmrs_entity_parent":"5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","edit_type":"number","hint":"Je, alipewa mizunguko mingapi ya vidonge?","v_required":{"value":"true","err":"Sawa au zaidi ya 0"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Nambari lazima iwe sawa au zaidi ya 0"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_start_cocpop","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_cocpop","type":"date_picker","hint":"Je, ni lini alianza au alipanga kuanza kutumia COC/POP?","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"counselling_use","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"counselling_use","type":"spinner","hint":"Je, alishauriwa jinsi ya kutumia njia ya kupanga uzazi?","values":["Ndio","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_start_injectable","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya sindano ya mwisho","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"next_injection_due_date","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"5096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_id":"next_injection_due_date","type":"edit_text","hint":"Sindano inayofuata inastahili:","read_only":"true","value":"0","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"fp_start_iucd","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_iucd","type":"date_picker","hint":"Tarehe ya kuwekewa IUCD","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_implant_nxt","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_implant_nxt","type":"date_picker","hint":"Tarehe ya Implanon - kuingizwa kwa NXT","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_implant_jad","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_implant_jad","type":"date_picker","hint":"Tarehe ya Kuwekewa Kijiti","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inaitajika"}},{"key":"fp_start_female_ster","openmrs_entity_parent":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_female_ster","type":"date_picker","hint":"Tarehe ya Kufunga kizazi ya mwanamke","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_male_ster","openmrs_entity_parent":"1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_male_ster","type":"date_picker","hint":"Tarehe ya Kufunga kizazi ya mwanaume","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_male_ster_note","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"toaster_notes","text":"Mshauri mwanamke kutumia kondomu kwa muda wa miezi 3 ya kwanza ili kuzuia mimba","toaster_info_text":"Ujumbe wa kumjulisha mteja kwamba anapaswa kutumia kondomu kwa miezi mitatu ya kwanza baada ya kufunga kizazi ili kuzuia mimba","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"referral_given","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"referral_given","openmrs_entity_parent":"","label":"Je, alipewa rufaa ya kwenda kwenye kituo cha afya?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"fp_start_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","hidden":"true","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_fp_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/female_fp_referral_form.json index 4ae1bec788..10b3991367 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_fp_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_fp_referral_form.json @@ -1 +1,536 @@ -{"count":"1","encounter_type":"Family Planning Referral","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Family Planning Referral","fields":[{"key":"fp_method_accepted_referral","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Mbinu ya FP iliyochaguliwa inayohitaji rufaa","label_text_style":"bold","options":[{"key":"Male_condom","openmrs_entity":"","openmrs_entity_id":"164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Kondomu ya kiume"},{"key":"Female_condom","openmrs_entity":"","openmrs_entity_id":"164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Kondomu ya kike"},{"key":"COC","openmrs_entity":"","openmrs_entity_id":"159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"COC"},{"key":"POP","openmrs_entity":"","openmrs_entity_id":"159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"POP"},{"key":"Standard_day_method","openmrs_entity":"","openmrs_entity_id":"5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Njia ya kawaida ya siku"},{"key":"Emergency_contraceptive","openmrs_entity":"","openmrs_entity_id":"160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Uzazi wa mpango wa dharura"},{"key":"Injectable","openmrs_entity":"","openmrs_entity_id":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Sindano"},{"key":"IUCD","openmrs_entity":"","openmrs_entity_id":"5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"IUXD"},{"key":"Implanon_NXT","openmrs_entity":"","openmrs_entity_id":"76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Kitanzi"},{"key":"Jadelle","openmrs_entity":"","openmrs_entity_id":"1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Kijiti"},{"key":"Female_sterilization","openmrs_entity":"","openmrs_entity_id":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Kufunga kizazi kwa mwanamke"},{"key":"Male_sterilization","openmrs_entity":"","openmrs_entity_id":"1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Kufunga kizazi kwa wanaume"},{"key":"None","openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hakuna"},{"key":"Not_applicable","openmrs_entity":"","openmrs_entity_id":"1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Haiusiki"}],"v_required":{"value":"true","err":"Tafadhali chagua mbinu ya kupanga uzazi"}},{"key":"side_effects_sterialization","type":"check_box","openmrs_entity":"","openmrs_entity_id":"","openmrs_entity_parent":"","label":"Madhara ya uzazi wa mpango","label_text_style":"bold","exclusive":["None","Not_applicable"],"options":[{"key":"Incisional_bleeding","text":"Kutokwa na damu kwa mkato","value":false,"openmrs_entity":"","openmrs_entity_id":"147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Pus_Discharge_from_incision","text":"Usaha/Kutokwa na chale","value":false,"openmrs_entity":"","openmrs_entity_id":"164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Swollen_around_the_incision","text":"Kuvimba karibu na chale","value":false,"openmrs_entity":"","openmrs_entity_id":"159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Others","text":"Nyinginezo","value":false,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Not_applicable","text":"Haiusiki","value":false,"openmrs_entity":"","openmrs_entity_id":"1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Tafadhali chagua thamani"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_relevance.yml"}}}},{"key":"side_effects_iucd","type":"check_box","openmrs_entity":"","openmrs_entity_id":"","openmrs_entity_parent":"","label":"Madhara ya uzazi wa mpango","label_text_style":"bold","options":[{"key":"Severe_pain_inside_the_vagina_after_IUD_was_put_in","text":"Maumivu makali ndani ya uke baada ya IUD kuwekwa","value":false,"openmrs_entity":"","openmrs_entity_id":"123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in","text":"Mimba au maumivu ya mgongo kwa siku chache baada ya kuweka IUD","value":false,"openmrs_entity":"","openmrs_entity_id":"148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Spotting_between_periods_and_or_irregular_periods","text":"Kugundua kati ya hedhi na/au hedhi isiyo ya kawaida","value":false,"openmrs_entity":"","openmrs_entity_id":"116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Heavier_periods_and_worse_menstrual_cramps","text":"Hedhi nzito na maumivu makali ya hedhi","value":false,"openmrs_entity":"","openmrs_entity_id":"156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"IUCD_explusion","text":"Kufukuzwa kwa IUD","value":false,"openmrs_entity":"","openmrs_entity_id":"157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Others","text":"Nyinginezo","value":false,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Not_applicable","text":"Haiusiki","value":false,"openmrs_entity":"","openmrs_entity_id":"1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Tafadhali chagua thamani"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_relevance.yml"}}}},{"key":"side_effects_implant","type":"check_box","openmrs_entity":"","openmrs_entity_id":"","openmrs_entity_parent":"","label":"Madhara ya uzazi wa mpango","label_text_style":"bold","options":[{"key":"Insertion_site_infected_pus_discharge","text":"Sehemu ya kuingizwa iliyoambukizwa - usaha / kutokwa","value":false,"openmrs_entity":"","openmrs_entity_id":"164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Insertion_site_swollen","text":"Sehemu iliyopandikizwa imevimba","value":false,"openmrs_entity":"","openmrs_entity_id":"159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Implant_expulsion","text":"Kufukuzwa kwa implant","value":false,"openmrs_entity":"","openmrs_entity_id":"144458AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Heavy_bleeding","text":"Kutokwa na damu nyingi","value":false,"openmrs_entity":"","openmrs_entity_id":"136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Others","text":"Nyinginezo","value":false,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Not_applicable","text":"Haiusiki","value":false,"openmrs_entity":"","openmrs_entity_id":"1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Tafadhali chagua "},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_relevance.yml"}}}},{"key":"side_effects_inject_pills","type":"check_box","openmrs_entity":"","openmrs_entity_id":"","openmrs_entity_parent":"","label":"Madhara ya uzazi wa mpango","label_text_style":"bold","options":[{"key":"Heavy_bleeding_","text":"Kutokwa na damu nyingi","value":false,"openmrs_entity":"","openmrs_entity_id":"136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Irregular_periods","text":"Vipindi visivyo vya kawaida","value":false,"openmrs_entity":"","openmrs_entity_id":"116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Others","text":"Nyinginezo","value":false,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Not_applicable","text":"Haiusiki","value":false,"openmrs_entity":"","openmrs_entity_id":"1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Tafadhali chagua "},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_relevance.yml"}}}},{"key":"fp_side_effects","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_calculation.yml"}}}},{"key":"fp_side_effects_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","hint":"Madhara mengine","v_required":{"value":"true","err":"Tafadhali bainisha madhara mengine"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_relevance.yml"}}}},{"key":"referral_date_fp","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_calculation.yml"}}}},{"key":"referral_time_fp","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"fp_referral_calculation.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Family Planning Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Family Planning Referral", + "fields": [ + { + "key": "fp_method_accepted_referral", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Mbinu ya FP iliyochaguliwa inayohitaji rufaa", + "label_text_style": "bold", + "options": [ + { + "key": "Male_condom", + "openmrs_entity": "", + "openmrs_entity_id": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kondomu ya kiume" + }, + { + "key": "Female_condom", + "openmrs_entity": "", + "openmrs_entity_id": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kondomu ya kike" + }, + { + "key": "COC", + "openmrs_entity": "", + "openmrs_entity_id": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "COC" + }, + { + "key": "POP", + "openmrs_entity": "", + "openmrs_entity_id": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "POP" + }, + { + "key": "Standard_day_method", + "openmrs_entity": "", + "openmrs_entity_id": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Njia ya kawaida ya siku" + }, + { + "key": "Emergency_contraceptive", + "openmrs_entity": "", + "openmrs_entity_id": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Uzazi wa mpango wa dharura" + }, + { + "key": "Injectable", + "openmrs_entity": "", + "openmrs_entity_id": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Sindano" + }, + { + "key": "IUCD", + "openmrs_entity": "", + "openmrs_entity_id": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "IUXD" + }, + { + "key": "Implanon_NXT", + "openmrs_entity": "", + "openmrs_entity_id": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kitanzi" + }, + { + "key": "Jadelle", + "openmrs_entity": "", + "openmrs_entity_id": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kijiti" + }, + { + "key": "Female_sterilization", + "openmrs_entity": "", + "openmrs_entity_id": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kufunga kizazi kwa mwanamke" + }, + { + "key": "Male_sterilization", + "openmrs_entity": "", + "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kufunga kizazi kwa wanaume" + }, + { + "key": "None", + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hakuna" + }, + { + "key": "Not_applicable", + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Haiusiki" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua mbinu ya kupanga uzazi" + } + }, + { + "key": "side_effects_sterialization", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Madhara ya uzazi wa mpango", + "label_text_style": "bold", + "exclusive": [ + "None", + "Not_applicable" + ], + "options": [ + { + "key": "Incisional_bleeding", + "text": "Kutokwa na damu kwa mkato", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pus_Discharge_from_incision", + "text": "Usaha/Kutokwa na chale", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Swollen_around_the_incision", + "text": "Kuvimba karibu na chale", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Haiusiki", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua thamani" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "side_effects_iucd", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Madhara ya uzazi wa mpango", + "label_text_style": "bold", + "options": [ + { + "key": "Severe_pain_inside_the_vagina_after_IUD_was_put_in", + "text": "Maumivu makali ndani ya uke baada ya IUD kuwekwa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in", + "text": "Mimba au maumivu ya mgongo kwa siku chache baada ya kuweka IUD", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Spotting_between_periods_and_or_irregular_periods", + "text": "Kugundua kati ya hedhi na/au hedhi isiyo ya kawaida", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Heavier_periods_and_worse_menstrual_cramps", + "text": "Hedhi nzito na maumivu makali ya hedhi", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "IUCD_explusion", + "text": "Kufukuzwa kwa IUD", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Haiusiki", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua thamani" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "side_effects_implant", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Madhara ya uzazi wa mpango", + "label_text_style": "bold", + "options": [ + { + "key": "Insertion_site_infected_pus_discharge", + "text": "Sehemu ya kuingizwa iliyoambukizwa - usaha / kutokwa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Insertion_site_swollen", + "text": "Sehemu iliyopandikizwa imevimba", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Implant_expulsion", + "text": "Kufukuzwa kwa implant", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "144458AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Heavy_bleeding", + "text": "Kutokwa na damu nyingi", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Haiusiki", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua " + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "side_effects_inject_pills", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Madhara ya uzazi wa mpango", + "label_text_style": "bold", + "options": [ + { + "key": "Heavy_bleeding_", + "text": "Kutokwa na damu nyingi", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Irregular_periods", + "text": "Vipindi visivyo vya kawaida", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Haiusiki", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua " + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "fp_side_effects", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + }, + { + "key": "fp_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "hint": "Madhara mengine", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha madhara mengine" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "referral_date_fp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_fp", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_counsel.json b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_counsel.json index 42a3a241c7..9791fb642a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_counsel.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_counsel.json @@ -1 +1,82 @@ -{"count":"1","encounter_type":"FP Follow up visit Counselling","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Counselling","fields":[{"key":"fp_counselling","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Je, mteja alipokea ushauri wowote wa uzazi wa mpango?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndiyo "},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Sehemu hii haiwezi kuachwa wazi"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "FP Follow up visit Counselling", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Counselling", + "fields": [ + { + "key": "fp_counselling", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Je, mteja alipokea ushauri wowote wa uzazi wa mpango?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo " + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Sehemu hii haiwezi kuachwa wazi" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_resupply.json b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_resupply.json index 78d7755646..eca3923d50 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_resupply.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_resupply.json @@ -1 +1,159 @@ -{"count":"1","encounter_type":"FP Follow up Visit Resupply","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Re-supply or Next Health Facility Visit","fields":[{"key":"fp_method","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","read_only":"true"},{"key":"no_condoms","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"number","hint":"Je, aipewa kondomu ngapi?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_resupply.yml"}}}},{"key":"no_pillcycles","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"number","hint":"Je, alipewa mizunguko mingapi ya vidonge?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_resupply.yml"}}}},{"key":"fp_refill_injectable","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya sindano ya mwisho","expanded":false,"duration":{"label":"last injection"},"min_date":"today-120y","max_date":"today","v_required":{"value":"true","err":"Tafadhali tarehe ya sindano ya mwisho"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_resupply.yml"}}}},{"key":"next_injection_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Date of next injection: {fp_refill_injectable}","text_color":"#1199F9","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_resupply.yml"}}},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_resupply_calculation.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "FP Follow up Visit Resupply", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Re-supply or Next Health Facility Visit", + "fields": [ + { + "key": "fp_method", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "read_only": "true" + }, + { + "key": "no_condoms", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "number", + "hint": "Je, aipewa kondomu ngapi?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply.yml" + } + } + } + }, + { + "key": "no_pillcycles", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "number", + "hint": "Je, alipewa mizunguko mingapi ya vidonge?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply.yml" + } + } + } + }, + { + "key": "fp_refill_injectable", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe ya sindano ya mwisho", + "expanded": false, + "duration": { + "label": "last injection" + }, + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali tarehe ya sindano ya mwisho" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply.yml" + } + } + } + }, + { + "key": "next_injection_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Date of next injection: {fp_refill_injectable}", + "text_color": "#1199F9", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply.yml" + } + } + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_side_effects.json b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_side_effects.json index f7bec54c07..0b63d0bdaa 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_side_effects.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_side_effects.json @@ -1 +1,398 @@ -{"count":"1","encounter_type":"FP Follow-up Visit Side-effects","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Side Effects","fields":[{"key":"fp_method","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"spacer","read_only":"true"},{"key":"condom_side_effects","type":"spinner","openmrs_entity":"concept","openmrs_entity_id":"165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","values":["Athari za mzio","Nyingine","Hakuna"],"keys":["Allergic_reactions","Others","None"],"openmrs_choice_ids":{"Allergic_reactions":"149086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Others":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","None":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"hint":"Je, anakabiliwa na madhara yoyote?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"condom_side_effects_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Zingine","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"cocpop_side_effects","type":"spinner","openmrs_entity":"concept","openmrs_entity_id":"165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","values":["Kutokwa sana kwa damu","Vipindi vya hedhi visivyo vya kawaida","Nyingine","Hakuna"],"keys":["Heavy_bleeding_","Irregular_periods","Others","None"],"openmrs_choice_ids":{"Heavy_bleeding_":"136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Irregular_periods":"116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Others":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","None":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"hint":"Je, anakabiliwa na madhara yoyote?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"cocpop_side_effects_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Zingine","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"inject_side_effects","type":"spinner","openmrs_entity":"concept","openmrs_entity_id":"165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","values":["Kutokwa sana kwa damu","Vipindi vya hedhi visivyo vya kawaida","Nyingine","Hakuna"],"keys":["Heavy_bleeding_","Irregular_periods","Others","None"],"openmrs_choice_ids":{"Heavy_bleeding_":"136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Irregular_periods":"116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Others":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","None":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"hint":"Je, anakabiliwa na madhara yoyote?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"inject_side_effects_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Zingine","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"IUCD_side_effects","type":"spinner","openmrs_entity":"concept","openmrs_entity_id":"165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","values":["Maumivu makali ndani ya uke baada ya IUD kuwekwa","Kukaza au maumivu ya mgongo kwa siku chache baada ya kuweka IUD","Kugundua kati ya hedhi na/au hedhi isiyo ya kawaida","Hedhi nzito na maumivu makali ya hedhi","kutokw kwa IUD","Nyingine","Hakuna"],"keys":["Severe_pain_inside_the_vagina_after_IUD_was_put_in","Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in","Spotting_between_periods_and_or_irregular_periods","Heavier_periods_and_worse_menstrual_cramps","IUCD_explusion","Others","None"],"openmrs_choice_ids":{"Severe_pain_inside_the_vagina_after_IUD_was_put_in":"123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in":"148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Spotting_between_periods_and_or_irregular_periods":"116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Heavier_periods_and_worse_menstrual_cramps":"156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","IUCD_explusion":"157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Others":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","None":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"hint":"Je, anakabiliwa na madhara yoyote?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"IUCD_side_effects_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Zingine","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"sterilization_side_effects","type":"spinner","openmrs_entity":"concept","openmrs_entity_id":"165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","values":["Kutokwa na damu katika eneo lililochanwa","Usaha/Majimaji kutoka kwenye eneo lililochanwa","Kuvimba eneo linalozunguka mchano","Nyingine","Hakuna"],"keys":["Incisional_bleeding","Pus_Discharge_from_incision","Swollen_around_the_incision","Others","None"],"openmrs_choice_ids":{"Incisional_bleeding":"147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Pus_Discharge_from_incision":"164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Swollen_around_the_incision":"159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Others":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","None":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"hint":"Je, anakabiliwa na madhara yoyote?","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"sterilization_side_effects_other","type":"edit_text","openmrs_entity":"concept","openmrs_entity_id":"164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","edit_type":"name","hint":"Zingine","v_required":{"value":"true","err":"Sehemu hii hawezi kuachwa wazi"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}},{"key":"action_taken","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Action taken","options":[{"key":"managed","openmrs_entity":"concept","openmrs_entity_id":"140959AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Managed"},{"key":"referred","openmrs_entity":"concept","openmrs_entity_id":"1648AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Referred"},{"key":"no_action_taken","openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"No action taken"}],"v_required":{"value":"true","err":"This value cannot be null"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"fp_followup_side_effects.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "FP Follow-up Visit Side-effects", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Side Effects", + "fields": [ + { + "key": "fp_method", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "read_only": "true" + }, + { + "key": "condom_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Athari za mzio", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Allergic_reactions", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Allergic_reactions": "149086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Je, anakabiliwa na madhara yoyote?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "condom_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Zingine", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "cocpop_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Kutokwa sana kwa damu", + "Vipindi vya hedhi visivyo vya kawaida", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Heavy_bleeding_", + "Irregular_periods", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Heavy_bleeding_": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Irregular_periods": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Je, anakabiliwa na madhara yoyote?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "cocpop_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Zingine", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "inject_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Kutokwa sana kwa damu", + "Vipindi vya hedhi visivyo vya kawaida", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Heavy_bleeding_", + "Irregular_periods", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Heavy_bleeding_": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Irregular_periods": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Je, anakabiliwa na madhara yoyote?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "inject_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Zingine", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "IUCD_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Maumivu makali ndani ya uke baada ya IUD kuwekwa", + "Kukaza au maumivu ya mgongo kwa siku chache baada ya kuweka IUD", + "Kugundua kati ya hedhi na/au hedhi isiyo ya kawaida", + "Hedhi nzito na maumivu makali ya hedhi", + "kutokw kwa IUD", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Severe_pain_inside_the_vagina_after_IUD_was_put_in", + "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in", + "Spotting_between_periods_and_or_irregular_periods", + "Heavier_periods_and_worse_menstrual_cramps", + "IUCD_explusion", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Severe_pain_inside_the_vagina_after_IUD_was_put_in": "123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in": "148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Spotting_between_periods_and_or_irregular_periods": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Heavier_periods_and_worse_menstrual_cramps": "156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "IUCD_explusion": "157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Je, anakabiliwa na madhara yoyote?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "IUCD_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Zingine", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "sterilization_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Kutokwa na damu katika eneo lililochanwa", + "Usaha/Majimaji kutoka kwenye eneo lililochanwa", + "Kuvimba eneo linalozunguka mchano", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Incisional_bleeding", + "Pus_Discharge_from_incision", + "Swollen_around_the_incision", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Incisional_bleeding": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Pus_Discharge_from_incision": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Swollen_around_the_incision": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Je, anakabiliwa na madhara yoyote?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "sterilization_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Zingine", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "action_taken", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Action taken", + "options": [ + { + "key": "managed", + "openmrs_entity": "concept", + "openmrs_entity_id": "140959AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Managed" + }, + { + "key": "referred", + "openmrs_entity": "concept", + "openmrs_entity_id": "1648AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Referred" + }, + { + "key": "no_action_taken", + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No action taken" + } + ], + "v_required": { + "value": "true", + "err": "This value cannot be null" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/in_app_monthly_tallies_report.json b/opensrp-chw/src/ba/assets/json.form-sw/in_app_monthly_tallies_report.json index 305894d9e3..2b19a1ef7e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/in_app_monthly_tallies_report.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/in_app_monthly_tallies_report.json @@ -1 +1,108 @@ -{"count":"1","encounter_type":"CHW Monthly tallies Report","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Monthly Tallies","fields":[{"key":"indicator_code","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"indicator_code","type":"edit_text","hint":"Msimbo wa kiashiria","value":""},{"key":"month","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"month","type":"edit_text","hint":"Mwezi","value":""},{"key":"edited","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"edited","type":"edit_text","hint":"imehaririwa","value":""},{"key":"date_sent","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"date_sent","type":"edit_text","hint":"Tarehe iliyotumwa","value":""},{"key":"created_at","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"created_at","type":"edit_text","hint":"Imeundwa saa","value":""},{"key":"value","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"value","type":"edit_text","hint":"Ilisasishwa saa","value":""}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "CHW Monthly tallies Report", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Monthly Tallies", + "fields": [ + { + "key": "indicator_code", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "indicator_code", + "type": "edit_text", + "hint": "Msimbo wa kiashiria", + "value": "" + }, + { + "key": "month", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "month", + "type": "edit_text", + "hint": "Mwezi", + "value": "" + }, + { + "key": "edited", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "edited", + "type": "edit_text", + "hint": "imehaririwa", + "value": "" + }, + { + "key": "date_sent", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "date_sent", + "type": "edit_text", + "hint": "Tarehe iliyotumwa", + "value": "" + }, + { + "key": "created_at", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "created_at", + "type": "edit_text", + "hint": "Imeundwa saa", + "value": "" + }, + { + "key": "value", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "value", + "type": "edit_text", + "hint": "Ilisasishwa saa", + "value": "" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/malaria_confirmation.json b/opensrp-chw/src/ba/assets/json.form-sw/malaria_confirmation.json index 0ec9d55548..8b0024ec58 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/malaria_confirmation.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/malaria_confirmation.json @@ -1 +1,437 @@ -{"validate_on_submit":true,"show_errors_on_submit":false,"count":"2","encounter_type":"Malaria Confirmation","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Malaria Confirmation","next":"step2","fields":[{"key":"date_chw_malaria_test","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"162869AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","hidden":"true","type":"edit_text","calculation":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_calculation.yml"}}}},{"key":"relational_id","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"relational_id","hidden":"true","type":"edit_text"},{"key":"fever_malaria_chw","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fever_malaria_chw","type":"native_radio","label":"Je mteja huyu ana Homa au amepimwa kwenye Kituo cha Afya na akakutwa na Malaria?","label_text_style":"bold","text_color":"#000000","options":[{"key":"has_fever","text":"Ana Homa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"has_fever","openmrs_entity_parent":""},{"key":"tested_positive_last_14_days","text":"Amepimwa kwenye Kituo cha Afya na Amekutwa na Malaria ndani siku 14","value":false,"openmrs_entity":"concept","openmrs_entity_id":"tested_positive_last_14_days","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Tafadhari mojawapo kati ya haya:"}},{"key":"fever_duration","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Umekuwa na Homa kwa muda gani?","values":["Chini ya masaa 24","Zaidi ya Masaa 24"],"openmrs_choice_ids":{"Less than 24 hrs":"164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","More than 24 hrs":"164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhari changua moja:"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"malaria_test_done","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"malaria_test_done","type":"spinner","hint":"Je kipimo cha Malaria kimefanyika?","values":["Hapana","Ndio, kimefanywa na mtoa huduma ngazi ya jamii"],"v_required":{"value":"true","err":"Tafadhari chagua mojawapo:"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"malaria_results","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Majibu ya mRDT","values":["Chanya","Hasi"],"openmrs_choice_ids":{"Positive":"703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Negative":"664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhari chagua mojawapo:"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"date_hf_malaria_test","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"date_hf_malaria_test","type":"date_picker","hint":"Tarehe ya kipimo cha Malaria kwenye Kituo cha Afya","expanded":false,"max_date":"today","v_required":{"value":"true","err":"Tafadhari Ingiza tarehe ya kipimo cha Malaria katika Kituo cha Afya"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"malaria_test_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","hidden":"true","type":"edit_text","calculation":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_calculation.yml"}}}},{"key":"malaria","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163725AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","hidden":"true","type":"edit_text","calculation":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_calculation.yml"}}}},{"key":"malaria_treat","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"malaria_treat","type":"spinner","hint":"Matibabu aliyopatiwa","values":["MSETO vidonge 6","MSETO vidonge 12","MSETO vidonge 18","MSETO vidonge 24","Hakupatiwa ","Matibabu mengine"],"openmrs_choice_ids":{"ALU 6":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","ALU 12":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","ALU 18":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","ALU 24":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Not given":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Other treatment":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhari chagua mojawapo"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"referral_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Tafadhari mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria","toaster_info_text":"Tafadhari mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}}]},"step2":{"title":"Malaria Prevention","fields":[{"key":"fam_llin","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fam_llin","type":"spinner","hint":"Je una Chandarua kiliwekea viwatilifu ya muda mrefu?","values":["Ndio","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhari chagua mojawapo"}},{"key":"llin_2days","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"llin_2days","type":"spinner","hint":"Je jana usiku umelala kwenye Chandarua chenye viwatilifu vya muda mrefu?","values":["Ndio","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhari Chagua mojawapo:"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"llin_condition","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"llin_condition","type":"spinner","hint":"Hali ya Chandarua","values":["Bado ni nzuri","Mbaya"],"openmrs_choice_ids":{"Okay":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Bad":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhari changua mojawapo:"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_confirmation_relevance.yml"}}}},{"key":"malaria_edu_chw","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"malaria_edu_chw","type":"check_box","label":"Mada za Malaria zilizofundishwa","label_text_style":"normal","text_color":"#C0C0C0","combine_checkbox_option_values":"true","exclusive":["chk_none"],"options":[{"key":"overview_on_malaria","text":"Mukhutasari juu ya Malaria","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"malaria_prevention","text":"Jinsi ya Kujikinga na Malaria","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"uncomplicated_malaria","text":"Malaria ya kawaida","value":false,"openmrs_entity":"concept","openmrs_entity_id":"159950AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"Severe_malaria","text":"Malaria kali","value":false,"openmrs_entity":"concept","openmrs_entity_id":"160155AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"malaria_in_pregnancy","text":"Malaria katika Ujauzito","value":false,"openmrs_entity":"concept","openmrs_entity_id":"135361AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_none"}],"v_required":{"value":"true","err":"Mada za Malaria zilizojadiliwa:"}}]}} \ No newline at end of file +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "2", + "encounter_type": "Malaria Confirmation", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Malaria Confirmation", + "next": "step2", + "fields": [ + { + "key": "date_chw_malaria_test", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "162869AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "hidden": "true", + "type": "edit_text", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_calculation.yml" + } + } + } + }, + { + "key": "relational_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "relational_id", + "hidden": "true", + "type": "edit_text" + }, + { + "key": "fever_malaria_chw", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fever_malaria_chw", + "type": "native_radio", + "label": "Je mteja huyu ana Homa au amepimwa kwenye Kituo cha Afya na akakutwa na Malaria?", + "label_text_style": "bold", + "text_color": "#000000", + "options": [ + { + "key": "has_fever", + "text": "Ana Homa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "has_fever", + "openmrs_entity_parent": "" + }, + { + "key": "tested_positive_last_14_days", + "text": "Amepimwa kwenye Kituo cha Afya na Amekutwa na Malaria ndani siku 14", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "tested_positive_last_14_days", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhari mojawapo kati ya haya:" + } + }, + { + "key": "fever_duration", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Umekuwa na Homa kwa muda gani?", + "values": [ + "Chini ya masaa 24", + "Zaidi ya Masaa 24" + ], + "openmrs_choice_ids": { + "Less than 24 hrs": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "More than 24 hrs": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhari changua moja:" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "malaria_test_done", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "malaria_test_done", + "type": "spinner", + "hint": "Je kipimo cha Malaria kimefanyika?", + "values": [ + "Hapana", + "Ndio, kimefanywa na mtoa huduma ngazi ya jamii" + ], + "v_required": { + "value": "true", + "err": "Tafadhari chagua mojawapo:" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "malaria_results", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Majibu ya mRDT", + "values": [ + "Chanya", + "Hasi" + ], + "openmrs_choice_ids": { + "Positive": "703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Negative": "664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhari chagua mojawapo:" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "date_hf_malaria_test", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "date_hf_malaria_test", + "type": "date_picker", + "hint": "Tarehe ya kipimo cha Malaria kwenye Kituo cha Afya", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhari Ingiza tarehe ya kipimo cha Malaria katika Kituo cha Afya" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "malaria_test_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "hidden": "true", + "type": "edit_text", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_calculation.yml" + } + } + } + }, + { + "key": "malaria", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163725AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "hidden": "true", + "type": "edit_text", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_calculation.yml" + } + } + } + }, + { + "key": "malaria_treat", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "malaria_treat", + "type": "spinner", + "hint": "Matibabu aliyopatiwa", + "values": [ + "MSETO vidonge 6", + "MSETO vidonge 12", + "MSETO vidonge 18", + "MSETO vidonge 24", + "Hakupatiwa ", + "Matibabu mengine" + ], + "openmrs_choice_ids": { + "ALU 6": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "ALU 12": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "ALU 18": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "ALU 24": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Not given": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other treatment": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhari chagua mojawapo" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "referral_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Tafadhari mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria", + "toaster_info_text": "Tafadhari mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + } + ] + }, + "step2": { + "title": "Malaria Prevention", + "fields": [ + { + "key": "fam_llin", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fam_llin", + "type": "spinner", + "hint": "Je una Chandarua kiliwekea viwatilifu ya muda mrefu?", + "values": [ + "Ndio", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhari chagua mojawapo" + } + }, + { + "key": "llin_2days", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "llin_2days", + "type": "spinner", + "hint": "Je jana usiku umelala kwenye Chandarua chenye viwatilifu vya muda mrefu?", + "values": [ + "Ndio", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhari Chagua mojawapo:" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "llin_condition", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "llin_condition", + "type": "spinner", + "hint": "Hali ya Chandarua", + "values": [ + "Bado ni nzuri", + "Mbaya" + ], + "openmrs_choice_ids": { + "Okay": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bad": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhari changua mojawapo:" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "malaria_edu_chw", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "malaria_edu_chw", + "type": "check_box", + "label": "Mada za Malaria zilizofundishwa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "combine_checkbox_option_values": "true", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "overview_on_malaria", + "text": "Mukhutasari juu ya Malaria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "malaria_prevention", + "text": "Jinsi ya Kujikinga na Malaria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "uncomplicated_malaria", + "text": "Malaria ya kawaida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159950AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "Severe_malaria", + "text": "Malaria kali", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "160155AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "malaria_in_pregnancy", + "text": "Malaria katika Ujauzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "135361AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Mada za Malaria zilizojadiliwa:" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/malaria_follow_up_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/malaria_follow_up_visit.json index 12b464deee..627d3add2f 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/malaria_follow_up_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/malaria_follow_up_visit.json @@ -1 +1,283 @@ -{"count":"1","encounter_type":"Malaria Follow-up Visit","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Follow-up Visit","fields":[{"key":"date_chw_mfollowup","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"162869AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden"},{"key":"hf_chw_mfollowup","type":"native_radio","openmrs_entity":"","openmrs_entity_id":"1889AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Je umepata rufaa kwenye kufanya kipimo cha Malaria katika Kituo cha Afya?","options":[{"key":"Yes","openmrs_entity":"","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"No","openmrs_entity":"","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":null}},{"key":"treat_given_chw_mfollowup","type":"native_radio","openmrs_entity":"","openmrs_entity_id":"162686AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Matibabu yaliyotolewa","options":[{"key":"ALU_6","openmrs_entity":"","openmrs_entity_id":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"MSETO vidonge 6"},{"key":"ALU_12","openmrs_entity":"","openmrs_entity_id":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"MSETO vidonge 12"},{"key":"ALU_18","openmrs_entity":"","openmrs_entity_id":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"MSETO vidonge 18"},{"key":"ALU_24","openmrs_entity":"","openmrs_entity_id":"1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"MSETO vidonge 24"},{"key":"Other_treatment","openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Matibabu Mengine"},{"key":"Received_treatment_but_dont_remember_which_treatment","openmrs_entity":"","openmrs_entity_id":"1767AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Nimepokea matibabu mengine ila sikumbuki"},{"key":"Not_given_treatment","openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Sijapata matibabu"}],"v_required":{"value":"true","err":null},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_followup_relevance.yml"}}}},{"key":"reason_no_treat","type":"native_radio","openmrs_entity":"","openmrs_entity_id":"1743AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Sababu za kutotoa matibabu","options":[{"key":"Referral_unsuccessful","openmrs_entity":"","openmrs_entity_id":"160068AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Rufaa haijakamilika"},{"key":"Drugs_stock_out","openmrs_entity":"","openmrs_entity_id":"1754AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Dawa zimeisha"},{"key":"Other_reason","openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Sababu nyingine"}],"v_required":{"value":"true","err":null},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_followup_relevance.yml"}}}},{"key":"fever_still","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Je bado unajihisi Homa?","options":[{"key":"Yes","openmrs_entity":"","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndiyo","value":false},{"key":"No","openmrs_entity":"","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana","value":false}],"v_required":{"value":"true","err":null}},{"key":"fever_duration","type":"native_radio","openmrs_entity":"","openmrs_entity_id":"1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Umekuwa na Homa kwa muda gani?","options":[{"key":"Less_than_24hrs","openmrs_entity":"","openmrs_entity_id":"164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Chini ya masaa 24"},{"key":"More_than_24hrs","openmrs_entity":"","openmrs_entity_id":"NA","openmrs_entity_parent":"","text":"Zaidi ya masaa 24"}],"v_required":{"value":"true","err":null},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_followup_relevance.yml"}}}},{"key":"referral_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mpe rufaa mteja kwenda kwenye kituo cha afya kwa ajili ya uchunguzi na vipimo vya ziada","toaster_info_text":"Mpe rufaa mteja kwenda kwenye kituo cha afya kwa ajili ya uchunguzi na vipimo vya ziada","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_followup_relevance.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Malaria Follow-up Visit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Follow-up Visit", + "fields": [ + { + "key": "date_chw_mfollowup", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "162869AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden" + }, + { + "key": "hf_chw_mfollowup", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "1889AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Je umepata rufaa kwenye kufanya kipimo cha Malaria katika Kituo cha Afya?", + "options": [ + { + "key": "Yes", + "openmrs_entity": "", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndio" + }, + { + "key": "No", + "openmrs_entity": "", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": null + } + }, + { + "key": "treat_given_chw_mfollowup", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "162686AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Matibabu yaliyotolewa", + "options": [ + { + "key": "ALU_6", + "openmrs_entity": "", + "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "MSETO vidonge 6" + }, + { + "key": "ALU_12", + "openmrs_entity": "", + "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "MSETO vidonge 12" + }, + { + "key": "ALU_18", + "openmrs_entity": "", + "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "MSETO vidonge 18" + }, + { + "key": "ALU_24", + "openmrs_entity": "", + "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "MSETO vidonge 24" + }, + { + "key": "Other_treatment", + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Matibabu Mengine" + }, + { + "key": "Received_treatment_but_dont_remember_which_treatment", + "openmrs_entity": "", + "openmrs_entity_id": "1767AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Nimepokea matibabu mengine ila sikumbuki" + }, + { + "key": "Not_given_treatment", + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Sijapata matibabu" + } + ], + "v_required": { + "value": "true", + "err": null + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_followup_relevance.yml" + } + } + } + }, + { + "key": "reason_no_treat", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "1743AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Sababu za kutotoa matibabu", + "options": [ + { + "key": "Referral_unsuccessful", + "openmrs_entity": "", + "openmrs_entity_id": "160068AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Rufaa haijakamilika" + }, + { + "key": "Drugs_stock_out", + "openmrs_entity": "", + "openmrs_entity_id": "1754AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Dawa zimeisha" + }, + { + "key": "Other_reason", + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Sababu nyingine" + } + ], + "v_required": { + "value": "true", + "err": null + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_followup_relevance.yml" + } + } + } + }, + { + "key": "fever_still", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Je bado unajihisi Homa?", + "options": [ + { + "key": "Yes", + "openmrs_entity": "", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo", + "value": false + }, + { + "key": "No", + "openmrs_entity": "", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana", + "value": false + } + ], + "v_required": { + "value": "true", + "err": null + } + }, + { + "key": "fever_duration", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Umekuwa na Homa kwa muda gani?", + "options": [ + { + "key": "Less_than_24hrs", + "openmrs_entity": "", + "openmrs_entity_id": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Chini ya masaa 24" + }, + { + "key": "More_than_24hrs", + "openmrs_entity": "", + "openmrs_entity_id": "NA", + "openmrs_entity_parent": "", + "text": "Zaidi ya masaa 24" + } + ], + "v_required": { + "value": "true", + "err": null + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_followup_relevance.yml" + } + } + } + }, + { + "key": "referral_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Mpe rufaa mteja kwenda kwenye kituo cha afya kwa ajili ya uchunguzi na vipimo vya ziada", + "toaster_info_text": "Mpe rufaa mteja kwenda kwenye kituo cha afya kwa ajili ya uchunguzi na vipimo vya ziada", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_followup_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/malaria_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/malaria_referral_form.json index 2b74cb2b45..3852fe12e9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/malaria_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/malaria_referral_form.json @@ -1 +1,339 @@ -{"count":"1","encounter_type":"Malaria Referral","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Malaria Referral","fields":[{"key":"referral_problem_malaria","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"referral_problem_malaria","type":"check_box","label":"Maelezo kuhusiana na matatizo ya mteja","label_text_style":"bold","options":[{"key":"Fever","text":"Homa","value":false,"openmrs_entity":"","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Diarrhea","text":"Kuhara","value":false,"openmrs_entity":"","openmrs_entity_id":"142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Vomiting","text":"Kutapika","value":false,"openmrs_entity":"","openmrs_entity_id":"122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Nausea","text":"Kichefuchefu","value":false,"openmrs_entity":"","openmrs_entity_id":"5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Trembling","text":"Kuhisi kutetemeka","value":false,"openmrs_entity":"","openmrs_entity_id":"158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"A_severe_headache_dizziness","text":"Maumivu makali ya Kichwa","value":false,"openmrs_entity":"","openmrs_entity_id":"139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Sweating","text":"Kutokwa na jasho","value":false,"openmrs_entity":"","openmrs_entity_id":"140941AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_abdominal_pain","text":"Maumivu makali ya tumbo ","value":false,"openmrs_entity":"","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Muscle_pain","text":"Maumivu ya Misuli","value":false,"openmrs_entity":"","openmrs_entity_id":"133632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Sweling_of_the_face_and_or_hands","text":"Kuvimba uso na mikono","value":false,"openmrs_entity":"","openmrs_entity_id":"163894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Difficult_in_breathing_fast_and_laboured_breathing","text":"Changamoto ya Upumuaji (Ugumu wa kupumua)","value":false,"openmrs_entity":"","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Convulsions","text":"Degedege","value":false,"openmrs_entity":"","openmrs_entity_id":"113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Very_weak","text":"Kuhisi mdhaifu wa mwili","value":false,"openmrs_entity":"","openmrs_entity_id":"5226AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Irritable_easily_disturbed","text":"Kuwa na hasira","value":false,"openmrs_entity":"","openmrs_entity_id":"118296AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Unconcious","text":"Kupoteza fahamu","value":false,"openmrs_entity":"","openmrs_entity_id":"123818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Unusually_sleepy","text":"Usingizi usikuwa wa kawaida","value":false,"openmrs_entity":"","openmrs_entity_id":"117417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Neck_stiffness","text":"Kukakamaa kwa Shingo","value":false,"openmrs_entity":"","openmrs_entity_id":"112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Unable_to_sit_without_support","text":"Kushindwa kukaa","value":false,"openmrs_entity":"","openmrs_entity_id":"123833AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Abnormal_bleeding_or_passing_of_urine_with_blood","text":"Kutokwa na damu kusiko kawaida","value":false,"openmrs_entity":"","openmrs_entity_id":"147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_anaemia_pale_palms_and_inner_eyelids","text":"Upungufu mkubwa wa damu","value":false,"openmrs_entity":"","openmrs_entity_id":"162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Yellowing_of_the_eyes_jaundice","text":"Homa ya Manjano","value":false,"openmrs_entity":"","openmrs_entity_id":"136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_malnutrition","text":"Utapiamlo","value":false,"openmrs_entity":"","openmrs_entity_id":"163302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Bloating","text":"Kuvimba mwili","value":false,"openmrs_entity":"","openmrs_entity_id":"147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":true,"err":"Tafadhari bainisha matatizo aliyonayo mteja"}},{"key":"service_before_malaria","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"service_before_malaria","type":"check_box","label":"Matibabu aliyopatikwa kabla ya Rufaa","label_text_style":"bold","is_problem":false,"exclusive":["None"],"options":[{"key":"Rectal_artesunate","text":"Rectal artesunate","value":false,"openmrs_entity":"","openmrs_entity_id":"71561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Panadol","text":"Panado","value":false,"openmrs_entity":"","openmrs_entity_id":"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"ORS","text":"Dawa ya kurejesha maji mwilini (ORS)","value":false,"openmrs_entity":"","openmrs_entity_id":"351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_treatment","text":"Matibabu mengine","value":false,"ignore":true,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Matibabu aliyopatikwa kabla ya Rufaa"}},{"key":"service_before_malaria_other","type":"edit_text","openmrs_entity":"","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","edit_type":"name","hint":"Matibabu mengine","is_problem":false,"v_required":{"value":"true","err":"Tafadhari bainisha matibabu mengine"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"malaria_referral_relevance.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Malaria Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Malaria Referral", + "fields": [ + { + "key": "referral_problem_malaria", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_problem_malaria", + "type": "check_box", + "label": "Maelezo kuhusiana na matatizo ya mteja", + "label_text_style": "bold", + "options": [ + { + "key": "Fever", + "text": "Homa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Diarrhea", + "text": "Kuhara", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Vomiting", + "text": "Kutapika", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Nausea", + "text": "Kichefuchefu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Trembling", + "text": "Kuhisi kutetemeka", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "A_severe_headache_dizziness", + "text": "Maumivu makali ya Kichwa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Sweating", + "text": "Kutokwa na jasho", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140941AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_abdominal_pain", + "text": "Maumivu makali ya tumbo ", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Muscle_pain", + "text": "Maumivu ya Misuli", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "133632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Sweling_of_the_face_and_or_hands", + "text": "Kuvimba uso na mikono", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "163894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Difficult_in_breathing_fast_and_laboured_breathing", + "text": "Changamoto ya Upumuaji (Ugumu wa kupumua)", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Very_weak", + "text": "Kuhisi mdhaifu wa mwili", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5226AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Irritable_easily_disturbed", + "text": "Kuwa na hasira", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "118296AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unconcious", + "text": "Kupoteza fahamu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unusually_sleepy", + "text": "Usingizi usikuwa wa kawaida", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "117417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Neck_stiffness", + "text": "Kukakamaa kwa Shingo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unable_to_sit_without_support", + "text": "Kushindwa kukaa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123833AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Abnormal_bleeding_or_passing_of_urine_with_blood", + "text": "Kutokwa na damu kusiko kawaida", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_anaemia_pale_palms_and_inner_eyelids", + "text": "Upungufu mkubwa wa damu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Yellowing_of_the_eyes_jaundice", + "text": "Homa ya Manjano", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_malnutrition", + "text": "Utapiamlo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "163302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bloating", + "text": "Kuvimba mwili", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": true, + "err": "Tafadhari bainisha matatizo aliyonayo mteja" + } + }, + { + "key": "service_before_malaria", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "service_before_malaria", + "type": "check_box", + "label": "Matibabu aliyopatikwa kabla ya Rufaa", + "label_text_style": "bold", + "is_problem": false, + "exclusive": [ + "None" + ], + "options": [ + { + "key": "Rectal_artesunate", + "text": "Rectal artesunate", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "71561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Panadol", + "text": "Panado", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "ORS", + "text": "Dawa ya kurejesha maji mwilini (ORS)", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_treatment", + "text": "Matibabu mengine", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Matibabu aliyopatikwa kabla ya Rufaa" + } + }, + { + "key": "service_before_malaria_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "edit_type": "name", + "hint": "Matibabu mengine", + "is_problem": false, + "v_required": { + "value": "true", + "err": "Tafadhari bainisha matibabu mengine" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_referral_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/observation_illness.json b/opensrp-chw/src/ba/assets/json.form-sw/observation_illness.json index bd0c7baf8a..0e59aa4e4e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/observation_illness.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/observation_illness.json @@ -1 +1,129 @@ -{"count":"1","encounter_type":"Observations Illness","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Observations & Illness","fields":[{"key":"date_of_illness","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe","expanded":false,"max_date":"today","min_date":"","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya ugonjwa"}},{"key":"illness_description","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"text","type":"edit_text","hint":"Maelezo","v_required":{"value":"true","err":"Tafadhali ingiza maelezo"}},{"key":"action_taken_1m5yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Hatua iliyochukuliwa","v_required":{"value":"true","err":"Tafadhali chagua hatua"},"values":["ORS 5","Zinc 10","Panadol","Kutoa rufaa","Matibabu mengine","Hakuna matibabu yaliyotolewa"],"keys":["ORS 5","Zinc 10","Panadol","Referred","Other treatment given","No treatment"]},{"key":"other_treat_1m5yr","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Matibabu mengine","v_required":{"value":"true","err":"Tafadhali taja matibabu mengine"},"relevance":{"step1:action_taken_1m5yr":{"type":"string","ex":"equalTo(., \"Other treatment\")"}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Observations Illness", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Observations & Illness", + "fields": [ + { + "key": "date_of_illness", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe", + "expanded": false, + "max_date": "today", + "min_date": "", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya ugonjwa" + } + }, + { + "key": "illness_description", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Maelezo", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza maelezo" + } + }, + { + "key": "action_taken_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hatua iliyochukuliwa", + "v_required": { + "value": "true", + "err": "Tafadhali chagua hatua" + }, + "values": [ + "ORS 5", + "Zinc 10", + "Panadol", + "Kutoa rufaa", + "Matibabu mengine", + "Hakuna matibabu yaliyotolewa" + ], + "keys": [ + "ORS 5", + "Zinc 10", + "Panadol", + "Referred", + "Other treatment given", + "No treatment" + ] + }, + { + "key": "other_treat_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Matibabu mengine", + "v_required": { + "value": "true", + "err": "Tafadhali taja matibabu mengine" + }, + "relevance": { + "step1:action_taken_1m5yr": { + "type": "string", + "ex": "equalTo(., \"Other treatment\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_counselling.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_counselling.json index d69b72540b..7b31620510 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_counselling.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_counselling.json @@ -1 +1,213 @@ -{"count":"1","encounter_type":"Child Home Visit Counselling","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Counselling","fields":[{"key":"couselling_pnc","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Ushauri uliyotolewa","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_maternal_nutrition","text":"Lishe ya mama wakati wa kunyonyesha","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_hiv_aids","text":"Taarifa za jumla za VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_pmtct","text":"PMTCT kwa mama","value":false,"openmrs_entity":"concept","openmrs_entity_id":"160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_malaria_prevention","text":"Kuzuia Malaria","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_pnc_care_for_mother","text":"Malezi ya PNC kwa mama","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1623AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_hiv_exposed_infant","text":"Ufuatiliaji wa Mtoto aliye katika hatari ya VVU","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_pnc_danger_signs","text":"Dalili za hatari za PNC","value":false,"openmrs_entity":"concept","openmrs_entity_id":"161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_care_of_infant_after_birth","text":"Malezi ya mtoto mchanga baada ya kuzaliwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"159839AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_care_of_premature_baby","text":"Malezi ya mtoto njiti","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_care_of_new_born","text":"Malezi ya mtoto mchanga mara baada ya kuzaliwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_new_born_danger_signs","text":"Dalili za hatari kwa mtoto mchanga ","value":false,"openmrs_entity":"concept","openmrs_entity_id":"161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_hiv_exposed_infant","text":"Ufuatiliaji wa Mtoto aliye katika hatari ya VVU","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_breastfeeding","text":"Kunyonyesha","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_lam","text":"LAM kama njia ya asili ya uzazi wa mpango, ambayo inajumuisha unyonyeshaji wa kipekee miezi sita baada ya kujifungua","value":false,"openmrs_entity":"concept","openmrs_entity_id":"161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_family_planning","text":"Uzazi wa mpango","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_birth_registration","text":"Usajili wa kuzaliwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_immunisation","text":"Upataji wa chanjo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_infection_prevention","text":"Kuzuia na kudhibiti maambukizi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_gender_issues","text":"Masuala ya jinsia","value":false,"openmrs_entity":"","openmrs_entity_id":""},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}],"v_required":{"value":"true","err":"Tafahdali chagua angalau moja"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Child Home Visit Counselling", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Counselling", + "fields": [ + { + "key": "couselling_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Ushauri uliyotolewa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_maternal_nutrition", + "text": "Lishe ya mama wakati wa kunyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_hiv_aids", + "text": "Taarifa za jumla za VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_pmtct", + "text": "PMTCT kwa mama", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_malaria_prevention", + "text": "Kuzuia Malaria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_pnc_care_for_mother", + "text": "Malezi ya PNC kwa mama", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1623AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_hiv_exposed_infant", + "text": "Ufuatiliaji wa Mtoto aliye katika hatari ya VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_pnc_danger_signs", + "text": "Dalili za hatari za PNC", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_care_of_infant_after_birth", + "text": "Malezi ya mtoto mchanga baada ya kuzaliwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159839AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_care_of_premature_baby", + "text": "Malezi ya mtoto njiti", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_care_of_new_born", + "text": "Malezi ya mtoto mchanga mara baada ya kuzaliwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_new_born_danger_signs", + "text": "Dalili za hatari kwa mtoto mchanga ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_hiv_exposed_infant", + "text": "Ufuatiliaji wa Mtoto aliye katika hatari ya VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_breastfeeding", + "text": "Kunyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_lam", + "text": "LAM kama njia ya asili ya uzazi wa mpango, ambayo inajumuisha unyonyeshaji wa kipekee miezi sita baada ya kujifungua", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_family_planning", + "text": "Uzazi wa mpango", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_birth_registration", + "text": "Usajili wa kuzaliwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_immunisation", + "text": "Upataji wa chanjo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_infection_prevention", + "text": "Kuzuia na kudhibiti maambukizi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_gender_issues", + "text": "Masuala ya jinsia", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Tafahdali chagua angalau moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_baby.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_baby.json index 888a354461..69ed01ffbe 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_baby.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_baby.json @@ -1 +1,204 @@ -{"count":"1","encounter_type":"Danger signs - Baby","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Danger Signs Baby","fields":[{"key":"danger_signs_present_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Je, mtoto ana dalili zozote za hatari?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_fever","text":"Homa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_excessive_crying","text":"Kulia kupita kiasi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"110540AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_fast_breathing","text":"Kupumua kwa haraka","value":false,"openmrs_entity":"concept","openmrs_entity_id":"125061AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_difficult_breathing","text":"Kupumua kwa shida","value":false,"openmrs_entity":"concept","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_unable_to_suck","text":"Kutoweza kunyonya","value":false,"openmrs_entity":"concept","openmrs_entity_id":"159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_umbilical_discharge","text":"Kitovu kutokwa na damu/usaha","value":false,"openmrs_entity":"concept","openmrs_entity_id":"123843AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_no_movement","text":"Hamna uchezaji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164455AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_convulsions","text":"Degedege","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_skin_rashes","text":"Vipele kwenye ngozi","value":false,"openmrs_entity":"concept","openmrs_entity_id":"512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_pale","text":"Kupauka au kuonekana na rangi ya manjano","value":false,"openmrs_entity":"concept","openmrs_entity_id":"136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_eye_discharge","text":"Jicho kutokwa na majimaji ","value":false,"openmrs_entity":"concept","openmrs_entity_id":"142246AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_lethargy","text":"Ulegeevu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"116334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"}},{"key":"danger_signs_present_toaster","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Dalili ya hatari! Mpatie rufaa kwenda kituo cha afya haraka","text_color":"#CF0800","toaster_type":"problem","relevance":{"step1:danger_signs_present_child":{"ex-checkbox":[{"or":["chk_fever","chk_excessive_crying","chk_fast_breathing","chk_difficult_breathing","chk_unable_to_suck","chk_umbilical_discharge","chk_no_movement","chk_convulsions","chk_skin_rashes","chk_pale","chk_eye_discharge","chk_severe_abdominal_pain","chk_lethargy"]}]}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Danger signs - Baby", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Danger Signs Baby", + "fields": [ + { + "key": "danger_signs_present_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Je, mtoto ana dalili zozote za hatari?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_fever", + "text": "Homa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_excessive_crying", + "text": "Kulia kupita kiasi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "110540AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_fast_breathing", + "text": "Kupumua kwa haraka", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "125061AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_difficult_breathing", + "text": "Kupumua kwa shida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_unable_to_suck", + "text": "Kutoweza kunyonya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_umbilical_discharge", + "text": "Kitovu kutokwa na damu/usaha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "123843AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_no_movement", + "text": "Hamna uchezaji", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164455AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_skin_rashes", + "text": "Vipele kwenye ngozi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_pale", + "text": "Kupauka au kuonekana na rangi ya manjano", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_eye_discharge", + "text": "Jicho kutokwa na majimaji ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142246AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_lethargy", + "text": "Ulegeevu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "116334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + } + }, + { + "key": "danger_signs_present_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Dalili ya hatari! Mpatie rufaa kwenda kituo cha afya haraka", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:danger_signs_present_child": { + "ex-checkbox": [ + { + "or": [ + "chk_fever", + "chk_excessive_crying", + "chk_fast_breathing", + "chk_difficult_breathing", + "chk_unable_to_suck", + "chk_umbilical_discharge", + "chk_no_movement", + "chk_convulsions", + "chk_skin_rashes", + "chk_pale", + "chk_eye_discharge", + "chk_severe_abdominal_pain", + "chk_lethargy" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_mother.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_mother.json index b268054c44..495e6c65ef 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_mother.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_mother.json @@ -1 +1,204 @@ -{"count":"1","encounter_type":"Danger signs - Mother","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Danger Signs Mother","fields":[{"key":"danger_signs_present_mama","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Je, mama ana dalili zozote za hatari?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_fever","text":"Homa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_bleeding_vaginally","text":"Kutokwa na damu ukeni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_server_headache","text":"Maumivu makali ya kichwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_convulsions","text":"Degedege","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_difficulty_breathing","text":"Kupumua kwa shida","value":false,"openmrs_entity":"concept","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_severe_leg_pain","text":"Maumivu makali ya mguu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"114395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_unusual_behaviour","text":"Tabia isiyo ya kawaida (msongo wa mawazo, kuchanganyikiwa)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"152376AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_swelling of breast","text":"Kuvimba kwa titi na chuchu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"125212AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_vaginal_discharge","text":"Kutokwa na majimaji yenye harufu mbaya kutoka ukeni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_blurred_vision","text":"Uoni hafifu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_loss_conscioueness","text":"Kupoteza fahamu","value":false,"openmrs_entity":"concept","openmrs_entity_id":"135592AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_urination","text":"Kukojoa kidogo au mkojo kuvuja kutoka ukeni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"118982AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}],"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"danger_signs_present_toaster","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Dalili ya hatari! Mpatie rufaa ya kwenda kituo cha afya haraka.","text_color":"#CF0800","toaster_type":"problem","relevance":{"step1:danger_signs_present_mama":{"ex-checkbox":[{"or":["chk_fever","chk_bleeding_vaginally","chk_server_headache","chk_convulsions","chk_difficulty_breathing","chk_severe_leg_pain","chk_unusual_behaviour","chk_swelling of breast","chk_severe_abdominal_pain","chk_vaginal_discharge","chk_blurred_vision","chk_loss_conscioueness","chk_urination"]}]}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Danger signs - Mother", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Danger Signs Mother", + "fields": [ + { + "key": "danger_signs_present_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Je, mama ana dalili zozote za hatari?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_fever", + "text": "Homa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_bleeding_vaginally", + "text": "Kutokwa na damu ukeni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_server_headache", + "text": "Maumivu makali ya kichwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_difficulty_breathing", + "text": "Kupumua kwa shida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_severe_leg_pain", + "text": "Maumivu makali ya mguu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "114395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_unusual_behaviour", + "text": "Tabia isiyo ya kawaida (msongo wa mawazo, kuchanganyikiwa)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "152376AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_swelling of breast", + "text": "Kuvimba kwa titi na chuchu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "125212AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_vaginal_discharge", + "text": "Kutokwa na majimaji yenye harufu mbaya kutoka ukeni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_blurred_vision", + "text": "Uoni hafifu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_loss_conscioueness", + "text": "Kupoteza fahamu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "135592AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_urination", + "text": "Kukojoa kidogo au mkojo kuvuja kutoka ukeni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "118982AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "danger_signs_present_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Dalili ya hatari! Mpatie rufaa ya kwenda kituo cha afya haraka.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:danger_signs_present_mama": { + "ex-checkbox": [ + { + "or": [ + "chk_fever", + "chk_bleeding_vaginally", + "chk_server_headache", + "chk_convulsions", + "chk_difficulty_breathing", + "chk_severe_leg_pain", + "chk_unusual_behaviour", + "chk_swelling of breast", + "chk_severe_abdominal_pain", + "chk_vaginal_discharge", + "chk_blurred_vision", + "chk_loss_conscioueness", + "chk_urination" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_exclusive_breastfeeding.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_exclusive_breastfeeding.json index 316d97c302..1aec1f80c8 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_exclusive_breastfeeding.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_exclusive_breastfeeding.json @@ -1 +1,76 @@ -{"count":"1","encounter_type":"Exclusive breast feeding","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Exclusive breastfeeding","fields":[{"key":"exclusive_breast_feeding","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"exclusive_breast_feeding","type":"spinner","image":"ic_form_bf","hint":"Je, mtoto amekuwa akinyonya maziwa ya mama pekee?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Exclusive breast feeding", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Exclusive breastfeeding", + "fields": [ + { + "key": "exclusive_breast_feeding", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "exclusive_breast_feeding", + "type": "spinner", + "image": "ic_form_bf", + "hint": "Je, mtoto amekuwa akinyonya maziwa ya mama pekee?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_family_planning.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_family_planning.json index d292769f3f..f08d8cb91c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_family_planning.json @@ -1 +1,197 @@ -{"count":"1","encounter_type":"Family Planning","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Family Planning","fields":[{"key":"fp_counseling","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Je, mama alishauriwa kuhusu upangaji uzazi katika kituo cha afya hivi karibuni??","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"fp_period_received","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Alishauriwa katika kipindi gani?","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"chk_during_anc","text":"Wakati wa ANCc","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_during_anc"},{"key":"chk_during_labour_and_delivery","text":"Wakati wa kujifungua","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_during_labour_and_delivery"},{"key":"chk_during_pnc","text":"Wakati wa PNC","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_during_pnc"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"pnc_family_planning_relevance.yml"}}}},{"key":"fp_method","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Njia ya uzazi wa mpango iliyochaguliwa","values":["Njia ya PPIUCD","Vidonge","Kipandikizi","Kondomu","Njia ya LAM","Njia ya kawaida ya siku","Njia ya kudumu (BTL)","Njia ya kudumu (Vasectomy)","Hakuna"],"keys":["PPIUCD","Pills","Implant","Condoms","LAM","Bead Counting","Permanent (BTL)","Permanent (Vascemtomy)","None"],"openmrs_choice_ids":{"PPIUCD":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Pills":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Implant":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Condoms":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","LAM":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Bead Counting":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Permanent (BTL)":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Permanent (Vascemtomy)":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","None":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"pnc_family_planning_relevance.yml"}}}},{"key":"fp_start_date","openmrs_entity_parent":"163757AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya kuanza","min_date":"today-120y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kuanza kututmika kwa njia iliyochaguliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"pnc_family_planning_relevance.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Family Planning", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Family Planning", + "fields": [ + { + "key": "fp_counseling", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mama alishauriwa kuhusu upangaji uzazi katika kituo cha afya hivi karibuni??", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "fp_period_received", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Alishauriwa katika kipindi gani?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "chk_during_anc", + "text": "Wakati wa ANCc", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_during_anc" + }, + { + "key": "chk_during_labour_and_delivery", + "text": "Wakati wa kujifungua", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_during_labour_and_delivery" + }, + { + "key": "chk_during_pnc", + "text": "Wakati wa PNC", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_during_pnc" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_family_planning_relevance.yml" + } + } + } + }, + { + "key": "fp_method", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Njia ya uzazi wa mpango iliyochaguliwa", + "values": [ + "Njia ya PPIUCD", + "Vidonge", + "Kipandikizi", + "Kondomu", + "Njia ya LAM", + "Njia ya kawaida ya siku", + "Njia ya kudumu (BTL)", + "Njia ya kudumu (Vasectomy)", + "Hakuna" + ], + "keys": [ + "PPIUCD", + "Pills", + "Implant", + "Condoms", + "LAM", + "Bead Counting", + "Permanent (BTL)", + "Permanent (Vascemtomy)", + "None" + ], + "openmrs_choice_ids": { + "PPIUCD": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Pills": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Implant": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Condoms": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "LAM": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bead Counting": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Permanent (BTL)": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Permanent (Vascemtomy)": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_family_planning_relevance.yml" + } + } + } + }, + { + "key": "fp_start_date", + "openmrs_entity_parent": "163757AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe ya kuanza", + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya kuanza kututmika kwa njia iliyochaguliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_family_planning_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit.json index 59616ce123..e01303acab 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit.json @@ -1 +1,168 @@ -{"count":"1","encounter_type":"Health Facility Visit","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Health Facility Visit","fields":[{"key":"pnc_visit_{0}","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Je, mwanamke huyo alihudhuria PNC yake alipotembelea {0} kituo cha afya? Tarehe ya kukamilisha hudhurio: {1}","v_required":{"value":"true","err":"Tafadhali chagua chaguo"},"values":["Ndiyo","Hapana"]},{"key":"pnc_hf_visit{0}_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya kutembelea kituo cha afya kwa ajili ya PNC {0}","expanded":false,"max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe "},"relevance":{"step1:pnc_visit_{0}":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"vit_a_mother","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Je, mwanamke huyo alipokea Vitamini A ndani ya saa 24 baada ya kujifungua?","v_required":{"value":"true","err":"Tafadhali chagua chaguo"},"values":["Ndiyo","Hapana"],"relevance":{"step1:pnc_visit_{0}":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"ifa_mother","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"104677AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Je, mwanamke alipokea tembe za iron na folic acid (IFA) ndani ya saa 24 baada ya kujifungua?","v_required":{"value":"true","err":"Tafadhali chagua chaguo"},"values":["Ndiyo","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"relevance":{"step1:pnc_visit_{0}":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"confirmed_health_facility_visits","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"confirmed_health_facility_visits","type":"spacer","read_only":"true","hidden":"true","value":"0"},{"key":"last_health_facility_visit_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_health_facility_visit_date","type":"spacer","read_only":"true","hidden":"true","value":"0"},{"key":"pnc_hf_next_visit_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"pnc_hf_next_visit_date","type":"spacer"}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Health Facility Visit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Health Facility Visit", + "fields": [ + { + "key": "pnc_visit_{0}", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mwanamke huyo alihudhuria PNC yake alipotembelea {0} kituo cha afya? Tarehe ya kukamilisha hudhurio: {1}", + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo" + }, + "values": [ + "Ndiyo", + "Hapana" + ] + }, + { + "key": "pnc_hf_visit{0}_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe ya kutembelea kituo cha afya kwa ajili ya PNC {0}", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe " + }, + "relevance": { + "step1:pnc_visit_{0}": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "vit_a_mother", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mwanamke huyo alipokea Vitamini A ndani ya saa 24 baada ya kujifungua?", + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo" + }, + "values": [ + "Ndiyo", + "Hapana" + ], + "relevance": { + "step1:pnc_visit_{0}": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "ifa_mother", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "104677AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mwanamke alipokea tembe za iron na folic acid (IFA) ndani ya saa 24 baada ya kujifungua?", + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo" + }, + "values": [ + "Ndiyo", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "relevance": { + "step1:pnc_visit_{0}": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "confirmed_health_facility_visits", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "confirmed_health_facility_visits", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + }, + { + "key": "last_health_facility_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_health_facility_visit_date", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + }, + { + "key": "pnc_hf_next_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pnc_hf_next_visit_date", + "type": "spacer" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit_two.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit_two.json index 9a78ee4d5e..059ca90a3b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit_two.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit_two.json @@ -1 +1,111 @@ -{"count":"1","encounter_type":"Health Facility Visit","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Health Facility Visit","fields":[{"key":"pnc_visit_{0}","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Je, mwanamke huyo alihudhuria PNC yake alipotembelea {0} kituo cha afya? Tarehe ya kukamilisha hudhurio: {1}","v_required":{"value":"true","err":"Tafadhai chagua chaguo"},"values":["Ndiyo","Hapana"]},{"key":"pnc_hf_visit{0}_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya kutembelea kituo cha afya cha PNC {0}","expanded":false,"max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe"},"relevance":{"step1:pnc_visit_{0}":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"confirmed_health_facility_visits","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"confirmed_health_facility_visits","type":"spacer","read_only":"true","hidden":"true","value":"0"},{"key":"last_health_facility_visit_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_health_facility_visit_date","type":"spacer","read_only":"true","hidden":"true","value":"0"}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Health Facility Visit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Health Facility Visit", + "fields": [ + { + "key": "pnc_visit_{0}", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mwanamke huyo alihudhuria PNC yake alipotembelea {0} kituo cha afya? Tarehe ya kukamilisha hudhurio: {1}", + "v_required": { + "value": "true", + "err": "Tafadhai chagua chaguo" + }, + "values": [ + "Ndiyo", + "Hapana" + ] + }, + { + "key": "pnc_hf_visit{0}_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe ya kutembelea kituo cha afya cha PNC {0}", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe" + }, + "relevance": { + "step1:pnc_visit_{0}": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "confirmed_health_facility_visits", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "confirmed_health_facility_visits", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + }, + { + "key": "last_health_facility_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_health_facility_visit_date", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_danger_signs.json index 91dcb8af25..a713dea48b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_danger_signs.json @@ -1 +1,195 @@ -{"count":"1","encounter_type":"PNC HomeVisit","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"PNC Danger Signs","fields":[{"key":"danger_signs_present","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Je, mama ana dalili zozote za hatari?","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_fever","text":"Homa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_bleeding_vaginally","text":"Kutokwa na damu ukeni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_server_headache","text":"Maumivu makali ya kichwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_convulsions","text":"Degedege","value":false,"openmrs_entity":"concept","openmrs_entity_id":"164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_difficulty_breathing","text":"Kupumua kwa shida","value":false,"openmrs_entity":"concept","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_swelling","text":"Kuvimba kwa uso na/au mikono","value":false,"openmrs_entity":"concept","openmrs_entity_id":"460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_vaginal_discharge","text":"Kutokwa na majimaji yenye rangirangi na harufu mbaya ukeni","value":false,"openmrs_entity":"concept","openmrs_entity_id":"123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_unusual_movement","text":"Hamna uchezaji/uchezaji wa mtoto tumboni usiyo wa kawaida","value":false,"openmrs_entity":"concept","openmrs_entity_id":"113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}],"v_required":{"value":"true","err":"Tafadhali chagua angalau moja"}},{"key":"danger_signs_present_toaster","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Dalili ya hatari! Mpe rufaa ya kwenda kituo cha afya haraka.","text_color":"#CF0800","toaster_type":"problem","relevance":{"step1:danger_signs_present":{"ex-checkbox":[{"or":["chk_fever","chk_bleeding_vaginally","chk_server_headache","chk_convulsions","chk_difficulty_breathing","chk_severe_abdominal_pain","chk_swelling","chk_vaginal_discharge","chk_unusual_movement"]}]}}},{"key":"danger_signs_counseling","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"165310AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","label_info_title":"Did the mother receive counselling","label_info_text":"Did the mother receive counselling on danger signs at the health facility recently?","hint":"Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?","values":["Ndiyo ","Hapana"],"openmrs_choice_ids":{"Yes":"1267AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1118AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "PNC HomeVisit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "PNC Danger Signs", + "fields": [ + { + "key": "danger_signs_present", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Je, mama ana dalili zozote za hatari?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_fever", + "text": "Homa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_bleeding_vaginally", + "text": "Kutokwa na damu ukeni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_server_headache", + "text": "Maumivu makali ya kichwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_difficulty_breathing", + "text": "Kupumua kwa shida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_swelling", + "text": "Kuvimba kwa uso na/au mikono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_vaginal_discharge", + "text": "Kutokwa na majimaji yenye rangirangi na harufu mbaya ukeni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_unusual_movement", + "text": "Hamna uchezaji/uchezaji wa mtoto tumboni usiyo wa kawaida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + } + }, + { + "key": "danger_signs_present_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Dalili ya hatari! Mpe rufaa ya kwenda kituo cha afya haraka.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:danger_signs_present": { + "ex-checkbox": [ + { + "or": [ + "chk_fever", + "chk_bleeding_vaginally", + "chk_server_headache", + "chk_convulsions", + "chk_difficulty_breathing", + "chk_severe_abdominal_pain", + "chk_swelling", + "chk_vaginal_discharge", + "chk_unusual_movement" + ] + } + ] + } + } + }, + { + "key": "danger_signs_counseling", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165310AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "label_info_title": "Did the mother receive counselling", + "label_info_text": "Did the mother receive counselling on danger signs at the health facility recently?", + "hint": "Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?", + "values": [ + "Ndiyo ", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1267AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1118AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_infant.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_infant.json index f4be5c0506..7491df33f2 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_infant.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_infant.json @@ -1 +1,157 @@ -{"count":"1","encounter_type":"ANC Registration","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Observations & Illness - Child","fields":[{"key":"date_of_illness_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe","expanded":false,"min_date":"today-1y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya ugonjwa"}},{"key":"illness_description_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","hint":"Maelezo","v_required":{"value":"true","err":"Tafadhali ingiza maelezo"}},{"key":"action_taken_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Hatua iliyochukuliwa","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_ors","text":"ORS 5","value":false,"openmrs_entity":"concept","openmrs_entity_id":"351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_zinc","text":"Zinc 10","value":false,"openmrs_entity":"concept","openmrs_entity_id":"86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_paracetamol","text":"Panadol","value":false,"openmrs_entity":"concept","openmrs_entity_id":"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_referred","text":"Kupewa rufaa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_other_treatment","text":"Matibabu mengine","value":false,"openmrs_entity":"concept","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_none","text":"Hakuna matibabu yaliyotolewa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}]},{"key":"other_treatment_illness_child","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","hint":"Matibabu mengine","v_required":{"value":"true","err":"Tafadhali ingiza maelezo kuhusu ugonjwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_hv_observations.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "ANC Registration", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Observations & Illness - Child", + "fields": [ + { + "key": "date_of_illness_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe", + "expanded": false, + "min_date": "today-1y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya ugonjwa" + } + }, + { + "key": "illness_description_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Maelezo", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza maelezo" + } + }, + { + "key": "action_taken_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Hatua iliyochukuliwa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_ors", + "text": "ORS 5", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_zinc", + "text": "Zinc 10", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_paracetamol", + "text": "Panadol", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_referred", + "text": "Kupewa rufaa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other_treatment", + "text": "Matibabu mengine", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna matibabu yaliyotolewa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ] + }, + { + "key": "other_treatment_illness_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Matibabu mengine", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza maelezo kuhusu ugonjwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_observations.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_mother.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_mother.json index bad549781a..3374f90efa 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_mother.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_mother.json @@ -1 +1,157 @@ -{"count":"1","encounter_type":"ANC Registration","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Observations & Illness - Mama","fields":[{"key":"date_of_illness_mama","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe","expanded":false,"min_date":"today-1y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya ugonjwa"}},{"key":"illness_description_mama","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","hint":"Maelezo","v_required":{"value":"true","err":"Tafadhali ingiza maelezo"}},{"key":"action_taken_mama","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Hatua iliyochukuliwa","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_ors","text":"ORS 5","value":false,"openmrs_entity":"concept","openmrs_entity_id":"351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_zinc","text":"Zinc 10","value":false,"openmrs_entity":"concept","openmrs_entity_id":"86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_paracetamol","text":"Panadol","value":false,"openmrs_entity":"concept","openmrs_entity_id":"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_referred","text":"Kutoa rufaa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_other_treatment","text":"Matibabu mengine","value":false,"openmrs_entity":"concept","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"key":"chk_none","text":"Hakuna matibabu yaliyotolewa","value":false,"openmrs_entity":"concept","openmrs_entity_id":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}]},{"key":"other_treatment_illness_mama","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","hint":"Matibabu mengine","v_required":{"value":"true","err":"Tafahdali ingiza maelezo ya ugonjwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_hv_observations.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "ANC Registration", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Observations & Illness - Mama", + "fields": [ + { + "key": "date_of_illness_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe", + "expanded": false, + "min_date": "today-1y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya ugonjwa" + } + }, + { + "key": "illness_description_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Maelezo", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza maelezo" + } + }, + { + "key": "action_taken_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Hatua iliyochukuliwa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_ors", + "text": "ORS 5", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_zinc", + "text": "Zinc 10", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_paracetamol", + "text": "Panadol", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_referred", + "text": "Kutoa rufaa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other_treatment", + "text": "Matibabu mengine", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna matibabu yaliyotolewa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ] + }, + { + "key": "other_treatment_illness_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Matibabu mengine", + "v_required": { + "value": "true", + "err": "Tafahdali ingiza maelezo ya ugonjwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_observations.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_malaria_prevention.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_malaria_prevention.json index e33ef1a773..3ef9ba74ac 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_malaria_prevention.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_malaria_prevention.json @@ -1 +1,141 @@ -{"count":"1","encounter_type":"Malaria Prevention","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Malaria Prevention","fields":[{"key":"fam_llin","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"select one","type":"spinner","hint":"Je, ana chandarua chenye dawa inayodumu kwa muda mrefu (LLIN)?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"llin_2days","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"select one","type":"spinner","hint":"Je, alilala chini ya chandarua jana usiku?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"step1:fam_llin":{"type":"string","ex":"equalTo(., \"Yes\")"}}},{"key":"llin_condition","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"select one","type":"spinner","hint":"Hali ya chandarua","values":["Nzuri","Mbaya"],"keys":["Okay","Bad"],"openmrs_choice_ids":{"Okay":"159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Bad":"159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"step1:fam_llin":{"type":"string","ex":"equalTo(., \"Yes\")"}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Malaria Prevention", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Malaria Prevention", + "fields": [ + { + "key": "fam_llin", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, ana chandarua chenye dawa inayodumu kwa muda mrefu (LLIN)?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "llin_2days", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, alilala chini ya chandarua jana usiku?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "step1:fam_llin": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "llin_condition", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hali ya chandarua", + "values": [ + "Nzuri", + "Mbaya" + ], + "keys": [ + "Okay", + "Bad" + ], + "openmrs_choice_ids": { + "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "step1:fam_llin": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_infant.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_infant.json index cd1079c8e8..75afb18258 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_infant.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_infant.json @@ -1 +1,82 @@ -{"count":"1","encounter_type":"Nutrition Status - Baby","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Nutrition Status - Baby","fields":[{"key":"nutrition_status_1m","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Hali ya lishe ya mtoto mchanga","values":["Kawaida/Kijani","Wastani/Njano","Mbaya/Nyekundu"],"keys":["Normal","Moderate","Severe"],"openmrs_choice_ids":{"Yes":"1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Severe":"1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Nutrition Status - Baby", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Nutrition Status - Baby", + "fields": [ + { + "key": "nutrition_status_1m", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hali ya lishe ya mtoto mchanga", + "values": [ + "Kawaida/Kijani", + "Wastani/Njano", + "Mbaya/Nyekundu" + ], + "keys": [ + "Normal", + "Moderate", + "Severe" + ], + "openmrs_choice_ids": { + "Yes": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_mother.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_mother.json index 0e5893e074..f6f9e1094a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_mother.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_mother.json @@ -1 +1,82 @@ -{"count":"1","encounter_type":"Nutrition Status - Mother","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"Nutrition Status - Mother","fields":[{"key":"nutrition_status_mama","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_data_type":"select one","type":"spinner","hint":"Hali ya lishe ya mwanamke","values":["Kawaida/Kijani","Wastani/Njano","Mbaya/Nyekundu"],"keys":["Normal","Moderate","Severe"],"openmrs_choice_ids":{"Yes":"1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Severe":"1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafahdali chagua chaguo moja"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Nutrition Status - Mother", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Nutrition Status - Mother", + "fields": [ + { + "key": "nutrition_status_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hali ya lishe ya mwanamke", + "values": [ + "Kawaida/Kijani", + "Wastani/Njano", + "Mbaya/Nyekundu" + ], + "keys": [ + "Normal", + "Moderate", + "Severe" + ], + "openmrs_choice_ids": { + "Yes": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafahdali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_referral_form.json index df81122b6e..ff1abc40b4 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_referral_form.json @@ -1 +1,497 @@ -{"count":"1","encounter_type":"PNC Referral","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"PNC referral form","fields":[{"key":"chw_referral_hf_pnc","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"pnc_referral_calculation.yml"}}}},{"key":"problem_hf_pnc","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"check_box","label":"Hali/tatizo la mteja","label_text_style":"bold","options":[{"key":"Vaginal_bleeding","text":"Kutokwa damu ukeni","value":false,"openmrs_entity":"","openmrs_entity_id":"147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Discoloured_or_watery_liquid_vaginal_discharge","text":"Kutokwa na majimaji yenye rangirangi na harufu mbaya ukeni","value":false,"openmrs_entity":"","openmrs_entity_id":"123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_abdominal_pain","text":"Maumivu makali ya tumbo","value":false,"openmrs_entity":"","openmrs_entity_id":"165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Severe_anaemia","text":"Kupungukiwa sana kwa damu","value":false,"openmrs_entity":"","openmrs_entity_id":"162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Convulsions","text":"Degedege","value":false,"openmrs_entity":"","openmrs_entity_id":"113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"A_severe_headache_dizziness","text":"Maumivu makali ya kichwa/kizunguzungu","value":false,"openmrs_entity":"","openmrs_entity_id":"139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Swelling_of_the_face_and_or_hands","text":"Kuvimba kwa uso na/au mikono","value":false,"openmrs_entity":"","openmrs_entity_id":"460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fever","text":"Homa","value":false,"openmrs_entity":"","openmrs_entity_id":"140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Shivering_trembling","text":"Kutetemeka","value":false,"openmrs_entity":"","openmrs_entity_id":"158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Nausea","text":"Kichefuchefu","value":false,"openmrs_entity":"","openmrs_entity_id":"5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Vomiting","text":"Kutapika","value":false,"openmrs_entity":"","openmrs_entity_id":"122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Cord_prolapse","text":"Kitovu kutokea kwa nje","value":false,"openmrs_entity":"","openmrs_entity_id":"113617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Perineum_bleeding","text":"Kutoka na damu kwnenye msamba","value":false,"openmrs_entity":"","openmrs_entity_id":"136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fullness_or_pain_of_the_breasts","text":"Kuvimbwa kwa titi/matiti","value":false,"openmrs_entity":"","openmrs_entity_id":"118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"HIV_care_and_support_services","text":"Huduma za matunzo na usaidizi wa VVU","value":false,"openmrs_entity":"","openmrs_entity_id":"159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Family_planning_services","text":"Huduma za uzazi wa mpango","value":false,"openmrs_entity":"","openmrs_entity_id":"5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"PMTCT_for_mothers","text":"PMTCT kwa wamama","value":false,"openmrs_entity":"","openmrs_entity_id":"160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fistula","text":"Fistula","value":false,"openmrs_entity":"","openmrs_entity_id":"160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Fast_breathing_and_difficulty_with_breathing","text":"Kupumua kwa haraka na kupumua kwa shida","value":false,"openmrs_entity":"","openmrs_entity_id":"142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Umbilical_cord","text":"Kutokwa na damu kwenye kitovu","value":false,"openmrs_entity":"","openmrs_entity_id":"123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Excessive_crying","text":"Kulia kupita kiasi","value":false,"openmrs_entity":"","openmrs_entity_id":"140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Unable_to_breastfeed_or_swallow","text":"Kutoweza kunyonya au kumeza","value":false,"openmrs_entity":"","openmrs_entity_id":"159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Neck_stiffness","text":"Kukaza kwa shingo","value":false,"openmrs_entity":"","openmrs_entity_id":"112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Bloating","text":"Tumbo kujaa","value":false,"openmrs_entity":"","openmrs_entity_id":"147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Redness_around_the_umbilical_cord_foul","text":"Kuwa na wekundu eneolinalozunguka kitovu, kutokwa na majimaji yenye harufu mbaya kutoka kwenye kitovu","value":false,"openmrs_entity":"","openmrs_entity_id":"132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Bacterial_conjunctivitis","text":"Ugonjwa wa macho unaosababishwa na bakteria","value":false,"openmrs_entity":"","openmrs_entity_id":"148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Pale_or_jaundiced","text":"Kupauka au kuonekana na ngozi yenye rangi ya njano","value":false,"openmrs_entity":"","openmrs_entity_id":"136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Cyanosis_blueness_of_lips","text":"Mdomo kuwa na rangi ya bluu","value":false,"openmrs_entity":"","openmrs_entity_id":"143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Skin_rash_pustules","text":"Vipele kwenye ngozi","value":false,"openmrs_entity":"","openmrs_entity_id":"512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Diarrhea","text":"Kuhara","value":false,"openmrs_entity":"","openmrs_entity_id":"142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Disabilities","text":"Ulemavu wa kuzaliwa nao","value":false,"openmrs_entity":"","openmrs_entity_id":"162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Premature_baby","text":"Mtoto njiti","value":false,"openmrs_entity":"","openmrs_entity_id":"159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Failure_to_pass_urine_or_stool","text":"Kushindwa kujtoa haja ndogo au kubwa ndani ya masaa 24 baada ya kuzaliwa","value":false,"openmrs_entity":"","openmrs_entity_id":"","openmrs_entity_parent":""},{"key":"Care_of_HIV_exposed_infant","text":"Utunzaji wa mtoto aliyeambukizwa VVU","value":false,"openmrs_entity":"","openmrs_entity_id":"164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Immunisation","text":"Kupatiwa chanjo ya kinga","value":false,"openmrs_entity":"","openmrs_entity_id":"1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_symptom","text":"Dalili nyingine","value":false,"ignore":true,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":true,"err":"Tafadhali bainisha hali /tatizo la mteja"}},{"key":"problem_hf_pnc_other","type":"edit_text","openmrs_entity":"","openmrs_entity_id":"","openmrs_entity_parent":"","edit_type":"name","hint":"Dalili nyingne","relevance":{"rules-engine":{"ex-rules":{"rules-file":"pnc_referral_relevance.yml"}}}},{"key":"service_before_pnc","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"check_box","label":"Usimamizi wa kabla ya kupewa rufaa iliyotolewa","label_text_style":"bold","is_problem":false,"exclusive":["None"],"options":[{"key":"ORS","text":"ORS","value":false,"openmrs_entity":"","openmrs_entity_id":"351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Panadol","text":"Panadol","value":false,"openmrs_entity":"","openmrs_entity_id":"70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"Other_treatment","text":"Matibabu mengine","value":false,"ignore":true,"openmrs_entity":"","openmrs_entity_id":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""},{"key":"None","text":"Hakuna","value":false,"openmrs_entity":"","openmrs_entity_id":"164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":""}],"v_required":{"value":"true","err":"Sehemu ya usimamizi wa kabla ya kupewa rufaa inahitajika"}},{"key":"service_before_pnc_other","type":"edit_text","openmrs_entity":"","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","edit_type":"name","hint":"Matibabu mengine","is_problem":false,"v_required":{"value":"true","err":"Tafadhali bainisha matibabu mengine"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"pnc_referral_relevance.yml"}}}},{"key":"referral_date_pnc","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"pnc_referral_calculation.yml"}}}},{"key":"referral_time_pnc","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"hidden","is_problem":false,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"pnc_referral_calculation.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "PNC Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "PNC referral form", + "fields": [ + { + "key": "chw_referral_hf_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_calculation.yml" + } + } + } + }, + { + "key": "problem_hf_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "check_box", + "label": "Hali/tatizo la mteja", + "label_text_style": "bold", + "options": [ + { + "key": "Vaginal_bleeding", + "text": "Kutokwa damu ukeni", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Discoloured_or_watery_liquid_vaginal_discharge", + "text": "Kutokwa na majimaji yenye rangirangi na harufu mbaya ukeni", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_anaemia", + "text": "Kupungukiwa sana kwa damu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "A_severe_headache_dizziness", + "text": "Maumivu makali ya kichwa/kizunguzungu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Swelling_of_the_face_and_or_hands", + "text": "Kuvimba kwa uso na/au mikono", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fever", + "text": "Homa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Shivering_trembling", + "text": "Kutetemeka", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Nausea", + "text": "Kichefuchefu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Vomiting", + "text": "Kutapika", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cord_prolapse", + "text": "Kitovu kutokea kwa nje", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Perineum_bleeding", + "text": "Kutoka na damu kwnenye msamba", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fullness_or_pain_of_the_breasts", + "text": "Kuvimbwa kwa titi/matiti", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "HIV_care_and_support_services", + "text": "Huduma za matunzo na usaidizi wa VVU", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Family_planning_services", + "text": "Huduma za uzazi wa mpango", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "PMTCT_for_mothers", + "text": "PMTCT kwa wamama", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fistula", + "text": "Fistula", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fast_breathing_and_difficulty_with_breathing", + "text": "Kupumua kwa haraka na kupumua kwa shida", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Umbilical_cord", + "text": "Kutokwa na damu kwenye kitovu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Excessive_crying", + "text": "Kulia kupita kiasi", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unable_to_breastfeed_or_swallow", + "text": "Kutoweza kunyonya au kumeza", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Neck_stiffness", + "text": "Kukaza kwa shingo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bloating", + "text": "Tumbo kujaa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Redness_around_the_umbilical_cord_foul", + "text": "Kuwa na wekundu eneolinalozunguka kitovu, kutokwa na majimaji yenye harufu mbaya kutoka kwenye kitovu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bacterial_conjunctivitis", + "text": "Ugonjwa wa macho unaosababishwa na bakteria", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pale_or_jaundiced", + "text": "Kupauka au kuonekana na ngozi yenye rangi ya njano", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cyanosis_blueness_of_lips", + "text": "Mdomo kuwa na rangi ya bluu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Skin_rash_pustules", + "text": "Vipele kwenye ngozi", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Diarrhea", + "text": "Kuhara", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Disabilities", + "text": "Ulemavu wa kuzaliwa nao", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Premature_baby", + "text": "Mtoto njiti", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Failure_to_pass_urine_or_stool", + "text": "Kushindwa kujtoa haja ndogo au kubwa ndani ya masaa 24 baada ya kuzaliwa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + }, + { + "key": "Care_of_HIV_exposed_infant", + "text": "Utunzaji wa mtoto aliyeambukizwa VVU", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Immunisation", + "text": "Kupatiwa chanjo ya kinga", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_symptom", + "text": "Dalili nyingine", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": true, + "err": "Tafadhali bainisha hali /tatizo la mteja" + } + }, + { + "key": "problem_hf_pnc_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "edit_type": "name", + "hint": "Dalili nyingne", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_relevance.yml" + } + } + } + }, + { + "key": "service_before_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Usimamizi wa kabla ya kupewa rufaa iliyotolewa", + "label_text_style": "bold", + "is_problem": false, + "exclusive": [ + "None" + ], + "options": [ + { + "key": "ORS", + "text": "ORS", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Panadol", + "text": "Panadol", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_treatment", + "text": "Matibabu mengine", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Sehemu ya usimamizi wa kabla ya kupewa rufaa inahitajika" + } + }, + { + "key": "service_before_pnc_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "edit_type": "name", + "hint": "Matibabu mengine", + "is_problem": false, + "v_required": { + "value": "true", + "err": "Tafadhali bainisha matibabu mengine" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_relevance.yml" + } + } + } + }, + { + "key": "referral_date_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/routine_home_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/routine_home_visit.json index 2a8eb6e688..1e52b77a8b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/routine_home_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/routine_home_visit.json @@ -1 +1,185 @@ -{"validate_on_submit":true,"show_errors_on_submit":false,"count":"1","encounter_type":"Counseling","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Counselling","fields":[{"key":"counselling_1m5yrs","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"counselling","type":"check_box","label":"Ushauri uliyotolewa","label_text_style":"normal","text_color":"#C0C0C0","exclusive":["chk_none"],"options":[{"key":"chk_maternal_nutrition","text":"Lishe ya mama wakati wa kunyonyesha","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_hiv_aids","text":"Taarifa za jumla za VVU/UKIMWI","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_pmtc_for_mother","text":"PMTCT kwa mama","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_malaria_prevention","text":"Kinga dhidi ya malaria","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_hiv_exposed_infant","text":"Ufuatiliaji wa mtoto aliyeambukizwa VVU","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_breast_feeding","text":"Kunyonyesha","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_birth_registration","text":"Usajili wa kuzaliwa","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_complementary_feeding","text":"Lishe ya ziada","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_growth_and_dev","text":"Ukuaji na maendeleo","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_immunization","text":"Upataji wa chanjo ya kinga","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_newborn_danger","text":"Ishara za hatari kwa watoto wachanga","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_infection","text":"Kuzuia na kudhibiti maambukizi","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_prevention_of_accidents","text":"Kuzuia ajali","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_gender_issues","text":"Masuala ya jinsia","value":false,"openmrs_entity":"concept","openmrs_entity_id":""},{"key":"chk_none","text":"Hakuna","value":false,"openmrs_entity":"concept","openmrs_entity_id":""}],"v_required":{"value":true,"err":"Tafadhali taja dalili zozote zile au chagua Hakuna"}}]}} \ No newline at end of file +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "1", + "encounter_type": "Counseling", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Counselling", + "fields": [ + { + "key": "counselling_1m5yrs", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling", + "type": "check_box", + "label": "Ushauri uliyotolewa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_maternal_nutrition", + "text": "Lishe ya mama wakati wa kunyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_hiv_aids", + "text": "Taarifa za jumla za VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_pmtc_for_mother", + "text": "PMTCT kwa mama", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_malaria_prevention", + "text": "Kinga dhidi ya malaria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_hiv_exposed_infant", + "text": "Ufuatiliaji wa mtoto aliyeambukizwa VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_breast_feeding", + "text": "Kunyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_birth_registration", + "text": "Usajili wa kuzaliwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_complementary_feeding", + "text": "Lishe ya ziada", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_growth_and_dev", + "text": "Ukuaji na maendeleo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_immunization", + "text": "Upataji wa chanjo ya kinga", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_newborn_danger", + "text": "Ishara za hatari kwa watoto wachanga", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_infection", + "text": "Kuzuia na kudhibiti maambukizi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_prevention_of_accidents", + "text": "Kuzuia ajali", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_gender_issues", + "text": "Masuala ya jinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": true, + "err": "Tafadhali taja dalili zozote zile au chagua Hakuna" + } + } + ] + } +} \ No newline at end of file From f634c2c5bab9a38d8dbced071c2b3467858dc2c2 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 27 Jan 2022 11:26:28 +0300 Subject: [PATCH 220/915] fixed keys for swahili forms --- .../ba/assets/json.form-sw/anc_hv_health_facility_visit.json | 4 ++++ opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json index e75e44d488..1708046c8f 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json @@ -63,6 +63,10 @@ "Ndiyo", "Hapana" ], + "keys": [ + "Yes", + "No" + ], "openmrs_choice_ids": { "Yes": "Yes", "No": "No" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json index 000c04ecd2..b5ff37ee64 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json @@ -146,7 +146,7 @@ "hint": "Je, mteja ametumia dawa ya kuzuia malaria (SP)?", "values": [ "Ndiyo ", - "" + "Hapana" ], "keys": [ "Yes", From 28d8169115bd3da53142d61d4b4460debb501e17 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 27 Jan 2022 11:32:27 +0300 Subject: [PATCH 221/915] updated error messages for swahili --- .../ba/assets/json.form-sw/all_clients_registration_form.json | 4 ++-- .../all_clients_update_registration_info_form.json | 4 ++-- .../src/ba/assets/json.form-sw/family_member_register.json | 4 ++-- opensrp-chw/src/ba/assets/json.form-sw/family_register.json | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index d6f4c9815a..0b55a04415 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -458,7 +458,7 @@ }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." }, "v_max_length": { "value": "10", @@ -992,7 +992,7 @@ }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 1cf5b135bf..53f3af7394 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -304,7 +304,7 @@ }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." }, "v_required": { "value": false, @@ -833,7 +833,7 @@ }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 57775be243..99344a9873 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -350,7 +350,7 @@ }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." }, "v_max_length": { "value": "10", @@ -856,7 +856,7 @@ }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." }, "v_max_length": { "value": "10", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index aae0e3c51e..cedcd59aff 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -455,7 +455,7 @@ }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." }, "v_max_length": { "value": "10", @@ -928,7 +928,7 @@ }, "v_regex": { "value": "(0[0-9]{9})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." } }, { From d42ed28060eadeae263e8fd4423b08d5ac7b2951 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 27 Jan 2022 15:54:15 +0300 Subject: [PATCH 222/915] hidden: anc registration action --- .../org/smartregister/chw/activity/AncMemberProfileActivity.java | 1 + 1 file changed, 1 insertion(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index a414221fc8..74b1093d11 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -187,6 +187,7 @@ public boolean onCreateOptionsMenu(Menu menu) { menu.findItem(R.id.anc_danger_signs_outcome).setVisible(false); menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); menu.findItem(R.id.action_pregnancy_out_come).setVisible(false); + menu.findItem(R.id.action_anc_registration).setVisible(false); return true; } From 9e28ed83bc3475cfc967b3f914f0e25012791aa9 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 27 Jan 2022 16:59:04 +0300 Subject: [PATCH 223/915] updated: menu items --- .../chw/activity/FamilyOtherMemberProfileActivityFlv.java | 8 ++++---- .../chw/activity/AllClientsMemberProfileActivity.java | 3 ++- .../chw/activity/FamilyOtherMemberProfileActivity.java | 4 +++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java index 0de5e5e4bb..4bdc8712ce 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java @@ -42,12 +42,12 @@ public OnClickFloatingMenu getOnClickFloatingMenu(final Activity activity, final @Override public void updateMalariaMenuItems(String baseEntityId, Menu menu) { - UtilsFlv.updateMalariaMenuItems(baseEntityId, menu); + // UtilsFlv.updateMalariaMenuItems(baseEntityId, menu); } @Override public void updateMaleFpMenuItems(String baseEntityId, Menu menu) { - UtilsFlv.updateFpMenuItems(baseEntityId, menu); + // UtilsFlv.updateFpMenuItems(baseEntityId, menu); } @Override @@ -57,12 +57,12 @@ public void updateHivMenuItems(@Nullable String baseEntityId, @Nullable Menu men @Override public void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu) { - UtilsFlv.updateTbMenuItems(baseEntityId, menu); + // UtilsFlv.updateTbMenuItems(baseEntityId, menu); } @Override public void updateFpMenuItems(String baseEntityId, Menu menu) { - UtilsFlv.updateFpMenuItems(baseEntityId, menu); + // UtilsFlv.updateFpMenuItems(baseEntityId, menu); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 78881a713c..9f40fa42b6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -45,7 +45,8 @@ public boolean onCreateOptionsMenu(Menu menu) { String gender = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.GENDER, false); menu.findItem(R.id.action_location_info).setVisible(true); menu.findItem(R.id.action_cbhs_registration).setVisible(true); - menu.findItem(R.id.action_tb_registration).setVisible(true); + menu.findItem(R.id.action_tb_registration).setVisible(false); + menu.findItem(R.id.action_fp_initiation).setVisible(false); if (flavor.hasANC() && !presenter().isWomanAlreadyRegisteredOnAnc(commonPersonObject) && flavor.isOfReproductiveAge(commonPersonObject, "Female") && gender.equalsIgnoreCase("Female")) { flavor.updateFpMenuItems(baseEntityId, menu); menu.findItem(R.id.action_anc_registration).setVisible(true); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index f05275e465..f13ea0905a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -77,8 +77,10 @@ public boolean onCreateOptionsMenu(Menu menu) { if (!ChwApplication.getApplicationFlavor().hasTB()) { menu.findItem(R.id.action_tb_registration).setVisible(false); } else { - flavor.updateTbMenuItems(baseEntityId, menu); + //flavor.updateTbMenuItems(baseEntityId, menu); + //will update when the TB module is complete } + menu.findItem(R.id.action_fp_initiation).setVisible(false); return true; } From 8198ffa307ced8aace2881d65bc39cc068384679 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 28 Jan 2022 11:12:59 +0300 Subject: [PATCH 224/915] Fix: updated swahili translations --- .../all_clients_registration_form.json | 12 +- ...clients_update_registration_info_form.json | 2 +- .../json.form-sw/anc_hv_counselling.json | 2 +- .../json.form-sw/anc_hv_danger_signs.json | 2 +- .../json.form-sw/anc_hv_family_planning.json | 2 +- .../anc_hv_health_facility_visit.json | 2 +- .../assets/json.form-sw/anc_hv_malaria.json | 2 +- .../json.form-sw/anc_hv_nutrition_status.json | 2 +- .../json.form-sw/anc_hv_observations.json | 2 +- .../anc_hv_remarks_and_comments.json | 2 +- .../json.form-sw/anc_member_registration.json | 426 +++++++++++++++++- .../json.form-sw/family_member_register.json | 6 +- .../assets/json.form-sw/family_register.json | 8 +- .../hiv_community_followup_feedback.json | 45 +- .../assets/json.form/anc_hv_danger_signs.json | 2 +- opensrp-chw/src/ba/res/values-sw/strings.xml | 10 +- .../src/main/res/values-sw/strings.xml | 4 +- 17 files changed, 500 insertions(+), 31 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index dc84b32ce6..8450ec5bcc 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -54,7 +54,7 @@ } }, "step1": { - "title": "Location details", + "title": "Maelezo ya eneo", "next": "step2", "fields": [ { @@ -180,13 +180,13 @@ "tree": [], "v_required": { "value": true, - "err": "Tafadhali chaguwa kijiji au mtaa" + "err": "Tafadhali chagua kijiji au mtaa" } } ] }, "step2": { - "title": "Client details", + "title": "Maelezo ya mteja", "fields": [ { "key": "unique_id", @@ -289,7 +289,7 @@ "hint": "Tarehe ya kuzaliwa", "expanded": false, "duration": { - "label": "Age" + "label": "Umri" }, "min_date": "today-120y", "max_date": "today", @@ -382,7 +382,7 @@ "openmrs_entity": "person", "openmrs_entity_id": "gender", "type": "spinner", - "hint": "jinsia", + "hint": "Jinsia", "values": [ "kiume", "kike" @@ -393,7 +393,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhali chaguwa jinsia" + "err": "Tafadhali chagua jinsia" } }, { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 6da7074fc4..d650e03144 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -54,7 +54,7 @@ } }, "step1": { - "title": "Client details", + "title": "Maelezo ya mteja", "fields": [ { "key": "unique_id", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json index f3ac35df3c..ea6ac7cfa0 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Counselling", + "title": "Ushauri", "fields": [ { "key": "counselling_given", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json index d2440dd259..37c76098ac 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "ANC Registration", + "title": "Dalili za hatari", "fields": [ { "key": "danger_signs_present", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json index b7c9ce7184..23548ab2ba 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Family planning", + "title": "Uzazi wa mpango", "fields": [ { "key": "fam_planning", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json index 1708046c8f..b3c4872f08 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "ANC {0} health facility visit", + "title": "Ziara ya {0} kituoni", "fields": [ { "key": "anc_hf_visit", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json index b5ff37ee64..faf8ffd0de 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Malaria prevention", + "title": "Kinga dhidi ya malaria", "fields": [ { "key": "fam_llin", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json index 085e0f5b14..0848fac170 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Nutrition status", + "title": "Hali ya lishe", "fields": [ { "key": "nutrition_status", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json index 5689e6603c..4b5707fb42 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Observations & Illness", + "title": "Uchunguzi na magonjwa", "fields": [ { "key": "date_of_illness", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json index 92d63eebfc..73cd8e7364 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Remarks/Comments", + "title": "Maoni", "fields": [ { "key": "chw_comment_anc", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json index 147abaf1ab..bfa43a4378 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json @@ -1 +1,425 @@ -{"count":"1","encounter_type":"ANC Registration","entity_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":""},"step1":{"title":"ANC Registration","fields":[{"key":"relational_id","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"relational_id","type":"hidden"},{"key":"last_menstrual_period","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_menstrual_period","type":"date_picker","hint":"Kipindi cha Mwisho cha Hedhi iliyo ya Kawaida (LNMP)","label_info_title":"LNMP","label_info_text":"LNMP = first day of Last Normal Menstrual Period. If the exact date is unknown, but the period of the month is known, use day 5 for beginning of the month, day 15 for middle of the month and day 25 for end of the month.","expanded":false,"max_date":"today","min_date":"today-50w","v_required":{"value":"true","err":"Tarehe ya mwisho ya hedhi ya kawaida"},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}}},{"key":"last_menstrual_period_unknown","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"last_menstrual_period_unknown","openmrs_data_type":"text","type":"check_box","options":[{"key":"lmp_unknown","text":"Kipindi cha Mwisho cha Hedhi ya Kawadia isiyojulikana","text_size":"18px","value":"false"}]},{"key":"edd","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"edd","type":"date_picker","hint":"Tarehe ya Kujifungua inayotarajiwa (EDD)","max_date":"today+50w","min_date":"today","calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"gest_age_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Umri wa ujauzito (GA)","read_only":true,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"edd_note","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"edit_text","hint":"Tarehe ya Kujifungua inayotarajiwa (EDD)","read_only":true,"calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"gest_age","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gest_age","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"no_prev_preg","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_prev_preg","type":"edit_text","edit_type":"number","hint":"Idadi ya mimba zilizopita","v_required":{"value":"true","err":"Sawa na au zaidi ya 0"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Namba lazima iwe sawa au zaidi ya 0"}},{"key":"gravida","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"gravida","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_calculation.yml"}}}},{"key":"delivery_method","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_method","type":"check_box","label":"Je, umejifungua mtoto/watoto wako kwa njia ya kawaida (kupitia uke) au kwa njia ya upasuaji?","label_text_style":"normal","text_color":"#C0C0C0","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"options":[{"key":"chk_vaginally","text":"Njia ya kawaida (kupiitia uke)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_vaginally"},{"key":"chk_cesarean_section","text":"Upasuaji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cesarean_section"},{"key":"chk_miscarriage","text":"Iliharibika","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_miscarriage"}],"v_required":{"value":"true","err":"Tafadhali chagua moja"}},{"key":"delivery_method_one","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"delivery_method_one","type":"native_radio","label":"Je, umejifungua mtoto/watoto wako kwa njia ya kawaida (kupitia uke) au kwa njia ya upasuaji?","label_text_style":"normal","text_color":"#C0C0C0","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"options":[{"key":"chk_vaginally","text":"Njia ya kawaida (kupiitia uke)","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_vaginally"},{"key":"chk_cesarean_section","text":"Upasuaji","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_cesarean_section"},{"key":"chk_miscarriage","text":"Iliharibika","value":false,"openmrs_entity":"concept","openmrs_entity_id":"chk_miscarriage"}],"v_required":{"value":"true","err":"Tafadhali chagua zote zinazotumika"}},{"key":"no_surv_children","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_surv_children","type":"edit_text","edit_type":"number","hint":"Idadi ya watoto walio hai","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_relative_max":{"value":"no_prev_preg","err":"Number must be less than or equal to Number of Previous Pregnancies"}},{"key":"phone_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_number","type":"edit_text","hint":"Namba ya simu","v_numeric":{"value":"true","err":"Namba lazima iwe na jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Namba lazima iwe na tarakimu 10 na ianze na 0"},"v_required":{"value":false,"err":"Haijafafanuliwa"}},{"key":"person_assist","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"person_assist","openmrs_data_type":"select one","type":"spinner","hint":"Je, mama ana mtu yeyote, mwenye umri wa miaka 18 au zaidi, ambaye angeweza kumsaidia wakati wa ujauzito wake?","v_required":{"value":"true","err":"Tadhali chagua chaguo moja"},"values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"}},{"key":"name_person_assist","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"name_person_assist","type":"edit_text","hint":"Jina la mtu wa karibu/jamaa anayeishi naye na ana umri wa miaka 18 au zaidi","edit_type":"name","relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Tafadhali ingiza jina la mtu huyo"}},{"key":"phone_person_assist","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"phone_person_assist","type":"edit_text","hint":"Namba ya simu","v_required":{"value":false,"err":"Haijafafanuliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"anc_member_registration_relevance.yml"}}},"v_numeric":{"value":"true","err":"Namba lazima iwe na jumla ya tarakimu 10 kwa urefu"},"v_regex":{"value":"(0[0-9]{9})|\\s*","err":"Namba lazima iwe na tarakimu 10 na ianze na 0"}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "ANC Registration", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Usajili wa ANC", + "fields": [ + { + "key": "relational_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "relational_id", + "type": "hidden" + }, + { + "key": "last_menstrual_period", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_menstrual_period", + "type": "date_picker", + "hint": "Kipindi cha Mwisho cha Hedhi iliyo ya Kawaida (LNMP)", + "label_info_title": "LNMP", + "label_info_text": "LNMP = siku ya kwanza ya Kipindi cha Mwisho cha Kawaida cha Hedhi. Ikiwa tarehe kamili haijulikani, lakini kipindi cha mwezi kinajulikana, tumia siku ya 5 kuainisha mwanzo wa mwezi, siku ya 15 kuainisha katikati ya mwezi, na siku ya 25 kuainisha mwisho wa mwezi.", + "expanded": false, + "max_date": "today", + "min_date": "today-50w", + "v_required": { + "value": "true", + "err": "Tarehe ya mwisho ya hedhi ya kawaida" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + } + }, + { + "key": "last_menstrual_period_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_menstrual_period_unknown", + "openmrs_data_type": "text", + "type": "check_box", + "options": [ + { + "key": "lmp_unknown", + "text": "Kipindi cha Mwisho cha Hedhi ya Kawadia isiyojulikana", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "edd", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "edd", + "type": "date_picker", + "hint": "Tarehe ya Kujifungua inayotarajiwa (EDD)", + "max_date": "today+50w", + "min_date": "today", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Inahitajika" + } + }, + { + "key": "gest_age_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Umri wa ujauzito (GA)", + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + } + }, + { + "key": "edd_note", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Tarehe ya Kujifungua inayotarajiwa (EDD)", + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + } + }, + { + "key": "gest_age", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gest_age", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + } + }, + { + "key": "no_prev_preg", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_prev_preg", + "type": "edit_text", + "edit_type": "number", + "hint": "Idadi ya mimba zilizopita", + "v_required": { + "value": "true", + "err": "Sawa na au zaidi ya 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_min": { + "value": "0", + "err": "Namba lazima iwe sawa au zaidi ya 0" + } + }, + { + "key": "gravida", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gravida", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + } + }, + { + "key": "delivery_method", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_method", + "type": "check_box", + "label": "Je, umejifungua mtoto/watoto wako kwa njia ya kawaida (kupitia uke) au kwa njia ya upasuaji?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "options": [ + { + "key": "chk_vaginally", + "text": "Njia ya kawaida (kupiitia uke)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_vaginally" + }, + { + "key": "chk_cesarean_section", + "text": "Upasuaji", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cesarean_section" + }, + { + "key": "chk_miscarriage", + "text": "Iliharibika", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_miscarriage" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "delivery_method_one", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_method_one", + "type": "native_radio", + "label": "Je, umejifungua mtoto/watoto wako kwa njia ya kawaida (kupitia uke) au kwa njia ya upasuaji?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "options": [ + { + "key": "chk_vaginally", + "text": "Njia ya kawaida (kupiitia uke)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_vaginally" + }, + { + "key": "chk_cesarean_section", + "text": "Upasuaji", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cesarean_section" + }, + { + "key": "chk_miscarriage", + "text": "Iliharibika", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_miscarriage" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua zote zinazotumika" + } + }, + { + "key": "no_surv_children", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_surv_children", + "type": "edit_text", + "edit_type": "number", + "hint": "Idadi ya watoto walio hai", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Inahitajika" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_relative_max": { + "value": "no_prev_preg", + "err": "Number must be less than or equal to Number of Previous Pregnancies" + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "edit_text", + "hint": "Namba ya simu", + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe na jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na ianze na 0" + }, + "v_required": { + "value": false, + "err": "Haijafafanuliwa" + } + }, + { + "key": "person_assist", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "person_assist", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mama ana mtu yeyote, mwenye umri wa miaka 18 au zaidi, ambaye angeweza kumsaidia wakati wa ujauzito wake?", + "v_required": { + "value": "true", + "err": "Tadhali chagua chaguo moja" + }, + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + } + }, + { + "key": "name_person_assist", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "name_person_assist", + "type": "edit_text", + "hint": "Jina la mtu wa karibu/jamaa anayeishi naye na ana umri wa miaka 18 au zaidi", + "edit_type": "name", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la mtu huyo" + } + }, + { + "key": "phone_person_assist", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_person_assist", + "type": "edit_text", + "hint": "Namba ya simu", + "v_required": { + "value": false, + "err": "Haijafafanuliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe na jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na ianze na 0" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index f73692f5a1..643222ea5d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -274,7 +274,7 @@ "openmrs_entity": "person", "openmrs_entity_id": "gender", "type": "spinner", - "hint": "jinsi", + "hint": "Jinsia", "values": [ "Mwanaume", "Mwanamke" @@ -296,8 +296,8 @@ "type": "spinner", "hint": "Hali ya Ndoa ya Mteja?", "values": [ - "Hajaolowe", - "Ameolewa", + "Hajaoa/Hajaolewa", + "Ameoa/Ameolewa", "Wameachwa", "Ndoa ya mke mmoja", "Ndoa za wake wengi", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index e26f3c14b6..1e8a02d9e4 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -54,7 +54,7 @@ } }, "step1": { - "title": "Family details", + "title": "Maelezo ya familia", "next": "step2", "fields": [ { @@ -186,7 +186,7 @@ ] }, "step2": { - "title": "Family head", + "title": "Mkuu wa familia", "fields": [ { "key": "unique_id", @@ -286,7 +286,7 @@ "hint": "Tarehe ya kuzaliwa (DOB)", "expanded": false, "duration": { - "label": "Age" + "label": "Umri" }, "min_date": "today-120y", "max_date": "today-15y", @@ -381,7 +381,7 @@ "openmrs_entity": "person", "openmrs_entity_id": "gender", "type": "spinner", - "hint": "jinsi", + "hint": "Jinsia", "values": [ "Mwanaume", "Mwanamke" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json index aa1469bd6b..559025419d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json @@ -61,7 +61,7 @@ "name": "followup_status", "type": "spinner", "properties": { - "text": "Followup Feedback" + "text": "Maoni kuhusu ziara ya ufuatiliaji" }, "meta_data": { "openmrs_entity": "concept", @@ -125,7 +125,7 @@ }, { "name": "client_continues_with_clinic_from_elsewhere", - "text": "Anaendelea na huduma akitokea mahali pengine", + "text": "Anaendelea na huduma kutoka sehemu nyingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", @@ -137,6 +137,47 @@ "dependent_calculations": [ "hiv_community_followup_visit_date" ] + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Chagua alipohamia", + "searchable": "Chagua alipohamia" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali chagua sehemu alipohamia", + "subjects": "followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Andika alipohamia", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali andika alipohamia", + "subjects": "client_moved_location:text" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json index cfee3feb59..8a841c376a 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "ANC Registration", + "title": "Danger signs", "fields": [ { "key": "danger_signs_present", diff --git a/opensrp-chw/src/ba/res/values-sw/strings.xml b/opensrp-chw/src/ba/res/values-sw/strings.xml index 637da5c7fb..e0c19a41d8 100644 --- a/opensrp-chw/src/ba/res/values-sw/strings.xml +++ b/opensrp-chw/src/ba/res/values-sw/strings.xml @@ -1,7 +1,7 @@ WAJA - Ministry of Health \n WAJA app - Ministry of Health Community App + Wizara ya Afya \n Mfumo wa WAJA + Mfumo wa Jamii ya Wizara ya Afya Wajawazito Baada ya Kujifungua Kliniki ya Tiba na matunzo (CTC) @@ -13,5 +13,9 @@ UWANYU Rudi kwenye wateja wa UWANYU Wateja wa UWANYU - Any Changes You Made Will Be Discarded + Mabadiliko uliyoyafanya yatafutika + Rekodi ziara ya ufuatiliaji wa UWANYU + Ufuatiliaji + Jaza fomu ya ufuatiliaji + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index d6dfada7fc..ac06185d3e 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -240,7 +240,7 @@ Ufuatiliaji wa malaria Toa rufaa kwenda kituo cha kutolea huduma za afya - Hudhurio la kliniki ya wajawazito {0} katika kituo cha kutolea huduma za afya + Hudhurio la {0} katika kliniki ya wajawazito katika kituo cha kutolea huduma za afya PEPOPUNDA {0} IPTp-SP dose {0} @@ -400,7 +400,7 @@ Usajili wa mteja Kosa wakati wa kufungua profile Taarifa za Mahali - Update taarifa za mteja + Hariri taarifa za mteja Hatari ya ujauzito From 41df3b5048250fc66fad0e6cc50e29ea21c3b5a6 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 28 Jan 2022 11:48:07 +0300 Subject: [PATCH 225/915] fixed: anc profile crashing on family --- .../smartregister/chw/activity/FamilyProfileActivity.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java index 5576144632..b75899318d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyProfileActivity.java @@ -163,6 +163,11 @@ protected Class getAncMemberProfileActiv return AncMemberProfileActivity.class; } + @Override + public void goToAncProfileActivity(CommonPersonObjectClient patient, Bundle bundle) { + AncMemberProfileActivity.startMe(this,patient.getCaseId()); + } + @Override protected Class getPncMemberProfileActivityClass() { return PncMemberProfileActivity.class; From 86f9fceec2f734bcaf18bc40d97a92bc2103a7cf Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sat, 29 Jan 2022 08:39:21 +0300 Subject: [PATCH 226/915] Fix: updated swahili translations --- .../all_clients_registration_form.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 8450ec5bcc..ae3d9fb84c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -404,8 +404,8 @@ "type": "spinner", "hint": "Hali ya ndoa ya mteja", "values": [ - "Hajaolewa", - "Ameolewa", + "Hajaoa/Hajaolewa", + "Ameoa/Ameolewa", "Ameachwa", "Ndoa ya mke/mume moja", "Mitala", @@ -494,14 +494,14 @@ }, { "key": "chk_passport", - "text": "Pasipoti", + "text": "Hati ya kusafiria", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_passport" }, { "key": "chk_none", - "text": "Nakuna", + "text": "Hakuna", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" @@ -1287,7 +1287,7 @@ }, { "key": "tuberculosis", - "text": "Kifuwa Kikuu", + "text": "Kifua Kikuu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1380,7 +1380,7 @@ }, { "key": "tuberculosis", - "text": "Kifuwakikuu", + "text": "Kifua kikuu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1487,7 +1487,7 @@ }, { "key": "tuberculosis", - "text": "Kifuwa kikuu", + "text": "Kifua kikuu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" From aa61017bfb9c7f048809ad99d227714f0b4c90a0 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sat, 29 Jan 2022 11:24:15 +0300 Subject: [PATCH 227/915] Fix: updated swahili translations --- .../female_hiv_followup_visit.json | 198 ++++++++++++++++-- ...up_visit_for_clients_with_ctc_numbers.json | 198 ++++++++++++++++-- .../json.form-sw/male_hiv_followup_visit.json | 198 ++++++++++++++++-- ...up_visit_for_clients_with_ctc_numbers.json | 198 ++++++++++++++++-- .../json.form/female_hiv_followup_visit.json | 14 +- ...up_visit_for_clients_with_ctc_numbers.json | 14 +- .../json.form/male_hiv_followup_visit.json | 10 +- ...up_visit_for_clients_with_ctc_numbers.json | 12 +- 8 files changed, 765 insertions(+), 77 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json index bd49179d37..69f6c3c542 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json @@ -143,7 +143,7 @@ }, { "name": "completed_and_qualified_from_the_services ", - "text": "Amefuzu huduma", + "text": "Amemaliza huduma", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "completed_and_qualified_from_the_services", @@ -439,7 +439,7 @@ }, { "name": "truck_drivers ", - "text": "Madreva wa masafa marefu", + "text": "Madereva wa masafa marefu", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "truck_drivers", @@ -454,7 +454,7 @@ "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Vifaa vilizotolewa" + "text": "Vifaa vilivyotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -482,7 +482,7 @@ }, { "name": "mosquito_nets", - "text": "chandarua", + "text": "Chandarua", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "mosquito_nets", @@ -509,7 +509,7 @@ }, { "name": "other_supplies", - "text": "Other supplies", + "text": "Vifaa vingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_supplies", @@ -518,7 +518,7 @@ }, { "name": "none", - "text": "None", + "text": "Hakuna", "is_exclusive": true, "meta_data": { "openmrs_entity": "", @@ -549,7 +549,7 @@ "name": "medicine_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Medicines provided" + "text": "Dawa zilizotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -568,7 +568,7 @@ }, { "name": "aspirin", - "text": "Aspirin", + "text": "Aspirini", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "aspirin", @@ -586,7 +586,7 @@ }, { "name": "none", - "text": "None", + "text": "Hakuna", "is_exclusive": true, "meta_data": { "openmrs_entity": "", @@ -602,7 +602,7 @@ "name": "medicine_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Medicine", + "hint": "Dawa nyingine", "type": "name" }, "meta_data": { @@ -617,7 +617,7 @@ "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Huduma zilizotolewa (Huduma za UKIMWI katika jamii ikiwemo ACUK) " + "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" }, "meta_data": { "openmrs_entity": "concept", @@ -627,7 +627,7 @@ "options": [ { "name": "nutrition_counselling", - "text": "ushauri wa lishe", + "text": "Ushauri wa lishe", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "nutrition_counselling", @@ -636,7 +636,7 @@ }, { "name": "hiv_infection_education", - "text": "Elimu kuhusu maambukizi", + "text": "Elimu kuhusu maambukizi ya VVU", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infection_education", @@ -726,6 +726,178 @@ "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", "subjects": "hiv_services_provided:map" }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizokamilishwa na mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, { "name": "state_of_therapy", "type": "spinner", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 4e50a2445a..465326a013 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -143,7 +143,7 @@ }, { "name": "completed_and_qualified_from_the_services ", - "text": "Amefuzu huduma", + "text": "Amemaliza huduma", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "completed_and_qualified_from_the_services", @@ -439,7 +439,7 @@ }, { "name": "truck_drivers ", - "text": "Madreva wa masafa marefu", + "text": "Madereva wa masafa marefu", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "truck_drivers", @@ -454,7 +454,7 @@ "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Vifaa vilizotolewa" + "text": "Vifaa vilivyotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -482,7 +482,7 @@ }, { "name": "mosquito_nets", - "text": "chandarua", + "text": "Chandarua", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "mosquito_nets", @@ -509,7 +509,7 @@ }, { "name": "other_supplies", - "text": "Other supplies", + "text": "Vifaa vingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_supplies", @@ -518,7 +518,7 @@ }, { "name": "none", - "text": "None", + "text": "Hakuna", "is_exclusive": true, "meta_data": { "openmrs_entity": "", @@ -549,7 +549,7 @@ "name": "medicine_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Medicines provided" + "text": "Dawa zilizotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -568,7 +568,7 @@ }, { "name": "aspirin", - "text": "Aspirin", + "text": "Aspirini", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "aspirin", @@ -586,7 +586,7 @@ }, { "name": "none", - "text": "None", + "text": "Hakuna", "is_exclusive": true, "meta_data": { "openmrs_entity": "", @@ -602,7 +602,7 @@ "name": "medicine_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Medicine", + "hint": "Dawa nyingine", "type": "name" }, "meta_data": { @@ -617,7 +617,7 @@ "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Huduma zilizotolewa (Huduma za UKIMWI katika jamii ikiwemo ACUK) " + "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" }, "meta_data": { "openmrs_entity": "concept", @@ -627,7 +627,7 @@ "options": [ { "name": "nutrition_counselling", - "text": "ushauri wa lishe", + "text": "Ushauri wa lishe", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "nutrition_counselling", @@ -636,7 +636,7 @@ }, { "name": "hiv_infection_education", - "text": "Elimu kuhusu maambukizi", + "text": "Elimu kuhusu maambukizi ya VVU", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infection_education", @@ -726,6 +726,178 @@ "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", "subjects": "hiv_services_provided:map" }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizokamilishwa na mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, { "name": "state_of_therapy", "type": "spinner", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json index 712e5d9a7f..6d29b728a0 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json @@ -143,7 +143,7 @@ }, { "name": "completed_and_qualified_from_the_services ", - "text": "Amefuzu huduma", + "text": "Amemaliza huduma", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "completed_and_qualified_from_the_services", @@ -448,7 +448,7 @@ }, { "name": "truck_drivers ", - "text": "Madreva wa masafa marefu", + "text": "Madereva wa masafa marefu", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "truck_drivers", @@ -463,7 +463,7 @@ "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Vifaa vilizotolewa" + "text": "Vifaa vilivyotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -491,7 +491,7 @@ }, { "name": "mosquito_nets", - "text": "chandarua", + "text": "Chandarua", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "mosquito_nets", @@ -518,7 +518,7 @@ }, { "name": "other_supplies", - "text": "Other supplies", + "text": "Vifaa vingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_supplies", @@ -527,7 +527,7 @@ }, { "name": "none", - "text": "None", + "text": "Hakuna", "is_exclusive": true, "meta_data": { "openmrs_entity": "", @@ -558,7 +558,7 @@ "name": "medicine_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Medicines provided" + "text": "Dawa zilizotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -577,7 +577,7 @@ }, { "name": "aspirin", - "text": "Aspirin", + "text": "Aspirini", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "aspirin", @@ -595,7 +595,7 @@ }, { "name": "none", - "text": "None", + "text": "Hakuna", "is_exclusive": true, "meta_data": { "openmrs_entity": "", @@ -611,7 +611,7 @@ "name": "medicine_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Medicine", + "hint": "Dawa nyingine", "type": "name" }, "meta_data": { @@ -626,7 +626,7 @@ "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Huduma zilizotolewa (Huduma za UKIMWI katika jamii ikiwemo ACUK) " + "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" }, "meta_data": { "openmrs_entity": "concept", @@ -636,7 +636,7 @@ "options": [ { "name": "nutrition_counselling", - "text": "ushauri wa lishe", + "text": "Ushauri wa lishe", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "nutrition_counselling", @@ -645,7 +645,7 @@ }, { "name": "hiv_infection_education", - "text": "Elimu kuhusu maambukizi", + "text": "Elimu kuhusu maambukizi ya VVU", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infection_education", @@ -735,6 +735,178 @@ "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", "subjects": "hiv_services_provided:map" }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizokamilishwa na mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, { "name": "state_of_therapy", "type": "spinner", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 5680557e66..c80c5a9f1a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -143,7 +143,7 @@ }, { "name": "completed_and_qualified_from_the_services ", - "text": "Amefuzu huduma", + "text": "Amemaliza huduma", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "completed_and_qualified_from_the_services", @@ -448,7 +448,7 @@ }, { "name": "truck_drivers ", - "text": "Madreva wa masafa marefu", + "text": "Madereva wa masafa marefu", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "truck_drivers", @@ -463,7 +463,7 @@ "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Vifaa vilizotolewa" + "text": "Vifaa vilivyotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -491,7 +491,7 @@ }, { "name": "mosquito_nets", - "text": "chandarua", + "text": "Chandarua", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "mosquito_nets", @@ -518,7 +518,7 @@ }, { "name": "other_supplies", - "text": "Other supplies", + "text": "Vifaa vingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_supplies", @@ -527,7 +527,7 @@ }, { "name": "none", - "text": "None", + "text": "Hakuna", "is_exclusive": true, "meta_data": { "openmrs_entity": "", @@ -558,7 +558,7 @@ "name": "medicine_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Medicines provided" + "text": "Dawa zilizotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -577,7 +577,7 @@ }, { "name": "aspirin", - "text": "Aspirin", + "text": "Aspirini", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "aspirin", @@ -595,7 +595,7 @@ }, { "name": "none", - "text": "None", + "text": "Hakuna", "is_exclusive": true, "meta_data": { "openmrs_entity": "", @@ -611,7 +611,7 @@ "name": "medicine_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Medicine", + "hint": "Dawa nyingine", "type": "name" }, "meta_data": { @@ -626,7 +626,7 @@ "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Huduma zilizotolewa (Huduma za UKIMWI katika jamii ikiwemo ACUK) " + "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" }, "meta_data": { "openmrs_entity": "concept", @@ -636,7 +636,7 @@ "options": [ { "name": "nutrition_counselling", - "text": "ushauri wa lishe", + "text": "Ushauri wa lishe", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "nutrition_counselling", @@ -645,7 +645,7 @@ }, { "name": "hiv_infection_education", - "text": "Elimu kuhusu maambukizi", + "text": "Elimu kuhusu maambukizi ya VVU", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infection_education", @@ -735,6 +735,178 @@ "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", "subjects": "hiv_services_provided:map" }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizokamilishwa na mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, { "name": "state_of_therapy", "type": "spinner", diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json index ad399c7c1d..64b3142e0a 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json @@ -690,7 +690,7 @@ "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "HIV services provided by CHW at the community" + "text": "CBHS services provided by CHW at the community" }, "meta_data": { "openmrs_entity": "concept", @@ -700,7 +700,7 @@ "options": [ { "name": "nutrition_counselling", - "text": "Nutririon Counselling", + "text": "Nutrition Counselling", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "nutrition_counselling", @@ -763,7 +763,7 @@ }, { "name": "other_hiv_services", - "text": "Other HIV services", + "text": "Other CBHS services", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_hiv_services", @@ -788,7 +788,7 @@ "name": "hiv_services_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Other HIV Services Provided", + "hint": "Other CBHS Services Provided", "type": "name" }, "meta_data": { @@ -874,7 +874,7 @@ "name": "referrals_issued_to_other_services_other", "type": "text_input_edit_text", "properties": { - "hint": "Other HIV Services Provided", + "hint": "Other Referral Services Provided", "type": "name" }, "meta_data": { @@ -917,7 +917,7 @@ }, { "name": "ovc_services", - "text": " OVC services", + "text": "OVC services", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "ovc_services", @@ -926,7 +926,7 @@ }, { "name": "elderly_centers", - "text": "Elderly Centers ", + "text": "Elderly Centers", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "elderly_centers", diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index f5d09fe504..08049b53b6 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -617,7 +617,7 @@ "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "HIV services provided by CHW at the community" + "text": "CBHS services provided by CHW at the community" }, "meta_data": { "openmrs_entity": "concept", @@ -627,7 +627,7 @@ "options": [ { "name": "nutrition_counselling", - "text": "Nutririon Counselling", + "text": "Nutrition Counselling", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "nutrition_counselling", @@ -689,11 +689,11 @@ } }, { - "name": "other_referrals", - "text": "Other Referrals", + "name": "other_hiv_services", + "text": "Other CBHS services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", + "openmrs_entity_id": "other_hiv_services", "openmrs_entity_parent": "" } }, @@ -715,7 +715,7 @@ "name": "hiv_services_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Other HIV Services Provided", + "hint": "Other CBHS Services Provided", "type": "name" }, "meta_data": { @@ -801,7 +801,7 @@ "name": "referrals_issued_to_other_services_other", "type": "text_input_edit_text", "properties": { - "hint": "Other HIV Services Provided", + "hint": "Other Referral Services Provided", "type": "name" }, "meta_data": { diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json index 9247b62506..8fb8271b8c 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json @@ -699,7 +699,7 @@ "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "HIV services provided by CHW at the community" + "text": "CBHS services provided by CHW at the community" }, "meta_data": { "openmrs_entity": "concept", @@ -772,7 +772,7 @@ }, { "name": "other_hiv_services", - "text": "Other HIV services", + "text": "Other CBHS services", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_hiv_services", @@ -797,7 +797,7 @@ "name": "hiv_services_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Other HIV Services Provided", + "hint": "Other CBHS Services Provided", "type": "name" }, "meta_data": { @@ -840,7 +840,7 @@ }, { "name": "ovc_services", - "text": " OVC services", + "text": "OVC services", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "ovc_services", @@ -883,7 +883,7 @@ "name": "referrals_issued_to_other_services_other", "type": "text_input_edit_text", "properties": { - "hint": "Other HIV Services Provided", + "hint": "Other Referral Services Provided", "type": "name" }, "meta_data": { diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index e7d6b030e7..8867bcb33d 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -626,7 +626,7 @@ "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "HIV services provided by CHW at the community" + "text": "CBHS services provided by CHW at the community" }, "meta_data": { "openmrs_entity": "concept", @@ -698,11 +698,11 @@ } }, { - "name": "other_referrals", - "text": "Other Referrals", + "name": "other_hiv_services", + "text": "Other CBHS services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", + "openmrs_entity_id": "other_hiv_services", "openmrs_entity_parent": "" } }, @@ -724,7 +724,7 @@ "name": "hiv_services_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Other HIV Services Provided", + "hint": "Other CBHS Services Provided", "type": "name" }, "meta_data": { @@ -810,7 +810,7 @@ "name": "referrals_issued_to_other_services_other", "type": "text_input_edit_text", "properties": { - "hint": "Other HIV Services Provided", + "hint": "Other Referral Services Provided", "type": "name" }, "meta_data": { From eb1593333c8994294462183f274db3e46656deec Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sat, 29 Jan 2022 13:02:27 +0300 Subject: [PATCH 228/915] Fix: updated swahili translations --- .../json.form-sw/anc_hv_danger_signs.json | 6 +- .../hiv_community_followup_feedback.json | 14 +- .../hiv_index_contact_followup.json | 32 +-- .../referrals/anc_referral_form.json | 49 ++-- .../referrals/gbv_referral_form.json | 16 +- .../referrals/hiv_referral_form.json | 98 ++++---- .../referrals/hts_referral_form.json | 174 ++++++++++++++ .../pregnancy_confirmation_referral_form.json | 221 ++++++++++++++++++ .../referrals/anc_referral_form.json | 9 - .../pregnancy_confirmation_referral_form.json | 40 ++-- opensrp-chw/src/ba/res/values-sw/strings.xml | 2 +- 11 files changed, 519 insertions(+), 142 deletions(-) create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/referrals/hts_referral_form.json create mode 100644 opensrp-chw/src/ba/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json index 37c76098ac..95f425a8c0 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json @@ -127,7 +127,7 @@ }, { "key": "chk_early_labour", - "text": "Maumivu ya kuzaa mapema kabla ya miezi 9", + "text": "Uchungu kuanza mapema kabla ya mimba kufikia miezi 9", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_early_labour" @@ -198,8 +198,8 @@ "openmrs_entity_id": "danger_signs_counseling", "openmrs_data_type": "select one", "type": "spinner", - "label_info_title": "Did the mother receive counselling", - "label_info_text": "Did the mother receive counselling on danger signs at the health facility recently?", + "label_info_title": "Je, mama amepokea ushauri?", + "label_info_text": "Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?", "hint": "Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?", "values": [ "Ndiyo", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json index 559025419d..a0a2895579 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json @@ -55,7 +55,7 @@ }, "steps": [ { - "title": "Fomu ya mrejesho wa ufwatiliaji wa mteja wenye HIV", + "title": "Fomu ya mrejesho wa ufuatiliaji wa mteja mwenye VVU", "fields": [ { "name": "followup_status", @@ -142,13 +142,13 @@ "name": "client_moved_location", "type": "spinner", "properties": { - "text": "Chagua alipohamia", - "searchable": "Chagua alipohamia" + "text": "Chagua jina la kituo alipohamia", + "searchable": "Chagua jina la kituo alipohamia" }, "options": [ { "name": "Other", - "text": "Other", + "text": "Nyingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "Other", @@ -161,14 +161,14 @@ "openmrs_entity_id": "client_moved_location", "openmrs_entity_parent": "" }, - "required_status": "yes:Tafadhali chagua sehemu alipohamia", + "required_status": "yes:Tafadhali chagua jina la kituo alipohamia", "subjects": "followup_status:text" }, { "name": "client_moved_location_other", "type": "text_input_edit_text", "properties": { - "hint": "Andika alipohamia", + "hint": "Jaza jina la eneo alipohamia", "type": "name" }, "meta_data": { @@ -176,7 +176,7 @@ "openmrs_entity_id": "client_moved_location", "openmrs_entity_parent": "" }, - "required_status": "yes:Tafadhali andika alipohamia", + "required_status": "yes:Tafadhali jaza jina la eneo alipohamia", "subjects": "client_moved_location:text" } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json index c27050ca02..8bc3735c25 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json @@ -55,13 +55,13 @@ }, "steps": [ { - "title": "Index Client Contact Followup", + "title": "Ufuatiliaji wa mshirika wa kingono", "fields": [ { "name": "has_the_contact_client_been_found", "type": "radio_group", "properties": { - "text": "Have you found the contact client?" + "text": "Je, umefanikiwa kumpata mshirika wa kingono?" }, "meta_data": { "openmrs_entity": "concept", @@ -71,7 +71,7 @@ "options": [ { "name": "yes", - "text": "Yes", + "text": "Ndio", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "yes", @@ -80,7 +80,7 @@ }, { "name": "no", - "text": "No", + "text": "Hapana", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "no", @@ -88,7 +88,7 @@ } } ], - "required_status": "yes:Please select the answer", + "required_status": "yes:Tafadhali chagua jibu moja wapo", "dependent_calculations": [ "client_followed_up_by_chw" ] @@ -97,7 +97,7 @@ "name": "has_the_client_agreed_to_be_tested", "type": "radio_group", "properties": { - "text": "Has the client agreed to be tested for HIV?" + "text": "Je, mteja huyu amekubali kupimwa VVU?" }, "meta_data": { "openmrs_entity": "concept", @@ -107,7 +107,7 @@ "options": [ { "name": "yes", - "text": "Yes", + "text": "Ndio", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "yes", @@ -116,7 +116,7 @@ }, { "name": "no", - "text": "No", + "text": "Hapana", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "no", @@ -124,14 +124,14 @@ } } ], - "required_status": "yes:Please select whether the client has agreed to be tested for HIV", + "required_status": "yes:Tafadhali chagua jibu moja wapo", "subjects": "has_the_contact_client_been_found:map" }, { "name": "place_where_test_will_be_conducted", "type": "radio_group", "properties": { - "text": "Where has the client agreed to have the test?" + "text": "Je, ni sehemu gani mteja huyu amekubali kwenda kupimwa VVU?" }, "meta_data": { "openmrs_entity": "concept", @@ -141,7 +141,7 @@ "options": [ { "name": "facility", - "text": "At the Health Facility", + "text": "Kwenye kituo cha kutolea huduma za afya", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "facility", @@ -150,7 +150,7 @@ }, { "name": "community", - "text": "At the community", + "text": "Kwenye ngazi ya jamii", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "community", @@ -158,7 +158,7 @@ } } ], - "required_status": "yes:Please select the answer", + "required_status": "yes:Tafadhali chagua jibu moja wapo", "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map" }, { @@ -167,8 +167,8 @@ "properties": { "notification_type": "info", "dismissible": "no", - "title": "Client should be referred to Hospital", - "text": "The client should be referred to the Hospital for HIV testing.\nGive the client a referral", + "title": "Mteja anatakiwa apewe rufaa kwenda kituoni", + "text": "Mteja anatikwa apewe rufaa ya kwenda kituoni kwa ajili ya kupima VVU \nTafadhali mpe rufaa", "background_color": "#f50424", "text_color": "#FFFFFF" }, @@ -178,7 +178,7 @@ "name": "chw_comment", "type": "text_input_edit_text", "properties": { - "hint": "Remarks/Comments" + "hint": "Maoni" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json index d6e113a927..05daafb571 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json @@ -54,13 +54,13 @@ }, "steps": [ { - "title": "Rufaa ya mama mjamzito", + "title": "Fomu ya rufaa ya mama mjamzito", "fields": [ { "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Tatizo / hali ya afya ya mteja" + "text": "Chagua tatizo/hali aliyonayo mteja" }, "meta_data": { "openmrs_entity_parent": "", @@ -79,7 +79,7 @@ }, { "name": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", - "text": "Kutoka uchafu / majimaji ukeni yenye harufu mbaya", + "text": "Kutokwa na majimaji ukeni yenye rangirangi na harufu mbaya", "metadata": { "openmrs_entity": "", "openmrs_entity_id": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", @@ -88,7 +88,7 @@ }, { "name": "High_blood_pressure", - "text": "Shinikizo la damue", + "text": "Shinikizo la damu", "metadata": { "openmrs_entity": "", "openmrs_entity_id": "High_blood_pressure", @@ -115,7 +115,7 @@ }, { "name": "Convulsions", - "text": "Degedege / Mtukutiko wa mwili", + "text": "Degedege", "metadata": { "openmrs_entity": "", "openmrs_entity_id": "Convulsions", @@ -124,7 +124,7 @@ }, { "name": "No_movement_unusual_movement_for_a_child_in_the_womb", - "text": "Kutocheza / kucheza kusiko kwa kawaida kwa mtoto aliye tumboni", + "text": "Hakuna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni", "metadata": { "openmrs_entity": "", "openmrs_entity_id": "No_movement_unusual_movement_for_a_child_in_the_womb", @@ -151,7 +151,7 @@ }, { "name": "A_severe_headache_dizziness", - "text": "Maumivu makali ya kichwa / kizunguzungu", + "text": "Maumivu makali ya kichwa/kizunguzungu", "metadata": { "openmrs_entity": "", "openmrs_entity_id": "A_severe_headache_dizziness", @@ -160,7 +160,7 @@ }, { "name": "Swelling_of_the_face_andor_hands", - "text": "Kuvimba uso na / au mikono", + "text": "Kuvimba uso na/au mikono", "metadata": { "openmrs_entity": "", "openmrs_entity_id": "Swelling_of_the_face_andor_hands", @@ -214,7 +214,7 @@ }, { "name": "HIV_care_and_support_services", - "text": "Huduma za wateja / wagonjwa wanaoishi na VVU", + "text": "Huduma za wateja/wagonjwa wanaoishi na VVU", "metadata": { "openmrs_entity": "", "openmrs_entity_id": "HIV_care_and_support_services", @@ -284,15 +284,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "Pregnancy_confirmation", - "text": "Kuhakiki uja-uzito", - "metadata": { - "openmrs_entity": "", - "openmrs_entity_id": "Pregnancy_confirmation", - "openmrs_entity_parent": "" - } - }, { "name": "Other_symptoms", "text": "Dalili nyingine", @@ -303,7 +294,7 @@ } } ], - "required_status": "yes:Tafadhali taja sababu ya rufaa ya mama mjamzito", + "required_status": "yes:Tafadhali bainishi sababu za rufaa kwenda kliniki ya mjamzito", "dependent_calculations": [ "referral_date", "referral_time", @@ -322,7 +313,7 @@ "properties": { "hint": "Dalili nyingine" }, - "required_status": "true:Tafadhali taja dalili zingine", + "required_status": "true:Tafadhali bainisha dalili nyingine", "subjects": "problem:map" }, { @@ -334,7 +325,7 @@ }, "type": "multi_choice_checkbox", "properties": { - "text": "Huduma aliyopewa kabla ya rufaa." + "text": "Matibabu aliyopewa kabla ya rufaa" }, "options": [ { @@ -375,7 +366,7 @@ } } ], - "required_status": "True:Huduma aliyopewa kabla ya rufaa ni lazima" + "required_status": "True:Matibabu aliyopewa kabla ya rufaa ni lazima" }, { "name": "service_before_referral_other", @@ -388,7 +379,7 @@ "properties": { "hint": "Matibabu mengine" }, - "required_status": "true:Tafadhali taja matibabu mengine", + "required_status": "true:Tafadhali jaza matibabu mengine", "subjects": "service_before_referral:map" }, { @@ -400,22 +391,22 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Chagua Kituo cha Afya", - "searchable": "Chagua Kituo cha Afya" + "text": "Chagua Kituo cha rufaa", + "searchable": "Chagua Kituo cha rufaa" }, "options": [ { "name": "none", - "text": "Chagua Kituo cha Afya" + "text": "Chagua Kituo cha rufaa" } ], - "required_status": "yes:Tafadhali chagua kituo cha Afya cha kutuma rufaa" + "required_status": "yes:Tafadhali chagua kituo cha rufaa" }, { "name": "referral_appointment_date", "type": "datetime_picker", "properties": { - "hint": "Tarehe ya kuhudhuria hospitali", + "hint": "Chagua tarehe ya miadi", "type": "date_picker", "display_format": "dd/MM/yyyy", "min_date": "today" @@ -425,7 +416,7 @@ "openmrs_entity_id": "referral_appointment_date", "openmrs_entity_parent": "" }, - "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" + "required_status": "true:Tafadhali chagua tarehe ya miadi" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json index 1247bc58f9..495d84b2bb 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json @@ -54,13 +54,13 @@ }, "steps": [ { - "title": "Rufaa kwenda Huduma ya kuzui ukatili wa kijinsia (dawati la jinsia)", + "title": "Rufaa kwenda kwenye huduma ya kuzuia ukatili wa kijinsia (dawati la jinsia)", "fields": [ { "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Tatizo / hali ya afya ya mteja." + "text": "Chagua tatizo/hali aliyonayo mteja." }, "meta_data": { "openmrs_entity": "concept", @@ -130,7 +130,7 @@ } } ], - "required_status": "yes:Tafadhali taja hali ya mteja / shida", + "required_status": "yes:Tafadhali bainisha tatizo/hali ya mteja", "dependent_calculations": [ "referral_date", "referral_time", @@ -162,17 +162,17 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Chagua Kituo cha Afya", - "searchable": "Chagua Kituo cha Afya" + "text": "Chagua Kituo cha rufaa", + "searchable": "Chagua Kituo cha rufaa" }, "options": [], - "required_status": "yes:Please specify referral facility" + "required_status": "yes:Tafadhali chagua Kituo cha rufaa" }, { "name": "referral_appointment_date", "type": "datetime_picker", "properties": { - "hint": "Tarehe ya kuhudhuria hospitali", + "hint": "Tarehe ya miadi", "type": "date_picker", "display_format": "dd/MM/yyyy", "min_date": "today" @@ -182,7 +182,7 @@ "openmrs_entity_id": "referral_appointment_date", "openmrs_entity_parent": "" }, - "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" + "required_status": "true:Tafadhali chagua tarehe ya miadi" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json index e79b7deb9c..56f95df328 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json @@ -60,47 +60,29 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Tatizo / hali ya afya ya mteja." + "text": "Chagua tatizo au hali inayoendana na mteja" }, "meta_data": { + "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "problem", - "openmrs_entity_parent": "" + "openmrs_entity_id": "problem" }, "options": [ { - "name": "frequent_fever", - "text": "Homa za mara kwa mara", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "frequent_fever", - "openmrs_entity_parent": "" - } - }, - { - "name": "weight_loss", - "text": "Kupungua uzito", + "name": "pain", + "text": "Maumivu", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "weight_loss", - "openmrs_entity_parent": "" - } - }, - { - "name": "living_with_a_spouse_with_hiv", - "text": "Anaishi na mwenza mwenye VVU", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "living_with_a_spouse_with_hiv", + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", "openmrs_entity_parent": "" } }, { - "name": "living_in_a_risky_area", - "text": "Eneo hatarishi", + "name": "coughing", + "text": "Kukohoa", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "living_in_a_risky_area", + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", "openmrs_entity_parent": "" } }, @@ -114,7 +96,7 @@ } } ], - "required_status": "yes:Tafadhali taja hali ya mteja / shida", + "required_status": "yes:Tafadhali bainisha tatizo la mteja", "dependent_calculations": [ "referral_date", "referral_time", @@ -126,7 +108,7 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Dalili nyingine", + "hint": "Jaza dalili nyingine", "type": "name" }, "meta_data": { @@ -134,21 +116,39 @@ "openmrs_entity_id": "problem_other", "openmrs_entity_parent": "problem" }, - "required_status": "true:Tafadhali jaza dalili nyingine", + "required_status": "true:Tafadhali bainisha dalili nyingine", "subjects": "problem:map" }, { "name": "service_before_referral", "type": "multi_choice_checkbox", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "service_before_referral", - "openmrs_entity_parent": "" - }, "properties": { - "text": "Huduma aliyopewa kabla ya rufaa." + "text": "Matibabu yaliyotolewa kabla ya rufaa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "service_before_referral", + "openmrs_entity_parent": "" }, "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, { "name": "Other_treatment", "text": "Matibabu mengine", @@ -160,22 +160,22 @@ }, { "name": "none", - "text": "Hajapewa matibabu yoyote", + "text": "Hapana", "is_exclusive": true, "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", + "openmrs_entity": "", + "openmrs_entity_id": "", "openmrs_entity_parent": "" } } ], - "required_status": "True:Huduma aliyopewa kabla ya rufaa ni lazima" + "required_status": "yes:Tafadhali bainisha matibabu yaliyotolewa kabla ya rufaa" }, { "name": "service_before_referral_other", "type": "text_input_edit_text", "properties": { - "hint": "Matibabu mengine", + "hint": "Jaza matibabu mengine", "type": "name" }, "meta_data": { @@ -183,7 +183,7 @@ "openmrs_entity_id": "service_before_referral_other", "openmrs_entity_parent": "service_before_referral" }, - "required_status": "true:Tafadhali taja matibabu mengine", + "required_status": "true:Tafadhali bainisha matibabu mengine", "subjects": "service_before_referral:map" }, { @@ -195,17 +195,17 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Chagua Kituo cha Afya", - "searchable": "Chagua Kituo cha Afya" + "text": "Chagua kituo cha rufaa", + "searchable": "Chagua kituo cha rufaa" }, "options": [], - "required_status": "yes:Please specify referral facility" + "required_status": "yes:Tafadhali chagua kituo cha rufaa" }, { "name": "referral_appointment_date", "type": "datetime_picker", "properties": { - "hint": "Tarehe ya kuhudhuria hospitali", + "hint": "Tafadhali chagua tarehe ya miadi", "type": "date_picker", "display_format": "dd/MM/yyyy", "min_date": "today" @@ -215,7 +215,7 @@ "openmrs_entity_id": "referral_appointment_date", "openmrs_entity_parent": "" }, - "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" + "required_status": "true:Tafadhali chagua tarehe ya miadi" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/hts_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/hts_referral_form.json new file mode 100644 index 0000000000..52bb7afe66 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/hts_referral_form.json @@ -0,0 +1,174 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya Rufaa Kwa Ajili ya Huduma ya Upimaji wa VVU", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua tatizo au hali inayoendana na mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "frequent_fever", + "text": "Homa za mara kwa mara", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "frequent_fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "weight_loss", + "text": "Kupoteza uzito", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "weight_loss", + "openmrs_entity_parent": "" + } + }, + { + "name": "living_with_a_spouse_with_hiv", + "text": "Anaishi na mwenza mwenye VVU", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "living_with_a_spouse_with_hiv", + "openmrs_entity_parent": "" + } + }, + { + "name": "living_in_a_risky_area", + "text": "Maeneo hatarishi kwa maambukizi ya VVU", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "living_in_a_risky_area", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Dalili nyingine", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua dalili nyingine", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Dalili nyingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Tafadhali chagua dalili nyingine", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua Kituo cha rufaa", + "searchable": "Chagua Kituo cha rufaa" + }, + "options": [], + "required_status": "yes:Tafadhali chagua Kituo cha rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tafadhali chagua tarehe ya miadi", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali chagua tarehe ya miadi" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json new file mode 100644 index 0000000000..92a6bab2b1 --- /dev/null +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json @@ -0,0 +1,221 @@ +{ + "form": "Pregnancy Confirmation Referral", + "encounter_type": "Pregnancy Confirmation Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/pregnancy_confirmation_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Pregnancy Confirmation Referral", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick condition/problem associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "loss_of_menstrual_period", + "text": "Loss of Menstrual Period", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_menstrual_period", + "openmrs_entity_parent": "" + } + }, + { + "name": "vomiting", + "text": "Vomiting", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "vomiting", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "severe_headache", + "text": "Severe Headache", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "severe_headache", + "openmrs_entity_parent": "" + } + }, + { + "name": "nausea", + "text": "Nausea", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nausea", + "openmrs_entity_parent": "" + } + }, + { + "name": "feeling_lightheaded_or_dizzy", + "text": "Feeling lightheaded or dizzy", + "meta_data": { + "openmrs_entity": "conceptc", + "openmrs_entity_id": "feeling_lightheaded_or_dizzy", + "openmrs_entity_parent": "" + } + }, + { + "name": "frequent_urination", + "text": "Frequent urination", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "frequent_urination", + "openmrs_entity_parent": "" + } + }, + { + "name": "painful_breasts", + "text": "Painful breasts", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "painful_breasts", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_symptoms", + "text": "Other symptoms", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_symptoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify reason for Pregnancy Confirmation referral", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status", + "service_before_referral" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json index cf40d30037..94c98a1e34 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json @@ -284,15 +284,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "Pregnancy_confirmation", - "text": "Pregnancy confirmation", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "Pregnancy_confirmation", - "openmrs_entity_parent": "" - } - }, { "name": "Other_symptoms", "text": "Other symptoms", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json index 92a6bab2b1..a58a088f05 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json @@ -54,13 +54,13 @@ }, "steps": [ { - "title": "Pregnancy Confirmation Referral", + "title": "Rufaa kwa ajili ya kuhakiki uja-uzito", "fields": [ { "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick condition/problem associated with the client." + "text": "Chagua tatizo/hali aliyonayo mteja" }, "meta_data": { "openmrs_entity_parent": "", @@ -70,7 +70,7 @@ "options": [ { "name": "loss_of_menstrual_period", - "text": "Loss of Menstrual Period", + "text": "Amepoteza siku zake za hedhi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "loss_of_menstrual_period", @@ -79,7 +79,7 @@ }, { "name": "vomiting", - "text": "Vomiting", + "text": "Anatapika", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "vomiting", @@ -88,7 +88,7 @@ }, { "name": "fever", - "text": "Fever", + "text": "Homa", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "fever", @@ -97,7 +97,7 @@ }, { "name": "severe_headache", - "text": "Severe Headache", + "text": "Maumivu makali ya kichwa", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "severe_headache", @@ -106,7 +106,7 @@ }, { "name": "nausea", - "text": "Nausea", + "text": "Kichefuchefu", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "nausea", @@ -115,7 +115,7 @@ }, { "name": "feeling_lightheaded_or_dizzy", - "text": "Feeling lightheaded or dizzy", + "text": "Kizunguzungu", "meta_data": { "openmrs_entity": "conceptc", "openmrs_entity_id": "feeling_lightheaded_or_dizzy", @@ -124,7 +124,7 @@ }, { "name": "frequent_urination", - "text": "Frequent urination", + "text": "Kukojoa mara kwa mara", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "frequent_urination", @@ -133,7 +133,7 @@ }, { "name": "painful_breasts", - "text": "Painful breasts", + "text": "Maumivu ya matiti", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "painful_breasts", @@ -142,7 +142,7 @@ }, { "name": "other_symptoms", - "text": "Other symptoms", + "text": "Dalili nyingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_symptoms", @@ -151,7 +151,7 @@ }, { "name": "none", - "text": "None", + "text": "Hakuna", "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", @@ -160,7 +160,7 @@ } } ], - "required_status": "yes:Please specify reason for Pregnancy Confirmation referral", + "required_status": "yes:Tafadhali bainisha sababu za rufaa ya kufanya uhakiki wa uja-uzito", "dependent_calculations": [ "referral_date", "referral_time", @@ -178,10 +178,10 @@ "openmrs_entity_parent": "problem" }, "properties": { - "hint": "Other symptoms", + "hint": "Dalili nyingine", "type": "name" }, - "required_status": "true:Please specify other symptoms", + "required_status": "true:Tafadhali bainisha dalili nyingine", "subjects": "problem:map" }, { @@ -193,17 +193,17 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Choose referral facility", - "searchable": "Choose referral facility" + "text": "Chagua kituo cha rufaa", + "searchable": "Chagua kituo cha rufaa" }, "options": [], - "required_status": "yes:Please specify referral facility" + "required_status": "yes:Tafadhali chagua kituo cha rufaa" }, { "name": "referral_appointment_date", "type": "datetime_picker", "properties": { - "hint": "Please select the appointment date", + "hint": "Chagua tarehe ya miadi", "type": "date_picker", "display_format": "dd/MM/yyyy", "min_date": "today" @@ -213,7 +213,7 @@ "openmrs_entity_id": "referral_appointment_date", "openmrs_entity_parent": "" }, - "required_status": "true:Please specify the appointment date" + "required_status": "true:Tafadhali chagua tarehe ya miadi" } ] } diff --git a/opensrp-chw/src/ba/res/values-sw/strings.xml b/opensrp-chw/src/ba/res/values-sw/strings.xml index e0c19a41d8..89e5738667 100644 --- a/opensrp-chw/src/ba/res/values-sw/strings.xml +++ b/opensrp-chw/src/ba/res/values-sw/strings.xml @@ -1,7 +1,7 @@ WAJA Wizara ya Afya \n Mfumo wa WAJA - Mfumo wa Jamii ya Wizara ya Afya + Mfumo wa Jamii wa Wizara ya Afya Wajawazito Baada ya Kujifungua Kliniki ya Tiba na matunzo (CTC) From 4af4e1ea6de0e42c5754bb4d2edfb6f19dc4bf50 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 31 Jan 2022 08:57:01 +0300 Subject: [PATCH 229/915] Fix: updated swahili translations --- .../pregnancy_confirmation_referral_form.json | 40 +++++++++---------- .../pregnancy_confirmation_referral_form.json | 40 +++++++++---------- 2 files changed, 40 insertions(+), 40 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json index 92a6bab2b1..a58a088f05 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json @@ -54,13 +54,13 @@ }, "steps": [ { - "title": "Pregnancy Confirmation Referral", + "title": "Rufaa kwa ajili ya kuhakiki uja-uzito", "fields": [ { "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick condition/problem associated with the client." + "text": "Chagua tatizo/hali aliyonayo mteja" }, "meta_data": { "openmrs_entity_parent": "", @@ -70,7 +70,7 @@ "options": [ { "name": "loss_of_menstrual_period", - "text": "Loss of Menstrual Period", + "text": "Amepoteza siku zake za hedhi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "loss_of_menstrual_period", @@ -79,7 +79,7 @@ }, { "name": "vomiting", - "text": "Vomiting", + "text": "Anatapika", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "vomiting", @@ -88,7 +88,7 @@ }, { "name": "fever", - "text": "Fever", + "text": "Homa", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "fever", @@ -97,7 +97,7 @@ }, { "name": "severe_headache", - "text": "Severe Headache", + "text": "Maumivu makali ya kichwa", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "severe_headache", @@ -106,7 +106,7 @@ }, { "name": "nausea", - "text": "Nausea", + "text": "Kichefuchefu", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "nausea", @@ -115,7 +115,7 @@ }, { "name": "feeling_lightheaded_or_dizzy", - "text": "Feeling lightheaded or dizzy", + "text": "Kizunguzungu", "meta_data": { "openmrs_entity": "conceptc", "openmrs_entity_id": "feeling_lightheaded_or_dizzy", @@ -124,7 +124,7 @@ }, { "name": "frequent_urination", - "text": "Frequent urination", + "text": "Kukojoa mara kwa mara", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "frequent_urination", @@ -133,7 +133,7 @@ }, { "name": "painful_breasts", - "text": "Painful breasts", + "text": "Maumivu ya matiti", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "painful_breasts", @@ -142,7 +142,7 @@ }, { "name": "other_symptoms", - "text": "Other symptoms", + "text": "Dalili nyingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_symptoms", @@ -151,7 +151,7 @@ }, { "name": "none", - "text": "None", + "text": "Hakuna", "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", @@ -160,7 +160,7 @@ } } ], - "required_status": "yes:Please specify reason for Pregnancy Confirmation referral", + "required_status": "yes:Tafadhali bainisha sababu za rufaa ya kufanya uhakiki wa uja-uzito", "dependent_calculations": [ "referral_date", "referral_time", @@ -178,10 +178,10 @@ "openmrs_entity_parent": "problem" }, "properties": { - "hint": "Other symptoms", + "hint": "Dalili nyingine", "type": "name" }, - "required_status": "true:Please specify other symptoms", + "required_status": "true:Tafadhali bainisha dalili nyingine", "subjects": "problem:map" }, { @@ -193,17 +193,17 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Choose referral facility", - "searchable": "Choose referral facility" + "text": "Chagua kituo cha rufaa", + "searchable": "Chagua kituo cha rufaa" }, "options": [], - "required_status": "yes:Please specify referral facility" + "required_status": "yes:Tafadhali chagua kituo cha rufaa" }, { "name": "referral_appointment_date", "type": "datetime_picker", "properties": { - "hint": "Please select the appointment date", + "hint": "Chagua tarehe ya miadi", "type": "date_picker", "display_format": "dd/MM/yyyy", "min_date": "today" @@ -213,7 +213,7 @@ "openmrs_entity_id": "referral_appointment_date", "openmrs_entity_parent": "" }, - "required_status": "true:Please specify the appointment date" + "required_status": "true:Tafadhali chagua tarehe ya miadi" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json index a58a088f05..92a6bab2b1 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json @@ -54,13 +54,13 @@ }, "steps": [ { - "title": "Rufaa kwa ajili ya kuhakiki uja-uzito", + "title": "Pregnancy Confirmation Referral", "fields": [ { "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua tatizo/hali aliyonayo mteja" + "text": "Pick condition/problem associated with the client." }, "meta_data": { "openmrs_entity_parent": "", @@ -70,7 +70,7 @@ "options": [ { "name": "loss_of_menstrual_period", - "text": "Amepoteza siku zake za hedhi", + "text": "Loss of Menstrual Period", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "loss_of_menstrual_period", @@ -79,7 +79,7 @@ }, { "name": "vomiting", - "text": "Anatapika", + "text": "Vomiting", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "vomiting", @@ -88,7 +88,7 @@ }, { "name": "fever", - "text": "Homa", + "text": "Fever", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "fever", @@ -97,7 +97,7 @@ }, { "name": "severe_headache", - "text": "Maumivu makali ya kichwa", + "text": "Severe Headache", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "severe_headache", @@ -106,7 +106,7 @@ }, { "name": "nausea", - "text": "Kichefuchefu", + "text": "Nausea", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "nausea", @@ -115,7 +115,7 @@ }, { "name": "feeling_lightheaded_or_dizzy", - "text": "Kizunguzungu", + "text": "Feeling lightheaded or dizzy", "meta_data": { "openmrs_entity": "conceptc", "openmrs_entity_id": "feeling_lightheaded_or_dizzy", @@ -124,7 +124,7 @@ }, { "name": "frequent_urination", - "text": "Kukojoa mara kwa mara", + "text": "Frequent urination", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "frequent_urination", @@ -133,7 +133,7 @@ }, { "name": "painful_breasts", - "text": "Maumivu ya matiti", + "text": "Painful breasts", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "painful_breasts", @@ -142,7 +142,7 @@ }, { "name": "other_symptoms", - "text": "Dalili nyingine", + "text": "Other symptoms", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_symptoms", @@ -151,7 +151,7 @@ }, { "name": "none", - "text": "Hakuna", + "text": "None", "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", @@ -160,7 +160,7 @@ } } ], - "required_status": "yes:Tafadhali bainisha sababu za rufaa ya kufanya uhakiki wa uja-uzito", + "required_status": "yes:Please specify reason for Pregnancy Confirmation referral", "dependent_calculations": [ "referral_date", "referral_time", @@ -178,10 +178,10 @@ "openmrs_entity_parent": "problem" }, "properties": { - "hint": "Dalili nyingine", + "hint": "Other symptoms", "type": "name" }, - "required_status": "true:Tafadhali bainisha dalili nyingine", + "required_status": "true:Please specify other symptoms", "subjects": "problem:map" }, { @@ -193,17 +193,17 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Chagua kituo cha rufaa", - "searchable": "Chagua kituo cha rufaa" + "text": "Choose referral facility", + "searchable": "Choose referral facility" }, "options": [], - "required_status": "yes:Tafadhali chagua kituo cha rufaa" + "required_status": "yes:Please specify referral facility" }, { "name": "referral_appointment_date", "type": "datetime_picker", "properties": { - "hint": "Chagua tarehe ya miadi", + "hint": "Please select the appointment date", "type": "date_picker", "display_format": "dd/MM/yyyy", "min_date": "today" @@ -213,7 +213,7 @@ "openmrs_entity_id": "referral_appointment_date", "openmrs_entity_parent": "" }, - "required_status": "true:Tafadhali chagua tarehe ya miadi" + "required_status": "true:Please specify the appointment date" } ] } From 52d62147f3b2fd7a36544e252b75cd9ef1e98843 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 31 Jan 2022 13:11:21 +0300 Subject: [PATCH 230/915] Fix: updated swahili translations --- .../all_clients_registration_form.json | 32 +- ...clients_update_registration_info_form.json | 36 +- .../assets/json.form-sw/child_enrollment.json | 575 +++++++++++++++++- .../json.form-sw/family_member_register.json | 28 +- .../assets/json.form-sw/family_register.json | 90 +-- 5 files changed, 665 insertions(+), 96 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index ae3d9fb84c..de99f2bccb 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -382,10 +382,10 @@ "openmrs_entity": "person", "openmrs_entity_id": "gender", "type": "spinner", - "hint": "Jinsia", + "hint": "Jinsi", "values": [ - "kiume", - "kike" + "Me", + "Ke" ], "keys": [ "Male", @@ -393,7 +393,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhali chagua jinsia" + "err": "Tafadhali chagua jinsi" } }, { @@ -410,7 +410,7 @@ "Ndoa ya mke/mume moja", "Mitala", "Mjane", - "Kuishi pamoja" + "Kuishi pamoja bila ndoa" ], "keys": [ "Single", @@ -560,11 +560,11 @@ "mask": "T-####-####-###-#", "mask_hint": "123456789123", "allowed_chars": "0123456789", - "hint": "Nambari ya usajili ya mpiga kura k.m T-1234-5678-912-3", + "hint": "Nambari ya kitambulisho cha mpiga kura k.m T-1234-5678-912-3", "edit_type": "number", "v_regex": { "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Nambari ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + "err": "Nambari ya kitambulisho cha mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" }, "v_max_length": { "value": "17", @@ -674,10 +674,10 @@ "Huduma ya Afya ya AAR", "Mikakati ya Bima", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Jubilee Insurance", - "Resolutions Insurance", - "Reliance Insurance", + "Bima ya afya ya Britam", + "Bima ya afya ya Jubilee", + "Bima ya afya ya Resolutions", + "Bima ya afya ya Reliance", "Nyingine", "Hakuna" ], @@ -974,10 +974,6 @@ "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." }, - "v_required": { - "value": "true", - "err": "Tafadhali wasiliana na mlezi." - }, "relevance": { "rules-engine": { "ex-rules": { @@ -1015,7 +1011,7 @@ }, { "key": "chk_nurse", - "text": "Muguzi", + "text": "Muuguzi", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_nurse" @@ -1064,7 +1060,7 @@ }, { "key": "chk_hbc", - "text": "Watoa huduma kwa wagonj majumbaniwa", + "text": "Watoa huduma kwa wagonjwa majumbani", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_hbc" @@ -1373,7 +1369,7 @@ }, { "key": "cancer", - "text": "saratani", + "text": "Saratani", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index d650e03144..97bb1dd5d0 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -228,10 +228,10 @@ "openmrs_entity": "person", "openmrs_entity_id": "gender", "type": "spinner", - "hint": "Jinsia", + "hint": "Jinsi", "values": [ - "Kiume", - "Kike" + "Me", + "Ke" ], "keys": [ "Male", @@ -256,7 +256,7 @@ "Ndoa ya mke mmoja", "Ndoa ya wake wengi", "Amefiwa na mwenza", - "Kuishi pamoja" + "Kuishi pamoja bila ndoa" ], "keys": [ "Single", @@ -406,11 +406,11 @@ "mask": "T-####-####-###-#", "mask_hint": "123456789123", "allowed_chars": "0123456789", - "hint": "Kitambulisho cha usajili wa mpiga kura", + "hint": "Nambari ya kitambulisho cha mpiga kura", "edit_type": "number", "v_regex": { "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Namba ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + "err": "Nambari ya kitambulisho cha kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" }, "v_max_length": { "value": "17", @@ -520,10 +520,10 @@ "AAR Healthcare", "Strategies Insurance", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Jubilee Insurance", - "Resolutions Insurance", - "Reliance Insurance", + "Bima ya afya Britam", + "Bima ya afya Jubilee", + "Bima ya afya Resolutions", + "Bima ya afya Reliance", "Nyingine", "Hakuna" ], @@ -850,7 +850,7 @@ }, { "key": "chk_cs", - "text": "Mtumishi wa Umma", + "text": "Mtumishi wa Serikali", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cs" @@ -871,14 +871,14 @@ }, { "key": "chk_th", - "text": "Mganga wa Kienyeji", + "text": "Mganga wa tiba asili", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_th" }, { "key": "chk_chw", - "text": "Mhudumu wa Afya ya Jamii (MJA)", + "text": "Muhudumu wa afya ngazi ya jamii(WAJA)", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_chw" @@ -892,35 +892,35 @@ }, { "key": "chk_chmis", - "text": "HMIS ngazi ya Jamii", + "text": "Wakusanyaji takrimu za afya ngazi ya jamii", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_chmis" }, { "key": "chk_cbd", - "text": "Msambazaji wa Jamii", + "text": "Msambazaji wa dawa na vifaa vya uzazi wa mpango ngazi ya Jamii", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cbd" }, { "key": "chk_hbc", - "text": "Mlezi wa Nyumbani", + "text": "Watoa huduma kwa wagonjwa majumbani", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_hbc" }, { "key": "chk_cimmci", - "text": "IMCI wa Jamii", + "text": "Watoa huduma za udhibiti wa magonjwa ya watoto ngazi ya jamii", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cimmci" }, { "key": "chk_other", - "text": "Nyingine", + "text": "Nyinginezo", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_other" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index 91e5d9871a..808dca40ec 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -1 +1,574 @@ -{"count":"1","encounter_type":"Child Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Add Child Under 5 years","fields":[{"key":"unique_id","openmrs_entity_parent":"","openmrs_entity":"person_identifier","openmrs_entity_id":"opensrp_id","type":"edit_text","read_only":true,"hint":"Namba ya utambulisho ya WAJA","v_numeric":{"value":"true","err":"Tafadhali ingiza namba ya kitambulisho sahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza namba namba ya kipekee ya kitambulisho"}},{"key":"surname","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"edit_text","hint":"Jina la mwisho","edit_type":"name","v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"},"v_required":{"value":"true","err":"Tafadhali ingiza jina la mwisho"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"same_as_fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","openmrs_data_type":"text","type":"check_box","label":"","exclusive":["none"],"options":[{"key":"same_as_fam_name","text":"Jina la mwisho sawa na jina la familia","text_size":"18px","value":"false"}]},{"key":"fam_name","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"label","hidden":"true"},{"key":"surname_calculation","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"last_name","type":"hidden","hint":"Surname as Family name","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family-child-calculation.yml"}}}},{"key":"first_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"first_name","openmrs_data_type":"text","type":"edit_text","hint":"Jina la kwanza","expanded":false,"edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kwanza"},"v_regex":{"value":"[A-Za-z\\s\\-\\']*","err":"Tafadhali ingiza jina sahihi"}},{"key":"middle_name","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"middle_name","openmrs_data_type":"text","type":"edit_text","hint":"Jina la katiT","expanded":false,"edit_type":"name","v_required":{"value":"true","err":"Tafadhali ingiza jina la kati"},"v_regex":{"value":"[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*","err":"Tafadhali ingiza jina sahihi"}},{"key":"dob","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdate","type":"date_picker","hint":"Tarehe ya kuzaliwa","expanded":false,"duration":{"label":"Age"},"min_date":"today-5y","max_date":"today","v_required":{"value":"true","err":"Tafadhali ingiza tarehe ya kuzaliwa"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"dob_unknown","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"birthdateApprox","hidden":"false","type":"check_box","label":"","options":[{"key":"dob_unknown","text":"Tarehe ya kuzaliwa haijulikani","text_size":"18px","value":"false"}],"relevance":{"step1:dob":{"type":"string","ex":"equalTo(.,\"\")"}}},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"age","type":"edit_text","hint":"Umri","v_numeric":{"value":"true","err":""},"v_min":{"value":"0","err":"Umri lazima uwe sawa au zaidi ya 0"},"v_max":{"value":"5","err":"Umri ni lazima uwe sawa au chini ya 5"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}},"v_required":{"value":true,"err":"Tafadhali ingiza umri"}},{"key":"insurance_provider","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"insurance_provider","type":"spinner","hint":"Mtoa huduma ya bima ya afya","values":["Mfuko wa Afya ya Jamii (CHF)/(iCHF)","Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)","Mfuko wa Taifa wa Bima ya Afya (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Nyingine","Hakuna"],"keys":["Community Health Fund (CHF)","National Social Security Fund - Social Health Insurance Benefit (SHIB)","National Health Insurance Fund (NHIF)","Tiba Kwa Kadi (TIKA)","AAR Healthcare","Strategies Insurance","Milvik Tanzania Ltd (BIMA Mkononi)","Britam Insurance Tanzania","Jubilee Insurance","Resolutions Insurance","Reliance Insurance","Other","None"],"openmrs_choice_ids":{"Community Health Fund (CHF)":"Community_Health_Fund","National Social Security Fund - Social Health Insurance Benefit (SHIB)":"National_Social_Security_Fund","National Health Insurance Fund (NHIF)":"National_Health_Insurance_Fund","Tiba Kwa Kadi (TIKA)":"Tiba_kwa_Kadi","AAR Healthcare":"AAR_Healthcare","AAR Strategies Insurance":"Strategies_Insurance","Milvik Tanzania Ltd (BIMA Mkononi)":"BIMA_Mkononi","Britam Insurance Tanzania":"Britam_Insurance_Tanzania","Jubilee Insurance":"Jubilee_Insurance","Resolutions Insurance":"Resolutions_Insurance","Reliance Insurance":"Reliance_Insurance","Other":"Other_Health_Insurance_Type","None":"No_Health_Insurance"},"v_required":{"value":"true","err":"Tafadhali ingiza mtoa huduma ya bima"}},{"key":"insurance_provider_other","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Other_Health_Insurance_Type","type":"edit_text","hint":"Mtoa huduma mwingine wa bima ya afya","v_required":{"value":"true","err":"Tafadhali ingiza mtoa huduma ya bima"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"insurance_provider_number","openmrs_entity_parent":"","openmrs_entity":"person_attribute","openmrs_entity_id":"Health_Insurance_Number","type":"edit_text","hint":"Namba ya mtoa huduma wa bima ya afya","v_required":{"value":"true","err":"Tafadhali ongeza namba ya kitambulisho ya mtoa huduma wa bima ya afya"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_register_relevance.yml"}}}},{"key":"gender","openmrs_entity_parent":"","openmrs_entity":"person","openmrs_entity_id":"gender","type":"spinner","hint":"Jinsia","values":["Kiume","Kike"],"keys":["Male","Female"],"v_required":{"value":"true","err":"Tafadhali ingiza jinsia"}},{"key":"disabilities","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"disabilities","type":"spinner","hint":"Ulemavu wa kimwili","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"v_required":{"value":"true","err":"Tafadhali ingiza moja"}},{"key":"type_of_disability","openmrs_entity_parent":"disabilities","openmrs_entity":"concept","openmrs_entity_id":"type_of_disability","type":"check_box","label":"Aina ya ulemavu wa kimwili","label_text_style":"normal","text_color":"#C0C0C0","options":[{"key":"physical_impairments","text":"Uhamaji na Ulemavu wa Kimwili","value":false,"openmrs_entity":"concept","openmrs_entity_id":"physical_impairments"},{"key":"spinal_cord_disability","text":"Ulemavu wa Uti wa Mgongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"spinal_cord_disability"},{"key":"brain_disability","text":"Majeraha ya Kichwa - Ulemavu wa Ubongo","value":false,"openmrs_entity":"concept","openmrs_entity_id":"brain_disability"},{"key":"vision_disability","text":"Ulemavu wa Kuona","value":false,"openmrs_entity":"concept","openmrs_entity_id":"vision_disability"},{"key":"hearing_disability","text":"Ulemavu wa Kusikia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"hearing_disability"},{"key":"learning_disabilities","text":"Ulemavu wa Utambuzi au Kujifunza","value":false,"openmrs_entity":"concept","openmrs_entity_id":"learning_disabilities"},{"key":"psychological_disorders","text":"Matatizo ya Kisaikolojia","value":false,"openmrs_entity":"concept","openmrs_entity_id":"psychological_disorders"},{"key":"invisible_disabilities","text":"Ulemavu Usioonekana","value":false,"openmrs_entity":"concept","openmrs_entity_id":"invisible_disabilities"}],"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}},"v_required":{"value":true,"err":"Tafadhali ingiza aina ya ulemavu wa kimwili"}},{"key":"birth_cert_available","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"birth_cert_available","type":"spinner","hint":"Usajili/cheti cha kuzaliwa","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"birth_regist_number","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"birth_regist_number","type":"edit_text","hint":"Namba ya usajili wa kuzaliwa","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}},{"key":"rhc_card","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"rhc_card","type":"spinner","hint":"Je, mtoto ana kadi ya RCH 1/kijitabu cha ukuaji wa mtoto?","values":["Ndiyo","Hapana"],"keys":["Yes","No"],"openmrs_choice_ids":{"Yes":"Yes","No":"No"}},{"key":"nutrition_status","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"nutrition_status","type":"spinner","hint":"Hali ya lishe","values":["Kijani","Kijivu/Njano","Nyekundu"],"keys":["Green","Grey","Red"],"openmrs_choice_ids":{"Green":"Green","Grey":"Grey","Red":"Red"},"v_required":{"value":"true","err":"Tafadhali ingiza hali ya lishe ya mtoto"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family-child-relevance.yml"}}}}]}} \ No newline at end of file +{ + "count": "1", + "encounter_type": "Child Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Sajili mtoto chini ya miaka 5", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": true, + "hint": "Namba ya utambulisho ya WAJA", + "v_numeric": { + "value": "true", + "err": "Tafadhali ingiza namba ya kitambulisho sahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza namba namba ya kipekee ya kitambulisho" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Jina la mwisho", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la mwisho" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + }, + { + "key": "same_as_fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "text", + "type": "check_box", + "label": "", + "exclusive": [ + "none" + ], + "options": [ + { + "key": "same_as_fam_name", + "text": "Jina la mwisho sawa na jina la familia", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "hidden": "true" + }, + { + "key": "surname_calculation", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "last_name", + "type": "hidden", + "hint": "Surname as Family name", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Jina la kwanza", + "expanded": false, + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\s\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Jina la kati", + "expanded": false, + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kati" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Tarehe ya kuzaliwa", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-5y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya kuzaliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "hidden": "false", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "Tarehe ya kuzaliwa haijulikani", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step1:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Umri", + "v_numeric": { + "value": "true", + "err": "" + }, + "v_min": { + "value": "0", + "err": "Umri lazima uwe sawa au zaidi ya 0" + }, + "v_max": { + "value": "5", + "err": "Umri ni lazima uwe sawa au chini ya 5" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafadhali ingiza umri" + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "insurance_provider", + "type": "spinner", + "hint": "Mtoa huduma ya bima ya afya", + "values": [ + "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", + "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Bima ya afya ya Britam", + "Bima ya afya ya Jubilee", + "Bima ya afya ya Resolutions", + "Bima ya afya ya Reliance", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza mtoa huduma ya bima" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Mtoa huduma mwingine wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza mtoa huduma ya bima" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Namba ya mtoa huduma wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali ongeza namba ya kitambulisho ya mtoa huduma wa bima ya afya" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "gender", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jinsi" + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Ulemavu wa kimwili", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza moja" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Aina ya ulemavu wa kimwili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Uhamaji na Ulemavu wa Kimwili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Ulemavu wa Uti wa Mgongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Ulemavu wa Kuona", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Ulemavu wa Kusikia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Ulemavu wa Utambuzi au Kujifunza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Matatizo ya Kisaikolojia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Ulemavu Usioonekana", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafadhali ingiza aina ya ulemavu wa kimwili" + } + }, + { + "key": "birth_cert_available", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "birth_cert_available", + "type": "spinner", + "hint": "Je, Mtoto amesajiliwa au ana cheti cha kuzaliwa", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + }, + { + "key": "birth_regist_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "birth_regist_number", + "type": "edit_text", + "hint": "Namba ya cheti cha kuzaliwa cha mtoto", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + }, + { + "key": "rhc_card", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "rhc_card", + "type": "spinner", + "hint": "Je, mtoto ana kadi ya RCH 1/kijitabu cha ukuaji wa mtoto?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + } + }, + { + "key": "nutrition_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_status", + "type": "spinner", + "hint": "Hali ya lishe", + "values": [ + "Kijani", + "Kijivu/Njano", + "Nyekundu" + ], + "keys": [ + "Green", + "Grey", + "Red" + ], + "openmrs_choice_ids": { + "Green": "Green", + "Grey": "Grey", + "Red": "Red" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza hali ya lishe ya mtoto" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index 643222ea5d..c9b1f03029 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -52,7 +52,7 @@ } }, "step1": { - "title": "Add Family Member", + "title": "Sajili mwanafamilia", "fields": [ { "key": "unique_id", @@ -109,7 +109,7 @@ "options": [ { "key": "same_as_fam_name", - "text": "Jina la ukoo sawa na jina la ukoo", + "text": "Jina la ukoo sawa na jina la familia", "text_size": "18px", "value": "false" } @@ -274,10 +274,10 @@ "openmrs_entity": "person", "openmrs_entity_id": "gender", "type": "spinner", - "hint": "Jinsia", + "hint": "Jinsi", "values": [ - "Mwanaume", - "Mwanamke" + "Me", + "Ke" ], "keys": [ "Male", @@ -302,7 +302,7 @@ "Ndoa ya mke mmoja", "Ndoa za wake wengi", "Mjane", - "Kuishi pamoja" + "Kuishi pamoja bila ndoa" ], "keys": [ "Single", @@ -340,7 +340,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", "type": "edit_text", - "hint": "Nambari ya simu", + "hint": "Namba ya simu", "v_numeric": { "value": "true", "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" @@ -452,11 +452,11 @@ "mask": "T-####-####-###-#", "mask_hint": "123456789123", "allowed_chars": "0123456789", - "hint": "Nambari ya usajili ya mpiga kura k.m T-1234-5678-912-3", + "hint": "Nambari ya kitambulisho cha mpiga kura k.m T-1234-5678-912-3", "edit_type": "number", "v_regex": { "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Nambari ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + "err": "Nambari ya kitambulosho cha mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" }, "v_max_length": { "value": "17", @@ -566,10 +566,10 @@ "Huduma ya Afya ya AAR", "Strategies Insurance", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Bima ya Britam Tanzania", - "Bima ya Jubilee", - "Resolutions Insurance", - "Reliance Insurance", + "Bima ya afya ya Britam", + "Bima ya afya ya Jubilee", + "Bima ya afya ya Resolutions", + "Bima ya afya ya Reliance", "Nyingine", "Hakuna" ], @@ -834,7 +834,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", "type": "edit_text", - "hint": "Nambari nyingine ya simu", + "hint": "Namba nyingine ya simu", "v_numeric": { "value": "true", "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 1e8a02d9e4..26a2d30393 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -63,15 +63,15 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la Familia (Jina la Mkuu wa Familia)", + "hint": "Jina la Ukoo", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali weka jina la familia" + "err": "Tafadhali jaza jina la ukoo" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina halali" + "err": "Tafadhali jaza jina halali" } }, { @@ -80,7 +80,7 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la kwanza Mkuu wa Familia", + "hint": "Jina la kwanza la Mkuu wa Familia", "edit_type": "name", "v_required": { "value": "true", @@ -88,7 +88,7 @@ }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina halali" + "err": "Tafadhali jaza jina halali" } }, { @@ -101,11 +101,11 @@ "edit_type": "name", "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina halali" + "err": "Tafadhali jaza jina halali" }, "v_required": { "value": "true", - "err": "Tafadhali weka jina la kati" + "err": "Tafadhali jaza jina la kati" } }, { @@ -120,7 +120,7 @@ "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", - "err": "Tafadhali weka kitambulisho halali" + "err": "Tafadhali jaza kitambulisho halali" } }, { @@ -133,11 +133,11 @@ "hint": "Jina la Eneo", "v_required": { "value": "true", - "err": "Tafadhali weka jina la eneo" + "err": "Tafadhali jaza jina la eneo" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Tafadhali weka jina sahihi la eneo" + "err": "Tafadhali jaza jina sahihi la eneo" } }, { @@ -150,7 +150,7 @@ "hint": "Alama/Maelezo ya eneo la nyumba", "v_required": { "value": true, - "err": "Tafadhali weka alama/maelezo ya eneo." + "err": "Tafadhali jaza alama/maelezo ya eneo." } }, { @@ -220,7 +220,7 @@ }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina halali" + "err": "Tafadhali jaza jina halali" }, "read_only": true, "calculation": { @@ -241,11 +241,11 @@ "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la kati" + "err": "Tafadhali jaza jina la kati" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina halali" + "err": "Tafadhali jaza jina halali" }, "read_only": true, "calculation": { @@ -267,7 +267,7 @@ "read_only": "true", "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina halali" + "err": "Tafadhali jaza jina halali" }, "calculation": { "rules-engine": { @@ -292,7 +292,7 @@ "max_date": "today-15y", "v_required": { "value": "true", - "err": "Tafadhali weka tarehe ya kuzaliwa" + "err": "Tafadhali jaza tarehe ya kuzaliwa" }, "relevance": { "rules-engine": { @@ -370,7 +370,7 @@ }, "v_required": { "value": true, - "err": "Tafadhali weka umri" + "err": "Tafadhali jaza umri" }, "v_min.err": "Umri lazima uwe sawa au zaidi ya 15", "v_max.err": "Umri lazima uwe sawa au chini ya 120" @@ -381,10 +381,10 @@ "openmrs_entity": "person", "openmrs_entity_id": "gender", "type": "spinner", - "hint": "Jinsia", + "hint": "Jinsi", "values": [ - "Mwanaume", - "Mwanamke" + "Me", + "Ke" ], "keys": [ "Male", @@ -392,7 +392,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhali weka jinsi" + "err": "Tafadhali jaza jinsi" } }, { @@ -409,7 +409,7 @@ "Ndoa ya mke au mume moja", "Mitara", "Mjane", - "wanaishi wote" + "Kuishi pamoja bila ndoa" ], "keys": [ "Single", @@ -447,7 +447,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", "type": "edit_text", - "hint": "Numbari ya simu", + "hint": "Namba ya simu", "v_numeric": { "value": "true", "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" @@ -532,11 +532,11 @@ "v_max_length": { "value": "23", "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" + "err": "Tafadhali jaza namba sahihi" }, "v_required": { "value": true, - "err": "Tafadhali weka namba sahihi" + "err": "Tafadhali jaza namba sahihi" }, "relevance": { "step2:id_avail": { @@ -559,20 +559,20 @@ "mask": "T-####-####-###-#", "mask_hint": "123456789123", "allowed_chars": "0123456789", - "hint": "Nambari ya usajili ya mpiga kura k.m T-1234-5678-912-3", + "hint": "Nambari ya kitambulisho cha mpiga kura k.m T-1234-5678-912-3", "edit_type": "number", "v_regex": { "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Nambari ya usajili wa mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + "err": "Nambari ya kitambulisho cha mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" }, "v_max_length": { "value": "17", "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" + "err": "Tafadhali jaza namba sahihi" }, "v_required": { "value": true, - "err": "Tafadhali weka namba sahihi" + "err": "Tafadhali jaza namba sahihi" }, "relevance": { "step2:id_avail": { @@ -604,11 +604,11 @@ "v_max_length": { "value": "10", "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" + "err": "Tafadhali jaza namba sahihi" }, "v_required": { "value": true, - "err": "Tafadhali weka namba sahihi" + "err": "Tafadhali jaza namba sahihi" }, "relevance": { "step2:id_avail": { @@ -639,11 +639,11 @@ "v_max_length": { "value": "10", "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" + "err": "Tafadhali jaza namba sahihi" }, "v_required": { "value": true, - "err": "Tafadhali weka namba sahihi" + "err": "Tafadhali jaza namba sahihi" }, "edit_type": "number", "relevance": { @@ -673,10 +673,10 @@ "AAR Healthcare", "Strategies Insurance", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Bima ya Jubilee", - "Bima ya Resolutions ", - "Bima ya Reliance", + "Bima ya afya ya Britam", + "Bima ya afya ya Jubilee", + "Bima ya afya ya Resolutions ", + "Bima ya afya ya Reliance", "Nyinginezo", "Hakuna" ], @@ -915,7 +915,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", "type": "edit_text", - "hint": "Nambari nyingine ya simu", + "hint": "Namba nyingine ya simu", "v_numeric": { "value": "true", "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" @@ -940,7 +940,7 @@ "options": [ { "key": "chk_farmer", - "text": "Mkulim", + "text": "Mkulima", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" @@ -968,14 +968,14 @@ }, { "key": "chk_th", - "text": "Mganga wa Kienyeji", + "text": "Mganga wa tiba asili", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_th" }, { "key": "chk_chw", - "text": "Mhudumu wa Afya ya Jamii", + "text": "Muhudumu wa afya ngazi ya jamii(WAJA)", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_chw" @@ -989,28 +989,28 @@ }, { "key": "chk_chmis", - "text": "Mkusanyaji tahakrimu za afya ngazi ya jamii", + "text": "Wakusanyaji takrimu za afya ngazi ya jamii\"", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_chmis" }, { "key": "chk_cbd", - "text": "Msambazaji wa vifaa vya uzazi wa mpango ngazi ya jamii", + "text": "Msambazaji wa dawa na vifaa vya uzazi wa mpango ngazi ya Jamii ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cbd" }, { "key": "chk_hbc", - "text": "Mtoa huduma ya afya nyumbani", + "text": "Watoa huduma kwa wagonjwa majumbani", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_hbc" }, { "key": "chk_cimmci", - "text": "Community IMCI", + "text": "Watoa huduma za udhibiti wa magonjwa ya watoto ngazi ya jamii", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cimmci" From 0e2f51b5895fbd66c0899c0ee922982c54d14095 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 31 Jan 2022 14:22:08 +0300 Subject: [PATCH 231/915] Fix: updated swahili translations --- .../src/ba/assets/json.form-sw/anc_hv_counselling.json | 4 ++-- .../src/ba/assets/json.form-sw/anc_hv_danger_signs.json | 2 +- .../ba/assets/json.form-sw/anc_hv_family_planning.json | 2 +- .../assets/json.form-sw/anc_hv_health_facility_visit.json | 6 +++--- .../src/ba/assets/json.form-sw/anc_hv_malaria.json | 8 ++++---- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json index ea6ac7cfa0..b259538719 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json @@ -99,14 +99,14 @@ }, { "key": "chk_pmtct_for_mother", - "text": "6. PMTCT kwa ajili ya mama", + "text": "6. PMTCT kwa ajili ya Mama", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_pmtct_for_mother" }, { "key": "chk_preventing_malaria", - "text": "7. Kuzuia malaria kwa ajili ya wamama wajawazito", + "text": "7. Kuzuia Malaria kwa ajili ya wamama wajawazito", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_preventing_malaria" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json index 95f425a8c0..0be1a953c7 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json @@ -85,7 +85,7 @@ }, { "key": "chk_blurred_vision", - "text": "Uoni hafifu", + "text": "Kutoona vizuri", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_blurred_vision" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json index 23548ab2ba..148bd0ecf5 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json @@ -56,7 +56,7 @@ "openmrs_entity_id": "fam_planning", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, mama alishauriwa kuhusu mpango wa uzazi ulimpotembelea kwa ajili ya ziara ya afya?", + "hint": "Je, mama alishauriwa kuhusu mpango wa uzazi alipohudhuria kliniki?", "values": [ "Ndiyo", "Hapana" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json index b3c4872f08..ef51107026 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json @@ -55,10 +55,10 @@ "openmrs_entity": "concept", "openmrs_entity_id": "anc_hf_visit", "openmrs_data_type": "select one", - "label_info_title": "Did the woman attend her ANC {0} visit at the health facility?", - "label_info_text": "Did the woman attend her ANC visit at the health facility?", + "label_info_title": "Je, Mwanamke huyu amehudhuria kliniki ya wajawazito mara {0} ?", + "label_info_text": "Je, Mwanamke huyu amehudhuria kliniki ya wajawazito?", "type": "spinner", - "hint": "Je, mwanamke huyo alihudhuria ziara yake ya ANC {0} katika kituo cha afya? Tarehe ya kukamilisha ziara: {1}", + "hint": "Je, Mwanamke huyu amehudhuria kliniki ya wajawazito mara {0} ? Tarehe ya kukamilisha hudhurio: {1}", "values": [ "Ndiyo", "Hapana" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json index faf8ffd0de..e938e3d77d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json @@ -56,7 +56,7 @@ "openmrs_entity_id": "fam_llin", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, mwanamke ana chandarua chenye dawa ya muda mrefu (LLIN)?", + "hint": "Je, Mwanamke ana chandarua chenye dawa ya muda mrefu (LLIN)?", "values": [ "Ndiyo ", "Hapana" @@ -71,7 +71,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali chagua chaguo moja" + "err": "Tafadhali chagua moja" } }, { @@ -96,7 +96,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali chagua chaguo moja" + "err": "Tafadhali chagua moja" }, "relevance": { "step1:fam_llin": { @@ -143,7 +143,7 @@ "openmrs_entity_id": "malaria_sp", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, mteja ametumia dawa ya kuzuia malaria (SP)?", + "hint": "Je, mteja ametumia dawa ya kuzuia Malaria (SP)?", "values": [ "Ndiyo ", "Hapana" From 4125f9a9d657e41f31c0e2683da013a4b4c67fa1 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 31 Jan 2022 15:40:25 +0300 Subject: [PATCH 232/915] Fix: updated swahili translations --- .../assets/json.form-sw/all_clients_registration_form.json | 6 +++--- .../src/ba/assets/json.form-sw/child_enrollment.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index de99f2bccb..5508818c41 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -672,7 +672,7 @@ "Mfuko wa Taifa wa Bima ya Afya", "Tiba Kwa Kadi (TIKA)", "Huduma ya Afya ya AAR", - "Mikakati ya Bima", + "Bima ya afya ya Strategies", "Milvik Tanzania Ltd (BIMA Mkononi)", "Bima ya afya ya Britam", "Bima ya afya ya Jubilee", @@ -1032,7 +1032,7 @@ }, { "key": "chk_chw", - "text": "Muhudumu wa afya ngazi ya jamii(WAJA)", + "text": "Muhudumu wa afya ngazi ya jamii (WAJA)", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_chw" @@ -1241,7 +1241,7 @@ "options": [ { "key": "hiv_aids_transmission", - "text": "maambukizi ya VVU/UKIMWI", + "text": "Maambukizi ya VVU/UKIMWI", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index 808dca40ec..6c750d5466 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -52,7 +52,7 @@ } }, "step1": { - "title": "Sajili mtoto chini ya miaka 5", + "title": "Sajili Mtoto chini ya miaka 5", "fields": [ { "key": "unique_id", From 66f0764534d5fed67e16e20e906464207e071c4c Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 31 Jan 2022 17:22:26 +0300 Subject: [PATCH 233/915] Fix: added openmrs entity ids --- .../female_hiv_followup_visit.json | 36 +++++++++---------- ...up_visit_for_clients_with_ctc_numbers.json | 32 ++++++++--------- .../json.form-sw/male_hiv_followup_visit.json | 36 +++++++++---------- ...up_visit_for_clients_with_ctc_numbers.json | 32 ++++++++--------- .../json.form/female_hiv_followup_visit.json | 36 +++++++++---------- ...up_visit_for_clients_with_ctc_numbers.json | 28 +++++++-------- .../json.form/male_hiv_followup_visit.json | 36 +++++++++---------- ...up_visit_for_clients_with_ctc_numbers.json | 32 ++++++++--------- 8 files changed, 134 insertions(+), 134 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json index 69f6c3c542..9187b13e63 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json @@ -243,8 +243,8 @@ "text": "hana tatizo", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -320,8 +320,8 @@ "text": "hana tatizo", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -360,8 +360,8 @@ "name": "none", "text": "Haihusiki", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } }, @@ -521,8 +521,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -589,8 +589,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -702,8 +702,8 @@ "text": "Hamna huduma iliyotolewa", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -788,8 +788,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -874,8 +874,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -941,8 +941,8 @@ "name": "none", "text": "Haihusiki", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 465326a013..7cbef36642 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -243,8 +243,8 @@ "text": "hana tatizo", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -320,8 +320,8 @@ "text": "hana tatizo", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -360,8 +360,8 @@ "name": "none", "text": "Haihusiki", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } }, @@ -521,8 +521,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -589,8 +589,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -702,8 +702,8 @@ "text": "Hamna huduma iliyotolewa", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -788,8 +788,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -874,8 +874,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json index 6d29b728a0..36904a9d3c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json @@ -243,8 +243,8 @@ "text": "hana tatizo", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -320,8 +320,8 @@ "text": "hana tatizo", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -360,8 +360,8 @@ "name": "none", "text": "Haihusiki", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } }, @@ -530,8 +530,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -598,8 +598,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -711,8 +711,8 @@ "text": "Hamna huduma iliyotolewa", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -797,8 +797,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -883,8 +883,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -950,8 +950,8 @@ "name": "none", "text": "Haihusiki", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index c80c5a9f1a..25a15d4bbf 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -243,8 +243,8 @@ "text": "hana tatizo", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -320,8 +320,8 @@ "text": "hana tatizo", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -360,8 +360,8 @@ "name": "none", "text": "Haihusiki", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } }, @@ -530,8 +530,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -598,8 +598,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -711,8 +711,8 @@ "text": "Hamna huduma iliyotolewa", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -797,8 +797,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -883,8 +883,8 @@ "text": "Hakuna", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json index 64b3142e0a..c877fd61c7 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json @@ -316,8 +316,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -393,8 +393,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -433,8 +433,8 @@ "name": "na", "text": "Not Applicable", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "na", "openmrs_entity_parent": "" } }, @@ -594,8 +594,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -662,8 +662,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -775,8 +775,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -861,8 +861,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -947,8 +947,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -987,8 +987,8 @@ "name": "na", "text": "Not Applicable", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "na", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 08049b53b6..8fbe881c7b 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -243,8 +243,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -320,8 +320,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -360,8 +360,8 @@ "name": "na", "text": "Not Applicable", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "na", "openmrs_entity_parent": "" } }, @@ -521,8 +521,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -589,8 +589,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -702,8 +702,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -788,8 +788,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json index 8fb8271b8c..bbc685e692 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json @@ -316,8 +316,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -393,8 +393,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -433,8 +433,8 @@ "name": "na", "text": "Not Applicable", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "na", "openmrs_entity_parent": "" } }, @@ -603,8 +603,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -671,8 +671,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -784,8 +784,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -870,8 +870,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -956,8 +956,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -996,8 +996,8 @@ "name": "na", "text": "Not Applicable", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "na", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 8867bcb33d..7ce577ff7c 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -243,8 +243,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -320,8 +320,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -360,8 +360,8 @@ "name": "na", "text": "Not Applicable", "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "na", "openmrs_entity_parent": "" } }, @@ -530,8 +530,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -598,8 +598,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -711,8 +711,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -797,8 +797,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } @@ -883,8 +883,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } From 5750d971059abad0e71a48f6d38cc8f1843e2a37 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 1 Feb 2022 10:25:36 +0300 Subject: [PATCH 234/915] fixed: saving for rch number --- opensrp-chw/src/ba/assets/ec_client_classification.json | 6 ++++-- opensrp-chw/src/ba/assets/ec_client_fields.json | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index e8d9c58418..cf1f667e35 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -332,14 +332,16 @@ "field": "eventType", "field_value": "Update CBHS Registration", "creates_case": [ - "ec_hiv_register" + "ec_hiv_register", + "ec_cbhs_register" ] }, { "field": "eventType", "field_value": "CBHS Followup", "creates_case": [ - "ec_hiv_register" + "ec_hiv_register", + "ec_cbhs_register" ] }, { diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index 507253e1df..afda0c1fe1 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -2492,7 +2492,7 @@ "column_name": "rch_number", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", + "field": "obs.formSubmissionField", "concept": "rch_number" } }, @@ -2593,7 +2593,7 @@ "column_name": "rch_number", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", + "field": "obs.formSubmissionField", "concept": "rch_number" } }, From bb1722b93c9470e315d8413dee85dae10d620b80 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 1 Feb 2022 11:19:22 +0300 Subject: [PATCH 235/915] Fix: added new fields --- .../female_hiv_followup_visit.json | 77 +++++++++++++++++++ .../json.form-sw/male_hiv_followup_visit.json | 77 +++++++++++++++++++ .../json.form/female_hiv_followup_visit.json | 7 +- .../json.form/male_hiv_followup_visit.json | 7 +- 4 files changed, 164 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json index 9187b13e63..12979a7a19 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json @@ -156,6 +156,83 @@ "hiv_followup_visit_date" ] }, + { + "name": "client_hiv_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's HIV status after testing", + "text": "Hali ya maambukizi ya VVU baada ya kipimo" + }, + "options": [ + { + "name": "na", + "text": "Haitambuliki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "unknown", + "text": "Haijulikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Chanya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hasi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua moja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "Namba ya CTC mfano: 12-34-5678-912345", + "type": "Namba ya CTC mfano: 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." + } + ], + "required_status": "yes:Tafadhali jaza namba ya CTC", + "subjects": "client_hiv_status_after_testing:text" + }, { "name": "client_condition", "type": "spinner", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json index 36904a9d3c..4393af09f2 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json @@ -156,6 +156,83 @@ "hiv_followup_visit_date" ] }, + { + "name": "client_hiv_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's HIV status after testing", + "text": "Hali ya maambukizi ya VVU baada ya kipimo" + }, + "options": [ + { + "name": "na", + "text": "Haitambuliki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "unknown", + "text": "Haijulikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Chanya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hasi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua moja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "Namba ya CTC mfano: 12-34-5678-912345", + "type": "Namba ya CTC mfano: 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." + } + ], + "required_status": "yes:Tafadhali jaza namba ya CTC", + "subjects": "client_hiv_status_after_testing:text" + }, { "name": "client_condition", "type": "spinner", diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json index c877fd61c7..a8a7901b0a 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json @@ -210,10 +210,13 @@ }, { "name": "ctc_number", - "type": "text_input_edit_text", + "type": "masked_edit_text", "properties": { "hint": "CTC Number", - "type": "Clinic of Treatment and Care registration number (CTC Number)" + "type": "Clinic of Treatment and Care registration number (CTC Number)", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json index bbc685e692..a658f864e1 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json @@ -210,10 +210,13 @@ }, { "name": "ctc_number", - "type": "text_input_edit_text", + "type": "masked_edit_text", "properties": { "hint": "CTC Number", - "type": "Clinic of Treatment and Care registration number (CTC Number)" + "type": "Clinic of Treatment and Care registration number (CTC Number)", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" }, "meta_data": { "openmrs_entity": "concept", From 8a98fb9a59a9bfee12bde8a2c3d963361bec67b2 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 1 Feb 2022 12:32:13 +0300 Subject: [PATCH 236/915] fixed: cbhs next visit not showing up --- .../smartregister/chw/activity/HivProfileActivityFlv.java | 8 ++++---- .../chw/activity/DefaultHivProfileActivityFlv.java | 8 ++++---- .../smartregister/chw/activity/HivProfileActivity.java | 4 ++-- .../chw/interactor/CbhsUpcomingServicesInteractor.java | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/HivProfileActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/HivProfileActivityFlv.java index 2d6334109f..c4c2717803 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/HivProfileActivityFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/HivProfileActivityFlv.java @@ -5,8 +5,8 @@ import org.smartregister.chw.util.UtilsFlv; public class HivProfileActivityFlv extends DefaultHivProfileActivityFlv { - @Override - public void updateTbMenuItems(String baseEntityId, Menu menu) { - UtilsFlv.updateTbMenuItems(baseEntityId, menu); - } +// @Override +// public void updateTbMenuItems(String baseEntityId, Menu menu) { +// UtilsFlv.updateTbMenuItems(baseEntityId, menu); +// } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultHivProfileActivityFlv.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultHivProfileActivityFlv.java index 3306014ebd..9556a930c9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultHivProfileActivityFlv.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/DefaultHivProfileActivityFlv.java @@ -6,8 +6,8 @@ public abstract class DefaultHivProfileActivityFlv implements HivProfileActivity.Flavor { - @Override - public void updateTbMenuItems(String baseEntityId, Menu menu) { - menu.findItem(R.id.action_tb_registration).setVisible(false); - } +// @Override +// public void updateTbMenuItems(String baseEntityId, Menu menu) { +// menu.findItem(R.id.action_tb_registration).setVisible(false); +// } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index b89333e7c2..65f489bfb4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -468,7 +468,7 @@ public void onReceivedNotifications(List> notifications) { public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(org.smartregister.chw.core.R.menu.hiv_profile_menu, menu); - flavor.updateTbMenuItems(getHivMemberObject().getBaseEntityId(), menu); + // flavor.updateTbMenuItems(getHivMemberObject().getBaseEntityId(), menu); return true; } @@ -542,7 +542,7 @@ public void startHivRegistrationDetailsActivity() { } public interface Flavor { - void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); + // void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsUpcomingServicesInteractor.java b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsUpcomingServicesInteractor.java index b7a844f5a0..4232476930 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsUpcomingServicesInteractor.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsUpcomingServicesInteractor.java @@ -14,7 +14,7 @@ import org.smartregister.chw.core.utils.HomeVisitUtil; import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.domain.HivAlertObject; -import org.smartregister.chw.tb.util.Constants; +import org.smartregister.chw.hiv.util.Constants; import java.math.BigDecimal; import java.util.ArrayList; From 40d0b8f13782d7c79345a57144ed9ae2b2918cc7 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 2 Feb 2022 08:35:35 +0300 Subject: [PATCH 237/915] Removed add family tab from Update module --- .../org/smartregister/chw/activity/UpdatesRegisterActivity.java | 1 + 1 file changed, 1 insertion(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdatesRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdatesRegisterActivity.java index 5edd855f8d..a0d1cf2f90 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdatesRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/UpdatesRegisterActivity.java @@ -60,6 +60,7 @@ protected void registerBottomNavigation() { bottomNavigationHelper = new BottomNavigationHelper(); bottomNavigationView = findViewById(org.smartregister.R.id.bottom_navigation); FamilyRegisterActivity.registerBottomNavigation(bottomNavigationHelper, bottomNavigationView, this); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_register); } @Override From 678d8c0c558be0ce5220b080458c4fdcb3b87a8d Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 2 Feb 2022 08:48:00 +0300 Subject: [PATCH 238/915] fixed: handling of pregnancy unconfirmed events --- opensrp-chw/src/ba/assets/ec_client_classification.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index cf1f667e35..424e6c3cf6 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -451,6 +451,13 @@ "creates_case": [ "ec_hiv_index_contact_community_followup" ] + }, + { + "field":"eventType", + "field_value": "Pregnancy Unconfirmed", + "closes_case": [ + "ec_anc_register" + ] } ] } From 046c2c63acae74aa42e9c6c06cbccfc580d5e4b2 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 2 Feb 2022 10:03:11 +0300 Subject: [PATCH 239/915] Fixed crash on referral for anc danger signs when in cbhs module --- opensrp-chw/src/ba/res/values-sw/strings.xml | 2 +- opensrp-chw/src/ba/res/values/strings.xml | 2 +- .../java/org/smartregister/chw/activity/HivProfileActivity.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/ba/res/values-sw/strings.xml b/opensrp-chw/src/ba/res/values-sw/strings.xml index 89e5738667..3b65cdd888 100644 --- a/opensrp-chw/src/ba/res/values-sw/strings.xml +++ b/opensrp-chw/src/ba/res/values-sw/strings.xml @@ -6,7 +6,7 @@ Baada ya Kujifungua Kliniki ya Tiba na matunzo (CTC) Ushauri nasaha na kupima - Kliniki ya kutibu kifua kikuu + Kliniki ya TB Huduma ya kuzui ukatili wa kijinsia (dawati la jinsia) Huduma ya kuzui ukatili wa kijinsia (dawati la jinsia) Imeumbwa: %s diff --git a/opensrp-chw/src/ba/res/values/strings.xml b/opensrp-chw/src/ba/res/values/strings.xml index 7fa75130c4..b8ff5a3021 100644 --- a/opensrp-chw/src/ba/res/values/strings.xml +++ b/opensrp-chw/src/ba/res/values/strings.xml @@ -7,7 +7,7 @@ SICK CHILD FORM Clinic of Treatment and Care HIV Testing Services - Clinic Of Tuberculosis Treatment + TB Clinic Gender Based Violence Referral Pregnancy Confirmation Referral Child Gender Based Violence Referral diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 65f489bfb4..245a71ddb9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -409,7 +409,7 @@ private void addHivReferralTypes() { if (org.smartregister.chw.core.utils.Utils.isMemberOfReproductiveAge(client, 15, 49)) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.anc_danger_signs), - CoreConstants.JSON_FORM.getAncReferralForm(), CoreConstants.TASKS_FOCUS.ANC_DANGER_SIGNS)); + org.smartregister.chw.util.Constants.JSON_FORM.getAncUnifiedReferralForm(), CoreConstants.TASKS_FOCUS.ANC_DANGER_SIGNS)); referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_danger_signs), CoreConstants.JSON_FORM.getPncReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); From 35a1cde429b0c34275de85a2175f7f737931548e Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 2 Feb 2022 10:11:35 +0300 Subject: [PATCH 240/915] Fixed CBHS client registration when using swahili version --- .../src/ba/assets/json.form-sw/female_hiv_registration.json | 2 +- .../src/ba/assets/json.form-sw/male_hiv_registration.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json index 4ad3a8cc10..7a6ca894db 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json @@ -1,7 +1,7 @@ { "form": "HIV Registration form", "count": "1", - "encounter_type": "HIV Registration", + "encounter_type": "CBHS Registration", "entity_id": "", "relational_id": "", "rules_file": "rule/hiv_registration_form_rules.yml", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json index 597655d48b..16ff894a15 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json @@ -1,7 +1,7 @@ { "form": "HIV Registration form", "count": "1", - "encounter_type": "HIV Registration", + "encounter_type": "CBHS Registration", "entity_id": "", "relational_id": "", "rules_file": "rule/hiv_registration_form_rules.yml", From 528c63272546c567c2493cc0f1d20aebbbf5f6f0 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 2 Feb 2022 11:11:42 +0300 Subject: [PATCH 241/915] Updated swahili translations --- .../all_clients_registration_form.json | 34 +++++++++---------- ...clients_update_registration_info_form.json | 8 ++--- .../json.form-sw/anc_hv_counselling.json | 2 +- .../json.form-sw/anc_hv_danger_signs.json | 2 +- .../json.form-sw/anc_hv_family_planning.json | 2 +- .../anc_hv_health_facility_visit.json | 6 ++-- .../assets/json.form-sw/anc_hv_malaria.json | 2 +- .../json.form-sw/anc_hv_nutrition_status.json | 2 +- .../json.form-sw/anc_hv_observations.json | 2 +- .../json.form-sw/anc_member_registration.json | 16 ++++----- opensrp-chw/src/ba/res/values-sw/strings.xml | 1 + .../src/main/res/values-sw/strings.xml | 6 ++-- 12 files changed, 42 insertions(+), 41 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 5508818c41..0a2f40aa12 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -54,7 +54,7 @@ } }, "step1": { - "title": "Maelezo ya eneo", + "title": "Taarifa za Mteja", "next": "step2", "fields": [ { @@ -186,7 +186,7 @@ ] }, "step2": { - "title": "Maelezo ya mteja", + "title": "Taarifa ya Mteja", "fields": [ { "key": "unique_id", @@ -448,14 +448,14 @@ "openmrs_entity": "concept", "openmrs_entity_id": "phone_number", "type": "edit_text", - "hint": "Nambari ya simu ya mteja", + "hint": "Namba ya simu ya mteja", "v_numeric": { "value": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." } }, { @@ -524,11 +524,11 @@ "mask": "########-#####-#####-##", "mask_hint": "12345678912345678912", "allowed_chars": "0123456789", - "hint": "Nambari ya kitambulisho cha taifa k.m 12345678-91234-56789-12", + "hint": "Namba ya kitambulisho cha taifa k.m 12345678-91234-56789-12", "edit_type": "number", "v_regex": { "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", - "err": "Nambari ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" + "err": "Namba ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" }, "v_max_length": { "value": "23", @@ -560,11 +560,11 @@ "mask": "T-####-####-###-#", "mask_hint": "123456789123", "allowed_chars": "0123456789", - "hint": "Nambari ya kitambulisho cha mpiga kura k.m T-1234-5678-912-3", + "hint": "Namba ya kitambulisho cha mpiga kura k.m T-1234-5678-912-3", "edit_type": "number", "v_regex": { "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Nambari ya kitambulisho cha mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + "err": "Namba ya kitambulisho cha mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" }, "v_max_length": { "value": "17", @@ -596,11 +596,11 @@ "mask": "##########", "mask_hint": "1234567891", "allowed_chars": "0123456789", - "hint": "Nambari ya leseni ya udereva k.m 1234567891", + "hint": "Namba ya leseni ya udereva k.m 1234567891", "edit_type": "number", "v_regex": { "value": "^([0-9]{10})", - "err": "Nambari ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" + "err": "Namba ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" }, "v_max_length": { "value": "10", @@ -635,7 +635,7 @@ "hint": "Namba ya hati ya kusafiria", "v_regex": { "value": "^TAE-\\d{6}$", - "err": "Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" + "err": "Namba ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" }, "edit_type": "number", "v_max_length": { @@ -741,10 +741,10 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Health_Insurance_Number", "type": "edit_text", - "hint": "Nambari ya mtoa huduma ya bima ya afya", + "hint": "Namba ya mtoa huduma ya bima ya afya", "v_required": { "value": "true", - "err": "Tafadhali ongeza Nambari ya kitambulisho ya mtoa huduma wa bima ya afya" + "err": "Tafadhali ongeza Namba ya kitambulisho ya mtoa huduma wa bima ya afya" }, "relevance": { "rules-engine": { @@ -965,14 +965,14 @@ "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", "type": "edit_text", - "hint": "Nambari ya simu ya mlezi mkuu", + "hint": "Namba ya simu ya mlezi", "v_numeric": { "value": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json index 97bb1dd5d0..30e010ca01 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -301,7 +301,7 @@ }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." } }, { @@ -406,11 +406,11 @@ "mask": "T-####-####-###-#", "mask_hint": "123456789123", "allowed_chars": "0123456789", - "hint": "Nambari ya kitambulisho cha mpiga kura", + "hint": "Namba ya kitambulisho cha mpiga kura", "edit_type": "number", "v_regex": { "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Nambari ya kitambulisho cha kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + "err": "Namba ya kitambulisho cha kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" }, "v_max_length": { "value": "17", @@ -818,7 +818,7 @@ }, "v_regex": { "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json index b259538719..bbb8b62db1 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json @@ -55,7 +55,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "counselling_given", "type": "check_box", - "label": "Ushauri uliyotolewa kwa mama na wanafamilia", + "label": "Ushauri uliyotolewa kwa Mama na wanafamilia", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json index 0be1a953c7..07b755bc5b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json @@ -55,7 +55,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "danger_signs_present", "type": "check_box", - "label": "Je, mama ana dalili zozote za hatari?", + "label": "Je, Mama ana dalili zozote za hatari?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json index 148bd0ecf5..a68011d5ba 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json @@ -56,7 +56,7 @@ "openmrs_entity_id": "fam_planning", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, mama alishauriwa kuhusu mpango wa uzazi alipohudhuria kliniki?", + "hint": "Je, Mama alishauriwa kuhusu Uzazi wa Mpango alipohudhuria kliniki?", "values": [ "Ndiyo", "Hapana" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json index ef51107026..ab9c2abd85 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Ziara ya {0} kituoni", + "title": "Hudhurio la {0} Kituo cha Afya", "fields": [ { "key": "anc_hf_visit", @@ -73,7 +73,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali chagua chaguo moja" + "err": "Tafadhali chagua jibu moja" } }, { @@ -84,7 +84,7 @@ "openmrs_data_type": "text", "type": "date_picker", "label": "ANC visit date", - "hint": "Tarehe ya ziara ya ANC", + "hint": "Tarehe ya hudhurio ya ANC", "expanded": false, "min_date": "today-10y", "max_date": "today", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json index e938e3d77d..9a09b32616 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Kinga dhidi ya malaria", + "title": "Kinga dhidi ya Malaria", "fields": [ { "key": "fam_llin", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json index 0848fac170..7e3907bba9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json @@ -56,7 +56,7 @@ "openmrs_entity_id": "nutrition_status", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, hali ya lishe ya mama ikoje?", + "hint": "Je, hali ya lishe ya Mama ikoje?", "values": [ "Kawaida/Kijani", "Wastani/Njano", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json index 4b5707fb42..d1d8f37a21 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json @@ -105,7 +105,7 @@ }, { "key": "chk_paracetamol", - "text": "Panadol", + "text": "Panado", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_paracetamol" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json index bfa43a4378..a6d2b1efa9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json @@ -62,7 +62,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "last_menstrual_period", "type": "date_picker", - "hint": "Kipindi cha Mwisho cha Hedhi iliyo ya Kawaida (LNMP)", + "hint": "Kipindi cha mwisho cha kuona alichoona hedhi yake (LNMP)", "label_info_title": "LNMP", "label_info_text": "LNMP = siku ya kwanza ya Kipindi cha Mwisho cha Kawaida cha Hedhi. Ikiwa tarehe kamili haijulikani, lakini kipindi cha mwezi kinajulikana, tumia siku ya 5 kuainisha mwanzo wa mwezi, siku ya 15 kuainisha katikati ya mwezi, na siku ya 25 kuainisha mwisho wa mwezi.", "expanded": false, @@ -97,7 +97,7 @@ "options": [ { "key": "lmp_unknown", - "text": "Kipindi cha Mwisho cha Hedhi ya Kawadia isiyojulikana", + "text": "Kipindi cha mwisho cha hedhi hakijulikani", "text_size": "18px", "value": "false" } @@ -218,7 +218,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "delivery_method", "type": "check_box", - "label": "Je, umejifungua mtoto/watoto wako kwa njia ya kawaida (kupitia uke) au kwa njia ya upasuaji?", + "label": "Je, umejifungua mtoto/watoto wako kwa njia ya kawaida au kwa njia ya upasuaji?", "label_text_style": "normal", "text_color": "#C0C0C0", "relevance": { @@ -231,7 +231,7 @@ "options": [ { "key": "chk_vaginally", - "text": "Njia ya kawaida (kupiitia uke)", + "text": "Njia ya kawaida", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_vaginally" @@ -262,7 +262,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "delivery_method_one", "type": "native_radio", - "label": "Je, umejifungua mtoto/watoto wako kwa njia ya kawaida (kupitia uke) au kwa njia ya upasuaji?", + "label": "Je, umejifungua mtoto/watoto wako kwa njia ya kawaida au kwa njia ya upasuaji?", "label_text_style": "normal", "text_color": "#C0C0C0", "relevance": { @@ -275,7 +275,7 @@ "options": [ { "key": "chk_vaginally", - "text": "Njia ya kawaida (kupiitia uke)", + "text": "Njia ya kawaida", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_vaginally" @@ -355,7 +355,7 @@ "openmrs_entity_id": "person_assist", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, mama ana mtu yeyote, mwenye umri wa miaka 18 au zaidi, ambaye angeweza kumsaidia wakati wa ujauzito wake?", + "hint": "Je, Mama ana mtu wa kumsaidia wakati wa ujauzito?", "v_required": { "value": "true", "err": "Tadhali chagua chaguo moja" @@ -379,7 +379,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "name_person_assist", "type": "edit_text", - "hint": "Jina la mtu wa karibu/jamaa anayeishi naye na ana umri wa miaka 18 au zaidi", + "hint": "Jina la msaidizi wa mjamzito", "edit_type": "name", "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/ba/res/values-sw/strings.xml b/opensrp-chw/src/ba/res/values-sw/strings.xml index 3b65cdd888..086a45c3c2 100644 --- a/opensrp-chw/src/ba/res/values-sw/strings.xml +++ b/opensrp-chw/src/ba/res/values-sw/strings.xml @@ -17,5 +17,6 @@ Rekodi ziara ya ufuatiliaji wa UWANYU Ufuatiliaji Jaza fomu ya ufuatiliaji + Taarifa za Kimaeneo \ No newline at end of file diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index ac06185d3e..a51ac23d8e 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -179,11 +179,11 @@ Dalili za hatari - Hudhurio la kliniki ya wajawazito {0} katika kituo cha kutolea huduma za afya + Hudhurio la {0} la kliniki ya wajawazito katika kituo cha kutolea huduma za afya Uzazi wa Mpango Hali ya lishe Ushauri - Kinga dhidi ya malaria + Kinga dhidi ya Malaria Uchunguzi na ugonjwa Maoni @@ -397,7 +397,7 @@ Kliniki ya Tiba ya Kifua kikuu Rufaa ya ukatili wa kijinsia Rufaa ya ukatili wa kijinsia kwa mtoto - Usajili wa mteja + Usajili wa Mteja Kosa wakati wa kufungua profile Taarifa za Mahali Hariri taarifa za mteja From ceb2d17cf1dcfca833b17873bb0f991e6bcd3546 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 2 Feb 2022 15:43:08 +0300 Subject: [PATCH 242/915] Update: ANC Actions have english and swahili implementations --- .../interactor/AncHomeVisitInteractorFlv.java | 33 ++++++++++--------- .../src/main/res/values-sw/strings.xml | 13 ++++++-- opensrp-chw/src/main/res/values/strings.xml | 8 +++++ 3 files changed, 37 insertions(+), 17 deletions(-) diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java index 15b53b2d21..f021803394 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java @@ -227,9 +227,9 @@ public String postProcess(String s) { @Override public String evaluateSubTitle() { - return MessageFormat.format("Danger signs: {0}", danger_signs_present) + + return MessageFormat.format(context.getString(R.string.anc_home_visit_danger_signs) + ": " + "{0}", danger_signs_present) + "\n" + - MessageFormat.format("Health facility counselling {0}", + MessageFormat.format( context.getString(R.string.anc_health_facility_counselling_subtitle) + " " + "{0}", (danger_signs_counseling.equalsIgnoreCase("Yes") ? context.getString(R.string.done).toLowerCase() : context.getString(R.string.not_done).toLowerCase()) ); } @@ -404,7 +404,7 @@ public String getPreProcessed() { public void onPayloadReceived(String jsonPayload) { try { JSONObject jsonObject = new JSONObject(jsonPayload); - nutrition_status = JsonFormUtils.getValue(jsonObject, "nutrition_status").toLowerCase(); + nutrition_status = JsonFormUtils.getValue(jsonObject, "nutrition_status"); } catch (JSONException e) { Timber.e(e); } @@ -427,7 +427,12 @@ public String postProcess(String s) { @Override public String evaluateSubTitle() { - return MessageFormat.format("{0}: {1}", context.getString(R.string.nutrition_status), StringUtils.capitalize(nutrition_status)); + if (nutrition_status.equalsIgnoreCase("Normal")) + return MessageFormat.format(context.getString(R.string.nutrition_status) + ": " + "{0}", context.getString(R.string.anc_nutrition_status_normal)); + else if (nutrition_status.equalsIgnoreCase("Moderate")) + return MessageFormat.format(context.getString(R.string.nutrition_status) + ": " + "{0}", context.getString(R.string.anc_nutrition_status_normal)); + else + return MessageFormat.format(context.getString(R.string.nutrition_status) + ": " + "{0}", context.getString(R.string.anc_nutrition_status_severe)); } @Override @@ -549,17 +554,15 @@ public String postProcess(String s) { @Override public String evaluateSubTitle() { - StringBuilder stringBuilder = new StringBuilder(); - if (fam_llin.equalsIgnoreCase("No")) { - stringBuilder.append(MessageFormat.format("{0}: {1}\n", context.getString(R.string.uses_net), StringUtils.capitalize(fam_llin.trim().toLowerCase()))); - } else { - - stringBuilder.append(MessageFormat.format("{0}: {1} · ", context.getString(R.string.uses_net), StringUtils.capitalize(fam_llin.trim().toLowerCase()))); - stringBuilder.append(MessageFormat.format("{0}: {1} · ", context.getString(R.string.slept_under_net), StringUtils.capitalize(llin_2days.trim().toLowerCase()))); - stringBuilder.append(MessageFormat.format("{0}: {1}", context.getString(R.string.net_condition), StringUtils.capitalize(llin_condition.trim().toLowerCase()))); - } - - return stringBuilder.toString(); + if (fam_llin.equalsIgnoreCase("No")) + return MessageFormat.format(context.getString(R.string.uses_net) + ": " + "{0}", context.getString(R.string.anc_malaria_field_no)); + else + return MessageFormat.format(context.getString(R.string.uses_net) + ": " + "{0}", + (fam_llin.equalsIgnoreCase("Yes") ? context.getString(R.string.anc_malaria_field_yes) : context.getString(R.string.anc_malaria_field_no)) + + "\n" + MessageFormat.format(context.getString(R.string.slept_under_net) + ": " + "{0}", + (llin_2days.equalsIgnoreCase("Yes") ? context.getString(R.string.anc_malaria_field_yes) : context.getString(R.string.anc_malaria_field_no)) + + "\n" + MessageFormat.format(context.getString(R.string.net_condition) + ": " + "{0}", + (llin_condition.equalsIgnoreCase("Good") ? context.getString(R.string.anc_malaria_net_condition_good) : context.getString(R.string.anc_malaria_net_condition_bad))))); } @Override diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index a51ac23d8e..4fec3dd4a3 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -346,7 +346,7 @@ App inahitaji ruhusa hiyo kuorodhesha video za mwongozo. \ n Bila ruhusa hiyo huwezi kutazama video zozote za mwongozo - Sababu ya rufaa + Sababu za Rufaa Fungua rufaa ya %s Mtoto mgonjwa Uzazi wa mpango @@ -359,7 +359,7 @@ Video ya vitendea kazi \"%s\" imefeli kupakua - \"Ushauri juu ya uzazi wa mpango kituoni umefanyika + Ushauri juu ya uzazi wa mpango kituoni umefanyika Ushauri juu ya uzazi wa mpango kituoni haujafanyika @@ -410,4 +410,13 @@ Chagua jamii Imeumbwa: %s + Ushauri katika Kituo cha Afya + Kawaida/Kijani + Wastani/Njano + Mbaya/Nyekundu + Rufaa Kwa Ajili ya Kuhakiki Ujauzito + Ndio + Hapana + Nzuri + Mbaya diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index b9a0e8c02a..a1d43dd8f9 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -404,6 +404,14 @@ Number must be 10 digits Select CHAs Select options + Health facility counselling + Normal/Green + Moderate/Yellow + Severe/Red + Yes + No + Good + Bad Family has nothing else due From 652492a6afd318b9bc9013178e8b6cbda93730f2 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 2 Feb 2022 16:50:54 +0300 Subject: [PATCH 243/915] Added prompts and updated swahili translations --- .../assets/json.form-sw/anc_hv_danger_signs.json | 15 +++++++++++++++ .../json.form-sw/anc_hv_family_planning.json | 15 +++++++++++++++ .../ba/assets/json.form/anc_hv_danger_signs.json | 15 +++++++++++++++ .../assets/json.form/anc_hv_family_planning.json | 15 +++++++++++++++ opensrp-chw/src/ba/res/values-sw/strings.xml | 6 +++--- 5 files changed, 63 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json index 07b755bc5b..4238d3dfe9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json @@ -217,6 +217,21 @@ "value": "true", "err": "Tafadhali chagua chaguo moja" } + }, + { + "key": "prompt_for_danger_signs", + "type": "toaster_notes", + "text": "Tafadhali mpatie mteja ushauri juu ya dalili za hatari za kipindi cha ujauzito", + "openmrs_entity_id": "prompt_for_danger_signs", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "warning", + "relevance": { + "step1:danger_signs_counseling": { + "type": "String", + "ex": "equalTo(.,\"No\")" + } + } } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json index a68011d5ba..819d60ac0f 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json @@ -73,6 +73,21 @@ "value": "true", "err": "Tafadhali chagua chaguo moja" } + }, + { + "key": "prompt_for_family_planning", + "type": "toaster_notes", + "text": "Tafadhali mpatie mteja ushauri juu ya Uzazi wa Mpango", + "openmrs_entity_id": "prompt_for_family_planning", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "warning", + "relevance": { + "step1:fam_planning": { + "type": "String", + "ex": "equalTo(.,\"No\")" + } + } } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json index 8a841c376a..086a5717f1 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json @@ -217,6 +217,21 @@ "value": "true", "err": "Please select one option" } + }, + { + "key": "prompt_for_danger_signs", + "type": "toaster_notes", + "text": "Please provide the client counselling on ANC danger signs", + "openmrs_entity_id": "prompt_for_danger_signs", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "warning", + "relevance": { + "step1:danger_signs_counseling": { + "type": "String", + "ex": "equalTo(.,\"No\")" + } + } } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json index fdbc7b96ee..c064f0b369 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json @@ -73,6 +73,21 @@ "value": "true", "err": "Please select one option" } + }, + { + "key": "prompt_for_family_planning", + "type": "toaster_notes", + "text": "Please provide the client counselling on family planning", + "openmrs_entity_id": "prompt_for_family_planning", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "warning", + "relevance": { + "step1:fam_planning": { + "type": "String", + "ex": "equalTo(.,\"No\")" + } + } } ] } diff --git a/opensrp-chw/src/ba/res/values-sw/strings.xml b/opensrp-chw/src/ba/res/values-sw/strings.xml index 086a45c3c2..9da04450ee 100644 --- a/opensrp-chw/src/ba/res/values-sw/strings.xml +++ b/opensrp-chw/src/ba/res/values-sw/strings.xml @@ -7,10 +7,10 @@ Kliniki ya Tiba na matunzo (CTC) Ushauri nasaha na kupima Kliniki ya TB - Huduma ya kuzui ukatili wa kijinsia (dawati la jinsia) - Huduma ya kuzui ukatili wa kijinsia (dawati la jinsia) + Huduma ya kuzuia ukatili wa kijinsia (dawati la jinsia) + Huduma ya kuzuia ukatili wa kijinsia (dawati la jinsia) Imeumbwa: %s - UWANYU + UWANYU (CBHS) Rudi kwenye wateja wa UWANYU Wateja wa UWANYU Mabadiliko uliyoyafanya yatafutika From 9c12aa4056ec59c19ff64ff67738d4a8800692dc Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 3 Feb 2022 08:12:52 +0300 Subject: [PATCH 244/915] Updated encounter types --- .../src/ba/assets/json.form-sw/female_hiv_followup_visit.json | 2 +- .../female_hiv_followup_visit_for_clients_with_ctc_numbers.json | 2 +- .../src/ba/assets/json.form-sw/male_hiv_followup_visit.json | 2 +- .../male_hiv_followup_visit_for_clients_with_ctc_numbers.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json index 12979a7a19..e1c7b3c44a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json @@ -1,7 +1,7 @@ { "form": "CBHS Follow-up form", "count": "1", - "encounter_type": "HIV Followup", + "encounter_type": "CBHS Followup", "entity_id": "", "relational_id": "", "rules_file": "rule/hiv_followup_form_rules.yml", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 7cbef36642..d185b5fb7e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -1,7 +1,7 @@ { "form": "CBHS Follow-up form", "count": "1", - "encounter_type": "HIV Followup", + "encounter_type": "CBHS Followup", "entity_id": "", "relational_id": "", "rules_file": "rule/hiv_followup_form_rules.yml", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json index 4393af09f2..9bd0ef673c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json @@ -1,7 +1,7 @@ { "form": "CBHS Follow-up form", "count": "1", - "encounter_type": "HIV Followup", + "encounter_type": "CBHS Followup", "entity_id": "", "relational_id": "", "rules_file": "rule/hiv_followup_form_rules.yml", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 25a15d4bbf..02bb75c83c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -1,7 +1,7 @@ { "form": "CBHS Follow-up form", "count": "1", - "encounter_type": "HIV Followup", + "encounter_type": "CBHS Followup", "entity_id": "", "relational_id": "", "rules_file": "rule/hiv_followup_form_rules.yml", From 53b1ad4bc945462870e3123b52b25c01bd88e5ee Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 3 Feb 2022 11:19:25 +0300 Subject: [PATCH 245/915] Fixed swahili forms --- .../female_hiv_followup_visit.json | 45 ++++++------ ...up_visit_for_clients_with_ctc_numbers.json | 42 +++++------ .../json.form-sw/female_hiv_registration.json | 1 - .../json.form-sw/male_hiv_followup_visit.json | 47 ++++++------ ...up_visit_for_clients_with_ctc_numbers.json | 40 +++++----- .../json.form-sw/male_hiv_registration.json | 1 - .../referrals/anc_referral_form.json | 73 +++++++++---------- ...up_visit_for_clients_with_ctc_numbers.json | 4 +- .../assets/rule/hiv_followup_form_rules.yml | 2 +- 9 files changed, 124 insertions(+), 131 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json index e1c7b3c44a..468c750b3a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json @@ -142,7 +142,7 @@ } }, { - "name": "completed_and_qualified_from_the_services ", + "name": "completed_and_qualified_from_the_services", "text": "Amemaliza huduma", "meta_data": { "openmrs_entity": "concept", @@ -165,7 +165,6 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Client's HIV status after testing", "text": "Hali ya maambukizi ya VVU baada ya kipimo" }, "options": [ @@ -285,7 +284,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "health_problem" + "openmrs_entity_id": "problem" }, "options": [ { @@ -434,11 +433,11 @@ }, "options": [ { - "name": "none", + "name": "na", "text": "Haihusiki", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "none", + "openmrs_entity_id": "na", "openmrs_entity_parent": "" } }, @@ -462,7 +461,7 @@ }, { "name": "has_sexual_relations_with_different_peers", - "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", + "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "has_sexual_relations_with_different_peers", @@ -549,20 +548,20 @@ } }, { - "name": "bed_sheets", - "text": "Mashuka", + "name": "mosquito_nets", + "text": "Chandarua", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", + "openmrs_entity_id": "mosquito_nets", "openmrs_entity_parent": "" } }, { - "name": "mosquito_nets", - "text": "Chandarua", + "name": "bed_sheets", + "text": "Mashuka", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_id": "bed_sheets", "openmrs_entity_parent": "" } }, @@ -604,7 +603,7 @@ } } ], - "required_status": "yes:Please choose supplies given", + "required_status": "yes:Tafadhali chagua kifaa/vifaa vilivyotolewa", "subjects": "registration_or_followup_status:text" }, { @@ -767,7 +766,7 @@ }, { "name": "other_hiv_services", - "text": "Huduma nyingnie za UKIMWI katika jamii", + "text": "Huduma nyingine za UKIMWI katika jamii", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_hiv_services", @@ -987,6 +986,15 @@ "openmrs_entity_parent": "" }, "options": [ + { + "name": "na", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, { "name": "registered_but_not_began_medication", "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", @@ -1013,15 +1021,6 @@ "openmrs_entity_id": "not_registered_in_ctc_clinic", "openmrs_entity_parent": "" } - }, - { - "name": "none", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } } ], "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index d185b5fb7e..4912ae40a7 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -151,7 +151,7 @@ } } ], - "required_status": "yes:Tafadhali chagua hali ya ufwatiliaji", + "required_status": "yes:Tafadhali chagua hali ya ufuatiliaji", "dependent_calculations": [ "hiv_followup_visit_date" ] @@ -208,7 +208,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "health_problem" + "openmrs_entity_id": "problem" }, "options": [ { @@ -240,7 +240,7 @@ }, { "name": "none", - "text": "hana tatizo", + "text": "Hana tatizo", "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", @@ -317,7 +317,7 @@ }, { "name": "none", - "text": "hana tatizo", + "text": "Hana tatizo", "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", @@ -357,11 +357,11 @@ }, "options": [ { - "name": "none", + "name": "na", "text": "Haihusiki", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "none", + "openmrs_entity_id": "na", "openmrs_entity_parent": "" } }, @@ -385,7 +385,7 @@ }, { "name": "has_sexual_relations_with_different_peers", - "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", + "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "has_sexual_relations_with_different_peers", @@ -472,20 +472,20 @@ } }, { - "name": "bed_sheets", - "text": "Mashuka", + "name": "mosquito_nets", + "text": "Chandarua", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", + "openmrs_entity_id": "mosquito_nets", "openmrs_entity_parent": "" } }, { - "name": "mosquito_nets", - "text": "Chandarua", + "name": "bed_sheets", + "text": "Mashuka", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_id": "bed_sheets", "openmrs_entity_parent": "" } }, @@ -527,7 +527,7 @@ } } ], - "required_status": "yes:Please choose supplies given", + "required_status": "yes:Tafadhali chagua kifaa/vifaa vilivyotolewa", "subjects": "registration_or_followup_status:text" }, { @@ -690,7 +690,7 @@ }, { "name": "other_hiv_services", - "text": "Huduma nyingnie za UKIMWI katika jamii", + "text": "Huduma nyingine za UKIMWI katika jamii", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_hiv_services", @@ -911,20 +911,20 @@ }, "options": [ { - "name": "registered_and_uses_medication", - "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", + "name": "registered_but_not_began_medication", + "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_id": "registered_but_not_began_medication", "openmrs_entity_parent": "" } }, { - "name": "not_registered_in_ctc_clinic", - "text": "Hajaandikishwa CTC/PMTCT", + "name": "registered_and_uses_medication", + "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_id": "registered_and_uses_medication", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json index 7a6ca894db..0a532ebf87 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json @@ -120,7 +120,6 @@ } } ], - "required_status": "yes:Tafadhali jaza hali ya maabukizo ya vvu wakati wa kuandikisha", "dependent_calculations": [ "hiv_registration_date" ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json index 9bd0ef673c..39e7e2ac0c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json @@ -142,7 +142,7 @@ } }, { - "name": "completed_and_qualified_from_the_services ", + "name": "completed_and_qualified_from_the_services", "text": "Amemaliza huduma", "meta_data": { "openmrs_entity": "concept", @@ -165,7 +165,6 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Client's HIV status after testing", "text": "Hali ya maambukizi ya VVU baada ya kipimo" }, "options": [ @@ -285,7 +284,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "health_problem" + "openmrs_entity_id": "problem" }, "options": [ { @@ -317,7 +316,7 @@ }, { "name": "none", - "text": "hana tatizo", + "text": "Hana tatizo", "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", @@ -394,7 +393,7 @@ }, { "name": "none", - "text": "hana tatizo", + "text": "Hana tatizo", "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", @@ -434,11 +433,11 @@ }, "options": [ { - "name": "none", + "name": "na", "text": "Haihusiki", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "none", + "openmrs_entity_id": "na", "openmrs_entity_parent": "" } }, @@ -558,20 +557,20 @@ } }, { - "name": "bed_sheets", - "text": "Mashuka", + "name": "mosquito_nets", + "text": "Chandarua", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", + "openmrs_entity_id": "mosquito_nets", "openmrs_entity_parent": "" } }, { - "name": "mosquito_nets", - "text": "Chandarua", + "name": "bed_sheets", + "text": "Mashuka", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_id": "bed_sheets", "openmrs_entity_parent": "" } }, @@ -613,7 +612,7 @@ } } ], - "required_status": "yes:Please choose supplies given", + "required_status": "yes:Tafadhali chagua kifaa/vifaa vilivyotolewa", "subjects": "registration_or_followup_status:text" }, { @@ -776,7 +775,7 @@ }, { "name": "other_hiv_services", - "text": "Huduma nyingnie za UKIMWI katika jamii", + "text": "Huduma nyingine za UKIMWI katika jamii", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_hiv_services", @@ -996,6 +995,15 @@ "openmrs_entity_parent": "" }, "options": [ + { + "name": "na", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, { "name": "registered_but_not_began_medication", "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", @@ -1022,15 +1030,6 @@ "openmrs_entity_id": "not_registered_in_ctc_clinic", "openmrs_entity_parent": "" } - }, - { - "name": "none", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } } ], "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 02bb75c83c..8fb02103ad 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -151,7 +151,7 @@ } } ], - "required_status": "yes:Tafadhali chagua hali ya ufwatiliaji", + "required_status": "yes:Tafadhali chagua hali ya ufuatiliaji", "dependent_calculations": [ "hiv_followup_visit_date" ] @@ -208,7 +208,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "health_problem" + "openmrs_entity_id": "problem" }, "options": [ { @@ -222,7 +222,7 @@ }, { "name": "coughing", - "text": "kukohoa", + "text": "Kukohoa", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "coughing", @@ -240,7 +240,7 @@ }, { "name": "none", - "text": "hana tatizo", + "text": "Hana tatizo", "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", @@ -317,7 +317,7 @@ }, { "name": "none", - "text": "hana tatizo", + "text": "Hana tatizo", "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", @@ -357,11 +357,11 @@ }, "options": [ { - "name": "none", + "name": "na", "text": "Haihusiki", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "none", + "openmrs_entity_id": "na", "openmrs_entity_parent": "" } }, @@ -481,20 +481,20 @@ } }, { - "name": "bed_sheets", - "text": "Mashuka", + "name": "mosquito_nets", + "text": "Chandarua", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", + "openmrs_entity_id": "mosquito_nets", "openmrs_entity_parent": "" } }, { - "name": "mosquito_nets", - "text": "Chandarua", + "name": "bed_sheets", + "text": "Mashuka", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_id": "bed_sheets", "openmrs_entity_parent": "" } }, @@ -699,7 +699,7 @@ }, { "name": "other_hiv_services", - "text": "Huduma nyingnie za UKIMWI katika jamii", + "text": "Huduma nyingine za UKIMWI katika jamii", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_hiv_services", @@ -920,20 +920,20 @@ }, "options": [ { - "name": "registered_and_uses_medication", - "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", + "name": "registered_but_not_began_medication", + "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_id": "registered_but_not_began_medication", "openmrs_entity_parent": "" } }, { - "name": "not_registered_in_ctc_clinic", - "text": "Hajaandikishwa CTC/PMTCT", + "name": "registered_and_uses_medication", + "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_id": "registered_and_uses_medication", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json index 16ff894a15..76a753dc77 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json @@ -120,7 +120,6 @@ } } ], - "required_status": "yes:Tafadhali jaza hali ya maabukizo ya vvu wakati wa kuandikisha", "dependent_calculations": [ "hiv_registration_date" ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json index 05daafb571..9cc0f36207 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json @@ -71,7 +71,7 @@ { "name": "Vaginal_bleeding", "text": "Kutoka damu ukeni", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Vaginal_bleeding", "openmrs_entity_parent": "" @@ -80,7 +80,7 @@ { "name": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", "text": "Kutokwa na majimaji ukeni yenye rangirangi na harufu mbaya", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", "openmrs_entity_parent": "" @@ -89,7 +89,7 @@ { "name": "High_blood_pressure", "text": "Shinikizo la damu", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "High_blood_pressure", "openmrs_entity_parent": "" @@ -98,7 +98,7 @@ { "name": "Severe_abdominal_pain", "text": "Maumivu makali ya tumbo", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Severe_abdominal_pain", "openmrs_entity_parent": "" @@ -107,7 +107,7 @@ { "name": "Severe_anaemia", "text": "Upungufu mkubwa wa damu", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Severe_anaemia", "openmrs_entity_parent": "" @@ -116,7 +116,7 @@ { "name": "Convulsions", "text": "Degedege", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Convulsions", "openmrs_entity_parent": "" @@ -125,7 +125,7 @@ { "name": "No_movement_unusual_movement_for_a_child_in_the_womb", "text": "Hakuna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "No_movement_unusual_movement_for_a_child_in_the_womb", "openmrs_entity_parent": "" @@ -134,7 +134,7 @@ { "name": "Pregnancy_pains_before_9_months", "text": "Uchungu kuanza mapema kabla ya mimba kufikia miezi 9", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Pregnancy_pains_before_9_months", "openmrs_entity_parent": "" @@ -143,7 +143,7 @@ { "name": "Early_age_pregnancy_below_18_years", "text": "Kupata mimba katika umri mdogo (chini ya umri wa miaka 18)", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Early_age_pregnancy_below_18_years", "openmrs_entity_parent": "" @@ -152,7 +152,7 @@ { "name": "A_severe_headache_dizziness", "text": "Maumivu makali ya kichwa/kizunguzungu", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "A_severe_headache_dizziness", "openmrs_entity_parent": "" @@ -161,7 +161,7 @@ { "name": "Swelling_of_the_face_andor_hands", "text": "Kuvimba uso na/au mikono", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Swelling_of_the_face_andor_hands", "openmrs_entity_parent": "" @@ -170,7 +170,7 @@ { "name": "Fever", "text": "Homa", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Fever", "openmrs_entity_parent": "" @@ -179,7 +179,7 @@ { "name": "Shivering_trembling", "text": "Kutetemeka", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Shivering_trembling", "openmrs_entity_parent": "" @@ -188,7 +188,7 @@ { "name": "Nausea_and_Vomiting", "text": "Kichefuchefu na kutapika", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Nausea_and_Vomiting", "openmrs_entity_parent": "" @@ -197,7 +197,7 @@ { "name": "Water_sack_broke_before_contractions", "text": "Chupa kupasuka mapema kabla ya uchungu", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Water_sack_broke_before_contractions", "openmrs_entity_parent": "" @@ -206,7 +206,7 @@ { "name": "Cord_prolapse", "text": "Kutangulia kitovu cha mtoto", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Cord_prolapse", "openmrs_entity_parent": "" @@ -215,7 +215,7 @@ { "name": "HIV_care_and_support_services", "text": "Huduma za wateja/wagonjwa wanaoishi na VVU", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "HIV_care_and_support_services", "openmrs_entity_parent": "" @@ -224,7 +224,7 @@ { "name": "Family_planning_services", "text": "Huduma za uzazi wa mpango", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Family_planning_services", "openmrs_entity_parent": "" @@ -233,7 +233,7 @@ { "name": "PMTCT_for_mothers", "text": "Huduma ya kuzuia maambukizi ya VVU toka kwa mama kwenda kwa mtoto", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "PMTCT_for_mothers", "openmrs_entity_parent": "" @@ -242,7 +242,7 @@ { "name": "Fistula", "text": "Fistula", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Fistula", "openmrs_entity_parent": "" @@ -251,7 +251,7 @@ { "name": "Difficultly_breathing", "text": "Kupumua kwa shida", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Difficultly_breathing", "openmrs_entity_parent": "" @@ -260,7 +260,7 @@ { "name": "Breast_engorgement", "text": "Kujaa au maumivu ya matiti, chuchu na kushindwa kunyonyesha", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Breast_engorgement", "openmrs_entity_parent": "" @@ -269,7 +269,7 @@ { "name": "Blurred_vision", "text": "Kuona kwa shida", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Blurred_vision", "openmrs_entity_parent": "" @@ -278,7 +278,7 @@ { "name": "Perineum_tear", "text": "Kuchanika msamba", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Perineum_tear", "openmrs_entity_parent": "" @@ -287,7 +287,7 @@ { "name": "Other_symptoms", "text": "Dalili nyingine", - "metadata": { + "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Other_symptoms", "openmrs_entity_parent": "" @@ -305,20 +305,21 @@ { "name": "problem_other", "type": "text_input_edit_text", - "metadata": { + "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "problem_other", "openmrs_entity_parent": "problem" }, "properties": { - "hint": "Dalili nyingine" + "hint": "Dalili nyingine", + "type": "name" }, "required_status": "true:Tafadhali bainisha dalili nyingine", "subjects": "problem:map" }, { "name": "service_before_referral", - "metadata": { + "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "service_before_referral" @@ -339,7 +340,7 @@ }, { "name": "Panadol", - "text": "Panadol", + "text": "Panado", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Panadol", @@ -366,18 +367,19 @@ } } ], - "required_status": "True:Matibabu aliyopewa kabla ya rufaa ni lazima" + "required_status": "yes:Matibabu aliyopewa kabla ya rufaa ni lazima" }, { "name": "service_before_referral_other", "type": "text_input_edit_text", "meta_data": { - "openmrs_entity": "", + "openmrs_entity": "concept", "openmrs_entity_id": "service_before_referral_other", "openmrs_entity_parent": "service_before_referral" }, "properties": { - "hint": "Matibabu mengine" + "hint": "Matibabu mengine", + "type": "name" }, "required_status": "true:Tafadhali jaza matibabu mengine", "subjects": "service_before_referral:map" @@ -394,12 +396,7 @@ "text": "Chagua Kituo cha rufaa", "searchable": "Chagua Kituo cha rufaa" }, - "options": [ - { - "name": "none", - "text": "Chagua Kituo cha rufaa" - } - ], + "options": [], "required_status": "yes:Tafadhali chagua kituo cha rufaa" }, { diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 8fbe881c7b..2908b97f69 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -874,8 +874,8 @@ "text": "None", "is_exclusive": true, "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml index c6364aaa93..63cd5fb583 100644 --- a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml +++ b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml @@ -16,7 +16,7 @@ actions: name: "ctc_number_visibility" description: "ctc_number visibility" priority: 1 -condition: "client_hiv_status_after_testing.value == 'Positive'" +condition: "client_hiv_status_after_testing.value == 'Positive' || client_hiv_status_after_testing.value == 'Chanya'" actions: - "ctc_number_visibility = true" --- From 65a5bd3aa54796cfbbd13cfe03be2f2ee474312d Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 3 Feb 2022 14:38:33 +0300 Subject: [PATCH 246/915] Updated options in CBHS followup-forms --- .../female_hiv_followup_visit.json | 18 ------------------ ...wup_visit_for_clients_with_ctc_numbers.json | 18 ------------------ .../json.form-sw/male_hiv_followup_visit.json | 9 --------- ...wup_visit_for_clients_with_ctc_numbers.json | 9 --------- .../json.form/female_hiv_followup_visit.json | 18 ------------------ ...wup_visit_for_clients_with_ctc_numbers.json | 18 ------------------ .../json.form/male_hiv_followup_visit.json | 9 --------- ...wup_visit_for_clients_with_ctc_numbers.json | 9 --------- 8 files changed, 108 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json index 468c750b3a..422939db15 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json @@ -468,15 +468,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "fisherman", - "text": "Wavuvi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fisherman", - "openmrs_entity_parent": "" - } - }, { "name": "people_who_inject_drugs", "text": "Wajidunga", @@ -495,15 +486,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "wood_workers", - "text": "Wapasua mbao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "wood_workers", - "openmrs_entity_parent": "" - } - }, { "name": "mining_workers", "text": "Wachimba madini", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 4912ae40a7..e18ded93ce 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -392,15 +392,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "fisherman", - "text": "Wavuvi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fisherman", - "openmrs_entity_parent": "" - } - }, { "name": "people_who_inject_drugs", "text": "Wajidunga", @@ -419,15 +410,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "wood_workers", - "text": "Wapasua mbao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "wood_workers", - "openmrs_entity_parent": "" - } - }, { "name": "mining_workers", "text": "Wachimba madini", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json index 39e7e2ac0c..b4738cf6ec 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json @@ -486,15 +486,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "sex_workers", - "text": "Wanaofanya biashara ya ngono", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_workers", - "openmrs_entity_parent": "" - } - }, { "name": "wood_workers", "text": "Wapasua mbao", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 8fb02103ad..e1c7c0b213 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -410,15 +410,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "sex_workers", - "text": "Wanaofanya biashara ya ngono", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_workers", - "openmrs_entity_parent": "" - } - }, { "name": "wood_workers", "text": "Wapasua mbao", diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json index a8a7901b0a..b84b2b1a22 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json @@ -468,15 +468,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "fisherman", - "text": "Fisherman", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fisherman", - "openmrs_entity_parent": "" - } - }, { "name": "people_who_inject_drugs", "text": "People Who Inject Drugs (PWID)", @@ -495,15 +486,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "wood_workers", - "text": "Lumberman", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "wood_workers", - "openmrs_entity_parent": "" - } - }, { "name": "mining_workers", "text": "Mining workers ", diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 2908b97f69..da2c3c0648 100644 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -392,15 +392,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "fisherman", - "text": "Fisherman", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fisherman", - "openmrs_entity_parent": "" - } - }, { "name": "people_who_inject_drugs", "text": "People Who Inject Drugs (PWID)", @@ -419,15 +410,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "wood_workers", - "text": "Lumberman", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "wood_workers", - "openmrs_entity_parent": "" - } - }, { "name": "mining_workers", "text": "Mining workers ", diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json index a658f864e1..037fbfe12e 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json @@ -486,15 +486,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "sex_workers", - "text": "Sex workers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_workers", - "openmrs_entity_parent": "" - } - }, { "name": "wood_workers", "text": "Lumberman", diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 7ce577ff7c..421728c96a 100644 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -410,15 +410,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "sex_workers", - "text": "Sex workers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_workers", - "openmrs_entity_parent": "" - } - }, { "name": "wood_workers", "text": "Lumberman", From 856ddf6863f5c4e8c5100903021ef64be45c9f7a Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 7 Feb 2022 18:05:55 +0300 Subject: [PATCH 247/915] added:ANC registration on eligible cbhs members --- .../chw/activity/HivProfileActivity.java | 48 ++++++++++++------- .../src/main/res/menu/hiv_profile_menu.xml | 39 +++++++++++++++ 2 files changed, 71 insertions(+), 16 deletions(-) create mode 100644 opensrp-chw/src/main/res/menu/hiv_profile_menu.xml diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 245a71ddb9..bebfea5627 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -25,6 +25,7 @@ import org.smartregister.chw.core.activity.CoreHivUpcomingServicesActivity; import org.smartregister.chw.core.adapter.NotificationListAdapter; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; +import org.smartregister.chw.core.dao.AncDao; import org.smartregister.chw.core.listener.OnClickFloatingMenu; import org.smartregister.chw.core.listener.OnRetrieveNotifications; import org.smartregister.chw.core.task.RunnableTask; @@ -55,6 +56,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Objects; import io.reactivex.annotations.Nullable; import timber.log.Timber; @@ -398,26 +400,16 @@ private void addHivReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.tb_referral), CoreConstants.JSON_FORM.getTbReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_TB)); - - if (getHivMemberObject().getGender().equalsIgnoreCase("Female")) { - //Obtaining the clients CommonPersonObjectClient used for checking is the client is Of Reproductive Age - CommonRepository commonRepository = Utils.context().commonrepository(Utils.metadata().familyMemberRegister.tableName); - - final CommonPersonObject commonPersonObject = commonRepository.findByBaseEntityId(getHivMemberObject().getBaseEntityId()); - final CommonPersonObjectClient client = new CommonPersonObjectClient(commonPersonObject.getCaseId(), commonPersonObject.getDetails(), ""); - client.setColumnmaps(commonPersonObject.getColumnmaps()); - - if (org.smartregister.chw.core.utils.Utils.isMemberOfReproductiveAge(client, 15, 49)) { - referralTypeModels.add(new ReferralTypeModel(getString(R.string.anc_danger_signs), - org.smartregister.chw.util.Constants.JSON_FORM.getAncUnifiedReferralForm(), CoreConstants.TASKS_FOCUS.ANC_DANGER_SIGNS)); - - referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_danger_signs), - CoreConstants.JSON_FORM.getPncReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); + if(isClientEligibleForAnc(getHivMemberObject())){ + referralTypeModels.add(new ReferralTypeModel(getString(R.string.anc_danger_signs), + org.smartregister.chw.util.Constants.JSON_FORM.getAncUnifiedReferralForm(), CoreConstants.TASKS_FOCUS.ANC_DANGER_SIGNS)); + referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_danger_signs), + CoreConstants.JSON_FORM.getPncReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); + if(!AncDao.isANCMember(getHivMemberObject().getBaseEntityId())){ referralTypeModels.add(new ReferralTypeModel(getString(R.string.pregnancy_confirmation), CoreConstants.JSON_FORM.getPregnancyConfirmationReferralForm(),CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION)); } } - referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); } @@ -467,6 +459,7 @@ public void onReceivedNotifications(List> notifications) { @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(org.smartregister.chw.core.R.menu.hiv_profile_menu, menu); + menu.findItem(R.id.action_anc_registration).setVisible(isClientEligibleForAnc(getHivMemberObject()) && !AncDao.isANCMember(getHivMemberObject().getBaseEntityId())); // flavor.updateTbMenuItems(getHivMemberObject().getBaseEntityId(), menu); return true; @@ -479,6 +472,10 @@ public boolean onOptionsItemSelected(MenuItem item) { startTbRegister(); return true; } + if (itemId == R.id.action_anc_registration){ + startAncRegister(); + return true; + } return super.onOptionsItemSelected(item); } @@ -490,6 +487,11 @@ protected void startTbRegister() { } } + protected void startAncRegister() { + AncRegisterActivity.startAncRegistrationActivity(HivProfileActivity.this, Objects.requireNonNull(getHivMemberObject()).getBaseEntityId() , getHivMemberObject().getPhoneNumber(), + org.smartregister.chw.util.Constants.JSON_FORM.getAncRegistration(), null, getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyName()); + } + /** * Pre-populating the registration form before opening it */ @@ -541,6 +543,20 @@ public void startHivRegistrationDetailsActivity() { this.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); } + protected boolean isClientEligibleForAnc(HivMemberObject hivMemberObject){ + if (hivMemberObject.getGender().equalsIgnoreCase("Female")) { + //Obtaining the clients CommonPersonObjectClient used for checking is the client is Of Reproductive Age + CommonRepository commonRepository = Utils.context().commonrepository(Utils.metadata().familyMemberRegister.tableName); + + final CommonPersonObject commonPersonObject = commonRepository.findByBaseEntityId(hivMemberObject.getBaseEntityId()); + final CommonPersonObjectClient client = new CommonPersonObjectClient(commonPersonObject.getCaseId(), commonPersonObject.getDetails(), ""); + client.setColumnmaps(commonPersonObject.getColumnmaps()); + + return org.smartregister.chw.core.utils.Utils.isMemberOfReproductiveAge(client, 15, 49); + } + return false; + } + public interface Flavor { // void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); } diff --git a/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml b/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml new file mode 100644 index 0000000000..cf93fde711 --- /dev/null +++ b/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml @@ -0,0 +1,39 @@ + +

    + + + + + + + + + \ No newline at end of file From e12dae76afed0edaff9cf6594fd8f8d2cc3c3452 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 7 Feb 2022 18:26:17 +0300 Subject: [PATCH 248/915] added:CBHS registration on ANC members --- .../activity/AncMemberProfileActivity.java | 27 +++++++++ .../main/res/menu/anc_member_profile_menu.xml | 55 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 opensrp-chw/src/main/res/menu/anc_member_profile_menu.xml diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index 74b1093d11..0c49b8e21d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -11,8 +11,11 @@ import android.view.View; import android.widget.LinearLayout; +import com.vijay.jsonwizard.utils.FormUtils; + import org.apache.commons.lang3.StringUtils; import org.json.JSONArray; +import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; @@ -41,6 +44,7 @@ import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.AncMemberProfilePresenter; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; +import org.smartregister.chw.util.UtilsFlv; import org.smartregister.clientandeventmodel.Event; import org.smartregister.commonregistry.AllCommonsRepository; import org.smartregister.commonregistry.CommonPersonObject; @@ -178,6 +182,13 @@ public boolean onOptionsItemSelected(MenuItem item) { PncRegisterActivity.startPncRegistrationActivity(AncMemberProfileActivity.this, memberObject.getBaseEntityId(), null, CoreConstants.JSON_FORM.getPregnancyOutcome(), AncLibrary.getInstance().getUniqueIdRepository().getNextUniqueId().getOpenmrsId(), memberObject.getFamilyBaseEntityId(), memberObject.getFamilyName(), memberObject.getLastMenstrualPeriod()); return true; } + if(itemId == R.id.action_cbhs_registration){ + CommonRepository commonRepository = Utils.context().commonrepository(Utils.metadata().familyMemberRegister.tableName); + + final CommonPersonObject commonPersonObject = commonRepository.findByBaseEntityId(memberObject.getBaseEntityId()); + startCBHSRegister(commonPersonObject); + return true; + } return super.onOptionsItemSelected(item); } @@ -188,6 +199,7 @@ public boolean onCreateOptionsMenu(Menu menu) { menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); menu.findItem(R.id.action_pregnancy_out_come).setVisible(false); menu.findItem(R.id.action_anc_registration).setVisible(false); + UtilsFlv.updateHivMenuItems(baseEntityID,menu); return true; } @@ -378,6 +390,21 @@ public void startFormActivity(JSONObject formJson) { } + protected void startCBHSRegister(CommonPersonObject commonPersonObject) { + String gender = org.smartregister.chw.util.Utils.getValue(commonPersonObject.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); + String formName; + if (gender.equalsIgnoreCase("male")) { + formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); + } else { + formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); + } + + try { + HivRegisterActivity.startHIVFormActivity(AncMemberProfileActivity.this, baseEntityID, formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); + } catch (JSONException e) { + Timber.e(e); + } + } @Override public void openFamilyLocation() { Intent intent = new Intent(this, AncMemberMapActivity.class); diff --git a/opensrp-chw/src/main/res/menu/anc_member_profile_menu.xml b/opensrp-chw/src/main/res/menu/anc_member_profile_menu.xml new file mode 100644 index 0000000000..6c230e116f --- /dev/null +++ b/opensrp-chw/src/main/res/menu/anc_member_profile_menu.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 6a1fccc84b9119df25745d6ee6c7c4ddf2baa128 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 7 Feb 2022 18:57:14 +0300 Subject: [PATCH 249/915] Fixed fields in anc registration form --- .../ba/assets/json.form/anc_member_registration.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json b/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json index ca6d81f2dc..9ed91ace3f 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json @@ -340,8 +340,8 @@ "err": "Number must be a total of 10 digits in length" }, "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." }, "v_required": { "value": false @@ -387,6 +387,10 @@ } } }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, "v_required": { "value": "true", "err": "Please enter the person's name" @@ -414,8 +418,8 @@ "err": "Number must be a total of 10 digits in length" }, "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Number must be 10 digits and must start with 0." + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." } } ] From 910ceb7f94c1d210209d30215780f8f63ba5e04f Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 8 Feb 2022 19:38:33 +0300 Subject: [PATCH 250/915] fixed: made the referral activity extend SecuredActivity to allow translations --- .../chw/activity/ClientReferralActivity.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java index 3bf4fb564f..bca88b364e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java @@ -24,6 +24,7 @@ import org.smartregister.family.util.JsonFormUtils; import org.smartregister.family.util.Utils; import org.smartregister.util.FormUtils; +import org.smartregister.view.activity.SecuredActivity; import java.util.HashMap; import java.util.List; @@ -33,7 +34,7 @@ import static org.smartregister.chw.util.Constants.REFERRAL_TASK_FOCUS; -public class ClientReferralActivity extends AppCompatActivity implements ClientReferralContract.View, View.OnClickListener { +public class ClientReferralActivity extends SecuredActivity implements ClientReferralContract.View, View.OnClickListener { private ReferralTypeAdapter referralTypeAdapter; private FormUtils formUtils; @@ -41,8 +42,7 @@ public class ClientReferralActivity extends AppCompatActivity implements ClientR private Map encounterTypeToTableMap; @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + protected void onCreation() { setContentView(R.layout.activity_client_referral); referralTypeAdapter = new ReferralTypeAdapter(); encounterTypeToTableMap = new HashMap<>(); @@ -50,7 +50,6 @@ protected void onCreate(Bundle savedInstanceState) { referralTypeAdapter.setOnClickListener(this); setUpView(); } - private void mapEncounterTypeToTable() { encounterTypeToTableMap.put(Constants.EncounterType.SICK_CHILD, CoreConstants.TABLE_NAME.CHILD_REFERRAL); encounterTypeToTableMap.put(Constants.EncounterType.PNC_REFERRAL, CoreConstants.TABLE_NAME.PNC_REFERRAL); @@ -133,8 +132,7 @@ public void onClick(View v) { } @Override - protected void onResume() { - super.onResume(); + protected void onResumption() { referralTypeAdapter.canStart = true; } From ba3e7eb4666b2d80e4545f89f8fe70eb27b9aae3 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 8 Feb 2022 19:39:50 +0300 Subject: [PATCH 251/915] removed unused imports --- .../chw/activity/ClientReferralActivity.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java index bca88b364e..b241a04317 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java @@ -2,15 +2,9 @@ import android.app.Activity; import android.content.Intent; -import android.os.Bundle; import android.view.View; import android.widget.ImageView; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AppCompatActivity; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - import org.json.JSONObject; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; @@ -30,6 +24,9 @@ import java.util.List; import java.util.Map; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import timber.log.Timber; import static org.smartregister.chw.util.Constants.REFERRAL_TASK_FOCUS; @@ -50,6 +47,7 @@ protected void onCreation() { referralTypeAdapter.setOnClickListener(this); setUpView(); } + private void mapEncounterTypeToTable() { encounterTypeToTableMap.put(Constants.EncounterType.SICK_CHILD, CoreConstants.TABLE_NAME.CHILD_REFERRAL); encounterTypeToTableMap.put(Constants.EncounterType.PNC_REFERRAL, CoreConstants.TABLE_NAME.PNC_REFERRAL); From d9805d722b27b6808740810cee49f550128d8a31 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 9 Feb 2022 11:16:52 +0300 Subject: [PATCH 252/915] Updated swahili translation --- opensrp-chw/src/main/res/values-sw/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index 4fec3dd4a3..c551e7674b 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -238,7 +238,8 @@ Caregiver stimulation skills: Programu ya kujifunza mapema Ufuatiliaji wa malaria - Toa rufaa kwenda kituo cha kutolea huduma za afya + Toa rufaa kwenda Kituo cha kutolea huduma za Afya + Rufaa kwenda Kituo cha kutolea huduma za Afya Hudhurio la {0} katika kliniki ya wajawazito katika kituo cha kutolea huduma za afya PEPOPUNDA {0} @@ -346,7 +347,7 @@ App inahitaji ruhusa hiyo kuorodhesha video za mwongozo. \ n Bila ruhusa hiyo huwezi kutazama video zozote za mwongozo - Sababu za Rufaa + Sababu za Kumpatia Mteja Rufaa kwenda kituo cha kutolea huduma za Afya Fungua rufaa ya %s Mtoto mgonjwa Uzazi wa mpango From 71261a9f0ce08f69745cbff3b6d149d92456188b Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 9 Feb 2022 12:40:50 +0300 Subject: [PATCH 253/915] Added: independent client translation and implementation --- opensrp-chw/src/ba/res/values-sw/strings.xml | 1 + .../org/smartregister/chw/provider/OpdRegisterProvider.java | 2 ++ opensrp-chw/src/main/res/values/strings.xml | 2 ++ 3 files changed, 5 insertions(+) diff --git a/opensrp-chw/src/ba/res/values-sw/strings.xml b/opensrp-chw/src/ba/res/values-sw/strings.xml index 9da04450ee..c5b522cbf2 100644 --- a/opensrp-chw/src/ba/res/values-sw/strings.xml +++ b/opensrp-chw/src/ba/res/values-sw/strings.xml @@ -18,5 +18,6 @@ Ufuatiliaji Jaza fomu ya ufuatiliaji Taarifa za Kimaeneo + Huru \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/OpdRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/OpdRegisterProvider.java index 84e7721c63..e166a20e65 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/provider/OpdRegisterProvider.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/OpdRegisterProvider.java @@ -72,6 +72,8 @@ private String getTranslatedRegisterType(String registerType) { return context.getString(R.string.menu_family_planning); } else if (registerType.equalsIgnoreCase(CoreConstants.REGISTER_TYPE.MALARIA)) { return context.getString(R.string.menu_malaria); + } else if (registerType.equalsIgnoreCase(CoreConstants.REGISTER_TYPE.INDEPENDENT)) { + return context.getString(R.string.menu_independent); } return registerType; } diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index a1d43dd8f9..947a79c4af 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -417,4 +417,6 @@ Family has nothing else due Created: %s + + Independent From 3947cb618d6e474e3a16bcd7a9f6e93cedea47ac Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 10 Feb 2022 13:19:48 +0300 Subject: [PATCH 254/915] created the nacp flavor --- opensrp-chw/build.gradle | 20 +- opensrp-chw/src/nacp/assets/app.properties | 4 + opensrp-chw/src/nacp/assets/ba_anc_style.json | 26066 ++++++++++++++++ .../anc-reporting-indicator-definitions.yml | 56 + .../child-reporting-indicator-definitions.yml | 154 + .../assets/config/indicator-definitions.yml | 1416 + .../nacp/assets/ec_client_classification.json | 466 + .../src/nacp/assets/ec_client_fields.json | 3379 ++ .../nacp/assets/ec_client_relationships.json | 12 + .../src/nacp/assets/ec_client_service.json | 59 + .../src/nacp/assets/ec_client_vaccine.json | 45 + .../all_clients_registration_form.json | 1562 + ...clients_update_registration_info_form.json | 1408 + .../json.form-sw/anc_hv_counselling.json | 192 + .../json.form-sw/anc_hv_danger_signs.json | 238 + .../json.form-sw/anc_hv_family_planning.json | 94 + .../anc_hv_health_facility_visit.json | 179 + .../assets/json.form-sw/anc_hv_malaria.json | 221 + .../json.form-sw/anc_hv_nutrition_status.json | 82 + .../json.form-sw/anc_hv_observations.json | 135 + .../anc_hv_pregnancy_risk_form.json | 97 + .../anc_hv_remarks_and_comments.json | 66 + .../json.form-sw/anc_member_registration.json | 425 + .../json.form-sw/anc_pregnancy_outcome.json | 558 + .../json.form-sw/anc_referral_form.json | 421 + .../json.form-sw/birth_certification.json | 183 + .../assets/json.form-sw/child_enrollment.json | 574 + .../json.form-sw/child_hv_deworming.json | 69 + .../child_hv_malaria_prevention.json | 141 + .../child_hv_nutrition_status.json | 82 + .../child_hv_vaccine_card_received.json | 72 + .../json.form-sw/child_hv_vitamin_a.json | 69 + .../json.form-sw/child_referral_form.json | 385 + .../community_responder_registration.json | 112 + .../json.form-sw/family_details_register.json | 133 + .../family_details_remove_child.json | 212 + .../family_details_remove_family.json | 171 + .../family_details_remove_member.json | 214 + .../json.form-sw/family_member_register.json | 1082 + .../assets/json.form-sw/family_register.json | 1163 + .../female_family_planning_change_method.json | 1018 + .../female_family_planning_registration.json | 1 + .../json.form-sw/female_fp_referral_form.json | 536 + .../female_hiv_followup_visit.json | 1055 + ...up_visit_for_clients_with_ctc_numbers.json | 961 + .../json.form-sw/female_hiv_registration.json | 192 + .../json.form-sw/fp_followup_counsel.json | 82 + .../json.form-sw/fp_followup_resupply.json | 159 + .../fp_followup_side_effects.json | 398 + .../hiv_community_followup_feedback.json | 185 + .../hiv_index_contact_followup.json | 194 + .../in_app_monthly_tallies_report.json | 108 + .../json.form-sw/malaria_confirmation.json | 437 + .../json.form-sw/malaria_follow_up_visit.json | 283 + .../json.form-sw/malaria_referral_form.json | 339 + .../male_family_planning_change_method.json | 383 + .../male_family_planning_registration.json | 431 + .../json.form-sw/male_fp_referral_form.json | 247 + .../json.form-sw/male_hiv_followup_visit.json | 1073 + ...up_visit_for_clients_with_ctc_numbers.json | 979 + .../json.form-sw/male_hiv_registration.json | 179 + .../assets/json.form-sw/monthly_report.json | 113 + .../json.form-sw/observation_illness.json | 129 + .../assets/json.form-sw/pnc_counselling.json | 213 + .../json.form-sw/pnc_danger_signs_baby.json | 204 + .../json.form-sw/pnc_danger_signs_mother.json | 204 + .../pnc_exclusive_breastfeeding.json | 76 + .../json.form-sw/pnc_family_planning.json | 197 + .../pnc_health_facility_visit.json | 168 + .../pnc_health_facility_visit_one.json | 92 + .../pnc_health_facility_visit_two.json | 111 + .../json.form-sw/pnc_hv_danger_signs.json | 195 + .../pnc_hv_observations_infant.json | 157 + .../pnc_hv_observations_mother.json | 157 + .../json.form-sw/pnc_malaria_prevention.json | 141 + .../pnc_nutrition_status_infant.json | 82 + .../pnc_nutrition_status_mother.json | 82 + .../json.form-sw/pnc_referral_form.json | 497 + .../referrals/anc_referral_form.json | 421 + .../referrals/child_gbv_referral_form.json | 210 + .../referrals/child_referral_form.json | 399 + .../referrals/female_fp_referral_form.json | 577 + .../referrals/gbv_referral_form.json | 190 + .../referrals/hiv_referral_form.json | 223 + .../referrals/hts_referral_form.json | 174 + .../referrals/malaria_referral_form.json | 396 + .../referrals/male_fp_referral_form.json | 253 + .../referrals/pnc_referral_form.json | 527 + .../pregnancy_confirmation_referral_form.json | 221 + .../json.form-sw/referrals/referral_form.json | 187 + .../referrals/tb_referral_form.json | 217 + .../json.form-sw/routine_home_visit.json | 185 + .../json.form-sw/stock_usage_report.json | 99 + .../assets/json.form-sw/tb_case_closure.json | 141 + .../tb_community_followup_feedback.json | 144 + .../json.form-sw/tb_followup_visit.json | 458 + .../assets/json.form-sw/tb_registration.json | 339 + .../all_clients_registration_form.json | 1567 + ...clients_update_registration_info_form.json | 1413 + .../assets/json.form/anc_hv_counselling.json | 192 + .../assets/json.form/anc_hv_danger_signs.json | 238 + .../json.form/anc_hv_family_planning.json | 94 + .../anc_hv_health_facility_visit.json | 175 + .../nacp/assets/json.form/anc_hv_malaria.json | 221 + .../json.form/anc_hv_nutrition_status.json | 82 + .../assets/json.form/anc_hv_observations.json | 135 + .../json.form/anc_hv_pregnancy_risk_form.json | 97 + .../anc_hv_remarks_and_comments.json | 66 + .../json.form/anc_member_registration.json | 427 + .../json.form/anc_pregnancy_outcome.json | 561 + .../assets/json.form/anc_referral_form.json | 421 + .../assets/json.form/birth_certification.json | 183 + .../assets/json.form/child_enrollment.json | 574 + .../assets/json.form/child_hv_deworming.json | 69 + .../child_hv_malaria_prevention.json | 141 + .../json.form/child_hv_nutrition_status.json | 82 + .../child_hv_vaccine_card_received.json | 72 + .../assets/json.form/child_hv_vitamin_a.json | 69 + .../assets/json.form/child_referral_form.json | 385 + .../community_responder_registration.json | 112 + .../json.form/family_details_register.json | 133 + .../family_details_remove_child.json | 212 + .../family_details_remove_family.json | 171 + .../family_details_remove_member.json | 214 + .../json.form/family_member_register.json | 1087 + .../assets/json.form/family_register.json | 1166 + .../female_family_planning_change_method.json | 1001 + .../female_family_planning_registration.json | 1072 + .../json.form/female_fp_referral_form.json | 535 + .../json.form/female_hiv_followup_visit.json | 1055 + ...up_visit_for_clients_with_ctc_numbers.json | 961 + .../json.form/female_hiv_registration.json | 192 + .../assets/json.form/fp_followup_counsel.json | 83 + .../json.form/fp_followup_resupply.json | 159 + .../json.form/fp_followup_side_effects.json | 399 + .../hiv_community_followup_feedback.json | 185 + .../json.form/hiv_index_contact_followup.json | 194 + .../in_app_monthly_tallies_report.json | 108 + .../json.form/malaria_confirmation.json | 437 + .../json.form/malaria_follow_up_visit.json | 283 + .../json.form/malaria_referral_form.json | 339 + .../male_family_planning_change_method.json | 374 + .../male_family_planning_registration.json | 418 + .../json.form/male_fp_referral_form.json | 247 + .../json.form/male_hiv_followup_visit.json | 1073 + ...up_visit_for_clients_with_ctc_numbers.json | 979 + .../json.form/male_hiv_registration.json | 179 + .../nacp/assets/json.form/monthly_report.json | 113 + .../assets/json.form/observation_illness.json | 129 + .../assets/json.form/pnc_counselling.json | 213 + .../json.form/pnc_danger_signs_baby.json | 204 + .../json.form/pnc_danger_signs_mother.json | 204 + .../pnc_exclusive_breastfeeding.json | 76 + .../assets/json.form/pnc_family_planning.json | 197 + .../json.form/pnc_health_facility_visit.json | 168 + .../pnc_health_facility_visit_one.json | 92 + .../pnc_health_facility_visit_two.json | 111 + .../assets/json.form/pnc_hv_danger_signs.json | 195 + .../json.form/pnc_hv_observations_infant.json | 157 + .../json.form/pnc_hv_observations_mother.json | 157 + .../json.form/pnc_malaria_prevention.json | 141 + .../pnc_nutrition_status_infant.json | 82 + .../pnc_nutrition_status_mother.json | 82 + .../assets/json.form/pnc_referral_form.json | 497 + .../json.form/referral_followup_form.json | 88 + .../referrals/anc_referral_form.json | 421 + .../referrals/child_gbv_referral_form.json | 210 + .../referrals/child_referral_form.json | 394 + .../referrals/female_fp_referral_form.json | 577 + .../referrals/gbv_referral_form.json | 192 + .../referrals/hiv_referral_form.json | 223 + .../referrals/hts_referral_form.json | 174 + .../referrals/malaria_referral_form.json | 396 + .../referrals/male_fp_referral_form.json | 253 + .../referrals/pnc_referral_form.json | 522 + .../pregnancy_confirmation_referral_form.json | 221 + .../json.form/referrals/referral_form.json | 187 + .../json.form/referrals/tb_referral_form.json | 223 + .../assets/json.form/routine_home_visit.json | 185 + .../assets/json.form/stock_usage_report.json | 99 + .../assets/json.form/tb_case_closure.json | 141 + .../tb_community_followup_feedback.json | 144 + .../assets/json.form/tb_followup_visit.json | 459 + .../assets/json.form/tb_registration.json | 339 + .../src/nacp/assets/mother_vaccines.json | 1 + .../nacp/assets/recurring_service_types.json | 338 + .../rule/all_clients_member_calculation.yml | 42 + .../rule/all_clients_member_relevance.yml | 120 + .../all_clients_member_update_calculation.yml | 21 + .../all_clients_member_update_relevance.yml | 121 + .../nacp/assets/rule/anc-home-visit-rules.yml | 46 + .../rule/anc_hv_health_facility_visit.yml | 14 + .../nacp/assets/rule/anc_hv_observations.yml | 6 + .../anc_member_registration_calculation.yml | 46 + .../anc_member_registration_relevance.yml | 52 + .../anc_pregnancy_outcome_calculation.yml | 40 + .../rule/anc_pregnancy_outcome_relevance.yml | 79 + .../assets/rule/anc_referral_calculation.yml | 24 + .../assets/rule/anc_referral_relevance.yml | 14 + .../nacp/assets/rule/birth_certification.yml | 35 + .../rule/child_referral_calculation.yml | 24 + .../assets/rule/child_referral_relevance.yml | 14 + .../assets/rule/child_remove_calculation.yml | 7 + .../src/nacp/assets/rule/contact-rules.yml | 70 + .../assets/rule/family-child-calculation.yml | 7 + .../assets/rule/family-child-relevance.yml | 70 + .../assets/rule/family-member-calculation.yml | 7 + .../family_member_register_calculation.yml | 14 + .../assets/rule/family_member_relevance.yml | 89 + ...ily_planning_change_method_calculation.yml | 63 + ...amily_planning_change_method_relevance.yml | 199 + .../rule/family_planning_referral_rules.yml | 79 + ...mily_planning_registration_calculation.yml | 71 + ...family_planning_registration_relevance.yml | 239 + .../rule/family_register_calculation.yml | 35 + .../assets/rule/family_register_relevance.yml | 157 + .../assets/rule/family_remove_calculation.yml | 7 + .../assets/rule/family_remove_relevance.yml | 14 + .../assets/rule/fp-coc-pop-refill-rule.yml | 6 + .../assets/rule/fp-condom-refill-rule.yml | 6 + .../rule/fp-female-sterilization-rule.yml | 20 + .../assets/rule/fp-injection-due-rule.yml | 6 + .../src/nacp/assets/rule/fp-iucd-rule.yml | 14 + .../nacp/assets/rule/fp_followup_resupply.yml | 35 + .../rule/fp_followup_resupply_calculation.yml | 14 + .../assets/rule/fp_followup_side_effects.yml | 77 + .../assets/rule/fp_referral_calculation.yml | 42 + .../assets/rule/fp_referral_relevance.yml | 38 + .../assets/rule/gbv_referral_form_rules.yml | 7 + .../rule/general_neat_referral_form_rules.yml | 47 + .../nacp/assets/rule/hiv-followup-rules.yml | 8 + .../hiv_community_followup_feedback_rules.yml | 22 + .../assets/rule/hiv_followup_form_rules.yml | 155 + .../rule/hiv_index_contact_followup_rules.yml | 28 + .../rule/hiv_registration_form_rules.yml | 14 + .../src/nacp/assets/rule/home-visit-rules.yml | 44 + .../assets/rule/immunization-expire-rules.yml | 7 + .../assets/rule/malaria-followup-rules.yml | 20 + .../rule/malaria_confirmation_calculation.yml | 25 + .../rule/malaria_confirmation_relevance.yml | 68 + .../rule/malaria_followup_calculation.yml | 7 + .../rule/malaria_followup_relevance.yml | 31 + .../rule/malaria_referral_relevance.yml | 7 + ...mily_planning_registration_calculation.yml | 7 + .../rule/male_fp_referral_relevance.yml | 15 + .../pnc-health-facility-schedule-rule.yml | 40 + .../nacp/assets/rule/pnc-home-visit-rules.yml | 34 + .../rule/pnc_family_planning_relevance.yml | 21 + .../assets/rule/pnc_referral_calculation.yml | 24 + .../assets/rule/pnc_referral_relevance.yml | 14 + ...nancy_confirmation_referral_form_rules.yml | 47 + .../nacp/assets/rule/tb-followup-rules.yml | 8 + .../rule/tb_case_closure_form_rules.yml | 21 + .../tb_community_followup_feedback_rules.yml | 8 + .../assets/rule/tb_followup_form_rules.yml | 70 + .../rule/tb_registration_form_rules.yml | 28 + opensrp-chw/src/nacp/assets/services.json | 17 + .../src/nacp/assets/special_vaccines.json | 2 + opensrp-chw/src/nacp/assets/vaccine_type.json | 514 + opensrp-chw/src/nacp/assets/vaccines.json | 514 + opensrp-chw/src/nacp/ic_launcher-web.png | Bin 0 -> 96952 bytes .../AncMedicalHistoryActivityFlv.java | 51 + .../ChildMedicalHistoryActivityFlv.java | 36 + .../chw/activity/ChildProfileActivityFlv.java | 29 + .../FamilyOtherMemberProfileActivityFlv.java | 88 + .../chw/activity/HivProfileActivityFlv.java | 12 + .../PncMedicalHistoryActivityFlv.java | 6 + .../activity/PncMemberProfileActivityFlv.java | 23 + .../chw/activity/TbProfileActivityFlv.java | 12 + .../chw/application/ChwApplicationFlv.java | 139 + .../FamilyMemberFloatingMenuFlv.java | 27 + .../chw/custom_view/NavigationMenuFlv.java | 66 + .../smartregister/chw/dao/ChwPNCDaoFlv.java | 22 + .../BaseHomeVisitImmunizationFragmentFlv.java | 35 + .../chw/intent/ChwPncCloseDateIntentFlv.java | 8 + .../interactor/AncHomeVisitInteractorFlv.java | 720 + .../AncUpcomingServicesInteractorFlv.java | 19 + .../ChildHomeVisitInteractorFlv.java | 270 + .../interactor/ChildProfileInteractorFlv.java | 4 + .../FamilyChangeContractInteractorFlv.java | 27 + .../FpFollowUpVisitInteractorFlv.java | 554 + .../interactor/PncHomeVisitInteractorFlv.java | 949 + .../PncUpcomingServicesInteractorFlv.java | 101 + .../model/AncRegisterFragmentModelFlv.java | 11 + .../chw/model/FamilyProfileModelFlv.java | 11 + .../chw/model/NavigationModelFlv.java | 50 + .../chw/repository/ChwRepositoryFlv.java | 387 + .../chw/task/ChildHomeVisitSchedulerFlv.java | 4 + .../smartregister/chw/util/ChildUtilsFlv.java | 31 + .../chw/util/JsonFormUtilsFlv.java | 29 + .../chw/util/PhoneNumberFlv.java | 35 + .../chw/util/RepositoryUtilsFlv.java | 33 + .../org/smartregister/chw/util/UtilsFlv.java | 78 + .../nacp/res/drawable-hdpi/ic_launcher.png | Bin 0 -> 4687 bytes .../drawable-hdpi/ic_launcher_foreground.png | Bin 0 -> 7789 bytes .../res/drawable-hdpi/ic_launcher_round.png | Bin 0 -> 6338 bytes .../src/nacp/res/drawable-hdpi/ic_logo_ba.png | Bin 0 -> 736484 bytes .../nacp/res/drawable-mdpi/ic_launcher.png | Bin 0 -> 3226 bytes .../drawable-mdpi/ic_launcher_foreground.png | Bin 0 -> 4066 bytes .../res/drawable-mdpi/ic_launcher_round.png | Bin 0 -> 3882 bytes .../nacp/res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 7088 bytes .../drawable-xhdpi/ic_launcher_foreground.png | Bin 0 -> 12671 bytes .../res/drawable-xhdpi/ic_launcher_round.png | Bin 0 -> 9186 bytes .../nacp/res/drawable-xxhdpi/ic_launcher.png | Bin 0 -> 11828 bytes .../ic_launcher_foreground.png | Bin 0 -> 27930 bytes .../res/drawable-xxhdpi/ic_launcher_round.png | Bin 0 -> 15383 bytes .../nacp/res/drawable-xxxhdpi/ic_launcher.png | Bin 0 -> 17921 bytes .../ic_launcher_foreground.png | Bin 0 -> 49191 bytes .../drawable-xxxhdpi/ic_launcher_round.png | Bin 0 -> 23880 bytes .../src/nacp/res/drawable/ic_launcher.png | Bin 0 -> 4687 bytes .../res/drawable/ic_launcher_foreground.png | Bin 0 -> 7789 bytes .../nacp/res/drawable/ic_launcher_round.png | Bin 0 -> 6338 bytes opensrp-chw/src/nacp/res/drawable/ic_logo.png | Bin 0 -> 706227 bytes .../src/nacp/res/drawable/ic_logo_ba.png | Bin 0 -> 736484 bytes .../src/nacp/res/values-fr/strings.xml | 6 + .../src/nacp/res/values-sw/strings.xml | 23 + opensrp-chw/src/nacp/res/values/strings.xml | 23 + .../src/nacp/res/xml/captured_images_path.xml | 6 + .../chw/util/ChildUtilsTest.java | 95 + 319 files changed, 96649 insertions(+), 2 deletions(-) create mode 100644 opensrp-chw/src/nacp/assets/app.properties create mode 100644 opensrp-chw/src/nacp/assets/ba_anc_style.json create mode 100644 opensrp-chw/src/nacp/assets/config/anc-reporting-indicator-definitions.yml create mode 100644 opensrp-chw/src/nacp/assets/config/child-reporting-indicator-definitions.yml create mode 100644 opensrp-chw/src/nacp/assets/config/indicator-definitions.yml create mode 100644 opensrp-chw/src/nacp/assets/ec_client_classification.json create mode 100644 opensrp-chw/src/nacp/assets/ec_client_fields.json create mode 100644 opensrp-chw/src/nacp/assets/ec_client_relationships.json create mode 100644 opensrp-chw/src/nacp/assets/ec_client_service.json create mode 100644 opensrp-chw/src/nacp/assets/ec_client_vaccine.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_family_planning.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_health_facility_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_nutrition_status.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_pregnancy_risk_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_remarks_and_comments.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/anc_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/birth_certification.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/child_hv_deworming.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/child_hv_malaria_prevention.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/child_hv_nutrition_status.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/child_hv_vaccine_card_received.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/child_hv_vitamin_a.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/child_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/community_responder_registration.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_child.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_family.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_member.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/family_register.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/female_family_planning_change_method.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/female_family_planning_registration.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/female_fp_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/fp_followup_counsel.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/fp_followup_resupply.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/fp_followup_side_effects.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/hiv_community_followup_feedback.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/hiv_index_contact_followup.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/in_app_monthly_tallies_report.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/malaria_confirmation.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/malaria_follow_up_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/malaria_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/male_family_planning_change_method.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/male_family_planning_registration.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/male_fp_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/monthly_report.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/observation_illness.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_counselling.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_mother.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_exclusive_breastfeeding.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_health_facility_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_health_facility_visit_one.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_health_facility_visit_two.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_danger_signs.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_malaria_prevention.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_nutrition_status_infant.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_nutrition_status_mother.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pnc_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/anc_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_gbv_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_fp_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/malaria_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_fp_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/tb_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/routine_home_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/stock_usage_report.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/tb_case_closure.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/tb_community_followup_feedback.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/tb_followup_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/tb_registration.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/anc_hv_family_planning.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/anc_hv_health_facility_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/anc_hv_malaria.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/anc_hv_nutrition_status.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/anc_hv_pregnancy_risk_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/anc_hv_remarks_and_comments.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/anc_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/birth_certification.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/child_enrollment.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/child_hv_deworming.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/child_hv_malaria_prevention.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/child_hv_nutrition_status.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/child_hv_vaccine_card_received.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/child_hv_vitamin_a.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/child_referral_form.json create mode 100755 opensrp-chw/src/nacp/assets/json.form/community_responder_registration.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/family_details_register.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/family_details_remove_child.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/family_details_remove_family.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/family_details_remove_member.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/family_member_register.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/family_register.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/female_family_planning_change_method.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/female_family_planning_registration.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/female_fp_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/fp_followup_counsel.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/fp_followup_resupply.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/fp_followup_side_effects.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/hiv_community_followup_feedback.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/hiv_index_contact_followup.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/in_app_monthly_tallies_report.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/malaria_confirmation.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/malaria_follow_up_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/malaria_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/male_family_planning_change_method.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/male_family_planning_registration.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/male_fp_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/monthly_report.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/observation_illness.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_mother.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_exclusive_breastfeeding.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_health_facility_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_health_facility_visit_one.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_health_facility_visit_two.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_hv_danger_signs.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_malaria_prevention.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_nutrition_status_infant.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_nutrition_status_mother.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/pnc_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referral_followup_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/female_fp_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/malaria_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/male_fp_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/tb_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/routine_home_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/stock_usage_report.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/tb_case_closure.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/tb_community_followup_feedback.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/tb_followup_visit.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/tb_registration.json create mode 100644 opensrp-chw/src/nacp/assets/mother_vaccines.json create mode 100644 opensrp-chw/src/nacp/assets/recurring_service_types.json create mode 100644 opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/all_clients_member_update_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/anc-home-visit-rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/anc_hv_health_facility_visit.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/anc_hv_observations.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/anc_member_registration_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/anc_pregnancy_outcome_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/anc_pregnancy_outcome_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/anc_referral_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/anc_referral_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/birth_certification.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/child_referral_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/child_referral_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/child_remove_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/contact-rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family-child-calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family-child-relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family-member-calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family_member_register_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family_member_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family_planning_change_method_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family_planning_change_method_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family_planning_referral_rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family_planning_registration_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family_planning_registration_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family_register_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family_remove_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/family_remove_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/fp-coc-pop-refill-rule.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/fp-condom-refill-rule.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/fp-female-sterilization-rule.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/fp-injection-due-rule.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/fp-iucd-rule.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/fp_followup_resupply.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/fp_followup_resupply_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/fp_followup_side_effects.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/fp_referral_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/fp_referral_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/gbv_referral_form_rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/general_neat_referral_form_rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/hiv-followup-rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/hiv_community_followup_feedback_rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/hiv_index_contact_followup_rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/home-visit-rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/immunization-expire-rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/malaria-followup-rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/malaria_confirmation_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/malaria_confirmation_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/malaria_followup_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/malaria_followup_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/malaria_referral_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/male_family_planning_registration_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/male_fp_referral_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/pnc-health-facility-schedule-rule.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/pnc-home-visit-rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/pnc_family_planning_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/pnc_referral_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/pnc_referral_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/pregnancy_confirmation_referral_form_rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/tb-followup-rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/tb_case_closure_form_rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/tb_community_followup_feedback_rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/tb_followup_form_rules.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/tb_registration_form_rules.yml create mode 100644 opensrp-chw/src/nacp/assets/services.json create mode 100644 opensrp-chw/src/nacp/assets/special_vaccines.json create mode 100644 opensrp-chw/src/nacp/assets/vaccine_type.json create mode 100644 opensrp-chw/src/nacp/assets/vaccines.json create mode 100644 opensrp-chw/src/nacp/ic_launcher-web.png create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/activity/ChildMedicalHistoryActivityFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/activity/ChildProfileActivityFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/activity/HivProfileActivityFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/activity/PncMedicalHistoryActivityFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/activity/TbProfileActivityFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/FamilyMemberFloatingMenuFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/dao/ChwPNCDaoFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/fragment/BaseHomeVisitImmunizationFragmentFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/intent/ChwPncCloseDateIntentFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncUpcomingServicesInteractorFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/ChildHomeVisitInteractorFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/ChildProfileInteractorFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/FamilyChangeContractInteractorFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/FpFollowUpVisitInteractorFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncUpcomingServicesInteractorFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/model/AncRegisterFragmentModelFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/model/FamilyProfileModelFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/repository/ChwRepositoryFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/task/ChildHomeVisitSchedulerFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/util/ChildUtilsFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/util/JsonFormUtilsFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/util/PhoneNumberFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/util/RepositoryUtilsFlv.java create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/util/UtilsFlv.java create mode 100644 opensrp-chw/src/nacp/res/drawable-hdpi/ic_launcher.png create mode 100644 opensrp-chw/src/nacp/res/drawable-hdpi/ic_launcher_foreground.png create mode 100644 opensrp-chw/src/nacp/res/drawable-hdpi/ic_launcher_round.png create mode 100644 opensrp-chw/src/nacp/res/drawable-hdpi/ic_logo_ba.png create mode 100644 opensrp-chw/src/nacp/res/drawable-mdpi/ic_launcher.png create mode 100644 opensrp-chw/src/nacp/res/drawable-mdpi/ic_launcher_foreground.png create mode 100644 opensrp-chw/src/nacp/res/drawable-mdpi/ic_launcher_round.png create mode 100644 opensrp-chw/src/nacp/res/drawable-xhdpi/ic_launcher.png create mode 100644 opensrp-chw/src/nacp/res/drawable-xhdpi/ic_launcher_foreground.png create mode 100644 opensrp-chw/src/nacp/res/drawable-xhdpi/ic_launcher_round.png create mode 100644 opensrp-chw/src/nacp/res/drawable-xxhdpi/ic_launcher.png create mode 100644 opensrp-chw/src/nacp/res/drawable-xxhdpi/ic_launcher_foreground.png create mode 100644 opensrp-chw/src/nacp/res/drawable-xxhdpi/ic_launcher_round.png create mode 100644 opensrp-chw/src/nacp/res/drawable-xxxhdpi/ic_launcher.png create mode 100644 opensrp-chw/src/nacp/res/drawable-xxxhdpi/ic_launcher_foreground.png create mode 100644 opensrp-chw/src/nacp/res/drawable-xxxhdpi/ic_launcher_round.png create mode 100644 opensrp-chw/src/nacp/res/drawable/ic_launcher.png create mode 100644 opensrp-chw/src/nacp/res/drawable/ic_launcher_foreground.png create mode 100644 opensrp-chw/src/nacp/res/drawable/ic_launcher_round.png create mode 100644 opensrp-chw/src/nacp/res/drawable/ic_logo.png create mode 100644 opensrp-chw/src/nacp/res/drawable/ic_logo_ba.png create mode 100644 opensrp-chw/src/nacp/res/values-fr/strings.xml create mode 100644 opensrp-chw/src/nacp/res/values-sw/strings.xml create mode 100644 opensrp-chw/src/nacp/res/values/strings.xml create mode 100644 opensrp-chw/src/nacp/res/xml/captured_images_path.xml create mode 100644 opensrp-chw/src/testNacp/java/org/smartregister/chw/util/ChildUtilsTest.java diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 6a6cd00826..ffe8af28ba 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -171,6 +171,23 @@ android { flavorDimensions 'baseDimension' productFlavors { + nacp { + dimension = 'baseDimension' + applicationIdSuffix ".nacp" + versionCode 9 + versionName "1.0.9" + buildConfigField "String", 'opensrp_url', '"https://boresha-afya.smartregister.org/opensrp/"' + buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' + buildConfigField "String", 'opensrp_url_debug', '"http://50.116.15.4:8082/opensrp/"' + buildConfigField "String[]", "LOCATION_HIERACHY", '{"Country","Region","District","Ward" , "MOH Jhpiego Facility Name", "Health Facility", "Village", "Village Sublocations"}' + buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS", '{"Ward" , "Facility", "Health Facility", "Village", "Village Sublocations"}' + buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS_DEBUG", '{"Ward", "Facility", "Health Facility", "Village", "Village Sublocations"}' + buildConfigField "String", 'DEFAULT_LOCATION', '"Village Sublocations"' + buildConfigField "String", 'DEFAULT_LOCATION_DEBUG', '"Village"' + buildConfigField "long", "MAPBOX_DOWNLOAD_TILE_LIMIT", "6001" + + buildConfigField "int", "DATABASE_VERSION", '24' + } ba { dimension = 'baseDimension' applicationIdSuffix ".ba" @@ -178,8 +195,7 @@ android { versionName "1.0.9" buildConfigField "String", 'opensrp_url', '"https://boresha-afya.smartregister.org/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' - buildConfigField "String", 'opensrp_url_debug', '"http://50.116.15.4:8082/opensrp/"' -// buildConfigField "String", 'opensrp_url_debug', '"https://ba-unified-stage.smartregister.org/opensrp/"' + buildConfigField "String", 'opensrp_url_debug', '"https://ba-unified-stage.smartregister.org/opensrp/"' buildConfigField "String[]", "LOCATION_HIERACHY", '{"Country","Region","District","Ward" , "MOH Jhpiego Facility Name", "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS", '{"Ward" , "MOH Jhpiego Facility Name", "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS_DEBUG", '{"Ward", "Facility", "Health Facility", "Village", "Village Sublocations"}' diff --git a/opensrp-chw/src/nacp/assets/app.properties b/opensrp-chw/src/nacp/assets/app.properties new file mode 100644 index 0000000000..f34a526cdf --- /dev/null +++ b/opensrp-chw/src/nacp/assets/app.properties @@ -0,0 +1,4 @@ +DRISHTI_BASE_URL= +PORT=-1 +SHOULD_VERIFY_CERTIFICATE=false +SYNC_DOWNLOAD_BATCH_SIZE=100 \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/ba_anc_style.json b/opensrp-chw/src/nacp/assets/ba_anc_style.json new file mode 100644 index 0000000000..ea14c95183 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/ba_anc_style.json @@ -0,0 +1,26066 @@ +{ + "version": 8, + "name": "BA Tanzania Base Map", + "metadata": { + "mapbox:type": "default", + "mapbox:origin": "satellite-streets-v11", + "mapbox:sdk-support": { + "js": "1.9.0", + "android": "7.3.0", + "ios": "5.6.0" + }, + "mapbox:autocomposite": true, + "mapbox:groups": { + "Transit, transit-labels": { + "name": "Transit, transit-labels", + "collapsed": false + }, + "Administrative boundaries, admin": { + "name": "Administrative boundaries, admin", + "collapsed": false + }, + "Road network, bridges": { + "name": "Road network, bridges", + "collapsed": false + }, + "Road network, tunnels": { + "name": "Road network, tunnels", + "collapsed": false + }, + "Road network, road-labels": { + "name": "Road network, road-labels", + "collapsed": false + }, + "Natural features, natural-labels": { + "name": "Natural features, natural-labels", + "collapsed": false + }, + "Road network, surface": { + "name": "Road network, surface", + "collapsed": false + }, + "Walking, cycling, etc., barriers-bridges": { + "name": "Walking, cycling, etc., barriers-bridges", + "collapsed": false + }, + "Place labels, place-labels": { + "name": "Place labels, place-labels", + "collapsed": false + }, + "Transit, elevated": { + "name": "Transit, elevated", + "collapsed": false + }, + "Point of interest labels, poi-labels": { + "name": "Point of interest labels, poi-labels", + "collapsed": false + }, + "Walking, cycling, etc., tunnels": { + "name": "Walking, cycling, etc., tunnels", + "collapsed": false + }, + "Road network, tunnels-case": { + "name": "Road network, tunnels-case", + "collapsed": false + }, + "Walking, cycling, etc., surface": { + "name": "Walking, cycling, etc., surface", + "collapsed": false + }, + "Road network, surface-icons": { + "name": "Road network, surface-icons", + "collapsed": false + }, + "Satellite imagery, land": { + "name": "Satellite imagery, land", + "collapsed": false + }, + "Transit, ferry-aerialway-labels": { + "name": "Transit, ferry-aerialway-labels", + "collapsed": false + } + }, + "mapbox:uiParadigm": "layers", + "mapbox:decompiler": { + "id": "ck9xwff041tm21isaj11kbwng", + "componentVersion": "3.0.0", + "strata": [ + { + "id": "satellite-streets-v11", + "order": [ + [ + "transit", + "built" + ], + [ + "satellite", + "land" + ], + [ + "road-network", + "tunnels-case" + ], + [ + "walking-cycling", + "tunnels" + ], + [ + "road-network", + "tunnels" + ], + [ + "transit", + "ferries" + ], + [ + "walking-cycling", + "surface" + ], + [ + "road-network", + "surface" + ], + [ + "transit", + "surface" + ], + [ + "road-network", + "surface-icons" + ], + [ + "walking-cycling", + "barriers-bridges" + ], + [ + "road-network", + "bridges" + ], + [ + "transit", + "bridges" + ], + [ + "road-network", + "traffic-and-closures" + ], + [ + "transit", + "elevated" + ], + [ + "admin-boundaries", + "admin" + ], + [ + "road-network", + "road-labels" + ], + [ + "walking-cycling", + "walking-cycling-labels" + ], + [ + "transit", + "ferry-aerialway-labels" + ], + [ + "natural-features", + "natural-labels" + ], + [ + "point-of-interest-labels", + "poi-labels" + ], + [ + "transit", + "transit-labels" + ], + [ + "place-labels", + "place-labels" + ] + ] + } + ], + "components": { + "satellite": "3.0.0", + "road-network": "3.0.0", + "walking-cycling": "3.0.0", + "admin-boundaries": "3.0.0", + "natural-features": "3.0.0", + "point-of-interest-labels": "3.0.0", + "transit": "3.0.0", + "place-labels": "3.0.0" + }, + "propConfig": { + "satellite": {}, + "road-network": { + "roadsFont": [ + "DIN Pro Medium", + "Arial Unicode MS Regular" + ], + "color-road": "hsla(0, 0%, 90%, 0.5)", + "color-motorway-trunk": "hsla(36, 87%, 68%, 0.7)", + "construction": false, + "color-road-label": "hsl(0, 0%, 100%)", + "fadeOutRoadsOnZoom": true, + "railwayCrossings": false, + "polygonFeatures": false, + "color-base": "hsl(0, 0%, 0%)", + "minorRoads": false, + "turningCircles": false, + "color-road-outline": "hsla(0, 1%, 10%, 0.5)" + }, + "walking-cycling": { + "roadsFont": [ + "DIN Pro Medium", + "Arial Unicode MS Regular" + ], + "golfHoleLabelLine": false, + "color-road": "hsla(0, 0%, 90%, 0.5)", + "color-greenspace": "hsl(94, 100%, 14%)", + "walkingCyclingPisteBackground": false, + "color-road-label": "hsl(0, 0%, 100%)", + "color-greenspace-label": "hsl(94, 100%, 74%)", + "poiEtcFont": [ + "DIN Pro Bold", + "Arial Unicode MS Bold" + ], + "color-base": "hsl(0, 0%, 0%)", + "pedestrianPolygonFeatures": false, + "color-road-outline": "hsla(0, 1%, 10%, 0.5)", + "labels": false + }, + "admin-boundaries": { + "admin0Width": 1.5, + "color-base": "hsl(0, 0%, 0%)", + "color-place-label": "hsl(0, 0%, 100%)", + "color-admin-boundary": "hsl(0, 0%, 0%)" + }, + "natural-features": { + "poiEtcFont": [ + "DIN Pro Bold", + "Arial Unicode MS Bold" + ], + "color-base": "hsl(0, 0%, 0%)", + "color-water": "hsl(196, 50%, 50%)", + "color-poi": "hsl(0, 0%, 100%)" + }, + "point-of-interest-labels": { + "poiEtcFont": [ + "DIN Pro Bold", + "Arial Unicode MS Bold" + ], + "color-base": "hsl(0, 0%, 0%)", + "color-poi": "hsl(0, 0%, 100%)", + "color-greenspace": "hsl(94, 100%, 14%)", + "color-greenspace-label": "hsl(94, 100%, 74%)", + "color-hospital": "hsl(0, 0%, 100%)", + "color-school": "hsl(0, 0%, 100%)" + }, + "transit": { + "color-airport": "hsl(0, 0%, 100%)", + "matchLabelAndIcon": false, + "roadsFont": [ + "DIN Pro Medium", + "Arial Unicode MS Regular" + ], + "aeroways": false, + "color-transit": "hsl(0, 0%, 100%)", + "color-road": "hsla(0, 0%, 90%, 0.5)", + "color-water": "hsl(196, 50%, 50%)", + "color-road-label": "hsl(0, 0%, 100%)", + "railways": false, + "ferries": false, + "poiEtcFont": [ + "DIN Pro Bold", + "Arial Unicode MS Bold" + ], + "color-base": "hsl(0, 0%, 0%)", + "color-road-outline": "hsla(0, 1%, 10%, 0.5)" + }, + "place-labels": { + "settlementsMinorFont": [ + "DIN Pro Medium", + "Arial Unicode MS Regular" + ], + "settlementSubdivisionsFont": [ + "DIN Pro Medium", + "Arial Unicode MS Regular" + ], + "color-base": "hsl(0, 0%, 0%)", + "color-place-label": "hsl(0, 0%, 100%)" + } + } + } + }, + "center": [ + -118.4106, + 33.750013 + ], + "zoom": 13, + "bearing": 0, + "pitch": 0, + "sources": { + "mapbox://mapbox.satellite": { + "url": "mapbox://mapbox.satellite", + "type": "raster", + "tileSize": 256 + }, + "composite": { + "url": "mapbox://mapbox.mapbox-streets-v8", + "type": "vector" + }, + "health-facilities-data-set": { + "type": "geojson", + "data": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.87, + -2.02 + ] + }, + "properties": { + "Facility Name": "AICTBunda", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Kabarimu", + "Village_Street": "Kabarimu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.87, + -2.02 + ] + }, + "properties": { + "Facility Name": "Bhoke", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Bunda Mjini", + "Village_Street": "Bunda Mjini", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.86, + -2.02 + ] + }, + "properties": { + "Facility Name": "Boma", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Bunda Stoo", + "Village_Street": "Bunda Stoo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.05, + -1.92 + ] + }, + "properties": { + "Facility Name": "BukamaSDA", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Nyamuswa", + "Village_Street": "Bukama", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.63, + -2.14 + ] + }, + "properties": { + "Facility Name": "Bulamba", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Butimba", + "Village_Street": "Bulamba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.87, + -2.02 + ] + }, + "properties": { + "Facility Name": "Bunda", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Kabarimu", + "Village_Street": "Kabarimu", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.88, + -2.03 + ] + }, + "properties": { + "Facility Name": "Bunda", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Balili", + "Village_Street": "Nyamakokoto", + "Facility Type": "Hospital - Designated District Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.87, + -2 + ] + }, + "properties": { + "Facility Name": "Bunda Magereza", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Nyasura", + "Village_Street": "Nyasura", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Prisons", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.43, + -2.15 + ] + }, + "properties": { + "Facility Name": "Busambara", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Chitengule", + "Village_Street": "Busambara", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.73, + -2.07 + ] + }, + "properties": { + "Facility Name": "Guta", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Guta", + "Village_Street": "Guta ''A''", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.08, + -1.99 + ] + }, + "properties": { + "Facility Name": "Hunyari", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Hunyari", + "Village_Street": "Hunyari", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.36, + -2.07 + ] + }, + "properties": { + "Facility Name": "Igundu", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Igundu", + "Village_Street": "Igundu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.02, + -1.9 + ] + }, + "properties": { + "Facility Name": "Ikizu", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Nyamuswa", + "Village_Street": "M akongoro ''A''", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.4, + -1.98 + ] + }, + "properties": { + "Facility Name": "Iramba", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Iramba", + "Village_Street": "Mugara", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.81, + -1.97 + ] + }, + "properties": { + "Facility Name": "Kabasa", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Kabasa", + "Village_Street": "Kabasa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.54, + -2.07 + ] + }, + "properties": { + "Facility Name": "Karukekere", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Namhula", + "Village_Street": "Karukekere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.51, + -2.15 + ] + }, + "properties": { + "Facility Name": "Kasahunga", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Neruma", + "Village_Street": "Kasahunga", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.58, + -2.17 + ] + }, + "properties": { + "Facility Name": "Kasuguti", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Kasuguti", + "Village_Street": "Kasuguti", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.47, + -2.15 + ] + }, + "properties": { + "Facility Name": "Kibara", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Kibara", + "Village_Street": "Kibara ''A''", + "Facility Type": "Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.22, + -2.11 + ] + }, + "properties": { + "Facility Name": "Kisorya", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Kisorya", + "Village_Street": "Kisorya", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.92, + -2.05 + ] + }, + "properties": { + "Facility Name": "Kunzugu", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Kunzugu", + "Village_Street": "Kuzungu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.15, + -1.85 + ] + }, + "properties": { + "Facility Name": "Kurusanga", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Salama", + "Village_Street": "Kurusanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.29, + -1.87 + ] + }, + "properties": { + "Facility Name": "Manchimweru", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Mihingo", + "Village_Street": "Manchimweru", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.86, + -1.98 + ] + }, + "properties": { + "Facility Name": "Manyamanyama", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Manyamanyama", + "Village_Street": "Manyamanyama", + "Facility Type": "Hospital", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.05, + -1.88 + ] + }, + "properties": { + "Facility Name": "Marambeka", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Ketare", + "Village_Street": "Marambeka", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.14, + -1.98 + ] + }, + "properties": { + "Facility Name": "Mariwanda", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Hunyari", + "Village_Street": "Mariwanda", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.95, + -2.01 + ] + }, + "properties": { + "Facility Name": "Mcharo", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Mcharo", + "Village_Street": "Mcharo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.2, + -1.84 + ] + }, + "properties": { + "Facility Name": "Mekomariro", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Mihingo", + "Village_Street": "Mekomariro", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.03, + -2.02 + ] + }, + "properties": { + "Facility Name": "Mihale", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Mcharo", + "Village_Street": "Mihale", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.22, + -1.93 + ] + }, + "properties": { + "Facility Name": "Mugeta", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Mugeta", + "Village_Street": "Mugeta", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.43, + -2.03 + ] + }, + "properties": { + "Facility Name": "Mwiruruma", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Iramba", + "Village_Street": "Mwiruruma", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.3, + -2.18 + ] + }, + "properties": { + "Facility Name": "Nafuba", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Nansimo", + "Village_Street": "Nafuba [Kisiwa]", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.46, + -2.08 + ] + }, + "properties": { + "Facility Name": "Namuhula", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Namhula", + "Village_Street": "Namhula", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.35, + -2.15 + ] + }, + "properties": { + "Facility Name": "Nansimo", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Nansimo", + "Village_Street": "Nansimo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.1, + -1.83 + ] + }, + "properties": { + "Facility Name": "Nyaburundu", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Ketare", + "Village_Street": "Nyaburundu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34, + -2.04 + ] + }, + "properties": { + "Facility Name": "Nyamatoke", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Mcharo", + "Village_Street": "Nyamatoke", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.01, + -1.96 + ] + }, + "properties": { + "Facility Name": "Nyangere", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Nyamang'uta", + "Village_Street": "Nyangere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.84, + -2.16 + ] + }, + "properties": { + "Facility Name": "Nywatwali", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Nyatwali", + "Village_Street": "Nyatwali", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.11, + -1.91 + ] + }, + "properties": { + "Facility Name": "Salama A", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Salama", + "Village_Street": "Salama ''A''", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.11, + -1.87 + ] + }, + "properties": { + "Facility Name": "Salama Kati", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Salama", + "Village_Street": "Salama Kati", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.03, + -1.93 + ] + }, + "properties": { + "Facility Name": "Sarawe", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Nyamang'uta", + "Village_Street": "Sarawe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.9, + -2 + ] + }, + "properties": { + "Facility Name": "Sazira", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Sazira", + "Village_Street": "Sazira", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.21, + -2.14 + ] + }, + "properties": { + "Facility Name": "Sunsi", + "Region": "Mara", + "Council": "Bunda DC", + "Ward": "Nampindi", + "Village_Street": "Sunsi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.83, + -2.12 + ] + }, + "properties": { + "Facility Name": "Tamau", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Nywatali", + "Village_Street": "Tamau", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.87, + -2.02 + ] + }, + "properties": { + "Facility Name": "Ukombozi", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Balili", + "Village_Street": "Balili", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.86, + -2.04 + ] + }, + "properties": { + "Facility Name": "Victoria", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Bunda Mjini", + "Village_Street": "Bunda Mjini", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.78, + -1.94 + ] + }, + "properties": { + "Facility Name": "Wariku", + "Region": "Mara", + "Council": "Bunda TC", + "Ward": "Wariku", + "Village_Street": "Kangetutya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.23, + -1.68 + ] + }, + "properties": { + "Facility Name": "Baranga", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Buswahili", + "Village_Street": "Baranga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.81, + -1.6 + ] + }, + "properties": { + "Facility Name": "Bisumwa", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Bisumwa", + "Village_Street": "Bisumwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.86, + -1.76 + ] + }, + "properties": { + "Facility Name": "BlessedPierGiorgioFrassat", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Kukirango", + "Village_Street": "Nyamisisye", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.08, + -1.76 + ] + }, + "properties": { + "Facility Name": "Buhemba", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Buhemba", + "Village_Street": "Kinyariri", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.01, + -1.72 + ] + }, + "properties": { + "Facility Name": "BumangiGvt", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Muriaza", + "Village_Street": "Bumangi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.01, + -1.74 + ] + }, + "properties": { + "Facility Name": "Bumangi KMT", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Muriaza", + "Village_Street": "Bumangi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.84, + -1.68 + ] + }, + "properties": { + "Facility Name": "Buruma", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Buruma", + "Village_Street": "Songora", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.96, + -1.72 + ] + }, + "properties": { + "Facility Name": "Busegwe", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Busegwe", + "Village_Street": "Kigori", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.95, + -1.71 + ] + }, + "properties": { + "Facility Name": "Busegwe SDA", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Busegwe", + "Village_Street": "Busegwe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.96, + -1.77 + ] + }, + "properties": { + "Facility Name": "Butiama", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Butiama", + "Village_Street": "Butiama", + "Facility Type": "Hospital - District Hospital", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.95, + -1.67 + ] + }, + "properties": { + "Facility Name": "Butuguri", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Butuguri", + "Village_Street": "Kisamwene", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.08, + -1.65 + ] + }, + "properties": { + "Facility Name": "Kamugendi", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Bwiregi", + "Village_Street": "Kamgendi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.79, + -1.74 + ] + }, + "properties": { + "Facility Name": "Kamgegi", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Kamugegi", + "Village_Street": "Kamugegi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.85, + -1.77 + ] + }, + "properties": { + "Facility Name": "KiabakariJWTZ", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Kukirango", + "Village_Street": "Kiabakari", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Parastatal", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.82, + -1.77 + ] + }, + "properties": { + "Facility Name": "KiabakariMagereza", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Kamugegi", + "Village_Street": "Kyawazaru", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Prisons", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.11, + -1.66 + ] + }, + "properties": { + "Facility Name": "Kiagata", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Nyamimange", + "Village_Street": "Kyankoma", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.18, + -1.71 + ] + }, + "properties": { + "Facility Name": "Rwasereta", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Sirorisimba", + "Village_Street": "Rwasereta", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.04, + -1.68 + ] + }, + "properties": { + "Facility Name": "Kizaru", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Muriaza", + "Village_Street": "Kizaru", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.77, + -1.59 + ] + }, + "properties": { + "Facility Name": "Kyamajoje", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Bisumwa", + "Village_Street": "Kyamajoje", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.83, + -1.77 + ] + }, + "properties": { + "Facility Name": "Kyawazarwe", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Kamugegi", + "Village_Street": "Kyawazaru", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.98, + -1.59 + ] + }, + "properties": { + "Facility Name": "Magana", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Bukabwa", + "Village_Street": "Bukabwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.02, + -1.61 + ] + }, + "properties": { + "Facility Name": "Masurura", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Bwiregi", + "Village_Street": "Masurura", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.14, + -1.77 + ] + }, + "properties": { + "Facility Name": "Mirwa", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Mirwa", + "Village_Street": "Mirwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.99, + -1.71 + ] + }, + "properties": { + "Facility Name": "Muriaza", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Muriaza", + "Village_Street": "Muriaza", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.9, + -1.8 + ] + }, + "properties": { + "Facility Name": "Mwanzaburiga", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Kukirango", + "Village_Street": "Mwanzaburiga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.84, + -1.86 + ] + }, + "properties": { + "Facility Name": "Mwibagi", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Kyanyari", + "Village_Street": "Mwibagi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.87, + -1.55 + ] + }, + "properties": { + "Facility Name": "Nyabange", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Nyankanga", + "Village_Street": "Nyabange", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.86, + -1.54 + ] + }, + "properties": { + "Facility Name": "Nyabange KMT", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Nyankanga", + "Village_Street": "Nyabange", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.86, + -1.73 + ] + }, + "properties": { + "Facility Name": "Nyamika", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Buruma", + "Village_Street": "Mwikoro", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.87, + -1.76 + ] + }, + "properties": { + "Facility Name": "Nyamisisi", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Kukirango", + "Village_Street": "Nyamisisye", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.9, + -1.59 + ] + }, + "properties": { + "Facility Name": "Nyankanga", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Nyankanga", + "Village_Street": "Nyankanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.96, + -1.86 + ] + }, + "properties": { + "Facility Name": "Nyasirori", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Masaba", + "Village_Street": "Nyasirori", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34, + -1.81 + ] + }, + "properties": { + "Facility Name": "Rwamkoma", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Butiama", + "Village_Street": "Rwamkoma", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.99, + -1.83 + ] + }, + "properties": { + "Facility Name": "Rwamkoma JKT", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Butiama", + "Village_Street": "Rwamkoma", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Military", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.79, + -1.72 + ] + }, + "properties": { + "Facility Name": "Ryamugabo", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Buruma", + "Village_Street": "Ryamugabo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.07, + -1.59 + ] + }, + "properties": { + "Facility Name": "Ryamisanga", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Bwiregi", + "Village_Street": "Ryamisanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.23, + -1.74 + ] + }, + "properties": { + "Facility Name": "SiroriSimbaKMT", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Sirorisimba", + "Village_Street": "Sirorisimba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.19, + -1.61 + ] + }, + "properties": { + "Facility Name": "Wegero", + "Region": "Mara", + "Council": "Butiama DC", + "Ward": "Buswahili", + "Village_Street": "Kongoto", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.74, + -1.9 + ] + }, + "properties": { + "Facility Name": "Bugoji", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Bugoji", + "Village_Street": "Bugoji", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.36, + -1.82 + ] + }, + "properties": { + "Facility Name": "Bugunda", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Bwasi", + "Village_Street": "Bugunda", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.41, + -1.81 + ] + }, + "properties": { + "Facility Name": "Bukima", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Bukima", + "Village_Street": "Bukima", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.39, + -1.84 + ] + }, + "properties": { + "Facility Name": "Busungu", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Bulinga", + "Village_Street": "Busungu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.59, + -1.7 + ] + }, + "properties": { + "Facility Name": "Bwai", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Kiriba", + "Village_Street": "Bwai Kumsoma", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.37, + -1.86 + ] + }, + "properties": { + "Facility Name": "BwasiSDA", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Bwasi", + "Village_Street": "Bwasi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.39, + -1.9 + ] + }, + "properties": { + "Facility Name": "Chitare", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Makojo", + "Village_Street": "Chitare", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.71, + -1.51 + ] + }, + "properties": { + "Facility Name": "Etaro", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Etaro", + "Village_Street": "Etaro", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.69, + -1.6 + ] + }, + "properties": { + "Facility Name": "KigeraEtumaRC", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Nyakatende", + "Village_Street": "Kigera Etuma", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.63, + -1.69 + ] + }, + "properties": { + "Facility Name": "Kiriba", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Kiriba", + "Village_Street": "Kiriba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.33, + -1.85 + ] + }, + "properties": { + "Facility Name": "Kome", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Bwasi", + "Village_Street": "Kome", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.35, + -1.91 + ] + }, + "properties": { + "Facility Name": "Kurugee", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Bukumi", + "Village_Street": "Buraga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.68, + -1.74 + ] + }, + "properties": { + "Facility Name": "Kwikuba", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Busambara", + "Village_Street": "Kwikuba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.59, + -1.95 + ] + }, + "properties": { + "Facility Name": "Masinono", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Bugwema", + "Village_Street": "Masinono", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.69, + -1.69 + ] + }, + "properties": { + "Facility Name": "Mugango", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Mugango", + "Village_Street": "Nyang'oma", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.52, + -1.84 + ] + }, + "properties": { + "Facility Name": "Murangi", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Murangi", + "Village_Street": "Murangi", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.74, + -1.62 + ] + }, + "properties": { + "Facility Name": "Nyakatende", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Nyakatende", + "Village_Street": "Nyakatende", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.7, + -1.88 + ] + }, + "properties": { + "Facility Name": "Nyambono", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Nyambono", + "Village_Street": "Saragana", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.72, + -1.55 + ] + }, + "properties": { + "Facility Name": "Nyegina", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Nyegina", + "Village_Street": "Nyegina", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.42, + -1.87 + ] + }, + "properties": { + "Facility Name": "Rusoli", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Rusoli", + "Village_Street": "Rusoli", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.57, + -1.79 + ] + }, + "properties": { + "Facility Name": "RwangaKMT", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Nyamrandirira", + "Village_Street": "Kasoma", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.59, + -1.82 + ] + }, + "properties": { + "Facility Name": "Seka", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Nyamrandirira", + "Village_Street": "Seka", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.64, + -1.8 + ] + }, + "properties": { + "Facility Name": "Suguti", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Suguti", + "Village_Street": "Kusenyi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.73, + -1.75 + ] + }, + "properties": { + "Facility Name": "Tegeruka", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Tegeruka", + "Village_Street": "Mayani", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.73, + -1.85 + ] + }, + "properties": { + "Facility Name": "Wanyere", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Suguti", + "Village_Street": "Wanyere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.84, + -1.54 + ] + }, + "properties": { + "Facility Name": "AICT Bweri", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Bweri", + "Village_Street": "Nyabisare", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.8, + -1.51 + ] + }, + "properties": { + "Facility Name": "AICT Nyasho", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Nyasho", + "Village_Street": "Nyasho Magereza", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.79, + -1.54 + ] + }, + "properties": { + "Facility Name": "Bethsaida", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Kwangwa", + "Village_Street": "Kwangwa", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.79, + -1.52 + ] + }, + "properties": { + "Facility Name": "Buhare", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Buhare", + "Village_Street": "Buhare", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.83, + -1.53 + ] + }, + "properties": { + "Facility Name": "Bweri", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Bweri", + "Village_Street": "Bweri", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.81, + -1.51 + ] + }, + "properties": { + "Facility Name": "COPTIC", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Nyasho", + "Village_Street": "Nyasho Kati", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.81, + -1.5 + ] + }, + "properties": { + "Facility Name": "Iringo", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Iringo", + "Village_Street": "Iringo 'A'", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.8, + -1.51 + ] + }, + "properties": { + "Facility Name": "Jema", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Kamunyonge", + "Village_Street": "Majita Road", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.81, + -1.5 + ] + }, + "properties": { + "Facility Name": "KADA", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Mwigobero", + "Village_Street": "Mwigobero", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.79, + -1.51 + ] + }, + "properties": { + "Facility Name": "Kamunyonge", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Nyamatare", + "Village_Street": "Nyamatare", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.8, + -1.53 + ] + }, + "properties": { + "Facility Name": "Kwangwa", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Kigera", + "Village_Street": "Bonde Kati", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.81, + -1.5 + ] + }, + "properties": { + "Facility Name": "Magereza", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Mukendo", + "Village_Street": "Mukendo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Prisons", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.77, + -1.49 + ] + }, + "properties": { + "Facility Name": "Makoko", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Makoko", + "Village_Street": "Ziwani", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.77, + -1.5 + ] + }, + "properties": { + "Facility Name": "Makoko JW", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Makoko", + "Village_Street": "Nyarigamba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Military", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.81, + -1.5 + ] + }, + "properties": { + "Facility Name": "Manga", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Iringo", + "Village_Street": "Iringo 'A'", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.8, + -1.5 + ] + }, + "properties": { + "Facility Name": "MarieStopesMusoma", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Kamunyonge", + "Village_Street": "Biafra", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - NGOs", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.81, + -1.49 + ] + }, + "properties": { + "Facility Name": "Musoma", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Mukendo", + "Village_Street": "Mukendo", + "Facility Type": "Hospital - Regional Referral Hospital", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.81, + -1.49 + ] + }, + "properties": { + "Facility Name": "Musoma Police", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Mukendo", + "Village_Street": "Mukendo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Police", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.78, + -1.51 + ] + }, + "properties": { + "Facility Name": "Mwisenge", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Mwisenge", + "Village_Street": "Mtakuja", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.8, + -1.51 + ] + }, + "properties": { + "Facility Name": "Nyamatare", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Nyamatare", + "Village_Street": "Nyamatare", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.81, + -1.5 + ] + }, + "properties": { + "Facility Name": "Nyasho", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Kitaji", + "Village_Street": "Kitaji 'C'", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.8, + -1.5 + ] + }, + "properties": { + "Facility Name": "Omega", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Kitaji", + "Village_Street": "Kitaji 'C'", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - NGOs", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.82, + -1.53 + ] + }, + "properties": { + "Facility Name": "Rwamlimi", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Bweri", + "Village_Street": "Rwamlimi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.77, + -1.5 + ] + }, + "properties": { + "Facility Name": "St. Clarent", + "Region": "Mara", + "Council": "Musoma MC", + "Ward": "Makoko", + "Village_Street": "Nyarigamba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.93, + -1.38 + ] + }, + "properties": { + "Facility Name": "Baraki", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Baraki", + "Village_Street": "Baraki", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.97, + -1.37 + ] + }, + "properties": { + "Facility Name": "Baraki Sisters", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Baraki", + "Village_Street": "Baraki", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.3, + -1.16 + ] + }, + "properties": { + "Facility Name": "Bethania", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Ikoma", + "Village_Street": "Kogaja", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.08, + -1.08 + ] + }, + "properties": { + "Facility Name": "Bubombi", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Bukura", + "Village_Street": "Bubombi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.26, + -1.2 + ] + }, + "properties": { + "Facility Name": "Bugire", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Goribe", + "Village_Street": "Tatwe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.25, + -1.33 + ] + }, + "properties": { + "Facility Name": "Bukwe", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Bukwe", + "Village_Street": "Mika", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.96, + -1.31 + ] + }, + "properties": { + "Facility Name": "Burere", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Kirogo", + "Village_Street": "Burere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.01, + -1.42 + ] + }, + "properties": { + "Facility Name": "Buturi", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Rabour", + "Village_Street": "Makongoro", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.23, + -1.24 + ] + }, + "properties": { + "Facility Name": "Changuge", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Mirare", + "Village_Street": "Sudi", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.1, + -1.39 + ] + }, + "properties": { + "Facility Name": "Chereche", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Nyaburongo", + "Village_Street": "Chereche", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.35, + -1.2 + ] + }, + "properties": { + "Facility Name": "Ikoma", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Ikoma", + "Village_Street": "Ikoma", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.82, + -1.42 + ] + }, + "properties": { + "Facility Name": "Kibuyi", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Nyamunga", + "Village_Street": "Kibuyi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.86, + -1.46 + ] + }, + "properties": { + "Facility Name": "Kinesi", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Nyamunga", + "Village_Street": "Kinesi", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.3, + -1.17 + ] + }, + "properties": { + "Facility Name": "Kogaja", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Ikoma", + "Village_Street": "Kogaja", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.04, + -1.17 + ] + }, + "properties": { + "Facility Name": "Kothora", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Mkoma", + "Village_Street": "Obwere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.15, + -1.36 + ] + }, + "properties": { + "Facility Name": "Kowaki", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Nyathorogo", + "Village_Street": "Kowaki", + "Facility Type": "Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.99, + -1.49 + ] + }, + "properties": { + "Facility Name": "Kuruya", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Komuge", + "Village_Street": "Kuruya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.04, + -1.31 + ] + }, + "properties": { + "Facility Name": "Masike", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Kigunga", + "Village_Street": "Masike", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.04, + -1.11 + ] + }, + "properties": { + "Facility Name": "MasongaHC", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Tai", + "Village_Street": "Masonga", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.04, + -1.16 + ] + }, + "properties": { + "Facility Name": "Ngasaro", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Mkoma", + "Village_Street": "Ngasaro", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.99, + -1.22 + ] + }, + "properties": { + "Facility Name": "Nyahongo", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Nyahongo", + "Village_Street": "Nyamkonge", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.91, + -1.25 + ] + }, + "properties": { + "Facility Name": "Nyamagaro", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Nyamagaro", + "Village_Street": "Nyang'ombe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.29, + -1.19 + ] + }, + "properties": { + "Facility Name": "Nyamasanda", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Ikoma", + "Village_Street": "Nyamasanda", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.12, + -1.13 + ] + }, + "properties": { + "Facility Name": "Nyambori", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Bukura", + "Village_Street": "Nyambori", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.12, + -1.46 + ] + }, + "properties": { + "Facility Name": "Nyanchabakenye", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Kisumwa", + "Village_Street": "Nyanchabakenye", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.01, + -1.26 + ] + }, + "properties": { + "Facility Name": "Nyarombo", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Nyamtinga", + "Village_Street": "Nyarombo", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.18, + -1.39 + ] + }, + "properties": { + "Facility Name": "Nyasoko", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Nyathorogo", + "Village_Street": "Nyasoko", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.24, + -1.37 + ] + }, + "properties": { + "Facility Name": "Nyasoro", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Bukwe", + "Village_Street": "Nyasoro", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.15, + -1.41 + ] + }, + "properties": { + "Facility Name": "Ochuna", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Nyaburongo", + "Village_Street": "Ochuna", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.22, + -1.14 + ] + }, + "properties": { + "Facility Name": "Panyakoo", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Goribe", + "Village_Street": "Panyakoo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.03, + -1.16 + ] + }, + "properties": { + "Facility Name": "Rao", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Mkoma", + "Village_Street": "Kabwana", + "Facility Type": "Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.1, + -1.21 + ] + }, + "properties": { + "Facility Name": "Raranya", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Raranya", + "Village_Street": "Raranya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.83, + -1.35 + ] + }, + "properties": { + "Facility Name": "Ruhu", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Kyang'ombe", + "Village_Street": "Ruhu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.94, + -1.21 + ] + }, + "properties": { + "Facility Name": "Rwang'enyi", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Nyamtinga", + "Village_Street": "Rwang'enyi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.19, + -1.16 + ] + }, + "properties": { + "Facility Name": "Sakawa", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Kitembe", + "Village_Street": "Sakawa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.12, + -1.45 + ] + }, + "properties": { + "Facility Name": "Sayuni", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Kisumwa", + "Village_Street": "Nyanchabakenye", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.03, + -1.15 + ] + }, + "properties": { + "Facility Name": "ShiratiKMT", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Mkoma", + "Village_Street": "Kabwana", + "Facility Type": "Hospital - Designated District Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.09, + -1.26 + ] + }, + "properties": { + "Facility Name": "Sokolaboro", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Kigunga", + "Village_Street": "Bukama", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.98, + -1.12 + ] + }, + "properties": { + "Facility Name": "Sota", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Tai", + "Village_Street": "Sota", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - NGOs", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.9, + -1.45 + ] + }, + "properties": { + "Facility Name": "St. Valentine", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Komuge", + "Village_Street": "Komuge", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.22, + -1.32 + ] + }, + "properties": { + "Facility Name": "Utegi", + "Region": "Mara", + "Council": "Rorya DC", + "Ward": "Koryo", + "Village_Street": "Utegi", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.78, + -1.87 + ] + }, + "properties": { + "Facility Name": "Bonchugu", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Sedeco", + "Village_Street": "Bonchugu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.66, + -1.9 + ] + }, + "properties": { + "Facility Name": "Bwitengi", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Manchira", + "Village_Street": "Bwitengi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.64, + -2.08 + ] + }, + "properties": { + "Facility Name": "FortIkoma", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Ikoma", + "Village_Street": "Park Nyigoti", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Parastatal", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.43, + -1.58 + ] + }, + "properties": { + "Facility Name": "Gantamome", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Busawe", + "Village_Street": "Gantamome", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.62, + -1.71 + ] + }, + "properties": { + "Facility Name": "Gesarya", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Rung'abure", + "Village_Street": "Gesarya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.47, + -2.05 + ] + }, + "properties": { + "Facility Name": "Gurumeti", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Natta", + "Village_Street": "Makundusi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.31, + -1.83 + ] + }, + "properties": { + "Facility Name": "Gusuhi", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Nyambureti", + "Village_Street": "Gusuhi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.67, + -1.84 + ] + }, + "properties": { + "Facility Name": "Huduma", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Mugumu", + "Village_Street": "NHC", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.29, + -1.7 + ] + }, + "properties": { + "Facility Name": "Iramba", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Kenyamonta", + "Village_Street": "Nyagasense", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.36, + -1.58 + ] + }, + "properties": { + "Facility Name": "Iseresere", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Majimoto", + "Village_Street": "Iseresere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.34, + -2.01 + ] + }, + "properties": { + "Facility Name": "Isseco", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Nagusi", + "Village_Street": "Iharara", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.35, + -1.99 + ] + }, + "properties": { + "Facility Name": "Issenye", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Issenye", + "Village_Street": "Nyiberekera", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.62, + -1.78 + ] + }, + "properties": { + "Facility Name": "Itununu", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Nyamoko", + "Village_Street": "Itununu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.67, + -1.84 + ] + }, + "properties": { + "Facility Name": "Kada Mugumu", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Mugumu", + "Village_Street": "Stendi Mpya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.56, + -1.69 + ] + }, + "properties": { + "Facility Name": "Kebanchebanche", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Kebanchabancha", + "Village_Street": "Kebanchabancha", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.41, + -1.77 + ] + }, + "properties": { + "Facility Name": "Kemugesi", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Nyamatare", + "Village_Street": "Nyamatare", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.5, + -1.73 + ] + }, + "properties": { + "Facility Name": "Kenyana", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Ring'wani", + "Village_Street": "Kenyana", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.46, + -1.54 + ] + }, + "properties": { + "Facility Name": "Kisaka", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Kisaka", + "Village_Street": "Buchanchari", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.38, + -1.96 + ] + }, + "properties": { + "Facility Name": "Kitembere", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Rigicha", + "Village_Street": "Kitembere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.37, + -1.81 + ] + }, + "properties": { + "Facility Name": "Maburi", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Nyambureti", + "Village_Street": "Maburi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.69, + -1.67 + ] + }, + "properties": { + "Facility Name": "Machochwe", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Machochwe", + "Village_Street": "Machochwe", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.35, + -1.63 + ] + }, + "properties": { + "Facility Name": "Majimoto", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Majimoto", + "Village_Street": "Majimoto", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.36, + -1.74 + ] + }, + "properties": { + "Facility Name": "Masinki", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Magange", + "Village_Street": "Masinki", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.71, + -1.75 + ] + }, + "properties": { + "Facility Name": "Mbalibali", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Mbalibali", + "Village_Street": "Mbalibali", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.65, + -1.63 + ] + }, + "properties": { + "Facility Name": "Merenga", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Nyansurura", + "Village_Street": "Merenga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.45, + -1.92 + ] + }, + "properties": { + "Facility Name": "Mosongo", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Mosongo", + "Village_Street": "Mosongo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.66, + -1.84 + ] + }, + "properties": { + "Facility Name": "Mugumu Mahabusu Disp", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Mugumu", + "Village_Street": "Stendi Mpya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Prisons", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.68, + -1.85 + ] + }, + "properties": { + "Facility Name": "Mugumu RCH A", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Stendi Kuu", + "Village_Street": "Bomani", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.66, + -1.83 + ] + }, + "properties": { + "Facility Name": "MugumuRCHB", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Mugumu", + "Village_Street": "M.c.u", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.51, + -1.73 + ] + }, + "properties": { + "Facility Name": "Musati", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Kebanchabancha", + "Village_Street": "Musati", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.45, + -2.02 + ] + }, + "properties": { + "Facility Name": "Natta", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Natta", + "Village_Street": "Natta Mbiso", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.5, + -2.01 + ] + }, + "properties": { + "Facility Name": "Nyakitono", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Natta", + "Village_Street": "Makundusi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.43, + -1.81 + ] + }, + "properties": { + "Facility Name": "Nyamatoke", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Mosongo", + "Village_Street": "Nyamatoke", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.75, + -1.79 + ] + }, + "properties": { + "Facility Name": "Nyamburi", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Sedeco", + "Village_Street": "Nyambori", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.34, + -1.98 + ] + }, + "properties": { + "Facility Name": "Nyamisingisi", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Issenye", + "Village_Street": "Nyamisingisi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.45, + -1.67 + ] + }, + "properties": { + "Facility Name": "Nyamitita", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Ring'wani", + "Village_Street": "Nyamitita", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.32, + -1.89 + ] + }, + "properties": { + "Facility Name": "Nyankomogo", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Rigicha", + "Village_Street": "Nyankomogo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.6, + -1.62 + ] + }, + "properties": { + "Facility Name": "Nyansurura", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Nyansurura", + "Village_Street": "Nyansurura", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.66, + -1.84 + ] + }, + "properties": { + "Facility Name": "Nyerere", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Mugumu", + "Village_Street": "Stendi Mpya", + "Facility Type": "Hospital - Designated District Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.5, + -1.55 + ] + }, + "properties": { + "Facility Name": "Nyiboko", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Kisaka", + "Village_Street": "Nyiboko", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.59, + -1.91 + ] + }, + "properties": { + "Facility Name": "Nyichoka", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Kyambahi", + "Village_Street": "Nyichoka", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.66, + -1.95 + ] + }, + "properties": { + "Facility Name": "Park-Nyigoti", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Ikoma", + "Village_Street": "Park Nyigoti", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.27, + -1.75 + ] + }, + "properties": { + "Facility Name": "Remung'orori", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Magange", + "Village_Street": "Remung'orori", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.35, + -1.93 + ] + }, + "properties": { + "Facility Name": "Rigicha", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Rigicha", + "Village_Street": "Rigicha", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.7, + -2.15 + ] + }, + "properties": { + "Facility Name": "Robanda", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Ikoma", + "Village_Street": "Robanda", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.62, + -1.75 + ] + }, + "properties": { + "Facility Name": "Rung'abure", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Rung'abure", + "Village_Street": "Nyamerama", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.73, + -1.88 + ] + }, + "properties": { + "Facility Name": "Rwamchanga", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Manchira", + "Village_Street": "Rwamchanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.8, + -1.83 + ] + }, + "properties": { + "Facility Name": "TaboraB", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Kisangura", + "Village_Street": "Kisangura", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Prisons", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.38, + -1.92 + ] + }, + "properties": { + "Facility Name": "Wagete", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Rigicha", + "Village_Street": "Wagete", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.3, + -1.29 + ] + }, + "properties": { + "Facility Name": "Bumera", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Bumera", + "Village_Street": "Kitenga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.66, + -1.4 + ] + }, + "properties": { + "Facility Name": "Bungurere", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Muriba", + "Village_Street": "Bungurere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.61, + -1.44 + ] + }, + "properties": { + "Facility Name": "Genkuru", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Nyarokoba", + "Village_Street": "Genkuru", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.65, + -1.53 + ] + }, + "properties": { + "Facility Name": "Gibaso", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Kwihancha", + "Village_Street": "Gibaso", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.6, + -1.4 + ] + }, + "properties": { + "Facility Name": "Keisangura", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Nyamwaga", + "Village_Street": "Keisangura", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.37, + -1.23 + ] + }, + "properties": { + "Facility Name": "Kiongera", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Susuni", + "Village_Street": "Kiongera", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.54, + -1.3 + ] + }, + "properties": { + "Facility Name": "Kitagutiti", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Mbogi", + "Village_Street": "Getenga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.56, + -1.36 + ] + }, + "properties": { + "Facility Name": "Magoto", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Nyakonga", + "Village_Street": "Magoto", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.7, + -1.45 + ] + }, + "properties": { + "Facility Name": "Masanga", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Gorong'a", + "Village_Street": "Masanga", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.29, + -1.38 + ] + }, + "properties": { + "Facility Name": "Mtana", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Manga", + "Village_Street": "Mtana", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.64, + -1.4 + ] + }, + "properties": { + "Facility Name": "Muriba", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Muriba", + "Village_Street": "Muriba", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.6, + -1.35 + ] + }, + "properties": { + "Facility Name": "Ntagacha", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Genyange", + "Village_Street": "Ntagacha", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.55, + -1.49 + ] + }, + "properties": { + "Facility Name": "Nyamongo", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Kemambo", + "Village_Street": "Kewanja", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.58, + -1.39 + ] + }, + "properties": { + "Facility Name": "Nyamwaga", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Nyamwaga", + "Village_Street": "Nyamwaga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.52, + -1.47 + ] + }, + "properties": { + "Facility Name": "Nyangoto", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Matongo", + "Village_Street": "Nyangoto", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.64, + -1.36 + ] + }, + "properties": { + "Facility Name": "Nyantira", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Nyansincha", + "Village_Street": "Nyantira", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.54, + -1.39 + ] + }, + "properties": { + "Facility Name": "Nyarero", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Nyarero", + "Village_Street": "Soroneta", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.44, + -1.42 + ] + }, + "properties": { + "Facility Name": "Nyarwana", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Kibasuka", + "Village_Street": "Nyarwana", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.47, + -1.32 + ] + }, + "properties": { + "Facility Name": "Nyasaricho", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Binagi", + "Village_Street": "Nyasaricho", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.48, + -1.38 + ] + }, + "properties": { + "Facility Name": "Rozana", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Nyarero", + "Village_Street": "Rosana", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.48, + -1.25 + ] + }, + "properties": { + "Facility Name": "Sirari", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Sirari", + "Village_Street": "Sokoni", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.23, + -1.45 + ] + }, + "properties": { + "Facility Name": "Surubu", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Komaswa", + "Village_Street": "Surubu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.34, + -1.36 + ] + }, + "properties": { + "Facility Name": "BikiraMariaMiujiza", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "Nyandoto", + "Village_Street": "Kemange", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.34, + -1.35 + ] + }, + "properties": { + "Facility Name": "Gamasara", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "Nyandoto", + "Village_Street": "Gamasara", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.41, + -1.38 + ] + }, + "properties": { + "Facility Name": "Kenyamanyori", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "Kenyamanyori", + "Village_Street": "Chira", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.42, + -1.37 + ] + }, + "properties": { + "Facility Name": "Kibumaye", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "Ketare", + "Village_Street": "Kibumaye", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.41, + -1.31 + ] + }, + "properties": { + "Facility Name": "Magena", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "Nkende", + "Village_Street": "Magena", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.38, + -1.34 + ] + }, + "properties": { + "Facility Name": "Makonzo", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "Sabasaba", + "Village_Street": "Iganana", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.37, + -1.35 + ] + }, + "properties": { + "Facility Name": "Prison", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "Bomani", + "Village_Street": "Buhemba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Prisons", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.37, + -1.34 + ] + }, + "properties": { + "Facility Name": "Ronsoti", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "Nyamisangura", + "Village_Street": "Ronsoti", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.37, + -1.34 + ] + }, + "properties": { + "Facility Name": "Sachita", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "Sabasaba", + "Village_Street": "Sabasaba", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - NGOs", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.37, + -1.34 + ] + }, + "properties": { + "Facility Name": "SDA Tarime", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "", + "Village_Street": "", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.37, + -1.35 + ] + }, + "properties": { + "Facility Name": "Tarime", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "Bomani", + "Village_Street": "Buhemba", + "Facility Type": "Hospital", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.38, + -1.34 + ] + }, + "properties": { + "Facility Name": "Tarime Good Will Dispensary", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "Bomani", + "Village_Street": "Anglican", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - NGOs", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.38, + -1.35 + ] + }, + "properties": { + "Facility Name": "Tarime Goodwil", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "Turwa", + "Village_Street": "Rebu", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - NGOs", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 33.72, + -1.65 + ] + }, + "properties": { + "Facility Name": "Kiemba", + "Region": "Mara", + "Council": "Musoma DC", + "Ward": "Ifulifu", + "Village_Street": "Kiemba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.39, + -1.87 + ] + }, + "properties": { + "Facility Name": "Monuna", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Nyambureti", + "Village_Street": "Monuna", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.78, + -1.76 + ] + }, + "properties": { + "Facility Name": "Tamkeri", + "Region": "Mara", + "Council": "Serengeti DC", + "Ward": "Mbalibali", + "Village_Street": "Tamkeri", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.41, + -1.23 + ] + }, + "properties": { + "Facility Name": "Kubiterere", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Mwema", + "Village_Street": "Kubiterere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.48, + -1.47 + ] + }, + "properties": { + "Facility Name": "Matongo", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Matongo", + "Village_Street": "Matongo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.46, + -1.26 + ] + }, + "properties": { + "Facility Name": "Wills Memorial", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Sirari", + "Village_Street": "Buliba", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.35, + -1.44 + ] + }, + "properties": { + "Facility Name": "Nkerege", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Kiore", + "Village_Street": "Nkerege", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.52, + -1.28 + ] + }, + "properties": { + "Facility Name": "Nyabisaga", + "Region": "Mara", + "Council": "Tarime DC", + "Ward": "Pemba", + "Village_Street": "Nyabisaga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.44, + -1.35 + ] + }, + "properties": { + "Facility Name": "Nkongore", + "Region": "Mara", + "Council": "Tarime TC", + "Ward": "Ketare", + "Village_Street": "Kwigoronto", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.34, + -2.63 + ] + }, + "properties": { + "Facility Name": "Biharamulo CDH", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Biharamulo Mjini", + "Village_Street": "Biharamulo Mjini", + "Facility Type": "Hospital - Designated District Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.52, + -2 + ] + }, + "properties": { + "Facility Name": "Bisheke", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Bisheke", + "Village_Street": "Kiyebe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.12, + -1.68 + ] + }, + "properties": { + "Facility Name": "Bisheshe", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Nyakahanga", + "Village_Street": "Bisheshe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.23, + -1.16 + ] + }, + "properties": { + "Facility Name": "Bubale", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kakunyu", + "Village_Street": "Bubale", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.57, + -1.32 + ] + }, + "properties": { + "Facility Name": "Buchurago", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Bugorora", + "Village_Street": "Buchurago", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.66, + -1.26 + ] + }, + "properties": { + "Facility Name": "Bugandika", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Bugandika", + "Village_Street": "Igurugati", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.01, + -1 + ] + }, + "properties": { + "Facility Name": "Bugango", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kakunyu", + "Village_Street": "Bugango", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.57, + -1.69 + ] + }, + "properties": { + "Facility Name": "Buganguzi", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Buganguzi", + "Village_Street": "Katare", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.99, + -1.18 + ] + }, + "properties": { + "Facility Name": "Bugara", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Businde", + "Village_Street": "Bugara", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.65, + -2.51 + ] + }, + "properties": { + "Facility Name": "Amen", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Ngara Mjini", + "Village_Street": "Mubinyange", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.51, + -1.21 + ] + }, + "properties": { + "Facility Name": "Bugorora", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Bugorora", + "Village_Street": "Bugorora", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.25, + -1.56 + ] + }, + "properties": { + "Facility Name": "Buhamira", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Rugera", + "Village_Street": "Rugera", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.81, + -1.29 + ] + }, + "properties": { + "Facility Name": "Buhembe", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Buhembe", + "Village_Street": "Ntungamo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.53, + -2.87 + ] + }, + "properties": { + "Facility Name": "Bugarama", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Bugarama", + "Village_Street": "Bugarama", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.72, + -1.4 + ] + }, + "properties": { + "Facility Name": "Bujugo", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Bujugo", + "Village_Street": "Buganguzi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.17, + -1.59 + ] + }, + "properties": { + "Facility Name": "Bujuruga", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Bugene", + "Village_Street": "Bujuruga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.02, + -1.72 + ] + }, + "properties": { + "Facility Name": "Bukangara", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Nyabiyonza", + "Village_Street": "Bukangara", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.62, + -2.54 + ] + }, + "properties": { + "Facility Name": "Buhororo", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kibimba", + "Village_Street": "Buhororo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.81, + -1.33 + ] + }, + "properties": { + "Facility Name": "Bukoba Regional Refferal", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Bilele", + "Village_Street": "Uhuru", + "Facility Type": "Hospital - Regional Referral Hospital", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.81, + -1.33 + ] + }, + "properties": { + "Facility Name": "Bukoba Town health center", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Miembeni", + "Village_Street": "Jamhuri", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.75, + -1.01 + ] + }, + "properties": { + "Facility Name": "Bukwali", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kashenye", + "Village_Street": "Bukwali", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.52, + -1.3 + ] + }, + "properties": { + "Facility Name": "Bulembo", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Mshasha", + "Village_Street": "Bulembo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.74, + -1.48 + ] + }, + "properties": { + "Facility Name": "Bulila", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kemondo", + "Village_Street": "Rwagati", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.77, + -1.43 + ] + }, + "properties": { + "Facility Name": "Bulinda", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kanyangereko", + "Village_Street": "Bulinda", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.88, + -1.68 + ] + }, + "properties": { + "Facility Name": "Bumbire", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Bumbire", + "Village_Street": "Mahaiga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.41, + -1.21 + ] + }, + "properties": { + "Facility Name": "Bunazi", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kassambya", + "Village_Street": "Bunazi", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.55, + -2.78 + ] + }, + "properties": { + "Facility Name": "Bukiriro", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Bukiriro", + "Village_Street": "Bukiriro", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.42, + -2.12 + ] + }, + "properties": { + "Facility Name": "Burigi", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Karambi", + "Village_Street": "Itunzi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.81, + -1.08 + ] + }, + "properties": { + "Facility Name": "Bushasha", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kishanje", + "Village_Street": "Bushasha", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.7, + -1.54 + ] + }, + "properties": { + "Facility Name": "Bushekya", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Muhutwe", + "Village_Street": "Kangantebe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.94, + -1.14 + ] + }, + "properties": { + "Facility Name": "Businde", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Businde", + "Village_Street": "Businde", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.65, + -1.35 + ] + }, + "properties": { + "Facility Name": "Butainamwa", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kasharu", + "Village_Street": "Butainamwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.5, + -1.49 + ] + }, + "properties": { + "Facility Name": "Buturage", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Izimbi", + "Village_Street": "Butulage", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.64, + -1.14 + ] + }, + "properties": { + "Facility Name": "Buyango", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Buyango", + "Village_Street": "Kakono", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.81, + -1.34 + ] + }, + "properties": { + "Facility Name": "Buyekera Policeline", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Bakoba", + "Village_Street": "Buyekera Asilia", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.81, + -1.16 + ] + }, + "properties": { + "Facility Name": "Buzi", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kaagya", + "Village_Street": "Buzi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.88, + -1.76 + ] + }, + "properties": { + "Facility Name": "Bweranyange", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Bweranyange", + "Village_Street": "Bweranyange", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.76, + -1.39 + ] + }, + "properties": { + "Facility Name": "Bwizanduru", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Maruku", + "Village_Street": "Bwizanduru", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.37, + -1.06 + ] + }, + "properties": { + "Facility Name": "Byeju", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Mutukula", + "Village_Street": "Byeju", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.86, + -1.78 + ] + }, + "properties": { + "Facility Name": "Chamchuzi", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Bweranyange", + "Village_Street": "Chamchuzi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.09, + -1.45 + ] + }, + "properties": { + "Facility Name": "Chanika", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Chanika", + "Village_Street": "Chanika", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.74, + -2.46 + ] + }, + "properties": { + "Facility Name": "Burengo", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Murukulazo", + "Village_Street": "Katenga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.05, + -1.56 + ] + }, + "properties": { + "Facility Name": "Chonyonyo", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Chonyonyo", + "Village_Street": "Chonyonyo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.82, + -1.33 + ] + }, + "properties": { + "Facility Name": "COSAD", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Kashai", + "Village_Street": "Matopeni", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - NGOs", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.6, + -2.5 + ] + }, + "properties": { + "Facility Name": "Chivu", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Ntobeye", + "Village_Street": "Chivu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.15, + -1.53 + ] + }, + "properties": { + "Facility Name": "Eden", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kayanga", + "Village_Street": "Kayanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.16, + -1.53 + ] + }, + "properties": { + "Facility Name": "Family", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kayanga", + "Village_Street": "Kayanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.75, + -1.25 + ] + }, + "properties": { + "Facility Name": "Gera", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Gera", + "Village_Street": "Kashambya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.81, + -1.33 + ] + }, + "properties": { + "Facility Name": "HinduUnion", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Miembeni", + "Village_Street": "Jamhuri", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.53, + -2.63 + ] + }, + "properties": { + "Facility Name": "Djuruligwa", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kabanga", + "Village_Street": "Djuruligwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.67, + -1.83 + ] + }, + "properties": { + "Facility Name": "Huruma", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Muleba", + "Village_Street": "Muleba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.94, + -1.26 + ] + }, + "properties": { + "Facility Name": "Ibamba", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kamuli", + "Village_Street": "Ibamba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.84, + -1.25 + ] + }, + "properties": { + "Facility Name": "Ibosa", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Nyakato", + "Village_Street": "Ibosa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.66, + -2.5 + ] + }, + "properties": { + "Facility Name": "Huduma", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Ngara Mjini", + "Village_Street": "Mubinyange", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.63, + -1.48 + ] + }, + "properties": { + "Facility Name": "Ibwera", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Ibwera", + "Village_Street": "Ibwera", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.4, + -1.14 + ] + }, + "properties": { + "Facility Name": "Igayaza", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Nsunga", + "Village_Street": "Igayaza", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.13, + -1.73 + ] + }, + "properties": { + "Facility Name": "Ihembe", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Ihembe", + "Village_Street": "Ihembe 1", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.81, + -1.3 + ] + }, + "properties": { + "Facility Name": "Ihungo Sec. school", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Buhembe", + "Village_Street": "Bulibata", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.39, + -1.37 + ] + }, + "properties": { + "Facility Name": "Ijuganyondo", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Ijuganyondo", + "Village_Street": "Ijuganyondo A", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.57, + -1.51 + ] + }, + "properties": { + "Facility Name": "Ikunyu", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Butelankuzi", + "Village_Street": "Mishenye", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.82, + -2.14 + ] + }, + "properties": { + "Facility Name": "Ikuza", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Ikuza", + "Village_Street": "Ikuza", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.63, + -1.93 + ] + }, + "properties": { + "Facility Name": "Ilemera", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Gwanseli", + "Village_Street": "Ilemela", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.62, + -1.95 + ] + }, + "properties": { + "Facility Name": "Ilemera ELCT", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Gwanseli", + "Village_Street": "Ilemela", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.77, + -1.16 + ] + }, + "properties": { + "Facility Name": "Ishozi", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Ishozi", + "Village_Street": "Luhano", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.69, + -1.27 + ] + }, + "properties": { + "Facility Name": "Isingiro", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Isingiro", + "Village_Street": "Karukwanzi 'A'", + "Facility Type": "Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.72, + -1.63 + ] + }, + "properties": { + "Facility Name": "Izigo", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Izigo", + "Village_Street": "Izigo", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.46, + -1.55 + ] + }, + "properties": { + "Facility Name": "Izimbya", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Izimbya", + "Village_Street": "Izimbya", + "Facility Type": "Hospital - Designated District Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.34, + -2.63 + ] + }, + "properties": { + "Facility Name": "JWTZ", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyarubungo", + "Village_Street": "Kalebezo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Military", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.48, + -2.67 + ] + }, + "properties": { + "Facility Name": "Ibuga", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kabanga", + "Village_Street": "Ibuga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.86, + -1.16 + ] + }, + "properties": { + "Facility Name": "Kaagya", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kaagya", + "Village_Street": "Mushozi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.75, + -1.33 + ] + }, + "properties": { + "Facility Name": "Kabale", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Karabagaine", + "Village_Street": "Kiziru", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.58, + -1.86 + ] + }, + "properties": { + "Facility Name": "Kabale\"B\"", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Biirabo", + "Village_Street": "Kabare", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.79, + -2.54 + ] + }, + "properties": { + "Facility Name": "K9.JWTZ", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Rusumo", + "Village_Street": "Kasharazi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Military", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.57, + -2.53 + ] + }, + "properties": { + "Facility Name": "Kabalenzi", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kanazi", + "Village_Street": "Kabalenzi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.55, + -1.84 + ] + }, + "properties": { + "Facility Name": "Kabare", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Biirabo", + "Village_Street": "Biirabo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.74, + -1.6 + ] + }, + "properties": { + "Facility Name": "Kaboya", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Mayondwe", + "Village_Street": "Mayondwe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Military", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.8, + -1.36 + ] + }, + "properties": { + "Facility Name": "Kagemu", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Kitendaguro", + "Village_Street": "Kagemu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.8, + -1.41 + ] + }, + "properties": { + "Facility Name": "Kagenyi", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kagenyi", + "Village_Street": "Kagenyi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.42, + -1.25 + ] + }, + "properties": { + "Facility Name": "Kagera Salient IN", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kyaka", + "Village_Street": "Kyaka", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.28, + -1.21 + ] + }, + "properties": { + "Facility Name": "Kagera Sugar", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Nsunga", + "Village_Street": "Ngando", + "Facility Type": "Hospital", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.7, + -1.77 + ] + }, + "properties": { + "Facility Name": "Kagoma", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kikuku", + "Village_Street": "Kagoma", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.7, + -1.55 + ] + }, + "properties": { + "Facility Name": "Kagondo", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Muhutwe", + "Village_Street": "Nyakashenye", + "Facility Type": "Hospital - Other Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.14, + -1.89 + ] + }, + "properties": { + "Facility Name": "Kahanga", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Nyakasimbi", + "Village_Street": "Kahanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.84, + -1.3 + ] + }, + "properties": { + "Facility Name": "Kahororo", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Kahororo", + "Village_Street": "Bunukangoma", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.57, + -1.42 + ] + }, + "properties": { + "Facility Name": "Kaibanja", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kaibanja", + "Village_Street": "Kaibanja", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.67, + -1.83 + ] + }, + "properties": { + "Facility Name": "Kaigara", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Muleba", + "Village_Street": "Tukutuku", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.69, + -1.26 + ] + }, + "properties": { + "Facility Name": "Kaisho", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kaisho", + "Village_Street": "Kaisho", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.48, + -1.24 + ] + }, + "properties": { + "Facility Name": "Kajunguti", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Mshasha", + "Village_Street": "Mshasha", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.91, + -1.42 + ] + }, + "properties": { + "Facility Name": "Kakanja", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kakanja", + "Village_Street": "Kakanja", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.49, + -1.17 + ] + }, + "properties": { + "Facility Name": "Kakindo", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kassambya", + "Village_Street": "Kakindo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.15, + -1.45 + ] + }, + "properties": { + "Facility Name": "Kakiro", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Chanika", + "Village_Street": "Runyaga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.94, + -1.03 + ] + }, + "properties": { + "Facility Name": "Kakunyu", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kakunyu", + "Village_Street": "Kakunyu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31, + -1.75 + ] + }, + "properties": { + "Facility Name": "Kakuraijo", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kibondo", + "Village_Street": "Kakuraijo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.83, + -1.21 + ] + }, + "properties": { + "Facility Name": "Kalema", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Buhendangabo", + "Village_Street": "Bushagara", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.07, + -3.15 + ] + }, + "properties": { + "Facility Name": "Kalenge", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Kalenge", + "Village_Street": "Kalenge", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.61, + -1.63 + ] + }, + "properties": { + "Facility Name": "Kamachumu", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Ibuga", + "Village_Street": "Kamachumu", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.94, + -1.61 + ] + }, + "properties": { + "Facility Name": "Kamagambo", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kamagambo", + "Village_Street": "Kamagambo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.85, + -1.29 + ] + }, + "properties": { + "Facility Name": "Kamuli", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kamuli", + "Village_Street": "Kamuli", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.46, + -2.65 + ] + }, + "properties": { + "Facility Name": "Kabanga Private", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kabanga", + "Village_Street": "Kabanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.74, + -1.46 + ] + }, + "properties": { + "Facility Name": "Kanazi", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kemondo", + "Village_Street": "Kanazi", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.42, + -3.29 + ] + }, + "properties": { + "Facility Name": "Kaniha", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Kaniha", + "Village_Street": "Kaniha", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.03, + -1.36 + ] + }, + "properties": { + "Facility Name": "Kanoni", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kanoni", + "Village_Street": "Kanoni", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.75, + -1.08 + ] + }, + "properties": { + "Facility Name": "Kanyigo", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kanyigo", + "Village_Street": "Bugombe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.58, + -2.56 + ] + }, + "properties": { + "Facility Name": "Kanazi", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kanazi", + "Village_Street": "Mukibogoye", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.5, + -2.11 + ] + }, + "properties": { + "Facility Name": "Karambi", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Karambi", + "Village_Street": "Karambi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.18, + -1.46 + ] + }, + "properties": { + "Facility Name": "Karaseco", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kihanga", + "Village_Street": "Kishojo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.81, + -1.33 + ] + }, + "properties": { + "Facility Name": "Karibu", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Hamugembe", + "Village_Street": "Kashabo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.91, + -1.55 + ] + }, + "properties": { + "Facility Name": "Karongo", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Rwabwere", + "Village_Street": "Karongo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.64, + -2.62 + ] + }, + "properties": { + "Facility Name": "Kanyinya", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Mbuba", + "Village_Street": "Kanyinya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.82, + -1.32 + ] + }, + "properties": { + "Facility Name": "Kashai", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Kashai", + "Village_Street": "Kashai Halisi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.7, + -1.21 + ] + }, + "properties": { + "Facility Name": "Kashanga", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Bwanjai", + "Village_Street": "Buhekera", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.54, + -2.44 + ] + }, + "properties": { + "Facility Name": "Kasange", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kirushya", + "Village_Street": "Kasange", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.64, + -1.23 + ] + }, + "properties": { + "Facility Name": "Kashasha", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kitobo", + "Village_Street": "Kashasha", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.76, + -1.01 + ] + }, + "properties": { + "Facility Name": "Kashenye", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kashenye", + "Village_Street": "Kashenye", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.81, + -1.23 + ] + }, + "properties": { + "Facility Name": "Kashozi", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Nyakato", + "Village_Street": "Kashozi", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.69, + -2.81 + ] + }, + "properties": { + "Facility Name": "Kasozibakaya", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyamigogo", + "Village_Street": "Kasozibakaya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.75, + -2.52 + ] + }, + "properties": { + "Facility Name": "Kasharazi", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Rusumo", + "Village_Street": "Kasharazi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.24, + -2.44 + ] + }, + "properties": { + "Facility Name": "Katahoka", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Katahoka", + "Village_Street": "Katahoka", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.84, + -1.09 + ] + }, + "properties": { + "Facility Name": "Katare", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Rubafu", + "Village_Street": "Katale", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.82, + -2.52 + ] + }, + "properties": { + "Facility Name": "Kasulo", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kasulo", + "Village_Street": "Kasulo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.21, + -2.34 + ] + }, + "properties": { + "Facility Name": "Katoke", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyarubungo", + "Village_Street": "Katoke", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.7, + -1.66 + ] + }, + "properties": { + "Facility Name": "Katoke", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Katoke", + "Village_Street": "Katoke", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Other MDAs", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.76, + -1.29 + ] + }, + "properties": { + "Facility Name": "Katoma", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Katoma", + "Village_Street": "Lukindo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.5, + -1.4 + ] + }, + "properties": { + "Facility Name": "Katoro", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Katoro", + "Village_Street": "Katoro", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.13, + -1.42 + ] + }, + "properties": { + "Facility Name": "Katwe", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kituntu", + "Village_Street": "Katwe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.15, + -1.53 + ] + }, + "properties": { + "Facility Name": "Kayanga", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kayanga", + "Village_Street": "Kayanga", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.16, + -1.53 + ] + }, + "properties": { + "Facility Name": "Kayanga Prison", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kayanga", + "Village_Street": "Kayanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.61, + -2.6 + ] + }, + "properties": { + "Facility Name": "Katerere", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kanazi", + "Village_Street": "Katerere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.11, + -1.47 + ] + }, + "properties": { + "Facility Name": "Kerebe", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kerebe", + "Village_Street": "Kerebe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.68, + -2.74 + ] + }, + "properties": { + "Facility Name": "Kazingati", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Keza", + "Village_Street": "Kazingati", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.57, + -1.89 + ] + }, + "properties": { + "Facility Name": "Kibanga", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kibanga", + "Village_Street": "Kibanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.81, + -1.07 + ] + }, + "properties": { + "Facility Name": "Kibare", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kibare", + "Village_Street": "Kibare", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.95, + -1.33 + ] + }, + "properties": { + "Facility Name": "Kibimba", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Mabira", + "Village_Street": "Kibimba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.66, + -1.16 + ] + }, + "properties": { + "Facility Name": "Kibingo", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kibingo", + "Village_Street": "Kibingo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.42, + -1.61 + ] + }, + "properties": { + "Facility Name": "Kibirizi", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kibirizi", + "Village_Street": "Kibirizi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.18, + -1.71 + ] + }, + "properties": { + "Facility Name": "Kibogoizi", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Ihembe", + "Village_Street": "Kibogoizi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.12, + -1.32 + ] + }, + "properties": { + "Facility Name": "Kibwera", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kihanga", + "Village_Street": "Kibwera", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.76, + -1.04 + ] + }, + "properties": { + "Facility Name": "Kigarama", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kanyigo", + "Village_Street": "Kigarama", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.02, + -1.29 + ] + }, + "properties": { + "Facility Name": "Kigarama", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Igurwa", + "Village_Street": "Kigarama", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.83, + -1.12 + ] + }, + "properties": { + "Facility Name": "kigorogoro", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kibare", + "Village_Street": "Kigorogoro", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.61, + -1.2 + ] + }, + "properties": { + "Facility Name": "Kihinda", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kibingo", + "Village_Street": "Kihinda", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.72, + -2.79 + ] + }, + "properties": { + "Facility Name": "Keza", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Keza", + "Village_Street": "Keza", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.39, + -1.5 + ] + }, + "properties": { + "Facility Name": "Kihumulo", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Ruhunga", + "Village_Street": "Kihumulo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.54, + -1.67 + ] + }, + "properties": { + "Facility Name": "Kihwera", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kabirizi", + "Village_Street": "Kihwera", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.91, + -1.72 + ] + }, + "properties": { + "Facility Name": "Kijumbura", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Bweranyange", + "Village_Street": "Kijumbura", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.41, + -2.87 + ] + }, + "properties": { + "Facility Name": "Kikomakoma", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Kabindi", + "Village_Street": "Kikomakoma", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.53, + -1.64 + ] + }, + "properties": { + "Facility Name": "Kikomelo", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kikomero", + "Village_Street": "Kikomero", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.93, + -1.35 + ] + }, + "properties": { + "Facility Name": "Kikukuru", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kikukuru", + "Village_Street": "Kikukuru", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.73, + -1.11 + ] + }, + "properties": { + "Facility Name": "Kikukwe", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kanyigo", + "Village_Street": "Kigarama", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.42, + -1.33 + ] + }, + "properties": { + "Facility Name": "Kilimilile", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kilimilile", + "Village_Street": "Kilimilile", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.52, + -2.06 + ] + }, + "properties": { + "Facility Name": "Kimeya", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kasharunga", + "Village_Street": "Nkomero", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.94, + -1.41 + ] + }, + "properties": { + "Facility Name": "Kimuli", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kimuli", + "Village_Street": "Kimuli", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.66, + -2.17 + ] + }, + "properties": { + "Facility Name": "Kimwani", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kimwani", + "Village_Street": "Kiziramuyaga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.95, + -1.65 + ] + }, + "properties": { + "Facility Name": "Kiruruma", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kiruruma", + "Village_Street": "Kiruruma", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.51, + -2.8 + ] + }, + "properties": { + "Facility Name": "Kihinga", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kibogora", + "Village_Street": "Kihinga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.56, + -1.73 + ] + }, + "properties": { + "Facility Name": "Kishanda", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kishanda", + "Village_Street": "Kishanda", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.84, + -1.11 + ] + }, + "properties": { + "Facility Name": "Kishanje", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kishanje", + "Village_Street": "Kishanje", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.64, + -1.39 + ] + }, + "properties": { + "Facility Name": "Kishogo", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kishogo", + "Village_Street": "Kishogo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.17, + -1.44 + ] + }, + "properties": { + "Facility Name": "Kishoju", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kihanga", + "Village_Street": "Kishoju", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.44, + -1.84 + ] + }, + "properties": { + "Facility Name": "Kishuro", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Ngenge", + "Village_Street": "Kishuro", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.32, + -1.25 + ] + }, + "properties": { + "Facility Name": "KitengulePrison", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kihanga", + "Village_Street": "Kihanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Prisons", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.63, + -1.22 + ] + }, + "properties": { + "Facility Name": "Kitobo", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kitobo", + "Village_Street": "Kitobo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.87, + -1.62 + ] + }, + "properties": { + "Facility Name": "Kitua", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Bumbire", + "Village_Street": "Kitua", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.84, + -1.46 + ] + }, + "properties": { + "Facility Name": "Kitwechenkura", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kitwechenkula", + "Village_Street": "Kitwechenkula", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.8, + -1.33 + ] + }, + "properties": { + "Facility Name": "KJ21AAC", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Rwamishenye", + "Village_Street": "Chemba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Military", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.55, + -2.46 + ] + }, + "properties": { + "Facility Name": "Kirushya", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kirushya", + "Village_Street": "Kirushya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.66, + -2.53 + ] + }, + "properties": { + "Facility Name": "Kumtana", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kibimba", + "Village_Street": "Kumtana", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.96, + -2.84 + ] + }, + "properties": { + "Facility Name": "Kumubuga", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Nyamagoma", + "Village_Street": "Kumubuga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.42, + -1.25 + ] + }, + "properties": { + "Facility Name": "Kyaka", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kyaka", + "Village_Street": "Kyaka", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.85, + -1.05 + ] + }, + "properties": { + "Facility Name": "Kyamalange", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Rubafu", + "Village_Street": "Kyamarange", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.4, + -1.41 + ] + }, + "properties": { + "Facility Name": "Kyamulaile", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kyamulaile", + "Village_Street": "Kyamulaile", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.57, + -2.09 + ] + }, + "properties": { + "Facility Name": "Kyamyorwa", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kasharunga", + "Village_Street": "Kyamyorwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.5, + -2.18 + ] + }, + "properties": { + "Facility Name": "Kyebitembe", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kyebitembe", + "Village_Street": "Kagasha", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.78, + -1.14 + ] + }, + "properties": { + "Facility Name": "Kyelima", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Ishunju", + "Village_Street": "Kyelima", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.79, + -1.37 + ] + }, + "properties": { + "Facility Name": "Kyerwa", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kyerwa", + "Village_Street": "Nyaruzumbura", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.67, + -2.09 + ] + }, + "properties": { + "Facility Name": "Kyota", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kimwani", + "Village_Street": "Kyota", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.66, + -2.65 + ] + }, + "properties": { + "Facility Name": "Kumugamba", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Nyakisasa", + "Village_Street": "Kumugamba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.85, + -2.5 + ] + }, + "properties": { + "Facility Name": "Lourdes", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kasulo", + "Village_Street": "Rwakalemela", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.2, + -2.9 + ] + }, + "properties": { + "Facility Name": "Lusahunga", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Lusahunga", + "Village_Street": "Lusahunga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.83, + -2.57 + ] + }, + "properties": { + "Facility Name": "Lukole", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kasulo", + "Village_Street": "Nyakaliba", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.95, + -1.24 + ] + }, + "properties": { + "Facility Name": "Mabira", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Mabira", + "Village_Street": "Mabira", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.49, + -1.1 + ] + }, + "properties": { + "Facility Name": "Madalena", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Karambi", + "Village_Street": "Karambi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.5, + -2.58 + ] + }, + "properties": { + "Facility Name": "Mabawe", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Mabawe", + "Village_Street": "Murugina", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.82, + -1.34 + ] + }, + "properties": { + "Facility Name": "Magereza", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Miembeni", + "Village_Street": "Pwani", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.65, + -1.86 + ] + }, + "properties": { + "Facility Name": "Magereza", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Muleba", + "Village_Street": "Tukutuku", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.3, + -2.63 + ] + }, + "properties": { + "Facility Name": "MAGEREZA DISPENSARY", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Biharamulo Mjini", + "Village_Street": "Biharamulo Mjini", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Prisons", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.77, + -2.98 + ] + }, + "properties": { + "Facility Name": "Magamba", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Murusagamba", + "Village_Street": "Magamba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.79, + -1.41 + ] + }, + "properties": { + "Facility Name": "Maruku", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Maruku", + "Village_Street": "Maruku", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.39, + -1.44 + ] + }, + "properties": { + "Facility Name": "Mashule", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kyamulaile", + "Village_Street": "Mashule", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.49, + -3.24 + ] + }, + "properties": { + "Facility Name": "Mavota", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Kaniha", + "Village_Street": "Mavota", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.66, + -2.51 + ] + }, + "properties": { + "Facility Name": "Magereza Ngara", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Ngara Mjini", + "Village_Street": "Mubinyange", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Prisons", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.78, + -2.01 + ] + }, + "properties": { + "Facility Name": "Mazinga", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Mazinga ", + "Village_Street": "Mazinga Kisiwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.45, + -2.89 + ] + }, + "properties": { + "Facility Name": "Mbindi", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyabusozi", + "Village_Street": "Mbindi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.63, + -2.55 + ] + }, + "properties": { + "Facility Name": "Mayenzi", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kibimba", + "Village_Street": "Mayenzi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.65, + -1.84 + ] + }, + "properties": { + "Facility Name": "Menonite", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Muleba", + "Village_Street": "Muleba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.59, + -1.54 + ] + }, + "properties": { + "Facility Name": "Mikoni", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Mikoni", + "Village_Street": "Rutete", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.54, + -1.04 + ] + }, + "properties": { + "Facility Name": "Minziro", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Minziro", + "Village_Street": "Minziro", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.51, + -3.26 + ] + }, + "properties": { + "Facility Name": "Mkunkwa", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Kaniha", + "Village_Street": "Mkunkwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.6, + -2.66 + ] + }, + "properties": { + "Facility Name": "Mbuba", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Mbuba", + "Village_Street": "Mbuba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.52, + -1.86 + ] + }, + "properties": { + "Facility Name": "Mubunda", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Mubunda", + "Village_Street": "Kyaibumba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.7, + -1.21 + ] + }, + "properties": { + "Facility Name": "Mugana", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Bwanjai", + "Village_Street": "Bwanjai", + "Facility Type": "Hospital - Designated District Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.81, + -2.42 + ] + }, + "properties": { + "Facility Name": "Mshikamano", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Rusumo", + "Village_Street": "Rusumo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.83, + -1.29 + ] + }, + "properties": { + "Facility Name": "Mugeza Mseto", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Kahororo", + "Village_Street": "Bunukangoma", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.64, + -2.91 + ] + }, + "properties": { + "Facility Name": "Muganza", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Muganza", + "Village_Street": "Muganza", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.55, + -2.6 + ] + }, + "properties": { + "Facility Name": "Mukarehe", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kanazi", + "Village_Street": "Mukarehe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.54, + -2.47 + ] + }, + "properties": { + "Facility Name": "Mukatabo", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kirushya", + "Village_Street": "Mwivuza", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.5, + -2.51 + ] + }, + "properties": { + "Facility Name": "Mukikomero", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Mugoma", + "Village_Street": "Mukikomero", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.69, + -2.85 + ] + }, + "properties": { + "Facility Name": "Mukubu", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Muganza", + "Village_Street": "Mukubu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.5, + -2.89 + ] + }, + "properties": { + "Facility Name": "Mumilamila", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Bugarama", + "Village_Street": "Mumilamila", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.54, + -2.75 + ] + }, + "properties": { + "Facility Name": "Mumuhamba", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Bukiriro", + "Village_Street": "Mumuhamba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.64, + -2.7 + ] + }, + "properties": { + "Facility Name": "Munjebwe", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Rulenge", + "Village_Street": "Munjebwe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.67, + -1.06 + ] + }, + "properties": { + "Facility Name": "Murongo", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Murongo", + "Village_Street": "Murongo", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.81, + -2.85 + ] + }, + "properties": { + "Facility Name": "Murubanga", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Nyamagoma", + "Village_Street": "Murubanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.81, + -2.85 + ] + }, + "properties": { + "Facility Name": "Murugwanza", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Ngara Mjini", + "Village_Street": "Murugwanza", + "Facility Type": "Hospital - Designated District Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.84, + -2.96 + ] + }, + "properties": { + "Facility Name": "Murusagamba", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Murusagamba", + "Village_Street": "Murusagamba", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.41, + -1 + ] + }, + "properties": { + "Facility Name": "Mutukula", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Mutukula", + "Village_Street": "Mutukula", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.69, + -1.75 + ] + }, + "properties": { + "Facility Name": "Muyenje", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kagoma", + "Village_Street": "Muyenje", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.51, + -2.56 + ] + }, + "properties": { + "Facility Name": "Muruvyagira", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Mugoma", + "Village_Street": "Muruvyagira", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.61, + -1.48 + ] + }, + "properties": { + "Facility Name": "Mwemage", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Ibwera", + "Village_Street": "Kibona", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.4, + -1.32 + ] + }, + "properties": { + "Facility Name": "Mwemage", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Kilimilile", + "Village_Street": "Mwemage", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.65, + -1.6 + ] + }, + "properties": { + "Facility Name": "Ndolage", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kamachumu", + "Village_Street": "Bushagara", + "Facility Type": "Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.01, + -2.78 + ] + }, + "properties": { + "Facility Name": "Ngararambe", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyakahura", + "Village_Street": "Ngararambe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.89, + -1.48 + ] + }, + "properties": { + "Facility Name": "Nkwenda", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Nkwenda", + "Village_Street": "Nkwenda", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.55, + -1.8 + ] + }, + "properties": { + "Facility Name": "Nshamba", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Nshamba", + "Village_Street": "Nshamba", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.8, + -1.31 + ] + }, + "properties": { + "Facility Name": "Nshambya", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Nshambya", + "Village_Street": "Bushaga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.8, + -1.32 + ] + }, + "properties": { + "Facility Name": "Nshambya FFU Disp.", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Nshambya", + "Village_Street": "Bushaga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.47, + -1.68 + ] + }, + "properties": { + "Facility Name": "Nsheshe", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Rukoma", + "Village_Street": "Nsheshe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.59, + -2.75 + ] + }, + "properties": { + "Facility Name": "Muyenzi", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Rulenge", + "Village_Street": "Muyenzi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.89, + -2.88 + ] + }, + "properties": { + "Facility Name": "Ntanga", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Murusagamba", + "Village_Street": "Ntanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.71, + -2.49 + ] + }, + "properties": { + "Facility Name": "Nterungwe", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Nyamiyaga", + "Village_Street": "Nterungwe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.78, + -1.45 + ] + }, + "properties": { + "Facility Name": "Ntoma", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kanyangereko", + "Village_Street": "Butahyaibega", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.98, + -1.71 + ] + }, + "properties": { + "Facility Name": "Nyabiyonza", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Nyabiyonza", + "Village_Street": "Ahakishaka", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.94, + -2.63 + ] + }, + "properties": { + "Facility Name": "Nyabugombe", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyakahura", + "Village_Street": "Nyabugombe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.46, + -2.84 + ] + }, + "properties": { + "Facility Name": "Nyabusozi", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyabusozi", + "Village_Street": "Nyabusozi", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.13, + -1.77 + ] + }, + "properties": { + "Facility Name": "Nyaishozi", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Nyaishozi", + "Village_Street": "Nyaishozi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.98, + -1.79 + ] + }, + "properties": { + "Facility Name": "Nyakabanga", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Nyakabanga", + "Village_Street": "Chabuhora", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.54, + -1.57 + ] + }, + "properties": { + "Facility Name": "Nyakabanga", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Butelankuzi", + "Village_Street": "Nyakabanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.65, + -2.3 + ] + }, + "properties": { + "Facility Name": "Nyakabango", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Nyakabango", + "Village_Street": "Nyakabango", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.98, + -1.68 + ] + }, + "properties": { + "Facility Name": "Nyakagoyagoye", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kiruruma", + "Village_Street": "Nyakagoyagoye", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.14, + -1.6 + ] + }, + "properties": { + "Facility Name": "Nyakahanga", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Nyakahanga", + "Village_Street": "Nyakahanga", + "Facility Type": "Hospital - Designated District Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.97, + -2.82 + ] + }, + "properties": { + "Facility Name": "Nyakahura", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyakahura", + "Village_Street": "Nyakahura", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.96, + -1.73 + ] + }, + "properties": { + "Facility Name": "Nyakaiga", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kibondo", + "Village_Street": "Nyakaiga", + "Facility Type": "Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.14, + -3.11 + ] + }, + "properties": { + "Facility Name": "Nyakanazi", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Lusahunga", + "Village_Street": "Nyakanazi", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.13, + -1.84 + ] + }, + "properties": { + "Facility Name": "Nyakasimbi", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Nyakasimbi", + "Village_Street": "Nyakasimbi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.75, + -1.08 + ] + }, + "properties": { + "Facility Name": "Nyakatera", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Nyamiyaga", + "Village_Street": "Nyakatera", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.83, + -1.31 + ] + }, + "properties": { + "Facility Name": "Nyakatuntu", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Nyakatuntu", + "Village_Street": "Nyakatuntu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.61, + -1.44 + ] + }, + "properties": { + "Facility Name": "Nyakibimbili", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Nyakibimbili", + "Village_Street": "Nyakibimbili", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.64, + -2.45 + ] + }, + "properties": { + "Facility Name": "Ntobeye", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Ntobeye", + "Village_Street": "Ntobeye", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.69, + -2.7 + ] + }, + "properties": { + "Facility Name": "Nyakisasa", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Nyakisasa", + "Village_Street": "Kashinga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.33, + -2.7 + ] + }, + "properties": { + "Facility Name": "Nyamahanga", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyamahanga", + "Village_Street": "Nyamahanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.71, + -2.62 + ] + }, + "properties": { + "Facility Name": "Nyamahwa", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Nyakisasa", + "Village_Street": "Nyamahwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.25, + -2.86 + ] + }, + "properties": { + "Facility Name": "Nyambale", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Lusahunga", + "Village_Street": "Nyambale", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.67, + -2.5 + ] + }, + "properties": { + "Facility Name": "Nyamiyaga", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Ngara Mjini", + "Village_Street": "Mubinyange", + "Facility Type": "Hospital - District Hospital", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.65, + -2.79 + ] + }, + "properties": { + "Facility Name": "Nyamigogo", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyamigogo", + "Village_Street": "Nyamigogo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.5, + -2.16 + ] + }, + "properties": { + "Facility Name": "Nyamiranda", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kyebitembe", + "Village_Street": "Nyamilanda", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.73, + -1.06 + ] + }, + "properties": { + "Facility Name": "Nyamiyaga", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Nyamiyaga", + "Village_Street": "Bugomora", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.37, + -1.39 + ] + }, + "properties": { + "Facility Name": "Nyankere", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Mabale", + "Village_Street": "Nyankere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.36, + -3.19 + ] + }, + "properties": { + "Facility Name": "Nyantakara", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyantakara", + "Village_Street": "Nyantakara", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.38, + -1.6 + ] + }, + "properties": { + "Facility Name": "Ombweya", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kibirizi", + "Village_Street": "Omubweya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.04, + -1.81 + ] + }, + "properties": { + "Facility Name": "Omukaliro", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Nyakasimbi", + "Village_Street": "Nyakasimbi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - NGOs", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.5, + -1.72 + ] + }, + "properties": { + "Facility Name": "Omurunazi", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Mushabago", + "Village_Street": "Omurunazi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.09, + -1.63 + ] + }, + "properties": { + "Facility Name": "Omurusimbi", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Nyakahanga", + "Village_Street": "Omurusimbi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.52, + -1.6 + ] + }, + "properties": { + "Facility Name": "Rubale", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Rubale", + "Village_Street": "Rubale", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.62, + -1.75 + ] + }, + "properties": { + "Facility Name": "Rubya", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Kashasha", + "Village_Street": "Rubya", + "Facility Type": "Hospital - Designated District Hospital", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.8, + -1.35 + ] + }, + "properties": { + "Facility Name": "Rugambwa", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Kitendaguro", + "Village_Street": "Kalelabana", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.59, + -1.59 + ] + }, + "properties": { + "Facility Name": "Rugando", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Bulyakashaju", + "Village_Street": "Rugando", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.48, + -2.83 + ] + }, + "properties": { + "Facility Name": "Nyarulama", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kibogora", + "Village_Street": "Nyarulama", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.14, + -3.11 + ] + }, + "properties": { + "Facility Name": "Ruganzu", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyanza", + "Village_Street": "Ruganzu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.67, + -1.11 + ] + }, + "properties": { + "Facility Name": "Rugasha", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kibingo", + "Village_Street": "Rugasha", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.43, + -1.58 + ] + }, + "properties": { + "Facility Name": "Rugaze", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kyaitoke", + "Village_Street": "Rugaze", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.16, + -1.83 + ] + }, + "properties": { + "Facility Name": "Rugu", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Rugu", + "Village_Street": "Rugu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.66, + -1.59 + ] + }, + "properties": { + "Facility Name": "Ruhanga", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Ruhanga", + "Village_Street": "Ruhanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.18, + -1.84 + ] + }, + "properties": { + "Facility Name": "Ruhita", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Rugu", + "Village_Street": "Ruhita", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.44, + -1.48 + ] + }, + "properties": { + "Facility Name": "Ruhunga", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Ruhunga", + "Village_Street": "Ruhunga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.31, + -2.65 + ] + }, + "properties": { + "Facility Name": "Rukaragata", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Biharamulo Mjini", + "Village_Street": "Rukaragata", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.42, + -1 + ] + }, + "properties": { + "Facility Name": "Rukuba", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Mutukula", + "Village_Street": "Mtukula", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.86, + -1.44 + ] + }, + "properties": { + "Facility Name": "Rukuraijo", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Rukuraijo", + "Village_Street": "Rukuraijo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.69, + -2.55 + ] + }, + "properties": { + "Facility Name": "Ruganzo", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kibimba", + "Village_Street": "Ruganzo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.43, + -2.8 + ] + }, + "properties": { + "Facility Name": "Runazi", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Runazi", + "Village_Street": "Runazi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.49, + -1.78 + ] + }, + "properties": { + "Facility Name": "Rushwa", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Mushabago", + "Village_Street": "Rushwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.63, + -2.72 + ] + }, + "properties": { + "Facility Name": "Rulenge", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Rulenge", + "Village_Street": "Rulenge", + "Facility Type": "Hospital", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.77, + -2.4 + ] + }, + "properties": { + "Facility Name": "Rusumo", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Murukulazo", + "Village_Street": "Nyakiziba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.67, + -1.08 + ] + }, + "properties": { + "Facility Name": "Ruzinga", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Ruzinga", + "Village_Street": "Ruzinga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.91, + -1.51 + ] + }, + "properties": { + "Facility Name": "Rwabwere", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Rwabwere", + "Village_Street": "Rwabwere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.12, + -1.35 + ] + }, + "properties": { + "Facility Name": "Rwambaizi", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kanoni", + "Village_Street": "Rwambaizi", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.8, + -1.32 + ] + }, + "properties": { + "Facility Name": "Rwamishenye", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Rwamishenye", + "Village_Street": "Rwamishenye", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.74, + -1.35 + ] + }, + "properties": { + "Facility Name": "Rwamulumba", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Karabagaine", + "Village_Street": "Kangabusharo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Prisons", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.55, + -1.78 + ] + }, + "properties": { + "Facility Name": "Rwantege", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Nshamba", + "Village_Street": "Rutenge", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.9, + -1.38 + ] + }, + "properties": { + "Facility Name": "Rwere", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kikukuru", + "Village_Street": "Rwere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.64, + -1.2 + ] + }, + "properties": { + "Facility Name": "Rwenkende", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Kibingo", + "Village_Street": "Rwenkende", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.45, + -1.78 + ] + }, + "properties": { + "Facility Name": "Rwigembe", + "Region": "Kagera", + "Council": "Muleba DC", + "Ward": "Ngenge", + "Village_Street": "Ngenge", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.83, + -2.39 + ] + }, + "properties": { + "Facility Name": "Rusumo Prison", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Rusumo", + "Village_Street": "Rusumo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - Prisons", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.73, + -2.94 + ] + }, + "properties": { + "Facility Name": "Rwimbogo", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Muganza", + "Village_Street": "Mukalinzi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.88, + -1.55 + ] + }, + "properties": { + "Facility Name": "Songambele", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Songambele", + "Village_Street": "Songambele", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.96, + -1.73 + ] + }, + "properties": { + "Facility Name": "St. Longinus", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Kibondo", + "Village_Street": "Nyakaiga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.14, + -1.77 + ] + }, + "properties": { + "Facility Name": "St. Michael", + "Region": "Kagera", + "Council": "Karagwe DC", + "Ward": "Nyaishozi", + "Village_Street": "Nyaishozi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.36, + -2.67 + ] + }, + "properties": { + "Facility Name": "St. Otto", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyarubungo", + "Village_Street": "Katoke", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.81, + -1.33 + ] + }, + "properties": { + "Facility Name": "St. Therese", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Bilele", + "Village_Street": "Zamzam", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.69, + -1.27 + ] + }, + "properties": { + "Facility Name": "St. Thomas", + "Region": "Kagera", + "Council": "Kyerwa DC", + "Ward": "Isingiro", + "Village_Street": "Karukwanzi 'A'", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.41, + -2.87 + ] + }, + "properties": { + "Facility Name": "St.Clara", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Nyabusozi", + "Village_Street": "Mwanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.54, + -3.21 + ] + }, + "properties": { + "Facility Name": "Stamigold Biharamulo Mine Clinic", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Kaniha", + "Village_Street": "Mavota", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.22, + -3.04 + ] + }, + "properties": { + "Facility Name": "Tumaini", + "Region": "Kagera", + "Council": "Biharamulo DC", + "Ward": "Lusahunga", + "Village_Street": "Nyakanazi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.54, + -2.54 + ] + }, + "properties": { + "Facility Name": "Shanga", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Mugoma", + "Village_Street": "Shanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.76, + -1.18 + ] + }, + "properties": { + "Facility Name": "Tweyambe", + "Region": "Kagera", + "Council": "Missenyi DC", + "Ward": "Ishozi", + "Village_Street": "Nyarugongo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.8, + -1.35 + ] + }, + "properties": { + "Facility Name": "Ufufuo", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Kitendaguro", + "Village_Street": "Kanazi", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.75, + -1.48 + ] + }, + "properties": { + "Facility Name": "WAMATA", + "Region": "Kagera", + "Council": "Bukoba DC", + "Ward": "Kemondo", + "Village_Street": "Rwagati", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.81, + -1.33 + ] + }, + "properties": { + "Facility Name": "Zamzam", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Bilele", + "Village_Street": "Zamzam", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.82, + -1.34 + ] + }, + "properties": { + "Facility Name": "St. John", + "Region": "Kagera", + "Council": "Bukoba MC", + "Ward": "Bakoba", + "Village_Street": "Forodhani", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.63, + -2.72 + ] + }, + "properties": { + "Facility Name": "Tumaini", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Rulenge", + "Village_Street": "Rulenge", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 30.47, + -2.63 + ] + }, + "properties": { + "Facility Name": "Kabanga", + "Region": "Kagera", + "Council": "Ngara DC", + "Ward": "Kabanga", + "Village_Street": "Kabanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.73, + -2.37 + ] + }, + "properties": { + "Facility Name": "Bakwata Muganza", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Muganza", + "Village_Street": "Majengo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.92, + -3 + ] + }, + "properties": { + "Facility Name": "Bakwata Shamsiya", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Buseresere", + "Village_Street": "Buseresere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.95, + -3.6 + ] + }, + "properties": { + "Facility Name": "Bugando", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Iyogelo", + "Village_Street": "Bugando", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.01, + -3.65 + ] + }, + "properties": { + "Facility Name": "Bugelenga", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Bugelenga", + "Village_Street": "Bugelenga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.17, + -2.76 + ] + }, + "properties": { + "Facility Name": "Bugulula", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Bugulula", + "Village_Street": "Bugulula", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.29, + -3.66 + ] + }, + "properties": { + "Facility Name": "Bukandwe", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Bukandwe", + "Village_Street": "Maguta", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.33, + -3.2 + ] + }, + "properties": { + "Facility Name": "Bukoli", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Bukoli", + "Village_Street": "Bugogo", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.05, + -3.51 + ] + }, + "properties": { + "Facility Name": "Bukombe", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Bukombe", + "Village_Street": "Bukombe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.89, + -3.46 + ] + }, + "properties": { + "Facility Name": "Bukombe", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Katente", + "Village_Street": "Majengo", + "Facility Type": "Hospital", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.92, + -2.68 + ] + }, + "properties": { + "Facility Name": "Bukondo", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Bukondo", + "Village_Street": "Bukondo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.61, + -3.34 + ] + }, + "properties": { + "Facility Name": "Bukwimba", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Bukwimba", + "Village_Street": "Bukwimba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.78, + -3.3 + ] + }, + "properties": { + "Facility Name": "Bulega", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Bulega", + "Village_Street": "Bulega", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.49, + -2.9 + ] + }, + "properties": { + "Facility Name": "Bulela", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Bulela", + "Village_Street": "Bulela", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.21, + -3.45 + ] + }, + "properties": { + "Facility Name": "Bulugala", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Nyasato", + "Village_Street": "Bulugala", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.34, + -2.96 + ] + }, + "properties": { + "Facility Name": "Bunegezi", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Ihanamilo", + "Village_Street": "Bunegezi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.38, + -2.79 + ] + }, + "properties": { + "Facility Name": "Bung'wangoko", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Bung'wangoko", + "Village_Street": "Bung'wangoko", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.73, + -2.97 + ] + }, + "properties": { + "Facility Name": "Busaka", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Bwera", + "Village_Street": "Busaka", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.12, + -3.02 + ] + }, + "properties": { + "Facility Name": "Busanda", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Busanda", + "Village_Street": "Busanda", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.92, + -3.01 + ] + }, + "properties": { + "Facility Name": "Buseresere", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Buseresere", + "Village_Street": "Buseresere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.63, + -3 + ] + }, + "properties": { + "Facility Name": "Busolwa", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Busolwa", + "Village_Street": "Busolwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.75, + -2.48 + ] + }, + "properties": { + "Facility Name": "Butarama", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Kigongo", + "Village_Street": "Butarama", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.89, + -3.02 + ] + }, + "properties": { + "Facility Name": "Butengorumasa", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Butengorumasa", + "Village_Street": "Rumasa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.9, + -3.32 + ] + }, + "properties": { + "Facility Name": "Butinzya", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Butinzya", + "Village_Street": "Butinzya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.98, + -2.45 + ] + }, + "properties": { + "Facility Name": "Butwa", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Izumacheli", + "Village_Street": "Butwa Lulegeya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.22, + -2.99 + ] + }, + "properties": { + "Facility Name": "Buyagu", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nyakamwaga", + "Village_Street": "Buyagu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.66, + -2.98 + ] + }, + "properties": { + "Facility Name": "Buziku", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Buziku", + "Village_Street": "Buziku", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.78, + -2.78 + ] + }, + "properties": { + "Facility Name": "Buzirayombo", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Bukome", + "Village_Street": "Buzirayombo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.76, + -3.03 + ] + }, + "properties": { + "Facility Name": "Bwanga", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Bwanga", + "Village_Street": "Bwanga", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.17, + -3.38 + ] + }, + "properties": { + "Facility Name": "Bwelwa", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Mbogwe", + "Village_Street": "Bwelwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.77, + -2.64 + ] + }, + "properties": { + "Facility Name": "Chato", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Chato", + "Village_Street": "Kitela", + "Facility Type": "Hospital - District Hospital", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.01, + -2.96 + ] + }, + "properties": { + "Facility Name": "Chibingo", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nyamigota", + "Village_Street": "Chibingo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.93, + -2.81 + ] + }, + "properties": { + "Facility Name": "Chigunga", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Chigunga", + "Village_Street": "Chigunga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.92, + -2.77 + ] + }, + "properties": { + "Facility Name": "Chikobe", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nyachiluluma", + "Village_Street": "Chikobe", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.16, + -2.61 + ] + }, + "properties": { + "Facility Name": "Fulwe", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nzera", + "Village_Street": "Sungusira", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.23, + -2.87 + ] + }, + "properties": { + "Facility Name": "Geita Designated Refferal Hospital", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Kalangalala", + "Village_Street": "Nyanza", + "Facility Type": "Hospital - District Hospital", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.19, + -2.87 + ] + }, + "properties": { + "Facility Name": "Geita Gold Mine", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Mtakuja", + "Village_Street": "Nyamalembo", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.22, + -2.88 + ] + }, + "properties": { + "Facility Name": "Geita Prison", + "Region": "geita", + "Council": "Geita TC", + "Ward": "Kalangalala", + "Village_Street": "Sophia town", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Millitary", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.23, + -2.87 + ] + }, + "properties": { + "Facility Name": "Geita TCMC", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Kalangalala", + "Village_Street": "Nyanza", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.93, + -3 + ] + }, + "properties": { + "Facility Name": "Huruma", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Buseresere", + "Village_Street": "Buseresere", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.01, + -3.02 + ] + }, + "properties": { + "Facility Name": "Ibondo", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Ludete", + "Village_Street": "Ibondo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.14, + -3.37 + ] + }, + "properties": { + "Facility Name": "Iboya", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Mbogwe", + "Village_Street": "Iboya", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.56, + -2.61 + ] + }, + "properties": { + "Facility Name": "Ichwankima", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Ichwankima", + "Village_Street": "Ichwankima", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.64, + -2.95 + ] + }, + "properties": { + "Facility Name": "Ihanga", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Buziku", + "Village_Street": "Ihanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.33, + -3.21 + ] + }, + "properties": { + "Facility Name": "Ihega", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Bukoli", + "Village_Street": "Ihega", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.93, + -3.24 + ] + }, + "properties": { + "Facility Name": "Ikunguigazi", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Ikunguigazi", + "Village_Street": "Ikunguigazi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.59, + -3.38 + ] + }, + "properties": { + "Facility Name": "Ikuzi", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Runzewe Mashariki", + "Village_Street": "Ikuzi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.11, + -3.65 + ] + }, + "properties": { + "Facility Name": "Ilangale", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Masumbwe", + "Village_Street": "Ilangale", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.66, + -2.63 + ] + }, + "properties": { + "Facility Name": "ILemela", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Ilemela", + "Village_Street": "Ilemela", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.08, + -3.3 + ] + }, + "properties": { + "Facility Name": "Ilolangulu", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Ilolangulu", + "Village_Street": "Ilolangulu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.62, + -2.74 + ] + }, + "properties": { + "Facility Name": "Ilyamchele", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Ilyamchele", + "Village_Street": "Ilyamchele", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.1, + -3.71 + ] + }, + "properties": { + "Facility Name": "Iponya", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Iponya", + "Village_Street": "Iponya", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.9, + -2.84 + ] + }, + "properties": { + "Facility Name": "Isima", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nyakagomba", + "Village_Street": "Isima", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.97, + -3.55 + ] + }, + "properties": { + "Facility Name": "Iyogelo", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Iyogelo", + "Village_Street": "Iyogelo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.96, + -2.42 + ] + }, + "properties": { + "Facility Name": "Izumacheli", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Izumacheli", + "Village_Street": "Izumacheli", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.75, + -3.08 + ] + }, + "properties": { + "Facility Name": "KabigaAICT", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Nyamtukuza", + "Village_Street": "Kabiga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.52, + -3.34 + ] + }, + "properties": { + "Facility Name": "Kabuhima Menonite", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Uyovu", + "Village_Street": "Kabuhima", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.58, + -2.66 + ] + }, + "properties": { + "Facility Name": "Kachwamba", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Kachwamba", + "Village_Street": "Kachwamba", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.58, + -3.24 + ] + }, + "properties": { + "Facility Name": "Kafita", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Kafita", + "Village_Street": "Kafita", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.05, + -2.74 + ] + }, + "properties": { + "Facility Name": "Kagu", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Kagu", + "Village_Street": "Kagu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.72, + -3.09 + ] + }, + "properties": { + "Facility Name": "Kakora", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Kakora", + "Village_Street": "Kakora", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.08, + -2.61 + ] + }, + "properties": { + "Facility Name": "Kakubilo", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Kakubilo", + "Village_Street": "Kakubilo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.79, + -2.9 + ] + }, + "properties": { + "Facility Name": "Kasala", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Makurugusi", + "Village_Street": "Kasala", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.4, + -2.85 + ] + }, + "properties": { + "Facility Name": "KasamwaHC", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Kanyara", + "Village_Street": "Kanyara", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.43, + -2.85 + ] + }, + "properties": { + "Facility Name": "KasamwaSDA", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Kasamwa", + "Village_Street": "Nyampa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.85, + -2.72 + ] + }, + "properties": { + "Facility Name": "Kasang'wa", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Butundwe", + "Village_Street": "Kasang'wa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.95, + -3.11 + ] + }, + "properties": { + "Facility Name": "Kaseme", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Kaseme", + "Village_Street": "Kaseme", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.45, + -2.64 + ] + }, + "properties": { + "Facility Name": "Kasenga", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Kasenga", + "Village_Street": "Kasenga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.2, + -3.07 + ] + }, + "properties": { + "Facility Name": "Kashishi", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nyakamwaga", + "Village_Street": "Kashishi", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.17, + -2.74 + ] + }, + "properties": { + "Facility Name": "Kasota", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Bugulula", + "Village_Street": "Kasota", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.68, + -2.71 + ] + }, + "properties": { + "Facility Name": "Katende", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Katende", + "Village_Street": "Katende", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.69, + -2.38 + ] + }, + "properties": { + "Facility Name": "Katete", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Bwongera", + "Village_Street": "Katete", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.93, + -3.01 + ] + }, + "properties": { + "Facility Name": "Katoro", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Katoro", + "Village_Street": "Kabahelele", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.93, + -3 + ] + }, + "properties": { + "Facility Name": "Katoro TCMC", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Katoro", + "Village_Street": "Katoro senta", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.6, + -3.28 + ] + }, + "properties": { + "Facility Name": "Kayenze", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Kafita", + "Village_Street": "Kayenze", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.66, + -3.2 + ] + }, + "properties": { + "Facility Name": "Kharumwa", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Kharumwa", + "Village_Street": "Kharumwa", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.73, + -2.48 + ] + }, + "properties": { + "Facility Name": "Kibehe", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Kigongo", + "Village_Street": "Kibehe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.85, + -2.87 + ] + }, + "properties": { + "Facility Name": "Kibumba", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Makurugusi", + "Village_Street": "Kibumba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.22, + -2.71 + ] + }, + "properties": { + "Facility Name": "Kifufu", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Bugalama", + "Village_Street": "Kifufu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.79, + -2.46 + ] + }, + "properties": { + "Facility Name": "Kigongo", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Kigongo", + "Village_Street": "Kikumbaitale", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.82, + -3.18 + ] + }, + "properties": { + "Facility Name": "Kinsabe", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Iparamasa", + "Village_Street": "Kinsabe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.3, + -2.68 + ] + }, + "properties": { + "Facility Name": "Kishinda", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Kamhanga", + "Village_Street": "Kishinda", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.72, + -3.15 + ] + }, + "properties": { + "Facility Name": "Kitongo", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Kakora", + "Village_Street": "Kitongo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.75, + -3.03 + ] + }, + "properties": { + "Facility Name": "KMT Buziku", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Bwanga", + "Village_Street": "Bwanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.73, + -2.38 + ] + }, + "properties": { + "Facility Name": "KMT- Mganza", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Muganza", + "Village_Street": "Majengo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.93, + -3.01 + ] + }, + "properties": { + "Facility Name": "Lisabon", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Katoro", + "Village_Street": "Kabahelele", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.39, + -2.63 + ] + }, + "properties": { + "Facility Name": "Lubanga", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Lubanga", + "Village_Street": "Lubanga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.05, + -3.52 + ] + }, + "properties": { + "Facility Name": "Luganga", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Bukombe", + "Village_Street": "Bukombe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.23, + -3.52 + ] + }, + "properties": { + "Facility Name": "Lugunga", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Lugunga", + "Village_Street": "Lugunga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.17, + -3.65 + ] + }, + "properties": { + "Facility Name": "Lugunga wazazi", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Nyakafulu", + "Village_Street": "Nyakafulu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.9, + -3.26 + ] + }, + "properties": { + "Facility Name": "Lulembela", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Lulembela", + "Village_Street": "Lulembela", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.91, + -3.25 + ] + }, + "properties": { + "Facility Name": "Lulembela Wazazi", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Lulembela", + "Village_Street": "Lulembela", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.05, + -3.11 + ] + }, + "properties": { + "Facility Name": "Lwamgasa", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Lwamgasa", + "Village_Street": "Lwamgasa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.19, + -2.55 + ] + }, + "properties": { + "Facility Name": "Lwenzera", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Lwezera", + "Village_Street": "Lwezera", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.68, + -3.39 + ] + }, + "properties": { + "Facility Name": "Lyulu", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Nundu", + "Village_Street": "Lyulu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.98, + -2.89 + ] + }, + "properties": { + "Facility Name": "Magereza Butundwe", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nyakagomba", + "Village_Street": "Luhuha", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Millitary", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.25, + -2.87 + ] + }, + "properties": { + "Facility Name": "Makoye", + "Region": "geita", + "Council": "Geita TC", + "Ward": "Kalangalala", + "Village_Street": "Tambukareli", + "Facility Type": "Hospital", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.74, + -2.92 + ] + }, + "properties": { + "Facility Name": "Makurugusi", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Makurugusi", + "Village_Street": "Makurugusi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.17, + -3.65 + ] + }, + "properties": { + "Facility Name": "Masumbwe", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Masumbwe", + "Village_Street": "Masumbwe", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.01, + -2.58 + ] + }, + "properties": { + "Facility Name": "Mharamba", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nkome", + "Village_Street": "Mharamba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.76, + -2.64 + ] + }, + "properties": { + "Facility Name": "Mkulima", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Chato", + "Village_Street": "Msilale", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.74, + -2.85 + ] + }, + "properties": { + "Facility Name": "Mkungo", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Bukome", + "Village_Street": "Mkungo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.06, + -3 + ] + }, + "properties": { + "Facility Name": "Msasa", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Busanda", + "Village_Street": "Msasa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.99, + -3.64 + ] + }, + "properties": { + "Facility Name": "Msasani", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Bugelenga", + "Village_Street": "Msasani", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32, + -3.08 + ] + }, + "properties": { + "Facility Name": "Munekezi", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Kaseme", + "Village_Street": "Munekezi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.84, + -2.99 + ] + }, + "properties": { + "Facility Name": "Mutundu", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Butengorumasa", + "Village_Street": "Mtundu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.74, + -2.38 + ] + }, + "properties": { + "Facility Name": "Muungano", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Muganza", + "Village_Street": "Mkombozi", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.48, + -2.65 + ] + }, + "properties": { + "Facility Name": "Mwamitilwa", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Lubanga", + "Village_Street": "Mwamitilwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.72, + -3.09 + ] + }, + "properties": { + "Facility Name": "Mwingiro", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Nyabulanda", + "Village_Street": "Mwingiro", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.32, + -3.12 + ] + }, + "properties": { + "Facility Name": "Ndelema", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Kamena", + "Village_Street": "Ndelema", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.01, + -2.5 + ] + }, + "properties": { + "Facility Name": "Nkome", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nkome", + "Village_Street": "Ihumilo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.72, + -2.74 + ] + }, + "properties": { + "Facility Name": "Nyabilezi", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Bukome", + "Village_Street": "Nyabilezi", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.74, + -2.36 + ] + }, + "properties": { + "Facility Name": "Nyabugera", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Muganza", + "Village_Street": "Nyabugera", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.15, + -2.85 + ] + }, + "properties": { + "Facility Name": "Nyakabale", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Mgusu", + "Village_Street": "Nyakabale", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.39, + -2.71 + ] + }, + "properties": { + "Facility Name": "Nyakaduha", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Isulwabutundwe", + "Village_Street": "Nyakaduha", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.19, + -3.6 + ] + }, + "properties": { + "Facility Name": "Nyakafulu", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Nyakafulu", + "Village_Street": "Nyakafulu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.43, + -3.21 + ] + }, + "properties": { + "Facility Name": "Nyakagwe", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Butobela", + "Village_Street": "Nyakagwe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.28, + -3.04 + ] + }, + "properties": { + "Facility Name": "Nyalwanzaja", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nyalwanzaja", + "Village_Street": "Nyalwanzaja", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.37, + -3.08 + ] + }, + "properties": { + "Facility Name": "Nyamalimbe", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nyamalimbe", + "Village_Street": "Nyamalimbe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.65, + -2.55 + ] + }, + "properties": { + "Facility Name": "Nyambiti", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Nyamirembe", + "Village_Street": "Nyambiti", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.72, + -2.53 + ] + }, + "properties": { + "Facility Name": "Nyamirembe", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Nyamirembe", + "Village_Street": "Nyamirembe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.01, + -2.81 + ] + }, + "properties": { + "Facility Name": "Nyamwilolelwa", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nyamwilolelwa", + "Village_Street": "Nyamwilolelwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.06, + -3.41 + ] + }, + "properties": { + "Facility Name": "Nyang'holongo", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Nanda", + "Village_Street": "Nyang'holongo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.58, + -3.06 + ] + }, + "properties": { + "Facility Name": "Nyang'hwale", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Nyang'hwale", + "Village_Street": "Nyang'hwale", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.68, + -3.39 + ] + }, + "properties": { + "Facility Name": "Nyangalamila", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Kakora", + "Village_Street": "Nyangalamila", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.39, + -3.64 + ] + }, + "properties": { + "Facility Name": "Nyanhwiga", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Nhomolwa", + "Village_Street": "Nyanhwiga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.24, + -2.87 + ] + }, + "properties": { + "Facility Name": "Nyankumbu", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Nyankumbu", + "Village_Street": "Mwembeni", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.95, + -2.87 + ] + }, + "properties": { + "Facility Name": "Nyansembe", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nyakagomba", + "Village_Street": "Nyakagomba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.52, + -3.01 + ] + }, + "properties": { + "Facility Name": "Nyantimba", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Nyarutembo", + "Village_Street": "Nyantimba", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.23, + -3.12 + ] + }, + "properties": { + "Facility Name": "Nyarugusu", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nyarugusu", + "Village_Street": "Nyarugusu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.21, + -3.42 + ] + }, + "properties": { + "Facility Name": "Nyasato", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Nyasato", + "Village_Street": "Nyasato", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.66, + -3.09 + ] + }, + "properties": { + "Facility Name": "Nyijundu", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Nyijundu", + "Village_Street": "Nyijundu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.74, + -3.22 + ] + }, + "properties": { + "Facility Name": "Nyugwa", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Nyugwa", + "Village_Street": "Nyugwa", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.93, + -3 + ] + }, + "properties": { + "Facility Name": "Nyumbani", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Katoro", + "Village_Street": "Kabahelele", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.13, + -2.58 + ] + }, + "properties": { + "Facility Name": "Nzera", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Nzera", + "Village_Street": "Nzera", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.85, + -2.29 + ] + }, + "properties": { + "Facility Name": "Rubondo", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Izumacheli", + "Village_Street": "Izumacheli", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Parastatal", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.22, + -2.88 + ] + }, + "properties": { + "Facility Name": "Sakamu", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Kalangalala", + "Village_Street": "Nyamalembo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.27, + -2.88 + ] + }, + "properties": { + "Facility Name": "Samartan", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Buhalahala", + "Village_Street": "Mwatulole", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.97, + -2.62 + ] + }, + "properties": { + "Facility Name": "Senga", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Senga", + "Village_Street": "Senga", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.45, + -2.99 + ] + }, + "properties": { + "Facility Name": "Shabaka", + "Region": "Geita", + "Council": "Nyang'hwale DC", + "Ward": "Shabaka", + "Village_Street": "Shabaka", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.93, + -3 + ] + }, + "properties": { + "Facility Name": "Sisi kwa sisi", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Katoro", + "Village_Street": "Katoro", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.23, + -2.9 + ] + }, + "properties": { + "Facility Name": "St. Peter", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Nyankumbu", + "Village_Street": "Elimu", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.91, + -3.45 + ] + }, + "properties": { + "Facility Name": "St. Pio Maganzo", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Bulangwa", + "Village_Street": "Businda", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.93, + -3.01 + ] + }, + "properties": { + "Facility Name": "TMRC Katoro", + "Region": "Geita", + "Council": "Geita DC", + "Ward": "Katoro", + "Village_Street": "Katoro senta", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - Faith based organization (FBO)", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.53, + -3.34 + ] + }, + "properties": { + "Facility Name": "TMRC Lyobahika", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Uyovu", + "Village_Street": "Kabuhima", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.16, + -3.65 + ] + }, + "properties": { + "Facility Name": "Tumaini", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Masumbwe", + "Village_Street": "Masumbwe", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.29, + -2.87 + ] + }, + "properties": { + "Facility Name": "Upendo", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Bombambili", + "Village_Street": "Upendo", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.73, + -2.37 + ] + }, + "properties": { + "Facility Name": "Urafiki Prinmat", + "Region": "Geita", + "Council": "Chato DC", + "Ward": "Muganza", + "Village_Street": "Majengo", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.26, + -3.37 + ] + }, + "properties": { + "Facility Name": "Ushirika", + "Region": "Geita", + "Council": "Mbogwe DC", + "Ward": "Ushirika", + "Village_Street": "Ushirika", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Public - LGA", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.9, + -3.47 + ] + }, + "properties": { + "Facility Name": "Ushirombo", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Bulangwa", + "Village_Street": "Bulangwa", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.53, + -3.34 + ] + }, + "properties": { + "Facility Name": "Uyovu", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Uyovu", + "Village_Street": "Kabuhima", + "Facility Type": "Health Center", + "Operating Status": "Operating", + "Ownership": "Public", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 32.27, + -2.87 + ] + }, + "properties": { + "Facility Name": "Waja", + "Region": "Geita", + "Council": "Geita TC", + "Ward": "Bombambili", + "Village_Street": "Waja", + "Facility Type": "Hospital", + "Operating Status": "Operating", + "Ownership": "Private - For Profit", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "Yes", + "CEmONC": "Yes" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.52, + -3.34 + ] + }, + "properties": { + "Facility Name": "Wazazi Dillu", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Katente", + "Village_Street": "Katente", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.89, + -3.47 + ] + }, + "properties": { + "Facility Name": "Wazazi Msonga", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Katente", + "Village_Street": "Butambala", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.9, + -3.46 + ] + }, + "properties": { + "Facility Name": "Wazazi Nkomo", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Katente", + "Village_Street": "Katente", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 31.89, + -3.46 + ] + }, + "properties": { + "Facility Name": "Wazazi St. Paul", + "Region": "Geita", + "Council": "Bukombe DC", + "Ward": "Katente", + "Village_Street": "Butambala", + "Facility Type": "Dispensary", + "Operating Status": "Operating", + "Ownership": "Private", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "No", + "CEmONC": "No" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 34.8, + -1 + ] + }, + "properties": { + "Facility Name": "", + "Region": "", + "Council": "", + "Ward": "", + "Village_Street": "", + "Facility Type": "", + "Operating Status": "", + "Ownership": "", + "Basic Service Provided ANC_BEmONC_PPC_QI_MIP_ENC_FP_HIV_RMNCH_integration": "", + "CEmONC": "" + } + } + ] + } + }, + "community-transporters-data-set": { + "type": "geojson", + "data": { + "type": "FeatureCollection", + "features": [] + } + }, + "select-data": { + "type": "geojson", + "data": { + "type": "FeatureCollection", + "features": [] + } + } + }, + "sprite": "mapbox://sprites/boresha-afya/ck9xwff041tm21isaj11kbwng/eabps2xdc3w5vpwrf383wn52c", + "glyphs": "mapbox://fonts/boresha-afya/{fontstack}/{range}.pbf", + "layers": [ + { + "id": "background", + "type": "background", + "metadata": { + "mapbox:featureComponent": "satellite", + "mapbox:group": "Satellite imagery, land" + }, + "layout": {}, + "paint": { + "background-color": "hsl(222, 56%, 4%)" + } + }, + { + "id": "satellite", + "type": "raster", + "metadata": { + "mapbox:featureComponent": "satellite", + "mapbox:group": "Satellite imagery, land" + }, + "source": "mapbox://mapbox.satellite", + "layout": {}, + "paint": {} + }, + { + "id": "tunnel-street-minor-low", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, tunnels-case" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + true, + false + ], + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link", + "secondary_link", + "tertiary_link" + ], + true, + false + ] + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": {}, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + 2, + "track", + 1, + 0.5 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + 18, + 12 + ] + ], + "line-color": "hsla(0, 0%, 90%, 0.5)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "tunnel-street-minor-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, tunnels-case" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + true, + false + ], + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link", + "secondary_link", + "tertiary_link" + ], + true, + false + ] + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": {}, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.75, + 20, + 2 + ], + "line-color": "hsla(0, 0%, 0%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + 2, + "track", + 1, + 0.5 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + 18, + 12 + ] + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ], + "line-dasharray": [ + 3, + 3 + ] + } + }, + { + "id": "tunnel-primary-secondary-tertiary-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, tunnels-case" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "primary", + "secondary", + "tertiary" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": {}, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 10, + [ + "match", + [ + "get", + "class" + ], + "primary", + 1, + 0.75 + ], + 18, + 2 + ], + "line-color": "hsla(0, 0%, 0%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + [ + "match", + [ + "get", + "class" + ], + "primary", + 0.75, + 0.1 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + "primary", + 32, + 26 + ] + ], + "line-dasharray": [ + 3, + 3 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0.3, + 15, + 0 + ] + } + }, + { + "id": "tunnel-major-link-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, tunnels-case" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway_link", + "trunk_link" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": {}, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.75, + 20, + 2 + ], + "line-color": "hsla(0, 0%, 90%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + 2, + 18, + 18 + ], + "line-dasharray": [ + 3, + 3 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "tunnel-motorway-trunk-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, tunnels-case" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": {}, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 10, + 1, + 18, + 2 + ], + "line-color": "hsla(0, 1%, 22%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + 0.75, + 18, + 32 + ], + "line-dasharray": [ + 3, + 3 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "tunnel-path", + "type": "line", + "metadata": { + "mapbox:featureComponent": "walking-cycling", + "mapbox:group": "Walking, cycling, etc., tunnels" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 14, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "==", + [ + "get", + "class" + ], + "path" + ], + [ + "!=", + [ + "get", + "type" + ], + "steps" + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": {}, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 15, + 1, + 18, + 4 + ], + "line-color": "hsl(0, 0%, 10%)", + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 1, + 0 + ] + ], + 15, + [ + "literal", + [ + 1.75, + 1 + ] + ], + 16, + [ + "literal", + [ + 1, + 0.75 + ] + ], + 17, + [ + "literal", + [ + 1, + 0.5 + ] + ] + ] + } + }, + { + "id": "tunnel-steps", + "type": "line", + "metadata": { + "mapbox:featureComponent": "walking-cycling", + "mapbox:group": "Walking, cycling, etc., tunnels" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 14, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "==", + [ + "get", + "type" + ], + "steps" + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": {}, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 15, + 1, + 16, + 1.6, + 18, + 6 + ], + "line-color": "hsl(0, 0%, 10%)", + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 1, + 0 + ] + ], + 15, + [ + "literal", + [ + 1.75, + 1 + ] + ], + 16, + [ + "literal", + [ + 1, + 0.75 + ] + ], + 17, + [ + "literal", + [ + 0.3, + 0.3 + ] + ] + ] + } + }, + { + "id": "tunnel-pedestrian", + "type": "line", + "metadata": { + "mapbox:featureComponent": "walking-cycling", + "mapbox:group": "Walking, cycling, etc., tunnels" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "==", + [ + "get", + "class" + ], + "pedestrian" + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": {}, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 14, + 0.5, + 18, + 12 + ], + "line-color": "hsl(0, 0%, 10%)", + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 1, + 0 + ] + ], + 15, + [ + "literal", + [ + 1.5, + 0.4 + ] + ], + 16, + [ + "literal", + [ + 1, + 0.2 + ] + ] + ] + } + }, + { + "id": "tunnel-major-link", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, tunnels" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway_link", + "trunk_link" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": {}, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + 2, + 18, + 18 + ], + "line-color": [ + "match", + [ + "get", + "class" + ], + "motorway_link", + "hsla(26, 100%, 78%, 0.7)", + "hsla(46, 77%, 78%, 0.7)" + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "tunnel-street-minor", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, tunnels" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + true, + false + ], + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link", + "secondary_link", + "tertiary_link" + ], + true, + false + ] + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": {}, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + 2, + "track", + 1, + 0.5 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + 18, + 12 + ] + ], + "line-color": [ + "match", + [ + "get", + "class" + ], + "street_limited", + "hsl(0, 2%, 22%)", + "hsla(0, 0%, 90%, 0.5)" + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "tunnel-primary-secondary-tertiary", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, tunnels" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "primary", + "secondary", + "tertiary" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": {}, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + [ + "match", + [ + "get", + "class" + ], + "primary", + 0.75, + 0.1 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + "primary", + 32, + 26 + ] + ], + "line-color": "hsla(0, 0%, 90%, 0.5)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0.3, + 15, + 0 + ] + } + }, + { + "id": "tunnel-oneway-arrow-blue", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, tunnels" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 15, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "==", + [ + "get", + "oneway" + ], + "true" + ], + [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "primary", + "secondary", + "street", + "street_limited", + "tertiary" + ], + true, + false + ], + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "primary", + "secondary", + "tertiary", + "street", + "street_limited", + "primary_link", + "secondary_link", + "tertiary_link" + ], + true, + false + ] + ] + ], + "layout": { + "symbol-placement": "line", + "icon-image": [ + "step", + [ + "zoom" + ], + "oneway-small", + 17, + [ + "match", + [ + "get", + "class" + ], + [ + "primary", + "secondary", + "tertiary", + "street", + "street_limited" + ], + "oneway-large", + "oneway-small" + ], + 18, + "oneway-large" + ], + "symbol-spacing": 200, + "icon-rotation-alignment": "map" + }, + "paint": {} + }, + { + "id": "tunnel-motorway-trunk", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, tunnels" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": {}, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + 0.75, + 18, + 32 + ], + "line-color": [ + "match", + [ + "get", + "class" + ], + "motorway", + "hsla(26, 100%, 78%, 0.7)", + "hsla(46, 77%, 78%, 0.7)" + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "tunnel-oneway-arrow-white", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, tunnels" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 16, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "tunnel" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_link", + "trunk", + "trunk_link" + ], + true, + false + ], + [ + "==", + [ + "get", + "oneway" + ], + "true" + ] + ], + "layout": { + "symbol-placement": "line", + "icon-image": [ + "step", + [ + "zoom" + ], + "oneway-white-small", + 17, + "oneway-white-large" + ], + "symbol-spacing": 200 + }, + "paint": {} + }, + { + "id": "road-path", + "type": "line", + "metadata": { + "mapbox:featureComponent": "walking-cycling", + "mapbox:group": "Walking, cycling, etc., surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 12, + "filter": [ + "all", + [ + "==", + [ + "get", + "class" + ], + "path" + ], + [ + "step", + [ + "zoom" + ], + [ + "!", + [ + "match", + [ + "get", + "type" + ], + [ + "steps", + "sidewalk", + "crossing" + ], + true, + false + ] + ], + 16, + [ + "!=", + [ + "get", + "type" + ], + "steps" + ] + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 13, + 0.5, + 14, + 1, + 15, + 1, + 18, + 4 + ], + "line-color": "hsl(0, 0%, 22%)", + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 1, + 0 + ] + ], + 15, + [ + "literal", + [ + 1.75, + 1 + ] + ], + 16, + [ + "literal", + [ + 1, + 0.75 + ] + ], + 17, + [ + "literal", + [ + 1, + 0.5 + ] + ] + ] + } + }, + { + "id": "road-steps", + "type": "line", + "metadata": { + "mapbox:featureComponent": "walking-cycling", + "mapbox:group": "Walking, cycling, etc., surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 14, + "filter": [ + "all", + [ + "==", + [ + "get", + "type" + ], + "steps" + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 15, + 1, + 16, + 1.6, + 18, + 6 + ], + "line-color": "hsl(0, 0%, 22%)", + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 1, + 0 + ] + ], + 15, + [ + "literal", + [ + 1.75, + 1 + ] + ], + 16, + [ + "literal", + [ + 1, + 0.75 + ] + ], + 17, + [ + "literal", + [ + 0.3, + 0.3 + ] + ] + ] + } + }, + { + "id": "road-pedestrian", + "type": "line", + "metadata": { + "mapbox:featureComponent": "walking-cycling", + "mapbox:group": "Walking, cycling, etc., surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 12, + "filter": [ + "all", + [ + "==", + [ + "get", + "class" + ], + "pedestrian" + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 14, + 0.5, + 18, + 12 + ], + "line-color": "hsl(0, 0%, 22%)", + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 1, + 0 + ] + ], + 15, + [ + "literal", + [ + 1.5, + 0.4 + ] + ], + 16, + [ + "literal", + [ + 1, + 0.2 + ] + ] + ] + } + }, + { + "id": "road-minor-low", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "step", + [ + "zoom" + ], + false, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "secondary_link", + "tertiary_link" + ], + true, + false + ] + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 14, + [ + "match", + [ + "get", + "class" + ], + "track", + 1, + 0.5 + ], + 18, + 12 + ], + "line-color": "hsla(0, 0%, 90%, 0.5)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "road-minor-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "step", + [ + "zoom" + ], + false, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "secondary_link", + "tertiary_link" + ], + true, + false + ] + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.75, + 20, + 2 + ], + "line-color": "hsla(0, 1%, 10%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 14, + [ + "match", + [ + "get", + "class" + ], + "track", + 1, + 0.5 + ], + 18, + 12 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "road-street-low", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 11, + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + true, + false + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + 2, + 18, + 18 + ], + "line-color": "hsla(0, 0%, 90%, 0.5)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0.3, + 15, + 0 + ] + } + }, + { + "id": "road-street-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 11, + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + true, + false + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.75, + 20, + 2 + ], + "line-color": "hsla(0, 1%, 10%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + 2, + 18, + 18 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0.3, + 15, + 0 + ] + } + }, + { + "id": "road-secondary-tertiary-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 8, + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "secondary", + "tertiary" + ], + true, + false + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 10, + 0.75, + 18, + 2 + ], + "line-color": "hsla(0, 1%, 10%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + 0.1, + 18, + 26 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0.3, + 15, + 0 + ] + } + }, + { + "id": "road-primary-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 7, + "filter": [ + "all", + [ + "==", + [ + "get", + "class" + ], + "primary" + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 10, + 1, + 18, + 2 + ], + "line-color": "hsla(0, 1%, 10%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + 0.75, + 18, + 32 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "road-major-link-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 10, + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "motorway_link", + "trunk_link" + ], + true, + false + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.75, + 20, + 2 + ], + "line-color": "hsla(0, 1%, 22%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + 2, + 18, + 18 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "road-motorway-trunk-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 5, + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + true, + false + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 10, + 1, + 18, + 2 + ], + "line-color": "hsla(0, 1%, 22%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + 0.75, + 18, + 32 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "road-major-link", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 10, + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "motorway_link", + "trunk_link" + ], + true, + false + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 13, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 13, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + 2, + 18, + 18 + ], + "line-color": [ + "match", + [ + "get", + "class" + ], + "motorway_link", + "hsla(26, 100%, 68%, 0.7)", + "hsla(46, 87%, 68%, 0.7)" + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "road-minor", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "step", + [ + "zoom" + ], + false, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "secondary_link", + "tertiary_link" + ], + true, + false + ] + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 14, + [ + "match", + [ + "get", + "class" + ], + "track", + 1, + 0.5 + ], + 18, + 12 + ], + "line-color": "hsla(0, 0%, 90%, 0.5)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "road-street", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 11, + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + true, + false + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + 2, + 18, + 18 + ], + "line-color": [ + "match", + [ + "get", + "class" + ], + "street_limited", + "hsl(0, 2%, 22%)", + "hsla(0, 0%, 90%, 0.5)" + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0.3, + 15, + 0 + ] + } + }, + { + "id": "road-secondary-tertiary", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 8, + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "secondary", + "tertiary" + ], + true, + false + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + 0.1, + 18, + 26 + ], + "line-color": "hsla(0, 0%, 90%, 0.5)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0.3, + 15, + 0 + ] + } + }, + { + "id": "road-primary", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 7, + "filter": [ + "all", + [ + "==", + [ + "get", + "class" + ], + "primary" + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + 0.75, + 18, + 32 + ], + "line-color": "hsla(0, 0%, 90%, 0.5)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "road-oneway-arrow-blue", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 15, + "filter": [ + "all", + [ + "==", + [ + "get", + "oneway" + ], + "true" + ], + [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "primary", + "secondary", + "tertiary", + "street", + "street_limited" + ], + true, + false + ], + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "primary", + "secondary", + "tertiary", + "street", + "street_limited", + "primary_link", + "secondary_link", + "tertiary_link" + ], + true, + false + ] + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ] + ], + "layout": { + "symbol-placement": "line", + "icon-image": [ + "step", + [ + "zoom" + ], + "oneway-small", + 17, + [ + "match", + [ + "get", + "class" + ], + [ + "primary", + "secondary", + "tertiary", + "street", + "street_limited" + ], + "oneway-large", + "oneway-small" + ], + 18, + "oneway-large" + ], + "symbol-spacing": 200, + "icon-rotation-alignment": "map" + }, + "paint": {} + }, + { + "id": "road-motorway-trunk", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface" + }, + "source": "composite", + "source-layer": "road", + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + true, + false + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 13, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 13, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + 0.75, + 18, + 32 + ], + "line-color": [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "class" + ], + "motorway", + "hsla(26, 87%, 62%, 0.7)", + "hsla(0, 0%, 90%, 0.5)" + ], + 6, + [ + "match", + [ + "get", + "class" + ], + "motorway", + "hsla(26, 87%, 62%, 0.7)", + "hsla(46, 80%, 60%, 0.7)" + ], + 9, + [ + "match", + [ + "get", + "class" + ], + "motorway", + "hsla(26, 100%, 68%, 0.7)", + "hsla(46, 87%, 68%, 0.7)" + ] + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "road-oneway-arrow-white", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, surface-icons" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 16, + "filter": [ + "all", + [ + "==", + [ + "get", + "oneway" + ], + "true" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk", + "motorway_link", + "trunk_link" + ], + true, + false + ], + [ + "match", + [ + "get", + "structure" + ], + [ + "none", + "ford" + ], + true, + false + ] + ], + "layout": { + "symbol-placement": "line", + "icon-image": [ + "step", + [ + "zoom" + ], + "oneway-white-small", + 17, + "oneway-white-large" + ], + "symbol-spacing": 200 + }, + "paint": {} + }, + { + "id": "bridge-path", + "type": "line", + "metadata": { + "mapbox:featureComponent": "walking-cycling", + "mapbox:group": "Walking, cycling, etc., barriers-bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 14, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "==", + [ + "get", + "class" + ], + "path" + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "!=", + [ + "get", + "type" + ], + "steps" + ] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 15, + 1, + 18, + 4 + ], + "line-color": "hsl(0, 0%, 22%)", + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 1, + 0 + ] + ], + 15, + [ + "literal", + [ + 1.75, + 1 + ] + ], + 16, + [ + "literal", + [ + 1, + 0.75 + ] + ], + 17, + [ + "literal", + [ + 1, + 0.5 + ] + ] + ] + } + }, + { + "id": "bridge-steps", + "type": "line", + "metadata": { + "mapbox:featureComponent": "walking-cycling", + "mapbox:group": "Walking, cycling, etc., barriers-bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 14, + "filter": [ + "all", + [ + "==", + [ + "get", + "type" + ], + "steps" + ], + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 15, + 1, + 16, + 1.6, + 18, + 6 + ], + "line-color": "hsl(0, 0%, 22%)", + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 1, + 0 + ] + ], + 15, + [ + "literal", + [ + 1.75, + 1 + ] + ], + 16, + [ + "literal", + [ + 1, + 0.75 + ] + ], + 17, + [ + "literal", + [ + 0.3, + 0.3 + ] + ] + ] + } + }, + { + "id": "bridge-pedestrian", + "type": "line", + "metadata": { + "mapbox:featureComponent": "walking-cycling", + "mapbox:group": "Walking, cycling, etc., barriers-bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "==", + [ + "get", + "class" + ], + "pedestrian" + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 14, + 0.5, + 18, + 12 + ], + "line-color": "hsl(0, 0%, 22%)", + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 1, + 0 + ] + ], + 15, + [ + "literal", + [ + 1.5, + 0.4 + ] + ], + 16, + [ + "literal", + [ + 1, + 0.2 + ] + ] + ] + } + }, + { + "id": "bridge-street-minor-low", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + true, + false + ], + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link", + "secondary_link", + "tertiary_link" + ], + true, + false + ] + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + 2, + "track", + 1, + 0.5 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + 18, + 12 + ] + ], + "line-color": "hsla(0, 0%, 90%, 0.5)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "bridge-street-minor-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + true, + false + ], + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link", + "secondary_link", + "tertiary_link" + ], + true, + false + ] + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.75, + 20, + 2 + ], + "line-color": "hsla(0, 1%, 10%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + 2, + "track", + 1, + 0.5 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + 18, + 12 + ] + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "bridge-primary-secondary-tertiary-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "primary", + "secondary", + "tertiary" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 10, + [ + "match", + [ + "get", + "class" + ], + "primary", + 1, + 0.75 + ], + 18, + 2 + ], + "line-color": "hsla(0, 1%, 10%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + [ + "match", + [ + "get", + "class" + ], + "primary", + 0.75, + 0.1 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + "primary", + 32, + 26 + ] + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0.3, + 15, + 0 + ] + } + }, + { + "id": "bridge-major-link-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway_link", + "trunk_link" + ], + true, + false + ], + [ + "<=", + [ + "get", + "layer" + ], + 1 + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.75, + 20, + 2 + ], + "line-color": "hsla(0, 1%, 22%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + 2, + 18, + 18 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "bridge-motorway-trunk-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + true, + false + ], + [ + "<=", + [ + "get", + "layer" + ], + 1 + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 10, + 1, + 18, + 2 + ], + "line-color": "hsla(0, 1%, 22%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + 0.75, + 18, + 32 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "bridge-major-link", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway_link", + "trunk_link" + ], + true, + false + ], + [ + "<=", + [ + "get", + "layer" + ], + 1 + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + 2, + 18, + 18 + ], + "line-color": [ + "match", + [ + "get", + "class" + ], + "motorway_link", + "hsla(26, 100%, 68%, 0.7)", + "hsla(46, 87%, 68%, 0.7)" + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "bridge-street-minor", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + true, + false + ], + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link", + "secondary_link", + "tertiary_link" + ], + true, + false + ] + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + 2, + "track", + 1, + 0.5 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + [ + "street", + "street_limited", + "primary_link" + ], + 18, + 12 + ] + ], + "line-color": [ + "match", + [ + "get", + "class" + ], + "street_limited", + "hsl(0, 2%, 22%)", + "hsla(0, 0%, 90%, 0.5)" + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "bridge-primary-secondary-tertiary", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "primary", + "secondary", + "tertiary" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + [ + "match", + [ + "get", + "class" + ], + "primary", + 0.75, + 0.1 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + "primary", + 32, + 26 + ] + ], + "line-color": "hsla(0, 0%, 90%, 0.5)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0.3, + 15, + 0 + ] + } + }, + { + "id": "bridge-oneway-arrow-blue", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 15, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "==", + [ + "get", + "oneway" + ], + "true" + ], + [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "primary", + "secondary", + "tertiary", + "street", + "street_limited" + ], + true, + false + ], + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "primary", + "secondary", + "tertiary", + "street", + "street_limited", + "primary_link", + "secondary_link", + "tertiary_link" + ], + true, + false + ] + ] + ], + "layout": { + "symbol-placement": "line", + "icon-image": [ + "step", + [ + "zoom" + ], + "oneway-small", + 17, + [ + "match", + [ + "get", + "class" + ], + [ + "primary", + "secondary", + "tertiary", + "street", + "street_limited" + ], + "oneway-large", + "oneway-small" + ], + 18, + "oneway-large" + ], + "symbol-spacing": 200, + "icon-rotation-alignment": "map" + }, + "paint": {} + }, + { + "id": "bridge-motorway-trunk", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + true, + false + ], + [ + "<=", + [ + "get", + "layer" + ], + 1 + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + 0.75, + 18, + 32 + ], + "line-color": [ + "match", + [ + "get", + "class" + ], + "motorway", + "hsla(26, 100%, 68%, 0.7)", + "hsla(46, 87%, 68%, 0.7)" + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "bridge-major-link-2-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + ">=", + [ + "get", + "layer" + ], + 2 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway_link", + "trunk_link" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.75, + 20, + 2 + ], + "line-color": "hsla(0, 1%, 22%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + 2, + 18, + 18 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "bridge-motorway-trunk-2-case", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + ">=", + [ + "get", + "layer" + ], + 2 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 10, + 1, + 18, + 2 + ], + "line-color": "hsla(0, 1%, 22%, 0.5)", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + 0.75, + 18, + 32 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "bridge-major-link-2", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + ">=", + [ + "get", + "layer" + ], + 2 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway_link", + "trunk_link" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 12, + 0.5, + 14, + 2, + 18, + 18 + ], + "line-color": [ + "match", + [ + "get", + "class" + ], + "motorway_link", + "hsla(26, 100%, 68%, 0.7)", + "hsla(46, 87%, 68%, 0.7)" + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "bridge-motorway-trunk-2", + "type": "line", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + ">=", + [ + "get", + "layer" + ], + 2 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "line-cap": [ + "step", + [ + "zoom" + ], + "butt", + 14, + "round" + ], + "line-join": [ + "step", + [ + "zoom" + ], + "miter", + 14, + "round" + ] + }, + "paint": { + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 5, + 0.75, + 18, + 32 + ], + "line-color": [ + "match", + [ + "get", + "class" + ], + "motorway", + "hsla(26, 100%, 68%, 0.7)", + "hsla(46, 87%, 68%, 0.7)" + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 1, + 15, + 0 + ] + } + }, + { + "id": "bridge-oneway-arrow-white", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, bridges" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 16, + "filter": [ + "all", + [ + "==", + [ + "get", + "structure" + ], + "bridge" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk", + "motorway_link", + "trunk_link" + ], + true, + false + ], + [ + "==", + [ + "get", + "oneway" + ], + "true" + ] + ], + "layout": { + "symbol-placement": "line", + "icon-image": [ + "step", + [ + "zoom" + ], + "oneway-white-small", + 17, + "oneway-white-large" + ], + "symbol-spacing": 200 + }, + "paint": {} + }, + { + "id": "aerialway", + "type": "line", + "metadata": { + "mapbox:featureComponent": "transit", + "mapbox:group": "Transit, elevated" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 12, + "filter": [ + "==", + [ + "get", + "class" + ], + "aerialway" + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "hsla(0, 0%, 25%, 0.5)", + "line-width": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 14, + 0.5, + 20, + 1 + ] + } + }, + { + "id": "admin-1-boundary-bg", + "type": "line", + "metadata": { + "mapbox:featureComponent": "admin-boundaries", + "mapbox:group": "Administrative boundaries, admin" + }, + "source": "composite", + "source-layer": "admin", + "filter": [ + "all", + [ + "==", + [ + "get", + "admin_level" + ], + 1 + ], + [ + "==", + [ + "get", + "maritime" + ], + "false" + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + "layout": { + "line-join": "bevel" + }, + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "hsl(0, 0%, 14%)", + 16, + "hsl(0, 0%, 30%)" + ], + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 7, + 3.75, + 12, + 5.5 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 7, + 0, + 8, + 0.75 + ], + "line-dasharray": [ + 1, + 0 + ], + "line-translate": [ + 0, + 0 + ], + "line-blur": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 0, + 8, + 3 + ] + } + }, + { + "id": "admin-0-boundary-bg", + "type": "line", + "metadata": { + "mapbox:featureComponent": "admin-boundaries", + "mapbox:group": "Administrative boundaries, admin" + }, + "source": "composite", + "source-layer": "admin", + "minzoom": 1, + "filter": [ + "all", + [ + "==", + [ + "get", + "admin_level" + ], + 0 + ], + [ + "==", + [ + "get", + "maritime" + ], + "false" + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + "layout": {}, + "paint": { + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 5.25, + 10, + 12 + ], + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 6, + "hsl(0, 0%, 14%)", + 8, + "hsl(0, 0%, 30%)" + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 0, + 4, + 0.5 + ], + "line-translate": [ + 0, + 0 + ], + "line-blur": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 0, + 10, + 3 + ] + } + }, + { + "id": "admin-1-boundary", + "type": "line", + "metadata": { + "mapbox:featureComponent": "admin-boundaries", + "mapbox:group": "Administrative boundaries, admin" + }, + "source": "composite", + "source-layer": "admin", + "filter": [ + "all", + [ + "==", + [ + "get", + "admin_level" + ], + 1 + ], + [ + "==", + [ + "get", + "maritime" + ], + "false" + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "paint": { + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 2, + 0 + ] + ], + 7, + [ + "literal", + [ + 2, + 2, + 6, + 2 + ] + ] + ], + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 7, + 0.75, + 12, + 1.5 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 2, + 0, + 3, + 1 + ], + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + "hsl(0, 0%, 0%)", + 7, + "hsl(0, 0%, 5%)" + ] + } + }, + { + "id": "admin-0-boundary", + "type": "line", + "metadata": { + "mapbox:featureComponent": "admin-boundaries", + "mapbox:group": "Administrative boundaries, admin" + }, + "source": "composite", + "source-layer": "admin", + "minzoom": 1, + "filter": [ + "all", + [ + "==", + [ + "get", + "admin_level" + ], + 0 + ], + [ + "==", + [ + "get", + "disputed" + ], + "false" + ], + [ + "==", + [ + "get", + "maritime" + ], + "false" + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "paint": { + "line-color": "hsl(0, 0%, 0%)", + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 0.75, + 10, + 3 + ], + "line-dasharray": [ + 10, + 0 + ] + } + }, + { + "id": "admin-0-boundary-disputed", + "type": "line", + "metadata": { + "mapbox:featureComponent": "admin-boundaries", + "mapbox:group": "Administrative boundaries, admin" + }, + "source": "composite", + "source-layer": "admin", + "minzoom": 1, + "filter": [ + "all", + [ + "==", + [ + "get", + "disputed" + ], + "true" + ], + [ + "==", + [ + "get", + "admin_level" + ], + 0 + ], + [ + "==", + [ + "get", + "maritime" + ], + "false" + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "hsl(0, 0%, 0%)", + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 0.75, + 10, + 3 + ], + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 3.25, + 3.25 + ] + ], + 6, + [ + "literal", + [ + 2.5, + 2.5 + ] + ], + 7, + [ + "literal", + [ + 2, + 2.25 + ] + ], + 8, + [ + "literal", + [ + 1.75, + 2 + ] + ] + ] + } + }, + { + "id": "road-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, road-labels" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 10, + "filter": [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk", + "primary", + "secondary", + "tertiary" + ], + true, + false + ], + 12, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk", + "primary", + "secondary", + "tertiary", + "street", + "street_limited" + ], + true, + false + ], + 15, + [ + "match", + [ + "get", + "class" + ], + [ + "path", + "pedestrian", + "golf", + "ferry", + "aerialway", + "track", + "service" + ], + false, + true + ] + ], + "layout": { + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 10, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk", + "primary", + "secondary", + "tertiary" + ], + 10, + [ + "motorway_link", + "trunk_link", + "primary_link", + "secondary_link", + "tertiary_link", + "street", + "street_limited" + ], + 9, + 6.5 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk", + "primary", + "secondary", + "tertiary" + ], + 16, + [ + "motorway_link", + "trunk_link", + "primary_link", + "secondary_link", + "tertiary_link", + "street", + "street_limited" + ], + 14, + 13 + ] + ], + "text-max-angle": 30, + "text-font": [ + "DIN Pro Medium", + "Arial Unicode MS Regular" + ], + "symbol-placement": "line", + "text-padding": 1, + "text-rotation-alignment": "map", + "text-pitch-alignment": "viewport", + "text-field": [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ], + "text-letter-spacing": 0.01 + }, + "paint": { + "text-color": "hsl(0, 0%, 100%)", + "text-halo-color": [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + "hsla(0, 5%, 0%, 0.75)", + "hsl(0, 5%, 0%)" + ], + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "road-intersection", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, road-labels" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 15, + "filter": [ + "all", + [ + "==", + [ + "get", + "class" + ], + "intersection" + ], + [ + "has", + "name" + ] + ], + "layout": { + "text-field": [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ], + "icon-image": "intersection", + "icon-text-fit": "both", + "icon-text-fit-padding": [ + 1, + 2, + 1, + 2 + ], + "text-size": [ + "interpolate", + [ + "exponential", + 1.2 + ], + [ + "zoom" + ], + 15, + 9, + 18, + 12 + ], + "text-font": [ + "DIN Pro Bold", + "Arial Unicode MS Bold" + ] + }, + "paint": { + "text-color": "hsl(230, 57%, 64%)" + } + }, + { + "id": "road-number-shield", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, road-labels" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 6, + "filter": [ + "all", + [ + "has", + "reflen" + ], + [ + "<=", + [ + "get", + "reflen" + ], + 6 + ], + [ + "step", + [ + "zoom" + ], + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + 11, + [ + ">", + [ + "get", + "len" + ], + 5000 + ], + 12, + [ + ">", + [ + "get", + "len" + ], + 2500 + ], + 13, + [ + ">", + [ + "get", + "len" + ], + 1000 + ], + 14, + true + ] + ], + "layout": { + "text-size": 9, + "icon-image": [ + "concat", + [ + "get", + "shield" + ], + "-", + [ + "to-string", + [ + "get", + "reflen" + ] + ] + ], + "icon-rotation-alignment": "viewport", + "text-max-angle": 38, + "symbol-spacing": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 11, + 150, + 14, + 200 + ], + "text-font": [ + "DIN Pro Bold", + "Arial Unicode MS Bold" + ], + "symbol-placement": [ + "step", + [ + "zoom" + ], + "point", + 11, + "line" + ], + "text-rotation-alignment": "viewport", + "text-field": [ + "get", + "ref" + ], + "text-letter-spacing": 0.05 + }, + "paint": { + "text-color": [ + "match", + [ + "get", + "shield_text_color" + ], + "white", + "hsl(0, 0%, 100%)", + "yellow", + "hsl(50, 100%, 70%)", + "orange", + "hsl(25, 100%, 75%)", + "blue", + "hsl(230, 57%, 44%)", + "hsl(230, 18%, 13%)" + ] + } + }, + { + "id": "road-exit-shield", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "road-network", + "mapbox:group": "Road network, road-labels" + }, + "source": "composite", + "source-layer": "motorway_junction", + "minzoom": 14, + "filter": [ + "all", + [ + "has", + "reflen" + ], + [ + "<=", + [ + "get", + "reflen" + ], + 9 + ] + ], + "layout": { + "text-field": [ + "get", + "ref" + ], + "text-size": 9, + "icon-image": [ + "concat", + "motorway-exit-", + [ + "to-string", + [ + "get", + "reflen" + ] + ] + ], + "text-font": [ + "DIN Pro Bold", + "Arial Unicode MS Bold" + ] + }, + "paint": { + "text-color": "hsl(0, 0%, 100%)", + "text-translate": [ + 0, + 0 + ] + } + }, + { + "id": "ferry-aerialway-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "transit", + "mapbox:group": "Transit, ferry-aerialway-labels" + }, + "source": "composite", + "source-layer": "road", + "minzoom": 15, + "filter": [ + "match", + [ + "get", + "class" + ], + "aerialway", + true, + false + ], + "layout": { + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 10, + 6.5, + 18, + 13 + ], + "text-max-angle": 30, + "text-font": [ + "DIN Pro Medium", + "Arial Unicode MS Regular" + ], + "symbol-placement": "line", + "text-padding": 1, + "text-rotation-alignment": "map", + "text-pitch-alignment": "viewport", + "text-field": [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ], + "text-letter-spacing": 0.01 + }, + "paint": { + "text-color": [ + "match", + [ + "get", + "class" + ], + "ferry", + "hsl(196, 18%, 86%)", + "hsl(0, 0%, 100%)" + ], + "text-halo-color": [ + "match", + [ + "get", + "class" + ], + "ferry", + "hsl(196, 50%, 50%)", + "hsl(0, 5%, 0%)" + ], + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "waterway-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "natural-features", + "mapbox:group": "Natural features, natural-labels" + }, + "source": "composite", + "source-layer": "natural_label", + "minzoom": 13, + "filter": [ + "all", + [ + "case", + [ + "==", + [ + "get", + "disputed" + ], + "true" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "canal", + "river", + "stream", + "disputed_canal", + "disputed_river", + "disputed_stream" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + [ + "match", + [ + "get", + "class" + ], + [ + "canal", + "river", + "stream" + ], + true, + false + ] + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "text-font": [ + "DIN Pro Italic", + "Arial Unicode MS Regular" + ], + "text-max-angle": 30, + "symbol-spacing": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 15, + 250, + 17, + 400 + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 12, + 18, + 16 + ], + "symbol-placement": "line", + "text-pitch-alignment": "viewport", + "text-field": [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ] + }, + "paint": { + "text-color": "hsl(196, 18%, 90%)" + } + }, + { + "id": "natural-line-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "natural-features", + "mapbox:group": "Natural features, natural-labels" + }, + "source": "composite", + "source-layer": "natural_label", + "minzoom": 4, + "filter": [ + "all", + [ + "case", + [ + "==", + [ + "get", + "disputed" + ], + "true" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "glacier", + "landform", + "disputed_glacier", + "disputed_landform" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + [ + "match", + [ + "get", + "class" + ], + [ + "glacier", + "landform" + ], + true, + false + ] + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "<=", + [ + "get", + "filterrank" + ], + 2 + ] + ], + "layout": { + "text-size": [ + "step", + [ + "zoom" + ], + [ + "step", + [ + "get", + "sizerank" + ], + 18, + 5, + 12 + ], + 17, + [ + "step", + [ + "get", + "sizerank" + ], + 18, + 13, + 12 + ] + ], + "text-max-angle": 30, + "text-field": [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "DIN Pro Bold", + "Arial Unicode MS Bold" + ], + "symbol-placement": "line-center", + "text-pitch-alignment": "viewport" + }, + "paint": { + "text-halo-width": 0.5, + "text-halo-color": "hsl(0, 5%, 0%)", + "text-halo-blur": 0.5, + "text-color": [ + "step", + [ + "zoom" + ], + [ + "step", + [ + "get", + "sizerank" + ], + "hsl(0, 0%, 100%)", + 5, + "hsl(0, 0%, 100%)" + ], + 17, + [ + "step", + [ + "get", + "sizerank" + ], + "hsl(0, 0%, 100%)", + 13, + "hsl(0, 0%, 100%)" + ] + ] + } + }, + { + "id": "natural-point-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "natural-features", + "mapbox:group": "Natural features, natural-labels" + }, + "source": "composite", + "source-layer": "natural_label", + "minzoom": 4, + "filter": [ + "all", + [ + "case", + [ + "==", + [ + "get", + "disputed" + ], + "true" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "dock", + "glacier", + "landform", + "water_feature", + "wetland", + "disputed_dock", + "disputed_glacier", + "disputed_landform", + "disputed_water_feature", + "disputed_wetland" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + [ + "match", + [ + "get", + "class" + ], + [ + "dock", + "glacier", + "landform", + "water_feature", + "wetland" + ], + true, + false + ] + ], + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "<=", + [ + "get", + "filterrank" + ], + 2 + ] + ], + "layout": { + "text-size": [ + "step", + [ + "zoom" + ], + [ + "step", + [ + "get", + "sizerank" + ], + 18, + 5, + 12 + ], + 17, + [ + "step", + [ + "get", + "sizerank" + ], + 18, + 13, + 12 + ] + ], + "icon-image": [ + "step", + [ + "zoom" + ], + [ + "concat", + [ + "get", + "maki" + ], + "-11" + ], + 15, + [ + "concat", + [ + "get", + "maki" + ], + "-15" + ] + ], + "text-font": [ + "DIN Pro Bold", + "Arial Unicode MS Bold" + ], + "text-offset": [ + "step", + [ + "zoom" + ], + [ + "step", + [ + "get", + "sizerank" + ], + [ + "literal", + [ + 0, + 0 + ] + ], + 5, + [ + "literal", + [ + 0, + 0.75 + ] + ] + ], + 17, + [ + "step", + [ + "get", + "sizerank" + ], + [ + "literal", + [ + 0, + 0 + ] + ], + 13, + [ + "literal", + [ + 0, + 0.75 + ] + ] + ] + ], + "text-anchor": [ + "step", + [ + "zoom" + ], + [ + "step", + [ + "get", + "sizerank" + ], + "center", + 5, + "top" + ], + 17, + [ + "step", + [ + "get", + "sizerank" + ], + "center", + 13, + "top" + ] + ], + "text-field": [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ] + }, + "paint": { + "icon-opacity": [ + "step", + [ + "zoom" + ], + [ + "step", + [ + "get", + "sizerank" + ], + 0, + 5, + 1 + ], + 17, + [ + "step", + [ + "get", + "sizerank" + ], + 0, + 13, + 1 + ] + ], + "text-halo-color": "hsl(0, 5%, 0%)", + "text-halo-width": 0.5, + "text-halo-blur": 0.5, + "text-color": [ + "step", + [ + "zoom" + ], + [ + "step", + [ + "get", + "sizerank" + ], + "hsl(0, 0%, 100%)", + 5, + "hsl(0, 0%, 100%)" + ], + 17, + [ + "step", + [ + "get", + "sizerank" + ], + "hsl(0, 0%, 100%)", + 13, + "hsl(0, 0%, 100%)" + ] + ] + } + }, + { + "id": "water-line-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "natural-features", + "mapbox:group": "Natural features, natural-labels" + }, + "source": "composite", + "source-layer": "natural_label", + "filter": [ + "all", + [ + "case", + [ + "==", + [ + "get", + "disputed" + ], + "true" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "bay", + "ocean", + "reservoir", + "sea", + "water", + "disputed_bay", + "disputed_ocean", + "disputed_reservoir", + "disputed_sea", + "disputed_water" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + [ + "match", + [ + "get", + "class" + ], + [ + "bay", + "ocean", + "reservoir", + "sea", + "water" + ], + true, + false + ] + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ], + "layout": { + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 7, + [ + "step", + [ + "get", + "sizerank" + ], + 24, + 6, + 18, + 12, + 12 + ], + 10, + [ + "step", + [ + "get", + "sizerank" + ], + 18, + 9, + 12 + ], + 18, + [ + "step", + [ + "get", + "sizerank" + ], + 18, + 9, + 16 + ] + ], + "text-max-angle": 30, + "text-letter-spacing": [ + "match", + [ + "get", + "class" + ], + "ocean", + 0.25, + [ + "sea", + "bay" + ], + 0.15, + 0 + ], + "text-font": [ + "DIN Pro Italic", + "Arial Unicode MS Regular" + ], + "symbol-placement": "line-center", + "text-pitch-alignment": "viewport", + "text-field": [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ] + }, + "paint": { + "text-color": [ + "match", + [ + "get", + "class" + ], + [ + "bay", + "ocean", + "sea" + ], + "hsl(196, 46%, 70%)", + "hsl(196, 18%, 90%)" + ] + } + }, + { + "id": "water-point-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "natural-features", + "mapbox:group": "Natural features, natural-labels" + }, + "source": "composite", + "source-layer": "natural_label", + "filter": [ + "all", + [ + "case", + [ + "==", + [ + "get", + "disputed" + ], + "true" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "bay", + "ocean", + "reservoir", + "sea", + "water", + "disputed_bay", + "disputed_ocean", + "disputed_reservoir", + "disputed_sea", + "disputed_water" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + [ + "match", + [ + "get", + "class" + ], + [ + "bay", + "ocean", + "reservoir", + "sea", + "water" + ], + true, + false + ] + ], + [ + "==", + [ + "geometry-type" + ], + "Point" + ] + ], + "layout": { + "text-line-height": 1.3, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 7, + [ + "step", + [ + "get", + "sizerank" + ], + 24, + 6, + 18, + 12, + 12 + ], + 10, + [ + "step", + [ + "get", + "sizerank" + ], + 18, + 9, + 12 + ] + ], + "text-font": [ + "DIN Pro Italic", + "Arial Unicode MS Regular" + ], + "text-field": [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ], + "text-letter-spacing": [ + "match", + [ + "get", + "class" + ], + "ocean", + 0.25, + [ + "bay", + "sea" + ], + 0.15, + 0.01 + ], + "text-max-width": [ + "match", + [ + "get", + "class" + ], + "ocean", + 4, + "sea", + 5, + [ + "bay", + "water" + ], + 7, + 10 + ] + }, + "paint": { + "text-color": [ + "match", + [ + "get", + "class" + ], + [ + "bay", + "ocean", + "sea" + ], + "hsl(196, 46%, 70%)", + "hsl(196, 18%, 90%)" + ] + } + }, + { + "id": "poi-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "point-of-interest-labels", + "mapbox:group": "Point of interest labels, poi-labels" + }, + "source": "composite", + "source-layer": "poi_label", + "minzoom": 6, + "filter": [ + "<=", + [ + "get", + "filterrank" + ], + [ + "+", + [ + "step", + [ + "zoom" + ], + 0, + 16, + 1, + 17, + 2 + ], + 3 + ] + ], + "layout": { + "text-size": [ + "step", + [ + "zoom" + ], + [ + "step", + [ + "get", + "sizerank" + ], + 18, + 5, + 12 + ], + 17, + [ + "step", + [ + "get", + "sizerank" + ], + 18, + 13, + 12 + ] + ], + "icon-image": [ + "step", + [ + "zoom" + ], + [ + "concat", + [ + "get", + "maki" + ], + "-11" + ], + 15, + [ + "concat", + [ + "get", + "maki" + ], + "-15" + ] + ], + "text-font": [ + "DIN Pro Bold", + "Arial Unicode MS Bold" + ], + "text-offset": [ + "step", + [ + "zoom" + ], + [ + "step", + [ + "get", + "sizerank" + ], + [ + "literal", + [ + 0, + 0 + ] + ], + 5, + [ + "literal", + [ + 0, + 0.75 + ] + ] + ], + 17, + [ + "step", + [ + "get", + "sizerank" + ], + [ + "literal", + [ + 0, + 0 + ] + ], + 13, + [ + "literal", + [ + 0, + 0.75 + ] + ] + ] + ], + "text-anchor": [ + "step", + [ + "zoom" + ], + [ + "step", + [ + "get", + "sizerank" + ], + "center", + 5, + "top" + ], + 17, + [ + "step", + [ + "get", + "sizerank" + ], + "center", + 13, + "top" + ] + ], + "text-field": [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ] + }, + "paint": { + "icon-opacity": [ + "step", + [ + "zoom" + ], + [ + "step", + [ + "get", + "sizerank" + ], + 0, + 5, + 1 + ], + 17, + [ + "step", + [ + "get", + "sizerank" + ], + 0, + 13, + 1 + ] + ], + "text-halo-color": [ + "match", + [ + "get", + "class" + ], + "park_like", + "hsl(94, 100%, 0%)", + "medical", + "hsl(0, 5%, 3%)", + "hsl(0, 5%, 0%)" + ], + "text-halo-width": 0.5, + "text-halo-blur": 0.5, + "text-color": [ + "step", + [ + "zoom" + ], + [ + "step", + [ + "get", + "sizerank" + ], + [ + "match", + [ + "get", + "class" + ], + "food_and_drink", + "hsl(356, 0%, 100%)", + "park_like", + "hsl(94, 100%, 84%)", + "hsl(0, 0%, 100%)" + ], + 5, + [ + "match", + [ + "get", + "class" + ], + "food_and_drink", + "hsl(356, 0%, 100%)", + "park_like", + "hsl(94, 100%, 73%)", + "hsl(0, 0%, 100%)" + ] + ], + 17, + [ + "step", + [ + "get", + "sizerank" + ], + [ + "match", + [ + "get", + "class" + ], + "food_and_drink", + "hsl(356, 0%, 100%)", + "park_like", + "hsl(94, 100%, 84%)", + "hsl(0, 0%, 100%)" + ], + 13, + [ + "match", + [ + "get", + "class" + ], + "food_and_drink", + "hsl(356, 0%, 100%)", + "park_like", + "hsl(94, 100%, 73%)", + "hsl(0, 0%, 100%)" + ] + ] + ] + } + }, + { + "id": "transit-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "transit", + "mapbox:group": "Transit, transit-labels" + }, + "source": "composite", + "source-layer": "transit_stop_label", + "minzoom": 12, + "filter": [ + "step", + [ + "zoom" + ], + [ + "all", + [ + "match", + [ + "get", + "mode" + ], + "rail", + true, + "metro_rail", + true, + false + ], + [ + "!=", + [ + "get", + "stop_type" + ], + "entrance" + ] + ], + 15, + [ + "all", + [ + "match", + [ + "get", + "mode" + ], + "rail", + true, + "metro_rail", + true, + "light_rail", + true, + false + ], + [ + "!=", + [ + "get", + "stop_type" + ], + "entrance" + ] + ], + 16, + [ + "all", + [ + "match", + [ + "get", + "mode" + ], + "ferry", + false, + "bus", + false, + true + ], + [ + "!=", + [ + "get", + "stop_type" + ], + "entrance" + ] + ], + 17, + [ + "all", + [ + "match", + [ + "get", + "mode" + ], + "ferry", + false, + true + ], + [ + "!=", + [ + "get", + "stop_type" + ], + "entrance" + ] + ], + 19, + [ + "match", + [ + "get", + "mode" + ], + "ferry", + false, + true + ] + ], + "layout": { + "text-size": 12, + "icon-image": [ + "get", + "network" + ], + "text-font": [ + "DIN Pro Bold", + "Arial Unicode MS Bold" + ], + "text-justify": [ + "match", + [ + "get", + "stop_type" + ], + "entrance", + "left", + "center" + ], + "text-offset": [ + "match", + [ + "get", + "stop_type" + ], + "entrance", + [ + "literal", + [ + 1, + 0 + ] + ], + [ + "literal", + [ + 0, + 0.8 + ] + ] + ], + "text-anchor": [ + "match", + [ + "get", + "stop_type" + ], + "entrance", + "left", + "top" + ], + "text-field": [ + "step", + [ + "zoom" + ], + "", + 14, + [ + "match", + [ + "get", + "mode" + ], + [ + "rail", + "metro_rail" + ], + [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ], + "" + ], + 16, + [ + "match", + [ + "get", + "mode" + ], + [ + "bus", + "bicycle" + ], + "", + [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ] + ], + 18, + [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ] + ], + "text-letter-spacing": 0.01, + "text-max-width": [ + "match", + [ + "get", + "stop_type" + ], + "entrance", + 15, + 9 + ] + }, + "paint": { + "text-halo-color": "hsl(0, 5%, 0%)", + "text-color": "hsl(0, 0%, 100%)", + "text-halo-blur": 0.5, + "text-halo-width": 0.5 + } + }, + { + "id": "airport-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "transit", + "mapbox:group": "Transit, transit-labels" + }, + "source": "composite", + "source-layer": "airport_label", + "minzoom": 8, + "layout": { + "text-line-height": 1.1, + "text-size": [ + "step", + [ + "get", + "sizerank" + ], + 18, + 9, + 12 + ], + "icon-image": [ + "step", + [ + "get", + "sizerank" + ], + [ + "concat", + [ + "get", + "maki" + ], + "-15" + ], + 9, + [ + "concat", + [ + "get", + "maki" + ], + "-11" + ] + ], + "text-font": [ + "DIN Pro Bold", + "Arial Unicode MS Bold" + ], + "text-offset": [ + 0, + 0.75 + ], + "text-rotation-alignment": "viewport", + "text-anchor": "top", + "text-field": [ + "step", + [ + "get", + "sizerank" + ], + [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ], + 15, + [ + "get", + "ref" + ] + ], + "text-letter-spacing": 0.01, + "text-max-width": 9 + }, + "paint": { + "text-color": "hsl(0, 0%, 100%)", + "text-halo-color": "hsl(0, 20%, 3%)", + "text-halo-width": 1 + } + }, + { + "id": "settlement-subdivision-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "place-labels", + "mapbox:group": "Place labels, place-labels" + }, + "source": "composite", + "source-layer": "place_label", + "minzoom": 10, + "maxzoom": 15, + "filter": [ + "all", + [ + "case", + [ + "==", + [ + "get", + "disputed" + ], + "true" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "settlement_subdivision", + "disputed_settlement_subdivision" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + [ + "==", + [ + "get", + "class" + ], + "settlement_subdivision" + ] + ], + [ + "<=", + [ + "get", + "filterrank" + ], + 4 + ] + ], + "layout": { + "text-field": [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ], + "text-transform": "uppercase", + "text-font": [ + "DIN Pro Medium", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": [ + "match", + [ + "get", + "type" + ], + "suburb", + 0.15, + 0.1 + ], + "text-max-width": 7, + "text-padding": 3, + "text-size": [ + "interpolate", + [ + "cubic-bezier", + 0.5, + 0, + 1, + 1 + ], + [ + "zoom" + ], + 11, + [ + "match", + [ + "get", + "type" + ], + "suburb", + 11, + 10.5 + ], + 15, + [ + "match", + [ + "get", + "type" + ], + "suburb", + 17, + 16 + ] + ] + }, + "paint": { + "text-halo-color": "hsla(0, 5%, 0%, 0.75)", + "text-halo-width": 1, + "text-color": "hsl(0, 0%, 100%)", + "text-halo-blur": 0.5 + } + }, + { + "id": "settlement-minor-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "place-labels", + "mapbox:group": "Place labels, place-labels" + }, + "source": "composite", + "source-layer": "place_label", + "maxzoom": 15, + "filter": [ + "all", + [ + "<=", + [ + "get", + "filterrank" + ], + 3 + ], + [ + "case", + [ + "==", + [ + "get", + "disputed" + ], + "true" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "settlement", + "disputed_settlement" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + [ + "==", + [ + "get", + "class" + ], + "settlement" + ] + ], + [ + "step", + [ + "zoom" + ], + true, + 8, + [ + ">=", + [ + "get", + "symbolrank" + ], + 11 + ], + 10, + [ + ">=", + [ + "get", + "symbolrank" + ], + 12 + ], + 11, + [ + ">=", + [ + "get", + "symbolrank" + ], + 13 + ], + 12, + [ + ">=", + [ + "get", + "symbolrank" + ], + 15 + ], + 13, + [ + ">=", + [ + "get", + "symbolrank" + ], + 11 + ], + 14, + [ + ">=", + [ + "get", + "symbolrank" + ], + 13 + ] + ] + ], + "layout": { + "text-line-height": 1.1, + "text-size": [ + "interpolate", + [ + "cubic-bezier", + 0.2, + 0, + 0.9, + 1 + ], + [ + "zoom" + ], + 3, + [ + "step", + [ + "get", + "symbolrank" + ], + 12, + 9, + 11, + 10, + 10.5, + 12, + 9.5, + 14, + 8.5, + 16, + 6.5, + 17, + 4 + ], + 13, + [ + "step", + [ + "get", + "symbolrank" + ], + 25, + 9, + 23, + 10, + 21, + 11, + 19, + 12, + 18, + 13, + 17, + 15, + 15 + ] + ], + "icon-image": [ + "step", + [ + "zoom" + ], + [ + "case", + [ + "==", + [ + "get", + "capital" + ], + 2 + ], + "border-dot-13", + [ + "step", + [ + "get", + "symbolrank" + ], + "dot-11", + 9, + "dot-10", + 11, + "dot-9" + ] + ], + 8, + "" + ], + "text-font": [ + "DIN Pro Medium", + "Arial Unicode MS Regular" + ], + "text-justify": [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "text_anchor" + ], + [ + "left", + "bottom-left", + "top-left" + ], + "left", + [ + "right", + "bottom-right", + "top-right" + ], + "right", + "center" + ], + 8, + "center" + ], + "text-offset": [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "capital" + ], + 2, + [ + "match", + [ + "get", + "text_anchor" + ], + "bottom", + [ + "literal", + [ + 0, + -0.3 + ] + ], + "bottom-left", + [ + "literal", + [ + 0.3, + -0.1 + ] + ], + "left", + [ + "literal", + [ + 0.45, + 0.1 + ] + ], + "top-left", + [ + "literal", + [ + 0.3, + 0.1 + ] + ], + "top", + [ + "literal", + [ + 0, + 0.3 + ] + ], + "top-right", + [ + "literal", + [ + -0.3, + 0.1 + ] + ], + "right", + [ + "literal", + [ + -0.45, + 0 + ] + ], + "bottom-right", + [ + "literal", + [ + -0.3, + -0.1 + ] + ], + [ + "literal", + [ + 0, + -0.3 + ] + ] + ], + [ + "match", + [ + "get", + "text_anchor" + ], + "bottom", + [ + "literal", + [ + 0, + -0.25 + ] + ], + "bottom-left", + [ + "literal", + [ + 0.2, + -0.05 + ] + ], + "left", + [ + "literal", + [ + 0.4, + 0.05 + ] + ], + "top-left", + [ + "literal", + [ + 0.2, + 0.05 + ] + ], + "top", + [ + "literal", + [ + 0, + 0.25 + ] + ], + "top-right", + [ + "literal", + [ + -0.2, + 0.05 + ] + ], + "right", + [ + "literal", + [ + -0.4, + 0.05 + ] + ], + "bottom-right", + [ + "literal", + [ + -0.2, + -0.05 + ] + ], + [ + "literal", + [ + 0, + -0.25 + ] + ] + ] + ], + 8, + [ + "literal", + [ + 0, + 0 + ] + ] + ], + "text-anchor": [ + "step", + [ + "zoom" + ], + [ + "get", + "text_anchor" + ], + 8, + "center" + ], + "text-field": [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ], + "text-max-width": 7 + }, + "paint": { + "text-color": "hsl(0, 0%, 95%)", + "text-halo-color": "hsl(0, 5%, 0%)", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "settlement-major-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "place-labels", + "mapbox:group": "Place labels, place-labels" + }, + "source": "composite", + "source-layer": "place_label", + "maxzoom": 15, + "filter": [ + "all", + [ + "<=", + [ + "get", + "filterrank" + ], + 3 + ], + [ + "case", + [ + "==", + [ + "get", + "disputed" + ], + "true" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "settlement", + "disputed_settlement" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + [ + "==", + [ + "get", + "class" + ], + "settlement" + ] + ], + [ + "step", + [ + "zoom" + ], + false, + 8, + [ + "<", + [ + "get", + "symbolrank" + ], + 11 + ], + 10, + [ + "<", + [ + "get", + "symbolrank" + ], + 12 + ], + 11, + [ + "<", + [ + "get", + "symbolrank" + ], + 13 + ], + 12, + [ + "<", + [ + "get", + "symbolrank" + ], + 15 + ], + 13, + [ + ">=", + [ + "get", + "symbolrank" + ], + 11 + ], + 14, + [ + ">=", + [ + "get", + "symbolrank" + ], + 13 + ] + ] + ], + "layout": { + "text-line-height": 1.1, + "text-size": [ + "interpolate", + [ + "cubic-bezier", + 0.2, + 0, + 0.9, + 1 + ], + [ + "zoom" + ], + 8, + [ + "step", + [ + "get", + "symbolrank" + ], + 18, + 9, + 17, + 10, + 15 + ], + 15, + [ + "step", + [ + "get", + "symbolrank" + ], + 28, + 9, + 26, + 10, + 23, + 11, + 21, + 12, + 20, + 13, + 19, + 15, + 16 + ] + ], + "icon-image": [ + "step", + [ + "zoom" + ], + [ + "case", + [ + "==", + [ + "get", + "capital" + ], + 2 + ], + "border-dot-13", + [ + "step", + [ + "get", + "symbolrank" + ], + "dot-11", + 9, + "dot-10", + 11, + "dot-9" + ] + ], + 8, + "" + ], + "text-font": [ + "DIN Pro Medium", + "Arial Unicode MS Regular" + ], + "text-justify": [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "text_anchor" + ], + [ + "left", + "bottom-left", + "top-left" + ], + "left", + [ + "right", + "bottom-right", + "top-right" + ], + "right", + "center" + ], + 8, + "center" + ], + "text-offset": [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "capital" + ], + 2, + [ + "match", + [ + "get", + "text_anchor" + ], + "bottom", + [ + "literal", + [ + 0, + -0.3 + ] + ], + "bottom-left", + [ + "literal", + [ + 0.3, + -0.1 + ] + ], + "left", + [ + "literal", + [ + 0.45, + 0.1 + ] + ], + "top-left", + [ + "literal", + [ + 0.3, + 0.1 + ] + ], + "top", + [ + "literal", + [ + 0, + 0.3 + ] + ], + "top-right", + [ + "literal", + [ + -0.3, + 0.1 + ] + ], + "right", + [ + "literal", + [ + -0.45, + 0 + ] + ], + "bottom-right", + [ + "literal", + [ + -0.3, + -0.1 + ] + ], + [ + "literal", + [ + 0, + -0.3 + ] + ] + ], + [ + "match", + [ + "get", + "text_anchor" + ], + "bottom", + [ + "literal", + [ + 0, + -0.25 + ] + ], + "bottom-left", + [ + "literal", + [ + 0.2, + -0.05 + ] + ], + "left", + [ + "literal", + [ + 0.4, + 0.05 + ] + ], + "top-left", + [ + "literal", + [ + 0.2, + 0.05 + ] + ], + "top", + [ + "literal", + [ + 0, + 0.25 + ] + ], + "top-right", + [ + "literal", + [ + -0.2, + 0.05 + ] + ], + "right", + [ + "literal", + [ + -0.4, + 0.05 + ] + ], + "bottom-right", + [ + "literal", + [ + -0.2, + -0.05 + ] + ], + [ + "literal", + [ + 0, + -0.25 + ] + ] + ] + ], + 8, + [ + "literal", + [ + 0, + 0 + ] + ] + ], + "text-anchor": [ + "step", + [ + "zoom" + ], + [ + "get", + "text_anchor" + ], + 8, + "center" + ], + "text-field": [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ], + "text-max-width": 7 + }, + "paint": { + "text-color": "hsl(0, 0%, 95%)", + "text-halo-color": "hsl(0, 5%, 0%)", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "state-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "place-labels", + "mapbox:group": "Place labels, place-labels" + }, + "source": "composite", + "source-layer": "place_label", + "minzoom": 3, + "maxzoom": 9, + "filter": [ + "case", + [ + "==", + [ + "get", + "disputed" + ], + "true" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "state", + "disputed_state" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + [ + "==", + [ + "get", + "class" + ], + "state" + ] + ], + "layout": { + "text-size": [ + "interpolate", + [ + "cubic-bezier", + 0.85, + 0.7, + 0.65, + 1 + ], + [ + "zoom" + ], + 4, + [ + "step", + [ + "get", + "symbolrank" + ], + 10, + 6, + 9.5, + 7, + 9 + ], + 9, + [ + "step", + [ + "get", + "symbolrank" + ], + 24, + 6, + 18, + 7, + 14 + ] + ], + "text-transform": "uppercase", + "text-font": [ + "DIN Pro Bold", + "Arial Unicode MS Bold" + ], + "text-field": [ + "step", + [ + "zoom" + ], + [ + "step", + [ + "get", + "symbolrank" + ], + [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ], + 5, + [ + "coalesce", + [ + "get", + "abbr" + ], + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ] + ], + 5, + [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ] + ], + "text-letter-spacing": 0.15, + "text-max-width": 6 + }, + "paint": { + "text-color": "hsl(0, 0%, 95%)", + "text-halo-color": "hsl(0, 5%, 0%)", + "text-halo-width": 1 + } + }, + { + "id": "country-label", + "type": "symbol", + "metadata": { + "mapbox:featureComponent": "place-labels", + "mapbox:group": "Place labels, place-labels" + }, + "source": "composite", + "source-layer": "place_label", + "minzoom": 1, + "maxzoom": 10, + "filter": [ + "case", + [ + "==", + [ + "get", + "disputed" + ], + "true" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "country", + "disputed_country" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview" + ], + [ + "all", + "US" + ], + true, + false + ] + ], + [ + "==", + [ + "get", + "class" + ], + "country" + ] + ], + "layout": { + "icon-image": "", + "text-field": [ + "coalesce", + [ + "get", + "name_en" + ], + [ + "get", + "name" + ] + ], + "text-line-height": 1.1, + "text-max-width": 6, + "text-font": [ + "DIN Pro Medium", + "Arial Unicode MS Regular" + ], + "text-offset": [ + "literal", + [ + 0, + 0 + ] + ], + "text-justify": [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "text_anchor" + ], + [ + "left", + "bottom-left", + "top-left" + ], + "left", + [ + "right", + "bottom-right", + "top-right" + ], + "right", + "center" + ], + 7, + "center" + ], + "text-size": [ + "interpolate", + [ + "cubic-bezier", + 0.2, + 0, + 0.7, + 1 + ], + [ + "zoom" + ], + 1, + [ + "step", + [ + "get", + "symbolrank" + ], + 11, + 4, + 9, + 5, + 8 + ], + 9, + [ + "step", + [ + "get", + "symbolrank" + ], + 28, + 4, + 22, + 5, + 21 + ] + ] + }, + "paint": { + "icon-opacity": [ + "step", + [ + "zoom" + ], + [ + "case", + [ + "has", + "text_anchor" + ], + 1, + 0 + ], + 7, + 0 + ], + "text-color": "hsl(0, 0%, 95%)", + "text-halo-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 2, + "hsla(0, 5%, 0%, 0.75)", + 3, + "hsl(0, 5%, 0%)" + ], + "text-halo-width": 1.25 + } + }, + { + "id": "health-facilities", + "type": "circle", + "source": "health-facilities-data-set", + "filter": [ + "==", + "$type", + "Point" + ], + "layout": {}, + "paint": { + "circle-radius": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 0, + 17.79, + 10, + 18.8, + 15 + ], + "circle-color": [ + "match", + [ + "get", + "CEmONC" + ], + [ + "Yes" + ], + "#11d472", + [ + "No" + ], + "#116cd4", + "hsl(262, 100%, 68%)" + ], + "circle-stroke-width": 1, + "circle-opacity": 0.5 + } + }, + { + "id": "health-facilities-labels", + "type": "symbol", + "source": "health-facilities-data-set", + "filter": [ + "==", + "$type", + "Point" + ], + "layout": { + "text-allow-overlap": true, + "text-anchor": "bottom", + "text-padding": 1, + "text-field": [ + "get", + "Facility Name" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9.9, + 0, + 10, + 6.5, + 18, + 20 + ] + }, + "paint": { + "text-color": "#ffffff", + "text-halo-color": "#000000", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "community-transporters", + "type": "circle", + "source": "community-transporters-data-set", + "filter": [ + "==", + "$type", + "Point" + ], + "layout": {}, + "paint": { + "circle-radius": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 0, + 17.79, + 10, + 18.8, + 15 + ], + "circle-color": "hsl(356.8,82.3%,44.3%)", + "circle-stroke-width": 1, + "circle-opacity": 0.5 + } + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/config/anc-reporting-indicator-definitions.yml b/opensrp-chw/src/nacp/assets/config/anc-reporting-indicator-definitions.yml new file mode 100644 index 0000000000..4937a313f2 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/config/anc-reporting-indicator-definitions.yml @@ -0,0 +1,56 @@ +indicators: + - key: "anc_report_indicator_1" + description: "COUNT of {wra} in the app" + indicatorQuery: "SELECT count (*) FROM ec_family_member inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id WHERE ec_family_member.is_closed == '0' AND entity_type = 'ec_family_member' AND gender = 'Female' AND dod IS NULL AND cast(strftime('%Y', 'now') - strftime('%Y', dob) as int) >= 10 AND cast(strftime('%Y', 'now') - strftime('%Y', dob) as int) <= 49;" + + - key: "anc_report_indicator_2" + description: "COUNT of all ANC women who are registered in the ANC register" + indicatorQuery: "SELECT count (*) FROM ec_anc_register inner join ec_family_member on ec_family_member.base_entity_id = ec_anc_register.base_entity_id inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id where ec_family_member.date_removed is null and ec_anc_register.is_closed is 0;" + + - key: "anc_report_indicator_3_1" + description: "COUNT of pregnant women who are currently not due or due for a CHW ANC home visit." + indicatorQuery: "SELECT count(DISTINCT ec_anc_register.base_entity_id) from ec_anc_register inner join ec_family_member on ec_family_member.base_entity_id = ec_anc_register.base_entity_id inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id WHERE ((replace(substr(last_home_visit, 7, 4) || substr(last_home_visit, 3, 3), '-', '') - strftime('%Y%m', 'now')) = 0 or last_home_visit is NULL) AND ec_anc_register.is_closed = '0' AND ec_family_member.date_removed is null;" + + - key: "anc_report_indicator_3_2" + description: "COUNT of pregnant women who are currently overdue for a CHW ANC home visit." + indicatorQuery: "SELECT count(DISTINCT ec_anc_register.base_entity_id) FROM ec_anc_register inner join ec_family_member on ec_family_member.base_entity_id = ec_anc_register.base_entity_id inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id WHERE (replace(substr(last_home_visit, 7, 4) || substr(last_home_visit, 3, 3), '-','') - strftime('%Y%m', 'now') < 0 ) AND ec_anc_register.is_closed = '0' AND ec_family_member.date_removed is null;" + + - key: "anc_report_indicator_4_1" + description: "COUNT of ANC women who are currently not due or due for an ANC health facility visit." + indicatorQuery: "SELECT count(DISTINCT ec_anc_register.base_entity_id) FROM ec_anc_register inner join ec_family_member on ec_family_member.base_entity_id = ec_anc_register.base_entity_id inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id where ec_family_member.date_removed is null and ec_anc_register.is_closed is 0 AND ec_anc_register.base_entity_id IN (SELECT ec_anc_register.base_entity_id FROM visits INNER JOIN ec_anc_register ON visits.base_entity_id = ec_anc_register.base_entity_id WHERE visit_id IN (select visit_id from (select max(details) m_details , visit_id from visit_details where visit_key = 'anc_hf_next_visit_date' group by visit_id) x where x.m_details > date()) AND ec_anc_register.is_closed = '0' AND visits.visit_type = 'ANC Home Visit')" + + - key: "anc_report_indicator_4_2" + description: "COUNT of ANC women who are currently overdue for an ANC health facility visit." + indicatorQuery: "SELECT count(DISTINCT ec_anc_register.base_entity_id) FROM ec_anc_register inner join ec_family_member on ec_family_member.base_entity_id = ec_anc_register.base_entity_id inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id where ec_family_member.date_removed is null and ec_anc_register.is_closed is 0 AND ec_anc_register.base_entity_id NOT IN (SELECT ec_anc_register.base_entity_id FROM visits INNER JOIN ec_anc_register ON visits.base_entity_id = ec_anc_register.base_entity_id WHERE visit_id IN (select visit_id from (select max(details) m_details , visit_id from visit_details where visit_key = 'anc_hf_next_visit_date' group by visit_id) x where x.m_details > date()) AND ec_anc_register.is_closed = '0' AND visits.visit_type = 'ANC Home Visit')" + + - key: "anc_report_indicator_5_1" + description: "Count of ANC women who had an HIV test done at least once during their pregnancy (selected {tests_done}, 'HIV test' during at least one ANC home visit)" + indicatorQuery: "SELECT count(DISTINCT ec_anc_register.base_entity_id) FROM visits INNER JOIN ec_anc_register ON visits.base_entity_id = ec_anc_register.base_entity_id WHERE visit_id IN (SELECT DISTINCT visit_id FROM visit_details WHERE visit_key = 'tests_done' AND human_readable_details = 'HIV test') AND ec_anc_register.is_closed = '0' AND visits.visit_type = 'ANC Home Visit'" + + - key: "anc_report_indicator_5_2" + description: "Count of ANC women who did not have any HIV test done during their pregnancy." + indicatorQuery: "SELECT count(DISTINCT ec_anc_register.base_entity_id) FROM ec_anc_register inner join ec_family_member on ec_family_member.base_entity_id = ec_anc_register.base_entity_id inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id where ec_family_member.date_removed is null and ec_anc_register.is_closed is 0 AND ec_anc_register.base_entity_id NOT IN (SELECT DISTINCT ec_anc_register.base_entity_id FROM visits INNER JOIN ec_anc_register ON visits.base_entity_id = ec_anc_register.base_entity_id WHERE visit_id IN (SELECT DISTINCT visit_id FROM visit_details WHERE visit_key = 'tests_done' AND human_readable_details = 'HIV test') AND ec_anc_register.is_closed = '0' AND visits.visit_type = 'ANC Home Visit')" + + - key: "anc_report_indicator_6_1" + description: " Count of ANC women who had a syphilis test done at least once during their pregnancy (selected {tests_done}, 'Syphilis test' during at least one ANC home visit)" + indicatorQuery: "SELECT count(DISTINCT ec_anc_register.base_entity_id) FROM visits INNER JOIN ec_anc_register ON visits.base_entity_id = ec_anc_register.base_entity_id WHERE visit_id IN (SELECT DISTINCT visit_id FROM visit_details WHERE visit_key = 'tests_done' AND human_readable_details = 'Syphilis test') AND ec_anc_register.is_closed = '0' AND visits.visit_type = 'ANC Home Visit'" + + - key: "anc_report_indicator_6_2" + description: "Count of ANC women who did not have any syphilis test done during their pregnancy." + indicatorQuery: "SELECT count(DISTINCT ec_anc_register.base_entity_id) FROM ec_anc_register inner join ec_family_member on ec_family_member.base_entity_id = ec_anc_register.base_entity_id inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id where ec_family_member.date_removed is null and ec_anc_register.is_closed is 0 AND ec_anc_register.base_entity_id NOT IN (SELECT ec_anc_register.base_entity_id FROM visits INNER JOIN ec_anc_register ON visits.base_entity_id = ec_anc_register.base_entity_id WHERE visit_id IN (SELECT DISTINCT visit_id FROM visit_details WHERE visit_key = 'tests_done' AND human_readable_details = 'Syphilis test') AND ec_anc_register.is_closed = '0' AND visits.visit_type = 'ANC Home Visit')" + + - key: "anc_report_indicator_7_1" + description: "Count of ANC women who are currently not due or due for any TT vaccine dose" + indicatorQuery: "SELECT count(DISTINCT ec_anc_register.base_entity_id) FROM ec_anc_register inner join ec_family_member on ec_family_member.base_entity_id = ec_anc_register.base_entity_id inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id where ec_family_member.date_removed is null and ec_anc_register.is_closed is 0 AND ec_anc_register.base_entity_id IN (SELECT DISTINCT caseID FROM alerts WHERE (visitCode = 'tt1' OR visitCode = 'tt2' OR visitCode = 'tt3') AND status = 'normal')" + + - key: "anc_report_indicator_7_2" + description: "Count of ANC women who are currently overdue for a TT vaccine dose" + indicatorQuery: "SELECT count(Distinct ec_anc_register.base_entity_id) FROM ec_anc_register inner join ec_family_member on ec_family_member.base_entity_id = ec_anc_register.base_entity_id inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id where ec_family_member.date_removed is null and ec_anc_register.is_closed is 0 AND ec_anc_register.base_entity_id NOT IN (SELECT DISTINCT caseID FROM alerts WHERE (visitCode = 'tt1' OR visitCode = 'tt2' OR visitCode = 'tt3') AND status = 'normal')" + + - key: "anc_report_indicator_8_1" + description: "Count of ANC women who are currently not due or due for an IPTp-SP dose" + indicatorQuery: "SELECT count (DISTINCT ec_anc_register.base_entity_id) FROM ec_anc_register inner join ec_family_member on ec_family_member.base_entity_id = ec_anc_register.base_entity_id inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id where ec_family_member.date_removed is null and ec_anc_register.is_closed is 0 AND ec_anc_register.base_entity_id IN (SELECT DISTINCT caseID FROM alerts WHERE (visitCode = 'iptp-spdose1' OR visitCode = 'iptp-spdose2' OR visitCode = 'iptp-spdose3') AND status = 'normal')" + + - key: "anc_report_indicator_8_2" + description: " Count of ANC women who are currently overdue for an IPTp-SP dose" + indicatorQuery: "SELECT count(DISTINCT ec_anc_register.base_entity_id) FROM ec_anc_register inner join ec_family_member on ec_family_member.base_entity_id = ec_anc_register.base_entity_id inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id where ec_family_member.date_removed is null and ec_anc_register.is_closed is 0 AND ec_anc_register.base_entity_id NOT IN (SELECT DISTINCT caseID FROM alerts WHERE (visitCode = 'iptp-spdose1' OR visitCode = 'iptp-spdose2' OR visitCode = 'iptp-spdose3') AND status = 'normal')" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/config/child-reporting-indicator-definitions.yml b/opensrp-chw/src/nacp/assets/config/child-reporting-indicator-definitions.yml new file mode 100644 index 0000000000..48c10a0880 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/config/child-reporting-indicator-definitions.yml @@ -0,0 +1,154 @@ +indicators: + - key: "CHW_001" + description: "Total U5 children" + indicatorQuery: "select count(*) from ec_child c + inner join ec_family_member m on c.base_entity_id = m.base_entity_id COLLATE NOCASE + inner join ec_family f on f.base_entity_id = m.relational_id COLLATE NOCASE + where m.date_removed is null and m.is_closed = 0 + and ((( julianday('now') - julianday(c.dob))/365.25) < 5) and c.is_closed = 0 + and ((( ifnull(entry_point,'') <> 'PNC' )) or (ifnull(entry_point,'') = 'PNC' and ( date (c.dob, '+28 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = mother_entity_id ) = 0))) or (ifnull(entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = mother_entity_id ) = 1))" + + - key: "CHW_002" + description: "Children (0-11 months) who died in the last year" + indicatorQuery: "select count(distinct event.baseEntityId) from event where eventType = 'Remove Child Under 5' + and eventDate = '%s' + and event.baseEntityId in (select ec_child.base_entity_id + from ec_child where date(ec_child.dob) >= date('now', '-11 month') and date(ec_child.dod) >= date('now', '-12 month'))" + + - key: "CHW_003" + description: "Children (12-59 months) who died in the last year" + indicatorQuery: "select count(distinct event.baseEntityId) from event where eventType = 'Remove Child Under 5' + and eventDate = '%s' + and event.baseEntityId in (select ec_child.base_entity_id + from ec_child where date(ec_child.dob) >= date('now', '-60 month') and date(ec_child.dob) < date('now', '-11 month') and date(ec_child.dod) >= date('now', '-12 month'))" + + - key: "CHW_004" + description: "Children (0-59 months) with a birth certificate" + indicatorQuery: "select count(distinct event.baseEntityId) from event where eventType = 'Birth Certification' + and eventDate = '%s' + and event.baseEntityId in (select distinct ec_child.base_entity_id from ec_child where ec_child.birth_cert = 'Yes' + and date(ec_child.dob) >= date('now', '-60 month') and ifnull(ec_child.dod,'') = '' and ifnull(ec_child.date_removed,'') = '')" + + - key: "CHW_005" + description: "Children (0-59 months) without a birth certificate" + indicatorQuery: "select count(distinct event.baseEntityId) from event where eventType = 'Birth Certification' + and eventDate = '%s' and event.baseEntityId in (select distinct ec_child.base_entity_id from ec_child where ec_child.birth_cert = 'No' + and date(ec_child.dob) >= date('now', '-60 month') and ifnull(ec_child.dod,'') = '' and ifnull(ec_child.date_removed,'') = '')" + + - key: "CHW_006" + description: "Children (12-59 months) who were dewormed in the last 6 months" + indicatorQuery: " select count(distinct re.base_entity_id) + from recurring_service_types rt + inner join recurring_service_records re on re.recurring_service_id = rt._id + inner join ec_child ec on ec.base_entity_id = re.base_entity_id and (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+28 days') <= date())) + inner join ec_family_member ef on ec.base_entity_id = ef.base_entity_id and ef.date_removed is null + where rt.type = 'Deworming' and date(ec.dob) between date('now', '-59 month') and date('now', '-12 month') + and ifnull(re.value,'yes') = 'yes' + and STRFTIME('%Y-%m-%d', datetime(re.date/1000,'unixepoch')) >=date('now', '-6 month') " + + - key: "CHW_007" + description: "Children (12-59 months) who were not dewormed in the last 6 months" + indicatorQuery: "select count(distinct ec.base_entity_id) + from ec_child ec + inner join ec_family_member ef on ec.base_entity_id = ef.base_entity_id and ef.date_removed is null + where (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+28 days') <= date())) + and date(ec.dob) between date('now', '-59 month') and date('now', '-12 month') + and ec.base_entity_id not in ( + select re.base_entity_id from recurring_service_records re + inner join recurring_service_types rt on re.recurring_service_id = rt._id + where rt.type = 'Deworming' and ifnull(re.value,'yes') = 'yes' + and STRFTIME('%Y-%m-%d', datetime(re.date/1000,'unixepoch')) >=date('now', '-6 month') + )" + + - key: "CHW_008" + description: "Children (6-59 months) who received Vitamin A in the last 6 months" + indicatorQuery: " select count(distinct re.base_entity_id) + from recurring_service_types rt + inner join recurring_service_records re on re.recurring_service_id = rt._id + inner join ec_child ec on ec.base_entity_id = re.base_entity_id and (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+28 days') <= date())) + inner join ec_family_member ef on ec.base_entity_id = ef.base_entity_id and ef.date_removed is null + where rt.type = 'Vitamin_A' and date(ec.dob) between date('now', '-59 month') and date('now', '-6 month') + and ifnull(re.value,'yes') = 'yes' + and STRFTIME('%Y-%m-%d', datetime(re.date/1000,'unixepoch')) >=date('now', '-6 month') " + + - key: "CHW_009" + description: "Children (6-59 months) who did not receive Vitamin A in the last 6 months" + indicatorQuery: " select count(distinct ec.base_entity_id) + from ec_child ec + inner join ec_family_member ef on ec.base_entity_id = ef.base_entity_id and ef.date_removed is null + where (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+28 days') <= date())) + and date(ec.dob) between date('now', '-59 month') and date('now', '-6 month') + and ec.base_entity_id not in ( + select re.base_entity_id from recurring_service_records re + inner join recurring_service_types rt on re.recurring_service_id = rt._id + where rt.type = 'Vitamin_A' and ifnull(re.value,'yes') = 'yes' + and STRFTIME('%Y-%m-%d', datetime(re.date/1000,'unixepoch')) >=date('now', '-6 month') + ) " + + - key: "CHW_010" + description: "Children (0-5 months) exclusively breastfeeding in their most recent home visit" + indicatorQuery: "select count(DISTINCT ec.base_entity_id) + from ec_child ec + inner join ( + select e.baseEntityId , max(e.eventDate) eventDate + from event e + where e.eventType = 'Child Home Visit' + group by e.baseEntityId + ) e on ec.base_entity_id = e.baseEntityId + inner join ec_family_member ef on ec.base_entity_id = ef.base_entity_id and ef.date_removed is null + inner join ( + select re.base_entity_id , STRFTIME('%Y-%m-%d', datetime(max(re.date)/1000,'unixepoch')) last_exclusive_date + from recurring_service_records re + inner join recurring_service_types rt on re.recurring_service_id = rt._id + where rt.type = 'Exclusive_breastfeeding' and ifnull(re.value,'yes') = 'yes' + group by re.base_entity_id + ) ex on ex.base_entity_id = e.baseEntityId and SUBSTR(e.eventDate,1,10) between date(ex.last_exclusive_date, '-1 day') and date(ex.last_exclusive_date, '1 day') + where (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+28 days') <= date())) + and date(ec.dob) between date('now', '-5 month') and date('now') " + + - key: "CHW_011" + description: "Children (0-5 months) not exclusively breastfeeding in their most recent home visit" + indicatorQuery: " select count(ec.base_entity_id) + from ec_child ec + inner join ( + select e.baseEntityId , max(e.eventDate) eventDate + from event e + where e.eventType = 'Child Home Visit' + group by e.baseEntityId + ) e on ec.base_entity_id = e.baseEntityId + inner join ec_family_member ef on ec.base_entity_id = ef.base_entity_id and ef.date_removed is null + left join ( + select re.base_entity_id , STRFTIME('%Y-%m-%d', datetime(max(re.date)/1000,'unixepoch')) last_exclusive_date + from recurring_service_records re + inner join recurring_service_types rt on re.recurring_service_id = rt._id + where rt.type = 'Exclusive_breastfeeding' and ifnull(re.value,'yes') = 'yes' + group by re.base_entity_id + ) ex on ex.base_entity_id = e.baseEntityId and SUBSTR(e.eventDate,1,10) between date(ex.last_exclusive_date, '-1 day') and date(ex.last_exclusive_date, '1 day') + where (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+28 days') <= date())) + and date(ec.dob) between date('now', '-5 month') and date('now') and ex.base_entity_id is null " + + - key: "CHW_012" + description: "Children (6-23 months) up to date on MNP supplementation" + indicatorQuery: "select count(distinct alerts.caseID) from alerts where alerts.scheduleName like 'MNP%%' and (alerts.status = 'upcoming' or alerts.status = 'normal') + and alerts.caseID in (select ec_child.base_entity_id from ec_child where date(ec_child.dob) < date('now', '-6 month') and date(ec_child.dob) > date('now', '-23 month') + and ifnull(ec_child.dod,'') = '' and ifnull(ec_child.date_removed,'') = '')" + + - key: "CHW_013" + description: "Children (6-23 months) overdue for MNP supplementation" + indicatorQuery: "select count(distinct alerts.caseID) from alerts where alerts.scheduleName like 'MNP%%' and alerts.status = 'urgent' + and alerts.caseID in (select ec_child.base_entity_id from ec_child where date(ec_child.dob) < date('now', '-6 month') and date(ec_child.dob) > date('now', '-23 month') + and ifnull(ec_child.dod,'') = '' and ifnull(ec_child.date_removed,'') = '')" + + - key: "CHW_014" + description: "Children (0-23 months) up to date on immunizations" + indicatorQuery: "select count(ec_child.base_entity_id) from ec_child where date(ec_child.dob) > date('now', '-24 month') + and ifnull(ec_child.dod,'') = '' and ifnull(ec_child.date_removed,'') = '' and ec_child.base_entity_id not in + (select distinct alerts.caseID from alerts where (alerts.status = 'upcoming' or alerts.status = 'normal' or alerts.status = 'urgent') and alerts.scheduleName + in ('BCG','OPV 1', 'OPV 2', 'OPV 3', 'PCV 1', 'PCV 2', 'PCV 3', 'Penta 1', 'Penta 2', 'Penta 3', 'Rota 1', 'Rota 2', 'IPV', 'YF', 'MCV 1', 'MCV 2'))" + + - key: "CHW_015" + description: "Children (0-23 months) who are currently overdue for at least one or more vaccinations" + indicatorQuery: "select count(ec_child.base_entity_id) from ec_child where date(ec_child.dob) > date('now', '-24 month') + and ifnull(ec_child.dod,'') = '' and ifnull(ec_child.date_removed,'') = '' and ec_child.base_entity_id in + (select distinct alerts.caseID from alerts where alerts.status = 'urgent' and alerts.scheduleName + in ('BCG','OPV 1', 'OPV 2', 'OPV 3', 'PCV 1', 'PCV 2', 'PCV 3', 'Penta 1', 'Penta 2', 'Penta 3', 'Rota 1', 'Rota 2', 'IPV', 'YF', 'MCV 1', 'MCV 2'))" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/config/indicator-definitions.yml b/opensrp-chw/src/nacp/assets/config/indicator-definitions.yml new file mode 100644 index 0000000000..55002de678 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/config/indicator-definitions.yml @@ -0,0 +1,1416 @@ +indicators: + - key: "newpreg_mama_visit" + description: "newpreg_mama_visit_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN visits v on v.base_entity_id = e.baseEntityId + WHERE e.eventType = 'ANC Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND (substr(e.eventDate, 1, 4) == strftime('%Y',date('now'), 'localtime')) + AND (substr(e.eventDate, 6, 2) == strftime('%m',date('now'), 'localtime')) + AND (v.visit_type = 'ANC Home Visit') + AND ( strftime('%Y',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%Y',date('now'), 'localtime')) + AND ( strftime('%m',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%m',date('now'), 'localtime'))" + + - key: "oldpreg_mama_visit" + description: "oldpreg_mama_visit_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN visits v on v.base_entity_id = e.baseEntityId + WHERE e.eventType = 'ANC Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND (date (e.eventDate) < date('now','start of month')) + AND v.visit_type = 'ANC Home Visit' + AND ( strftime('%Y',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%Y',date('now'), 'localtime')) + AND ( strftime('%m',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%m',date('now'), 'localtime'))" + + - key: "total_preg_visit" + description: "total_preg_visit_label" + indicatorQuery: "SELECT count (DISTINCT(v.base_entity_id)) as count + FROM visits v + WHERE v.visit_type = 'ANC Home Visit' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( strftime('%Y',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%Y',date('now'), 'localtime')) + AND ( strftime('%m',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%m',date('now'), 'localtime'))" + + - key: "pnc_visit" + description: "pnc_visit_label" + indicatorQuery: "SELECT count (DISTINCT(v.base_entity_id)) as count + FROM visits v + WHERE v.visit_type = 'PNC Home Visit' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( strftime('%Y',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%Y',date('now'), 'localtime')) + AND ( strftime('%m',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%m',date('now'), 'localtime'))" + + - key: "total_F_visited" + description: "total_F_visited_label" + indicatorQuery: "SELECT count (DISTINCT(v.base_entity_id)) as count + FROM visits v + WHERE ( v.visit_type = 'PNC Home Visit' OR v.visit_type = 'ANC Home Visit') + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( strftime('%Y',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%Y',date('now'), 'localtime')) + AND ( strftime('%m',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%m',date('now'), 'localtime'))" + + - key: "less1m_visit" + description: "less1m_visit_label" + indicatorQuery: "SELECT SUM(count) as count + FROM( + SELECT count(DISTINCT c.base_entity_id) as count + FROM ec_child c + INNER JOIN visits v on v.base_entity_id = c.mother_entity_id + WHERE v.visit_type = 'PNC Home Visit' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( strftime('%Y',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%Y',date('now'), 'localtime')) + AND ( strftime('%m',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%m',date('now'), 'localtime')) + AND ( date(c.dob, '+1 month') > date ('now')) + UNION ALL + SELECT count(DISTINCT c.base_entity_id) as count + FROM ec_child c + INNER JOIN visits v on v.base_entity_id = c.base_entity_id + WHERE( date(c.dob, '+1 month') > date ('now')) + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND v.visit_type = 'Child Home Visit' + AND ( strftime('%Y',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%Y',date('now'), 'localtime')) + AND ( strftime('%m',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%m',date('now'), 'localtime')) + )" + + - key: "1m1yr_visit" + description: "reporting_1m1yr_visit_label" + indicatorQuery: "SELECT count(DISTINCT c.base_entity_id) as count + FROM ec_child c + INNER JOIN visits v on v.base_entity_id = c.base_entity_id + WHERE( date(c.dob, '+1 month') <= date ('now')) + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND( date(c.dob, '+1 year') > date ('now')) + AND v.visit_type = 'Child Home Visit' + AND ( strftime('%Y',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%Y',date('now'), 'localtime')) + AND ( strftime('%m',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%m',date('now'), 'localtime'))" + + - key: "1yr5yr_visit" + description: "reporting_1yr5yr_visit_label" + indicatorQuery: "SELECT count(DISTINCT c.base_entity_id) as count + FROM ec_child c + INNER JOIN visits v on v.base_entity_id = c.base_entity_id + WHERE( date(c.dob, '+1 year') <= date ('now')) + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND( date(c.dob, '+5 years') >= date ('now')) + AND v.visit_type = 'Child Home Visit' + AND ( strftime('%Y',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%Y',date('now'), 'localtime')) + AND ( strftime('%m',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%m',date('now'), 'localtime'))" + + - key: "total_U5_visit" + description: "total_U5_visit_label" + indicatorQuery: "SELECT count(1) as count + FROM event e + INNER JOIN ec_child c on c.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Child Registration' OR e.eventType = 'PNC Child Registration') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND (c.is_closed = '0')" + + - key: "hh_visited" + description: "hh_visited_label" + indicatorQuery: "SELECT SUM(count) + FROM ( + SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + WHERE e.eventType = 'Family Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND (substr(e.eventDate, 1, 4) == strftime('%Y',date('now'), 'localtime')) + AND (substr(e.eventDate, 6, 2) == strftime('%m',date('now'), 'localtime')) + AND e.baseEntityId NOT IN( + SELECT DISTINCT fm.relational_id + FROM ec_family_member fm + INNER JOIN visits v on v.base_entity_id = fm.base_entity_id + WHERE ( v.visit_type = 'PNC Home Visit' OR v.visit_type = 'ANC Home Visit' OR v.visit_type = 'FP Follow up Visit Resupply' + OR v.visit_type = 'FP Follow-up Visit Side-effects' OR v.visit_type = 'FP Follow up visit Counselling' OR v.visit_type = 'Child Home Visit') + AND ( strftime('%Y',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%Y',date('now'), 'localtime')) + AND ( strftime('%m',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%m',date('now'), 'localtime')) + ) + UNION ALL + SELECT COUNT(DISTINCT fm.relational_id) as count + FROM visits v + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE ( v.visit_type = 'PNC Home Visit' OR v.visit_type = 'ANC Home Visit' OR v.visit_type = 'FP Follow up Visit Resupply' + OR v.visit_type = 'FP Follow-up Visit Side-effects' OR v.visit_type = 'FP Follow up visit Counselling' OR v.visit_type = 'Child Home Visit') + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( strftime('%Y',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%Y',date('now'), 'localtime')) + AND ( strftime('%m',(datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) == strftime('%m',date('now'), 'localtime')) + )" + + - key: "F_referral_hf" + description: "F_referral_hf_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + WHERE (e.eventType = 'ANC Referral' OR e.eventType = 'PNC Referral' OR e.eventType = 'Family Planning Referral' OR e.eventType = 'Malaria Referral') + AND ('%s' = (substr(e.eventDate, 1,10)))" + + - key: "less1m_referral_hf" + description: "less1m_referral_hf_label" + indicatorQuery: "SELECT SUM(count) as count + FROM( + SELECT count(DISTINCT c.base_entity_id) as count + FROM ec_child c + INNER JOIN event e on e.baseEntityId = c.base_entity_id + WHERE( date(c.dob, '+1 month') > date ('now')) + AND ('%s' = (substr(e.eventDate, 1,10))) + AND e.eventType = 'Sick Child Referral' + UNION ALL + SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_child c on c.mother_entity_id = e.baseEntityId + WHERE e.eventType = 'PNC Referral' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(c.dob, '+1 month') > date ('now')) + AND e.eventType = 'PNC Referral')" + + - key: "1m1yr_referral_hf" + description: "reporting_1m1yr_referral_hf_label" + indicatorQuery: "SELECT count(DISTINCT c.base_entity_id) as count + FROM ec_child c + INNER JOIN event e on e.baseEntityId = c.base_entity_id + WHERE( date(c.dob, '+1 month') <= date ('now')) + AND ('%s' = (substr(e.eventDate, 1,10))) + AND( date(c.dob, '+1 year') > date ('now')) + AND e.eventType = 'Sick Child Referral'" + + - key: "1yr5yr_referral_hf" + description: "reporting_1yr5yr_referral_hf_label" + indicatorQuery: "SELECT count(DISTINCT c.base_entity_id) as count + FROM ec_child c + INNER JOIN event e on e.baseEntityId = c.base_entity_id + WHERE( date(c.dob, '+1 year') <= date ('now')) + AND ('%s' = (substr(e.eventDate, 1,10))) + AND( date(c.dob, '+5 years') >= date ('now')) + AND e.eventType = 'Sick Child Referral'" + + - key: "total_referral" + description: "total_referral_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + WHERE (e.eventType = 'ANC Referral' OR e.eventType = 'PNC Referral' OR e.eventType = 'Family Planning Referral' OR e.eventType = 'Malaria Referral' OR e.eventType = 'Sick Child Referral') + AND ('%s' = (substr(e.eventDate, 1,10)))" + + - key: "no_healthedu_meet" + description: "no_healthedu_meet_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + WHERE (e.eventType = ' Health Education Meeting') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND (substr(e.eventDate, 1, 4) == strftime('%Y',date('now'), 'localtime')) + AND (substr(e.eventDate, 6, 2) == strftime('%m',date('now'), 'localtime'))" + + - key: "no_ppl_attend_meet" + description: "no_ppl_attend_meet_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + WHERE (e.eventType = ' Health Education Meeting') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND (substr(e.eventDate, 1, 4) == strftime('%Y',date('now'), 'localtime')) + AND (substr(e.eventDate, 6, 2) == strftime('%m',date('now'), 'localtime'))" + + - key: "F_death_home" + description: "F_death_home_label" + indicatorQuery: "SELECT count (0) as count FROM ec_child WHERE is_closed is 2" + + - key: "no_maternal_death" + description: "no_maternal_death_label" + indicatorQuery: "SELECT count (0) as count FROM ec_child WHERE is_closed is 2" + + - key: "less1m_death_home" + description: "less1m_death_home_label" + indicatorQuery: "SELECT count (0) as count FROM ec_child WHERE is_closed is 2" + + - key: "total_less1m_deaths" + description: "total_less1m_deaths_label" + indicatorQuery: "SELECT count (0) as count FROM ec_child WHERE is_closed is 2" + + - key: "1m1yr_death_home" + description: "reporting_1m1yr_death_home_label" + indicatorQuery: "SELECT count (0) as count FROM ec_child WHERE is_closed is 2" + + - key: "total_1m1yr_deaths" + description: "total_1m1yr_deaths_label" + indicatorQuery: "SELECT count (0) as count FROM ec_child WHERE is_closed is 2" + + - key: "1yr5yr_death_home" + description: "reporting_1yr5yr_death_home_label" + indicatorQuery: "SELECT count (0) as count FROM ec_child WHERE is_closed is 2" + + - key: "total_1yr5yr_deaths" + description: "total_1yr5yr_deaths_label" + indicatorQuery: "SELECT count (0) as count FROM ec_child WHERE is_closed is 2" + + - key: "birth_home" + description: "birth_home_label" + indicatorQuery: "SELECT count(DISTINCT pg.base_entity_id) as count + FROM ec_pregnancy_outcome pg + INNER JOIN event e on e.baseEntityId = pg.base_entity_id + WHERE pg.delivery_place = 'At home' + AND ('%s' = (substr(e.eventDate, 1,10)))" + + - key: "birth_home_healer" + description: "birth_home_healer_label" + indicatorQuery: "SELECT count(DISTINCT pg.base_entity_id) as count + FROM ec_pregnancy_outcome pg + INNER JOIN event e on e.baseEntityId = pg.base_entity_id + WHERE pg.delivery_place = 'At home' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND pg.delivery_home = 'She gave birth at home with the help of a traditional midwife'" + + - key: "birth_way_hf" + description: "birth_way_hf_label" + indicatorQuery: "SELECT count(DISTINCT pg.base_entity_id) as count + FROM ec_pregnancy_outcome pg + INNER JOIN event e on e.baseEntityId = pg.base_entity_id + WHERE pg.delivery_place = 'On the way to the health facility' + AND ('%s' = (substr(e.eventDate, 1,10)))" + + - key: "total_birth_home" + description: "total_birth_home_label" + indicatorQuery: "SELECT count(DISTINCT pg.base_entity_id) as count + FROM ec_pregnancy_outcome pg + INNER JOIN event e on e.baseEntityId = pg.base_entity_id + WHERE ( pg.delivery_place = 'At home' OR pg.delivery_place = 'On the way to the health facility') + AND ('%s' = (substr(e.eventDate, 1,10)))" + + - key: "10y14y_new_clients" + description: "reporting_10y14y_new_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND ( fp.using_method = 'no') + AND ( fm.gender = 'Female')" + + - key: "10y14y_new_men_clients" + description: "reporting_10y14y_new_men_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND ( fp.using_method = 'no') + AND ( fm.gender = 'Male')" + + - key: "10y14y_return_clients" + description: "reporting_10y14y_return_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND ( fp.using_method = 'yes') + AND ( fm.gender = 'Female')" + + - key: "10y14y_return_men_clients" + description: "reporting_10y14y_return_men_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND ( fp.using_method = 'yes') + AND ( fm.gender = 'Male')" + + - key: "10y14y_total_clients" + description: "reporting_10y14y_total_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now'))" + + - key: "15y19y_new_clients" + description: "reporting_15y19y_new_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND ( fp.using_method = 'no') + AND ( fm.gender = 'Female')" + + - key: "15y19y_new_men_clients" + description: "reporting_15y19y_new_men_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND ( fp.using_method = 'no') + AND ( fm.gender = 'Male')" + + - key: "15y19y_return_clients" + description: "reporting_15y19y_return_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND ( fp.using_method = 'yes') + AND ( fm.gender = 'Female')" + + - key: "15y19y_return_men_clients" + description: "reporting_15y19y_return_men_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND ( fp.using_method = 'yes') + AND ( fm.gender = 'Male')" + + - key: "15y19y_total_clients" + description: "reporting_15y19y_total_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now'))" + + - key: "20y24y_new_clients" + description: "reporting_20y24y_new_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND ( fp.using_method = 'no') + AND ( fm.gender = 'Female')" + + - key: "20y24y_new_men_clients" + description: "reporting_20y24y_new_men_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND ( fp.using_method = 'no') + AND ( fm.gender = 'Male')" + + - key: "20y24y_return_clients" + description: "reporting_20y24y_return_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND ( fp.using_method = 'yes') + AND ( fm.gender = 'Female')" + + - key: "20y24y_return_men_clients" + description: "reporting_20y24y_return_men_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND ( fp.using_method = 'yes') + AND ( fm.gender = 'Male')" + + - key: "20y24y_total_clients" + description: "reporting_20y24y_total_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now'))" + + - key: "25_new_clients" + description: "reporting_25_new_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND ( fp.using_method = 'no') + AND ( fm.gender = 'Female')" + + - key: "25_new_men_clients" + description: "reporting_25_new_men_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND ( fp.using_method = 'no') + AND ( fm.gender = 'Male')" + + - key: "25_return_clients" + description: "reporting_25_return_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND ( fp.using_method = 'yes') + AND ( fm.gender = 'Female')" + + - key: "25_return_men_clients" + description: "reporting_25_return_men_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND ( fp.using_method = 'yes') + AND ( fm.gender = 'Male')" + + - key: "25_total_clients" + description: "reporting_25_total_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now'))" + + - key: "total_new_clients" + description: "total_new_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( fp.using_method = 'no') + AND ( fm.gender = 'Female')" + + - key: "total_new_men_clients" + description: "total_new_men_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( fp.using_method = 'no') + AND ( fm.gender = 'Male')" + + - key: "total_return_clients" + description: "total_return_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( fp.using_method = 'yes') + AND ( fm.gender = 'Female')" + + - key: "total_return_men_clients" + description: "total_return_men_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( fp.using_method = 'yes') + AND ( fm.gender = 'Male')" + + - key: "total_total_clients" + description: "total_total_clients_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Registration' + AND ('%s' = (substr(e.eventDate, 1,10))) " + + - key: "10y14y_pop" + description: "reporting_10y14y_pop_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND fp.fp_method_accepted = 'POP'" + + - key: "10y14y_coc" + description: "reporting_10y14y_coc_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND fp.fp_method_accepted = 'COC'" + + - key: "10y14y_emc" + description: "reporting_10y14y_emc_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND fp.fp_method_accepted = 'Emergency contraceptive'" + + - key: "10y14y_total_pills" + description: "reporting_10y14y_total_pills_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Emergency contraceptive' OR fp.fp_method_accepted = 'COC' OR fp.fp_method_accepted = 'POP')" + + - key: "15y19y_pop" + description: "reporting_15y19y_pop_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND fp.fp_method_accepted = 'POP'" + + - key: "15y19y_coc" + description: "reporting_15y19y_coc_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND fp.fp_method_accepted = 'COC'" + + - key: "15y19y_emc" + description: "reporting_15y19y_emc_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND fp.fp_method_accepted = 'Emergency contraceptive'" + + - key: "15y19y_total_pills" + description: "reporting_15y19y_total_pills_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Emergency contraceptive' OR fp.fp_method_accepted = 'COC' OR fp.fp_method_accepted = 'POP')" + + - key: "20y24y_pop" + description: "reporting_20y24y_pop_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND fp.fp_method_accepted = 'POP'" + + - key: "20y24y_coc" + description: "reporting_20y24y_coc_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND fp.fp_method_accepted = 'COC'" + + - key: "20y24y_emc" + description: "reporting_20y24y_emc_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND fp.fp_method_accepted = 'Emergency contraceptive'" + + - key: "20y24y_total_pills" + description: "reporting_20y24y_total_pills_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Emergency contraceptive' OR fp.fp_method_accepted = 'COC' OR fp.fp_method_accepted = 'POP')" + + - key: "25_pop" + description: "reporting_25_pop_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND fp.fp_method_accepted = 'POP'" + + - key: "25_coc" + description: "reporting_25_coc_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND fp.fp_method_accepted = 'COC'" + + - key: "25_emc" + description: "reporting_25_emc_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND fp.fp_method_accepted = 'Emergency contraceptive'" + + - key: "25_total_pills" + description: "reporting_25_total_pills_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND ( fp.fp_method_accepted = 'Emergency contraceptive' OR fp.fp_method_accepted = 'COC' OR fp.fp_method_accepted = 'POP')" + + - key: "total_pop" + description: "total_pop_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND fp.fp_method_accepted = 'POP'" + + - key: "total_coc" + description: "total_coc_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND fp.fp_method_accepted = 'COC'" + + - key: "total_emc" + description: "total_emc_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND fp.fp_method_accepted = 'Emergency contraceptive'" + + - key: "total_total_pills" + description: "total_total_pills_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( fp.fp_method_accepted = 'Emergency contraceptive' OR fp.fp_method_accepted = 'COC' OR fp.fp_method_accepted = 'POP')" + + - key: "10y14y_F_mcondom" + description: "reporting_10y14y_F_mcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Male condom') + AND ( fm.gender = 'Female')" + + - key: "10y14y_men_F_mcondom" + description: "reporting_10y14y_men_F_mcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Male condom') + AND ( fm.gender = 'Male')" + + - key: "10y14y_F_fcondom" + description: "reporting_10y14y_F_fcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Female condom') + AND ( fm.gender = 'Female')" + + - key: "10y14y_men_F_fcondom" + description: "reporting_10y14y_men_F_fcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Female condom') + AND ( fm.gender = 'Male')" + + - key: "10y14y_total_condoms" + description: "reporting_10y14y_total_condoms_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Female condom' OR fp.fp_method_accepted = 'Male condom' )" + + - key: "15y19y_F_mcondom" + description: "reporting_15y19y_F_mcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Male condom') + AND ( fm.gender = 'Female')" + + - key: "15y19y_men_F_mcondom" + description: "reporting_15y19y_men_F_mcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND (fp.fp_method_accepted = 'Male condom') + AND (fm.gender = 'Male')" + + - key: "15y19y_F_fcondom" + description: "reporting_15y19y_F_fcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Female condom') + AND ( fm.gender = 'Female')" + + - key: "15y19y_men_F_fcondom" + description: "reporting_15y19y_men_F_fcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND (fp.fp_method_accepted = 'Female condom') + AND (fm.gender = 'Male')" + + - key: "15y19y_total_condoms" + description: "reporting_15y19y_total_condoms_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Female condom' OR fp.fp_method_accepted = 'Male condom' )" + + - key: "20y24y_F_mcondom" + description: "reporting_20y24y_F_mcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND (fp.fp_method_accepted = 'Male condom') + AND (fm.gender = 'Female')" + + - key: "20y24y_men_F_mcondom" + description: "reporting_20y24y_men_F_mcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Male condom') + AND ( fm.gender = 'Male')" + + - key: "20y24y_F_fcondom" + description: "reporting_20y24y_F_fcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Female condom') + AND ( fm.gender = 'Female')" + + - key: "20y24y_men_F_fcondom" + description: "reporting_20y24y_men_F_fcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Female condom') + AND ( fm.gender = 'Male')" + + - key: "20y24y_total_condoms" + description: "reporting_20y24y_total_condoms_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND ( fp.fp_method_accepted = 'Female condom' OR fp.fp_method_accepted = 'Male condom' )" + + - key: "25_F_mcondom" + description: "reporting_25_F_mcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND ( fp.fp_method_accepted = 'Male condom') + AND ( fm.gender = 'Female')" + + - key: "25_men_F_mcondom" + description: "reporting_25_men_F_mcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND ( fp.fp_method_accepted = 'Male condom') + AND ( fm.gender = 'Male')" + + - key: "25_F_fcondom" + description: "reporting_25_F_fcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND ( fp.fp_method_accepted = 'Female condom') + AND ( fm.gender = 'Female')" + + - key: "25_men_F_fcondom" + description: "reporting_25_men_F_fcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND ( fp.fp_method_accepted = 'Female condom') + AND ( fm.gender = 'Male')" + + - key: "25_total_condoms" + description: "reporting_25_total_condoms_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND ( fp.fp_method_accepted = 'Female condom' OR fp.fp_method_accepted = 'Male condom')" + + - key: "total_F_mcondom" + description: "total_F_mcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( fp.fp_method_accepted = 'Male condom') + AND ( fm.gender = 'Female')" + + - key: "total_men_F_mcondom" + description: "total_men_F_mcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( fp.fp_method_accepted = 'Male condom') + AND ( fm.gender = 'Male')" + + - key: "total_F_fcondom" + description: "total_F_fcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( fp.fp_method_accepted = 'Female condom') + AND ( fm.gender = 'Female')" + + - key: "total_men_F_fcondom" + description: "total_men_F_fcondom_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( fp.fp_method_accepted = 'Female condom') + AND ( fm.gender = 'Male')" + + - key: "total_total_condoms" + description: "total_total_condoms_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( fp.fp_method_accepted = 'Female condom' OR fp.fp_method_accepted = 'Male condom')" + + - key: "10y14y_beads" + description: "reporting_10y14y_beads_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND fp.fp_method_accepted = 'Standard day method'" + + - key: "15y19y_beads" + description: "reporting_15y19y_beads_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND fp.fp_method_accepted = 'Standard day method'" + + - key: "20y24y_beads" + description: "reporting_20y24y_beads_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND fp.fp_method_accepted = 'Standard day method'" + + - key: "25_beads" + description: "reporting_25_beads_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND fp.fp_method_accepted = 'Standard day method'" + + - key: "total_beads" + description: "total_beads_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_planning fp on fp.base_entity_id = e.baseEntityId + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE ( e.eventType = 'Family Planning Registration' OR e.eventType = 'Family Planning Change Method') + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND fp.fp_method_accepted = 'Standard day method'" + + - key: "10y14y_cousel_ANC" + description: "reporting_10y14y_cousel_ANC_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During ANC' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now'))" + + - key: "15y19y_cousel_ANC" + description: "reporting_15y19y_cousel_ANC_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During ANC' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now'))" + + - key: "20y24y_cousel_ANC" + description: "reporting_20y24y_cousel_ANC_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During ANC' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now'))" + + - key: "25_cousel_ANC" + description: "reporting_25_cousel_ANC_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During ANC' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+25 years') <= date ('now'))" + + - key: "total_cousel_ANC" + description: "total_cousel_ANC_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During ANC' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+10 years') <= date ('now'))" + + - key: "10y14y_cousel_delivery" + description: "reporting_10y14y_cousel_delivery_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During labour and delivery' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now'))" + + - key: "15y19y_cousel_delivery" + description: "reporting_15y19y_cousel_delivery_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During labour and delivery' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now'))" + + - key: "20y24y_cousel_delivery" + description: "reporting_20y24y_cousel_delivery_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During labour and delivery' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now'))" + + - key: "25_cousel_delivery" + description: "reporting_25_cousel_delivery_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During labour and delivery' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+25 years') <= date ('now'))" + + - key: "total_cousel_delivery" + description: "total_cousel_delivery_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During labour and delivery' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+10 years') <= date ('now'))" + + - key: "10y14y_cousel_PNC" + description: "reporting_10y14y_cousel_PNC_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During PNC' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now'))" + + - key: "15y19y_cousel_PNC" + description: "reporting_15y19y_cousel_PNC_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During PNC' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now'))" + + - key: "20y24y_cousel_PNC" + description: "reporting_20y24y_cousel_PNC_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During PNC' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now'))" + + - key: "25_cousel_PNC" + description: "reporting_25_cousel_PNC_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During PNC' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+25 years') <= date ('now'))" + + - key: "total_cousel_PNC" + description: "total_cousel_PNC_label" + indicatorQuery: "SELECT count (DISTINCT v.base_entity_id) as count + FROM visit_details vd + INNER JOIN visits v on v.visit_id = vd.visit_id + INNER JOIN ec_family_member fm on fm.base_entity_id = v.base_entity_id + WHERE vd.human_readable_details = 'During PNC' + AND ('%s' = strftime('%Y-%m-%d',datetime(v.visit_date/1000, 'unixepoch', 'localtime'))) + AND ( date(fm.dob, '+10 years') <= date ('now'))" + + - key: "10y14y_referral" + description: "reporting_10y14y_referral_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Referral' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND ( fm.gender = 'Female')" + + - key: "10y14y_men_referral" + description: "reporting_10y14y_men_referral_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Referral' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now')) + AND ( date(fm.dob, '+14 years') >= date ('now')) + AND ( fm.gender = 'Male')" + + - key: "15y19y_referral" + description: "reporting_15y19y_referral_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Referral' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND ( fm.gender = 'Female')" + + - key: "15y19y_men_referral" + description: "reporting_15y19y_men_referral_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Referral' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+15 years') <= date ('now')) + AND ( date(fm.dob, '+19 years') >= date ('now')) + AND ( fm.gender = 'Male')" + + - key: "20y24y_referral" + description: "reporting_20y24y_referral_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Referral' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND ( fm.gender = 'Female')" + + - key: "20y24y_men_referral" + description: "reporting_20y24y_men_referral_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Referral' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+20 years') <= date ('now')) + AND ( date(fm.dob, '+24 years') >= date ('now')) + AND ( fm.gender = 'Male')" + + - key: "25_referral" + description: "reporting_25_referral_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Referral' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND ( fm.gender = 'Female')" + + - key: "25_men_referral" + description: "reporting_25_men_referral_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Referral' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+25 years') <= date ('now')) + AND ( fm.gender = 'Male')" + + - key: "total_fp_referral" + description: "total_fp_referral_label" + indicatorQuery: "SELECT count(DISTINCT e.baseEntityId) as count + FROM event e + INNER JOIN ec_family_member fm on fm.base_entity_id = e.baseEntityId + WHERE e.eventType = 'Family Planning Referral' + AND ('%s' = (substr(e.eventDate, 1,10))) + AND ( date(fm.dob, '+10 years') <= date ('now'))" diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json new file mode 100644 index 0000000000..424e6c3cf6 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -0,0 +1,466 @@ +{ + "case_classification_rules": [ + { + "comment": "Patient: This rule checks whether a given case belongs to register", + "rule": { + "type": "event", + "fields": [ + { + "field": "eventType", + "field_value": "Family Registration", + "creates_case": [ + "ec_family" + ] + }, + { + "field": "eventType", + "field_value": "Family Member Registration", + "creates_case": [ + "ec_family_member" + ] + }, + { + "field": "eventType", + "field_value": "Child Registration", + "creates_case": [ + "ec_child", + "ec_family_member" + ] + }, + { + "field": "eventType", + "field_value": "PNC Child Registration", + "creates_case": [ + "ec_child", + "ec_family_member" + ] + }, + { + "field": "eventType", + "field_value": "Malaria Follow-up Visit", + "creates_case": [ + "ec_malaria_follow_up_visit" + ] + }, + { + "field": "eventType", + "field_value": "Family Planning Registration", + "creates_case": [ + "ec_family_planning" + ] + }, + { + "field": "eventType", + "field_value": "Family Planning Change Method", + "creates_case": [ + "ec_family_planning" + ] + }, + { + "field": "eventType", + "field_value": "Update Family Registration", + "creates_case": [ + "ec_family" + ] + }, + { + "field": "eventType", + "field_value": "Update Family Member Registration", + "creates_case": [ + "ec_family_member" + ] + }, + { + "field": "eventType", + "field_value": "Update Child Registration", + "creates_case": [ + "ec_child", + "ec_family_member" + ] + }, + { + "field": "eventType", + "field_value": "Update Family Relations", + "creates_case": [ + "ec_family" + ] + }, + { + "field": "eventType", + "field_value": "Update Family Member Relations", + "creates_case": [ + "ec_family_member" + ] + }, + { + "field": "eventType", + "field_value": "Child Home Visit", + "creates_case": [ + "ec_child", + "ec_child_activity" + ] + }, + { + "field": "eventType", + "field_value": "Visit not done", + "creates_case": [ + "ec_child", + "ec_child_activity" + ] + }, + { + "field": "eventType", + "field_value": "Birth Certification", + "creates_case": [ + "ec_child" + ] + }, + { + "field": "eventType", + "field_value": "Observations Illness", + "creates_case": [ + "ec_child" + ] + }, + { + "field": "eventType", + "field_value": "Pregnancy Confirmation", + "creates_case": [ + "ec_anc_register", + "ec_anc_log", + "ec_pregnancy_confirmation_updates" + ] + }, + { + "field": "eventType", + "field_value": "Pregnancy Confirmation Dismissal", + "creates_case": [ + "ec_pregnancy_confirmation_updates" + ] + }, + { + "field": "eventType", + "field_value": "ANC Registration", + "creates_case": [ + "ec_anc_register", + "ec_anc_log" + ] + }, + { + "field": "eventType", + "field_value": "ANC Home Visit", + "creates_case": [ + "ec_anc_register" + ] + }, + { + "field": "eventType", + "field_value": "Malaria Confirmation", + "creates_case": [ + "ec_malaria_confirmation" + ] + }, + { + "field": "eventType", + "field_value": "Pregnancy Outcome", + "closes_case": [ + "ec_anc_register" + ] + }, + { + "field": "eventType", + "field_value": "Pregnancy Outcome", + "creates_case": [ + "ec_pregnancy_outcome" + ] + }, + { + "field": "eventType", + "field_value": "Sick Child Referral", + "creates_case": [ + "ec_referral" + ] + }, + { + "field": "eventType", + "field_value": "Sick Child Referral", + "creates_case": [ + "ec_child_referral" + ] + }, + { + "field": "eventType", + "field_value": "ANC Referral", + "creates_case": [ + "ec_referral" + ] + }, + { + "field": "eventType", + "field_value": "ANC Referral", + "creates_case": [ + "ec_anc_referral" + ] + }, + { + "field": "eventType", + "field_value": "PNC Referral", + "creates_case": [ + "ec_referral" + ] + }, + { + "field": "eventType", + "field_value": "PNC Referral", + "creates_case": [ + "ec_pnc_referral" + ] + }, + { + "field": "eventType", + "field_value": "Referral Registration", + "creates_case": [ + "ec_referral" + ] + }, + { + "field": "eventType", + "field_value": "Referral Followup Registration", + "creates_case": [ + "ec_referral_followup" + ] + }, + { + "field": "eventType", + "field_value": "Family Planning Referral", + "creates_case": [ + "ec_fp_referral" + ] + }, + { + "field": "eventType", + "field_value": "Malaria Referral", + "creates_case": [ + "ec_malaria_referral" + ] + }, + { + "field": "eventType", + "field_value": "Malaria Referral", + "creates_case": [ + "ec_referral" + ] + }, + { + "field": "eventType", + "field_value": "FP Home Visit", + "creates_case": [ + "ec_family_planning" + ] + }, + { + "field": "eventType", + "field_value": "Close Referral", + "creates_case": [ + "ec_close_referral" + ] + }, + { + "field": "eventType", + "field_value": "Sick Child Follow-up", + "creates_case": [ + "ec_sick_child_followup" + ] + }, + { + "field": "eventType", + "field_value": "ANC Danger Signs Outcome", + "creates_case": [ + "ec_anc_danger_signs_outcome" + ] + }, + { + "field": "eventType", + "field_value": "PNC Danger Signs Outcome", + "creates_case": [ + "ec_pnc_danger_signs_outcome" + ] + }, + { + "field": "eventType", + "field_value": "Malaria Follow-up HF", + "creates_case": [ + "ec_malaria_followup_hf" + ] + }, + { + "field": "eventType", + "field_value": "Family Planning Update", + "creates_case": [ + "ec_family_planning_update" + ] + }, + { + "field": "eventType", + "field_value": "Referral Dismissal", + "creates_case": [ + "ec_referral_dismissal" + ] + }, + { + "field": "eventType", + "field_value": "Not Yet Done Referral", + "creates_case": [ + "ec_not_yet_done_referral" + ] + }, + { + "field": "eventType", + "field_value": "CBHS Registration", + "creates_case": [ + "ec_hiv_register" + ] + }, + { + "field": "eventType", + "field_value": "CBHS Registration", + "creates_case": [ + "ec_cbhs_register" + ] + }, + { + "field": "eventType", + "field_value": "Update CBHS Registration", + "creates_case": [ + "ec_hiv_register", + "ec_cbhs_register" + ] + }, + { + "field": "eventType", + "field_value": "CBHS Followup", + "creates_case": [ + "ec_hiv_register", + "ec_cbhs_register" + ] + }, + { + "field": "eventType", + "field_value": "Tb Registration", + "creates_case": [ + "ec_tb_register" + ] + }, + { + "field": "eventType", + "field_value": "TB Case Closure", + "creates_case": [ + "ec_tb_register" + ] + }, + { + "field": "eventType", + "field_value": "HIV Community Followup", + "creates_case": [ + "ec_hiv_community_followup" + ] + }, + { + "field": "eventType", + "field_value": "TB Community Followup", + "creates_case": [ + "ec_tb_community_followup" + ] + }, + { + "field": "eventType", + "field_value": "HIV Community Followup Feedback", + "creates_case": [ + "ec_hiv_community_feedback" + ] + }, + { + "field": "eventType", + "field_value": "TB Community Followup Feedback", + "creates_case": [ + "ec_tb_community_feedback" + ] + }, + { + "field": "eventType", + "field_value": "HIV Outcome", + "creates_case": [ + "ec_hiv_outcome", + "ec_hiv_register" + ] + }, + { + "field": "eventType", + "field_value": "TB Outcome", + "creates_case": [ + "ec_tb_outcome", + "ec_tb_register" + ] + }, + { + "field": "eventType", + "field_value": "HIV Notification Dismissal", + "creates_case": [ + "ec_hiv_outcome" + ] + }, + { + "field": "eventType", + "field_value": "TB Notification Dismissal", + "creates_case": [ + "ec_tb_outcome" + ] + }, + { + "field": "eventType", + "field_value": "Hiv Index Contact Registration", + "creates_case": [ + "ec_hiv_index" + ] + }, + { + "field": "eventType", + "field_value": "HIV Index Contact CHW Followup", + "creates_case": [ + "ec_hiv_index" + ] + }, + { + "field": "eventType", + "field_value": "HIV Index Contact Testing Followup", + "creates_case": [ + "ec_hiv_index" + ] + }, + { + "field": "eventType", + "field_value": "HIV Index Contact Community Followup Referral", + "creates_case": [ + "ec_hiv_index", + "ec_hiv_index_contact_community_followup" + ] + }, + { + "field": "eventType", + "field_value": "HIV Index Contact Community Followup Notification Dismissal", + "creates_case": [ + "ec_hiv_index_contact_community_followup" + ] + }, + { + "field":"eventType", + "field_value": "Pregnancy Unconfirmed", + "closes_case": [ + "ec_anc_register" + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json new file mode 100644 index 0000000000..afda0c1fe1 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -0,0 +1,3379 @@ +{ + "bindobjects": [ + { + "name": "ec_family", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Client", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "unique_id", + "type": "Client", + "json_mapping": { + "field": "identifiers.opensrp_id" + } + }, + { + "column_name": "first_name", + "type": "Client", + "json_mapping": { + "field": "firstName" + } + }, + { + "column_name": "last_name", + "type": "Client", + "json_mapping": { + "field": "lastName" + } + }, + { + "column_name": "village_town", + "type": "Client", + "json_mapping": { + "field": "addresses.cityVillage" + } + }, + { + "column_name": "landmark", + "type": "Client", + "json_mapping": { + "field": "addresses.landmark" + } + }, + { + "column_name": "gps", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "gps" + } + }, + { + "column_name": "nearest_facility", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "nearest_facility" + } + }, + { + "column_name": "family_head", + "type": "Client", + "json_mapping": { + "field": "relationships.family_head" + } + }, + { + "column_name": "primary_caregiver", + "type": "Client", + "json_mapping": { + "field": "relationships.primary_caregiver" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "date_removed", + "type": "Client", + "json_mapping": { + "field": "attributes.dateRemoved" + } + }, + { + "column_name": "entity_type", + "type": "Event", + "json_mapping": { + "field": "entityType" + } + }, + { + "column_name": "event_date", + "type": "Event", + "json_mapping": { + "field": "eventDate", + "event_type": "Family Registration" + } + } + ] + }, + { + "name": "ec_family_member", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Client", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "unique_id", + "type": "Client", + "json_mapping": { + "field": "identifiers.opensrp_id" + } + }, + { + "column_name": "relational_id", + "type": "Client", + "json_mapping": { + "field": "relationships.family" + } + }, + { + "column_name": "first_name", + "type": "Client", + "json_mapping": { + "field": "firstName" + } + }, + { + "column_name": "middle_name", + "type": "Client", + "json_mapping": { + "field": "middleName" + } + }, + { + "column_name": "last_name", + "type": "Client", + "json_mapping": { + "field": "lastName" + } + }, + { + "column_name": "dob", + "type": "Client", + "json_mapping": { + "field": "birthdate" + } + }, + { + "column_name": "dod", + "type": "Client", + "json_mapping": { + "field": "deathdate" + } + }, + { + "column_name": "dob_unknown", + "type": "Client", + "json_mapping": { + "field": "birthdateApprox" + } + }, + { + "column_name": "gender", + "type": "Client", + "json_mapping": { + "field": "gender" + } + }, + { + "column_name": "phone_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "phone_number" + } + }, + { + "column_name": "other_phone_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "other_phone_number" + } + }, + { + "column_name": "national_id", + "type": "Client", + "json_mapping": { + "field": "attributes.National_ID" + } + }, + { + "column_name": "voter_id", + "type": "Client", + "json_mapping": { + "field": "attributes.Voter_Registration_Number" + } + }, + { + "column_name": "driver_license", + "type": "Client", + "json_mapping": { + "field": "attributes.Driver_License_Number" + } + }, + { + "column_name": "passport", + "type": "Client", + "json_mapping": { + "field": "attributes.Passport_Number" + } + }, + { + "column_name": "insurance_provider", + "type": "Client", + "json_mapping": { + "field": "attributes.Health_Insurance_Type" + } + }, + { + "column_name": "insurance_provider_other", + "type": "Client", + "json_mapping": { + "field": "attributes.Other_Health_Insurance_Type" + } + }, + { + "column_name": "insurance_provider_number", + "type": "Client", + "json_mapping": { + "field": "attributes.Health_Insurance_Number" + } + }, + { + "column_name": "type_of_disability", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "type_of_disability" + } + }, + { + "column_name": "disabilities", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "disabilities" + } + }, + { + "column_name": "service_provider", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "service_provider" + } + }, + { + "column_name": "leader", + "type": "Client", + "json_mapping": { + "field": "attributes.Community_Leader" + } + }, + { + "column_name": "leader_other", + "type": "Client", + "json_mapping": { + "field": "attributes.Other_Community_Leader_Type_Name" + } + }, + { + "column_name": "reasons_for_registration", + "type": "Client", + "json_mapping": { + "field": "attributes.Registration_Reason" + } + }, + { + "column_name": "has_primary_caregiver", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "Has_Primary_Caregiver" + } + }, + { + "column_name": "primary_caregiver_name", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "Primary_Caregiver_Name" + } + }, + { + "column_name": "marital_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "marital_status" + } + }, + { + "column_name": "entity_type", + "type": "Event", + "json_mapping": { + "field": "entityType" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "date_removed", + "type": "Client", + "json_mapping": { + "field": "attributes.dateRemoved" + } + } + ] + }, + { + "name": "ec_child", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Client", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "unique_id", + "type": "Client", + "json_mapping": { + "field": "identifiers.opensrp_id" + } + }, + { + "column_name": "relational_id", + "type": "Client", + "json_mapping": { + "field": "relationships.family" + } + }, + { + "column_name": "mother_entity_id", + "type": "Client", + "json_mapping": { + "field": "relationships.mother" + } + }, + { + "column_name": "entry_point", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "entry_point" + } + }, + { + "column_name": "first_name", + "type": "Client", + "json_mapping": { + "field": "firstName" + } + }, + { + "column_name": "middle_name", + "type": "Client", + "json_mapping": { + "field": "middleName" + } + }, + { + "column_name": "last_name", + "type": "Client", + "json_mapping": { + "field": "lastName" + } + }, + { + "column_name": "dob", + "type": "Client", + "json_mapping": { + "field": "birthdate" + } + }, + { + "column_name": "dod", + "type": "Client", + "json_mapping": { + "field": "deathdate" + } + }, + { + "column_name": "dob_unknown", + "type": "Client", + "json_mapping": { + "field": "birthdateApprox" + } + }, + { + "column_name": "gender", + "type": "Client", + "json_mapping": { + "field": "gender" + } + }, + { + "column_name": "early_bf_1hr", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "early_bf_1hr" + } + }, + { + "column_name": "physically_challenged", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "disabilities" + } + }, + { + "column_name": "type_of_disability", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "type_of_disability" + } + }, + { + "column_name": "birth_cert", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "birth_cert_available" + } + }, + { + "column_name": "rhc_card", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "rhc_card" + } + }, + { + "column_name": "nutrition_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "nutrition_status" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "last_home_visit", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "last_home_visit" + } + }, + { + "column_name": "visit_not_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "visit_not_done" + } + }, + { + "column_name": "date_removed", + "type": "Client", + "json_mapping": { + "field": "attributes.dateRemoved" + } + }, + { + "column_name": "date_created", + "type": "Client", + "json_mapping": { + "field": "dateCreated" + } + }, + { + "column_name": "birth_cert_issue_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "164129AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "birth_cert_num", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "birth_regist_number" + } + }, + { + "column_name": "birth_notification", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "birth_notification" + } + }, + { + "column_name": "date_of_illness", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "illness_description", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "action_taken", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "vaccine_card", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "vaccine_card" + } + }, + { + "column_name": "insurance_provider", + "type": "Client", + "json_mapping": { + "field": "attributes.insurance_provider" + } + }, + { + "column_name": "insurance_provider_other", + "type": "Client", + "json_mapping": { + "field": "attributes.Other_Health_Insurance_Type" + } + }, + { + "column_name": "insurance_provider_number", + "type": "Client", + "json_mapping": { + "field": "attributes.Health_Insurance_Number" + } + } + ] + }, + { + "name": "ec_child_activity", + "columns": [ + { + "column_name": "event_id", + "type": "Event", + "json_mapping": { + "field": "eventId" + } + }, + { + "column_name": "relational_id", + "type": "Client", + "json_mapping": { + "field": "relationships.family" + } + }, + { + "column_name": "form_submission_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "base_entity_id", + "type": "Client", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "event_type", + "type": "Event", + "json_mapping": { + "field": "eventType" + } + }, + { + "column_name": "last_home_visit", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "last_home_visit" + } + }, + { + "column_name": "visit_not_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "visit_not_done" + } + }, + { + "column_name": "event_date", + "type": "Event", + "json_mapping": { + "field": "eventDate" + } + }, + { + "column_name": "date_removed", + "type": "Client", + "json_mapping": { + "field": "attributes.dateRemoved" + } + } + ] + }, + { + "name": "ec_anc_register", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "last_menstrual_period", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "last_menstrual_period" + } + }, + { + "column_name": "gest_age", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "gest_age" + } + }, + { + "column_name": "edd", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "edd" + } + }, + { + "column_name": "no_prev_preg", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "no_prev_preg" + } + }, + { + "column_name": "gravida", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "gravida" + } + }, + { + "column_name": "no_surv_children", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "no_surv_children" + } + }, + { + "column_name": "last_home_visit", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "anc_visit_date" + } + }, + { + "column_name": "visit_not_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "anc_visit_not_done_date" + } + }, + { + "column_name": "confirmed_visits", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "confirmed_visits" + } + }, + { + "column_name": "last_contact_visit", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "anc_hf_visit_date" + } + } + ] + }, + { + "name": "ec_anc_log", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "date_created", + "type": "Event", + "json_mapping": { + "field": "eventDate" + } + } + ] + }, + { + "name": "ec_malaria_confirmation", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "date_chw_malaria_test", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "162869AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "fever_malaria_chw", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "fever_malaria_chw" + } + }, + { + "column_name": "fever_duration", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "malaria_test_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "malaria_test_done" + } + }, + { + "column_name": "malaria_results", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "date_hf_malaria_test", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_hf_malaria_test" + } + }, + { + "column_name": "malaria_test_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "163724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "malaria", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "163725AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "malaria_treat", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "malaria_treat" + } + }, + { + "column_name": "fam_llin", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "fam_llin" + } + }, + { + "column_name": "llin_2days", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "llin_2days" + } + }, + { + "column_name": "llin_condition", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "llin_condition" + } + }, + { + "column_name": "malaria_edu_chw", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "malaria_edu_chw" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + } + ] + }, + { + "name": "ec_family_planning", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "fp_reg_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "fp_reg_date" + } + }, + { + "column_name": "using_method", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "using_method" + } + }, + { + "column_name": "couselling_fp_methods", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "couselling_HIV_STI", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "couselling_HIV_STI" + } + }, + { + "column_name": "pill", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "pill" + } + }, + { + "column_name": "breast_lump", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "breast_lump" + } + }, + { + "column_name": "abnormal_vaginal", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "abnormal_vaginal" + } + }, + { + "column_name": "pregnant", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "pregnant" + } + }, + { + "column_name": "difficultly_breathing", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "difficultly_breathing" + } + }, + { + "column_name": "headaches", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "headaches" + } + }, + { + "column_name": "frequent_urge", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "frequent_urge" + } + }, + { + "column_name": "falling_loss_unconsciousness", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "falling_loss_unconsciousness" + } + }, + { + "column_name": "breastfeed", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "breastfeed" + } + }, + { + "column_name": "COC_POP", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "COC_POP" + } + }, + { + "column_name": "POP", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "POP" + } + }, + { + "column_name": "no_pill", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "no_pill" + } + }, + { + "column_name": "fp_method_chw", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "160576AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "fp_method_already", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "fp_method_accepted", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "fp_method_accepted" + } + }, + { + "column_name": "ecp", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "ecp" + } + }, + { + "column_name": "no_condoms", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "no_condoms" + } + }, + { + "column_name": "no_pillcycles", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "counselling_use", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "counselling_use" + } + }, + { + "column_name": "next_injection_due_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "5096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "fp_start_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "referral_given", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "referral_given" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + } + ] + }, + { + "name": "ec_pregnancy_outcome", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "preg_outcome", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "preg_outcome" + } + }, + { + "column_name": "miscarriage_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "miscarriage_date" + } + }, + { + "column_name": "delivery_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "delivery_date" + } + }, + { + "column_name": "delivery_place", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "delivery_place" + } + }, + { + "column_name": "delivery_home", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "delivery_home" + } + }, + { + "column_name": "last_visit_date", + "type": "Event", + "data_type": "date", + "source_format": "dd-MM-yyyy", + "save_format": "yyyy-MM-dd", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "last_visit_date" + } + }, + { + "column_name": "next_visit_date", + "type": "Event", + "data_type": "date", + "source_format": "dd-MM-yyyy", + "save_format": "yyyy-MM-dd", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "next_visit_date" + } + }, + { + "column_name": "last_health_facility_visit_date", + "type": "Event", + "data_type": "date", + "source_format": "dd-MM-yyyy", + "save_format": "yyyy-MM-dd", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "last_health_facility_visit_date" + } + }, + { + "column_name": "confirmed_health_facility_visits", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "confirmed_health_facility_visits" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + } + ] + }, + { + "name": "ec_malaria_follow_up_visit", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "date_chw_mfollowup", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_chw_mfollowup" + } + }, + { + "column_name": "hf_chw_mfollowup", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "hf_chw_mfollowup" + } + }, + { + "column_name": "treat_given_chw_mfollowup", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "treat_given_chw_mfollowup" + } + }, + { + "column_name": "reason_no_treat", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "reason_no_treat" + } + }, + { + "column_name": "fever_still", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "fever_still" + } + }, + { + "column_name": "fever_duration", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "fever_duration" + } + } + ] + }, + { + "name": "ec_child_referral", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "chw_referral_hf_child", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "referral_problem_child", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "referral_problem_child_other", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "service_before_child", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "service_before_child_other", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "referral_date_child", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "referral_time_child", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "referral_task_previous_status" + } + } + ] + }, + { + "name": "ec_anc_referral", + "columns": [ + { + "column_name": "chw_referral_hf_anc", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "problem_hf_anc", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "problem" + } + }, + { + "column_name": "problem_hf_anc_other", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "problem_other" + } + }, + { + "column_name": "service_before_anc", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "service_before_referral" + } + }, + { + "column_name": "service_before_anc_other", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "service_before_referral_other" + } + }, + { + "column_name": "referral_date_anc", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "referral_appointment_date" + } + }, + { + "column_name": "referral_time_anc", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "referral_task_previous_status" + } + } + ] + }, + { + "name": "ec_pnc_referral", + "columns": [ + { + "column_name": "chw_referral_hf_pnc", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "problem_hf_pnc", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "problem_hf_pnc_other", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "service_before_pnc", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "service_before_pnc_other", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "referral_date_pnc", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "referral_time_pnc", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "referral_task_previous_status" + } + } + ] + }, + { + "name": "ec_malaria_referral", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "referral_problem_malaria", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "referral_problem_malaria" + } + }, + { + "column_name": "service_before_malaria", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "service_before_malaria_other", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ] + }, + { + "name": "ec_fp_referral", + "columns": [ + { + "column_name": "fp_method_accepted_referral", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "fp_side_effects", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "fp_side_effects_other", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "referral_date_fp", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "referral_time_fp", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "referral_task_previous_status" + } + } + ] + }, + { + "name": "ec_referral", + "columns": [ + { + "column_name": "chw_referral_service", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "chw_referral_service" + } + }, + { + "column_name": "chw_referral_hf", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "chw_referral_hf" + } + }, + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "problem", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "problem" + } + }, + { + "column_name": "problem_other", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "problem_other" + } + }, + { + "column_name": "service_before_referral", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "service_before_referral" + } + }, + { + "column_name": "service_before_referral_other", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "service_before_referral_other" + } + }, + { + "column_name": "referral_date", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "referral_date" + } + }, + { + "column_name": "referral_time", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "formSubmissionField": "referral_time" + } + }, + { + "column_name": "referral_appointment_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "referral_appointment_date" + } + }, + { + "column_name": "referral_type", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "referral_type" + } + }, + { + "column_name": "referral_status", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "referral_status" + } + }, + { + "column_name": "fp_method_accepted_referral", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ] + }, + { + "name": "ec_close_referral", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "referral_task", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "referral_task" + } + }, + { + "column_name": "referral_task_previous_status", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "referral_task_previous_status" + } + }, + { + "column_name": "referral_task_previous_business_status", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "referral_task_previous_business_status" + } + }, + { + "column_name": "referral_task_previous_business_status", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "referral_task_previous_business_status" + } + } + ] + }, + { + "name": "ec_not_yet_done_referral", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "referral_task", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "referral_task" + } + }, + { + "column_name": "referral_task_previous_status", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "referral_task_previous_status" + } + } + ] + }, + { + "name": "ec_referral_followup", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "chw_followup_feedback_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "chw_followup_feedback_id" + } + }, + { + "column_name": "other_followup_feedback_information", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "other_followup_feedback_information" + } + }, + { + "column_name": "chw_followup_date", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "chw_followup_date" + } + } + ] + }, + { + "name": "ec_sick_child_followup", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_sickchild" + } + }, + { + "column_name": "weight", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "5089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "height", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "5090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "has_diarrhea", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "diarrhea_duration", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "5984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "dehydration_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1497AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "other_symptoms", + "type": "Event", + "save_format": "json_array", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "other_sympt_sick_child" + } + }, + { + "column_name": "test_ordered", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "other_test_ordered", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "test_results", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "161577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "diagnosis", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "161602AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "diarrhea_treatment", + "type": "Event", + "save_format": "json_array", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "diarrhea_treat" + } + }, + { + "column_name": "amount_of_ors", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "diarrhea_treat_ors" + } + }, + { + "column_name": "amount_rehydration_infusion", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "diarrhea_treat_rehydration" + } + }, + { + "column_name": "amount_zinc", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "diarrhea_treat_zinc" + } + }, + { + "column_name": "drugs_taken_home", + "type": "Event", + "save_format": "json_array", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "diarrhea_treat_walkaway" + } + }, + { + "column_name": "non_diarrhea_treatment", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "dtc_period", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1785AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "results", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "160433AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "date_marked_as_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_marked_as_done" + } + } + ] + }, + { + "name": "ec_anc_danger_signs_outcome", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "anc_danger_signs_visitdate" + } + }, + { + "column_name": "danger_signs_present", + "type": "Event", + "save_format": "json_array", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "danger_signs_present" + } + }, + { + "column_name": "other_danger_signs", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "other_anc_danger_signs" + } + }, + { + "column_name": "action_taken", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "action_taken_anc_danger_signs" + } + }, + { + "column_name": "status_visit", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "status_visit" + } + }, + { + "column_name": "managed_signs", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "managed_signs" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "comment_anc_danger_signs" + } + }, + { + "column_name": "date_marked_as_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_marked_as_done" + } + } + ] + }, + { + "name": "ec_pnc_danger_signs_outcome", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "pnc_danger_signs_visitdate" + } + }, + { + "column_name": "danger_signs_present", + "type": "Event", + "save_format": "json_array", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "danger_signs_present" + } + }, + { + "column_name": "other_danger_signs", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "action_taken", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "action_taken_pnc_danger_signs" + } + }, + { + "column_name": "status_visit", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "status_visit" + } + }, + { + "column_name": "managed_signs", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "managed_signs" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "comment_pnc_danger_signs" + } + }, + { + "column_name": "date_marked_as_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_marked_as_done" + } + } + ] + }, + { + "name": "ec_malaria_followup_hf", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_malaria_visit_hf" + } + }, + { + "column_name": "weight", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "weight_malaria_hf" + } + }, + { + "column_name": "height", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "height_malaria_hf" + } + }, + { + "column_name": "tests_ordered", + "type": "Event", + "save_format": "json_array", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "test_malaria_hf" + } + }, + { + "column_name": "no_mrdt_reason", + "type": "Event", + "save_format": "json_array", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "no_mrdt_malaria_hf" + } + }, + { + "column_name": "other_tests", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "other_test_malaria_hf" + } + }, + { + "column_name": "test_results", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "test_results_malaria_hf" + } + }, + { + "column_name": "other_test_results", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "other_test_results_malaria_hf" + } + }, + { + "column_name": "diagnosis", + "type": "Event", + "save_format": "json_array", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "diagnosis_malaria_hf" + } + }, + { + "column_name": "other_diagnosis", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "other_diagnosis_malaria_hf" + } + }, + { + "column_name": "treatment_prescribed", + "type": "Event", + "save_format": "json_array", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "treat_malaria_hf" + } + }, + { + "column_name": "other_treatment_prescribed", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "treat_other_malaria_hf" + } + }, + { + "column_name": "outcomes", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "outcome_malaria_hf" + } + }, + { + "column_name": "remarks", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "remark_malaria_hf" + } + }, + { + "column_name": "hcp_attending", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "hcp_attending" + } + }, + { + "column_name": "date_marked_as_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_marked_as_done" + } + } + ] + }, + { + "name": "ec_family_planning_update", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "fp_method_accepted", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "fp_method_accepted" + } + }, + { + "column_name": "fp_reg_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "fp_reg_date" + } + }, + { + "column_name": "fp_reg_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "fp_change_or_stop_date" + } + }, + { + "column_name": "date_marked_as_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_marked_as_done" + } + } + ] + }, + { + "name": "ec_referral_dismissal", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "referral_task", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "referral_task" + } + }, + { + "column_name": "notification_date_created", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "notification_date_created" + } + }, + { + "column_name": "notification_dismissal_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "notification_dismissal_date" + } + } + ] + }, + { + "name": "ec_hiv_register", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "ctc_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "ctc_number" + } + }, + { + "column_name": "tb_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "tb_number" + } + }, + { + "column_name": "rch_number", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "rch_number" + } + }, + { + "column_name": "mat_number", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "mat_number" + } + }, + { + "column_name": "cbhs_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "cbhs_number" + } + }, + { + "column_name": "registration_or_followup_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "registration_or_followup_status", + "value_field": "obs.fieldCode" + } + }, + { + "column_name": "client_hiv_status_during_registration", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_hiv_status_during_registration" + } + }, + { + "column_name": "client_hiv_status_after_testing", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "test_results" + } + }, + { + "column_name": "hiv_registration_date", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "hiv_registration_date" + } + } + ] + }, + { + "name": "ec_cbhs_register", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "ctc_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "ctc_number" + } + }, + { + "column_name": "tb_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "tb_number" + } + }, + { + "column_name": "rch_number", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "rch_number" + } + }, + { + "column_name": "mat_number", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "mat_number" + } + }, + { + "column_name": "cbhs_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "cbhs_number" + } + }, + { + "column_name": "registration_or_followup_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "registration_or_followup_status", + "value_field": "obs.fieldCode" + } + }, + { + "column_name": "client_hiv_status_during_registration", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_hiv_status_during_registration" + } + }, + { + "column_name": "client_hiv_status_after_testing", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "test_results" + } + }, + { + "column_name": "hiv_registration_date", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "hiv_registration_date" + } + } + ] + }, + { + "name": "ec_hiv_community_followup", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "last_client_visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "last_client_visit_date" + } + }, + { + "column_name": "hiv_community_referral_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "hiv_community_referral_date" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment_hiv_community_followup" + } + }, + { + "column_name": "reasons_for_issuing_community_referral", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "reasons_for_issuing_community_referral" + } + } + ] + }, + { + "name": "ec_hiv_community_feedback", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "hiv_community_followup_visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "hiv_community_followup_visit_date" + } + }, + { + "column_name": "followup_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "followup_status" + } + }, + { + "column_name": "community_referral_form_id", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "community_referral_form_id" + } + } + ] + }, + { + "name": "ec_tb_register", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "community_client_tb_registration_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "community_client_tb_registration_number" + } + }, + { + "column_name": "client_tb_status_during_registration", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_tb_status_during_registration" + } + }, + { + "column_name": "client_tb_status_after_testing", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "test_results" + } + }, + { + "column_name": "place_of_domicile", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "place_of_domicile" + } + }, + { + "column_name": "client_tb_screening_results", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_tb_screening_results" + } + }, + { + "column_name": "tb_registration_date", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "tb_registration_date" + } + }, + { + "column_name": "tb_case_closure_date", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "tb_case_closure_date" + } + } + ] + }, + { + "name": "ec_tb_community_followup", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "last_client_visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "last_client_visit_date" + } + }, + { + "column_name": "tb_community_referral_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "tb_community_referral_date" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment_tb_community_followup" + } + }, + { + "column_name": "reasons_for_issuing_community_referral", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "reasons_for_issuing_community_referral" + } + } + ] + }, + { + "name": "ec_tb_community_feedback", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "tb_community_followup_visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "tb_community_followup_visit_date" + } + }, + { + "column_name": "followup_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "followup_status" + } + }, + { + "column_name": "community_referral_form_id", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "community_referral_form_id" + } + } + ] + }, + { + "name": "ec_hiv_outcome", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "hiv_facility_visit_date" + } + }, + { + "column_name": "problem", + "type": "Event", + "save_format": "json_array", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "problem" + } + }, + { + "column_name": "problem_other", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "problem_other" + } + }, + { + "column_name": "action_taken", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "action_taken_hiv_problems" + } + }, + { + "column_name": "test_results", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "test_results" + } + }, + { + "column_name": "enrolled_to_clinic", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "enrolled_to_clinic" + } + }, + { + "column_name": "ctc_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "ctc_number" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment_hiv_problems" + } + }, + { + "column_name": "date_marked_as_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_marked_as_done" + } + } + ] + }, + { + "name": "ec_tb_outcome", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "tb_facility_visit_date" + } + }, + { + "column_name": "problem", + "type": "Event", + "save_format": "json_array", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "problem" + } + }, + { + "column_name": "problem_other", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "problem_other" + } + }, + { + "column_name": "action_taken", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "action_taken_tb_problems" + } + }, + { + "column_name": "test_results", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "test_results" + } + }, + { + "column_name": "enrolled_to_clinic", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "enrolled_to_clinic" + } + }, + { + "column_name": "tb_clinic_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "tb_clinic_number" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment_tb_problems" + } + }, + { + "column_name": "date_marked_as_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_marked_as_done" + } + } + ] + }, + { + "name": "ec_pregnancy_confirmation_updates", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "end" + } + }, + { + "column_name": "date_marked_as_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_marked_as_done" + } + } + ] + }, + { + "name": "ec_hiv_index", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "hiv_client_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "index_client_base_entity_id" + } + }, + { + "column_name": "relationship", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "relationship" + } + }, + { + "column_name": "hiv_status", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "hiv_status" + } + }, + { + "column_name": "has_started_medication", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "has_started_medication" + } + }, + { + "column_name": "hiv_test_eligibility", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "eligibility_for_testing" + } + }, + { + "column_name": "how_to_notify_the_contact_client", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "how_to_notify_the_contact_client" + } + }, + { + "column_name": "has_the_contact_client_been_tested", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "has_the_contact_client_been_tested" + } + }, + { + "column_name": "test_results", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "test_results" + } + }, + { + "column_name": "enrolled_to_clinic", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "enrolled_to_clinic" + } + }, + { + "column_name": "ctc_number", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "ctc_number" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment" + } + }, + { + "column_name": "refer_to_chw", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "refer_to_chw" + } + }, + { + "column_name": "hiv_index_contact_community_followup_referral_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "hiv_index_contact_community_followup_referral_date" + } + }, + { + "column_name": "client_followed_up_by_chw", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "client_followed_up_by_chw" + } + }, + { + "column_name": "hiv_index_registration_date", + "type": "Event", + "json_mapping": { + "field": "eventDate" + } + } + ] + }, + { + "name": "ec_hiv_index_contact_community_followup", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment" + } + }, + { + "column_name": "hiv_index_contact_community_followup_referral_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "hiv_index_contact_community_followup_referral_date" + } + }, + { + "column_name": "date_marked_as_done", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "date_marked_as_done" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/ec_client_relationships.json b/opensrp-chw/src/nacp/assets/ec_client_relationships.json new file mode 100644 index 0000000000..e998395121 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/ec_client_relationships.json @@ -0,0 +1,12 @@ +[ + { + "client_relationship": "family", + "field": "entity_id", + "comment": "this field is the name as it appears in the parent client document" + }, + { + "client_relationship": "mother", + "field": "entity_id", + "comment": "this field is the name as it appears in the mother client document" + } +] diff --git a/opensrp-chw/src/nacp/assets/ec_client_service.json b/opensrp-chw/src/nacp/assets/ec_client_service.json new file mode 100644 index 0000000000..b76934b182 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/ec_client_service.json @@ -0,0 +1,59 @@ +{ + "name": "vaccines", + "columns": [ + { + "column_name": "base_entity_id", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "name", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1639AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "value_field": "formSubmissionField" + } + }, + { + "column_name": "calculation", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1639AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "date", + "json_mapping": { + "field": "eventDate" + } + }, + { + "column_name": "value", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "5526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "value_field": "formSubmissionField" + } + }, + { + "column_name": "itn_has_net", + "json_mapping": { + "field": "obs.fieldCode", + "formSubmissionField": "Child_Has_Net" + } + }, + { + "column_name": "anmid", + "json_mapping": { + "field": "providerId" + } + }, + { + "column_name": "location_id", + "json_mapping": { + "field": "locationId" + } + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/ec_client_vaccine.json b/opensrp-chw/src/nacp/assets/ec_client_vaccine.json new file mode 100644 index 0000000000..810aef099f --- /dev/null +++ b/opensrp-chw/src/nacp/assets/ec_client_vaccine.json @@ -0,0 +1,45 @@ +{ + "name": "vaccines", + "columns": [ + { + "column_name": "base_entity_id", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "name", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "value_field": "formSubmissionField" + } + }, + { + "column_name": "calculation", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "date", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "anmid", + "json_mapping": { + "field": "providerId" + } + }, + { + "column_name": "location_id", + "json_mapping": { + "field": "locationId" + } + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json new file mode 100644 index 0000000000..0a2f40aa12 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -0,0 +1,1562 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "2", + "encounter_type": "Family Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Taarifa za Mteja", + "next": "step2", + "fields": [ + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la Mwisho", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali andika jina la mwisho" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali andika jina la mwisho" + } + }, + { + "key": "client_first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali andika jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali andika jina sahihi" + } + }, + { + "key": "client_middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la katikati", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali andika jina sahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali andika jina la katikati" + } + }, + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "hidden": "true", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Number ya utambulisho", + "scanButtonText": "Scan QR Code", + "v_numeric": { + "value": "true", + "err": "Tafadhali andika number ya utambulisho sahihi" + } + }, + { + "key": "fam_village", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "type": "edit_text", + "edit_type": "name", + "hint": "Jina la eneo", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la eneo" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina la eneo sahihi" + } + }, + { + "key": "landmark", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "landmark", + "type": "edit_text", + "edit_type": "name", + "hint": "Alama ya eneo la makazi", + "v_required": { + "value": true, + "err": "Tafadhali ingiza alama ya eneo la makazi" + } + }, + { + "key": "gps", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gps", + "openmrs_data_type": "text", + "type": "gps" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "15dp" + }, + { + "key": "nearest_facility", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nearest_facility", + "openmrs_data_type": "text", + "type": "tree", + "hint": "Kijiji/Mtaa", + "tree": [], + "v_required": { + "value": true, + "err": "Tafadhali chagua kijiji au mtaa" + } + } + ] + }, + "step2": { + "title": "Taarifa ya Mteja", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": true, + "hint": "WAJA ID", + "v_numeric": { + "value": "true", + "err": "Tafadhali weka kitambulisho halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka kitambulisho cha KIPEKEE" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "last_name", + "type": "edit_text", + "hint": "Jina la mwisho", + "edit_type": "name", + "read_only": true, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la ukoo" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali andika jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la kati", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la kati" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Tarehe ya kuzaliwa", + "expanded": false, + "duration": { + "label": "Umri" + }, + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali weka tarehe ya kuzaliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "Tarehe ya kuzaliwa haijulikani?", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step2:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Umri", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Lazima iwe numbari kalili" + }, + "v_min": { + "value": "0", + "err": "Umri lazima uwe sawa au zaidi ya 0" + }, + "v_max": { + "value": "120", + "err": "Umri lazima uwe sawa au chini ya 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafadhali weka umri" + } + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jinsi" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya ndoa ya mteja", + "values": [ + "Hajaoa/Hajaolewa", + "Ameoa/Ameolewa", + "Ameachwa", + "Ndoa ya mke/mume moja", + "Mitala", + "Mjane", + "Kuishi pamoja bila ndoa" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "edit_text", + "hint": "Namba ya simu ya mteja", + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "Kitambulisho cha Taifa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Kitambulisho cha mpiga kura", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Leseni ya udereva", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_passport", + "text": "Hati ya kusafiria", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_passport" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", + "hint": "Namba ya kitambulisho cha taifa k.m 12345678-91234-56789-12", + "edit_type": "number", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "Namba ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" + }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", + "hint": "Namba ya kitambulisho cha mpiga kura k.m T-1234-5678-912-3", + "edit_type": "number", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Namba ya kitambulisho cha mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", + "hint": "Namba ya leseni ya udereva k.m 1234567891", + "edit_type": "number", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Namba ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "passport", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Passport_Number", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", + "hint": "Namba ya hati ya kusafiria", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Namba ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" + }, + "edit_type": "number", + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_passport" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Mtoa huduma ya bima ya afya", + "values": [ + "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", + "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya", + "Tiba Kwa Kadi (TIKA)", + "Huduma ya Afya ya AAR", + "Bima ya afya ya Strategies", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Bima ya afya ya Britam", + "Bima ya afya ya Jubilee", + "Bima ya afya ya Resolutions", + "Bima ya afya ya Reliance", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza mtoa huduma wa bima" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Mtoa huduma mwingine wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha mtoa huduma wa bima" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Namba ya mtoa huduma ya bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali ongeza Namba ya kitambulisho ya mtoa huduma wa bima ya afya" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_1yr", + "type": "spinner", + "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", + "values": [ + "Ndio", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Ulemavu wa kimwili", + "values": [ + "Ndio", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Aina ya ulemavu ", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Ulemavu wa viungo vya mwili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Ulemavu wa Uti wa Mgongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Ulemavu wa macho", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Ulemavu wa Kusikia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Ulemavu wa Utambuzi au Kujifunza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Matatizo ya Kisaikolojia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Ulemavu Usioonekana", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza aina ya ulemavu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "has_primary_caregiver", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Has_Primary_Caregiver", + "type": "spinner", + "hint": "Je, una mlezi/msaidizi wa Tiba?", + "values": [ + "Ndio", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "primary_caregiver_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Primary_Caregiver_Name", + "type": "edit_text", + "hint": "Jina la mlezi", + "v_required": { + "value": "true", + "err": "Tafadhali taja jina la mlezi." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Namba ya simu ya mlezi", + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider", + "type": "check_box", + "label": "Kazi ya Mteja", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_farmer", + "text": "Mkulima", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_cs", + "text": "Mtumishi wa Serikali", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cs" + }, + { + "key": "chk_nurse", + "text": "Muuguzi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nurse" + }, + { + "key": "chk_teacher", + "text": "Mwalimu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_teacher" + }, + { + "key": "chk_th", + "text": "Mganga wa tiba asili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_th" + }, + { + "key": "chk_chw", + "text": "Muhudumu wa afya ngazi ya jamii (WAJA)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chw" + }, + { + "key": "chk_tba", + "text": "Mkunga wa Jadi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_tba" + }, + { + "key": "chk_chmis", + "text": "Wakusanyaji takrimu za afya ngazi ya jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chmis" + }, + { + "key": "chk_cbd", + "text": "Msambazaji wa dawa na vifaa vya uzazi wa mpango ngazi ya Jamii ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cbd" + }, + { + "key": "chk_hbc", + "text": "Watoa huduma kwa wagonjwa majumbani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hbc" + }, + { + "key": "chk_cimmci", + "text": "Watoa huduma za udhibiti wa magonjwa ya watoto ngazi ya jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cimmci" + }, + { + "key": "chk_other", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other" + }, + { + "key": "chk_none", + "text": "Hakuna ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Taja Kazi nyingine", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali taja kazi" + }, + "relevance": { + "step2:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Kuna nafasi yoyote ya uongozi katika jamii?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Kiongozi wa dini", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Kiongozi wa kimila", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Kiongozi wa kisiasa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Mtu mwenye ushawishi kwenye jamii", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Taja nafasi nyingine katika jamii", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha jukumu" + }, + "relevance": { + "step2:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "reasons_for_registration", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Registration_Reason", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "reasons_for_registration_male_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_15", + "type": "native_radio", + "label": "Sababu za Usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua Kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "homosexual", + "text": "Wanaume wanaofanya mapenzi na wanaume", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Unyanyasaji wa Kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya usajili inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_female_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_15", + "type": "native_radio", + "label": "Sababu za Usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sex_worker_woman", + "text": "Mfanyabiashara ya ngono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Ukatili wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "pregnant_mother", + "text": "Mama mjamzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "breastfeeding_mother", + "text": "Mama anayenyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya usajili inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_under_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_under_15", + "type": "native_radio", + "label": "Sababu za Usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "Mtoto mwenye vilio vya uzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "Mtoto mwenye homa za mara kwa mara", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Mtoto aliyedhulumiwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Unyanyasaji wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Mtoto anayeishi katika mazingira hatarishi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya usajili inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json new file mode 100644 index 0000000000..30e010ca01 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -0,0 +1,1408 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "1", + "encounter_type": "Family Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Maelezo ya mteja", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": true, + "hint": "Namba ya utambulisho ya WAJA", + "v_numeric": { + "value": "true", + "err": "Tafahdali ingiza namba ya utambulisho ssahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza namba ya utambulisho ya kipekee ya WAJA" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Jina la mwisho", + "edit_type": "name", + "read_only": true, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la mwisho" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la kati", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kati" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Tarehe ya kuzaliwa", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-5y", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya kuzaliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "Tarehe ya kuzaliwa haijulikani?", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Umri", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Lazima iwe namba kamili" + }, + "v_min": { + "value": "5", + "err": "Umri ni lazima uwe sawa au zaidi ya 5" + }, + "v_max": { + "value": "120", + "err": "Umri lazima uwe sawa au chini ya 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafahdhali ingiza umri" + } + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jinsia" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya ndoa ya mteja?", + "values": [ + "Hajaoa/hajaolewa", + "Ameoa/ameolewa", + "Ameachwa", + "Ndoa ya mke mmoja", + "Ndoa ya wake wengi", + "Amefiwa na mwenza", + "Kuishi pamoja bila ndoa" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "edit_text", + "hint": "Namba ya simu ya mteja", + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "Kitambulisho cha Taifa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Kitambulisho cha usajili wa mpiga kura", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Leseni ya udereva", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_passport", + "text": "Hati ya kusafiria", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_passport" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", + "hint": "Namba ya kitambulisho cha Taifa", + "edit_type": "number", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "Namba ya kitambulisho cha Taifa inapaswa kuwa na umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", + "hint": "Namba ya kitambulisho cha mpiga kura", + "edit_type": "number", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Namba ya kitambulisho cha kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", + "hint": "Namba ya leseni ya udereva", + "edit_type": "number", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Namba ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "passport", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Passport_Number", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", + "hint": "Namba ya hati ya kusafiria", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Namba ya hati ya kusafiria inapaswa kuwa katika muundo (TAE-XXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "edit_type": "number", + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_passport" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Mtoa huduma wa bima ya afya", + "values": [ + "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", + "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Bima ya afya Britam", + "Bima ya afya Jubilee", + "Bima ya afya Resolutions", + "Bima ya afya Reliance", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Tafahdali ingiza mtoa huduma wa bima" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Mtoa huduma mwingine wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali taja mtoa huduma wa bima" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Namba ya mtoa huduma wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali ongeza namba ya mtoa huduma wa bima ya afya" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_1yr", + "type": "spinner", + "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Ulemavu wa kimwili", + "values": [ + "Ndiyo ", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Aina ya ulemavu wa kimwili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Uhamaji na Ulemavu wa Kimwili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Ulemavu wa Uti wa Mgongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Ulemavu wa Kuona", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Ulemavu wa Kuskia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Ulemavu wa Utambuzi au Kujifunza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Matatizo ya Kisaikolojia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Ulemavu Usioonekana", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "v_required": { + "value": "true", + "err": "Tafahali ingiza aina ya ulemavu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "has_primary_caregiver", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Has_Primary_Caregiver", + "type": "spinner", + "hint": "Je, una mlezi/msaidizi wa Tiba?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "primary_caregiver_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Primary_Caregiver_Name", + "type": "edit_text", + "hint": "Jina la mlezi", + "v_required": { + "value": "true", + "err": "Tafadhali taja jina la mlezi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Namba ya simu ya mlezi", + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe na jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider", + "type": "check_box", + "label": "Kazi ya Mteja", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_farmer", + "text": "Mkulima", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_cs", + "text": "Mtumishi wa Serikali", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cs" + }, + { + "key": "chk_nurse", + "text": "Muuguzi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nurse" + }, + { + "key": "chk_teacher", + "text": "Mwalimu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_teacher" + }, + { + "key": "chk_th", + "text": "Mganga wa tiba asili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_th" + }, + { + "key": "chk_chw", + "text": "Muhudumu wa afya ngazi ya jamii(WAJA)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chw" + }, + { + "key": "chk_tba", + "text": "Mkunga wa Jadi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_tba" + }, + { + "key": "chk_chmis", + "text": "Wakusanyaji takrimu za afya ngazi ya jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chmis" + }, + { + "key": "chk_cbd", + "text": "Msambazaji wa dawa na vifaa vya uzazi wa mpango ngazi ya Jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cbd" + }, + { + "key": "chk_hbc", + "text": "Watoa huduma kwa wagonjwa majumbani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hbc" + }, + { + "key": "chk_cimmci", + "text": "Watoa huduma za udhibiti wa magonjwa ya watoto ngazi ya jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cimmci" + }, + { + "key": "chk_other", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Taja kazi nyingine", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali taja Kazi" + }, + "relevance": { + "step1:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Nafasi yoyote ya uongozi katika jamii?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Kiongozi wa Kidini", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Kiongozi wa Kijadi", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Kiongozi wa Kisiasa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Kiongozi mwenye ushawishi ", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Nyingine", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Taja nafasi nyingine katika jamii", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali taja nafasi hiyo" + }, + "relevance": { + "step1:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "reasons_for_registration", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Registration_Reason", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "reasons_for_registration_male_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_15", + "type": "native_radio", + "label": "Sababu ya usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "homosexual", + "text": "Mwanaume anayejamiana na wanaume", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Ukatili wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya usajili inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_female_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_15", + "type": "native_radio", + "label": "Sababu ya usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sex_worker_woman", + "text": "Mwanamke anayefanya biashara ya ngono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Ukatili wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya madawa yak kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "pregnant_mother", + "text": "Mama mjamzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "breastfeeding_mother", + "text": "Mama anayenyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya usajili inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_under_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_under_15", + "type": "native_radio", + "label": "Sababu ya usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "Mtoto mwenye vilio vya uzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "Mtoto mwenye homa za mara kwa mara", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Mtoto anayenyanyaswa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Ukatili wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya madawa ya kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Mtoto anayeishi katika mazingira hatarishi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya usajili inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json new file mode 100644 index 0000000000..bbb8b62db1 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json @@ -0,0 +1,192 @@ +{ + "count": "1", + "encounter_type": "ANC Counselling", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Ushauri", + "fields": [ + { + "key": "counselling_given", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling_given", + "type": "check_box", + "label": "Ushauri uliyotolewa kwa Mama na wanafamilia", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_attended_anc_contacts", + "text": "1. Kufika kliniki ya ANC mapema", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_attended_anc_contacts" + }, + { + "key": "chk_anc_danger_signs", + "text": "2. Dalili za hatari za ujauzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_anc_danger_signs" + }, + { + "key": "chk_maternal_nutrition", + "text": "3. Lishe ya mama wakati wa ujauzito na kunyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_maternal_nutrition" + }, + { + "key": "chk_personal_delivery", + "text": "4. Mpango binafsi wa kujifungua", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_personal_delivery" + }, + { + "key": "chk_hiv_aids", + "text": "5. Taarifa za ujumla za VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hiv_aids" + }, + { + "key": "chk_pmtct_for_mother", + "text": "6. PMTCT kwa ajili ya Mama", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_pmtct_for_mother" + }, + { + "key": "chk_preventing_malaria", + "text": "7. Kuzuia Malaria kwa ajili ya wamama wajawazito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_preventing_malaria" + }, + { + "key": "chk_physical_changes", + "text": "8. Mabadiliko ya kimwili kwa mama aliyetoka kujifungua", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_physical_changes" + }, + { + "key": "chk_pnc_danger_signs", + "text": "9. Dalili za hatari za PNC", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_pnc_danger_signs" + }, + { + "key": "chk_care_of_infant", + "text": "10. Utunzaji wa mtoto mchanga baada ya kuzaliwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_care_of_infant" + }, + { + "key": "chk_infant_danger_signs", + "text": "11. Dalili za hatari za mtoto mchanga", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_infant_danger_signs" + }, + { + "key": "chk_hiv_exposed_infant", + "text": "12. Ufuatiliaji kwa ajili ya mtoto mchanga aliyeambukizwa na VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hiv_exposed_infant" + }, + { + "key": "chk_breastfeeding", + "text": "13. Kunyonyesha ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_breastfeeding" + }, + { + "key": "chk_exclusive_breast_feeding ", + "text": "14. Kupanga mpango wa uzazi kwa kutumia kunyonyesha maziwa ya mama pekee kwa miezi 6 baada ya kuzaliwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_exclusive_breast_feeding" + }, + { + "key": "chk_family_planning", + "text": "15. Mpango wa uzazi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_family_planning" + }, + { + "key": "chk_infection_prevention", + "text": "16. Kuzuia na kudhibiti maambukizi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_infection_prevention" + }, + { + "key": "chk_none", + "text": "17. Hamna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau mojawapo" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json new file mode 100644 index 0000000000..4238d3dfe9 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json @@ -0,0 +1,238 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Danger signs", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Dalili za hatari", + "fields": [ + { + "key": "danger_signs_present", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "danger_signs_present", + "type": "check_box", + "label": "Je, Mama ana dalili zozote za hatari?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_fever", + "text": "Homa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_fever" + }, + { + "key": "chk_bleeding_vaginally", + "text": "Kutokwa na damu ukeni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_bleeding_vaginally" + }, + { + "key": "chk_server_headache", + "text": "Maumivu makali ya kichwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_server_headache" + }, + { + "key": "chk_blurred_vision", + "text": "Kutoona vizuri", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_blurred_vision" + }, + { + "key": "chk_convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_convulsions" + }, + { + "key": "chk_difficulty_breathing", + "text": "Kupumua kwa shida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_difficulty_breathing" + }, + { + "key": "chk_severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_severe_abdominal_pain" + }, + { + "key": "chk_loss_consciousness", + "text": "Kupoteza fahamu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_loss_consciousness" + }, + { + "key": "chk_swelling", + "text": "Kuvimba kwa uso na/au mikono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_swelling" + }, + { + "key": "chk_early_labour", + "text": "Uchungu kuanza mapema kabla ya mimba kufikia miezi 9", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_early_labour" + }, + { + "key": "chk_vaginal_discharge", + "text": "Kutokwa na majimaji ukeni yenye rangirangi na harufu mbaya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_vaginal_discharge" + }, + { + "key": "chk_unusual_movement", + "text": "Hakuna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_unusual_movement" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau mojawapo" + } + }, + { + "key": "danger_signs_present_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Dalili ya hatari! Apewe rufaa kwenda kwenye kituo cha afya haraka.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:danger_signs_present": { + "ex-checkbox": [ + { + "or": [ + "chk_fever", + "chk_bleeding_vaginally", + "chk_server_headache", + "chk_blurred_vision", + "chk_convulsions", + "chk_difficulty_breathing", + "chk_severe_abdominal_pain", + "chk_loss_consciousness", + "chk_swelling", + "chk_early_labour", + "chk_vaginal_discharge", + "chk_unusual_movement" + ] + } + ] + } + } + }, + { + "key": "danger_signs_counseling", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "danger_signs_counseling", + "openmrs_data_type": "select one", + "type": "spinner", + "label_info_title": "Je, mama amepokea ushauri?", + "label_info_text": "Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?", + "hint": "Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "prompt_for_danger_signs", + "type": "toaster_notes", + "text": "Tafadhali mpatie mteja ushauri juu ya dalili za hatari za kipindi cha ujauzito", + "openmrs_entity_id": "prompt_for_danger_signs", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "warning", + "relevance": { + "step1:danger_signs_counseling": { + "type": "String", + "ex": "equalTo(.,\"No\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_family_planning.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_family_planning.json new file mode 100644 index 0000000000..819d60ac0f --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_family_planning.json @@ -0,0 +1,94 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Family Planning", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Uzazi wa mpango", + "fields": [ + { + "key": "fam_planning", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fam_planning", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, Mama alishauriwa kuhusu Uzazi wa Mpango alipohudhuria kliniki?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "prompt_for_family_planning", + "type": "toaster_notes", + "text": "Tafadhali mpatie mteja ushauri juu ya Uzazi wa Mpango", + "openmrs_entity_id": "prompt_for_family_planning", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "warning", + "relevance": { + "step1:fam_planning": { + "type": "String", + "ex": "equalTo(.,\"No\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_health_facility_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_health_facility_visit.json new file mode 100644 index 0000000000..ab9c2abd85 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_health_facility_visit.json @@ -0,0 +1,179 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Facility Visit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Hudhurio la {0} Kituo cha Afya", + "fields": [ + { + "key": "anc_hf_visit", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "anc_hf_visit", + "openmrs_data_type": "select one", + "label_info_title": "Je, Mwanamke huyu amehudhuria kliniki ya wajawazito mara {0} ?", + "label_info_text": "Je, Mwanamke huyu amehudhuria kliniki ya wajawazito?", + "type": "spinner", + "hint": "Je, Mwanamke huyu amehudhuria kliniki ya wajawazito mara {0} ? Tarehe ya kukamilisha hudhurio: {1}", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu moja" + } + }, + { + "key": "anc_hf_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "anc_hf_visit_date", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "ANC visit date", + "hint": "Tarehe ya hudhurio ya ANC", + "expanded": false, + "min_date": "today-10y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Ingiza tarehe ya kutembelea kituoni" + }, + "relevance": { + "step1:anc_hf_visit": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "reason_for_missed_visit", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reason_for_missed_visit", + "type": "spinner", + "hint": "Sababu ya kutofika kituoni", + "values": [ + "Hofu ya kufichua ujauzito wake", + "Alisahau tarehe ya miadi", + "Hakuwa na nauli ya usafiri", + "Alikuwa hajisikii vizuri", + "Nyingine" + ], + "keys": [ + "fear_to_disclose_her_pregnancy", + "she_forgot_the_appointment_date", + "she_did_not_have_transport_fare", + "she_was_not_feeling_well", + "other" + ], + "openmrs_choice_ids": { + "fear_to_disclose_her_pregnancy": "fear_to_disclose_her_pregnancy", + "she_forgot_the_appointment_date": "she_forgot_the_appointment_date", + "she_did_not_have_transport_fare": "she_did_not_have_transport_fare", + "she_was_not_feeling_well": "she_was_not_feeling_well", + "other": "other" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua sababu" + }, + "relevance": { + "step1:anc_hf_visit": { + "type": "string", + "ex": "equalTo(., \"No\")" + } + } + }, + { + "key": "other_reason_missed_visit", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_missed_visit", + "type": "edit_text", + "hint": "Sababu nyingine ya kutofika kituoni", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza sababu nyingine" + }, + "relevance": { + "step1:reason_for_missed_visit": { + "type": "string", + "ex": "equalTo(., \"other\")" + } + } + }, + { + "key": "anc_hf_next_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "anc_hf_next_visit_date", + "type": "spacer" + }, + { + "key": "confirmed_visits", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "confirmed_visits", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json new file mode 100644 index 0000000000..9a09b32616 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json @@ -0,0 +1,221 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Malaria", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Kinga dhidi ya Malaria", + "fields": [ + { + "key": "fam_llin", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fam_llin", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, Mwanamke ana chandarua chenye dawa ya muda mrefu (LLIN)?", + "values": [ + "Ndiyo ", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "llin_2days", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "llin_2days", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, alilala ndani ya chandarua jana usiku?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "step1:fam_llin": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "llin_condition", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "llin_condition", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hali ya chandarua", + "values": [ + "Nzuri", + "Mbaya" + ], + "keys": [ + "Good", + "Bad" + ], + "openmrs_choice_ids": { + "Good": "Good", + "Bad": "Bad" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "step1:fam_llin": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "malaria_sp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "malaria_sp", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mteja ametumia dawa ya kuzuia Malaria (SP)?", + "values": [ + "Ndiyo ", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "reason_for_missed_sp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reason_for_missed_sp", + "type": "spinner", + "hint": "Sababu kwa nini mteja hatumii dawa za SP", + "values": [ + "Mteja hakupewa dawa za SP", + "Mteja alipoteza dawa zake", + "Uzembe wa mteja", + "Nyingine" + ], + "keys": [ + "client_was_not_given_sp_dosage", + "client_lost_her_medication", + "client_negligence", + "other" + ], + "openmrs_choice_ids": { + "client_was_not_given_sp_dosage": "client_was_not_given_sp_dosage", + "client_lost_her_medication": "client_lost_her_medication", + "client_negligence": "client_negligence", + "other": "other" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "step1:malaria_sp": { + "type": "string", + "ex": "equalTo(., \"No\")" + } + } + }, + { + "key": "other_reason_missed_sp_dosage", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_missed_sp_dosage", + "type": "edit_text", + "hint": "Sababu nyingine kwa nini mteja hatumii dawa za SP", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafahdali ingiza sababu hiyo" + }, + "relevance": { + "step1:reason_for_missed_sp": { + "type": "string", + "ex": "equalTo(., \"other\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_nutrition_status.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_nutrition_status.json new file mode 100644 index 0000000000..7e3907bba9 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_nutrition_status.json @@ -0,0 +1,82 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Nutrition Status", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Hali ya lishe", + "fields": [ + { + "key": "nutrition_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_status", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, hali ya lishe ya Mama ikoje?", + "values": [ + "Kawaida/Kijani", + "Wastani/Njano", + "Mbaya/Nyekundu" + ], + "keys": [ + "Normal", + "Moderate", + "Severe" + ], + "openmrs_choice_ids": { + "Normal": "Normal", + "Moderate": "Moderate", + "Severe": "Severe" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json new file mode 100644 index 0000000000..d1d8f37a21 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json @@ -0,0 +1,135 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Obs and Illness", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Uchunguzi na magonjwa", + "fields": [ + { + "key": "date_of_illness", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "date_of_illness", + "type": "date_picker", + "hint": "Tarehe", + "expanded": false, + "min_date": "today-1y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya ugonjwa" + } + }, + { + "key": "illness_description", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "illness_description", + "type": "edit_text", + "hint": "Maelezo", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza maelezo hayo" + } + }, + { + "key": "action_taken", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "action_taken", + "type": "check_box", + "label": "Hatua iliyochukuliwa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_ors", + "text": "ORS 5", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_ors" + }, + { + "key": "chk_zinc", + "text": "Zinc 10", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_zinc" + }, + { + "key": "chk_paracetamol", + "text": "Panado", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_paracetamol" + }, + { + "key": "chk_referred", + "text": "Kupewa rufaa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_referred" + }, + { + "key": "chk_none", + "text": "Hakuna matibabu yaliyotolewa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_pregnancy_risk_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_pregnancy_risk_form.json new file mode 100644 index 0000000000..f72532d3b3 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_pregnancy_risk_form.json @@ -0,0 +1,97 @@ +{ + "count": "1", + "encounter_type": "Pregnancy risk", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Pregnancy risk", + "fields": [ + { + "key": "preg_risk", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_risk", + "type": "check_box", + "label": "Hatari ya ujauzito kwa mwanamke", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "saveObsAsArray": true, + "exclusive": [ + "Low", + "Medium", + "High" + ], + "options": [ + { + "key": "Low", + "text": "Chini", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "Low" + }, + { + "key": "Medium", + "text": "Wastani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "Medium" + }, + { + "key": "High", + "text": "Juu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "High" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau mojawapo" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_remarks_and_comments.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_remarks_and_comments.json new file mode 100644 index 0000000000..73cd8e7364 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_remarks_and_comments.json @@ -0,0 +1,66 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Remarks and comment", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Maoni", + "fields": [ + { + "key": "chw_comment_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_comment_anc", + "type": "edit_text", + "hint": "Maoni", + "v_required": { + "value": "false", + "err": "Tafadhali ingiza maoni yako" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json new file mode 100644 index 0000000000..a6d2b1efa9 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -0,0 +1,425 @@ +{ + "count": "1", + "encounter_type": "ANC Registration", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Usajili wa ANC", + "fields": [ + { + "key": "relational_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "relational_id", + "type": "hidden" + }, + { + "key": "last_menstrual_period", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_menstrual_period", + "type": "date_picker", + "hint": "Kipindi cha mwisho cha kuona alichoona hedhi yake (LNMP)", + "label_info_title": "LNMP", + "label_info_text": "LNMP = siku ya kwanza ya Kipindi cha Mwisho cha Kawaida cha Hedhi. Ikiwa tarehe kamili haijulikani, lakini kipindi cha mwezi kinajulikana, tumia siku ya 5 kuainisha mwanzo wa mwezi, siku ya 15 kuainisha katikati ya mwezi, na siku ya 25 kuainisha mwisho wa mwezi.", + "expanded": false, + "max_date": "today", + "min_date": "today-50w", + "v_required": { + "value": "true", + "err": "Tarehe ya mwisho ya hedhi ya kawaida" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + } + }, + { + "key": "last_menstrual_period_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_menstrual_period_unknown", + "openmrs_data_type": "text", + "type": "check_box", + "options": [ + { + "key": "lmp_unknown", + "text": "Kipindi cha mwisho cha hedhi hakijulikani", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "edd", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "edd", + "type": "date_picker", + "hint": "Tarehe ya Kujifungua inayotarajiwa (EDD)", + "max_date": "today+50w", + "min_date": "today", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Inahitajika" + } + }, + { + "key": "gest_age_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Umri wa ujauzito (GA)", + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + } + }, + { + "key": "edd_note", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Tarehe ya Kujifungua inayotarajiwa (EDD)", + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + } + }, + { + "key": "gest_age", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gest_age", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + } + }, + { + "key": "no_prev_preg", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_prev_preg", + "type": "edit_text", + "edit_type": "number", + "hint": "Idadi ya mimba zilizopita", + "v_required": { + "value": "true", + "err": "Sawa na au zaidi ya 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_min": { + "value": "0", + "err": "Namba lazima iwe sawa au zaidi ya 0" + } + }, + { + "key": "gravida", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gravida", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + } + }, + { + "key": "delivery_method", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_method", + "type": "check_box", + "label": "Je, umejifungua mtoto/watoto wako kwa njia ya kawaida au kwa njia ya upasuaji?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "options": [ + { + "key": "chk_vaginally", + "text": "Njia ya kawaida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_vaginally" + }, + { + "key": "chk_cesarean_section", + "text": "Upasuaji", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cesarean_section" + }, + { + "key": "chk_miscarriage", + "text": "Iliharibika", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_miscarriage" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "delivery_method_one", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_method_one", + "type": "native_radio", + "label": "Je, umejifungua mtoto/watoto wako kwa njia ya kawaida au kwa njia ya upasuaji?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "options": [ + { + "key": "chk_vaginally", + "text": "Njia ya kawaida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_vaginally" + }, + { + "key": "chk_cesarean_section", + "text": "Upasuaji", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cesarean_section" + }, + { + "key": "chk_miscarriage", + "text": "Iliharibika", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_miscarriage" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua zote zinazotumika" + } + }, + { + "key": "no_surv_children", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_surv_children", + "type": "edit_text", + "edit_type": "number", + "hint": "Idadi ya watoto walio hai", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Inahitajika" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_relative_max": { + "value": "no_prev_preg", + "err": "Number must be less than or equal to Number of Previous Pregnancies" + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "edit_text", + "hint": "Namba ya simu", + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe na jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na ianze na 0" + }, + "v_required": { + "value": false, + "err": "Haijafafanuliwa" + } + }, + { + "key": "person_assist", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "person_assist", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, Mama ana mtu wa kumsaidia wakati wa ujauzito?", + "v_required": { + "value": "true", + "err": "Tadhali chagua chaguo moja" + }, + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + } + }, + { + "key": "name_person_assist", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "name_person_assist", + "type": "edit_text", + "hint": "Jina la msaidizi wa mjamzito", + "edit_type": "name", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la mtu huyo" + } + }, + { + "key": "phone_person_assist", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_person_assist", + "type": "edit_text", + "hint": "Namba ya simu", + "v_required": { + "value": false, + "err": "Haijafafanuliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe na jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na ianze na 0" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json new file mode 100644 index 0000000000..e994fccc5f --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json @@ -0,0 +1,558 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "1", + "encounter_type": "Pregnancy Outcome", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Pregnancy Outcome", + "fields": [ + { + "key": "relational_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "relational_id", + "type": "hidden" + }, + { + "key": "preg_outcome", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_outcome", + "type": "native_radio", + "label": "Matokeo ya ujauzito", + "label_text_style": "bold", + "text_color": "#000000", + "options": [ + { + "key": "born_alive", + "text": "Mtoto alizaliwa akiwa hai", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "born_alive", + "openmrs_entity_parent": "" + }, + { + "key": "born_alive_died", + "text": "Mtoto alizaliwa akiwa hai, lakini akafa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "born_alive_died", + "openmrs_entity_parent": "" + }, + { + "key": "still_born", + "text": "Mtoto alizaliwa mfu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "still_born", + "openmrs_entity_parent": "" + }, + { + "key": "alive_with_problem", + "text": "Mtoto alizaliwa akiwa hai, lakini wana tatizo (yaani ulemavu, matatizo ya kupumua, n.k.)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "alive_with_problem", + "openmrs_entity_parent": "" + }, + { + "key": "miscarriage", + "text": "Iliharibika", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "miscarriage", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua matokeo ya ujauzito" + } + }, + { + "key": "miscarriage_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "miscarriage_date", + "type": "date_picker", + "hint": "Tarehe ya kuharibika kwa mimba", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya kuharibika kwa mimba ya mwanamke" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "delivery_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_date", + "type": "date_picker", + "hint": "Tarehe ya kujifungua", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya kujifungua kwa mwanamke huyo" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "no_children", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_children", + "type": "hidden" + }, + { + "key": "delivery_place", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_place", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Mahali ambapo mama alijifungulia", + "values": [ + "Nyumbani", + "Katika kituo cha afya", + "Njiani kuelekea kituo cha afya", + "Nyingine" + ], + "keys": [ + "At home", + "At a health facility", + "On the way to the health facility", + "Other" + ], + "openmrs_choice_ids": { + "At home": "At home", + "At a health facility": "At a health facility", + "On the way to the health facility": "On the way to the health facility", + "Other": "Other" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "delivery_home", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_home", + "type": "native_radio", + "label": "Nani alimsaidia mama kujifungua nyumbani?", + "label_text_style": "bold", + "text_color": "#C0C0C0", + "v_required": { + "value": "true", + "err": "Tafadhali chagua" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + }, + "options": [ + { + "key": "gave_birth_alone", + "text": "Alijifungua nyumbani peke yake", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gave_birth_alone" + }, + { + "key": "gave_birth_with_help", + "text": "Alijifungulia nyumbani kwa msaada wa mwanafamilia/rafiki/jirani", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gave_birth_with_help" + }, + { + "key": "midwife_help", + "text": "Alijifungulia nyumbani kwa msaada wa mkunga wa jadi", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "midwife_help" + } + ] + }, + { + "key": "delivery_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_hf", + "type": "native_radio", + "label": "Mama alijifungua katika kituo cha afya. Nani aliongozana na mama hadi kituo cha afya?", + "label_text_style": "bold", + "text_color": "#C0C0C0", + "v_required": { + "value": "true", + "err": "Tafadhali cchagua" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + }, + "options": [ + { + "key": "facility_family_member", + "text": "Alijifungua katika kituo cha afya, na alisindikizwa na wanafamilia.", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "facility_family_member" + }, + { + "key": "facility_midwife", + "text": "Alijifungua katika kituo cha afya, na alisindikizwa na mkunga wa jadi", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "facility_midwife" + }, + { + "key": "alone", + "text": "Alijifungua katika kituo cha afya, na alikuja peke yake", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "alone" + }, + { + "key": "other_pple", + "text": "Alijifungua katika kituo cha afya, na alisindikizwa na watu wengine", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_pple" + }, + { + "key": "other_chw", + "text": "Alijifungua katika kituo cha afya, na aliandamana na mfanyakazi wa afya ya jamii (CHW)", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_chw" + } + ] + }, + { + "key": "baby_label", + "type": "label", + "text": "BABY DETAILS", + "left_padding": "20dp", + "right_padding": "20dp", + "text_size": "7sp", + "text_color": "#000000", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fam_name", + "type": "hidden" + }, + { + "key": "no_children_no", + "type": "repeating_group", + "reference_edit_text_hint": "Number of children born alive", + "repeating_group_label": "Baby Details #", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "repeating_group_max": "10", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + }, + "value": [ + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Surname", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the surname" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-dynamic": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "same_as_fam_name_chk", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "text", + "type": "check_box", + "options": [ + { + "key": "same_as_fam_name", + "text": "Surname same as family name", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Middle name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "hidden" + }, + { + "key": "gender", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Gender required" + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Physical disabilities", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "edit_text", + "hint": "Type of physical disabilities", + "edit_type": "name", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-dynamic": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "early_bf_1hr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "early_bf_1hr", + "type": "spinner", + "hint": "Early initiation of breastfeeding (1 hr)?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + } + }, + { + "key": "vacc_birth", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "vacc_birth", + "type": "check_box", + "label": "Which vaccinations were given?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + }, + { + "key": "chk_opv_0", + "text": "OPV 0", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_opv_0" + }, + { + "key": "chk_bcg", + "text": "BCG", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_bcg" + } + ], + "v_required": { + "value": "true", + "err": "vaccinations given required" + } + } + ] + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_referral_form.json new file mode 100644 index 0000000000..b62683de5d --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_referral_form.json @@ -0,0 +1,421 @@ +{ + "count": "1", + "encounter_type": "ANC Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "ANC referral form", + "fields": [ + { + "key": "chw_referral_hf_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_calculation.yml" + } + } + } + }, + { + "key": "problem_hf_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Hali ya mteja / tatizo", + "label_text_style": "bold", + "options": [ + { + "key": "Vaginal_bleeding", + "text": "Kutokwa na damu ukeni", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", + "text": "Kutokwa na majimaji yenye rangirangi na harufu mbaya", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "High_blood_pressure", + "text": "Shinikizo la damu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_anaemia", + "text": "upungufu mkali wa damu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "No_movement_unusual_movement_for_a_child_in_the_womb", + "text": "Hamna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pregnancy_pains_before_9_months", + "text": "Maumivu ya ujauzito kabla ya miezi 9", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "153316AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Early_age_pregnancy_below_18_years", + "text": "Mimba ya umri mdogo (chini ya miaka 18)", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "163119AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "A_severe_headache_dizziness", + "text": "Maumivu makali ya kichwa / kizunguzungu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Swelling_of_the_face_andor_hands", + "text": "Kuvimba kwa uso na/au mikono", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fever", + "text": "Homa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Shivering_trembling", + "text": "Kutetemeka", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Nausea_and_Vomiting", + "text": "Kichefuchefu na kutapika", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "133473AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Water_sack_broke_before_contractions", + "text": "Maji ya uzazi kupasuka kabla ya mikazo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "129211AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cord_prolapse", + "text": "Kutokwa kwa kamba ya uzazi nje ya uke", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "128419AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "HIV_care_and_support_services", + "text": "Huduma za matunzo na usaidizi wa VVU", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Family_planning_services", + "text": "Huduma za uzazi wa mpango", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "PMTCT_for_mothers", + "text": "PMTCT kwa akina mama", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fistula", + "text": "Fistula", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Difficultly_breathing", + "text": "Kupumua kwa shida", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Breast_engorgement", + "text": "Kuvimba kwa matiti", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Blurred_vision", + "text": "Uoni hafifu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Perineum_tear", + "text": "Kupasuka kwa msamba", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pregnancy_confirmation", + "text": "Kuthibitisha ujauzito", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "152305AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_symptoms", + "text": "Dalili zingine", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": true, + "err": "Tafadhali bainisha sababu ya rufaa ya ANC" + } + }, + { + "key": "problem_hf_anc_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "edit_type": "name", + "hint": "Dalili zingine", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha dalili nyingine" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_relevance.yml" + } + } + } + }, + { + "key": "service_before_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "is_problem": false, + "label": "Usimamizi wa kabla ya kutoa rufaa uliopewa", + "label_text_style": "bold", + "exclusive": [ + "None" + ], + "options": [ + { + "key": "ORS", + "text": "ORS", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Panadol", + "text": "Panadol", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_treatment", + "text": "Matibabu mengine", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "HaKuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Sehemu ya usimamizi kabla ya ktutoa rufaa inahitajika" + } + }, + { + "key": "service_before_anc_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "is_problem": false, + "edit_type": "name", + "hint": "Other treatment", + "v_required": { + "value": "true", + "err": "Please specify other treatment" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_relevance.yml" + } + } + } + }, + { + "key": "referral_date_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/birth_certification.json b/opensrp-chw/src/nacp/assets/json.form-sw/birth_certification.json new file mode 100644 index 0000000000..6c4cda2d28 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/birth_certification.json @@ -0,0 +1,183 @@ +{ + "count": "1", + "encounter_type": "Birth Certification", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Birth Certification", + "fields": [ + { + "key": "birth_cert", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Mtoto ana cheti cha kuzaliwa?", + "values": [ + "Ndiyo", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": true, + "err": "Tafadhali chagua chaguo" + } + }, + { + "key": "birth_cert_issue_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164129AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe ya kutoa cheti cha kuzaliwa", + "expanded": false, + "max_date": "today", + "min_date": "", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya kutoa cheti cha kuzaliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + }, + { + "key": "birth_cert_num", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "162052AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Namba ya cheti cha kuzaliwa", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza namba" + }, + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe tarakimu 15 au pungufu ya hapo" + }, + "v_regex": { + "value": "([0-9]{1,15})|\\s*", + "err": "Namba lazima iwe tarakimu 15 au pungufu ya hapo" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + }, + { + "key": "birth_notification", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, arifa ya kuzaliwa ilifanywa?", + "values": [ + "Ndiyo", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": false, + "err": "Tafadhali chagua chaguo" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + }, + { + "key": "birthinstroductions", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "Ask to see the birth notification and instruct the caregiver to register the birth at County Health.", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + }, + { + "key": "caregiverinstroductions", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "Instruct the caregiver to have the birth registered at County Health.", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json new file mode 100644 index 0000000000..6c750d5466 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json @@ -0,0 +1,574 @@ +{ + "count": "1", + "encounter_type": "Child Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Sajili Mtoto chini ya miaka 5", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": true, + "hint": "Namba ya utambulisho ya WAJA", + "v_numeric": { + "value": "true", + "err": "Tafadhali ingiza namba ya kitambulisho sahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza namba namba ya kipekee ya kitambulisho" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Jina la mwisho", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la mwisho" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + }, + { + "key": "same_as_fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "text", + "type": "check_box", + "label": "", + "exclusive": [ + "none" + ], + "options": [ + { + "key": "same_as_fam_name", + "text": "Jina la mwisho sawa na jina la familia", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "hidden": "true" + }, + { + "key": "surname_calculation", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "last_name", + "type": "hidden", + "hint": "Surname as Family name", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Jina la kwanza", + "expanded": false, + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\s\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Jina la kati", + "expanded": false, + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kati" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Tarehe ya kuzaliwa", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-5y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya kuzaliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "hidden": "false", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "Tarehe ya kuzaliwa haijulikani", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step1:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Umri", + "v_numeric": { + "value": "true", + "err": "" + }, + "v_min": { + "value": "0", + "err": "Umri lazima uwe sawa au zaidi ya 0" + }, + "v_max": { + "value": "5", + "err": "Umri ni lazima uwe sawa au chini ya 5" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafadhali ingiza umri" + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "insurance_provider", + "type": "spinner", + "hint": "Mtoa huduma ya bima ya afya", + "values": [ + "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", + "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Bima ya afya ya Britam", + "Bima ya afya ya Jubilee", + "Bima ya afya ya Resolutions", + "Bima ya afya ya Reliance", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza mtoa huduma ya bima" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Mtoa huduma mwingine wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza mtoa huduma ya bima" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Namba ya mtoa huduma wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali ongeza namba ya kitambulisho ya mtoa huduma wa bima ya afya" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "gender", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jinsi" + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Ulemavu wa kimwili", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza moja" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Aina ya ulemavu wa kimwili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Uhamaji na Ulemavu wa Kimwili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Ulemavu wa Uti wa Mgongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Ulemavu wa Kuona", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Ulemavu wa Kusikia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Ulemavu wa Utambuzi au Kujifunza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Matatizo ya Kisaikolojia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Ulemavu Usioonekana", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafadhali ingiza aina ya ulemavu wa kimwili" + } + }, + { + "key": "birth_cert_available", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "birth_cert_available", + "type": "spinner", + "hint": "Je, Mtoto amesajiliwa au ana cheti cha kuzaliwa", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + }, + { + "key": "birth_regist_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "birth_regist_number", + "type": "edit_text", + "hint": "Namba ya cheti cha kuzaliwa cha mtoto", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + }, + { + "key": "rhc_card", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "rhc_card", + "type": "spinner", + "hint": "Je, mtoto ana kadi ya RCH 1/kijitabu cha ukuaji wa mtoto?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + } + }, + { + "key": "nutrition_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_status", + "type": "spinner", + "hint": "Hali ya lishe", + "values": [ + "Kijani", + "Kijivu/Njano", + "Nyekundu" + ], + "keys": [ + "Green", + "Grey", + "Red" + ], + "openmrs_choice_ids": { + "Green": "Green", + "Grey": "Grey", + "Red": "Red" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza hali ya lishe ya mtoto" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_deworming.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_deworming.json new file mode 100644 index 0000000000..db7272f377 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_deworming.json @@ -0,0 +1,69 @@ +{ + "count": "1", + "encounter_type": "De-worming", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Deworming {0} dose", + "fields": [ + { + "key": "deworming{0}_date", + "openmrs_entity_parent": "84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "image": "ic_form_deworming", + "hint": "Je, dawa ya minyoo {0} ilitolewa lini?", + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali weka tarehe ambayo dawa ya minyoo ilitolewa" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_malaria_prevention.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_malaria_prevention.json new file mode 100644 index 0000000000..ac716feba6 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_malaria_prevention.json @@ -0,0 +1,141 @@ +{ + "count": "1", + "encounter_type": "Malaria Prevention", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Malaria Prevention", + "fields": [ + { + "key": "fam_llin_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mtoto ana chandarua chenye dawa inayodumu kwa muda mrefu (LLIN)?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "llin_2days_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mtoto alilala kwenye chandarua chenye dawa inayodumu kwa muda mrefu (LLIN) jana usiku??", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafahdali chagua chaguo moja" + }, + "relevance": { + "step1:fam_llin_1m5yr": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "llin_condition_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hali ya chandarua (LLIN)", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Okay", + "Bad" + ], + "openmrs_choice_ids": { + "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "step1:fam_llin_1m5yr": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_nutrition_status.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_nutrition_status.json new file mode 100644 index 0000000000..f4f0938823 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_nutrition_status.json @@ -0,0 +1,82 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Nutrition Status", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Nutrition status", + "fields": [ + { + "key": "nutrition_status_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163301AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hali ya lishe ", + "values": [ + "Kawaida", + "Wastani", + "Mbaya" + ], + "keys": [ + "Normal", + "Moderate", + "Severe" + ], + "openmrs_choice_ids": { + "Normal": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Moderate": "1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_vaccine_card_received.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_vaccine_card_received.json new file mode 100644 index 0000000000..d77ad963e3 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_vaccine_card_received.json @@ -0,0 +1,72 @@ +{ + "count": "1", + "encounter_type": "Child vaccine card received", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Child vaccine card received", + "fields": [ + { + "key": "child_vaccine_card", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164147AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "image": "form_received_card", + "hint": "Je, mtoto alipokea kadi yake ya chanjo?", + "values": [ + "Ndiyo", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_vitamin_a.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_vitamin_a.json new file mode 100644 index 0000000000..feaf6069a6 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_vitamin_a.json @@ -0,0 +1,69 @@ +{ + "count": "1", + "encounter_type": "Vitamin A", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Vitamin A {0} dose", + "fields": [ + { + "key": "vitamin_a{0}_date", + "openmrs_entity_parent": "84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "image": "ic_form_vitamin", + "hint": "Dozi ya Vitamini A {0} ilifanywa lini?", + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ambayo vitamini A iliyotolewa" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_referral_form.json new file mode 100644 index 0000000000..6560173825 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_referral_form.json @@ -0,0 +1,385 @@ +{ + "count": "1", + "encounter_type": "Sick Child Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Sick child form", + "fields": [ + { + "key": "chw_referral_hf_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_problem_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Tatizo / hali ya kiafya", + "label_text_style": "bold", + "options": [ + { + "key": "Fast_breathing_and_difficulty_with_breathing", + "text": "Kupumua haraka na ugumu wa kupumua", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Umbilical_cord_navel_bleeding", + "text": "Kutokwa na damu kwa kitovu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Excessive_crying", + "text": "Kulia kupita kiasi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unable_to_breastfeed_or_swallow", + "text": "Haiwezi kunyonya au kumeza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Neck_stiffness", + "text": "Shingo kukaza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fever", + "text": "Homa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bloating", + "text": "Kuvimba", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Redness_around_the_umbilical_cord_foul_smelling_discharge_from_the_umbilical_cord", + "text": "Wekundu kuzunguka kitovu, kutokwa na harufu mbaya kutoka kwa kitovu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bacterial_conjunctivitis", + "text": "Kuvimba kwa macho inayosababishwa na bakteria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_anaemia", + "text": "Kupungukiwa sana kwa damu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pale_or_jaundiced", + "text": "Kupoteza rangi kwenye ngozi au kuonekana wa njano", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cyanosis_blueness_of_lips", + "text": "Midomo kuonekana na rangi ya bluu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Skin_rash_pustules", + "text": "Kuwa na upele kwenye ngozi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Diarrhea", + "text": "Kuhara", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Vomiting", + "text": "Kutapika", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Disabilities", + "text": "Ulemavu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Premature_baby", + "text": "Mtoto njiti", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Care_of_HIV_exposed_infant", + "text": "Utunzaji wa mtoto aliyeambukizwa VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Immunisation", + "text": "Kupatiwa chanjo ya kinga", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_symptom", + "text": "Dalili zingine", + "value": false, + "ignore": true, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": true, + "err": "Tafadhali taja tatizo la kiafya" + } + }, + { + "key": "referral_problem_child_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Dalili zingine", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_relevance.yml" + } + } + } + }, + { + "key": "service_before_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Usimamizi wa kabla ya kupewa rufaa iliyotolewa", + "label_text_style": "bold", + "is_problem": false, + "exclusive": [ + "None" + ], + "options": [ + { + "key": "ORS", + "text": "ORS", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Panadol", + "text": "Panadol", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_treatment", + "text": "Matibabu mengine", + "value": false, + "ignore": true, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Sehemu ya Usimamizi wa kabla ya kupewa rufaa inahitajika" + } + }, + { + "key": "service_before_child_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Matibabu mengine", + "is_problem": false, + "v_required": { + "value": "true", + "err": "Tafadhali taji matibabu megine " + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_relevance.yml" + } + } + } + }, + { + "key": "referral_date_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_time_child", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/community_responder_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/community_responder_registration.json new file mode 100644 index 0000000000..cde23161e4 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/community_responder_registration.json @@ -0,0 +1,112 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "1", + "encounter_type": "Community Responder Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Taarifa ya usafiri wa dharura", + "fields": [ + { + "key": "responder_label", + "type": "label", + "text": "Sajili taarifa ya usafiri wa dharura", + "left_padding": "20dp", + "right_padding": "20dp", + "text_size": "7sp", + "text_color": "#000000" + }, + { + "key": "responder_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "responder_name", + "type": "edit_text", + "hint": "Jina", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la usafiri wa dharura" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" + } + }, + { + "key": "responder_phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "responder_phone_number", + "type": "edit_text", + "hint": "Namba ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 0." + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza namba ya simu ya usafiri wa dharura" + } + }, + { + "key": "responder_gps", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "responder_gps", + "openmrs_data_type": "text", + "hint": "Eneo la kawaida", + "type": "gps" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json new file mode 100644 index 0000000000..85fed03e87 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json @@ -0,0 +1,133 @@ +{ + "count": "1", + "encounter_type": "Family Details", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Family Details", + "fields": [ + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la ukoo", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la ukoo" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + } + }, + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "hidden": "true", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Number ya utambulisho", + "scanButtonText": "Scan QR Code", + "v_numeric": { + "value": "true", + "err": "Tafadhali weka kitambulisho halali" + } + }, + { + "key": "village_town", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "type": "edit_text", + "hint": "Jina la Eneo", + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la eneo" + } + }, + { + "key": "landmark", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "landmark", + "type": "edit_text", + "hint": "Alama ya kihistoria" + }, + { + "key": "gps", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gps", + "openmrs_data_type": "text", + "type": "gps" + }, + { + "key": "nearest_facility", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nearest_facility", + "openmrs_data_type": "text", + "type": "tree", + "hint": "Kijiji/Mtaa", + "tree": [], + "v_required": { + "value": true, + "err": "Tafadhali ingia kijijini au mtaani" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_child.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_child.json new file mode 100644 index 0000000000..04a6a6842c --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_child.json @@ -0,0 +1,212 @@ +{ + "count": "1", + "encounter_type": "Remove Child Under 5", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Remove Child Under 5", + "fields": [ + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "10sp" + }, + { + "key": "details", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "", + "text_size": "25px" + }, + { + "key": "divider1", + "type": "h_line", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "15dp" + }, + { + "key": "remove_reason", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Sababu", + "values": [ + "Alikufa", + "Imehamishwa", + "Nyingine" + ], + "keys": [ + "Died", + "Moved away", + "Other" + ], + "v_required": { + "value": "true", + "err": "Chagua sababu ya kuondoa rekodi ya mtoto." + }, + "openmrs_choice_ids": { + "Died": "160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Moved away": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "expanded": false, + "read_only": "true", + "hidden": "false" + }, + { + "key": "date_moved", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "Date moved away", + "hint": "Tarehe ya kuhamishwa", + "expanded": false, + "min_date": "", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Weka tarehe ambayo mwanachama alihama" + }, + "constraints": [ + { + "type": "date", + "ex": "greaterThanEqualTo(., step1:dob)", + "err": "Moved away date cannot be before date of birth" + } + ], + "relevance": { + "step1:remove_reason": { + "type": "string", + "ex": "equalTo(., \"Moved away\")" + } + } + }, + { + "key": "date_died", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "Date of death", + "hint": "Tarehe ya kifo", + "expanded": false, + "min_date": "", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Weka tarehe ya kifo" + }, + "constraints": [ + { + "type": "date", + "ex": "greaterThanEqualTo(., step1:dob)", + "err": "Date of death can't occur before date of birth" + } + ], + "relevance": { + "step1:remove_reason": { + "type": "string", + "ex": "equalTo(., \"Died\")" + } + } + }, + { + "key": "age_at_death", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "label": "Age at death", + "hint": "Umri wakati wa kifo", + "type": "edit_text", + "read_only": "true", + "relevance": { + "step1:remove_reason": { + "type": "string", + "ex": "equalTo(., \"Died\")" + } + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_remove_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_family.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_family.json new file mode 100644 index 0000000000..fa157b7ec6 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_family.json @@ -0,0 +1,171 @@ +{ + "count": "1", + "encounter_type": "Remove Family", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Remove Family", + "fields": [ + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "30sp" + }, + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "", + "text_size": "25px" + }, + { + "key": "details", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "", + "text_size": "25px" + }, + { + "key": "divider1", + "type": "h_line", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "20sp" + }, + { + "key": "closure_reason_fam", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Sababu ya kufungwa", + "values": [ + "Uhamisho", + "Nyinginezo" + ], + "keys": [ + "Relocation", + "Other" + ], + "v_required": { + "value": "true", + "err": "Chagua sababu ya kuondoa rekodi ya familia." + }, + "openmrs_choice_ids": { + "Relocation": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "key": "closure_reason_other_fam", + "openmrs_entity_parent": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Sababu nyingine", + "v_required": { + "value": "true", + "err": "Weka sababu ya kufungwa" + }, + "relevance": { + "step1:closure_reason_fam": { + "type": "string", + "ex": "equalTo(., \"Other\")" + } + } + }, + { + "key": "closure_reason_relocation_fam", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Uhamisho wa kaya", + "values": [ + "Ndani ya wilaya", + "Nje ya wilaya" + ], + "keys": [ + "Within the district", + "Outside the district" + ], + "v_required": { + "value": "true", + "err": "Weka sababu ya kufungwa" + }, + "relevance": { + "step1:closure_reason_fam": { + "type": "string", + "ex": "equalTo(., \"Relocation\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_member.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_member.json new file mode 100644 index 0000000000..8ec57ab184 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_member.json @@ -0,0 +1,214 @@ +{ + "count": "1", + "encounter_type": "Remove Family Member", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Remove Family Member", + "fields": [ + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "10sp" + }, + { + "key": "details", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "", + "text_size": "25px" + }, + { + "key": "divider1", + "type": "h_line", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "15dp" + }, + { + "key": "remove_reason", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Sababu ya kuondolewa", + "v_required": { + "value": "true", + "err": "Chagua sababu ya kuondoa rekodi ya mwanafamilia" + }, + "values": [ + "Kifo", + "Imehamishwa", + "Nyingine" + ], + "keys": [ + "Death", + "Moved away", + "Other" + ], + "openmrs_choice_ids": { + "Died": "160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Moved away": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "expanded": false, + "read_only": "true", + "hidden": "false" + }, + { + "key": "date_moved", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "Date moved away", + "hint": "Tarehe ya kuhamishwa", + "expanded": false, + "min_date": "", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Weka tarehe ambayo mwanachama alihama" + }, + "constraints": [ + { + "type": "date", + "ex": "greaterThanEqualTo(., step1:dob)", + "err": "Date moved away occur before date of birth" + } + ], + "relevance": { + "step1:remove_reason": { + "type": "string", + "ex": "equalTo(., \"Moved away\")" + } + } + }, + { + "key": "date_died", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "Date of death", + "hint": "Tarehe ya kifo", + "expanded": false, + "min_date": "today-80y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Weka tarehe ya kifo" + }, + "constraints": [ + { + "type": "date", + "ex": "greaterThanEqualTo(., step1:dob)", + "err": "Date of death can't occur before date of birth" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_remove_relevance.yml" + } + } + } + }, + { + "key": "age_at_death", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "label": "Age at death", + "hint": "Umri wakati wa kifo", + "type": "edit_text", + "read_only": "true", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_remove_relevance.yml" + } + } + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_remove_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json new file mode 100644 index 0000000000..c9b1f03029 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json @@ -0,0 +1,1082 @@ +{ + "count": "1", + "encounter_type": "Family Member Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Sajili mwanafamilia", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": true, + "hint": "WAJA ID", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + }, + "v_required": { + "value": "true", + "err": "Please enter the UNIQUE ID" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Jina la ukoo", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la ukoo" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "same_as_fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "text", + "type": "check_box", + "label": "", + "exclusive": [ + "none" + ], + "options": [ + { + "key": "same_as_fam_name", + "text": "Jina la ukoo sawa na jina la familia", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "hidden": "true" + }, + { + "key": "surname_calculation", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "last_name", + "type": "hidden", + "hint": "Surname as Family name", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-member-calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la kati", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina la kati" + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la kati" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Tarehe ya kuzaliwa (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-5y", + "v_required": { + "value": "true", + "err": "Tafadhali weka tarehe ya kuzaliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_register_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "Tarehe ya kuzaliwa haijulikani", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step1:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Umri", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Lazima iwe nambari ya mviringo" + }, + "v_min": { + "value": "5", + "err": "Umri lazima uwe sawa au zaidi ya 5" + }, + "v_max": { + "value": "120", + "err": "Umri lazima uwe sawa au chini ya 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafadhali weka umri" + } + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jinsi" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya Ndoa ya Mteja?", + "values": [ + "Hajaoa/Hajaolewa", + "Ameoa/Ameolewa", + "Wameachwa", + "Ndoa ya mke mmoja", + "Ndoa za wake wengi", + "Mjane", + "Kuishi pamoja bila ndoa" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "edit_text", + "hint": "Namba ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "Kitambulisho cha Taifa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Kitambulisho cha usajili wa mpiga kura", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Leseni ya udereva", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_passport", + "text": "Pasipoti", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_passport" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", + "hint": "Nambari ya kitambulisho cha taifa k.m 12345678-91234-56789-12", + "edit_type": "number", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "Nambari ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" + }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", + "hint": "Nambari ya kitambulisho cha mpiga kura k.m T-1234-5678-912-3", + "edit_type": "number", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Nambari ya kitambulosho cha mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", + "hint": "Nambari ya leseni ya udereva k.m 1234567891", + "edit_type": "number", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Nambari ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "passport", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Passport_Number", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", + "hint": "Nambari ya pasipoti", + "edit_type": "number", + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_passport" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Mtoa huduma ya bima ya afya", + "values": [ + "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", + "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "Huduma ya Afya ya AAR", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Bima ya afya ya Britam", + "Bima ya afya ya Jubilee", + "Bima ya afya ya Resolutions", + "Bima ya afya ya Reliance", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza mtoa huduma wa bima" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Mtoa huduma mwingine wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha mtoa huduma wa bima" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Nambari ya mtoa huduma ya bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali ongeza Nambari ya kitambulisho ya mtoa huduma wa bima ya afya" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_register_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_register_calculation.yml" + } + } + } + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_1yr", + "type": "spinner", + "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Je, mwanamke amejifungua katika mwaka 1 uliopita?" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Ulemavu wa kimwili", + "values": [ + "Ndio", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Aina ya ulemavu wa mwili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Uhamaji na Ulemavu wa Kimwili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Ulemavu wa Uti wa Mgongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Ulemavu wa Maono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Ulemavu wa Kusikia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Ulemavu wa Utambuzi au Kujifunza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Matatizo ya Kisaikolojia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Ulemavu Usioonekana", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza aina ya ulemavu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "is_primary_caregiver", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spinner", + "hint": "Je, mlezi mkuu?", + "values": [ + "Ndio", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Namba nyingine ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider", + "type": "check_box", + "label": "Kazi ya mwanafamilia", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_farmer", + "text": "Farmer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_cs", + "text": "Mtumishi wa Serikali", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cs" + }, + { + "key": "chk_nurse", + "text": "Muuguzi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nurse" + }, + { + "key": "chk_teacher", + "text": "Mwalimu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_teacher" + }, + { + "key": "chk_th", + "text": "Mganga wa Kienyeji", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_th" + }, + { + "key": "chk_chw", + "text": "Mhudumu wa Afya ya Jamii (CHW)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chw" + }, + { + "key": "chk_tba", + "text": "Mkunga wa Jadi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_tba" + }, + { + "key": "chk_chmis", + "text": "Mkusanya takrimu za afya ngazi ya jami", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chmis" + }, + { + "key": "chk_cbd", + "text": "Msambazaji wa vifaa vya uzazi wa mpango ngazi ja jami", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cbd" + }, + { + "key": "chk_hbc", + "text": "Utunzaji wa Nyumbani (HBC)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hbc" + }, + { + "key": "chk_cimmci", + "text": "Watoa huduma huduma za kuzuia magonjwa ya watoto kwa uwiano ngazi ya jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cimmci" + }, + { + "key": "chk_other", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Taja Kazi nyingine", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali taja kazi" + }, + "relevance": { + "step1:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Kuna nafasi yoyote ya uongozi katika jamii?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Kiongozi wa dini", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Kiongozi wa dini", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Kiongozi wa kisiasa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Kiongozi mwenye ushawishi", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Taja nafasi nyingine katika jamii", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha jukumu" + }, + "relevance": { + "step1:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json new file mode 100644 index 0000000000..26a2d30393 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -0,0 +1,1163 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "2", + "encounter_type": "Family Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Maelezo ya familia", + "next": "step2", + "fields": [ + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la Ukoo", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali jaza jina la ukoo" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali jaza jina halali" + } + }, + { + "key": "client_first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza la Mkuu wa Familia", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali jaza jina halali" + } + }, + { + "key": "client_middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la Kati la Mkuu wa Familia", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali jaza jina halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali jaza jina la kati" + } + }, + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "hidden": "true", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Number ya utambulisho", + "scanButtonText": "Scan QR Code", + "v_numeric": { + "value": "true", + "err": "Tafadhali jaza kitambulisho halali" + } + }, + { + "key": "fam_village", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "type": "edit_text", + "edit_type": "name", + "hint": "Jina la Eneo", + "v_required": { + "value": "true", + "err": "Tafadhali jaza jina la eneo" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali jaza jina sahihi la eneo" + } + }, + { + "key": "landmark", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "landmark", + "type": "edit_text", + "edit_type": "name", + "hint": "Alama/Maelezo ya eneo la nyumba", + "v_required": { + "value": true, + "err": "Tafadhali jaza alama/maelezo ya eneo." + } + }, + { + "key": "gps", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gps", + "openmrs_data_type": "text", + "type": "gps" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "15dp" + }, + { + "key": "nearest_facility", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nearest_facility", + "openmrs_data_type": "text", + "type": "tree", + "hint": "Kijiji/Mtaa", + "tree": [], + "v_required": { + "value": true, + "err": "Tafadhali chagua kijiji au mtaa" + } + } + ] + }, + "step2": { + "title": "Mkuu wa familia", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "hint": "", + "value": "0", + "read_only": "true", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + }, + "v_required": { + "value": "true", + "err": "Please enter the ID" + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali jaza jina halali" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la kati", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali jaza jina la kati" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali jaza jina halali" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_name", + "type": "edit_text", + "hint": "Jina la mwisho", + "edit_type": "name", + "read_only": "true", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali jaza jina halali" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Tarehe ya kuzaliwa (DOB)", + "expanded": false, + "duration": { + "label": "Umri" + }, + "min_date": "today-120y", + "max_date": "today-15y", + "v_required": { + "value": "true", + "err": "Tafadhali jaza tarehe ya kuzaliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "Tarehe ya kuzaliwa haijulikani?", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step2:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age_entered", + "type": "edit_text", + "hint": "Umri", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Lazima iwe number kamili" + }, + "v_min": { + "value": "15", + "err": "Umri lazima uwe sawa au zaidi ya 15" + }, + "v_max": { + "value": "120", + "err": "Umri lazima uwe sawa au chini ya 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafadhali jaza umri" + }, + "v_min.err": "Umri lazima uwe sawa au zaidi ya 15", + "v_max.err": "Umri lazima uwe sawa au chini ya 120" + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali jaza jinsi" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya Ndoa ya Mteja?", + "values": [ + "Hajaolewa", + "Ameolewa", + "Ameachika", + "Ndoa ya mke au mume moja", + "Mitara", + "Mjane", + "Kuishi pamoja bila ndoa" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "edit_text", + "hint": "Namba ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Je, ana kitambulisho chochote kati ya vifuatavyo?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "Kitambulisho cha Taifa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Kitambulisho cha Mpiga kura", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Leseni ya udereva", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_passport", + "text": "pasipoti", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_passport" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", + "hint": "Nambari ya kitambulisho cha taifa k.m 12345678-91234-56789-12", + "edit_type": "number", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "Nambari ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" + }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Tafadhali jaza namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali jaza namba sahihi" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", + "hint": "Nambari ya kitambulisho cha mpiga kura k.m T-1234-5678-912-3", + "edit_type": "number", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Nambari ya kitambulisho cha mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Tafadhali jaza namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali jaza namba sahihi" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", + "hint": "Nambari ya leseni ya udereva k.m 1234567891", + "edit_type": "number", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Nambari ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali jaza namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali jaza namba sahihi" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "passport", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Passport_Number", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", + "hint": "Nambari ya pasipoti", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali jaza namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali jaza namba sahihi" + }, + "edit_type": "number", + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_passport" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Mtoa huduma ya bima ya afya", + "values": [ + "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", + "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Bima ya afya ya Britam", + "Bima ya afya ya Jubilee", + "Bima ya afya ya Resolutions ", + "Bima ya afya ya Reliance", + "Nyinginezo", + "Hakuna" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza toleo la bima" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Mtoa huduma mwingine wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha mtoa huduma wa bima" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Nambari ya mtoa huduma ya bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali ongeza Nambari ya kitambulisho ya mtoa huduma wa bima ya afya" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "values": "" + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_1yr", + "type": "spinner", + "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", + "values": [ + "Ndio", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Ulemavu wa kimwili", + "values": [ + "Ndio", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Aina ya ulemavu wa mteja", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Ulemavu wa mwili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Ulemavu wa Uti wa Mgongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Ulemavu wa Maono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Ulemavu wa Kusikia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Ulemavu wa Utambuzi au Kujifunza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Matatizo ya Kisaikolojia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Ulemavu Usioonekana", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza aina ya ulemavu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Namba nyingine ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider", + "type": "check_box", + "label": "Kazi ya kichwa cha familia", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_farmer", + "text": "Mkulima", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_cs", + "text": "Mtumishi wa Serikali", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cs" + }, + { + "key": "chk_nurse", + "text": "Muuguzi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nurse" + }, + { + "key": "chk_teacher", + "text": "Mwalimu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_teacher" + }, + { + "key": "chk_th", + "text": "Mganga wa tiba asili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_th" + }, + { + "key": "chk_chw", + "text": "Muhudumu wa afya ngazi ya jamii(WAJA)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chw" + }, + { + "key": "chk_tba", + "text": "Mkunga wa Jadi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_tba" + }, + { + "key": "chk_chmis", + "text": "Wakusanyaji takrimu za afya ngazi ya jamii\"", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chmis" + }, + { + "key": "chk_cbd", + "text": "Msambazaji wa dawa na vifaa vya uzazi wa mpango ngazi ya Jamii ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cbd" + }, + { + "key": "chk_hbc", + "text": "Watoa huduma kwa wagonjwa majumbani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hbc" + }, + { + "key": "chk_cimmci", + "text": "Watoa huduma za udhibiti wa magonjwa ya watoto ngazi ya jamii", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cimmci" + }, + { + "key": "chk_other", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Taja Kazi nyingine", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali taja kazi" + }, + "relevance": { + "step2:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Kuna nafasi yoyote ya uongozi katika jamii?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Kiongozi wa dini", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Kiongozi wa jadi", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Kiongozi wa kisiasa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Kiongozi mwenye ushawishi", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Nyingine", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Taja nafasi nyingine katika jamii", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha jukumu" + }, + "relevance": { + "step2:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_family_planning_change_method.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_family_planning_change_method.json new file mode 100644 index 0000000000..80cd54b07c --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_family_planning_change_method.json @@ -0,0 +1,1018 @@ +{ + "validate_on_submit": false, + "show_errors_on_submit": false, + "skip_blank_steps": true, + "count": "3", + "encounter_type": "Family Planning Change Method", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Change or Stop FP form", + "next": "step2", + "fields": [ + { + "key": "fp_change_or_stop_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_change_or_stop_date", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "age", + "type": "hidden" + }, + { + "key": "reason_stop_fp_chw", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "164901AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Sababu za kuacha kutumia njia za uzazi wa mpango ya sasa", + "options": [ + { + "key": "side_effects", + "openmrs_entity": "concept", + "openmrs_entity_id": "164154AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Madhara" + }, + { + "key": "wants_to_conceive", + "openmrs_entity": "concept", + "openmrs_entity_id": "160571AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Anataka mimba" + }, + { + "key": "doesnt_want_to_use_anymore", + "openmrs_entity": "concept", + "openmrs_entity_id": "164260AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hataki kutumia sasa" + }, + { + "key": "menopause", + "openmrs_entity": "concept", + "openmrs_entity_id": "134346AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kukoma kwa uzazi" + }, + { + "key": "decided_to_change_method", + "openmrs_entity": "concept", + "openmrs_entity_id": "163494AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "value": false, + "text": "Aliamua kubadilisha mpango wa uzazi" + }, + { + "key": "others", + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Nyingine" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "other_reason_fp_chw", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_fp_chw", + "openmrs_entity_parent": "164901AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Sababu nyingine", + "v_required": { + "value": "true", + "err": "Required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "side_effects_fp", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "side_effects_fp", + "openmrs_entity_parent": "164154AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Madhara", + "v_required": { + "value": "true", + "err": "Required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + } + ] + }, + "step2": { + "title": "Njia ya uzazi wa mpango", + "next": "step3", + "fields": [ + { + "key": "pill", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "pill", + "openmrs_entity_parent": "", + "label": "Je, anataka kutumia vidonge kwa njia za uzazi wa mpango?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "user_toaster_info", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Oral Contraception check List", + "toaster_info_text": "Orodha hakiki ya kutoa vidonge vya kumeza vyenye vichocheo kimoja au viwili", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "breast_lump", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "breast_lump", + "openmrs_entity_parent": "", + "label": "Je, ana uvimbe wowote kwenye matiti?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "abnormal_vaginal", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "abnormal_vaginal", + "openmrs_entity_parent": "", + "label": "Je, anatokwa na majimaji yasiyo ya kawaida kama damu au usaha ukeni?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "pregnant", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "pregnant", + "openmrs_entity_parent": "", + "label": "Je, yeye ni mjauzito?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "difficultly_breathing", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "difficultly_breathing", + "openmrs_entity_parent": "", + "label": "Je, anapata maumivu makali ya kifua na kushindwa kupumua?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "headaches", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "headaches", + "openmrs_entity_parent": "", + "label": "Je, ana kawaida ya kuumwa kichwa sana kikiambatana na kichefuchefu, kutapika au kutokuona vizuri?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "frequent_urge", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "frequent_urge", + "openmrs_entity_parent": "", + "label": "Je, anasikia kiu mara kwa mara, kukojoa mara mara na kusikia uchovu?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "falling_loss_unconsciousness", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "falling_loss_unconsciousness", + "openmrs_entity_parent": "", + "label": "Je, ana matatizo ya kuanguka/kuzimia na kupoteza fahamu?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "breastfeed", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "breastfeed", + "openmrs_entity_parent": "", + "label": "Je, ananyonyesha mtoto chini ya miezi 6, na ana upungufu wowote katika utoaji wa maziwa?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "COC_POP", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "COC_POP", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + }, + { + "key": "POP", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "POP", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + }, + { + "key": "no_pill", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_pill", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + }, + { + "key": "COC_POP_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Mteja anaweza kumeza vidonge vya kumeza vyenye vichocheo kimoja au viwili", + "toaster_info_text": "COC au POP:\nMteja anaweza kumeza vidonge vya kumeza vyenye vichocheo kimoja au viwili", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "POP_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Mteja anaweza kumeza vidonge vya kumeza vyenye vichocheo kimoja", + "toaster_info_text": "POP tu:\nMteja anaweza kumeza vidonge vya kumeza vyenye vichocheo kimoja", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "no_pill_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Mteja haiweza kumeza vidonge vya kumeza vyenye vichocheo kimoja au viwili. Mshauri mteja kutumia kondomu, na mpe rufaa kwenda kuonana na mtoa huduma za afya katika kituo cha huduma.", + "toaster_info_text": "Haiweza:\nMteja haiweza kumeza vidonge vya kumeza vyenye vichocheo kimoja au viwili. Mshauri mteja kutumia kondomu, na mpe rufaa kwenda kuonana na mtoa huduma za afya katika kituo cha huduma.", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_method_chosen", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Njia za uzazi wa mpango selected", + "values": [ + "Kondomu ya kiume", + "Kondomu ya kike", + "Vidonge vya kumeza vyenye vichocheo viwili", + "Vidonge vya kumeza vyenye vichocheo kimoja", + "Shanga", + "Sindano", + "Kitanzi", + "Kipandikizi cha miaka 3", + "Kipandikizi cha miaka 5", + "Kufunga kizazi mwanamke", + "Kufunga kizazi mwanamme" + ], + "keys": [ + "Male condom", + "Female condom", + "COC", + "POP", + "Standard day method", + "Injectable", + "IUCD", + "Implanon - NXT", + "Jadelle", + "Female sterilization", + "Male sterilization" + ], + "openmrs_choice_ids": { + "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "COC": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "POP": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Standard day method": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Injectable": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "IUCD": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Implanon - NXT": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Jadelle": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female sterilization": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Male sterilization": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_method_accepted", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_method_accepted", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + } + ] + }, + "step3": { + "title": "Taarifa ya njia ya uzazi wa mpango", + "fields": [ + { + "key": "no_condoms", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_condoms", + "type": "edit_text", + "edit_type": "number", + "hint": "Amepata vipande vya kondpmu vingapi?", + "v_required": { + "value": "true", + "err": "Equal or greater than 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_min": { + "value": "0", + "err": "Number must be equal or greater than 0" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_start_condom", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "no_pillcycles", + "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "edit_type": "number", + "hint": "Amepata saiko ngapi?", + "v_required": { + "value": "true", + "err": "Equal or greater than 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_min": { + "value": "0", + "err": "Number must be equal or greater than 0" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_start_cocpop", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_cocpop", + "type": "date_picker", + "hint": "Je, alianza au anapanga kuanza vidonge vya kumeza vyenye vichocheo viwili au kimoja lini?", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "counselling_use", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling_use", + "type": "spinner", + "hint": "Je, mteja ameshauri jinsi ya kutumia njia za uzazi wa mpango?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_start_injectable", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe ya sindano iliopita", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "next_injection_due_date", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "5096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "next_injection_due_date", + "type": "edit_text", + "hint": "Tarehe ya sindano ijayo:", + "read_only": "true", + "value": "0", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + }, + { + "key": "fp_start_iucd", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_iucd", + "type": "date_picker", + "hint": "Tarehe ya kuweka kitanzi", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_implant_nxt", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_implant_nxt", + "type": "date_picker", + "hint": "Tarehe ya kuweka kipandikizi cha miaka 3", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_implant_jad", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_implant_jad", + "type": "date_picker", + "hint": "Tarehe ya kuweka vipandikizi vya miaka 5", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_female_ster", + "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_female_ster", + "type": "date_picker", + "hint": "Tarehe y kufunga kizazi mwanmke", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_male_ster", + "openmrs_entity_parent": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_male_ster", + "type": "date_picker", + "hint": "Tarehe ya kufunga kizazi mwanamume ya mume wake", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_male_ster_note", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Tumia kondomu kwa miezi mitatu kuzuia ujazito", + "toaster_info_text": "Tumia kondomu kwa miezi mitatu kuzuia ujazito", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "referral_given", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_given", + "openmrs_entity_parent": "", + "label": "Rufaa iliyotolewa", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "fp_start_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hidden": "true", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_family_planning_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_family_planning_registration.json new file mode 100644 index 0000000000..fa540c8d96 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_family_planning_registration.json @@ -0,0 +1 @@ +{"validate_on_submit":false,"show_errors_on_submit":false,"count":"3","encounter_type":"Family Planning Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Family planning registration Info","next":"step2","fields":[{"key":"fp_reg_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_reg_date","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"age","type":"hidden"},{"key":"using_method","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"using_method","openmrs_entity_parent":"","label":"Je, mwanamke tayari anatumia njia ya kupanga uzazi?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"couselling_fp_methods","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Je, alishauriwa kuhusu mbinu tofauti za kupanga uzazi?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"couselling_HIV_STI","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"couselling_HIV_STI","openmrs_entity_parent":"","label":"Je, alishauriwa kuhusu kuzuia VVU na magonjwa ya zinaa?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}}]},"step2":{"title":"Family planning method","next":"step3","fields":[{"key":"pill","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"pill","openmrs_entity_parent":"","label":"Je, anataka kutumia kidonge cha kuzuia mimba?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"user_toaster_info","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Orodha ya hundi ya Kuzuia Mimba ya Kumeza","toaster_info_text":"Orodha ya kuangalia kwa ajili ya kutoa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP)","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"breast_lump","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"breast_lump","openmrs_entity_parent":"","label":"Je, ana uvimbe wowote wa matiti?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"abnormal_vaginal","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"abnormal_vaginal","openmrs_entity_parent":"","label":"Je, ana damu isiyo ya kawaida au kutokwa na maji ukeni?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"pregnant","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"pregnant","openmrs_entity_parent":"","label":"Je, ana mimba?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"difficultly_breathing","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"difficultly_breathing","openmrs_entity_parent":"","label":"Je, ana maumivu makali ya kifua na kupumua kwa shida?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"headaches","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"headaches","openmrs_entity_parent":"","label":"Je, ana maumivu ya kichwa yasiyo ya kawaida yanayohusiana na kichefuchefu, kutapika au kutoona vizuri?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"frequent_urge","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"frequent_urge","openmrs_entity_parent":"","label":"Je, mara kwa mara anahisi kiu, haja ya kukojoa au anahisi uchovu?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"falling_loss_unconsciousness","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"falling_loss_unconsciousness","openmrs_entity_parent":"","label":"Je, ana tabia ya kuanguka/kuanguka na kupoteza fahamu?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"breastfeed","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"breastfeed","openmrs_entity_parent":"","label":"Je, ananyonyesha mtoto wa miezi 6 au chini na ana matatizo yoyote ya kuzalisha maziwa?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"COC_POP","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"COC_POP","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"POP","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"POP","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"no_pill","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_pill","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"COC_POP_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke anastahiki aidha Vidonge Vilivyochanganywa vya Kuzuia Mimba (COC) au Vidonge vya Projestini Pekee (POP)","toaster_info_text":"COC au POP anastahiki: Mwanamke anastahiki aidha Vidonge Vilivyochanganywa vya Kuzuia Mimba (COC) au Vidonge vya Projestini Pekee (POP)","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"POP_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke anastahiki Vidonge vya Progestin Pekee (POP) pekee","toaster_info_text":"POP inastahiki pekee: Mwanamke anastahiki Vidonge vya Progestin Pekee (POP) pekee","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"no_pill_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke hastahiki kwa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP). Tafadhali mshauri mteja kutumia kondomu na mpe rufaa ya kwenda kwenye kituo cha afya kwa ushauri zaidi juu ya uzazi wa mpango.","toaster_info_text":"Hastahiki: Mwanamke hastahiki kwa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP). Tafadhali mshauri mteja kutumia kondomu na mpe rufaa ya kwenda kwenye kituo cha afya kwa ushauri zaidi juu ya uzazi wa mpango.","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_chw","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160576AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Mbinu ya kupanga uzazi imechaguliwa","values":["Kondomu ya kiume","Kondomu ya kike","COC","POP","Njia ya kawaida ya siku","Uzazi wa mpango wa dharura"],"openmrs_choice_ids":{"Male condom":"164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female condom":"164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","COC":"159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","POP":"159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Standard day method":"5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Emergency contraceptive":"160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_already","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Mbinu ya kupanga uzazi imechaguliwa","values":["Kondomu ya kiume","Kondomu ya Kike","COC","POC","Njia ya kawaida ya siku","Uzazi wa mpango wa dharura","Sindano","IUCD","Kitanzi","Kijiti","Kufunga kizazi kwa mwanamke","Kufunga kizazi kwa mwanaume"],"openmrs_choice_ids":{"Male condom":"164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female condom":"164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","COC":"159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","POP":"159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Standard day method":"5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Emergency contraceptive":"160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Injectable":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","IUCD":"5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Implanon - NXT":"76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Jadelle":"1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female sterilization":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Male sterilization":"1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_accepted","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_method_accepted","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}}]},"step3":{"title":"Family planning method info","fields":[{"key":"ec_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mhimize mwanamke kuchagua nafasi au njia ya kudumu ya kupanga uzazi","toaster_info_text":"Mhimize mwanamke kuchagua nafasi au njia ya kudumu ya kupanga uzazi","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"ecp","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"ecp","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"no_condoms","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"no_condoms","type":"edit_text","edit_type":"number","hint":"Je, alipewa kondomu ngapi?","v_required":{"value":"true","err":"Sawa au zaidi ya )"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Nambari lazima iwe sawa au zaidi ya 0"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_start_condom","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_condom","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"no_pillcycles","openmrs_entity_parent":"5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","edit_type":"number","hint":"Je, alipewa mizunguko mingapi ya vidonge?","v_required":{"value":"true","err":"Sawa au zaidi ya 0"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Nambari lazima iwe sawa au zaidi ya 0"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_start_cocpop","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_cocpop","type":"date_picker","hint":"Je, ni lini alianza au alipanga kuanza kutumia COC/POP?","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"counselling_use","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"counselling_use","type":"spinner","hint":"Je, alishauriwa jinsi ya kutumia njia ya kupanga uzazi?","values":["Ndio","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_start_injectable","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya sindano ya mwisho","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"next_injection_due_date","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"5096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_id":"next_injection_due_date","type":"edit_text","hint":"Sindano inayofuata inastahili:","read_only":"true","value":"0","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"fp_start_iucd","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_iucd","type":"date_picker","hint":"Tarehe ya kuwekewa IUCD","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_implant_nxt","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_implant_nxt","type":"date_picker","hint":"Tarehe ya Implanon - kuingizwa kwa NXT","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_implant_jad","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_implant_jad","type":"date_picker","hint":"Tarehe ya Kuwekewa Kijiti","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inaitajika"}},{"key":"fp_start_female_ster","openmrs_entity_parent":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_female_ster","type":"date_picker","hint":"Tarehe ya Kufunga kizazi ya mwanamke","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_male_ster","openmrs_entity_parent":"1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_male_ster","type":"date_picker","hint":"Tarehe ya Kufunga kizazi ya mwanaume","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_male_ster_note","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"toaster_notes","text":"Mshauri mwanamke kutumia kondomu kwa muda wa miezi 3 ya kwanza ili kuzuia mimba","toaster_info_text":"Ujumbe wa kumjulisha mteja kwamba anapaswa kutumia kondomu kwa miezi mitatu ya kwanza baada ya kufunga kizazi ili kuzuia mimba","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"referral_given","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"referral_given","openmrs_entity_parent":"","label":"Je, alipewa rufaa ya kwenda kwenye kituo cha afya?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"fp_start_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","hidden":"true","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}}]}} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_fp_referral_form.json new file mode 100644 index 0000000000..10b3991367 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_fp_referral_form.json @@ -0,0 +1,536 @@ +{ + "count": "1", + "encounter_type": "Family Planning Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Family Planning Referral", + "fields": [ + { + "key": "fp_method_accepted_referral", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Mbinu ya FP iliyochaguliwa inayohitaji rufaa", + "label_text_style": "bold", + "options": [ + { + "key": "Male_condom", + "openmrs_entity": "", + "openmrs_entity_id": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kondomu ya kiume" + }, + { + "key": "Female_condom", + "openmrs_entity": "", + "openmrs_entity_id": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kondomu ya kike" + }, + { + "key": "COC", + "openmrs_entity": "", + "openmrs_entity_id": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "COC" + }, + { + "key": "POP", + "openmrs_entity": "", + "openmrs_entity_id": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "POP" + }, + { + "key": "Standard_day_method", + "openmrs_entity": "", + "openmrs_entity_id": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Njia ya kawaida ya siku" + }, + { + "key": "Emergency_contraceptive", + "openmrs_entity": "", + "openmrs_entity_id": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Uzazi wa mpango wa dharura" + }, + { + "key": "Injectable", + "openmrs_entity": "", + "openmrs_entity_id": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Sindano" + }, + { + "key": "IUCD", + "openmrs_entity": "", + "openmrs_entity_id": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "IUXD" + }, + { + "key": "Implanon_NXT", + "openmrs_entity": "", + "openmrs_entity_id": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kitanzi" + }, + { + "key": "Jadelle", + "openmrs_entity": "", + "openmrs_entity_id": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kijiti" + }, + { + "key": "Female_sterilization", + "openmrs_entity": "", + "openmrs_entity_id": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kufunga kizazi kwa mwanamke" + }, + { + "key": "Male_sterilization", + "openmrs_entity": "", + "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kufunga kizazi kwa wanaume" + }, + { + "key": "None", + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hakuna" + }, + { + "key": "Not_applicable", + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Haiusiki" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua mbinu ya kupanga uzazi" + } + }, + { + "key": "side_effects_sterialization", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Madhara ya uzazi wa mpango", + "label_text_style": "bold", + "exclusive": [ + "None", + "Not_applicable" + ], + "options": [ + { + "key": "Incisional_bleeding", + "text": "Kutokwa na damu kwa mkato", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pus_Discharge_from_incision", + "text": "Usaha/Kutokwa na chale", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Swollen_around_the_incision", + "text": "Kuvimba karibu na chale", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Haiusiki", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua thamani" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "side_effects_iucd", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Madhara ya uzazi wa mpango", + "label_text_style": "bold", + "options": [ + { + "key": "Severe_pain_inside_the_vagina_after_IUD_was_put_in", + "text": "Maumivu makali ndani ya uke baada ya IUD kuwekwa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in", + "text": "Mimba au maumivu ya mgongo kwa siku chache baada ya kuweka IUD", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Spotting_between_periods_and_or_irregular_periods", + "text": "Kugundua kati ya hedhi na/au hedhi isiyo ya kawaida", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Heavier_periods_and_worse_menstrual_cramps", + "text": "Hedhi nzito na maumivu makali ya hedhi", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "IUCD_explusion", + "text": "Kufukuzwa kwa IUD", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Haiusiki", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua thamani" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "side_effects_implant", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Madhara ya uzazi wa mpango", + "label_text_style": "bold", + "options": [ + { + "key": "Insertion_site_infected_pus_discharge", + "text": "Sehemu ya kuingizwa iliyoambukizwa - usaha / kutokwa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Insertion_site_swollen", + "text": "Sehemu iliyopandikizwa imevimba", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Implant_expulsion", + "text": "Kufukuzwa kwa implant", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "144458AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Heavy_bleeding", + "text": "Kutokwa na damu nyingi", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Haiusiki", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua " + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "side_effects_inject_pills", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Madhara ya uzazi wa mpango", + "label_text_style": "bold", + "options": [ + { + "key": "Heavy_bleeding_", + "text": "Kutokwa na damu nyingi", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Irregular_periods", + "text": "Vipindi visivyo vya kawaida", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Nyinginezo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Haiusiki", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua " + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "fp_side_effects", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + }, + { + "key": "fp_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "hint": "Madhara mengine", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha madhara mengine" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "referral_date_fp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_fp", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json new file mode 100644 index 0000000000..422939db15 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json @@ -0,0 +1,1055 @@ +{ + "form": "CBHS Follow-up form", + "count": "1", + "encounter_type": "CBHS Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya kumtembelea mgonjwa wa VVU", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Hali ya usajili/ ufuatiliaji" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "Mpya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma kutoka sehemu nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services", + "text": "Amemaliza huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya ufwatiliaji", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_hiv_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizi ya VVU baada ya kipimo" + }, + "options": [ + { + "name": "na", + "text": "Haitambuliki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "unknown", + "text": "Haijulikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Chanya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hasi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua moja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "Namba ya CTC mfano: 12-34-5678-912345", + "type": "Namba ya CTC mfano: 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." + } + ], + "required_status": "yes:Tafadhali jaza namba ya CTC", + "subjects": "client_hiv_status_after_testing:text" + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya mteja" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Anaweza kufanya shughuli zake za kila siku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa) ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Hajimudu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "pain", + "text": "Maumivu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "kukohoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kitabibu ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Matatizo ya lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "kushindwa kutimiza ratiba ya CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kijamii ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Tabia na mazingira hatarishi ya mteja" + }, + "options": [ + { + "name": "na", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Mlevi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Ana wapenzi wengi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "Wajidunga", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Wanaofanya biashara ya ngono", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Wachimba madini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Madereva wa masafa marefu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Vifaa vilivyotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Sabuni", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "Chandarua", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Mashuka", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Kondomu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Vifaa vingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua kifaa/vifaa vilivyotolewa", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Vifaa vingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Dawa zilizotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Dawa Nyinginezo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Dawa nyingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "Ushauri wa lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "Elimu kuhusu maambukizi ya VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Upimaji wa awali", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Ushauri wa kisaikolojia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "Usafi wa nyumba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Huduma za afya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Huduma za tiba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Huduma nyingine za UKIMWI katika jamii", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna huduma iliyotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "subjects": "hiv_services_provided:map" + }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizokamilishwa na mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "Hali ya Tiba na Matunzo (CTC)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "na", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_but_not_began_medication", + "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_ctc_clinic", + "text": "Hajaandikishwa CTC/PMTCT", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Chagua alipohamia", + "searchable": "Chagua alipohamia" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali chagua sehemu alipohamia", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Andika alipohamia", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali andika alipohamia", + "subjects": "client_moved_location:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json new file mode 100644 index 0000000000..e18ded93ce --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -0,0 +1,961 @@ +{ + "form": "CBHS Follow-up form", + "count": "1", + "encounter_type": "CBHS Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya kumtembelea mgonjwa wa VVU", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Hali ya usajili/ ufuatiliaji" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "Mpya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma kutoka sehemu nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Amemaliza huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya ufuatiliaji", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya mteja" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Anaweza kufanya shughuli zake za kila siku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa) ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Hajimudu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "pain", + "text": "Maumivu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "kukohoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kitabibu ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Matatizo ya lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "kushindwa kutimiza ratiba ya CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kijamii ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Tabia na mazingira hatarishi ya mteja" + }, + "options": [ + { + "name": "na", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Mlevi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Ana wapenzi wengi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "Wajidunga", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Wanaofanya biashara ya ngono", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Wachimba madini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Madereva wa masafa marefu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Vifaa vilivyotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Sabuni", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "Chandarua", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Mashuka", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Kondomu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Vifaa vingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua kifaa/vifaa vilivyotolewa", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Vifaa vingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Dawa zilizotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Dawa Nyinginezo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Dawa nyingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "Ushauri wa lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "Elimu kuhusu maambukizi ya VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Upimaji wa awali", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Ushauri wa kisaikolojia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "Usafi wa nyumba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Huduma za afya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Huduma za tiba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Huduma nyingine za UKIMWI katika jamii", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna huduma iliyotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "subjects": "hiv_services_provided:map" + }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizokamilishwa na mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "Hali ya Tiba na Matunzo (CTC)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Chagua alipohamia", + "searchable": "Chagua alipohamia" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali chagua sehemu alipohamia", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Andika alipohamia", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali andika alipohamia", + "subjects": "client_moved_location:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json new file mode 100644 index 0000000000..0a532ebf87 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json @@ -0,0 +1,192 @@ +{ + "form": "HIV Registration form", + "count": "1", + "encounter_type": "CBHS Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Usajili wa wateja wa VVU", + "fields": [ + { + "name": "cbhs_number", + "type": "masked_edit_text", + "properties": { + "hint": "Namba ya HUWANYU mfano: 1234/56/78/912", + "type": "Namba ya HUWANYU mfano: 1234/56/78/912", + "mask": "####/##/##/###", + "mask_hint": "12345678912", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cbhs_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", + "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." + } + ], + "required_status": "yes:Tafadhali weka namba ya HUWANYU" + }, + { + "name": "client_hiv_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizo ya VVU wakati wa kuandikishwa" + }, + "options": [ + { + "name": "unknown", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Ana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "hiv_registration_date" + ] + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "Namba ya CTC mfano: 12-34-5678-912345", + "type": "Namba ya CTC mfano: 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." + } + ], + "subjects": "client_hiv_status_during_registration:text" + }, + { + "name": "tb_number", + "type": "text_input_edit_text", + "properties": { + "hint": "TB ID", + "type": "TB Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_number", + "openmrs_entity_parent": "" + } + }, + { + "name": "rch_number", + "type": "text_input_edit_text", + "properties": { + "hint": "RCH ID", + "type": "RCH Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "rch_number", + "openmrs_entity_parent": "" + } + }, + { + "name": "mat_number", + "type": "text_input_edit_text", + "properties": { + "hint": "MAT ID", + "type": "MAT Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mat_number", + "openmrs_entity_parent": "" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/fp_followup_counsel.json b/opensrp-chw/src/nacp/assets/json.form-sw/fp_followup_counsel.json new file mode 100644 index 0000000000..9791fb642a --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/fp_followup_counsel.json @@ -0,0 +1,82 @@ +{ + "count": "1", + "encounter_type": "FP Follow up visit Counselling", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Counselling", + "fields": [ + { + "key": "fp_counselling", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Je, mteja alipokea ushauri wowote wa uzazi wa mpango?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo " + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Sehemu hii haiwezi kuachwa wazi" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/fp_followup_resupply.json b/opensrp-chw/src/nacp/assets/json.form-sw/fp_followup_resupply.json new file mode 100644 index 0000000000..eca3923d50 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/fp_followup_resupply.json @@ -0,0 +1,159 @@ +{ + "count": "1", + "encounter_type": "FP Follow up Visit Resupply", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Re-supply or Next Health Facility Visit", + "fields": [ + { + "key": "fp_method", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "read_only": "true" + }, + { + "key": "no_condoms", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "number", + "hint": "Je, aipewa kondomu ngapi?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply.yml" + } + } + } + }, + { + "key": "no_pillcycles", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "number", + "hint": "Je, alipewa mizunguko mingapi ya vidonge?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply.yml" + } + } + } + }, + { + "key": "fp_refill_injectable", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe ya sindano ya mwisho", + "expanded": false, + "duration": { + "label": "last injection" + }, + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali tarehe ya sindano ya mwisho" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply.yml" + } + } + } + }, + { + "key": "next_injection_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Date of next injection: {fp_refill_injectable}", + "text_color": "#1199F9", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply.yml" + } + } + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/fp_followup_side_effects.json b/opensrp-chw/src/nacp/assets/json.form-sw/fp_followup_side_effects.json new file mode 100644 index 0000000000..0b63d0bdaa --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/fp_followup_side_effects.json @@ -0,0 +1,398 @@ +{ + "count": "1", + "encounter_type": "FP Follow-up Visit Side-effects", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Side Effects", + "fields": [ + { + "key": "fp_method", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "read_only": "true" + }, + { + "key": "condom_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Athari za mzio", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Allergic_reactions", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Allergic_reactions": "149086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Je, anakabiliwa na madhara yoyote?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "condom_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Zingine", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "cocpop_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Kutokwa sana kwa damu", + "Vipindi vya hedhi visivyo vya kawaida", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Heavy_bleeding_", + "Irregular_periods", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Heavy_bleeding_": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Irregular_periods": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Je, anakabiliwa na madhara yoyote?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "cocpop_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Zingine", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "inject_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Kutokwa sana kwa damu", + "Vipindi vya hedhi visivyo vya kawaida", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Heavy_bleeding_", + "Irregular_periods", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Heavy_bleeding_": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Irregular_periods": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Je, anakabiliwa na madhara yoyote?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "inject_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Zingine", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "IUCD_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Maumivu makali ndani ya uke baada ya IUD kuwekwa", + "Kukaza au maumivu ya mgongo kwa siku chache baada ya kuweka IUD", + "Kugundua kati ya hedhi na/au hedhi isiyo ya kawaida", + "Hedhi nzito na maumivu makali ya hedhi", + "kutokw kwa IUD", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Severe_pain_inside_the_vagina_after_IUD_was_put_in", + "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in", + "Spotting_between_periods_and_or_irregular_periods", + "Heavier_periods_and_worse_menstrual_cramps", + "IUCD_explusion", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Severe_pain_inside_the_vagina_after_IUD_was_put_in": "123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in": "148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Spotting_between_periods_and_or_irregular_periods": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Heavier_periods_and_worse_menstrual_cramps": "156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "IUCD_explusion": "157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Je, anakabiliwa na madhara yoyote?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "IUCD_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Zingine", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "sterilization_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Kutokwa na damu katika eneo lililochanwa", + "Usaha/Majimaji kutoka kwenye eneo lililochanwa", + "Kuvimba eneo linalozunguka mchano", + "Nyingine", + "Hakuna" + ], + "keys": [ + "Incisional_bleeding", + "Pus_Discharge_from_incision", + "Swollen_around_the_incision", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Incisional_bleeding": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Pus_Discharge_from_incision": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Swollen_around_the_incision": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Je, anakabiliwa na madhara yoyote?", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "sterilization_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Zingine", + "v_required": { + "value": "true", + "err": "Sehemu hii hawezi kuachwa wazi" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "action_taken", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Action taken", + "options": [ + { + "key": "managed", + "openmrs_entity": "concept", + "openmrs_entity_id": "140959AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Managed" + }, + { + "key": "referred", + "openmrs_entity": "concept", + "openmrs_entity_id": "1648AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Referred" + }, + { + "key": "no_action_taken", + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No action taken" + } + ], + "v_required": { + "value": "true", + "err": "This value cannot be null" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/hiv_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/hiv_community_followup_feedback.json new file mode 100644 index 0000000000..a0a2895579 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/hiv_community_followup_feedback.json @@ -0,0 +1,185 @@ +{ + "form": "HIV Community Followup Feedback", + "count": "1", + "encounter_type": "HIV Community Followup Feedback", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_community_followup_feedback_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya mrejesho wa ufuatiliaji wa mteja mwenye VVU", + "fields": [ + { + "name": "followup_status", + "type": "spinner", + "properties": { + "text": "Maoni kuhusu ziara ya ufuatiliaji" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma kutoka sehemu nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select followup feedback", + "dependent_calculations": [ + "hiv_community_followup_visit_date" + ] + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Chagua jina la kituo alipohamia", + "searchable": "Chagua jina la kituo alipohamia" + }, + "options": [ + { + "name": "Other", + "text": "Nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali chagua jina la kituo alipohamia", + "subjects": "followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Jaza jina la eneo alipohamia", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali jaza jina la eneo alipohamia", + "subjects": "client_moved_location:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/hiv_index_contact_followup.json b/opensrp-chw/src/nacp/assets/json.form-sw/hiv_index_contact_followup.json new file mode 100644 index 0000000000..8bc3735c25 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/hiv_index_contact_followup.json @@ -0,0 +1,194 @@ +{ + "form": "HIV Index Contact CHW Followup", + "count": "1", + "encounter_type": "HIV Index Contact CHW Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_index_contact_followup_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Ufuatiliaji wa mshirika wa kingono", + "fields": [ + { + "name": "has_the_contact_client_been_found", + "type": "radio_group", + "properties": { + "text": "Je, umefanikiwa kumpata mshirika wa kingono?" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_the_contact_client_been_found", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "yes", + "text": "Ndio", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "yes", + "openmrs_entity_parent": "" + } + }, + { + "name": "no", + "text": "Hapana", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua jibu moja wapo", + "dependent_calculations": [ + "client_followed_up_by_chw" + ] + }, + { + "name": "has_the_client_agreed_to_be_tested", + "type": "radio_group", + "properties": { + "text": "Je, mteja huyu amekubali kupimwa VVU?" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_the_client_agreed_to_be_tested", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "yes", + "text": "Ndio", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "yes", + "openmrs_entity_parent": "" + } + }, + { + "name": "no", + "text": "Hapana", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua jibu moja wapo", + "subjects": "has_the_contact_client_been_found:map" + }, + { + "name": "place_where_test_will_be_conducted", + "type": "radio_group", + "properties": { + "text": "Je, ni sehemu gani mteja huyu amekubali kwenda kupimwa VVU?" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "place_where_test_was_conducted", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "facility", + "text": "Kwenye kituo cha kutolea huduma za afya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "facility", + "openmrs_entity_parent": "" + } + }, + { + "name": "community", + "text": "Kwenye ngazi ya jamii", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua jibu moja wapo", + "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map" + }, + { + "name": "toast_give_a_referral_to_the_client", + "type": "toast_notification", + "properties": { + "notification_type": "info", + "dismissible": "no", + "title": "Mteja anatakiwa apewe rufaa kwenda kituoni", + "text": "Mteja anatikwa apewe rufaa ya kwenda kituoni kwa ajili ya kupima VVU \nTafadhali mpe rufaa", + "background_color": "#f50424", + "text_color": "#FFFFFF" + }, + "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map, place_where_test_will_be_conducted:map" + }, + { + "name": "chw_comment", + "type": "text_input_edit_text", + "properties": { + "hint": "Maoni" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_comment", + "openmrs_entity_parent": "" + }, + "required_status": "false" + } + ] + } + ] +} + diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/in_app_monthly_tallies_report.json b/opensrp-chw/src/nacp/assets/json.form-sw/in_app_monthly_tallies_report.json new file mode 100644 index 0000000000..2b19a1ef7e --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/in_app_monthly_tallies_report.json @@ -0,0 +1,108 @@ +{ + "count": "1", + "encounter_type": "CHW Monthly tallies Report", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Monthly Tallies", + "fields": [ + { + "key": "indicator_code", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "indicator_code", + "type": "edit_text", + "hint": "Msimbo wa kiashiria", + "value": "" + }, + { + "key": "month", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "month", + "type": "edit_text", + "hint": "Mwezi", + "value": "" + }, + { + "key": "edited", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "edited", + "type": "edit_text", + "hint": "imehaririwa", + "value": "" + }, + { + "key": "date_sent", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "date_sent", + "type": "edit_text", + "hint": "Tarehe iliyotumwa", + "value": "" + }, + { + "key": "created_at", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "created_at", + "type": "edit_text", + "hint": "Imeundwa saa", + "value": "" + }, + { + "key": "value", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "value", + "type": "edit_text", + "hint": "Ilisasishwa saa", + "value": "" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/malaria_confirmation.json b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_confirmation.json new file mode 100644 index 0000000000..8b0024ec58 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_confirmation.json @@ -0,0 +1,437 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "2", + "encounter_type": "Malaria Confirmation", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Malaria Confirmation", + "next": "step2", + "fields": [ + { + "key": "date_chw_malaria_test", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "162869AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "hidden": "true", + "type": "edit_text", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_calculation.yml" + } + } + } + }, + { + "key": "relational_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "relational_id", + "hidden": "true", + "type": "edit_text" + }, + { + "key": "fever_malaria_chw", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fever_malaria_chw", + "type": "native_radio", + "label": "Je mteja huyu ana Homa au amepimwa kwenye Kituo cha Afya na akakutwa na Malaria?", + "label_text_style": "bold", + "text_color": "#000000", + "options": [ + { + "key": "has_fever", + "text": "Ana Homa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "has_fever", + "openmrs_entity_parent": "" + }, + { + "key": "tested_positive_last_14_days", + "text": "Amepimwa kwenye Kituo cha Afya na Amekutwa na Malaria ndani siku 14", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "tested_positive_last_14_days", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhari mojawapo kati ya haya:" + } + }, + { + "key": "fever_duration", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Umekuwa na Homa kwa muda gani?", + "values": [ + "Chini ya masaa 24", + "Zaidi ya Masaa 24" + ], + "openmrs_choice_ids": { + "Less than 24 hrs": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "More than 24 hrs": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhari changua moja:" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "malaria_test_done", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "malaria_test_done", + "type": "spinner", + "hint": "Je kipimo cha Malaria kimefanyika?", + "values": [ + "Hapana", + "Ndio, kimefanywa na mtoa huduma ngazi ya jamii" + ], + "v_required": { + "value": "true", + "err": "Tafadhari chagua mojawapo:" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "malaria_results", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Majibu ya mRDT", + "values": [ + "Chanya", + "Hasi" + ], + "openmrs_choice_ids": { + "Positive": "703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Negative": "664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhari chagua mojawapo:" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "date_hf_malaria_test", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "date_hf_malaria_test", + "type": "date_picker", + "hint": "Tarehe ya kipimo cha Malaria kwenye Kituo cha Afya", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhari Ingiza tarehe ya kipimo cha Malaria katika Kituo cha Afya" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "malaria_test_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "hidden": "true", + "type": "edit_text", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_calculation.yml" + } + } + } + }, + { + "key": "malaria", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163725AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "hidden": "true", + "type": "edit_text", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_calculation.yml" + } + } + } + }, + { + "key": "malaria_treat", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "malaria_treat", + "type": "spinner", + "hint": "Matibabu aliyopatiwa", + "values": [ + "MSETO vidonge 6", + "MSETO vidonge 12", + "MSETO vidonge 18", + "MSETO vidonge 24", + "Hakupatiwa ", + "Matibabu mengine" + ], + "openmrs_choice_ids": { + "ALU 6": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "ALU 12": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "ALU 18": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "ALU 24": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Not given": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other treatment": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhari chagua mojawapo" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "referral_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Tafadhari mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria", + "toaster_info_text": "Tafadhari mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + } + ] + }, + "step2": { + "title": "Malaria Prevention", + "fields": [ + { + "key": "fam_llin", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fam_llin", + "type": "spinner", + "hint": "Je una Chandarua kiliwekea viwatilifu ya muda mrefu?", + "values": [ + "Ndio", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhari chagua mojawapo" + } + }, + { + "key": "llin_2days", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "llin_2days", + "type": "spinner", + "hint": "Je jana usiku umelala kwenye Chandarua chenye viwatilifu vya muda mrefu?", + "values": [ + "Ndio", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhari Chagua mojawapo:" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "llin_condition", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "llin_condition", + "type": "spinner", + "hint": "Hali ya Chandarua", + "values": [ + "Bado ni nzuri", + "Mbaya" + ], + "openmrs_choice_ids": { + "Okay": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bad": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhari changua mojawapo:" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "malaria_edu_chw", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "malaria_edu_chw", + "type": "check_box", + "label": "Mada za Malaria zilizofundishwa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "combine_checkbox_option_values": "true", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "overview_on_malaria", + "text": "Mukhutasari juu ya Malaria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "malaria_prevention", + "text": "Jinsi ya Kujikinga na Malaria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "uncomplicated_malaria", + "text": "Malaria ya kawaida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159950AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "Severe_malaria", + "text": "Malaria kali", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "160155AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "malaria_in_pregnancy", + "text": "Malaria katika Ujauzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "135361AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Mada za Malaria zilizojadiliwa:" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/malaria_follow_up_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_follow_up_visit.json new file mode 100644 index 0000000000..627d3add2f --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_follow_up_visit.json @@ -0,0 +1,283 @@ +{ + "count": "1", + "encounter_type": "Malaria Follow-up Visit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Follow-up Visit", + "fields": [ + { + "key": "date_chw_mfollowup", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "162869AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden" + }, + { + "key": "hf_chw_mfollowup", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "1889AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Je umepata rufaa kwenye kufanya kipimo cha Malaria katika Kituo cha Afya?", + "options": [ + { + "key": "Yes", + "openmrs_entity": "", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndio" + }, + { + "key": "No", + "openmrs_entity": "", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": null + } + }, + { + "key": "treat_given_chw_mfollowup", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "162686AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Matibabu yaliyotolewa", + "options": [ + { + "key": "ALU_6", + "openmrs_entity": "", + "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "MSETO vidonge 6" + }, + { + "key": "ALU_12", + "openmrs_entity": "", + "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "MSETO vidonge 12" + }, + { + "key": "ALU_18", + "openmrs_entity": "", + "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "MSETO vidonge 18" + }, + { + "key": "ALU_24", + "openmrs_entity": "", + "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "MSETO vidonge 24" + }, + { + "key": "Other_treatment", + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Matibabu Mengine" + }, + { + "key": "Received_treatment_but_dont_remember_which_treatment", + "openmrs_entity": "", + "openmrs_entity_id": "1767AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Nimepokea matibabu mengine ila sikumbuki" + }, + { + "key": "Not_given_treatment", + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Sijapata matibabu" + } + ], + "v_required": { + "value": "true", + "err": null + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_followup_relevance.yml" + } + } + } + }, + { + "key": "reason_no_treat", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "1743AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Sababu za kutotoa matibabu", + "options": [ + { + "key": "Referral_unsuccessful", + "openmrs_entity": "", + "openmrs_entity_id": "160068AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Rufaa haijakamilika" + }, + { + "key": "Drugs_stock_out", + "openmrs_entity": "", + "openmrs_entity_id": "1754AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Dawa zimeisha" + }, + { + "key": "Other_reason", + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Sababu nyingine" + } + ], + "v_required": { + "value": "true", + "err": null + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_followup_relevance.yml" + } + } + } + }, + { + "key": "fever_still", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Je bado unajihisi Homa?", + "options": [ + { + "key": "Yes", + "openmrs_entity": "", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo", + "value": false + }, + { + "key": "No", + "openmrs_entity": "", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana", + "value": false + } + ], + "v_required": { + "value": "true", + "err": null + } + }, + { + "key": "fever_duration", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Umekuwa na Homa kwa muda gani?", + "options": [ + { + "key": "Less_than_24hrs", + "openmrs_entity": "", + "openmrs_entity_id": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Chini ya masaa 24" + }, + { + "key": "More_than_24hrs", + "openmrs_entity": "", + "openmrs_entity_id": "NA", + "openmrs_entity_parent": "", + "text": "Zaidi ya masaa 24" + } + ], + "v_required": { + "value": "true", + "err": null + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_followup_relevance.yml" + } + } + } + }, + { + "key": "referral_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Mpe rufaa mteja kwenda kwenye kituo cha afya kwa ajili ya uchunguzi na vipimo vya ziada", + "toaster_info_text": "Mpe rufaa mteja kwenda kwenye kituo cha afya kwa ajili ya uchunguzi na vipimo vya ziada", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_followup_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/malaria_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_referral_form.json new file mode 100644 index 0000000000..3852fe12e9 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_referral_form.json @@ -0,0 +1,339 @@ +{ + "count": "1", + "encounter_type": "Malaria Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Malaria Referral", + "fields": [ + { + "key": "referral_problem_malaria", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_problem_malaria", + "type": "check_box", + "label": "Maelezo kuhusiana na matatizo ya mteja", + "label_text_style": "bold", + "options": [ + { + "key": "Fever", + "text": "Homa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Diarrhea", + "text": "Kuhara", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Vomiting", + "text": "Kutapika", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Nausea", + "text": "Kichefuchefu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Trembling", + "text": "Kuhisi kutetemeka", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "A_severe_headache_dizziness", + "text": "Maumivu makali ya Kichwa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Sweating", + "text": "Kutokwa na jasho", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140941AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_abdominal_pain", + "text": "Maumivu makali ya tumbo ", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Muscle_pain", + "text": "Maumivu ya Misuli", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "133632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Sweling_of_the_face_and_or_hands", + "text": "Kuvimba uso na mikono", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "163894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Difficult_in_breathing_fast_and_laboured_breathing", + "text": "Changamoto ya Upumuaji (Ugumu wa kupumua)", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Very_weak", + "text": "Kuhisi mdhaifu wa mwili", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5226AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Irritable_easily_disturbed", + "text": "Kuwa na hasira", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "118296AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unconcious", + "text": "Kupoteza fahamu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unusually_sleepy", + "text": "Usingizi usikuwa wa kawaida", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "117417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Neck_stiffness", + "text": "Kukakamaa kwa Shingo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unable_to_sit_without_support", + "text": "Kushindwa kukaa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123833AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Abnormal_bleeding_or_passing_of_urine_with_blood", + "text": "Kutokwa na damu kusiko kawaida", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_anaemia_pale_palms_and_inner_eyelids", + "text": "Upungufu mkubwa wa damu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Yellowing_of_the_eyes_jaundice", + "text": "Homa ya Manjano", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_malnutrition", + "text": "Utapiamlo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "163302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bloating", + "text": "Kuvimba mwili", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": true, + "err": "Tafadhari bainisha matatizo aliyonayo mteja" + } + }, + { + "key": "service_before_malaria", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "service_before_malaria", + "type": "check_box", + "label": "Matibabu aliyopatikwa kabla ya Rufaa", + "label_text_style": "bold", + "is_problem": false, + "exclusive": [ + "None" + ], + "options": [ + { + "key": "Rectal_artesunate", + "text": "Rectal artesunate", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "71561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Panadol", + "text": "Panado", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "ORS", + "text": "Dawa ya kurejesha maji mwilini (ORS)", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_treatment", + "text": "Matibabu mengine", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Matibabu aliyopatikwa kabla ya Rufaa" + } + }, + { + "key": "service_before_malaria_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "edit_type": "name", + "hint": "Matibabu mengine", + "is_problem": false, + "v_required": { + "value": "true", + "err": "Tafadhari bainisha matibabu mengine" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_referral_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_family_planning_change_method.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_family_planning_change_method.json new file mode 100644 index 0000000000..abc85c9130 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_family_planning_change_method.json @@ -0,0 +1,383 @@ +{ + "validate_on_submit": false, + "show_errors_on_submit": false, + "skip_blank_steps": true, + "count": "3", + "encounter_type": "Family Planning Change Method", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Change or Stop FP form", + "next": "step2", + "fields": [ + { + "key": "fp_change_or_stop_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_change_or_stop_date", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + }, + { + "key": "reason_stop_fp_chw", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "164901AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Sababu za kuacha kutumia njia za uzazi wa mpango ya sasa", + "options": [ + { + "key": "side_effects", + "openmrs_entity": "concept", + "openmrs_entity_id": "164154AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Madhara" + }, + { + "key": "wants_to_conceive", + "openmrs_entity": "concept", + "openmrs_entity_id": "160571AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Anataka mimba" + }, + { + "key": "doesnt_want_to_use_anymore", + "openmrs_entity": "concept", + "openmrs_entity_id": "164260AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hataki kutumia sasa" + }, + { + "key": "decided_to_change_method", + "openmrs_entity": "concept", + "openmrs_entity_id": "163494AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "value": false, + "text": "Aliamua kubadilisha mpango wa uzazi" + }, + { + "key": "others", + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Nyingine" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "other_reason_fp_chw", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_fp_chw", + "openmrs_entity_parent": "164901AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Sababu nyingine", + "v_required": { + "value": "true", + "err": "Required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "side_effects_fp", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "side_effects_fp", + "openmrs_entity_parent": "164154AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Madhara", + "v_required": { + "value": "true", + "err": "Required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + } + ] + }, + "step2": { + "title": "Njia ya uzazi wa mpango", + "next": "step3", + "fields": [ + { + "key": "fp_method_chosen", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Njia za uzazi wa mpango selected", + "values": [ + "Kondomu ya kiume", + "Kondomu ya kike", + "Kufunga kizazi mwanammen" + ], + "keys": [ + "Male condom", + "Female condom", + "Male sterilization" + ], + "openmrs_choice_ids": { + "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Male sterilization": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_method_accepted", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_method_accepted", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + } + ] + }, + "step3": { + "title": "Taarifa ya njia ya uzazi wa mpango", + "fields": [ + { + "key": "no_condoms", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_condoms", + "type": "edit_text", + "edit_type": "number", + "hint": "Amepata vipande vya kondpmu vingapi?", + "v_required": { + "value": "true", + "err": "Equal or greater than 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_min": { + "value": "0", + "err": "Number must be equal or greater than 0" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_start_condom", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "counselling_use", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling_use", + "type": "spinner", + "hint": "Je, mteja ameshauri jinsi ya kutumia njia za uzazi wa mpango?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_start_male_ster", + "openmrs_entity_parent": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_male_ster", + "type": "date_picker", + "hint": "Tarehe ya kufunga kizazi mwanamume", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_male_ster_note", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Shauri yeye kutumia kondomu kwa miezi mitatu kuzuia ujazito", + "toaster_info_text": "Shauri yeye kutumia kondomu kwa miezi mitatu kuzuia ujazito", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "referral_given", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_given", + "openmrs_entity_parent": "", + "label": "Rufaa iliyotolewa", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "fp_start_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hidden": "true", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_family_planning_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_family_planning_registration.json new file mode 100644 index 0000000000..474b4c4130 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_family_planning_registration.json @@ -0,0 +1,431 @@ +{ + "validate_on_submit": false, + "show_errors_on_submit": false, + "count": "3", + "encounter_type": "Family Planning Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Taarifa ya kusajili ya uzazi wa mpango", + "next": "step2", + "fields": [ + { + "key": "fp_reg_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_reg_date", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "using_method", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "using_method", + "openmrs_entity_parent": "", + "label": "Je, anatumia aina ya uzazi wa mpango sasa hivi?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "couselling_fp_methods", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Je, alishauriwa kwa njia tofauti za uzazi wa mpango?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "couselling_HIV_STI", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "couselling_HIV_STI", + "openmrs_entity_parent": "", + "label": "Je, alishauriwa kuhusu kuzuia VVU na magonjwa ya zinaa?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + } + ] + }, + "step2": { + "title": "Njia ya uzazi wa mpango", + "next": "step3", + "fields": [ + { + "key": "fp_method_chw", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160576AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Njia za uzazi wa mpango selected", + "values": [ + "Kondomu ya kiume", + "Kondomu ya kike" + ], + "keys": [ + "Male condom", + "Female condom" + ], + "openmrs_choice_ids": { + "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_method_already", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Njia za uzazi wa mpango selected", + "values": [ + "Kondomu ya kiume", + "Kondomu ya kike", + "Kufunga kizazi mwanamume" + ], + "keys": [ + "Male condom", + "Female condom", + "Male sterilization" + ], + "openmrs_choice_ids": { + "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Male sterilization": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_method_accepted", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_method_accepted", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + } + ] + }, + "step3": { + "title": "Taarifa ya njia ya uzazi wa mpango", + "fields": [ + { + "key": "ecp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ecp", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "no_condoms", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_condoms", + "type": "edit_text", + "edit_type": "number", + "hint": "Amepata vipande vya kondpmu vingapi?", + "v_required": { + "value": "true", + "err": "Sawa au kubwa kuliko 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Lazima iwe nambari iliyokamilishwa" + }, + "v_min": { + "value": "0", + "err": "Nambari lazima iwe sawa au kubwa kuliko 0" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_start_condom", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_condom", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "counselling_use", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling_use", + "type": "spinner", + "hint": "Je, mteja ameshauri jinsi ya kutumia njia za uzazi wa mpango?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_start_male_ster", + "openmrs_entity_parent": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_male_ster", + "type": "date_picker", + "hint": "Tarehe ya kufunga kizazi mwanamume", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_male_ster_note", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Shauri yeye kutumia kondomu kwa miezi mitatu kuzuia ujazito", + "toaster_info_text": "Shauri yeye kutumia kondomu kwa miezi mitatu kuzuia ujazito", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "referral_given", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_given", + "openmrs_entity_parent": "", + "label": "Rufaa iliyotolewa", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "fp_start_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hidden": "true", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_family_planning_registration_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_fp_referral_form.json new file mode 100644 index 0000000000..c805d20568 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_fp_referral_form.json @@ -0,0 +1,247 @@ +{ + "count": "1", + "encounter_type": "Family Planning Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Family Planning Referral", + "fields": [ + { + "key": "fp_method_accepted_referral", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Njia ya uzazi wa mpango aliyochagua na anaohitaji rufaa", + "label_text_style": "bold", + "options": [ + { + "key": "Male_condom", + "openmrs_entity": "", + "openmrs_entity_id": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kondomu ya kiume" + }, + { + "key": "Female_condom", + "openmrs_entity": "", + "openmrs_entity_id": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kondomu ya kike" + }, + { + "key": "Male_sterilization", + "openmrs_entity": "", + "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Kufunga kizazi mwanamume" + }, + { + "key": "None", + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hakuna" + }, + { + "key": "Not_applicable", + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Si husika" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "side_effects_sterialization", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango ", + "label_text_style": "bold", + "exclusive": [ + "None", + "Not_applicable" + ], + "options": [ + { + "key": "Incisional_bleeding", + "text": "Kutokwa damu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pus_Discharge_from_incision", + "text": "Kutokwa usaha", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Swollen_around_the_incision", + "text": "Kuvimba kwenye kidonda", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Madhara mengineyo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Si husika", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_fp_referral_relevance.yml" + } + } + } + }, + { + "key": "fp_side_effects", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + }, + { + "key": "fp_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "hint": "Madhara mengineyo", + "v_required": { + "value": "true", + "err": "Tafadhali taja madhara mengineyo" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_fp_referral_relevance.yml" + } + } + } + }, + { + "key": "referral_date_fp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_fp", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json new file mode 100644 index 0000000000..b4738cf6ec --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json @@ -0,0 +1,1073 @@ +{ + "form": "CBHS Follow-up form", + "count": "1", + "encounter_type": "CBHS Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya kumtembelea mgonjwa wa VVU", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Hali ya usajili/ ufuatiliaji" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "Mpya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma kutoka sehemu nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services", + "text": "Amemaliza huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya ufwatiliaji", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_hiv_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizi ya VVU baada ya kipimo" + }, + "options": [ + { + "name": "na", + "text": "Haitambuliki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "unknown", + "text": "Haijulikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Chanya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hasi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua moja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "Namba ya CTC mfano: 12-34-5678-912345", + "type": "Namba ya CTC mfano: 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." + } + ], + "required_status": "yes:Tafadhali jaza namba ya CTC", + "subjects": "client_hiv_status_after_testing:text" + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya mteja" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Anaweza kufanya shughuli zake za kila siku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa) ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Hajimudu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "pain", + "text": "Maumivu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "kukohoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kitabibu ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Matatizo ya lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "kushindwa kutimiza ratiba ya CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kijamii ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Tabia na mazingira hatarishi ya mteja" + }, + "options": [ + { + "name": "na", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Mlevi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Ana wapenzi wengi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Wavuvi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "Wajidunga", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Wapasua mbao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Wachimba madini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Wanaume wanaofanya ngono na wanaume wenzao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Madereva wa masafa marefu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Vifaa vilivyotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Sabuni", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "Chandarua", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Mashuka", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Kondomu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Vifaa vingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua kifaa/vifaa vilivyotolewa", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Vifaa vingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Dawa zilizotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Dawa Nyinginezo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Dawa nyingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "Ushauri wa lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "Elimu kuhusu maambukizi ya VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Upimaji wa awali", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Ushauri wa kisaikolojia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "Usafi wa nyumba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Huduma za afya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Huduma za tiba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Huduma nyingine za UKIMWI katika jamii", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna huduma iliyotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "subjects": "hiv_services_provided:map" + }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizokamilishwa na mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "Hali ya Tiba na Matunzo (CTC)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "na", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_but_not_began_medication", + "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_ctc_clinic", + "text": "Hajaandikishwa CTC/PMTCT", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Chagua alipohamia", + "searchable": "Chagua alipohamia" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali chagua sehemu alipohamia", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Andika alipohamia", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali andika alipohamia", + "subjects": "client_moved_location:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json new file mode 100644 index 0000000000..e1c7c0b213 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -0,0 +1,979 @@ +{ + "form": "CBHS Follow-up form", + "count": "1", + "encounter_type": "CBHS Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya kumtembelea mgonjwa wa VVU", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Hali ya usajili/ ufuatiliaji" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "Mpya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma kutoka sehemu nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Amemaliza huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya ufuatiliaji", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya mteja" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Anaweza kufanya shughuli zake za kila siku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa) ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Hajimudu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "pain", + "text": "Maumivu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "Kukohoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kitabibu ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Matatizo ya lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "kushindwa kutimiza ratiba ya CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kijamii ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Tabia na mazingira hatarishi ya mteja" + }, + "options": [ + { + "name": "na", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Mlevi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Ana wapenzi wengi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Wavuvi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "Wajidunga", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Wapasua mbao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Wachimba madini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Wanaume wanaofanya ngono na wanaume wenzao", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Madereva wa masafa marefu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Vifaa vilivyotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Sabuni", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "Chandarua", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Mashuka", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Kondomu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Vifaa vingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Vifaa vingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Dawa zilizotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Dawa Nyinginezo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Dawa nyingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "Ushauri wa lishe", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "Elimu kuhusu maambukizi ya VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Upimaji wa awali", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Ushauri wa kisaikolojia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "Usafi wa nyumba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Huduma za afya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Huduma za tiba", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Huduma nyingine za UKIMWI katika jamii", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna huduma iliyotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "subjects": "hiv_services_provided:map" + }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizokamilishwa na mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "Hali ya Tiba na Matunzo (CTC)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Chagua alipohamia", + "searchable": "Chagua alipohamia" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali chagua sehemu alipohamia", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Andika alipohamia", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali andika alipohamia", + "subjects": "client_moved_location:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json new file mode 100644 index 0000000000..76a753dc77 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json @@ -0,0 +1,179 @@ +{ + "form": "HIV Registration form", + "count": "1", + "encounter_type": "CBHS Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Usajili wa wateja wa VVU", + "fields": [ + { + "name": "cbhs_number", + "type": "masked_edit_text", + "properties": { + "hint": "Namba ya HUWANYU mfano: 1234/56/78/912", + "type": "Namba ya HUWANYU mfano: 1234/56/78/912", + "mask": "####/##/##/###", + "mask_hint": "12345678912", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cbhs_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", + "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." + } + ], + "required_status": "yes:Tafadhali weka namba ya HUWANYU" + }, + { + "name": "client_hiv_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizo ya VVU wakati wa kuandikishwa" + }, + "options": [ + { + "name": "unknown", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Ana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "hiv_registration_date" + ] + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "Namba ya CTC mfano: 12-34-5678-912345", + "type": "Namba ya CTC mfano: 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." + } + ], + "subjects": "client_hiv_status_during_registration:text" + }, + { + "name": "tb_number", + "type": "text_input_edit_text", + "properties": { + "hint": "TB ID", + "type": "TB Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_number", + "openmrs_entity_parent": "" + } + }, + { + "name": "mat_number", + "type": "text_input_edit_text", + "properties": { + "hint": "MAT ID", + "type": "MAT Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mat_number", + "openmrs_entity_parent": "" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/monthly_report.json b/opensrp-chw/src/nacp/assets/json.form-sw/monthly_report.json new file mode 100644 index 0000000000..29e29808c9 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/monthly_report.json @@ -0,0 +1,113 @@ +{ + "count": "12", + "encounter_type": "HIA2 Monthly Report", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Wateja wanawake (1 ya 12)", + "next": "step2", + "fields": [] + }, + "step2": { + "title": "Wateja watoto na watoto wachanga (2 ya 12)", + "next": "step3", + "fields": [] + }, + "step3": { + "title": "Kaya (3 ya 12)", + "next": "step4", + "fields": [] + }, + "step4": { + "title": "Rufaa zilizotolewa (4 ya 12)", + "next": "step5", + "fields": [] + }, + "step5": { + "title": "Mikutano ya elimu ya afya (5 ya 12)", + "next": "step6", + "fields": [] + }, + "step6": { + "title": "Taarifa ya vizazi na vifo (6 ya 12)", + "next": "step7", + "fields": [] + }, + "step7": { + "title": "Uzazi wa mpango (7 ya 12)", + "next": "step8", + "fields": [] + }, + "step8": { + "title": "Vidonge (8 ya 12)", + "next": "step9", + "fields": [] + }, + "step9": { + "title": "Kondomu (9 ya 12)", + "next": "step10", + "fields": [] + }, + "step10": { + "title": "Kalenda (10 ya 12)", + "next": "step11", + "fields": [] + }, + "step11": { + "title": "Ushauri (11 ya 12)", + "next": "step12", + "fields": [] + }, + "step12": { + "title": "Rufaa (12 ya 12)", + "fields": [] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/observation_illness.json b/opensrp-chw/src/nacp/assets/json.form-sw/observation_illness.json new file mode 100644 index 0000000000..0e59aa4e4e --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/observation_illness.json @@ -0,0 +1,129 @@ +{ + "count": "1", + "encounter_type": "Observations Illness", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Observations & Illness", + "fields": [ + { + "key": "date_of_illness", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe", + "expanded": false, + "max_date": "today", + "min_date": "", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya ugonjwa" + } + }, + { + "key": "illness_description", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Maelezo", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza maelezo" + } + }, + { + "key": "action_taken_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hatua iliyochukuliwa", + "v_required": { + "value": "true", + "err": "Tafadhali chagua hatua" + }, + "values": [ + "ORS 5", + "Zinc 10", + "Panadol", + "Kutoa rufaa", + "Matibabu mengine", + "Hakuna matibabu yaliyotolewa" + ], + "keys": [ + "ORS 5", + "Zinc 10", + "Panadol", + "Referred", + "Other treatment given", + "No treatment" + ] + }, + { + "key": "other_treat_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Matibabu mengine", + "v_required": { + "value": "true", + "err": "Tafadhali taja matibabu mengine" + }, + "relevance": { + "step1:action_taken_1m5yr": { + "type": "string", + "ex": "equalTo(., \"Other treatment\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_counselling.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_counselling.json new file mode 100644 index 0000000000..7b31620510 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_counselling.json @@ -0,0 +1,213 @@ +{ + "count": "1", + "encounter_type": "Child Home Visit Counselling", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Counselling", + "fields": [ + { + "key": "couselling_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Ushauri uliyotolewa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_maternal_nutrition", + "text": "Lishe ya mama wakati wa kunyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_hiv_aids", + "text": "Taarifa za jumla za VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_pmtct", + "text": "PMTCT kwa mama", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_malaria_prevention", + "text": "Kuzuia Malaria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_pnc_care_for_mother", + "text": "Malezi ya PNC kwa mama", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1623AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_hiv_exposed_infant", + "text": "Ufuatiliaji wa Mtoto aliye katika hatari ya VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_pnc_danger_signs", + "text": "Dalili za hatari za PNC", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_care_of_infant_after_birth", + "text": "Malezi ya mtoto mchanga baada ya kuzaliwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159839AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_care_of_premature_baby", + "text": "Malezi ya mtoto njiti", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_care_of_new_born", + "text": "Malezi ya mtoto mchanga mara baada ya kuzaliwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_new_born_danger_signs", + "text": "Dalili za hatari kwa mtoto mchanga ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_hiv_exposed_infant", + "text": "Ufuatiliaji wa Mtoto aliye katika hatari ya VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_breastfeeding", + "text": "Kunyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_lam", + "text": "LAM kama njia ya asili ya uzazi wa mpango, ambayo inajumuisha unyonyeshaji wa kipekee miezi sita baada ya kujifungua", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_family_planning", + "text": "Uzazi wa mpango", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_birth_registration", + "text": "Usajili wa kuzaliwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_immunisation", + "text": "Upataji wa chanjo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_infection_prevention", + "text": "Kuzuia na kudhibiti maambukizi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_gender_issues", + "text": "Masuala ya jinsia", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Tafahdali chagua angalau moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json new file mode 100644 index 0000000000..69ed01ffbe --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json @@ -0,0 +1,204 @@ +{ + "count": "1", + "encounter_type": "Danger signs - Baby", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Danger Signs Baby", + "fields": [ + { + "key": "danger_signs_present_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Je, mtoto ana dalili zozote za hatari?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_fever", + "text": "Homa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_excessive_crying", + "text": "Kulia kupita kiasi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "110540AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_fast_breathing", + "text": "Kupumua kwa haraka", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "125061AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_difficult_breathing", + "text": "Kupumua kwa shida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_unable_to_suck", + "text": "Kutoweza kunyonya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_umbilical_discharge", + "text": "Kitovu kutokwa na damu/usaha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "123843AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_no_movement", + "text": "Hamna uchezaji", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164455AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_skin_rashes", + "text": "Vipele kwenye ngozi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_pale", + "text": "Kupauka au kuonekana na rangi ya manjano", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_eye_discharge", + "text": "Jicho kutokwa na majimaji ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142246AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_lethargy", + "text": "Ulegeevu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "116334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + } + }, + { + "key": "danger_signs_present_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Dalili ya hatari! Mpatie rufaa kwenda kituo cha afya haraka", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:danger_signs_present_child": { + "ex-checkbox": [ + { + "or": [ + "chk_fever", + "chk_excessive_crying", + "chk_fast_breathing", + "chk_difficult_breathing", + "chk_unable_to_suck", + "chk_umbilical_discharge", + "chk_no_movement", + "chk_convulsions", + "chk_skin_rashes", + "chk_pale", + "chk_eye_discharge", + "chk_severe_abdominal_pain", + "chk_lethargy" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_mother.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_mother.json new file mode 100644 index 0000000000..495e6c65ef --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_mother.json @@ -0,0 +1,204 @@ +{ + "count": "1", + "encounter_type": "Danger signs - Mother", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Danger Signs Mother", + "fields": [ + { + "key": "danger_signs_present_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Je, mama ana dalili zozote za hatari?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_fever", + "text": "Homa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_bleeding_vaginally", + "text": "Kutokwa na damu ukeni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_server_headache", + "text": "Maumivu makali ya kichwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_difficulty_breathing", + "text": "Kupumua kwa shida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_severe_leg_pain", + "text": "Maumivu makali ya mguu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "114395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_unusual_behaviour", + "text": "Tabia isiyo ya kawaida (msongo wa mawazo, kuchanganyikiwa)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "152376AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_swelling of breast", + "text": "Kuvimba kwa titi na chuchu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "125212AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_vaginal_discharge", + "text": "Kutokwa na majimaji yenye harufu mbaya kutoka ukeni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_blurred_vision", + "text": "Uoni hafifu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_loss_conscioueness", + "text": "Kupoteza fahamu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "135592AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_urination", + "text": "Kukojoa kidogo au mkojo kuvuja kutoka ukeni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "118982AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "danger_signs_present_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Dalili ya hatari! Mpatie rufaa ya kwenda kituo cha afya haraka.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:danger_signs_present_mama": { + "ex-checkbox": [ + { + "or": [ + "chk_fever", + "chk_bleeding_vaginally", + "chk_server_headache", + "chk_convulsions", + "chk_difficulty_breathing", + "chk_severe_leg_pain", + "chk_unusual_behaviour", + "chk_swelling of breast", + "chk_severe_abdominal_pain", + "chk_vaginal_discharge", + "chk_blurred_vision", + "chk_loss_conscioueness", + "chk_urination" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_exclusive_breastfeeding.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_exclusive_breastfeeding.json new file mode 100644 index 0000000000..1aec1f80c8 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_exclusive_breastfeeding.json @@ -0,0 +1,76 @@ +{ + "count": "1", + "encounter_type": "Exclusive breast feeding", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Exclusive breastfeeding", + "fields": [ + { + "key": "exclusive_breast_feeding", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "exclusive_breast_feeding", + "type": "spinner", + "image": "ic_form_bf", + "hint": "Je, mtoto amekuwa akinyonya maziwa ya mama pekee?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json new file mode 100644 index 0000000000..f08d8cb91c --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json @@ -0,0 +1,197 @@ +{ + "count": "1", + "encounter_type": "Family Planning", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Family Planning", + "fields": [ + { + "key": "fp_counseling", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mama alishauriwa kuhusu upangaji uzazi katika kituo cha afya hivi karibuni??", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "fp_period_received", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Alishauriwa katika kipindi gani?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "chk_during_anc", + "text": "Wakati wa ANCc", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_during_anc" + }, + { + "key": "chk_during_labour_and_delivery", + "text": "Wakati wa kujifungua", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_during_labour_and_delivery" + }, + { + "key": "chk_during_pnc", + "text": "Wakati wa PNC", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_during_pnc" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_family_planning_relevance.yml" + } + } + } + }, + { + "key": "fp_method", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Njia ya uzazi wa mpango iliyochaguliwa", + "values": [ + "Njia ya PPIUCD", + "Vidonge", + "Kipandikizi", + "Kondomu", + "Njia ya LAM", + "Njia ya kawaida ya siku", + "Njia ya kudumu (BTL)", + "Njia ya kudumu (Vasectomy)", + "Hakuna" + ], + "keys": [ + "PPIUCD", + "Pills", + "Implant", + "Condoms", + "LAM", + "Bead Counting", + "Permanent (BTL)", + "Permanent (Vascemtomy)", + "None" + ], + "openmrs_choice_ids": { + "PPIUCD": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Pills": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Implant": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Condoms": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "LAM": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bead Counting": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Permanent (BTL)": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Permanent (Vascemtomy)": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_family_planning_relevance.yml" + } + } + } + }, + { + "key": "fp_start_date", + "openmrs_entity_parent": "163757AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe ya kuanza", + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya kuanza kututmika kwa njia iliyochaguliwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_family_planning_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_health_facility_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_health_facility_visit.json new file mode 100644 index 0000000000..e01303acab --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_health_facility_visit.json @@ -0,0 +1,168 @@ +{ + "count": "1", + "encounter_type": "Health Facility Visit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Health Facility Visit", + "fields": [ + { + "key": "pnc_visit_{0}", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mwanamke huyo alihudhuria PNC yake alipotembelea {0} kituo cha afya? Tarehe ya kukamilisha hudhurio: {1}", + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo" + }, + "values": [ + "Ndiyo", + "Hapana" + ] + }, + { + "key": "pnc_hf_visit{0}_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe ya kutembelea kituo cha afya kwa ajili ya PNC {0}", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe " + }, + "relevance": { + "step1:pnc_visit_{0}": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "vit_a_mother", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mwanamke huyo alipokea Vitamini A ndani ya saa 24 baada ya kujifungua?", + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo" + }, + "values": [ + "Ndiyo", + "Hapana" + ], + "relevance": { + "step1:pnc_visit_{0}": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "ifa_mother", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "104677AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mwanamke alipokea tembe za iron na folic acid (IFA) ndani ya saa 24 baada ya kujifungua?", + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo" + }, + "values": [ + "Ndiyo", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "relevance": { + "step1:pnc_visit_{0}": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "confirmed_health_facility_visits", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "confirmed_health_facility_visits", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + }, + { + "key": "last_health_facility_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_health_facility_visit_date", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + }, + { + "key": "pnc_hf_next_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pnc_hf_next_visit_date", + "type": "spacer" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_health_facility_visit_one.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_health_facility_visit_one.json new file mode 100644 index 0000000000..b1bb2e36be --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_health_facility_visit_one.json @@ -0,0 +1,92 @@ +{ + "encounter_type": "PNC Health Facility Visit - Within 48 Hrs", + "pnc_hf_visit_48hrs": { + "title": "PNC HF Visit 48 hrs", + "fields": [ + { + "key": "pnc_visit_1", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Je, mama alihudhuria hudhurio la kwanza la huduma ya mama na mtoto baada ya kujifungua (ndani ya masaa 48) katika kituo cha kutolea huduma za afya?\n\nTarehe ya hudhurio lingine: : [due date of visit]", + "options": [ + { + "key": "Yes", + "openmrs_entity": "", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "No", + "openmrs_entity": "", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": null + } + }, + { + "key": "vit_a_mother", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Je, mama alipewa Vitamini A ndani ya masaa 24 baada ya kujifungua?", + "options": [ + { + "key": "Yes", + "openmrs_entity": "", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "No", + "openmrs_entity": "", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": null + } + }, + { + "key": "ifa_mother", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Je, mama alipewa dawa za kuongeza damu (FEFO) ndani ya masaa 24 baada ya kujifungua?", + "options": [ + { + "key": "Yes", + "openmrs_entity": "", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "No", + "openmrs_entity": "", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": null + } + } + ] + } +} diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_health_facility_visit_two.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_health_facility_visit_two.json new file mode 100644 index 0000000000..059ca90a3b --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_health_facility_visit_two.json @@ -0,0 +1,111 @@ +{ + "count": "1", + "encounter_type": "Health Facility Visit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Health Facility Visit", + "fields": [ + { + "key": "pnc_visit_{0}", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mwanamke huyo alihudhuria PNC yake alipotembelea {0} kituo cha afya? Tarehe ya kukamilisha hudhurio: {1}", + "v_required": { + "value": "true", + "err": "Tafadhai chagua chaguo" + }, + "values": [ + "Ndiyo", + "Hapana" + ] + }, + { + "key": "pnc_hf_visit{0}_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe ya kutembelea kituo cha afya cha PNC {0}", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe" + }, + "relevance": { + "step1:pnc_visit_{0}": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "confirmed_health_facility_visits", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "confirmed_health_facility_visits", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + }, + { + "key": "last_health_facility_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_health_facility_visit_date", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_danger_signs.json new file mode 100644 index 0000000000..a713dea48b --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_danger_signs.json @@ -0,0 +1,195 @@ +{ + "count": "1", + "encounter_type": "PNC HomeVisit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "PNC Danger Signs", + "fields": [ + { + "key": "danger_signs_present", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Je, mama ana dalili zozote za hatari?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_fever", + "text": "Homa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_bleeding_vaginally", + "text": "Kutokwa na damu ukeni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_server_headache", + "text": "Maumivu makali ya kichwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_difficulty_breathing", + "text": "Kupumua kwa shida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_swelling", + "text": "Kuvimba kwa uso na/au mikono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_vaginal_discharge", + "text": "Kutokwa na majimaji yenye rangirangi na harufu mbaya ukeni", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_unusual_movement", + "text": "Hamna uchezaji/uchezaji wa mtoto tumboni usiyo wa kawaida", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + } + }, + { + "key": "danger_signs_present_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Dalili ya hatari! Mpe rufaa ya kwenda kituo cha afya haraka.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:danger_signs_present": { + "ex-checkbox": [ + { + "or": [ + "chk_fever", + "chk_bleeding_vaginally", + "chk_server_headache", + "chk_convulsions", + "chk_difficulty_breathing", + "chk_severe_abdominal_pain", + "chk_swelling", + "chk_vaginal_discharge", + "chk_unusual_movement" + ] + } + ] + } + } + }, + { + "key": "danger_signs_counseling", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165310AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "label_info_title": "Did the mother receive counselling", + "label_info_text": "Did the mother receive counselling on danger signs at the health facility recently?", + "hint": "Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?", + "values": [ + "Ndiyo ", + "Hapana" + ], + "openmrs_choice_ids": { + "Yes": "1267AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1118AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json new file mode 100644 index 0000000000..7491df33f2 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json @@ -0,0 +1,157 @@ +{ + "count": "1", + "encounter_type": "ANC Registration", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Observations & Illness - Child", + "fields": [ + { + "key": "date_of_illness_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe", + "expanded": false, + "min_date": "today-1y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya ugonjwa" + } + }, + { + "key": "illness_description_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Maelezo", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza maelezo" + } + }, + { + "key": "action_taken_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Hatua iliyochukuliwa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_ors", + "text": "ORS 5", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_zinc", + "text": "Zinc 10", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_paracetamol", + "text": "Panadol", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_referred", + "text": "Kupewa rufaa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other_treatment", + "text": "Matibabu mengine", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna matibabu yaliyotolewa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ] + }, + { + "key": "other_treatment_illness_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Matibabu mengine", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza maelezo kuhusu ugonjwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_observations.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json new file mode 100644 index 0000000000..3374f90efa --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json @@ -0,0 +1,157 @@ +{ + "count": "1", + "encounter_type": "ANC Registration", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Observations & Illness - Mama", + "fields": [ + { + "key": "date_of_illness_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe", + "expanded": false, + "min_date": "today-1y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza tarehe ya ugonjwa" + } + }, + { + "key": "illness_description_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Maelezo", + "v_required": { + "value": "true", + "err": "Tafadhali ingiza maelezo" + } + }, + { + "key": "action_taken_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Hatua iliyochukuliwa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_ors", + "text": "ORS 5", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_zinc", + "text": "Zinc 10", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_paracetamol", + "text": "Panadol", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_referred", + "text": "Kutoa rufaa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other_treatment", + "text": "Matibabu mengine", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna matibabu yaliyotolewa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ] + }, + { + "key": "other_treatment_illness_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Matibabu mengine", + "v_required": { + "value": "true", + "err": "Tafahdali ingiza maelezo ya ugonjwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_observations.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_malaria_prevention.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_malaria_prevention.json new file mode 100644 index 0000000000..3ef9ba74ac --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_malaria_prevention.json @@ -0,0 +1,141 @@ +{ + "count": "1", + "encounter_type": "Malaria Prevention", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Malaria Prevention", + "fields": [ + { + "key": "fam_llin", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, ana chandarua chenye dawa inayodumu kwa muda mrefu (LLIN)?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "llin_2days", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, alilala chini ya chandarua jana usiku?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "step1:fam_llin": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "llin_condition", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hali ya chandarua", + "values": [ + "Nzuri", + "Mbaya" + ], + "keys": [ + "Okay", + "Bad" + ], + "openmrs_choice_ids": { + "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "step1:fam_llin": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_nutrition_status_infant.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_nutrition_status_infant.json new file mode 100644 index 0000000000..75afb18258 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_nutrition_status_infant.json @@ -0,0 +1,82 @@ +{ + "count": "1", + "encounter_type": "Nutrition Status - Baby", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Nutrition Status - Baby", + "fields": [ + { + "key": "nutrition_status_1m", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hali ya lishe ya mtoto mchanga", + "values": [ + "Kawaida/Kijani", + "Wastani/Njano", + "Mbaya/Nyekundu" + ], + "keys": [ + "Normal", + "Moderate", + "Severe" + ], + "openmrs_choice_ids": { + "Yes": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_nutrition_status_mother.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_nutrition_status_mother.json new file mode 100644 index 0000000000..f6f9e1094a --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_nutrition_status_mother.json @@ -0,0 +1,82 @@ +{ + "count": "1", + "encounter_type": "Nutrition Status - Mother", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Nutrition Status - Mother", + "fields": [ + { + "key": "nutrition_status_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hali ya lishe ya mwanamke", + "values": [ + "Kawaida/Kijani", + "Wastani/Njano", + "Mbaya/Nyekundu" + ], + "keys": [ + "Normal", + "Moderate", + "Severe" + ], + "openmrs_choice_ids": { + "Yes": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafahdali chagua chaguo moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_referral_form.json new file mode 100644 index 0000000000..ff1abc40b4 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_referral_form.json @@ -0,0 +1,497 @@ +{ + "count": "1", + "encounter_type": "PNC Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "PNC referral form", + "fields": [ + { + "key": "chw_referral_hf_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_calculation.yml" + } + } + } + }, + { + "key": "problem_hf_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "check_box", + "label": "Hali/tatizo la mteja", + "label_text_style": "bold", + "options": [ + { + "key": "Vaginal_bleeding", + "text": "Kutokwa damu ukeni", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Discoloured_or_watery_liquid_vaginal_discharge", + "text": "Kutokwa na majimaji yenye rangirangi na harufu mbaya ukeni", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_anaemia", + "text": "Kupungukiwa sana kwa damu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Convulsions", + "text": "Degedege", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "A_severe_headache_dizziness", + "text": "Maumivu makali ya kichwa/kizunguzungu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Swelling_of_the_face_and_or_hands", + "text": "Kuvimba kwa uso na/au mikono", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fever", + "text": "Homa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Shivering_trembling", + "text": "Kutetemeka", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Nausea", + "text": "Kichefuchefu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Vomiting", + "text": "Kutapika", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cord_prolapse", + "text": "Kitovu kutokea kwa nje", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Perineum_bleeding", + "text": "Kutoka na damu kwnenye msamba", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fullness_or_pain_of_the_breasts", + "text": "Kuvimbwa kwa titi/matiti", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "HIV_care_and_support_services", + "text": "Huduma za matunzo na usaidizi wa VVU", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Family_planning_services", + "text": "Huduma za uzazi wa mpango", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "PMTCT_for_mothers", + "text": "PMTCT kwa wamama", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fistula", + "text": "Fistula", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fast_breathing_and_difficulty_with_breathing", + "text": "Kupumua kwa haraka na kupumua kwa shida", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Umbilical_cord", + "text": "Kutokwa na damu kwenye kitovu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Excessive_crying", + "text": "Kulia kupita kiasi", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unable_to_breastfeed_or_swallow", + "text": "Kutoweza kunyonya au kumeza", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Neck_stiffness", + "text": "Kukaza kwa shingo", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bloating", + "text": "Tumbo kujaa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Redness_around_the_umbilical_cord_foul", + "text": "Kuwa na wekundu eneolinalozunguka kitovu, kutokwa na majimaji yenye harufu mbaya kutoka kwenye kitovu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bacterial_conjunctivitis", + "text": "Ugonjwa wa macho unaosababishwa na bakteria", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pale_or_jaundiced", + "text": "Kupauka au kuonekana na ngozi yenye rangi ya njano", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cyanosis_blueness_of_lips", + "text": "Mdomo kuwa na rangi ya bluu", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Skin_rash_pustules", + "text": "Vipele kwenye ngozi", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Diarrhea", + "text": "Kuhara", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Disabilities", + "text": "Ulemavu wa kuzaliwa nao", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Premature_baby", + "text": "Mtoto njiti", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Failure_to_pass_urine_or_stool", + "text": "Kushindwa kujtoa haja ndogo au kubwa ndani ya masaa 24 baada ya kuzaliwa", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + }, + { + "key": "Care_of_HIV_exposed_infant", + "text": "Utunzaji wa mtoto aliyeambukizwa VVU", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Immunisation", + "text": "Kupatiwa chanjo ya kinga", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_symptom", + "text": "Dalili nyingine", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": true, + "err": "Tafadhali bainisha hali /tatizo la mteja" + } + }, + { + "key": "problem_hf_pnc_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "edit_type": "name", + "hint": "Dalili nyingne", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_relevance.yml" + } + } + } + }, + { + "key": "service_before_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Usimamizi wa kabla ya kupewa rufaa iliyotolewa", + "label_text_style": "bold", + "is_problem": false, + "exclusive": [ + "None" + ], + "options": [ + { + "key": "ORS", + "text": "ORS", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Panadol", + "text": "Panadol", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_treatment", + "text": "Matibabu mengine", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "Hakuna", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Sehemu ya usimamizi wa kabla ya kupewa rufaa inahitajika" + } + }, + { + "key": "service_before_pnc_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "edit_type": "name", + "hint": "Matibabu mengine", + "is_problem": false, + "v_required": { + "value": "true", + "err": "Tafadhali bainisha matibabu mengine" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_relevance.yml" + } + } + } + }, + { + "key": "referral_date_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/anc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/anc_referral_form.json new file mode 100644 index 0000000000..9cc0f36207 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/anc_referral_form.json @@ -0,0 +1,421 @@ +{ + "form": "ANC Referral", + "encounter_type": "ANC Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya rufaa ya mama mjamzito", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua tatizo/hali aliyonayo mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "Vaginal_bleeding", + "text": "Kutoka damu ukeni", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Vaginal_bleeding", + "openmrs_entity_parent": "" + } + }, + { + "name": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", + "text": "Kutokwa na majimaji ukeni yenye rangirangi na harufu mbaya", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", + "openmrs_entity_parent": "" + } + }, + { + "name": "High_blood_pressure", + "text": "Shinikizo la damu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "High_blood_pressure", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Severe_abdominal_pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_anaemia", + "text": "Upungufu mkubwa wa damu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Severe_anaemia", + "openmrs_entity_parent": "" + } + }, + { + "name": "Convulsions", + "text": "Degedege", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Convulsions", + "openmrs_entity_parent": "" + } + }, + { + "name": "No_movement_unusual_movement_for_a_child_in_the_womb", + "text": "Hakuna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "No_movement_unusual_movement_for_a_child_in_the_womb", + "openmrs_entity_parent": "" + } + }, + { + "name": "Pregnancy_pains_before_9_months", + "text": "Uchungu kuanza mapema kabla ya mimba kufikia miezi 9", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Pregnancy_pains_before_9_months", + "openmrs_entity_parent": "" + } + }, + { + "name": "Early_age_pregnancy_below_18_years", + "text": "Kupata mimba katika umri mdogo (chini ya umri wa miaka 18)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Early_age_pregnancy_below_18_years", + "openmrs_entity_parent": "" + } + }, + { + "name": "A_severe_headache_dizziness", + "text": "Maumivu makali ya kichwa/kizunguzungu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "A_severe_headache_dizziness", + "openmrs_entity_parent": "" + } + }, + { + "name": "Swelling_of_the_face_andor_hands", + "text": "Kuvimba uso na/au mikono", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Swelling_of_the_face_andor_hands", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fever", + "text": "Homa", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "Shivering_trembling", + "text": "Kutetemeka", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Shivering_trembling", + "openmrs_entity_parent": "" + } + }, + { + "name": "Nausea_and_Vomiting", + "text": "Kichefuchefu na kutapika", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Nausea_and_Vomiting", + "openmrs_entity_parent": "" + } + }, + { + "name": "Water_sack_broke_before_contractions", + "text": "Chupa kupasuka mapema kabla ya uchungu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Water_sack_broke_before_contractions", + "openmrs_entity_parent": "" + } + }, + { + "name": "Cord_prolapse", + "text": "Kutangulia kitovu cha mtoto", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Cord_prolapse", + "openmrs_entity_parent": "" + } + }, + { + "name": "HIV_care_and_support_services", + "text": "Huduma za wateja/wagonjwa wanaoishi na VVU", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "HIV_care_and_support_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "Family_planning_services", + "text": "Huduma za uzazi wa mpango", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Family_planning_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "PMTCT_for_mothers", + "text": "Huduma ya kuzuia maambukizi ya VVU toka kwa mama kwenda kwa mtoto", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "PMTCT_for_mothers", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fistula", + "text": "Fistula", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Fistula", + "openmrs_entity_parent": "" + } + }, + { + "name": "Difficultly_breathing", + "text": "Kupumua kwa shida", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Difficultly_breathing", + "openmrs_entity_parent": "" + } + }, + { + "name": "Breast_engorgement", + "text": "Kujaa au maumivu ya matiti, chuchu na kushindwa kunyonyesha", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Breast_engorgement", + "openmrs_entity_parent": "" + } + }, + { + "name": "Blurred_vision", + "text": "Kuona kwa shida", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Blurred_vision", + "openmrs_entity_parent": "" + } + }, + { + "name": "Perineum_tear", + "text": "Kuchanika msamba", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Perineum_tear", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptoms", + "text": "Dalili nyingine", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptoms", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali bainishi sababu za rufaa kwenda kliniki ya mjamzito", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "properties": { + "hint": "Dalili nyingine", + "type": "name" + }, + "required_status": "true:Tafadhali bainisha dalili nyingine", + "subjects": "problem:map" + }, + { + "name": "service_before_referral", + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_before_referral" + }, + "type": "multi_choice_checkbox", + "properties": { + "text": "Matibabu aliyopewa kabla ya rufaa" + }, + "options": [ + { + "name": "ORS", + "text": "ORS", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "ORS", + "openmrs_entity_parent": "" + } + }, + { + "name": "Panadol", + "text": "Panado", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Panadol", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_treatment", + "text": "Matibabu mengine", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_treatment", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "Hakuna huduma aliyopewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "None", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Matibabu aliyopewa kabla ya rufaa ni lazima" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "service_before_referral_other", + "openmrs_entity_parent": "service_before_referral" + }, + "properties": { + "hint": "Matibabu mengine", + "type": "name" + }, + "required_status": "true:Tafadhali jaza matibabu mengine", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua Kituo cha rufaa", + "searchable": "Chagua Kituo cha rufaa" + }, + "options": [], + "required_status": "yes:Tafadhali chagua kituo cha rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Chagua tarehe ya miadi", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali chagua tarehe ya miadi" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_gbv_referral_form.json new file mode 100644 index 0000000000..1efc359e27 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_gbv_referral_form.json @@ -0,0 +1,210 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Child Gender-based violence services Referral Form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Tatizo / hali ya afya ya mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "options": [ + { + "name": "has_moved_out_from_home", + "text": "Amehama nyumbani", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "has_moved_out_from_home", + "openmrs_entity_parent": "" + } + }, + { + "name": "ulcers_and_scars", + "text": "Vidonda na makovu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "ulcers_and_scars", + "openmrs_entity_parent": "" + } + }, + { + "name": "is_weak", + "text": "Amedhoofika", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "is_weak", + "openmrs_entity_parent": "" + } + }, + { + "name": "needs_more_services", + "text": "Anahitaji huduma zaidi", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "needs_more_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_great_level_of_stress_and_fear", + "text": "Sonona (msongo wa mawazo)/ kuwa na woga mkuu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "has_great_level_of_stress_and_fear", + "openmrs_entity_parent": "" + } + }, + { + "name": "threatened_to_be_killed", + "text": "Kutishiwa kuuawa", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "threatened_to_be_killed", + "openmrs_entity_parent": "" + } + }, + { + "name": "child_has_a_disability", + "text": "Mtoto ana ulemavu /hawezi kukaa au anatembea kwa shida", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "child_has_a_disability", + "openmrs_entity_parent": "" + } + }, + { + "name": "child_does_not_want_to_go_home", + "text": "Mtoto hataki kurudi nyumbani/kwenda shuleni", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "child_does_not_want_to_go_home", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Other Symptom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Dalili nyingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua Kituo cha Afya", + "searchable": "Chagua Kituo cha Afya" + }, + "options": [], + "required_status": "yes:Tafadhali chagua kituo cha Afya cha kutuma rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tarehe ya kuhudhuria hospitali", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_referral_form.json new file mode 100644 index 0000000000..cd5594b7eb --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_referral_form.json @@ -0,0 +1,399 @@ +{ + "form": "Sick Child Referral", + "encounter_type": "Sick Child Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya wagonjwa wa mtoto", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Tatizo / hali ya afya ya mteja" + }, + "meta_data": { + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "options": [ + { + "name": "Fast_breathing_and_difficulty_with_breathing", + "text": "Kupumua kwa haraka na kushindwa kupumua", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Umbilical_cord_navel_bleeding", + "text": "Kutoka damu kwenye kitovu cha mtoto", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Excessive_crying", + "text": "Kulia sana kwa Mtoto", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Convulsions", + "text": "Degedege", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Unable_to_breastfeed_or_swallow", + "text": "Kushindwa kunyonya au kumeza", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Neck_stiffness", + "text": "Shingo kukakamaa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fever", + "text": "Homa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Bloating", + "text": "Tumbo kujaa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Redness_around_the_umbilical_cord_foul_smelling_discharge_from_the_umbilical_cord", + "text": "Uambukizo kwenye kitovu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Bacterial_conjunctivitis", + "text": "Macho kutoa uchafu / usaa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_anaemia", + "text": "Upungufu mkubwa wa damu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Pale_or_jaundiced", + "text": "Mwili kuwa njano", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Cyanosis_blueness_of_lips", + "text": "Kubadilika kwa sababu ya kukosa hewa (midomo kuwa bluu, ulimi au viganja", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Skin_rash_pustules", + "text": "Vipele mwilini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Diarrhea", + "text": "Kuharisha", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Vomiting", + "text": "Kutapika", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Disabilities", + "text": "Kuzaliwa na ulemavu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Premature_baby", + "text": "Mtoto aliyezaliwa na uzito pungufu / njiti", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Care_of_HIV_exposed_infant", + "text": "Huduma za kumsaidia mtoto aliyezaliwa na mama mwenye VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Immunisation", + "text": "Huduma za chanjo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Dalili nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali taja shida ya kiafya", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "properties": { + "hint": "Dalili nyingine", + "type": "name" + }, + "required_status": "true:Tafadhali taja dalili nyingine", + "subjects": "problem:map" + }, + { + "name": "service_before_referral", + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma aliyopewa kabla ya rufaa." + }, + "options": [ + { + "name": "ORS", + "text": "ORS", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Panadol", + "text": "Matibabu mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_treatment", + "text": "Other treatment", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "Hajapewa matibabu yoyote", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "True:Huduma aliyopewa kabla ya rufaa ni lazima" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "properties": { + "hint": "Matibabu mengine", + "type": "name" + }, + "required_status": "true:Tafadhali taja matibabu mengine", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua Kituo cha Afya", + "searchable": "Chagua Kituo cha Afya" + }, + "options": [ + { + "name": "none", + "text": "Chagua Kituo cha Afya" + } + ], + "required_status": "yes:Tafadhali chagua kituo cha Afya cha kutuma rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tarehe ya kuhudhuria hospitali", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_fp_referral_form.json new file mode 100644 index 0000000000..0803eb7169 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_fp_referral_form.json @@ -0,0 +1,577 @@ +{ + "form": "Family Planning Referral", + "encounter_type": "Family Planning Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/family_planning_referral_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Family Planning Referral", + "fields": [ + { + "name": "fp_method_accepted_referral", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "type": "radio_group", + "properties": { + "text": "Njia ya uzazi wa mpango aliyochagua na anaohitaji rufaa" + }, + "options": [ + { + "name": "Male_condom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Kondomu ya kiume" + }, + { + "name": "Female_condom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Kondomu ya kike" + }, + { + "name": "COC", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Vidonge vya kumeza vyenye vichocheo viwili (COC)" + }, + { + "name": "POP", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Vidonge vya kumeza vyenye vichocheo kimoja (POP)" + }, + { + "name": "Standard_day_method", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Shanga" + }, + { + "name": "Emergency_contraceptive", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Uzazi wa dharura" + }, + { + "name": "Injectable", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Sindano" + }, + { + "name": "IUCD", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Kitanzi" + }, + { + "name": "Implanon_NXT", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Kipandikizi cha miaka 3" + }, + { + "name": "Jadelle", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Kipandikizi cha miaka 5" + }, + { + "name": "Female_sterilization", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Kufunga kizazi mwanamke" + }, + { + "name": "Male_sterilization_fp", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Kufunga kizazi mwanaume" + }, + { + "name": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Hakuna" + }, + { + "name": "Not_applicable", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Si husika" + } + ], + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ], + "required_status": "yes:Tafadhali chagua njia ya uzazi wa mpango" + }, + { + "name": "side_effects_sterilization", + "type": "multi_choice_checkbox", + "meta_data": { + "openmrs_entity": "side_effects_sterilization", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango " + }, + "options": [ + { + "name": "Incisional_bleeding", + "text": "Kutokwa damu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Pus_Discharge_from_incision", + "text": "Kutokwa usaha", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Swollen_around_the_incision", + "text": "Kuvimba kwenye kidonda", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Others", + "text": "Madhara mengineyo", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Not_applicable", + "text": "Si husika", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "problem" + ], + "required_status": "yes:Madhara/maudhi yatokanayo na njia za uzazi wa mpango ni lazima", + "subjects": "fp_method_accepted_referral:map" + }, + { + "name": "side_effects_iucd", + "type": "multi_choice_checkbox", + "meta_data": { + "openmrs_entity": "side_effects_iucd", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango" + }, + "options": [ + { + "name": "Severe_pain_inside_the_vagina_after_IUD_was_put_in", + "text": "Maumivu makali ndani ya uke baada kuwekewa kitanzi", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in", + "text": "Maumivu ya tumbo au kiuno siku chache baada ya kuwekewa kitanzi", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Spotting_between_periods_and_or_irregular_periods", + "text": "Hedhi kutofuata mzunguko wa kawaida", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Heavier_periods_and_worse_menstrual_cramps", + "text": "Kutokwa damu nyingi na maumivu makali wakati wa hedhi", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "IUCD_explusion", + "text": "Kufukuzwa kwa kitanzi", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Others", + "text": "Madhara mengineyo", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Not_applicable", + "text": "Si husika", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "problem" + ], + "required_status": "yes:Madhara/maudhi yatokanayo na njia za uzazi wa mpango ni lazima", + "subjects": "fp_method_accepted_referral:map" + }, + { + "name": "side_effects_implant", + "type": "multi_choice_checkbox", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango" + }, + "options": [ + { + "name": "Insertion_site_infected_pus_discharge", + "text": "Kutokwa usaha sehemu alipowekewa kipandikizi", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Insertion_site_swollen", + "text": "Imevimba sehemu alipowekewa kipandikizi", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Implant_expulsion", + "text": "Kipandikizi kimetoka", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "144458AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Heavy_bleeding", + "text": "Kutokwa damu nyingi wakati wa hedhi", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Others", + "text": "Madhara mengineyo", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Not_applicable", + "text": "Si husika", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "problem" + ], + "required_status": "yes:Madhara/maudhi yatokanayo na njia za uzazi wa mpango ni lazima", + "subjects": "fp_method_accepted_referral:map" + }, + { + "name": "side_effects_inject_pills", + "type": "multi_choice_checkbox", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango" + }, + "options": [ + { + "name": "Heavy_bleeding_", + "text": "Kutokwa damu nyingi wakati wa hedhi", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Irregular_periods", + "text": "Kutopangiliwa kwa mzunguko wa hedhi", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Others", + "text": "Madhara mengineyo", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Not_applicable", + "text": "Si husika", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "problem" + ], + "required_status": "yes:Madhara/maudhi yatokanayo na njia za uzazi wa mpango ni lazima", + "subjects": "fp_method_accepted_referral:map" + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Madhara mengineyo" + }, + "required_status": "yes:Tafadhali andika madhara mengineyo", + "dependent_calculations": [ + "problem" + ], + "subjects": "side_effects_sterilization:map, side_effects_iucd:map, side_effects_implant:map, side_effects_inject_pills:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua kituo cha rufaa", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Tafadhali taja kituo cha rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tafadhali chagua tarehe ya hudhurio", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali taja tarehe ya hudhurio" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json new file mode 100644 index 0000000000..495d84b2bb --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json @@ -0,0 +1,190 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/gbv_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Rufaa kwenda kwenye huduma ya kuzuia ukatili wa kijinsia (dawati la jinsia)", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua tatizo/hali aliyonayo mteja." + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "has_moved_out_from_home", + "text": "Amehama nyumbani", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "has_moved_out_from_home", + "openmrs_entity_parent": "" + } + }, + { + "name": "ulcers_and_scars", + "text": "Vidonda na makovu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "ulcers_and_scars", + "openmrs_entity_parent": "" + } + }, + { + "name": "is_weak", + "text": "Amedhoofika", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "is_weak", + "openmrs_entity_parent": "" + } + }, + { + "name": "needs_more_services", + "text": "Anahitaji huduma zaidi", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "needs_more_services", + "openmrs_entity_parent": "" + } + },{ + "name": "has_great_level_of_stress_and_fear", + "text": "Sonona (msongo wa mawazo)/ kuwa na woga mkuu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "has_great_level_of_stress_and_fear", + "openmrs_entity_parent": "" + } + },{ + "name": "threatened_to_be_killed", + "text": "Kutishiwa kuuawa", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "threatened_to_be_killed", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Dalili nyingine", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali bainisha tatizo/hali ya mteja", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Dalili nyingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Tafadhali jaza dalili nyingine", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua Kituo cha rufaa", + "searchable": "Chagua Kituo cha rufaa" + }, + "options": [], + "required_status": "yes:Tafadhali chagua Kituo cha rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tarehe ya miadi", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali chagua tarehe ya miadi" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json new file mode 100644 index 0000000000..56f95df328 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json @@ -0,0 +1,223 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Rufaa kwenda Kliniki ya Tiba na matunzo (CTC)", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua tatizo au hali inayoendana na mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "pain", + "text": "Maumivu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "Kukohoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Dalili nyingine", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali bainisha tatizo la mteja", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Jaza dalili nyingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Tafadhali bainisha dalili nyingine", + "subjects": "problem:map" + }, + { + "name": "service_before_referral", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matibabu yaliyotolewa kabla ya rufaa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "service_before_referral", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_treatment", + "text": "Matibabu mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other_treatment", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hapana", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali bainisha matibabu yaliyotolewa kabla ya rufaa" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Jaza matibabu mengine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "service_before_referral_other", + "openmrs_entity_parent": "service_before_referral" + }, + "required_status": "true:Tafadhali bainisha matibabu mengine", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua kituo cha rufaa", + "searchable": "Chagua kituo cha rufaa" + }, + "options": [], + "required_status": "yes:Tafadhali chagua kituo cha rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tafadhali chagua tarehe ya miadi", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali chagua tarehe ya miadi" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json new file mode 100644 index 0000000000..52bb7afe66 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json @@ -0,0 +1,174 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya Rufaa Kwa Ajili ya Huduma ya Upimaji wa VVU", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua tatizo au hali inayoendana na mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "frequent_fever", + "text": "Homa za mara kwa mara", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "frequent_fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "weight_loss", + "text": "Kupoteza uzito", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "weight_loss", + "openmrs_entity_parent": "" + } + }, + { + "name": "living_with_a_spouse_with_hiv", + "text": "Anaishi na mwenza mwenye VVU", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "living_with_a_spouse_with_hiv", + "openmrs_entity_parent": "" + } + }, + { + "name": "living_in_a_risky_area", + "text": "Maeneo hatarishi kwa maambukizi ya VVU", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "living_in_a_risky_area", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Dalili nyingine", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua dalili nyingine", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Dalili nyingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Tafadhali chagua dalili nyingine", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua Kituo cha rufaa", + "searchable": "Chagua Kituo cha rufaa" + }, + "options": [], + "required_status": "yes:Tafadhali chagua Kituo cha rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tafadhali chagua tarehe ya miadi", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali chagua tarehe ya miadi" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/malaria_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/malaria_referral_form.json new file mode 100644 index 0000000000..73d69c02ae --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/malaria_referral_form.json @@ -0,0 +1,396 @@ +{ + "form": "Malaria Referral", + "encounter_type": "Malaria Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Malaria Referral", + "fields": [ + { + "name": "problem", + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "type": "multi_choice_checkbox", + "properties": { + "text": "Maelezo ya tatizo la mgonjwa" + }, + "options": [ + { + "name": "Fever", + "text": "Homa", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Diarrhea", + "text": "Kuharisha", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Vomiting", + "text": "Kutapika", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Nausea", + "text": "Kichefuchefu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Trembling", + "text": "Kutetemeka", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "A_severe_headache_dizziness", + "text": "Maumivu makali ya kichwa / kizunguzungu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Sweating", + "text": "Kutoka jasho", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "140941AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_abdominal_pain", + "text": "Maumivu makali ya tumbo", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Muscle_pain", + "text": "Maumivu ya misuli", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "133632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Sweling_of_the_face_and_or_hands", + "text": "Kuvimba uso na / au mikono", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "163894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Difficult_in_breathing_fast_and_laboured_breathing", + "text": "Kushindwa kupumua", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Convulsions", + "text": "Degedege/ Mtukutiko wa mwili", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Very_weak", + "text": "Kulegea", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5226AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Irritable_easily_disturbed", + "text": "Kukereka kirahisi", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "118296AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Unconcious", + "text": "Kukosa fahamu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "123818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Unusually_sleepy", + "text": "Kulala kusiko kwa kawaida", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "117417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Neck_stiffness", + "text": "Shingo kukakamaa", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Unable_to_sit_without_support", + "text": "Kushindwa kukaa bila msaada", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "123833AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Abnormal_bleeding_or_passing_of_urine_with_blood", + "text": "Kutokwa na damu au mkojo wenye damu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_anaemia_pale_palms_and_inner_eyelids", + "text": "Upungufu mkubwa wa damu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Yellowing_of_the_eyes_jaundice", + "text": "Macho kuwa ya njano", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_malnutrition", + "text": "Utapiamlo mkali", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "163302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Bloating", + "text": "Tumbo kujaa", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali taja tatizo la mgonjwa", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "service_before_referral", + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "service_before_referral" + }, + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma aliyopewa kabla ya rufaa" + }, + "options": [ + { + "name": "Rectal_artesunate", + "text": "Rectal artesunate", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "71561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Panadol", + "text": "Panadol", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "ORS", + "text": "ORS", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_treatment", + "text": "Matibabu mengine", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali taja huduma aliyopewa kabla ya rufaa" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Matibabu mengine" + }, + "required_status": "true:Tafadhali taja matibabu mengine", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua kituo cha rufaa", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Tafadhali chagua kituo cha Afya cha kutuma rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tarehe ya kuhudhuria hospitali", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_fp_referral_form.json new file mode 100644 index 0000000000..dbbabe6afa --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_fp_referral_form.json @@ -0,0 +1,253 @@ +{ + "form": "Family Planning Referral", + "encounter_type": "Family Planning Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/family_planning_referral_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Family Planning Referral", + "fields": [ + { + "name": "fp_method_accepted_referral", + "type": "radio_group", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Njia ya uzazi wa mpango aliyochagua na anaohitaji rufaa" + }, + "options": [ + { + "name": "Male_condom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Kondomu ya kiume" + }, + { + "name": "Female_condom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Kondomu ya kike" + }, + { + "name": "Male_sterilization", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Kufunga kizazi mwanaume" + }, + { + "name": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Hakuna" + }, + { + "name": "Not_applicable", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Si husika" + } + ], + "required_status": "yes:Tafadhali chagua njia ya uzazi wa mpango", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "side_effects_sterilization", + "type": "multi_choice_checkbox", + "meta_data": { + "openmrs_entity": "side_effects_sterilization", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango" + }, + "options": [ + { + "name": "Incisional_bleeding", + "text": "Kutokwa damu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Pus_Discharge_from_incision", + "text": "Kutokwa usaha", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Swollen_around_the_incision", + "text": "Kuvimba kwenye kidonda", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Others", + "text": "Madhara mengineyo", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "Hakuna", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "is_exclusive": true + }, + { + "name": "Not_applicable", + "text": "Si husika", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "problem" + ], + "required_status": "yes:Madhara/maudhi yatokanayo na njia za uzazi wa mpango ni lazima", + "subjects": "fp_method_accepted_referral:map" + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Madhara mengineyo" + }, + "required_status": "yes:Tafadhali andika madhara mengineyo", + "dependent_calculations": [ + "problem" + ], + "subjects": "side_effects_sterilization:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua kituo cha rufaa", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Tafadhali taja kituo cha rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tafadhali chagua tarehe ya hudhurio", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali taja tarehe ya hudhurio" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json new file mode 100644 index 0000000000..fa562fc126 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json @@ -0,0 +1,527 @@ +{ + "form": "PNC Referral", + "encounter_type": "PNC Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Rufaa kwa mama na mtoto baada ya kujifungua", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Tatizo / hali ya afya ya mteja." + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "Vaginal_bleeding", + "text": "Kutoka damu ukenig", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Discoloured_or_watery_liquid_vaginal_discharge", + "text": "Kutoka uchafu / majimaji ukeni yenye harufu mbaya", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_abdominal_pain", + "text": "Maumivu makali ya tumbon", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_anaemia", + "text": "Upungufu mkubwa wa damu (weupe wa kiganja)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Convulsions", + "text": "Degedege / mtukutiko wa mwili", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "A_severe_headache_dizziness", + "text": "Maumivu makali ya kichwa / kizunguzungu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Swelling_of_the_face_and_or_hands", + "text": "Kuvimba uso na / au mikono", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fever", + "text": "Homa", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Shivering_trembling", + "text": "Kutetemeka", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Nausea", + "text": "Kichefuchefu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Vomiting", + "text": "Kutapika", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Cord_prolapse", + "text": "Kutangulia kitovu cha mtoto", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "113617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Perineum_bleeding", + "text": "Kuchanika msamba", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fullness_or_pain_of_the_breasts", + "text": "Kujaa au maumivu ya matiti, chuchu, na kushindwa kunyonyesha", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "HIV_care_and_support_services", + "text": "Huduma za wateja / wagonjwa wanaoishi na VVU", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Family_planning_services", + "text": "Huduma za uzazi wa mpango", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "PMTCT_for_mothers", + "text": "Huduma ya kuzuia maambukizi ya VVU toka kwa mama kwenda kwa mtoto", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fistula", + "text": "Fistula", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fast_breathing_and_difficulty_with_breathing", + "text": "Kushindwa kupumua", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Umbilical_cord", + "text": "Kutoka damu kwenye kitovu cha mtoto", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Excessive_crying", + "text": "Mtoto kulia sana", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Unable_to_breastfeed_or_swallow", + "text": "Kushindwa kunyonya au kumeza", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Neck_stiffness", + "text": "Shingo kukakamaa", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Bloating", + "text": "Tumbo kujaa", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Redness_around_the_umbilical_cord_foul", + "text": "Uambukizo kwenye kitovu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Bacterial_conjunctivitis", + "text": "Macho kutoa uchafu / usaa", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Pale_or_jaundiced", + "text": "Mwili kuwa njano", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Cyanosis_blueness_of_lips", + "text": "Kubadilika kwa sababu ya kukosa hewa(midomo kuwa bluu,ulimi au viganja)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Skin_rash_pustules", + "text": "Vipele mwilini", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Diarrhea", + "text": "Kuharisha", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Disabilities", + "text": "Kuzaliwa na ulemavu", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Premature_baby", + "text": "Mtoto aliyezaliwa na Uzito pungufu/ njiti", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Failure_to_pass_urine_or_stool", + "text": "Kushindwa kukojoa au kutopata haja kubwa kwa muda wa saa 24 baada ya kuzaliwa", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "Care_of_HIV_exposed_infant", + "text": "Huduma za kumsaidia mtoto aliyezaliwa na mama mwenye VVU", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Immunisation", + "text": "Huduma za chanjo", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Dalili nyingine", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali taja hali ya mteja / shida", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "properties": { + "hint": "Dalili nyingine", + "type": "name" + }, + "required_status": "true:Tafadhali jaza dalili nyingine", + "subjects": "problem:map" + }, + { + "name": "service_before_referral", + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma aliyopewa kabla ya rufaa." + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "ORS", + "text": "ORS", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Panadol", + "text": "Panadol", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_treatment", + "text": "Matibabu mengine", + "meta_data": { + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "Hajapata matibabu", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "True:Huduma aliyopewa kabla ya rufaa ni lazima", + "subjects": "service_before_referral:map" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "properties": { + "hint": "Matibabu mengine", + "type": "name" + }, + "required_status": "true:Tafadhali taja matibabu mengine", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua Kituo cha Afya", + "searchable": "Chagua Kituo cha Afya" + }, + "options": [ + { + "name": "none", + "text": "Chagua Kituo cha Afya" + } + ], + "required_status": "yes:Tafadhali chagua kituo cha Afya cha kutuma rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tarehe ya kuhudhuria hospitali", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json new file mode 100644 index 0000000000..a58a088f05 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json @@ -0,0 +1,221 @@ +{ + "form": "Pregnancy Confirmation Referral", + "encounter_type": "Pregnancy Confirmation Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/pregnancy_confirmation_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Rufaa kwa ajili ya kuhakiki uja-uzito", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Chagua tatizo/hali aliyonayo mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "loss_of_menstrual_period", + "text": "Amepoteza siku zake za hedhi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_menstrual_period", + "openmrs_entity_parent": "" + } + }, + { + "name": "vomiting", + "text": "Anatapika", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "vomiting", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Homa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "severe_headache", + "text": "Maumivu makali ya kichwa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "severe_headache", + "openmrs_entity_parent": "" + } + }, + { + "name": "nausea", + "text": "Kichefuchefu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nausea", + "openmrs_entity_parent": "" + } + }, + { + "name": "feeling_lightheaded_or_dizzy", + "text": "Kizunguzungu", + "meta_data": { + "openmrs_entity": "conceptc", + "openmrs_entity_id": "feeling_lightheaded_or_dizzy", + "openmrs_entity_parent": "" + } + }, + { + "name": "frequent_urination", + "text": "Kukojoa mara kwa mara", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "frequent_urination", + "openmrs_entity_parent": "" + } + }, + { + "name": "painful_breasts", + "text": "Maumivu ya matiti", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "painful_breasts", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_symptoms", + "text": "Dalili nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_symptoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali bainisha sababu za rufaa ya kufanya uhakiki wa uja-uzito", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status", + "service_before_referral" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "properties": { + "hint": "Dalili nyingine", + "type": "name" + }, + "required_status": "true:Tafadhali bainisha dalili nyingine", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua kituo cha rufaa", + "searchable": "Chagua kituo cha rufaa" + }, + "options": [], + "required_status": "yes:Tafadhali chagua kituo cha rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Chagua tarehe ya miadi", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali chagua tarehe ya miadi" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/referral_form.json new file mode 100644 index 0000000000..06f27fd094 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/referral_form.json @@ -0,0 +1,187 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Referral form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Tatizo / hali ya afya ya mteja." + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "Other_symptom", + "text": "Dalili nyingine", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali taja hali ya mteja / shida", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Dalili nyingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "required_status": "true:Tafadhali jaza dalili nyingine", + "subjects": "problem:map" + }, + { + "name": "service_before_referral", + "type": "multi_choice_checkbox", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Huduma aliyopewa kabla ya rufaa." + }, + "options": [ + { + "name": "Other_treatment", + "text": "Matibabu mengine", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hajapewa matibabu yoyote", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "True:Huduma aliyopewa kabla ya rufaa ni lazima" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matibabu mengine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "required_status": "true:Tafadhali taja matibabu mengine", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua Kituo cha Afya", + "searchable": "Chagua Kituo cha Afya" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tarehe ya kuhudhuria hospitali", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/tb_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/tb_referral_form.json new file mode 100644 index 0000000000..c2930f66a8 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/tb_referral_form.json @@ -0,0 +1,217 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Refaa ya Kliniki ya kutibu kifua kikuu", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Tatizo / hali ya afya ya mteja." + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "history_of_coughing_for_more_than_two_weeks", + "text": "Kukohoa kwa Zaidi ya wiki mbili (kwa watu wasio na VVU)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "history_of_coughing_for_more_than_two_weeks", + "openmrs_entity_parent": "" + } + }, + { + "name": "persistent_coughing_hiv_positive", + "text": "Kikohozi cha muda wowote (Kwa wagonjwa wa VVU)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "persistent_coughing_hiv_positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Homa", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "night_sweats", + "text": "Kutoka jasho jingi wakati amelala", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "night_sweats", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Dalili nyingine", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali taja hali ya mteja / shida" + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Dalili nyingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "required_status": "true:Tafadhali jaza dalili nyingine", + "subjects": "problem:map" + }, + { + "name": "service_before_referral", + "type": "multi_choice_checkbox", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Huduma aliyopewa kabla ya rufaa." + }, + "options": [ + { + "name": "Other_treatment", + "text": "Matibabu mengine", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hajapewa matibabu yoyote", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "True:Huduma aliyopewa kabla ya rufaa ni lazima" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matibabu mengine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "required_status": "true:Tafadhali taja matibabu mengine", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua Kituo cha Afya", + "searchable": "Chagua Kituo cha Afya" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tarehe ya kuhudhuria hospitali", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/routine_home_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/routine_home_visit.json new file mode 100644 index 0000000000..1e52b77a8b --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/routine_home_visit.json @@ -0,0 +1,185 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "1", + "encounter_type": "Counseling", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Counselling", + "fields": [ + { + "key": "counselling_1m5yrs", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling", + "type": "check_box", + "label": "Ushauri uliyotolewa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_maternal_nutrition", + "text": "Lishe ya mama wakati wa kunyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_hiv_aids", + "text": "Taarifa za jumla za VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_pmtc_for_mother", + "text": "PMTCT kwa mama", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_malaria_prevention", + "text": "Kinga dhidi ya malaria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_hiv_exposed_infant", + "text": "Ufuatiliaji wa mtoto aliyeambukizwa VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_breast_feeding", + "text": "Kunyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_birth_registration", + "text": "Usajili wa kuzaliwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_complementary_feeding", + "text": "Lishe ya ziada", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_growth_and_dev", + "text": "Ukuaji na maendeleo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_immunization", + "text": "Upataji wa chanjo ya kinga", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_newborn_danger", + "text": "Ishara za hatari kwa watoto wachanga", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_infection", + "text": "Kuzuia na kudhibiti maambukizi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_prevention_of_accidents", + "text": "Kuzuia ajali", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_gender_issues", + "text": "Masuala ya jinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": true, + "err": "Tafadhali taja dalili zozote zile au chagua Hakuna" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/stock_usage_report.json b/opensrp-chw/src/nacp/assets/json.form-sw/stock_usage_report.json new file mode 100644 index 0000000000..f12804ba0e --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/stock_usage_report.json @@ -0,0 +1,99 @@ +{ + "count": "1", + "encounter_type": "Stock Usage Report", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Ripoti ya Hisa", + "fields": [ + { + "key": "stock_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "stock_name", + "type": "edit_text", + "hint": "Jina la Hisa", + "value": "" + }, + { + "key": "stock_year", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "stock_year", + "type": "edit_text", + "hint": "Mwaka wa Hisa", + "value": "" + }, + { + "key": "stock_month", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "stock_month", + "type": "edit_text", + "hint": "Mwezi wa Hisa", + "value": "" + }, + { + "key": "stock_usage", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "stock_usage", + "type": "edit_text", + "hint": "Matumizi ya Hisa", + "value": "" + }, + { + "key": "stock_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "stock_provider", + "type": "edit_text", + "hint": "Mtoaji wa Hisa", + "value": "" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/tb_case_closure.json b/opensrp-chw/src/nacp/assets/json.form-sw/tb_case_closure.json new file mode 100644 index 0000000000..9384561eb2 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/tb_case_closure.json @@ -0,0 +1,141 @@ +{ + "form": "TB Case Closure form", + "count": "1", + "encounter_type": "TB Case Closure", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_case_closure_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fuzu huduma za TB", + "fields": [ + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya mteja wakati wakumtembelea" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Anaweza kufanya shughuli zake za kila siku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Hajimudu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya mteja wakati wa kumtembelea", + "dependent_calculations": [ + "tb_case_closure_date" + ] + }, + { + "name": "completed_medication_as_required", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_medication_as_required", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Mteja ametumia dawa kwa usahihi" + }, + "options": [ + { + "name": "yes", + "text": "Ndio", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "yes", + "openmrs_entity_parent": "" + } + }, + { + "name": "no", + "text": "Hapana", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jibu swali hili" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/tb_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/tb_community_followup_feedback.json new file mode 100644 index 0000000000..3b09543ff8 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/tb_community_followup_feedback.json @@ -0,0 +1,144 @@ +{ + "form": "TB Community Followup Feedback", + "count": "1", + "encounter_type": "TB Community Followup Feedback", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_community_followup_feedback_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya mrejesho wa ufwatiliaji wa mteja wenye Kifua Kikuu", + "fields": [ + { + "name": "followup_status", + "type": "spinner", + "properties": { + "text": "Followup Feedback" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma akitokea mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the followup feedback", + "dependent_calculations": [ + "tb_community_followup_visit_date" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/tb_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/tb_followup_visit.json new file mode 100644 index 0000000000..2cca8cd092 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/tb_followup_visit.json @@ -0,0 +1,458 @@ +{ + "form": "TB Followup form", + "count": "1", + "encounter_type": "TB Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya kumtembelea mgonjwa wa TB", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Hali ya usajili/ ufuatiliaji" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "Mpya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma akitokea mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Amefuzu huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya usajili/ ufuatiliaji", + "dependent_calculations": [ + "tb_followup_visit_date" + ] + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya mteja" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Anaweza kufanya shughuli zake za kila siku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Hajimudu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "other_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kijamii/kitabibu ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "Tafadhali jaza matatizo mengine", + "subjects": "problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Tabia na mazingira hatarishi ya mteja" + }, + "options": [ + { + "name": "na", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Mlevi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "vulnerable_environment", + "text": "Anaishi kwenye mazingira hatarishi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "vulnerable_environment", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_positive", + "text": "Anamambukizi ya VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_positive", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza tabia na mazingira hatarishi ya mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Vifaa na dawa zilizotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "other_medicine", + "text": "Vifaa na dawa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna kilichotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza vifaa na dawa zilizotolewa", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Vifaa na dawa nyingine vilivyotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Tafadhali jaza vifaa na dawa nyingine", + "subjects": "supplies_provided:map" + }, + { + "name": "tb_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma zilizotolewa (Huduma za TB/DR-TB katika Jamii ikiwemo TB/DR-TB) " + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "other_services", + "text": "Huduma nyingnie za TB katika jamii", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_tb_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna huduma iliyotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please TB services provided", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "tb_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Huduma nyingnie za TB katika jamii zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_services_provided_other", + "openmrs_entity_parent": "tb_services_provided" + }, + "required_status": "true:Tafadhali jaza huduma nyingnie za TB katika jamii zilizotolewa", + "subjects": "tb_services_provided:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "Hali ya Tiba na Matunzo (TB/DR-TB)" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Ameandikishwa TB klinik lakini hajaanza TB/ DR TB", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Ameandikishwa TB klinik na anatumia TB/ DR TB", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_tb_clinic", + "text": "Hajaandikishwa TB klinik", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_tb_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "na", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo ", + "subjects": "registration_or_followup_status:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/tb_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/tb_registration.json new file mode 100644 index 0000000000..2376bfbc58 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/tb_registration.json @@ -0,0 +1,339 @@ +{ + "form": "TB Registration form", + "count": "1", + "encounter_type": "TB Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Usajili wa wateja wa TB", + "fields": [ + { + "name": "community_client_tb_registration_number", + "type": "text_input_edit_text", + "properties": { + "hint": "Namba ya Kliniki ya TB" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community_client_tb_registration_number", + "openmrs_entity_parent": "" + }, + "required_status": "no" + }, + { + "name": "client_tb_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizo ya TB wakati wa kuandikishwa" + }, + "options": [ + { + "name": "unknown", + "text": "Haijulikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Ana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya maambukizo ya TB wakati wa kuandikishwa", + "dependent_calculations": [ + "tb_registration_date" + ] + }, + { + "name": "place_of_domicile", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "place_of_domicile", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Mahali alipotokea mteja/alipohojiwa" + }, + "options": [ + { + "name": "a_family_with_tb_patient", + "text": "Familia yenye mgonjwa wa TB (Andika namba ya wilaya ya mgonjwa wa TB)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "a_family_with_tb_patient", + "openmrs_entity_parent": "" + } + }, + { + "name": "a_family_without_tb_patient", + "text": "Familia isiyo na mgonjwa wa TB/DR-TB", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "a_family_without_tb_patient", + "openmrs_entity_parent": "" + } + }, + { + "name": "community_gathering", + "text": "Mkusanyiko wa watu/sehemu nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community_gathering", + "openmrs_entity_parent": "" + } + }, + { + "name": "pharmacy", + "text": "Duka la dawa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pharmacy", + "openmrs_entity_parent": "" + } + }, + { + "name": "traditional_doctors", + "text": "Mganga wa jadi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "traditional_doctors", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza mahali alipotokea mteja/alipohojiwa" + }, + { + "name": "district_council_number_of_current_tb_client", + "type": "text_input_edit_text", + "properties": { + "hint": "Jaza namba ya wilaya ya mgonjwa wa TB" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "district_council_number_of_current_tb_client", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali jaza jaza namba ya wilaya ya mgonjwa wa TB", + "subjects": "place_of_domicile:text" + }, + { + "name": "community_gathering", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community_gathering", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Mkusanyiko wa watu/sehemu nyingine" + }, + "options": [ + { + "name": "school", + "text": "Shule", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "school", + "openmrs_entity_parent": "" + } + }, + { + "name": "worship_houses", + "text": "Nyumba za Ibada", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "worship_houses", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining", + "text": "Machimbo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining", + "openmrs_entity_parent": "" + } + }, + { + "name": "public_meetings", + "text": "Mikutano ya hadhara", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "public_meetings", + "openmrs_entity_parent": "" + } + }, + { + "name": "prison", + "text": "Magereza", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prison", + "openmrs_entity_parent": "" + } + }, + { + "name": "others", + "text": "Kwingineko", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "others", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza mkusanyiko wa watu/sehemu nyingine", + "subjects": "place_of_domicile:text" + }, + { + "name": "other_community_gathering", + "type": "text_input_edit_text", + "properties": { + "hint": "Taja kwingineko" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_community_gathering", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali jaza kwingineko", + "subjects": "community_gathering:text" + }, + { + "name": "client_screening_results", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_screening_results", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Matokeo ya mahojiano (*Dalili alizonazo)" + }, + "options": [ + { + "name": "coughing", + "text": "Kikihozi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "hemoptysis", + "text": "Makohozi yaliyochanganyika na Damu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hemoptysis", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Homa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "weight_lose", + "text": "Kupungua uzito", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "weight_lose", + "openmrs_entity_parent": "" + } + }, + { + "name": "night_sweats", + "text": "Kutokwa jasho jingi kuliko kawaida hasa nyakati za usiku", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "night_sweats", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza matokeo ya mahojiano (*Dalili alizonazo)" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json new file mode 100644 index 0000000000..def1a165ab --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -0,0 +1,1567 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "2", + "encounter_type": "Family Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Location details", + "next": "step2", + "fields": [ + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Surname", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the surname" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter surname" + } + }, + { + "key": "client_first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + } + }, + { + "key": "client_middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Middle name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the middle name" + } + }, + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "hidden": "true", + "type": "edit_text", + "barcode_type": "qrcode", + "hint": "ID", + "scanButtonText": "Scan QR Code", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + } + }, + { + "key": "fam_village", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "type": "edit_text", + "edit_type": "name", + "hint": "Area name", + "v_required": { + "value": "true", + "err": "Please enter the area name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid area name" + } + }, + { + "key": "landmark", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "landmark", + "type": "edit_text", + "edit_type": "name", + "hint": "Landmark/Description of house location", + "v_required": { + "value": true, + "err": "Please enter the landmark/description of location." + } + }, + { + "key": "gps", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gps", + "openmrs_data_type": "text", + "type": "gps" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "15dp" + }, + { + "key": "nearest_facility", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nearest_facility", + "openmrs_data_type": "text", + "type": "tree", + "hint": "Village/Street", + "tree": [], + "v_required": { + "value": true, + "err": "Please select the village or street" + } + } + ] + }, + "step2": { + "title": "Client details", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": true, + "hint": "WAJA ID", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + }, + "v_required": { + "value": "true", + "err": "Please enter the UNIQUE ID" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "last_name", + "type": "edit_text", + "hint": "Surname", + "edit_type": "name", + "read_only": true, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the surname" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Middle name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the middle name" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Date of birth (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter the date of birth" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "DOB unknown?", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step2:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Age", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Please enter a valid age" + }, + "v_numeric": { + "value": "true", + "err": "Please enter a valid age" + }, + "v_min": { + "value": "0", + "err": "Age must be equal or greater than 0" + }, + "v_max": { + "value": "120", + "err": "Age must be equal or less than 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Please enter the age" + } + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Client's Marital Status?", + "values": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "edit_text", + "hint": "Client phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Do you have any of the following IDs?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "National ID", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Voter's registration ID", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Driver's license", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_passport", + "text": "Passport", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_passport" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", + "hint": "National ID number e.g 12345678-91234-56789-12", + "edit_type": "number", + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Please enter a valid national ID number" + }, + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" + }, + "v_required": { + "value": true, + "err": "Please enter a valid national ID" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", + "hint": "Voter's registration number e.g T-1234-5678-912-3", + "edit_type": "number", + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Please enter a valid voter's registration number" + }, + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" + }, + "v_required": { + "value": true, + "err": "Please enter a valid voters registration number" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", + "hint": "Driver's license number e.g 1234567891", + "edit_type": "number", + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid driver's license number" + }, + "v_regex": { + "value": "^([0-9]{10})", + "err": "Driver's license number should be of the format (XXXXXXXXXX)" + }, + "v_required": { + "value": true, + "err": "Please enter a valid driver's license number" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "passport", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Passport_Number", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", + "hint": "Passport number e.g TAE-123456", + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid passport number" + }, + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Passport Number should be in the format (TAE-XXXXXX)" + }, + "v_required": { + "value": true, + "err": "Please enter a valid passport number" + }, + "edit_type": "number", + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_passport" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Health insurance provider", + "values": [ + "Community Health Fund (CHF)/(iCHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Please enter the insurance provider" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Other health insurance provider", + "v_required": { + "value": "true", + "err": "Please specify the insurance provider" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Health insurance provider number", + "v_required": { + "value": "true", + "err": "Please add the health insurance provider iD Number" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_1yr", + "type": "spinner", + "hint": "Has the woman delivered in the last 1 year?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select if the woman has delivered in the last 1 year" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Physical disabilities", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Type of physical disabilities", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Mobility and Physical Impairments", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Spinal Cord Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Head Injuries - Brain Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Vision Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Hearing Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Cognitive or Learning Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Psychological Disorders", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Invisible Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "v_required": { + "value": "true", + "err": "Please enter type of disability" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "has_primary_caregiver", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Has_Primary_Caregiver", + "type": "spinner", + "hint": " Do you have a primary caregiver/Treatment supporter?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "primary_caregiver_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Primary_Caregiver_Name", + "type": "edit_text", + "hint": "Name of caregiver", + "v_required": { + "value": "true", + "err": "Please specify the name of the caregiver." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Primary caregiver phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider", + "type": "check_box", + "label": "Occupation of the Client", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_farmer", + "text": "Farmer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_cs", + "text": "Civil Servant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cs" + }, + { + "key": "chk_nurse", + "text": "Nurse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nurse" + }, + { + "key": "chk_teacher", + "text": "Teacher", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_teacher" + }, + { + "key": "chk_th", + "text": "Traditional Healer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_th" + }, + { + "key": "chk_chw", + "text": "Community Health Worker (CHW)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chw" + }, + { + "key": "chk_tba", + "text": "Traditional Birth Attendant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_tba" + }, + { + "key": "chk_chmis", + "text": "Community HMIS (cHMIS)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chmis" + }, + { + "key": "chk_cbd", + "text": "Community Based Distributor", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cbd" + }, + { + "key": "chk_hbc", + "text": "Home Based Care (HBC)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hbc" + }, + { + "key": "chk_cimmci", + "text": "Community IMCI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cimmci" + }, + { + "key": "chk_other", + "text": "Other", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Mention other Occupation", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify the occupation" + }, + "relevance": { + "step2:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Any leadership role in the community?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Religious leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Traditional leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Political leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Influential leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Other", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Mention other role in the community", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify role" + }, + "relevance": { + "step2:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "reasons_for_registration", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Registration_Reason", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_calculation.yml" + } + } + } + }, + { + "key": "reasons_for_registration_male_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_15", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "homosexual", + "text": "Men who have sex with men", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_female_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_15", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sex_worker_woman", + "text": "Sex worker", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "pregnant_mother", + "text": "Pregnant mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "breastfeeding_mother", + "text": "Breastfeeding mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_under_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_under_15", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "A child with stagnation in weight", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "A child with frequent fevers", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Abused child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Child living in a risky environment", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json new file mode 100644 index 0000000000..54fc863863 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -0,0 +1,1413 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "1", + "encounter_type": "Family Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Client details", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": true, + "hint": "WAJA ID", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + }, + "v_required": { + "value": "true", + "err": "Please enter the UNIQUE ID" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Surname", + "edit_type": "name", + "read_only": true, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the surname" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Middle name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the middle name" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Date of birth (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-5y", + "v_required": { + "value": "true", + "err": "Please enter the date of birth" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "DOB unknown?", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Age", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Please enter a valid age" + }, + "v_numeric": { + "value": "true", + "err": "Please enter a valid age" + }, + "v_min": { + "value": "5", + "err": "Age must be equal or greater than 5" + }, + "v_max": { + "value": "120", + "err": "Age must be equal or less than 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Please enter the age" + } + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Client's Marital Status?", + "values": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "edit_text", + "hint": "Client phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Do you have any of the following IDs?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "National ID", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Voter's registration ID", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Driver's license", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_passport", + "text": "Passport", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_passport" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", + "hint": "National ID number e.g 12345678-91234-56789-12", + "edit_type": "number", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" + }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Please enter a valid national ID number" + }, + "v_required": { + "value": true, + "err": "Please enter a valid national ID" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", + "hint": "Voter's registration number e.g T-1234-5678-912-3", + "edit_type": "number", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" + }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Please enter a valid voter's registration number" + }, + "v_required": { + "value": true, + "err": "Please enter a valid voters registration number" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", + "hint": "Driver's license number e.g 1234567891", + "edit_type": "number", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Driver's license number should be of the format (XXXXXXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid driver's license number" + }, + "v_required": { + "value": true, + "err": "Please enter a valid driver's license number" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "passport", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Passport_Number", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", + "hint": "Passport number e.g TAE-123456", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Passport Number should be in the format (TAE-XXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid passport number" + }, + "v_required": { + "value": true, + "err": "Please enter a valid passport number" + }, + "edit_type": "number", + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_passport" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Health insurance provider", + "values": [ + "Community Health Fund (CHF)/(iCHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Please enter the insurance provider" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Other health insurance provider", + "v_required": { + "value": "true", + "err": "Please specify the insurance provider" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Health insurance provider number", + "v_required": { + "value": "true", + "err": "Please add the health insurance provider iD Number" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_1yr", + "type": "spinner", + "hint": "Has the woman delivered in the last 1 year?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select if the woman has delivered in the last 1 year" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Physical disabilities", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Type of physical disabilities", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Mobility and Physical Impairments", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Spinal Cord Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Head Injuries - Brain Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Vision Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Hearing Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Cognitive or Learning Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Psychological Disorders", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Invisible Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "v_required": { + "value": "true", + "err": "Please enter type of disability" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "has_primary_caregiver", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Has_Primary_Caregiver", + "type": "spinner", + "hint": " Do you have a primary caregiver/Treatment supporter?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "primary_caregiver_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Primary_Caregiver_Name", + "type": "edit_text", + "hint": "Name of caregiver", + "v_required": { + "value": "true", + "err": "Please specify the name of the caregiver." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Primary caregiver phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider", + "type": "check_box", + "label": "Occupation of the Client", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_farmer", + "text": "Farmer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_cs", + "text": "Civil Servant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cs" + }, + { + "key": "chk_nurse", + "text": "Nurse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nurse" + }, + { + "key": "chk_teacher", + "text": "Teacher", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_teacher" + }, + { + "key": "chk_th", + "text": "Traditional Healer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_th" + }, + { + "key": "chk_chw", + "text": "Community Health Worker (CHW)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chw" + }, + { + "key": "chk_tba", + "text": "Traditional Birth Attendant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_tba" + }, + { + "key": "chk_chmis", + "text": "Community HMIS (cHMIS)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chmis" + }, + { + "key": "chk_cbd", + "text": "Community Based Distributor", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cbd" + }, + { + "key": "chk_hbc", + "text": "Home Based Care (HBC)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hbc" + }, + { + "key": "chk_cimmci", + "text": "Community IMCI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cimmci" + }, + { + "key": "chk_other", + "text": "Other", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Mention other Occupation", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify the occupation" + }, + "relevance": { + "step1:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Any leadership role in the community?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Religious leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Traditional leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Political leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Influential leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Other", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Mention other role in the community", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify role" + }, + "relevance": { + "step1:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "reasons_for_registration", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Registration_Reason", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_calculation.yml" + } + } + } + }, + { + "key": "reasons_for_registration_male_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_15", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "homosexual", + "text": "Men who have sex with men", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_female_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_15", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sex_worker_woman", + "text": "Sex worker", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "pregnant_mother", + "text": "Pregnant mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "breastfeeding_mother", + "text": "Breastfeeding mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_under_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_under_15", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "A child with stagnation in weight", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "A child with frequent fevers", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Abused child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Child living in a risky environment", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json new file mode 100644 index 0000000000..99046d4865 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json @@ -0,0 +1,192 @@ +{ + "count": "1", + "encounter_type": "ANC Counselling", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Counselling", + "fields": [ + { + "key": "counselling_given", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling_given", + "type": "check_box", + "label": "Counselling provided to the mother and family members ", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_attended_anc_contacts", + "text": "1. Attend ANC clinic early", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_attended_anc_contacts" + }, + { + "key": "chk_anc_danger_signs", + "text": "2. Pregnancy danger signs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_anc_danger_signs" + }, + { + "key": "chk_maternal_nutrition", + "text": "3. Maternal nutrition during pregnancy and breast feeding", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_maternal_nutrition" + }, + { + "key": "chk_personal_delivery", + "text": "4. Personal delivery plan", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_personal_delivery" + }, + { + "key": "chk_hiv_aids", + "text": "5. HIV/AIDS general information", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hiv_aids" + }, + { + "key": "chk_pmtct_for_mother", + "text": "6. PMTCT for the mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_pmtct_for_mother" + }, + { + "key": "chk_preventing_malaria", + "text": "7. Preventing malaria for pregnant mothers", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_preventing_malaria" + }, + { + "key": "chk_physical_changes", + "text": "8. Physical changes for a mother after giving birth", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_physical_changes" + }, + { + "key": "chk_pnc_danger_signs", + "text": "9. PNC danger signs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_pnc_danger_signs" + }, + { + "key": "chk_care_of_infant", + "text": "10. Care of infant after birth", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_care_of_infant" + }, + { + "key": "chk_infant_danger_signs", + "text": "11. Infant danger signs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_infant_danger_signs" + }, + { + "key": "chk_hiv_exposed_infant", + "text": "12. Follow-up for the HIV-exposed infant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hiv_exposed_infant" + }, + { + "key": "chk_breastfeeding", + "text": "13. Breastfeeding", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_breastfeeding" + }, + { + "key": "chk_exclusive_breast_feeding ", + "text": "14. Plan for family planning using exclusive breast feeding for 6 months after birth", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_exclusive_breast_feeding" + }, + { + "key": "chk_family_planning", + "text": "15. Family planning", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_family_planning" + }, + { + "key": "chk_infection_prevention", + "text": "16. Infection prevention and control", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_infection_prevention" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json new file mode 100644 index 0000000000..086a5717f1 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json @@ -0,0 +1,238 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Danger signs", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Danger signs", + "fields": [ + { + "key": "danger_signs_present", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "danger_signs_present", + "type": "check_box", + "label": "Does the mother have any danger signs?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_fever", + "text": "Fever", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_fever" + }, + { + "key": "chk_bleeding_vaginally", + "text": "Bleeding vaginally", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_bleeding_vaginally" + }, + { + "key": "chk_server_headache", + "text": "Severe headache", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_server_headache" + }, + { + "key": "chk_blurred_vision", + "text": "Blurred vision", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_blurred_vision" + }, + { + "key": "chk_convulsions", + "text": "Convulsions", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_convulsions" + }, + { + "key": "chk_difficulty_breathing", + "text": "Difficulty breathing", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_difficulty_breathing" + }, + { + "key": "chk_severe_abdominal_pain", + "text": "Severe abdominal pain", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_severe_abdominal_pain" + }, + { + "key": "chk_loss_consciousness", + "text": "Loss of consciousness", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_loss_consciousness" + }, + { + "key": "chk_swelling", + "text": "Swelling of the face and/or hands", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_swelling" + }, + { + "key": "chk_early_labour", + "text": "Early labour pains before 9 months", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_early_labour" + }, + { + "key": "chk_vaginal_discharge", + "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_vaginal_discharge" + }, + { + "key": "chk_unusual_movement", + "text": "No movement / unusual movement for a child in the womb", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_unusual_movement" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + } + }, + { + "key": "danger_signs_present_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Danger sign! \nRefer immediately to health facility.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:danger_signs_present": { + "ex-checkbox": [ + { + "or": [ + "chk_fever", + "chk_bleeding_vaginally", + "chk_server_headache", + "chk_blurred_vision", + "chk_convulsions", + "chk_difficulty_breathing", + "chk_severe_abdominal_pain", + "chk_loss_consciousness", + "chk_swelling", + "chk_early_labour", + "chk_vaginal_discharge", + "chk_unusual_movement" + ] + } + ] + } + } + }, + { + "key": "danger_signs_counseling", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "danger_signs_counseling", + "openmrs_data_type": "select one", + "type": "spinner", + "label_info_title": "Did the mother receive counselling", + "label_info_text": "Did the mother receive counselling on danger signs at the health facility recently?", + "hint": "Did the mother receive counselling on danger signs at the health facility recently?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + }, + { + "key": "prompt_for_danger_signs", + "type": "toaster_notes", + "text": "Please provide the client counselling on ANC danger signs", + "openmrs_entity_id": "prompt_for_danger_signs", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "warning", + "relevance": { + "step1:danger_signs_counseling": { + "type": "String", + "ex": "equalTo(.,\"No\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_family_planning.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_family_planning.json new file mode 100644 index 0000000000..c064f0b369 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_family_planning.json @@ -0,0 +1,94 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Family Planning", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Family planning", + "fields": [ + { + "key": "fam_planning", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fam_planning", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Was the mother advised on family planning when you visited the health visit?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + }, + { + "key": "prompt_for_family_planning", + "type": "toaster_notes", + "text": "Please provide the client counselling on family planning", + "openmrs_entity_id": "prompt_for_family_planning", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "warning", + "relevance": { + "step1:fam_planning": { + "type": "String", + "ex": "equalTo(.,\"No\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_health_facility_visit.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_health_facility_visit.json new file mode 100644 index 0000000000..e94434a07d --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_health_facility_visit.json @@ -0,0 +1,175 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Facility Visit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "ANC {0} health facility visit", + "fields": [ + { + "key": "anc_hf_visit", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "anc_hf_visit", + "openmrs_data_type": "select one", + "label_info_title": "Did the woman attend her ANC {0} visit at the health facility?", + "label_info_text": "Did the woman attend her ANC visit at the health facility?", + "type": "spinner", + "hint": "Did the woman attend her ANC {0} visit at the health facility?\n\nVisit due date: {1}", + "values": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + }, + { + "key": "anc_hf_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "anc_hf_visit_date", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "ANC visit date", + "hint": "ANC visit date", + "expanded": false, + "min_date": "today-10y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Enter the facility visit date" + }, + "relevance": { + "step1:anc_hf_visit": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "reason_for_missed_visit", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reason_for_missed_visit", + "type": "spinner", + "hint": "Reason for missed facility visit", + "values": [ + "Fear to disclose her pregnancy", + "She forgot the appointment date", + "She did not have transport fare", + "She was not feeling well", + "Other" + ], + "keys": [ + "fear_to_disclose_her_pregnancy", + "she_forgot_the_appointment_date", + "she_did_not_have_transport_fare", + "she_was_not_feeling_well", + "other" + ], + "openmrs_choice_ids": { + "fear_to_disclose_her_pregnancy": "fear_to_disclose_her_pregnancy", + "she_forgot_the_appointment_date": "she_forgot_the_appointment_date", + "she_did_not_have_transport_fare": "she_did_not_have_transport_fare", + "she_was_not_feeling_well": "she_was_not_feeling_well", + "other": "other" + }, + "v_required": { + "value": "true", + "err": "Please select a reason" + }, + "relevance": { + "step1:anc_hf_visit": { + "type": "string", + "ex": "equalTo(., \"No\")" + } + } + }, + { + "key": "other_reason_missed_visit", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_missed_visit", + "type": "edit_text", + "hint": "Other reason for missed facility visit", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter other reason" + }, + "relevance": { + "step1:reason_for_missed_visit": { + "type": "string", + "ex": "equalTo(., \"other\")" + } + } + }, + { + "key": "anc_hf_next_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "anc_hf_next_visit_date", + "type": "spacer" + }, + { + "key": "confirmed_visits", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "confirmed_visits", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_malaria.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_malaria.json new file mode 100644 index 0000000000..b8132775b6 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_malaria.json @@ -0,0 +1,221 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Malaria", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Malaria prevention", + "fields": [ + { + "key": "fam_llin", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fam_llin", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Does the woman have a long lasting insecticide net (LLIN)?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + }, + { + "key": "llin_2days", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "llin_2days", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Did she sleep under the LLIN last night?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + }, + "relevance": { + "step1:fam_llin": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "llin_condition", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "llin_condition", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "LLIN condition", + "values": [ + "Good", + "Bad" + ], + "keys": [ + "Good", + "Bad" + ], + "openmrs_choice_ids": { + "Good": "Good", + "Bad": "Bad" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + }, + "relevance": { + "step1:fam_llin": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "malaria_sp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "malaria_sp", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Has the client taken malaria prevention dosage (SP)?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + }, + { + "key": "reason_for_missed_sp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reason_for_missed_sp", + "type": "spinner", + "hint": "Reason as to why the client is not taking the SP medication", + "values": [ + "Client was not given SP dosage", + "Client lost her medication", + "Client negligence", + "Other" + ], + "keys": [ + "client_was_not_given_sp_dosage", + "client_lost_her_medication", + "client_negligence", + "other" + ], + "openmrs_choice_ids": { + "client_was_not_given_sp_dosage": "client_was_not_given_sp_dosage", + "client_lost_her_medication": "client_lost_her_medication", + "client_negligence": "client_negligence", + "other": "other" + }, + "v_required": { + "value": "true", + "err": "Please select a reason" + }, + "relevance": { + "step1:malaria_sp": { + "type": "string", + "ex": "equalTo(., \"No\")" + } + } + }, + { + "key": "other_reason_missed_sp_dosage", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_missed_sp_dosage", + "type": "edit_text", + "hint": "Other reason for why the client is not taking the SP medication", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the reason" + }, + "relevance": { + "step1:reason_for_missed_sp": { + "type": "string", + "ex": "equalTo(., \"other\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_nutrition_status.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_nutrition_status.json new file mode 100644 index 0000000000..5e69f5da23 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_nutrition_status.json @@ -0,0 +1,82 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Nutrition Status", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Nutrition status", + "fields": [ + { + "key": "nutrition_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_status", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "What is the nutrition status of the mother?", + "values": [ + "Normal/Green", + "Moderate/Yellow", + "Severe/Red" + ], + "keys": [ + "Normal", + "Moderate", + "Severe" + ], + "openmrs_choice_ids": { + "Normal": "Normal", + "Moderate": "Moderate", + "Severe": "Severe" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json new file mode 100644 index 0000000000..b588f4fe80 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json @@ -0,0 +1,135 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Obs and Illness", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Observations & Illness", + "fields": [ + { + "key": "date_of_illness", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "date_of_illness", + "type": "date_picker", + "hint": "Date ", + "expanded": false, + "min_date": "today-1y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter the date of illness" + } + }, + { + "key": "illness_description", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "illness_description", + "type": "edit_text", + "hint": "Description", + "v_required": { + "value": "true", + "err": "Please enter the description" + } + }, + { + "key": "action_taken", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "action_taken", + "type": "check_box", + "label": "Action taken", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_ors", + "text": "ORS 5", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_ors" + }, + { + "key": "chk_zinc", + "text": "Zinc 10", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_zinc" + }, + { + "key": "chk_paracetamol", + "text": "Panadol", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_paracetamol" + }, + { + "key": "chk_referred", + "text": "Referred", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_referred" + }, + { + "key": "chk_none", + "text": "No treatment given", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Please select an option" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_pregnancy_risk_form.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_pregnancy_risk_form.json new file mode 100644 index 0000000000..fac30c092b --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_pregnancy_risk_form.json @@ -0,0 +1,97 @@ +{ + "count": "1", + "encounter_type": "Pregnancy risk", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Pregnancy risk", + "fields": [ + { + "key": "preg_risk", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_risk", + "type": "check_box", + "label": "Pregnancy risk for the woman ", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "saveObsAsArray": true, + "exclusive": [ + "Low", + "Medium", + "High" + ], + "options": [ + { + "key": "Low", + "text": "Low", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "Low" + }, + { + "key": "Medium", + "text": "Medium", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "Medium" + }, + { + "key": "High", + "text": "High", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "High" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_remarks_and_comments.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_remarks_and_comments.json new file mode 100644 index 0000000000..f899d29054 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_remarks_and_comments.json @@ -0,0 +1,66 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Remarks and comment", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Remarks/Comments", + "fields": [ + { + "key": "chw_comment_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_comment_anc", + "type": "edit_text", + "hint": "Remarks/Comments", + "v_required": { + "value": "false", + "err": "Please enter the your remarks/comments" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json new file mode 100644 index 0000000000..9ed91ace3f --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -0,0 +1,427 @@ +{ + "count": "1", + "encounter_type": "ANC Registration", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "ANC Registration", + "fields": [ + { + "key": "relational_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "relational_id", + "type": "hidden" + }, + { + "key": "last_menstrual_period", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_menstrual_period", + "type": "date_picker", + "hint": "Last Normal Menstrual Period (LNMP)", + "label_info_title": "LNMP", + "label_info_text": "LNMP = first day of Last Normal Menstrual Period. If the exact date is unknown, but the period of the month is known, use day 5 for beginning of the month, day 15 for middle of the month and day 25 for end of the month.", + "expanded": false, + "max_date": "today", + "min_date": "today-50w", + "v_required": { + "value": "true", + "err": "LMP required" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + } + }, + { + "key": "last_menstrual_period_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_menstrual_period_unknown", + "openmrs_data_type": "text", + "type": "check_box", + "options": [ + { + "key": "lmp_unknown", + "text": "LNMP unknown?", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "edd", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "edd", + "type": "date_picker", + "hint": "Expected Date of Delivery (EDD)", + "max_date": "today+50w", + "min_date": "today", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "gest_age_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Gestational Age (GA)", + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + } + }, + { + "key": "edd_note", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Expected Date of Delivery (EDD)", + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + } + }, + { + "key": "gest_age", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gest_age", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + } + }, + { + "key": "no_prev_preg", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_prev_preg", + "type": "edit_text", + "edit_type": "number", + "hint": "No. of previous pregnancies", + "v_required": { + "value": "true", + "err": "Equal or greater than 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_min": { + "value": "0", + "err": "Number must be equal or greater than 0" + } + }, + { + "key": "gravida", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gravida", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" + } + } + } + }, + { + "key": "delivery_method", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_method", + "type": "check_box", + "label": "Have you delivered your child(ren) vaginally or by cesarean section?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "options": [ + { + "key": "chk_vaginally", + "text": "Vaginally", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_vaginally" + }, + { + "key": "chk_cesarean_section", + "text": "Cesarean section", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cesarean_section" + }, + { + "key": "chk_miscarriage", + "text": "Miscarriage", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_miscarriage" + } + ], + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "delivery_method_one", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_method_one", + "type": "native_radio", + "label": "Have you delivered your child(ren) vaginally or by cesarean section?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "options": [ + { + "key": "chk_vaginally", + "text": "Vaginally", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_vaginally" + }, + { + "key": "chk_cesarean_section", + "text": "Cesarean section", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cesarean_section" + }, + { + "key": "chk_miscarriage", + "text": "Miscarriage", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_miscarriage" + } + ], + "v_required": { + "value": "true", + "err": "Please select all that apply" + } + }, + { + "key": "no_surv_children", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_surv_children", + "type": "edit_text", + "edit_type": "number", + "hint": "No. of surviving children", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_relative_max": { + "value": "no_prev_preg", + "err": "Number must be less than or equal to Number of Previous Pregnancies" + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "edit_text", + "hint": "Phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + }, + "v_required": { + "value": false + } + }, + { + "key": "person_assist", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "person_assist", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Does the mother have anyone, 18 years or older, who would be able to assist her during her pregnancy?", + "v_required": { + "value": "true", + "err": "Please select one option" + }, + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + } + }, + { + "key": "name_person_assist", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "name_person_assist", + "type": "edit_text", + "hint": "Name of close person/relative who lives with her and is 18 years or olders", + "edit_type": "name", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the person's name" + } + }, + { + "key": "phone_person_assist", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_person_assist", + "type": "edit_text", + "hint": "Phone number", + "v_required": { + "value": false + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } + }, + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json new file mode 100644 index 0000000000..5ddd5dc49c --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json @@ -0,0 +1,561 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "1", + "encounter_type": "Pregnancy Outcome", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Pregnancy Outcome", + "fields": [ + { + "key": "relational_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "relational_id", + "type": "hidden" + }, + { + "key": "preg_outcome", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_outcome", + "type": "native_radio", + "label": "Pregnancy outcome", + "label_text_style": "bold", + "text_color": "#000000", + "options": [ + { + "key": "born_alive", + "text": "Child was born alive", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "born_alive", + "openmrs_entity_parent": "" + }, + { + "key": "born_alive_died", + "text": "Child was born alive, but died", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "born_alive_died", + "openmrs_entity_parent": "" + }, + { + "key": "still_born", + "text": "Child was stillborn", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "still_born", + "openmrs_entity_parent": "" + }, + { + "key": "alive_with_problem", + "text": "Child was born alive, but they have a problem (i.e. disability, respiratory issues, etc.)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "alive_with_problem", + "openmrs_entity_parent": "" + }, + { + "key": "miscarriage", + "text": "Miscarriage", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "miscarriage", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Please select pregnancy outcome" + } + }, + { + "key": "miscarriage_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "miscarriage_date", + "type": "date_picker", + "hint": "Date of miscarriage", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter date the woman miscarried." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "delivery_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_date", + "type": "date_picker", + "hint": "Delivery date", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter date the woman delivered" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "no_children", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_children", + "type": "hidden" + }, + { + "key": "delivery_place", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_place", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "The place the mother gave birth", + "values": [ + "At home", + "At a health facility", + "On the way to the health facility", + "Other" + ], + "keys": [ + "At home", + "At a health facility", + "On the way to the health facility", + "Other" + ], + "openmrs_choice_ids": { + "At home": "At home", + "At a health facility": "At a health facility", + "On the way to the health facility": "On the way to the health facility", + "Other": "Other" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "delivery_home", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_home", + "type": "native_radio", + "label": "Who helped the mother with a home delivery?", + "label_text_style": "bold", + "text_color": "#C0C0C0", + "v_required": { + "value": "true", + "err": "Please select" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + }, + "options": [ + { + "key": "gave_birth_alone", + "text": "She gave birth at home alone", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gave_birth_alone" + }, + { + "key": "gave_birth_with_help", + "text": "She gave birth at home with the help of a family member/friend/neighbor", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gave_birth_with_help" + }, + { + "key": "midwife_help", + "text": "She gave birth at home with the help of a traditional midwife", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "midwife_help" + } + ] + }, + { + "key": "delivery_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_hf", + "type": "native_radio", + "label": "The mother gave birth in a health facility. Who accompanied the mother to the health facility?", + "label_text_style": "bold", + "text_color": "#C0C0C0", + "v_required": { + "value": "true", + "err": "Please select" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + }, + "options": [ + { + "key": "facility_family_member", + "text": "She gave birth in a health facility, and she was accompanied by family member(s)", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "facility_family_member" + }, + { + "key": "facility_midwife", + "text": "She gave birth in a health facility, and she was accompanied by a traditional midwife", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "facility_midwife" + }, + { + "key": "alone", + "text": "She gave birth in a health facility, and she came by herself", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "alone" + }, + { + "key": "other_pple", + "text": "She gave birth in a health facility, and she was accompanied by other people", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_pple" + }, + { + "key": "other_chw", + "text": "She gave birth in a health facility, and she was accompanied by the CHW", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_chw" + } + ] + }, + { + "key": "baby_label", + "type": "label", + "text": "BABY DETAILS", + "left_padding": "20dp", + "right_padding": "20dp", + "text_size": "7sp", + "text_color": "#000000", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fam_name", + "type": "hidden" + }, + { + "key": "no_children_no", + "type": "repeating_group", + "reference_edit_text_hint": "Number of children born alive", + "repeating_group_label": "Baby Details #", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "repeating_group_max": "10", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + }, + + "value": [ + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Surname", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the surname" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-dynamic": "anc_pregnancy_outcome_relevance.yml" + } + } + } + + }, + { + "key": "same_as_fam_name_chk", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "text", + "type": "check_box", + "options": [ + { + "key": "same_as_fam_name", + "text": "Surname same as family name", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Middle name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "hidden" + }, + { + "key": "gender", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Gender required" + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Physical disabilities", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "edit_text", + "hint": "Type of physical disabilities", + "edit_type": "name", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-dynamic": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, + { + "key": "early_bf_1hr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "early_bf_1hr", + "type": "spinner", + "hint": "Early initiation of breastfeeding (1 hr)?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + } + }, + { + "key": "vacc_birth", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "vacc_birth", + "type": "check_box", + "label": "Which vaccinations were given?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + }, + { + "key": "chk_opv_0", + "text": "OPV 0", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_opv_0" + }, + { + "key": "chk_bcg", + "text": "BCG", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_bcg" + } + ], + "v_required": { + "value": "true", + "err": "vaccinations given required" + } + } + ] + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/anc_referral_form.json new file mode 100644 index 0000000000..505fa036fe --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/anc_referral_form.json @@ -0,0 +1,421 @@ +{ + "count": "1", + "encounter_type": "ANC Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "ANC referral form", + "fields": [ + { + "key": "chw_referral_hf_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_calculation.yml" + } + } + } + }, + { + "key": "problem_hf_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Client condition / problem", + "label_text_style": "bold", + "options": [ + { + "key": "Vaginal_bleeding", + "text": "Vaginal bleeding", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", + "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "High_blood_pressure", + "text": "High blood pressure", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_abdominal_pain", + "text": "Severe abdominal pain", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_anaemia", + "text": "Severe anaemia", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Convulsions", + "text": "Convulsions", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "No_movement_unusual_movement_for_a_child_in_the_womb", + "text": "No movement / unusual movement for a child in the womb", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pregnancy_pains_before_9_months", + "text": "Pregnancy pains before 9 months", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "153316AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Early_age_pregnancy_below_18_years", + "text": "Early age pregnancy (below 18 years)", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "163119AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "A_severe_headache_dizziness", + "text": "A severe headache / dizziness", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Swelling_of_the_face_andor_hands", + "text": "Swelling of the face and/or hands", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fever", + "text": "Fever", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Shivering_trembling", + "text": "Shivering/trembling", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Nausea_and_Vomiting", + "text": "Nausea and vomiting", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "133473AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Water_sack_broke_before_contractions", + "text": "Water sack broke before contractions", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "129211AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cord_prolapse", + "text": "Cord prolapse", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "128419AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "HIV_care_and_support_services", + "text": "HIV care and support services", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Family_planning_services", + "text": "Family planning services", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "PMTCT_for_mothers", + "text": "PMTCT for mothers", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fistula", + "text": "Fistula", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Difficultly_breathing", + "text": "Difficultly breathing", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Breast_engorgement", + "text": "Breast engorgement", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Blurred_vision", + "text": "Blurred vision", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Perineum_tear", + "text": "Perineum tear", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pregnancy_confirmation", + "text": "Pregnancy confirmation", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "152305AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_symptoms", + "text": "Other symptoms", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": true, + "err": "Please specify reason for ANC referral" + } + }, + { + "key": "problem_hf_anc_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "edit_type": "name", + "hint": "Other symptom", + "v_required": { + "value": "true", + "err": "Please specify other symptom" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_relevance.yml" + } + } + } + }, + { + "key": "service_before_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "is_problem": false, + "label": "Pre-referral management given", + "label_text_style": "bold", + "exclusive": [ + "None" + ], + "options": [ + { + "key": "ORS", + "text": "ORS", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Panadol", + "text": "Panadol", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_treatment", + "text": "Other treatment", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "None", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Pre-referral management field is required" + } + }, + { + "key": "service_before_anc_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "is_problem": false, + "edit_type": "name", + "hint": "Other treatment", + "v_required": { + "value": "true", + "err": "Please specify other treatment" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_relevance.yml" + } + } + } + }, + { + "key": "referral_date_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_anc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/birth_certification.json b/opensrp-chw/src/nacp/assets/json.form/birth_certification.json new file mode 100644 index 0000000000..7ec9b260de --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/birth_certification.json @@ -0,0 +1,183 @@ +{ + "count": "1", + "encounter_type": "Birth Certification", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Birth Certification", + "fields": [ + { + "key": "birth_cert", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Does the child have a birth certificate?", + "values": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": true, + "err": "Please select option" + } + }, + { + "key": "birth_cert_issue_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164129AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Birth certificate issuance date", + "expanded": false, + "max_date": "today", + "min_date": "", + "v_required": { + "value": "true", + "err": "Please enter Birth certificate issuance date" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + }, + { + "key": "birth_cert_num", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "162052AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Birth certificate number", + "v_required": { + "value": "true", + "err": "Please enter number" + }, + "v_numeric": { + "value": "true", + "err": "Number must be 15 digits or Less." + }, + "v_regex": { + "value": "([0-9]{1,15})|\\s*", + "err": "Number must be 15 digits or Less." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + }, + { + "key": "birth_notification", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Was the birth notification done?", + "values": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": false, + "err": "Please select option" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + }, + { + "key": "birthinstroductions", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "Ask to see the birth notification and instruct the caregiver to register the birth at County Health.", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + }, + { + "key": "caregiverinstroductions", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "Instruct the caregiver to have the birth registered at County Health.", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "birth_certification.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json b/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json new file mode 100644 index 0000000000..16420bc3a6 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json @@ -0,0 +1,574 @@ +{ + "count": "1", + "encounter_type": "Child Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Add Child Under 5 years", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": true, + "hint": "WAJA ID", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + }, + "v_required": { + "value": "true", + "err": "Please enter the UNIQUE ID" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Surname", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the surname" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + }, + { + "key": "same_as_fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "text", + "type": "check_box", + "label": "", + "exclusive": [ + "none" + ], + "options": [ + { + "key": "same_as_fam_name", + "text": "Surname same as family name", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "hidden": "true" + }, + { + "key": "surname_calculation", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "last_name", + "type": "hidden", + "hint": "Surname as Family name", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "First name", + "expanded": false, + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter first name" + }, + "v_regex": { + "value": "[A-Za-z\\s\\-\\']*", + "err": "Please enter a valid name" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Middle name", + "expanded": false, + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter middle name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please Enter a Valid Name" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Date of birth (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-5y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter the date of birth" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "hidden": "false", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "DOB unknown?", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step1:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Age", + "v_numeric": { + "value": "true", + "err": "Number must begin with 0 and must be a total of 10 digits in length" + }, + "v_min": { + "value": "0", + "err": "Age must be equal or greater than 0" + }, + "v_max": { + "value": "5", + "err": "Age must be equal or less than 5" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Please enter the age" + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "insurance_provider", + "type": "spinner", + "hint": "Health insurance provider", + "values": [ + "Community Health Fund (CHF)/(iCHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Please enter the insurance provider" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Other health insurance provider", + "v_required": { + "value": "true", + "err": "Please specify the insurance provider" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Health insurance provider number", + "v_required": { + "value": "true", + "err": "Please add the health insurance provider iD Number" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "gender", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Physical disabilities", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Type of physical disabilities", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Mobility and Physical Impairments", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Spinal Cord Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Head Injuries - Brain Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Vision Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Hearing Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Cognitive or Learning Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Psychological Disorders", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Invisible Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Please enter type of physical disabilities" + } + }, + { + "key": "birth_cert_available", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "birth_cert_available", + "type": "spinner", + "hint": "Birth registration/certificate", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + }, + { + "key": "birth_regist_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "birth_regist_number", + "type": "edit_text", + "hint": "Birth registration number", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + }, + { + "key": "rhc_card", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "rhc_card", + "type": "spinner", + "hint": "Does the child have RCH card 1/child growth booklet?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + } + }, + { + "key": "nutrition_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_status", + "type": "spinner", + "hint": "Nutrition status", + "values": [ + "Green", + "Grey/Yellow", + "Red" + ], + "keys": [ + "Green", + "Grey", + "Red" + ], + "openmrs_choice_ids": { + "Green": "Green", + "Grey": "Grey", + "Red": "Red" + }, + "v_required": { + "value": "true", + "err": "Please provide child nutrition status" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-child-relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/child_hv_deworming.json b/opensrp-chw/src/nacp/assets/json.form/child_hv_deworming.json new file mode 100644 index 0000000000..d9b992c422 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/child_hv_deworming.json @@ -0,0 +1,69 @@ +{ + "count": "1", + "encounter_type": "De-worming", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Deworming {0} dose", + "fields": [ + { + "key": "deworming{0}_date", + "openmrs_entity_parent": "84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "image": "ic_form_deworming", + "hint": "When was deworming {0} dose given?", + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter the date deworming was given" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/child_hv_malaria_prevention.json b/opensrp-chw/src/nacp/assets/json.form/child_hv_malaria_prevention.json new file mode 100644 index 0000000000..ea255457fd --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/child_hv_malaria_prevention.json @@ -0,0 +1,141 @@ +{ + "count": "1", + "encounter_type": "Malaria Prevention", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Malaria Prevention", + "fields": [ + { + "key": "fam_llin_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Does the child have a long lasting insecticide net (LLIN)?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + }, + { + "key": "llin_2days_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Did the child sleep under the LLIN last night?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + }, + "relevance": { + "step1:fam_llin_1m5yr": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "llin_condition_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "LLIN condition", + "values": [ + "Okay", + "Bad" + ], + "keys": [ + "Okay", + "Bad" + ], + "openmrs_choice_ids": { + "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + }, + "relevance": { + "step1:fam_llin_1m5yr": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/child_hv_nutrition_status.json b/opensrp-chw/src/nacp/assets/json.form/child_hv_nutrition_status.json new file mode 100644 index 0000000000..2eb6067625 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/child_hv_nutrition_status.json @@ -0,0 +1,82 @@ +{ + "count": "1", + "encounter_type": "Home Visit - Nutrition Status", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Nutrition status", + "fields": [ + { + "key": "nutrition_status_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163301AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Nutrition status", + "values": [ + "Normal", + "Moderate", + "Severe" + ], + "keys": [ + "Normal", + "Moderate", + "Severe" + ], + "openmrs_choice_ids": { + "Normal": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Moderate": "1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/child_hv_vaccine_card_received.json b/opensrp-chw/src/nacp/assets/json.form/child_hv_vaccine_card_received.json new file mode 100644 index 0000000000..d919375b1f --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/child_hv_vaccine_card_received.json @@ -0,0 +1,72 @@ +{ + "count": "1", + "encounter_type": "Child vaccine card received", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Child vaccine card received", + "fields": [ + { + "key": "child_vaccine_card", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164147AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "image": "form_received_card", + "hint": "Did the child receive their vaccine card?", + "values": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/child_hv_vitamin_a.json b/opensrp-chw/src/nacp/assets/json.form/child_hv_vitamin_a.json new file mode 100644 index 0000000000..589d441713 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/child_hv_vitamin_a.json @@ -0,0 +1,69 @@ +{ + "count": "1", + "encounter_type": "Vitamin A", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Vitamin A {0} dose", + "fields": [ + { + "key": "vitamin_a{0}_date", + "openmrs_entity_parent": "84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "image": "ic_form_vitamin", + "hint": "When was Vitamin A {0} dose done?", + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter the date vitamin a was given" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/child_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/child_referral_form.json new file mode 100644 index 0000000000..ff4e943290 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/child_referral_form.json @@ -0,0 +1,385 @@ +{ + "count": "1", + "encounter_type": "Sick Child Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Sick child form", + "fields": [ + { + "key": "chw_referral_hf_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_problem_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Health problem / condition", + "label_text_style": "bold", + "options": [ + { + "key": "Fast_breathing_and_difficulty_with_breathing", + "text": "Fast breathing and difficulty with breathing", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Umbilical_cord_navel_bleeding", + "text": "Umbilical cord/navel bleeding", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Excessive_crying", + "text": "Excessive crying", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Convulsions", + "text": "Convulsions", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unable_to_breastfeed_or_swallow", + "text": "Unable to breastfeed or swallow", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Neck_stiffness", + "text": "Neck stiffness", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fever", + "text": "Fever", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bloating", + "text": "Bloating", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Redness_around_the_umbilical_cord_foul_smelling_discharge_from_the_umbilical_cord", + "text": "Redness around the umbilical cord, foul-smelling discharge from the umbilical cord", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bacterial_conjunctivitis", + "text": "Bacterial conjunctivitis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_anaemia", + "text": "Severe anaemia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_abdominal_pain", + "text": "Severe abdominal pain", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pale_or_jaundiced", + "text": "Pale or jaundiced", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cyanosis_blueness_of_lips", + "text": "Cyanosis (blueness of lips)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Skin_rash_pustules", + "text": "Skin rash / pustules", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Diarrhea", + "text": "Diarrhea", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Vomiting", + "text": "Vomiting", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Disabilities", + "text": "Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Premature_baby", + "text": "Premature baby", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Care_of_HIV_exposed_infant", + "text": "Care of HIV-exposed infant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Immunisation", + "text": "Immunisation", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_symptom", + "text": "Other symptom", + "value": false, + "ignore": true, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": true, + "err": "Please specify health problem" + } + }, + { + "key": "referral_problem_child_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Other symptom", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_relevance.yml" + } + } + } + }, + { + "key": "service_before_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Pre-referral management given", + "label_text_style": "bold", + "is_problem": false, + "exclusive": [ + "None" + ], + "options": [ + { + "key": "ORS", + "text": "ORS", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Panadol", + "text": "Panadol", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_treatment", + "text": "Other treatment", + "value": false, + "ignore": true, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Pre-referral management field is required" + } + }, + { + "key": "service_before_child_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Other treatment", + "is_problem": false, + "v_required": { + "value": "true", + "err": "Please specify other treatment" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_relevance.yml" + } + } + } + }, + { + "key": "referral_date_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_time_child", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/community_responder_registration.json b/opensrp-chw/src/nacp/assets/json.form/community_responder_registration.json new file mode 100755 index 0000000000..c284289f5a --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/community_responder_registration.json @@ -0,0 +1,112 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "1", + "encounter_type": "Community Responder Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Community Responder details", + "fields": [ + { + "key": "responder_label", + "type": "label", + "text": "Add community responder Details", + "left_padding": "20dp", + "right_padding": "20dp", + "text_size": "7sp", + "text_color": "#000000" + }, + { + "key": "responder_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "responder_name", + "type": "edit_text", + "hint": "Full name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter responder's full name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid name" + } + }, + { + "key": "responder_phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "responder_phone_number", + "type": "edit_text", + "hint": "Phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." + }, + "v_required": { + "value": "true", + "err": "Please enter responder's phone number" + } + }, + { + "key": "responder_gps", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "responder_gps", + "openmrs_data_type": "text", + "hint": "normal location", + "type": "gps" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/family_details_register.json b/opensrp-chw/src/nacp/assets/json.form/family_details_register.json new file mode 100644 index 0000000000..2d98ff440b --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/family_details_register.json @@ -0,0 +1,133 @@ +{ + "count": "1", + "encounter_type": "Family Details", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Family Details", + "fields": [ + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Surname", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the surname" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + } + }, + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "hidden": "true", + "type": "edit_text", + "barcode_type": "qrcode", + "hint": "ID *", + "scanButtonText": "Scan QR Code", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + } + }, + { + "key": "village_town", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "type": "edit_text", + "hint": "Area Name", + "v_required": { + "value": "true", + "err": "Please enter the area name" + } + }, + { + "key": "landmark", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "landmark", + "type": "edit_text", + "hint": "Landmark" + }, + { + "key": "gps", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gps", + "openmrs_data_type": "text", + "type": "gps" + }, + { + "key": "nearest_facility", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nearest_facility", + "openmrs_data_type": "text", + "type": "tree", + "hint": "Village/Street", + "tree": [], + "v_required": { + "value": true, + "err": "Please enter the village or street" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/family_details_remove_child.json b/opensrp-chw/src/nacp/assets/json.form/family_details_remove_child.json new file mode 100644 index 0000000000..2aa281f5f1 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/family_details_remove_child.json @@ -0,0 +1,212 @@ +{ + "count": "1", + "encounter_type": "Remove Child Under 5", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Remove Child Under 5", + "fields": [ + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "10sp" + }, + { + "key": "details", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "", + "text_size": "25px" + }, + { + "key": "divider1", + "type": "h_line", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "15dp" + }, + { + "key": "remove_reason", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Reason", + "values": [ + "Died", + "Moved away", + "Other" + ], + "keys": [ + "Died", + "Moved away", + "Other" + ], + "v_required": { + "value": "true", + "err": "Select the reason for removing the child's record." + }, + "openmrs_choice_ids": { + "Died": "160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Moved away": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "expanded": false, + "read_only": "true", + "hidden": "false" + }, + { + "key": "date_moved", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "Date moved away", + "hint": "Date moved away", + "expanded": false, + "min_date": "", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Enter the date that the member moved away" + }, + "constraints": [ + { + "type": "date", + "ex": "greaterThanEqualTo(., step1:dob)", + "err": "Moved away date cannot be before date of birth" + } + ], + "relevance": { + "step1:remove_reason": { + "type": "string", + "ex": "equalTo(., \"Moved away\")" + } + } + }, + { + "key": "date_died", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "Date of death", + "hint": "Date of death", + "expanded": false, + "min_date": "", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Enter the date of death" + }, + "constraints": [ + { + "type": "date", + "ex": "greaterThanEqualTo(., step1:dob)", + "err": "Date of death can't occur before date of birth" + } + ], + "relevance": { + "step1:remove_reason": { + "type": "string", + "ex": "equalTo(., \"Died\")" + } + } + }, + { + "key": "age_at_death", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "label": "Age at death", + "hint": "Age at death", + "type": "edit_text", + "read_only": "true", + "relevance": { + "step1:remove_reason": { + "type": "string", + "ex": "equalTo(., \"Died\")" + } + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "child_remove_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/family_details_remove_family.json b/opensrp-chw/src/nacp/assets/json.form/family_details_remove_family.json new file mode 100644 index 0000000000..d9c23b6bd3 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/family_details_remove_family.json @@ -0,0 +1,171 @@ +{ + "count": "1", + "encounter_type": "Remove Family", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Remove Family", + "fields": [ + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "30sp" + }, + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "", + "text_size": "25px" + }, + { + "key": "details", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "", + "text_size": "25px" + }, + { + "key": "divider1", + "type": "h_line", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "20sp" + }, + { + "key": "closure_reason_fam", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Reason for closure", + "values": [ + "Relocation", + "Other" + ], + "keys": [ + "Relocation", + "Other" + ], + "v_required": { + "value": "true", + "err": "Select the reason for removing the family's record." + }, + "openmrs_choice_ids": { + "Relocation": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "key": "closure_reason_other_fam", + "openmrs_entity_parent": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Other reason", + "v_required": { + "value": "true", + "err": "Enter reason of closure" + }, + "relevance": { + "step1:closure_reason_fam": { + "type": "string", + "ex": "equalTo(., \"Other\")" + } + } + }, + { + "key": "closure_reason_relocation_fam", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Household relocation", + "values": [ + "Within the district", + "Outside the district" + ], + "keys": [ + "Within the district", + "Outside the district" + ], + "v_required": { + "value": "true", + "err": "Enter reason of closure" + }, + "relevance": { + "step1:closure_reason_fam": { + "type": "string", + "ex": "equalTo(., \"Relocation\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/family_details_remove_member.json b/opensrp-chw/src/nacp/assets/json.form/family_details_remove_member.json new file mode 100644 index 0000000000..2176efa5ce --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/family_details_remove_member.json @@ -0,0 +1,214 @@ +{ + "count": "1", + "encounter_type": "Remove Family Member", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Remove Family Member", + "fields": [ + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "10sp" + }, + { + "key": "details", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "text": "", + "text_size": "25px" + }, + { + "key": "divider1", + "type": "h_line", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "15dp" + }, + { + "key": "remove_reason", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Reason for removal", + "v_required": { + "value": "true", + "err": "Select the reason for removing the family member's record" + }, + "values": [ + "Death", + "Moved away", + "Other" + ], + "keys": [ + "Death", + "Moved away", + "Other" + ], + "openmrs_choice_ids": { + "Died": "160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Moved away": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "expanded": false, + "read_only": "true", + "hidden": "false" + }, + { + "key": "date_moved", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "Date moved away", + "hint": "Date moved away", + "expanded": false, + "min_date": "", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Enter the date that the member moved away" + }, + "constraints": [ + { + "type": "date", + "ex": "greaterThanEqualTo(., step1:dob)", + "err": "Date moved away occur before date of birth" + } + ], + "relevance": { + "step1:remove_reason": { + "type": "string", + "ex": "equalTo(., \"Moved away\")" + } + } + }, + { + "key": "date_died", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "date_picker", + "label": "Date of death", + "hint": "Date of death", + "expanded": false, + "min_date": "today-80y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Enter the date of death" + }, + "constraints": [ + { + "type": "date", + "ex": "greaterThanEqualTo(., step1:dob)", + "err": "Date of death can't occur before date of birth" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_remove_relevance.yml" + } + } + } + }, + { + "key": "age_at_death", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "label": "Age at death", + "hint": "Age at death", + "type": "edit_text", + "read_only": "true", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_remove_relevance.yml" + } + } + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_remove_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json new file mode 100644 index 0000000000..7a3fc58a4e --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json @@ -0,0 +1,1087 @@ +{ + "count": "1", + "encounter_type": "Family Member Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Add Family Member", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": true, + "hint": "WAJA ID", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + }, + "v_required": { + "value": "true", + "err": "Please enter the UNIQUE ID" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Surname", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the surname" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "same_as_fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "text", + "type": "check_box", + "label": "", + "exclusive": [ + "none" + ], + "options": [ + { + "key": "same_as_fam_name", + "text": "Surname same as family name", + "text_size": "18px", + "value": "false" + } + ] + }, + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "label", + "hidden": "true" + }, + { + "key": "surname_calculation", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "last_name", + "type": "hidden", + "hint": "Surname as Family name", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family-member-calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Middle name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the middle name" + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Date of birth (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-5y", + "v_required": { + "value": "true", + "err": "Please enter the date of birth" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_register_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "DOB unknown?", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step1:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Age", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_numeric": { + "value": "true", + "err": "Please enter a valid age" + }, + "v_min": { + "value": "5", + "err": "Age must be equal or greater than 5" + }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Please enter a valid age" + }, + "v_max": { + "value": "120", + "err": "Age must be equal or less than 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Please enter the age" + } + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Client's Marital Status?", + "values": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "edit_text", + "hint": "Phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Do you have any of the following IDs?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "National ID", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Voter's registration ID", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Driver's license", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_passport", + "text": "Passport", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_passport" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", + "hint": "National ID number e.g 12345678-91234-56789-12", + "edit_type": "number", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" + }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Please enter a valid national ID number" + }, + "v_required": { + "value": true, + "err": "Please enter a valid national ID" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", + "hint": "Voter's registration number e.g T-1234-5678-912-3", + "edit_type": "number", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" + }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Please enter a valid voter's registration number" + }, + "v_required": { + "value": true, + "err": "Please enter a valid voters registration number" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", + "hint": "Driver's license number e.g 1234567891", + "edit_type": "number", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Driver's license number should be of the format (XXXXXXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid driver's license number" + }, + "v_required": { + "value": true, + "err": "Please enter a valid driver's license number" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "passport", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Passport_Number", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", + "hint": "Passport number e.g TAE-123456", + "edit_type": "number", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Passport Number should be in the format (TAE-XXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid passport number" + }, + "v_required": { + "value": true, + "err": "Please enter a valid passport number" + }, + "relevance": { + "step1:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_passport" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Health insurance provider", + "values": [ + "Community Health Fund (CHF)/(iCHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Please enter the insurance provider" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Other health insurance provider", + "v_required": { + "value": "true", + "err": "Please specify the insurance provider" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Health insurance provider number", + "v_required": { + "value": "true", + "err": "Please add the health insurance provider iD Number" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_register_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_register_calculation.yml" + } + } + } + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_1yr", + "type": "spinner", + "hint": "Has the woman delivered in the last 1 year?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select if the woman has delivered in the last 1 year" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Physical disabilities", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Type of physical disabilities", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Mobility and Physical Impairments", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Spinal Cord Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Head Injuries - Brain Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Vision Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Hearing Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Cognitive or Learning Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Psychological Disorders", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Invisible Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "v_required": { + "value": "true", + "err": "Please enter type of disability" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "is_primary_caregiver", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spinner", + "hint": "Is primary caregiver?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Other phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider", + "type": "check_box", + "label": "Occupation of the family member", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_farmer", + "text": "Farmer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_cs", + "text": "Civil Servant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cs" + }, + { + "key": "chk_nurse", + "text": "Nurse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nurse" + }, + { + "key": "chk_teacher", + "text": "Teacher", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_teacher" + }, + { + "key": "chk_th", + "text": "Traditional Healer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_th" + }, + { + "key": "chk_chw", + "text": "Community Health Worker (CHW)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chw" + }, + { + "key": "chk_tba", + "text": "Traditional Birth Attendant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_tba" + }, + { + "key": "chk_chmis", + "text": "Community HMIS (cHMIS)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chmis" + }, + { + "key": "chk_cbd", + "text": "Community Based Distributor", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cbd" + }, + { + "key": "chk_hbc", + "text": "Home Based Care (HBC)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hbc" + }, + { + "key": "chk_cimmci", + "text": "Community IMCI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cimmci" + }, + { + "key": "chk_other", + "text": "Other", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Mention other Occupation", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify the occupation" + }, + "relevance": { + "step1:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Any leadership role in the community?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Religious leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Traditional leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Political leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Influential leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Other", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_member_relevance.yml" + } + } + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Mention other role in the community", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify role" + }, + "relevance": { + "step1:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/family_register.json b/opensrp-chw/src/nacp/assets/json.form/family_register.json new file mode 100644 index 0000000000..33d17a4ec5 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/family_register.json @@ -0,0 +1,1166 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "2", + "encounter_type": "Family Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Family details", + "next": "step2", + "fields": [ + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Family name (Family Head's Surname)", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the family name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + } + }, + { + "key": "client_first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Family Head's First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + } + }, + { + "key": "client_middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Family Head's Middle name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the middle name" + } + }, + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "hidden": "true", + "type": "edit_text", + "barcode_type": "qrcode", + "hint": "ID", + "scanButtonText": "Scan QR Code", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + } + }, + { + "key": "fam_village", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "type": "edit_text", + "edit_type": "name", + "hint": "Area Name", + "v_required": { + "value": "true", + "err": "Please enter the area name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid area name" + } + }, + { + "key": "landmark", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "landmark", + "type": "edit_text", + "edit_type": "name", + "hint": "Landmark/Description of house location", + "v_required": { + "value": true, + "err": "Please enter the landmark/description of location." + } + }, + { + "key": "gps", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gps", + "openmrs_data_type": "text", + "type": "gps" + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "15dp" + }, + { + "key": "nearest_facility", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nearest_facility", + "openmrs_data_type": "text", + "type": "tree", + "hint": "Village/Street", + "tree": [], + "v_required": { + "value": true, + "err": "Please select the village or street" + } + } + ] + }, + "step2": { + "title": "Family head", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "hint": "WAJA ID", + "value": "0", + "read_only": "true", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + }, + "v_required": { + "value": "true", + "err": "Please enter the ID" + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Middle name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the middle name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_name", + "type": "edit_text", + "hint": "Surname", + "edit_type": "name", + "read_only": "true", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Date of birth (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-15y", + "v_required": { + "value": "true", + "err": "Please enter the date of birth" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "DOB unknown?", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "step2:dob": { + "type": "string", + "ex": "equalTo(.,\"\")" + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age_entered", + "type": "edit_text", + "hint": "Age", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Please enter a valid age" + }, + "v_numeric": { + "value": "true", + "err": "Please enter a valid age" + }, + "v_min": { + "value": "15", + "err": "Age must be equal or greater than 15" + }, + "v_max": { + "value": "120", + "err": "Age must be equal or less than 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Please enter the age" + } + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Client's Marital Status?", + "values": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "edit_text", + "hint": "Phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Does he/she have any of the following IDs?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "National ID", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Voter's registration ID", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Driver's license", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_passport", + "text": "Passport", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_passport" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", + "hint": "National ID number e.g 12345678-91234-56789-12", + "edit_type": "number", + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" + }, + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Please enter a valid national ID number" + }, + "v_required": { + "value": true, + "err": "Please enter a valid national ID" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", + "hint": "Voter's registration number e.g T-1234-5678-912-3", + "edit_type": "number", + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" + }, + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Please enter a valid voter's registration number" + }, + "v_required": { + "value": true, + "err": "Please enter a valid voters registration number" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", + "hint": "Driver's license number e.g 1234567891", + "edit_type": "number", + "v_regex": { + "value": "^([0-9]{10})", + "err": "Driver's license number should be of the format (XXXXXXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid driver's license number" + }, + "v_required": { + "value": true, + "err": "Please enter a valid driver's license number" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "passport", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Passport_Number", + "type": "mask_edit_text", + "mask": "TAE-######", + "mask_hint": "123456", + "allowed_chars": "0123456789", + "hint": "Passport number e.g TAE-123456", + "v_regex": { + "value": "^TAE-\\d{6}$", + "err": "Passport Number should be in the format (TAE-XXXXXX)" + }, + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid passport number" + }, + "v_required": { + "value": true, + "err": "Please enter a valid passport number" + }, + "edit_type": "number", + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_passport" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Health insurance provider", + "values": [ + "Community Health Fund (CHF)/(iCHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Please enter the insurance provider" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Other health insurance provider", + "v_required": { + "value": "true", + "err": "Please specify the insurance provider" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Health insurance provider number", + "v_required": { + "value": "true", + "err": "Please add the health insurance provider iD Number" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "values": "" + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_1yr", + "type": "spinner", + "hint": "Has the woman delivered in the last 1 year?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select if the woman has delivered in the last 1 year" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Physical disabilities", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "disabilities", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Type of physical disabilities", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Mobility and Physical Impairments", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Spinal Cord Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Head Injuries - Brain Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Vision Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Hearing Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Cognitive or Learning Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Psychological Disorders", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Invisible Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "v_required": { + "value": "true", + "err": "Please enter type of disability" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Other phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider", + "type": "check_box", + "label": "Occupation of the family head", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_farmer", + "text": "Farmer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_cs", + "text": "Civil Servant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cs" + }, + { + "key": "chk_nurse", + "text": "Nurse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nurse" + }, + { + "key": "chk_teacher", + "text": "Teacher", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_teacher" + }, + { + "key": "chk_th", + "text": "Traditional Healer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_th" + }, + { + "key": "chk_chw", + "text": "Community Health Worker (CHW)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chw" + }, + { + "key": "chk_tba", + "text": "Traditional Birth Attendant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_tba" + }, + { + "key": "chk_chmis", + "text": "Community HMIS (cHMIS)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_chmis" + }, + { + "key": "chk_cbd", + "text": "Community Based Distributor", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cbd" + }, + { + "key": "chk_hbc", + "text": "Home Based Care (HBC)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hbc" + }, + { + "key": "chk_cimmci", + "text": "Community IMCI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cimmci" + }, + { + "key": "chk_other", + "text": "Other", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "service_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider_other", + "type": "edit_text", + "hint": "Mention other Occupation", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify the occupation" + }, + "relevance": { + "step2:service_provider": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Any leadership role in the community?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Religious leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Traditional leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Political leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Influential leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Other", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_register_relevance.yml" + } + } + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Mention other role in the community", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify role" + }, + "relevance": { + "step2:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/female_family_planning_change_method.json b/opensrp-chw/src/nacp/assets/json.form/female_family_planning_change_method.json new file mode 100644 index 0000000000..525ea45fb3 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/female_family_planning_change_method.json @@ -0,0 +1,1001 @@ +{ + "validate_on_submit": false, + "show_errors_on_submit": false, + "skip_blank_steps": true, + "count": "3", + "encounter_type": "Family Planning Change Method", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Change or Stop FP form", + "next": "step2", + "fields": [ + { + "key": "fp_change_or_stop_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_change_or_stop_date", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "age", + "type": "hidden" + }, + { + "key": "reason_stop_fp_chw", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "164901AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Reason the woman is stopping her current family planning method", + "options": [ + { + "key": "side_effects", + "openmrs_entity": "concept", + "openmrs_entity_id": "164154AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Side-effects" + }, + { + "key": "wants_to_conceive", + "openmrs_entity": "concept", + "openmrs_entity_id": "160571AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Wants to conceive" + }, + { + "key": "doesnt_want_to_use_anymore", + "openmrs_entity": "concept", + "openmrs_entity_id": "164260AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Doesn't want to use anymore" + }, + { + "key": "menopause", + "openmrs_entity": "concept", + "openmrs_entity_id": "134346AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Menopause" + }, + { + "key": "decided_to_change_method", + "openmrs_entity": "concept", + "openmrs_entity_id": "163494AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "value": false, + "text": "Decided to change method" + }, + { + "key": "others", + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Others" + } + ], + "v_required": { + "value": "true", + "err": "Please select one option" + } + }, + { + "key": "other_reason_fp_chw", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_fp_chw", + "openmrs_entity_parent": "164901AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Other reason", + "v_required": { + "value": "true", + "err": "Required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "side_effects_fp", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "side_effects_fp", + "openmrs_entity_parent": "164154AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Side effects", + "v_required": { + "value": "true", + "err": "Required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + } + ] + }, + "step2": { + "title": "Family planning method", + "next": "step3", + "fields": [ + { + "key": "pill", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "pill", + "openmrs_entity_parent": "", + "label": "Does she want to use a contraceptive pill?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "user_toaster_info", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Oral Contraception check List", + "toaster_info_text": "Check-list\n for providing Combined Oral Contraception (COC) or Progestin Only Pills (POP)", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "breast_lump", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "breast_lump", + "openmrs_entity_parent": "", + "label": "Does she have any breast lumps?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "abnormal_vaginal", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "abnormal_vaginal", + "openmrs_entity_parent": "", + "label": "Does she have any abnomal vaginal bleeding or discharge?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "pregnant", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "pregnant", + "openmrs_entity_parent": "", + "label": "Is she pregnant?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "difficultly_breathing", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "difficultly_breathing", + "openmrs_entity_parent": "", + "label": "Does she have any severe chest pain and difficultly breathing?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "headaches", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "headaches", + "openmrs_entity_parent": "", + "label": "Does she have any unusual headaches associated with nausea, vomiting or blurred vision?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "frequent_urge", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "frequent_urge", + "openmrs_entity_parent": "", + "label": "Does she frequently feel thirsty, need to urinate or feel tired?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "falling_loss_unconsciousness", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "falling_loss_unconsciousness", + "openmrs_entity_parent": "", + "label": "Does she have the tendency of falling down/collapsing and loss of consciousness?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "breastfeed", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "breastfeed", + "openmrs_entity_parent": "", + "label": "Is she breastfeeding a baby 6 months or younger and having any issues producing milk?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "COC_POP", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "COC_POP", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + }, + { + "key": "POP", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "POP", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + }, + { + "key": "no_pill", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_pill", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + }, + { + "key": "COC_POP_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "The woman is eligible for either Combined Oral Contraceptive (COC) or Progestin Only Pills (POP)", + "toaster_info_text": "COC or POP eligible:\nThe woman is eligible for either Combined Oral Contraceptive (COC) or Progestin Only Pills (POP)", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "POP_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "The woman is eligible for Progestin Only Pills (POP) only", + "toaster_info_text": "POP only eligible:\nThe woman is eligible for Progestin Only Pills (POP) only", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "no_pill_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "The woman is not eligible for Combined Oral Contraception (COC) or Progestin Only Pills (POP). Please advise the client to use condoms and give her a referral to go to the health facility for further counselling on family planning.", + "toaster_info_text": "Not eligible:\nThe woman is not eligible for Combined Oral Contraception (COC) or Progestin Only Pills (POP). Please advise the client to use condoms and give her a referral to go to the health facility for further counselling on family planning.", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_method_chosen", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Family planning method selected", + "values": [ + "Male condom", + "Female condom", + "COC", + "POP", + "Standard day method", + "Injectable", + "IUCD", + "Implanon - NXT", + "Jadelle", + "Female sterilization", + "Male sterilization" + ], + "openmrs_choice_ids": { + "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "COC": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "POP": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Standard day method": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Injectable": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "IUCD": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Implanon - NXT": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Jadelle": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female sterilization": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Male sterilization": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_method_accepted", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_method_accepted", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + } + ] + }, + "step3": { + "title": "Family planning method info", + "fields": [ + { + "key": "no_condoms", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_condoms", + "type": "edit_text", + "edit_type": "number", + "hint": "How many condoms was she given?", + "v_required": { + "value": "true", + "err": "Equal or greater than 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_min": { + "value": "0", + "err": "Number must be equal or greater than 0" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_start_condom", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "no_pillcycles", + "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "edit_type": "number", + "hint": "How many pill cycles was she given?", + "v_required": { + "value": "true", + "err": "Equal or greater than 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_min": { + "value": "0", + "err": "Number must be equal or greater than 0" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_start_cocpop", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_cocpop", + "type": "date_picker", + "hint": "When did she start or plan to start using COC/POP?", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "counselling_use", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling_use", + "type": "spinner", + "hint": "Was she counselled on how to use the family planning method?", + "values": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_start_injectable", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Date of last injection", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "next_injection_due_date", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "5096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "next_injection_due_date", + "type": "edit_text", + "hint": "Next injection due:", + "read_only": "true", + "value": "0", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + }, + { + "key": "fp_start_iucd", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_iucd", + "type": "date_picker", + "hint": "Date of IUCD insertion", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_implant_nxt", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_implant_nxt", + "type": "date_picker", + "hint": "Date of Implanon - NXT insertion", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_implant_jad", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_implant_jad", + "type": "date_picker", + "hint": "Date of Jadelle insertion", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_female_ster", + "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_female_ster", + "type": "date_picker", + "hint": "Date of female sterilization", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_male_ster", + "openmrs_entity_parent": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_male_ster", + "type": "date_picker", + "hint": "Date of male sterilization", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_male_ster_note", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Advise the woman to use condoms for the first 3 months to prevent pregnancy", + "toaster_info_text": "A note to inform the client that they should use condoms for the first three months after the sterialization to prevent pregnancy", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "referral_given", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_given", + "openmrs_entity_parent": "", + "label": "Was she referred to the health facility?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + } + }, + { + "key": "fp_start_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hidden": "true", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/female_family_planning_registration.json b/opensrp-chw/src/nacp/assets/json.form/female_family_planning_registration.json new file mode 100644 index 0000000000..c29c76f61c --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/female_family_planning_registration.json @@ -0,0 +1,1072 @@ +{ + "validate_on_submit": false, + "show_errors_on_submit": false, + "count": "3", + "encounter_type": "Family Planning Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Family planning registration Info", + "next": "step2", + "fields": [ + { + "key": "fp_reg_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_reg_date", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "age", + "type": "hidden" + }, + { + "key": "using_method", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "using_method", + "openmrs_entity_parent": "", + "label": "Is the woman already using a family planning method?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + } + }, + { + "key": "couselling_fp_methods", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Was she counselled on different family planning methods?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "couselling_HIV_STI", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "couselling_HIV_STI", + "openmrs_entity_parent": "", + "label": "Was she counselled on HIV and STI prevention?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + } + ] + }, + "step2": { + "title": "Family planning method", + "next": "step3", + "fields": [ + { + "key": "pill", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "pill", + "openmrs_entity_parent": "", + "label": "Does she want to use a contraceptive pill?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "user_toaster_info", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Oral Contraception check List", + "toaster_info_text": "Check-list\n for providing Combined Oral Contraception (COC) or Progestin Only Pills (POP)", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "breast_lump", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "breast_lump", + "openmrs_entity_parent": "", + "label": "Does she have any breast lumps?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "abnormal_vaginal", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "abnormal_vaginal", + "openmrs_entity_parent": "", + "label": "Does she have any abnomal vaginal bleeding or discharge?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "pregnant", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "pregnant", + "openmrs_entity_parent": "", + "label": "Is she pregnant?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "difficultly_breathing", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "difficultly_breathing", + "openmrs_entity_parent": "", + "label": "Does she have any severe chest pain and difficultly breathing?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "headaches", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "headaches", + "openmrs_entity_parent": "", + "label": "Does she have any unusual headaches associated with nausea, vomiting or blurred vision?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "frequent_urge", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "frequent_urge", + "openmrs_entity_parent": "", + "label": "Does she frequently feel thirsty, need to urinate or feel tired?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "falling_loss_unconsciousness", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "falling_loss_unconsciousness", + "openmrs_entity_parent": "", + "label": "Does she have the tendency of falling down/collapsing and loss of consciousness?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "breastfeed", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "breastfeed", + "openmrs_entity_parent": "", + "label": "Is she breastfeeding a baby 6 months or younger and having any issues producing milk?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "COC_POP", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "COC_POP", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "POP", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "POP", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "no_pill", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_pill", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "COC_POP_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "The woman is eligible for either Combined Oral Contraceptive (COC) or Progestin Only Pills (POP)", + "toaster_info_text": "COC or POP eligible:\nThe woman is eligible for either Combined Oral Contraceptive (COC) or Progestin Only Pills (POP)", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "POP_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "The woman is eligible for Progestin Only Pills (POP) only", + "toaster_info_text": "POP only eligible:\nThe woman is eligible for Progestin Only Pills (POP) only", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "no_pill_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "The woman is not eligible for Combined Oral Contraception (COC) or Progestin Only Pills (POP). Please advise the client to use condoms and give her a referral to go to the health facility for further counselling on family planning.", + "toaster_info_text": "Not eligible:\nThe woman is not eligible for Combined Oral Contraception (COC) or Progestin Only Pills (POP). Please advise the client to use condoms and give her a referral to go to the health facility for further counselling on family planning.", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_method_chw", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160576AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Family planning method selected", + "values": [ + "Male condom", + "Female condom", + "COC", + "POP", + "Standard day method", + "Emergency contraceptive" + ], + "openmrs_choice_ids": { + "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "COC": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "POP": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Standard day method": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Emergency contraceptive": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_method_already", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Family planning method selected", + "values": [ + "Male condom", + "Female condom", + "COC", + "POP", + "Standard day method", + "Emergency contraceptive", + "Injectable", + "IUCD", + "Implanon - NXT", + "Jadelle", + "Female sterilization", + "Male sterilization" + ], + "openmrs_choice_ids": { + "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "COC": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "POP": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Standard day method": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Emergency contraceptive": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Injectable": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "IUCD": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Implanon - NXT": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Jadelle": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female sterilization": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Male sterilization": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_method_accepted", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_method_accepted", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + } + ] + }, + "step3": { + "title": "Family planning method info", + "fields": [ + { + "key": "ec_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Encourage the woman to select a spacing or permanent family planning method", + "toaster_info_text": "Encourage the woman to select a spacing or permanent family planning method", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "ecp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ecp", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "no_condoms", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_condoms", + "type": "edit_text", + "edit_type": "number", + "hint": "How many condoms was she given?", + "v_required": { + "value": "true", + "err": "Equal or greater than 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_min": { + "value": "0", + "err": "Number must be equal or greater than 0" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_start_condom", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_condom", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "no_pillcycles", + "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "edit_type": "number", + "hint": "How many pill cycles was she given?", + "v_required": { + "value": "true", + "err": "Equal or greater than 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_min": { + "value": "0", + "err": "Number must be equal or greater than 0" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_start_cocpop", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_cocpop", + "type": "date_picker", + "hint": "When did she start or plan to start using COC/POP?", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "counselling_use", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling_use", + "type": "spinner", + "hint": "Was she counselled on how to use the family planning method?", + "values": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_start_injectable", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Date of last injection", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "next_injection_due_date", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "5096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "next_injection_due_date", + "type": "edit_text", + "hint": "Next injection due:", + "read_only": "true", + "value": "0", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "fp_start_iucd", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_iucd", + "type": "date_picker", + "hint": "Date of IUCD insertion", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_implant_nxt", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_implant_nxt", + "type": "date_picker", + "hint": "Date of Implanon - NXT insertion", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_implant_jad", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_implant_jad", + "type": "date_picker", + "hint": "Date of Jadelle insertion", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_female_ster", + "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_female_ster", + "type": "date_picker", + "hint": "Date of female sterilization", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_male_ster", + "openmrs_entity_parent": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_male_ster", + "type": "date_picker", + "hint": "Date of male sterilization", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_male_ster_note", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Advise the woman to use condoms for the first 3 months to prevent pregnancy", + "toaster_info_text": "A note to inform the client that they should use condoms for the first three months after the sterialization to prevent pregnancy", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "referral_given", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_given", + "openmrs_entity_parent": "", + "label": "Was she referred to the health facility?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + } + }, + { + "key": "fp_start_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hidden": "true", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/female_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/female_fp_referral_form.json new file mode 100644 index 0000000000..950965b0ce --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/female_fp_referral_form.json @@ -0,0 +1,535 @@ +{ + "count": "1", + "encounter_type": "Family Planning Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Family Planning Referral", + "fields": [ + { + "key": "fp_method_accepted_referral", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "FP method chosen requiring a referral", + "label_text_style": "bold", + "options": [ + { + "key": "Male_condom", + "openmrs_entity": "", + "openmrs_entity_id": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Male condom" + }, + { + "key": "Female_condom", + "openmrs_entity": "", + "openmrs_entity_id": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Female condom" + }, + { + "key": "COC", + "openmrs_entity": "", + "openmrs_entity_id": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "COC" + }, + { + "key": "POP", + "openmrs_entity": "", + "openmrs_entity_id": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "POP" + }, + { + "key": "Standard_day_method", + "openmrs_entity": "", + "openmrs_entity_id": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Standard day method" + }, + { + "key": "Emergency_contraceptive", + "openmrs_entity": "", + "openmrs_entity_id": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Emergency contraceptive" + }, + { + "key": "Injectable", + "openmrs_entity": "", + "openmrs_entity_id": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Injectable" + }, + { + "key": "IUCD", + "openmrs_entity": "", + "openmrs_entity_id": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "IUCD" + }, + { + "key": "Implanon_NXT", + "openmrs_entity": "", + "openmrs_entity_id": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Implanon - NXT" + }, + { + "key": "Jadelle", + "openmrs_entity": "", + "openmrs_entity_id": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Jadelle" + }, + { + "key": "Female_sterilization", + "openmrs_entity": "", + "openmrs_entity_id": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Female sterilization" + }, + { + "key": "Male_sterilization", + "openmrs_entity": "", + "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Male sterilization" + }, + { + "key": "None", + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "None" + }, + { + "key": "Not_applicable", + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Not applicable" + } + ], + "v_required": { + "value": "true", + "err": "Please select a family planning method" + } + }, + { + "key": "side_effects_sterialization", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Family planning side-effects", + "label_text_style": "bold", + "exclusive": [ + "None", + "Not_applicable" + ], + "options": [ + { + "key": "Incisional_bleeding", + "text": "Incisional bleeding", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pus_Discharge_from_incision", + "text": "Pus/Discharge from incision", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Swollen_around_the_incision", + "text": "Swollen around the incision", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Others", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "None", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Not applicable", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Please select a value" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "side_effects_iucd", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Family planning side-effects", + "label_text_style": "bold", + "options": [ + { + "key": "Severe_pain_inside_the_vagina_after_IUD_was_put_in", + "text": "Severe pain inside the vagina after IUD was put in", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in", + "text": "Cramping or backaches for a few days after the IUD is put in", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Spotting_between_periods_and_or_irregular_periods", + "text": "Spotting between periods and/or irregular periods", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Heavier_periods_and_worse_menstrual_cramps", + "text": "Heavier periods and worse menstrual cramps", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "IUCD_explusion", + "text": "IUCD explusion", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Others", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "None", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Not applicable", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Please select a value" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "side_effects_implant", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Family planning side-effects", + "label_text_style": "bold", + "options": [ + { + "key": "Insertion_site_infected_pus_discharge", + "text": "Insertion site infected - pus/discharge", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Insertion_site_swollen", + "text": "Insertion site swollen", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Implant_expulsion", + "text": "Implant expulsion", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "144458AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Heavy_bleeding", + "text": "Heavy bleeding", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Others", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "None", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Not applicable", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Please select a value" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "side_effects_inject_pills", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Family planning side-effects", + "label_text_style": "bold", + "options": [ + { + "key": "Heavy_bleeding_", + "text": "Heavy bleeding", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Irregular_periods", + "text": "Irregular periods", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Others", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "None", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Not applicable", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Please select a value" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + }, + { + "key": "fp_side_effects", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + }, + { + "key": "fp_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "hint": "Other side effects", + "v_required": { + "value": "true", + "err": "Please specify other side effects" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_relevance.yml" + } + } + } + },{ + "key": "referral_date_fp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_fp", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json new file mode 100644 index 0000000000..b84b2b1a22 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json @@ -0,0 +1,1055 @@ +{ + "form": "CBHS Follow-up form", + "count": "1", + "encounter_type": "CBHS Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "CBHS Follow-up form", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Registration/Followup status" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "New Client", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Client continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services", + "text": "Client has completed and qualified from the services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the registration/followup status", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_hiv_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's HIV status after testing" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's hiv status", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "CTC Number", + "type": "Clinic of Treatment and Care registration number (CTC Number)", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Not a valid CTC Number." + } + ], + "required_status": "yes:Please specify client's CTC Number", + "subjects": "client_hiv_status_after_testing:text" + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Condition of the client" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Client does his/her daily activities", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Client takes care of him/herself (Bathing, Eating)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Client is unable to take care of him/herself", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's condition", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Health Challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "pain", + "text": "Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "Coughing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Other Health Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Health Problems", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Please specify other health problems", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Social challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "Failure to adhere to CTC Appointments Schedule", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Transport issues while attending CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Other Social Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Social Challenges", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Please specify other social problems faced", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Vulnerable and at risk behaviors" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Alcoholism", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Has multiple sexual partners", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Sexual relations with different peers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "People Who Inject Drugs (PWID)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Sex workers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Mining workers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Trucks and long distance drivers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's behaviour", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Supplies provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Soap", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "Mosquito Nets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Bed Sheets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Water disinfectant", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Condoms", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Other supplies", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies/medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Supplies", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Please specify other supplies given", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Other Medicine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Please specify other medicine given", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "CBHS services provided by CHW at the community" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "Nutrition Counselling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "HIV Infection Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Preliminary Testing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Psychological Counseling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "House Cleanliness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Health Care", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Medical Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Other CBHS services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please fill the HIV services provided", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other CBHS Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Please specify other HIV services provided", + "subjects": "hiv_services_provided:map" + }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals Issued to the Client for Other Services." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referral Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals to other services Completed by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referrals Completed", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "State of HIV Care and treatment" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_but_not_began_medication", + "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Registered in CTC/PMTCT clinic and uses ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_ctc_clinic", + "text": "Client is not registered in CTC/PMTCT clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the state of HIV therapy", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Choose Moved To Facility", + "searchable": "Choose moved to facility" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please select the moved to facility", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Enter the other location", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please enter the moved to facility", + "subjects": "client_moved_location:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json new file mode 100644 index 0000000000..da2c3c0648 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -0,0 +1,961 @@ +{ + "form": "CBHS Follow-up form", + "count": "1", + "encounter_type": "CBHS Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "CBHS Follow-up form", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Registration/Followup status" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "New Client", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Client continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Client has completed and qualified from the services ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the registration/followup status", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Condition of the client" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Client does his/her daily activities", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Client takes care of him/herself (Bathing, Eating)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Client is unable to take care of him/herself", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's condition", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Health Challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "pain", + "text": "Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "Coughing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Other Health Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Health Problems", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Please specify other health problems", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Social challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "Failure to adhere to CTC Appointments Schedule", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Transport issues while attending CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Other Social Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Social Challenges", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Please specify other social problems faced", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Vulnerable and at risk behaviors" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Alcoholism", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Has multiple sexual partners", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Sexual relations with different peers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "People Who Inject Drugs (PWID)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_workers", + "text": "Sex workers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Mining workers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Trucks and long distance drivers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's behaviour", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Supplies provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Soap", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "Mosquito Nets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Bed Sheets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Water disinfectant", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Condoms", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Other supplies", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies/medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Supplies", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Please specify other supplies given", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Other Medicine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Please specify other medicine given", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "CBHS services provided by CHW at the community" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "Nutrition Counselling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "HIV Infection Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Preliminary Testing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Psychological Counseling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "House Cleanliness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Health Care", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Medical Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Other CBHS services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please fill the HIV services provided", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other CBHS Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Please specify other HIV services provided", + "subjects": "hiv_services_provided:map" + }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals Issued to the Client for Other Services." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referral Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals to other services Completed by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referrals Completed", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "State of HIV Care and treatment" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Registered in CTC/PMTCT clinic and uses ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the state of HIV therapy", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Choose Moved To Facility", + "searchable": "Choose moved to facility" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please select the moved to facility", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Enter the other location", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please enter the moved to facility", + "subjects": "client_moved_location:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json new file mode 100644 index 0000000000..588f5ec34d --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json @@ -0,0 +1,192 @@ +{ + "form": "HIV Registration form", + "count": "1", + "encounter_type": "CBHS Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "CBHS Registration Form", + "fields": [ + { + "name": "cbhs_number", + "type": "masked_edit_text", + "properties": { + "hint": "CBHS Number e.g 1234/56/78/912", + "type": "CBHS Number e.g 1234/56/78/912", + "mask": "####/##/##/###", + "mask_hint": "12345678912", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cbhs_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", + "message": "CBHS Number should be of the format (XXXX/XX/XX/XXX)." + } + ], + "required_status": "yes:Please specify client's CBHS Number" + }, + { + "name": "client_hiv_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's HIV status during registration" + }, + "options": [ + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "hiv_registration_date" + ] + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "CTC Number e.g 12-34-5678-912345", + "type": "CTC Number e.g 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "CTC Number should be of the format (XX-XX-XXXX-XXXXXX)." + } + ], + "subjects": "client_hiv_status_during_registration:text" + }, + { + "name": "tb_number", + "type": "text_input_edit_text", + "properties": { + "hint": "TB ID", + "type": "TB Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_number", + "openmrs_entity_parent": "" + } + }, + { + "name": "rch_number", + "type": "text_input_edit_text", + "properties": { + "hint": "RCH ID", + "type": "RCH Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "rch_number", + "openmrs_entity_parent": "" + } + }, + { + "name": "mat_number", + "type": "text_input_edit_text", + "properties": { + "hint": "MAT ID", + "type": "MAT Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mat_number", + "openmrs_entity_parent": "" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/fp_followup_counsel.json b/opensrp-chw/src/nacp/assets/json.form/fp_followup_counsel.json new file mode 100644 index 0000000000..ffa7041ba4 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/fp_followup_counsel.json @@ -0,0 +1,83 @@ +{ + "count": "1", + "encounter_type": "FP Follow up visit Counselling", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Counselling", + "fields": [ + { + "key": "fp_counselling", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Did the client receive any family planning counselling?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "This value cannot be null" + } + } + + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/fp_followup_resupply.json b/opensrp-chw/src/nacp/assets/json.form/fp_followup_resupply.json new file mode 100644 index 0000000000..1fdc8e1b79 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/fp_followup_resupply.json @@ -0,0 +1,159 @@ +{ + "count": "1", + "encounter_type": "FP Follow up Visit Resupply", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Re-supply or Next Health Facility Visit", + "fields": [ + { + "key": "fp_method", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "read_only": "true" + }, + { + "key": "no_condoms", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "number", + "hint": "How many condoms was she/he given?", + "v_required": { + "value": "true", + "err": "this value cannot be null" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply.yml" + } + } + } + }, + { + "key": "no_pillcycles", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "number", + "hint": "How many pill cycles was she given?", + "v_required": { + "value": "true", + "err": "this value cannot be null" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply.yml" + } + } + } + }, + { + "key": "fp_refill_injectable", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Date of last injection", + "expanded": false, + "duration": { + "label": "last injection" + }, + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please Date of last injection" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply.yml" + } + } + } + }, + { + "key": "next_injection_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Date of next injection: {fp_refill_injectable}", + "text_color": "#1199F9", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply.yml" + } + } + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_resupply_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/fp_followup_side_effects.json b/opensrp-chw/src/nacp/assets/json.form/fp_followup_side_effects.json new file mode 100644 index 0000000000..33018122d8 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/fp_followup_side_effects.json @@ -0,0 +1,399 @@ +{ + "count": "1", + "encounter_type": "FP Follow-up Visit Side-effects", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Side Effects", + "fields": [ + { + "key": "fp_method", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "read_only": "true" + }, + { + "key": "condom_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Allergic reactions", + "Others", + "None" + ], + "keys": [ + "Allergic_reactions", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Allergic_reactions": "149086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Is she/he experiencing any side effects?", + "v_required": { + "value": "true", + "err": "This value cannot be null" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "condom_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Others:", + "v_required": { + "value": "true", + "err": "This value cannot be null" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "cocpop_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Heavy bleeding", + "Irregular periods", + "Others", + "None" + ], + "keys": [ + "Heavy_bleeding_", + "Irregular_periods", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Heavy_bleeding_": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Irregular_periods": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Is she experiencing any side effects?", + "v_required": { + "value": "true", + "err": "This value cannot be null" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "cocpop_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Others:", + "v_required": { + "value": "true", + "err": "This value cannot be null" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "inject_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Heavy bleeding", + "Irregular periods", + "Others", + "None" + ], + "keys": [ + "Heavy_bleeding_", + "Irregular_periods", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Heavy_bleeding_": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Irregular_periods": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Is she experiencing any side effects?", + "v_required": { + "value": "true", + "err": "This value cannot be null" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "inject_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Others:", + "v_required": { + "value": "true", + "err": "This value cannot be null" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "IUCD_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Severe pain inside the vagina after IUD was put in", + "Cramping or backaches for a few days after the IUD is put in", + "Spotting between periods and/or irregular periods", + "Heavier periods and worse menstrual cramps", + "IUCD explusion", + "Others", + "None" + ], + "keys": [ + "Severe_pain_inside_the_vagina_after_IUD_was_put_in", + "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in", + "Spotting_between_periods_and_or_irregular_periods", + "Heavier_periods_and_worse_menstrual_cramps", + "IUCD_explusion", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Severe_pain_inside_the_vagina_after_IUD_was_put_in": "123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in": "148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Spotting_between_periods_and_or_irregular_periods": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Heavier_periods_and_worse_menstrual_cramps": "156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "IUCD_explusion": "157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Is she experiencing any side effects?", + "v_required": { + "value": "true", + "err": "This value cannot be null" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "IUCD_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Others:", + "v_required": { + "value": "true", + "err": "This value cannot be null" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "sterilization_side_effects", + "type": "spinner", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "values": [ + "Incisional bleeding", + "Pus/Discharge from incision", + "Swollen around the incision", + "Others", + "None" + ], + "keys": [ + "Incisional_bleeding", + "Pus_Discharge_from_incision", + "Swollen_around_the_incision", + "Others", + "None" + ], + "openmrs_choice_ids": { + "Incisional_bleeding": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Pus_Discharge_from_incision": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Swollen_around_the_incision": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "hint": "Is she/he experiencing any side effects?", + "v_required": { + "value": "true", + "err": "This value cannot be null" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "sterilization_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Others:", + "v_required": { + "value": "true", + "err": "This value cannot be null" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + }, + { + "key": "action_taken", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Action taken", + "options": [ + { + "key": "managed", + "openmrs_entity": "concept", + "openmrs_entity_id": "140959AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Managed" + }, + { + "key": "referred", + "openmrs_entity": "concept", + "openmrs_entity_id": "1648AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Referred" + }, + { + "key": "no_action_taken", + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No action taken" + } + ], + "v_required": { + "value": "true", + "err": "This value cannot be null" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_followup_side_effects.yml" + } + } + } + + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/hiv_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/hiv_community_followup_feedback.json new file mode 100644 index 0000000000..b5d9b1e096 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/hiv_community_followup_feedback.json @@ -0,0 +1,185 @@ +{ + "form": "HIV Community Followup Feedback", + "count": "1", + "encounter_type": "HIV Community Followup Feedback", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_community_followup_feedback_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "HIV Community Followup Feedback", + "fields": [ + { + "name": "followup_status", + "type": "spinner", + "properties": { + "text": "Followup Feedback" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Client continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select followup feedback", + "dependent_calculations": [ + "hiv_community_followup_visit_date" + ] + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Choose Moved To Facility", + "searchable": "Choose moved to facility" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please select the moved to facility", + "subjects": "followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Enter the other location", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please enter the moved to facility", + "subjects": "client_moved_location:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/hiv_index_contact_followup.json b/opensrp-chw/src/nacp/assets/json.form/hiv_index_contact_followup.json new file mode 100644 index 0000000000..c27050ca02 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/hiv_index_contact_followup.json @@ -0,0 +1,194 @@ +{ + "form": "HIV Index Contact CHW Followup", + "count": "1", + "encounter_type": "HIV Index Contact CHW Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_index_contact_followup_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Index Client Contact Followup", + "fields": [ + { + "name": "has_the_contact_client_been_found", + "type": "radio_group", + "properties": { + "text": "Have you found the contact client?" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_the_contact_client_been_found", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "yes", + "text": "Yes", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "yes", + "openmrs_entity_parent": "" + } + }, + { + "name": "no", + "text": "No", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the answer", + "dependent_calculations": [ + "client_followed_up_by_chw" + ] + }, + { + "name": "has_the_client_agreed_to_be_tested", + "type": "radio_group", + "properties": { + "text": "Has the client agreed to be tested for HIV?" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_the_client_agreed_to_be_tested", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "yes", + "text": "Yes", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "yes", + "openmrs_entity_parent": "" + } + }, + { + "name": "no", + "text": "No", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select whether the client has agreed to be tested for HIV", + "subjects": "has_the_contact_client_been_found:map" + }, + { + "name": "place_where_test_will_be_conducted", + "type": "radio_group", + "properties": { + "text": "Where has the client agreed to have the test?" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "place_where_test_was_conducted", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "facility", + "text": "At the Health Facility", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "facility", + "openmrs_entity_parent": "" + } + }, + { + "name": "community", + "text": "At the community", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the answer", + "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map" + }, + { + "name": "toast_give_a_referral_to_the_client", + "type": "toast_notification", + "properties": { + "notification_type": "info", + "dismissible": "no", + "title": "Client should be referred to Hospital", + "text": "The client should be referred to the Hospital for HIV testing.\nGive the client a referral", + "background_color": "#f50424", + "text_color": "#FFFFFF" + }, + "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map, place_where_test_will_be_conducted:map" + }, + { + "name": "chw_comment", + "type": "text_input_edit_text", + "properties": { + "hint": "Remarks/Comments" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_comment", + "openmrs_entity_parent": "" + }, + "required_status": "false" + } + ] + } + ] +} + diff --git a/opensrp-chw/src/nacp/assets/json.form/in_app_monthly_tallies_report.json b/opensrp-chw/src/nacp/assets/json.form/in_app_monthly_tallies_report.json new file mode 100644 index 0000000000..ece65c5342 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/in_app_monthly_tallies_report.json @@ -0,0 +1,108 @@ +{ + "count": "1", + "encounter_type": "CHW Monthly tallies Report", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Monthly Tallies", + "fields": [ + { + "key": "indicator_code", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "indicator_code", + "type": "edit_text", + "hint": "Indicator code", + "value": "" + }, + { + "key": "month", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "month", + "type": "edit_text", + "hint": "Month", + "value": "" + }, + { + "key": "edited", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "edited", + "type": "edit_text", + "hint": "edited", + "value": "" + }, + { + "key": "date_sent", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "date_sent", + "type": "edit_text", + "hint": "Date sent", + "value": "" + }, + { + "key": "created_at", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "created_at", + "type": "edit_text", + "hint": "Created at", + "value": "" + }, + { + "key": "value", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "value", + "type": "edit_text", + "hint": "Updated at", + "value": "" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/malaria_confirmation.json b/opensrp-chw/src/nacp/assets/json.form/malaria_confirmation.json new file mode 100644 index 0000000000..a8a6e23af5 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/malaria_confirmation.json @@ -0,0 +1,437 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "2", + "encounter_type": "Malaria Confirmation", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Malaria Confirmation", + "next": "step2", + "fields": [ + { + "key": "date_chw_malaria_test", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "162869AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "hidden": "true", + "type": "edit_text", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_calculation.yml" + } + } + } + }, + { + "key": "relational_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "relational_id", + "hidden": "true", + "type": "edit_text" + }, + { + "key": "fever_malaria_chw", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fever_malaria_chw", + "type": "native_radio", + "label": "Does this person have a fever or did they test positive for malaria in the last 14 days at a health facility?", + "label_text_style": "bold", + "text_color": "#000000", + "options": [ + { + "key": "has_fever", + "text": "Has a fever", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "has_fever", + "openmrs_entity_parent": "" + }, + { + "key": "tested_positive_last_14_days", + "text": "Tested positive for malaria in the last 14 days at a health facility", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "tested_positive_last_14_days", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "fever_duration", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Duration of fever?", + "values": [ + "Less than 24 hrs", + "More than 24 hrs" + ], + "openmrs_choice_ids": { + "Less than 24 hrs": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "More than 24 hrs": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "malaria_test_done", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "malaria_test_done", + "type": "spinner", + "hint": "Was a malaria test done?", + "values": [ + "No", + "Yes, by the CHW" + ], + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "malaria_results", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "mRDT results", + "values": [ + "Positive", + "Negative" + ], + "openmrs_choice_ids": { + "Positive": "703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Negative": "664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "date_hf_malaria_test", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "date_hf_malaria_test", + "type": "date_picker", + "hint": "Date of malaria test at health facility", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter the date of malaria test at health facility" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "malaria_test_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "hidden": "true", + "type": "edit_text", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_calculation.yml" + } + } + } + }, + { + "key": "malaria", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163725AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "hidden": "true", + "type": "edit_text", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_calculation.yml" + } + } + } + }, + { + "key": "malaria_treat", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "malaria_treat", + "type": "spinner", + "hint": "Treatment given", + "values": [ + "ALU 6", + "ALU 12", + "ALU 18", + "ALU 24", + "Not given", + "Other treatment" + ], + "openmrs_choice_ids": { + "ALU 6": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "ALU 12": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "ALU 18": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "ALU 24": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Not given": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other treatment": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "referral_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Please refer the client for a malaria test", + "toaster_info_text": "Please refer the client for a malaria test", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + } + ] + }, + "step2": { + "title": "Malaria Prevention", + "fields": [ + { + "key": "fam_llin", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fam_llin", + "type": "spinner", + "hint": "Do you have a long lasting insecticide net (LLIN)?", + "values": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + } + }, + { + "key": "llin_2days", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "llin_2days", + "type": "spinner", + "hint": "Did you sleep under the LLIN last night?", + "values": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "llin_condition", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "llin_condition", + "type": "spinner", + "hint": "LLIN condition", + "values": [ + "Okay", + "Bad" + ], + "openmrs_choice_ids": { + "Okay": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bad": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_confirmation_relevance.yml" + } + } + } + }, + { + "key": "malaria_edu_chw", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "malaria_edu_chw", + "type": "check_box", + "label": "Malaria topics covered", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "combine_checkbox_option_values": "true", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "overview_on_malaria", + "text": "Overview on malaria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "malaria_prevention", + "text": "Malaria prevention", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "uncomplicated_malaria", + "text": "Uncomplicated malaria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159950AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "Severe_malaria", + "text": "Severe malaria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "160155AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "malaria_in_pregnancy", + "text": "Malaria in pregnancy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "135361AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Malaria topics covered required" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/malaria_follow_up_visit.json b/opensrp-chw/src/nacp/assets/json.form/malaria_follow_up_visit.json new file mode 100644 index 0000000000..e4ac4fc58a --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/malaria_follow_up_visit.json @@ -0,0 +1,283 @@ +{ + "count": "1", + "encounter_type": "Malaria Follow-up Visit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Follow-up Visit", + "fields": [ + { + "key": "date_chw_mfollowup", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "162869AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden" + }, + { + "key": "hf_chw_mfollowup", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "1889AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Did you receive a referral or go to the hospital for malaria treatment?", + "options": [ + { + "key": "Yes", + "openmrs_entity": "", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "No", + "openmrs_entity": "", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": null + } + }, + { + "key": "treat_given_chw_mfollowup", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "162686AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Treatment given", + "options": [ + { + "key": "ALU_6", + "openmrs_entity": "", + "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "ALU 6" + }, + { + "key": "ALU_12", + "openmrs_entity": "", + "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "ALU 12" + }, + { + "key": "ALU_18", + "openmrs_entity": "", + "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "ALU 18" + }, + { + "key": "ALU_24", + "openmrs_entity": "", + "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "ALU 24" + }, + { + "key": "Other_treatment", + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Other treatment" + }, + { + "key": "Received_treatment_but_dont_remember_which_treatment", + "openmrs_entity": "", + "openmrs_entity_id": "1767AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Received treatment, but don't remember which treatment" + }, + { + "key": "Not_given_treatment", + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Not given treatment" + } + ], + "v_required": { + "value": "true", + "err": null + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_followup_relevance.yml" + } + } + } + }, + { + "key": "reason_no_treat", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "1743AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Reason treatment was not given", + "options": [ + { + "key": "Referral_unsuccessful", + "openmrs_entity": "", + "openmrs_entity_id": "160068AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Referral unsuccessful" + }, + { + "key": "Drugs_stock_out", + "openmrs_entity": "", + "openmrs_entity_id": "1754AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Drugs stock out" + }, + { + "key": "Other_reason", + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Other reason" + } + ], + "v_required": { + "value": "true", + "err": null + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_followup_relevance.yml" + } + } + } + }, + { + "key": "fever_still", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Do you still have a fever?", + "options": [ + { + "key": "Yes", + "openmrs_entity": "", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes", + "value": false + }, + { + "key": "No", + "openmrs_entity": "", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No", + "value": false + } + ], + "v_required": { + "value": "true", + "err": null + } + }, + { + "key": "fever_duration", + "type": "native_radio", + "openmrs_entity": "", + "openmrs_entity_id": "1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Duration of fever", + "options": [ + { + "key": "Less_than_24hrs", + "openmrs_entity": "", + "openmrs_entity_id": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Less than 24hrs" + }, + { + "key": "More_than_24hrs", + "openmrs_entity": "", + "openmrs_entity_id": "NA", + "openmrs_entity_parent": "", + "text": "More than 24hrs" + } + ], + "v_required": { + "value": "true", + "err": null + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_followup_relevance.yml" + } + } + } + }, + { + "key": "referral_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Refer client to the health facility for further examination and tests", + "toaster_info_text": "Refer client to the health facility for further examination and tests", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_followup_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/malaria_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/malaria_referral_form.json new file mode 100644 index 0000000000..d6a9ece07e --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/malaria_referral_form.json @@ -0,0 +1,339 @@ +{ + "count": "1", + "encounter_type": "Malaria Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Malaria Referral", + "fields": [ + { + "key": "referral_problem_malaria", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_problem_malaria", + "type": "check_box", + "label": "Details of the patient's problem", + "label_text_style": "bold", + "options": [ + { + "key": "Fever", + "text": "Fever", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Diarrhea", + "text": "Diarrhea", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Vomiting", + "text": "Vomiting", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Nausea", + "text": "Nausea", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Trembling", + "text": "Trembling, shivering", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "A_severe_headache_dizziness", + "text": "A severe headache / dizziness", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Sweating", + "text": "Sweating", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140941AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_abdominal_pain", + "text": "Severe abdominal pain", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Muscle_pain", + "text": "Muscle pain", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "133632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Sweling_of_the_face_and_or_hands", + "text": "Sweling of the face and/or hands", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "163894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Difficult_in_breathing_fast_and_laboured_breathing", + "text": "Difficult in breathing (fast and laboured breathing)", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Convulsions", + "text": "Convulsions", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Very_weak", + "text": "Very weak", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5226AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Irritable_easily_disturbed", + "text": "Irritable (easily disturbed)", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "118296AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unconcious", + "text": "Unconcious", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unusually_sleepy", + "text": "Unusually sleepy", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "117417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Neck_stiffness", + "text": "Neck stiffness", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unable_to_sit_without_support", + "text": "Unable to sit without support", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123833AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Abnormal_bleeding_or_passing_of_urine_with_blood", + "text": "Abnormal bleeding or passing of urine with blood", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_anaemia_pale_palms_and_inner_eyelids", + "text": "Severe anaemia (pale palms and inner eyelids)", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Yellowing_of_the_eyes_jaundice", + "text": "Yellowing of the eyes (jaundice)", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_malnutrition", + "text": "Severe malnutrition", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "163302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bloating", + "text": "Bloating", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": true, + "err": "Please specify problem associated with the client" + } + }, + { + "key": "service_before_malaria", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "service_before_malaria", + "type": "check_box", + "label": "Treatment given before the referral", + "label_text_style": "bold", + "is_problem": false, + "exclusive": [ + "None" + ], + "options": [ + { + "key": "Rectal_artesunate", + "text": "Rectal artesunate", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "71561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Panadol", + "text": "Panadol", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "ORS", + "text": "ORS", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_treatment", + "text": "Other treatment", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "None", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Treatment given before referral is required" + } + }, + { + "key": "service_before_malaria_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "edit_type": "name", + "hint": "Other treatment", + "is_problem": false, + "v_required": { + "value": "true", + "err": "Please specify other treatment" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "malaria_referral_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/male_family_planning_change_method.json b/opensrp-chw/src/nacp/assets/json.form/male_family_planning_change_method.json new file mode 100644 index 0000000000..1f989f3ef4 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/male_family_planning_change_method.json @@ -0,0 +1,374 @@ +{ + "validate_on_submit": false, + "show_errors_on_submit": false, + "skip_blank_steps": true, + "count": "3", + "encounter_type": "Family Planning Change Method", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Change or Stop FP form", + "next": "step2", + "fields": [ + { + "key": "fp_change_or_stop_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_change_or_stop_date", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + }, + { + "key": "reason_stop_fp_chw", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "164901AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Reason the man is stopping his current family planning method", + "options": [ + { + "key": "side_effects", + "openmrs_entity": "concept", + "openmrs_entity_id": "164154AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Side-effects" + }, + { + "key": "wants_to_conceive", + "openmrs_entity": "concept", + "openmrs_entity_id": "160571AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Wants to conceive" + }, + { + "key": "doesnt_want_to_use_anymore", + "openmrs_entity": "concept", + "openmrs_entity_id": "164260AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Doesn't want to use anymore" + }, + { + "key": "decided_to_change_method", + "openmrs_entity": "concept", + "openmrs_entity_id": "163494AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "value": false, + "text": "Decided to change method" + }, + { + "key": "others", + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Others" + } + ], + "v_required": { + "value": "true", + "err": "Please select one option" + } + }, + { + "key": "other_reason_fp_chw", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_fp_chw", + "openmrs_entity_parent": "164901AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Other reason", + "v_required": { + "value": "true", + "err": "Required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "side_effects_fp", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "side_effects_fp", + "openmrs_entity_parent": "164154AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "edit_type": "name", + "hint": "Side effects", + "v_required": { + "value": "true", + "err": "Required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + } + ] + }, + "step2": { + "title": "Family planning method", + "next": "step3", + "fields": [ + { + "key": "fp_method_chosen", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Family planning method selected", + "values": [ + "Male condom", + "Female condom", + "Male sterilization" + ], + "openmrs_choice_ids": { + "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Male sterilization": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_method_accepted", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_method_accepted", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + } + ] + }, + "step3": { + "title": "Family planning method info", + "fields": [ + { + "key": "no_condoms", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_condoms", + "type": "edit_text", + "edit_type": "number", + "hint": "How many condoms was he given?", + "v_required": { + "value": "true", + "err": "Equal or greater than 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_min": { + "value": "0", + "err": "Number must be equal or greater than 0" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_start_condom", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "counselling_use", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling_use", + "type": "spinner", + "hint": "Was he counselled on how to use the family planning method?", + "values": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "fp_start_male_ster", + "openmrs_entity_parent": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_male_ster", + "type": "date_picker", + "hint": "Date of male sterilization", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_male_ster_note", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Advise the man to use condoms for the first 3 months to prevent pregnancy", + "toaster_info_text": "A note to inform the client that they should use condoms for the first three months after the sterialization to prevent pregnancy", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_relevance.yml" + } + } + } + }, + { + "key": "referral_given", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_given", + "openmrs_entity_parent": "", + "label": "Was he referred to the health facility?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + } + }, + { + "key": "fp_start_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hidden": "true", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_change_method_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/male_family_planning_registration.json b/opensrp-chw/src/nacp/assets/json.form/male_family_planning_registration.json new file mode 100644 index 0000000000..5b7de6ce92 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/male_family_planning_registration.json @@ -0,0 +1,418 @@ +{ + "validate_on_submit": false, + "show_errors_on_submit": false, + "count": "3", + "encounter_type": "Family Planning Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Family planning registration Info", + "next": "step2", + "fields": [ + { + "key": "fp_reg_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_reg_date", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "using_method", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "using_method", + "openmrs_entity_parent": "", + "label": "Is the man already using a family planning method?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + } + }, + { + "key": "couselling_fp_methods", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Was he counselled on different family planning methods?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "couselling_HIV_STI", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "couselling_HIV_STI", + "openmrs_entity_parent": "", + "label": "Was he counselled on HIV and STI prevention?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + } + ] + }, + "step2": { + "title": "Family planning method", + "next": "step3", + "fields": [ + { + "key": "fp_method_chw", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160576AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Family planning method selected", + "values": [ + "Male condom", + "Female condom" + ], + "openmrs_choice_ids": { + "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_method_already", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Family planning method selected", + "values": [ + "Male condom", + "Female condom", + "Male sterilization" + ], + "openmrs_choice_ids": { + "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Male sterilization": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_method_accepted", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_method_accepted", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + } + ] + }, + "step3": { + "title": "Family planning method info", + "fields": [ + { + "key": "ecp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ecp", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "no_condoms", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_condoms", + "type": "edit_text", + "edit_type": "number", + "hint": "How many condoms was he given?", + "v_required": { + "value": "true", + "err": "Equal or greater than 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_min": { + "value": "0", + "err": "Number must be equal or greater than 0" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_start_condom", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_condom", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "counselling_use", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling_use", + "type": "spinner", + "hint": "Was he counselled on how to use the family planning method?", + "values": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one choice" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_start_male_ster", + "openmrs_entity_parent": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_male_ster", + "type": "date_picker", + "hint": "Date of male sterilization", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_male_ster_note", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Advise the man to use condoms for the first 3 months to prevent pregnancy", + "toaster_info_text": "A note to inform the client that they should use condoms for the first three months after the sterialization to prevent pregnancy", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "referral_given", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_given", + "openmrs_entity_parent": "", + "label": "Was he referred to the health facility?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": "Please select one choice" + } + }, + { + "key": "fp_start_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hidden": "true", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_family_planning_registration_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/male_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/male_fp_referral_form.json new file mode 100644 index 0000000000..d4587ed1cc --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/male_fp_referral_form.json @@ -0,0 +1,247 @@ +{ + "count": "1", + "encounter_type": "Family Planning Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Family Planning Referral", + "fields": [ + { + "key": "fp_method_accepted_referral", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "FP method chosen requiring a referral", + "label_text_style": "bold", + "options": [ + { + "key": "Male_condom", + "openmrs_entity": "", + "openmrs_entity_id": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Male condom" + }, + { + "key": "Female_condom", + "openmrs_entity": "", + "openmrs_entity_id": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Female condom" + }, + { + "key": "Male_sterilization", + "openmrs_entity": "", + "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Male sterilization" + }, + { + "key": "None", + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "None" + }, + { + "key": "Not_applicable", + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Not applicable" + } + ], + "v_required": { + "value": "true", + "err": "Please select a family planning method" + } + }, + { + "key": "side_effects_sterialization", + "type": "check_box", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Family planning side-effects", + "label_text_style": "bold", + "exclusive": [ + "None", + "Not_applicable" + ], + "options": [ + { + "key": "Incisional_bleeding", + "text": "Incisional bleeding", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pus_Discharge_from_incision", + "text": "Pus/Discharge from incision", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Swollen_around_the_incision", + "text": "Swollen around the incision", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Others", + "text": "Others", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "None", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Not_applicable", + "text": "Not applicable", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Please select a value" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_fp_referral_relevance.yml" + } + } + } + }, + { + "key": "fp_side_effects", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + }, + { + "key": "fp_side_effects_other", + "type": "edit_text", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "hint": "Other side effects", + "v_required": { + "value": "true", + "err": "Please specify other side effects" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_fp_referral_relevance.yml" + } + } + } + }, + { + "key": "referral_date_fp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_fp", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "fp_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json new file mode 100644 index 0000000000..037fbfe12e --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json @@ -0,0 +1,1073 @@ +{ + "form": "CBHS Follow-up form", + "count": "1", + "encounter_type": "CBHS Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "CBHS Follow-up form", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Registration/Followup status" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "New Client", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Client continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services", + "text": "Client has completed and qualified from the services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the registration/followup status", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_hiv_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's HIV status after testing" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's hiv status", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "CTC Number", + "type": "Clinic of Treatment and Care registration number (CTC Number)", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Not a valid CTC Number." + } + ], + "required_status": "yes:Please specify client's CTC Number", + "subjects": "client_hiv_status_after_testing:text" + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Condition of the client" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Client does his/her daily activities", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Client takes care of him/herself (Bathing, Eating)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Client is unable to take care of him/herself", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's condition", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Health Challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "pain", + "text": "Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "Coughing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Other Health Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Health Problems", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Please specify other health problems", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Social challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "Failure to adhere to CTC Appointments Schedule", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Transport issues while attending CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Other Social Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Social Challenges", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Please specify other social problems faced", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Vulnerable and at risk behaviors" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Alcoholism", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Has multiple sexual partners", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Sexual relations with different peers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Fisherman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "People Who Inject Drugs (PWID)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Lumberman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Mining workers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Men having sex with other men", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Trucks and long distance drivers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's behaviour", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Supplies provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Soap", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "Mosquito Nets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Bed Sheets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Water disinfectant", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Condoms", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Other supplies", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies/medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Supplies", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Please specify other supplies given", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Other Medicine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Please specify other medicine given", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "CBHS services provided by CHW at the community" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "Nutririon Counselling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "HIV Infection Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Preliminary Testing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Psychological Counseling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "House Cleanliness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Health Care", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Medical Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Other CBHS services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please fill the HIV services provided", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other CBHS Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Please specify other HIV services provided", + "subjects": "hiv_services_provided:map" + }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals Issued to the Client for Other Services." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referral Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals to other services Completed by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referrals Completed", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "State of HIV Care and treatment" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_but_not_began_medication", + "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Registered in CTC/PMTCT clinic and uses ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_ctc_clinic", + "text": "Client is not registered in CTC/PMTCT clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the state of HIV therapy", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Choose Moved To Facility", + "searchable": "Choose moved to facility" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please select the moved to facility", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Enter the other location", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please enter the moved to facility", + "subjects": "client_moved_location:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json new file mode 100644 index 0000000000..421728c96a --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -0,0 +1,979 @@ +{ + "form": "CBHS Follow-up form", + "count": "1", + "encounter_type": "CBHS Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "CBHS Follow-up form", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Registration/Followup status" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "New Client", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Client continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Client has completed and qualified from the services ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the registration/followup status", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Condition of the client" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Client does his/her daily activities", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Client takes care of him/herself (Bathing, Eating)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Client is unable to take care of him/herself", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's condition", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Health Challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "pain", + "text": "Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "Coughing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Other Health Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Health Problems", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Please specify other health problems", + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Social challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "failed_adhere_to_ctc_appointments_schedule", + "text": "Failure to adhere to CTC Appointments Schedule", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Transport issues while attending CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Other Social Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Social Challenges", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Please specify other social problems faced", + "subjects": "social_problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Vulnerable and at risk behaviors" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Alcoholism", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_multiple_sexual_partners", + "text": "Has multiple sexual partners", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_multiple_sexual_partners", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_sexual_relations_with_different_peers", + "text": "Sexual relations with different peers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "has_sexual_relations_with_different_peers", + "openmrs_entity_parent": "" + } + }, + { + "name": "fisherman", + "text": "Fisherman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fisherman", + "openmrs_entity_parent": "" + } + }, + { + "name": "people_who_inject_drugs", + "text": "People Who Inject Drugs (PWID)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "people_who_inject_drugs", + "openmrs_entity_parent": "" + } + }, + { + "name": "wood_workers", + "text": "Lumberman", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "wood_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining_workers", + "text": "Mining workers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining_workers", + "openmrs_entity_parent": "" + } + }, + { + "name": "men_having_sex_with_other_men ", + "text": "Men having sex with other men", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "men_having_sex_with_other_men", + "openmrs_entity_parent": "" + } + }, + { + "name": "truck_drivers ", + "text": "Trucks and long distance drivers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "truck_drivers", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's behaviour", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Supplies provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "soap", + "text": "Soap", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "soap", + "openmrs_entity_parent": "" + } + }, + { + "name": "mosquito_nets", + "text": "Mosquito Nets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_parent": "" + } + }, + { + "name": "bed_sheets", + "text": "Bed Sheets", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "bed_sheets", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Water disinfectant", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Condoms", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Other supplies", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies/medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Supplies", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Please specify other supplies given", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_medicine", + "text": "Other Medicine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "medicine_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided_other", + "openmrs_entity_parent": "medicine_provided" + }, + "required_status": "true:Please specify other medicine given", + "subjects": "medicine_provided:map" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "CBHS services provided by CHW at the community" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "nutrition_counselling", + "text": "Nutririon Counselling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infection_education", + "text": "HIV Infection Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "preliminary_testing", + "text": "Preliminary Testing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_parent": "" + } + }, + { + "name": "psychological_counseling", + "text": "Psychological Counseling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_parent": "" + } + }, + { + "name": "house_cleanliness", + "text": "House Cleanliness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_parent": "" + } + }, + { + "name": "health_care", + "text": "Health Care", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_care", + "openmrs_entity_parent": "" + } + }, + { + "name": "medical_services", + "text": "Medical Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Other CBHS services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please fill the HIV services provided", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other CBHS Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Please specify other HIV services provided", + "subjects": "hiv_services_provided:map" + }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals Issued to the Client for Other Services." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referral Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals to other services Completed by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referrals Completed", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "State of HIV Care and treatment" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Registered in CTC/PMTCT clinic and uses ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the state of HIV therapy", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Choose Moved To Facility", + "searchable": "Choose moved to facility" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please select the moved to facility", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Enter the other location", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please enter the moved to facility", + "subjects": "client_moved_location:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json new file mode 100644 index 0000000000..5e7478ac78 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json @@ -0,0 +1,179 @@ +{ + "form": "HIV Registration form", + "count": "1", + "encounter_type": "CBHS Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "CBHS Registration Form", + "fields": [ + { + "name": "cbhs_number", + "type": "masked_edit_text", + "properties": { + "hint": "CBHS Number e.g 1234/56/78/912", + "type": "CBHS Number e.g 1234/56/78/912", + "mask": "####/##/##/###", + "mask_hint": "12345678912", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cbhs_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", + "message": "CBHS Number should be of the format (XXXX/XX/XX/XXX)." + } + ], + "required_status": "yes:Please specify client's CBHS Number" + }, + { + "name": "client_hiv_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's HIV status during registration" + }, + "options": [ + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "hiv_registration_date" + ] + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "CTC Number e.g 12-34-5678-912345", + "type": "CTC Number e.g 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "CTC Number should be of format (XX-XX-XXXX-XXXXXX)." + } + ], + "subjects": "client_hiv_status_during_registration:text" + }, + { + "name": "tb_number", + "type": "text_input_edit_text", + "properties": { + "hint": "TB ID", + "type": "TB Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_number", + "openmrs_entity_parent": "" + } + }, + { + "name": "mat_number", + "type": "text_input_edit_text", + "properties": { + "hint": "MAT ID", + "type": "MAT Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mat_number", + "openmrs_entity_parent": "" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/monthly_report.json b/opensrp-chw/src/nacp/assets/json.form/monthly_report.json new file mode 100644 index 0000000000..77b1afe49b --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/monthly_report.json @@ -0,0 +1,113 @@ +{ + "count": "12", + "encounter_type": "HIA2 Monthly Report", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Women Clients (1 of 12)", + "next": "step2", + "fields": [] + }, + "step2": { + "title": "Newborns and Children Clients (2 of 12)", + "next": "step3", + "fields": [] + }, + "step3": { + "title": "Households (3 of 12)", + "next": "step4", + "fields": [] + }, + "step4": { + "title": "Referrals given (4 of 12)", + "next": "step5", + "fields": [] + }, + "step5": { + "title": "Health education meetings (5 of 12)", + "next": "step6", + "fields": [] + }, + "step6": { + "title": "Birth and death information (6 of 12)", + "next": "step7", + "fields": [] + }, + "step7": { + "title": "Family Planning (7 of 12)", + "next": "step8", + "fields": [] + }, + "step8": { + "title": "Oral Contraceptive Pill (8 of 12)", + "next": "step9", + "fields": [] + }, + "step9": { + "title": "Condoms (9 of 12)", + "next": "step10", + "fields": [] + }, + "step10": { + "title": "Cycles (10 of 12)", + "next": "step11", + "fields": [] + }, + "step11": { + "title": "Counseling (11 of 12)", + "next": "step12", + "fields": [] + }, + "step12": { + "title": "Fp Referrals (12 of 12)", + "fields": [] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/observation_illness.json b/opensrp-chw/src/nacp/assets/json.form/observation_illness.json new file mode 100644 index 0000000000..4d980f23b0 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/observation_illness.json @@ -0,0 +1,129 @@ +{ + "count": "1", + "encounter_type": "Observations Illness", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Observations & Illness", + "fields": [ + { + "key": "date_of_illness", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Date", + "expanded": false, + "max_date": "today", + "min_date": "", + "v_required": { + "value": "true", + "err": "Please enter illness date" + } + }, + { + "key": "illness_description", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "text", + "type": "edit_text", + "hint": "Description", + "v_required": { + "value": "true", + "err": "Please enter description" + } + }, + { + "key": "action_taken_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Action taken", + "v_required": { + "value": "true", + "err": "Please select action" + }, + "values": [ + "ORS 5", + "Zinc 10", + "Panadol", + "Referred", + "Other treatment", + "No treatment given" + ], + "keys": [ + "ORS 5", + "Zinc 10", + "Panadol", + "Referred", + "Other treatment given", + "No treatment" + ] + }, + { + "key": "other_treat_1m5yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "edit_text", + "hint": "Other treatment", + "v_required": { + "value": "true", + "err": "Please specify the other treatment" + }, + "relevance": { + "step1:action_taken_1m5yr": { + "type": "string", + "ex": "equalTo(., \"Other treatment\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json b/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json new file mode 100644 index 0000000000..8152a973a4 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json @@ -0,0 +1,213 @@ +{ + "count": "1", + "encounter_type": "Child Home Visit Counselling", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Counselling", + "fields": [ + { + "key": "couselling_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Counselling provided", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_maternal_nutrition", + "text": "3. Maternal nutrition during breastfeeding", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_hiv_aids", + "text": "5. HIV/AIDS general information", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_pmtct", + "text": "6. PMTCT for the mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_malaria_prevention", + "text": "7. Malaria prevention", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_pnc_care_for_mother", + "text": "9. PNC care for mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1623AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_hiv_exposed_infant", + "text": "9. Follow-up for the HIV-exposed Infant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_pnc_danger_signs", + "text": "10. PNC danger signs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_care_of_infant_after_birth", + "text": "11. Care of infant after birth", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159839AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_care_of_premature_baby", + "text": "12. Care of a premature baby", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_care_of_new_born", + "text": "13. Care of a newborn", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_new_born_danger_signs", + "text": "14. Newborn danger signs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_hiv_exposed_infant", + "text": "15. Follow-up for the HIV-exposed infant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_breastfeeding", + "text": "16. Breastfeeding", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_lam", + "text": "17. LAM as a natural FP method, which includes exclusive breastfeeding six months after delivery", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_family_planning", + "text": "18. Family planning", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_birth_registration", + "text": "19. Birth registration", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_immunisation", + "text": "22. Immunisation", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_infection_prevention", + "text": "24. Infection prevention and control", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_gender_issues", + "text": "26. Gender issues", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + } + } + ] + } +} diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json new file mode 100644 index 0000000000..539646a6ce --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json @@ -0,0 +1,204 @@ +{ + "count": "1", + "encounter_type": "Danger signs - Baby", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Danger Signs Baby", + "fields": [ + { + "key": "danger_signs_present_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Does the baby have any danger signs?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_fever", + "text": "Fever", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_excessive_crying", + "text": "Excessive crying", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "110540AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_fast_breathing", + "text": "Fast breathing", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "125061AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_difficult_breathing", + "text": "Difficulty breathing", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_unable_to_suck", + "text": "Unable to suck", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_umbilical_discharge", + "text": "Umbilical blood / pus discharge", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "123843AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_no_movement", + "text": "No movement", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164455AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_convulsions", + "text": "Convulsions", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_skin_rashes", + "text": "Skin rashes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_pale", + "text": "Pale or jaundiced", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_eye_discharge", + "text": "Eye discharge", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142246AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_severe_abdominal_pain", + "text": "Severe abdominal pain", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_lethargy", + "text": "Lethargy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "116334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + } + }, + { + "key": "danger_signs_present_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Danger sign! \nRefer immediately to health facility.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:danger_signs_present_child": { + "ex-checkbox": [ + { + "or": [ + "chk_fever", + "chk_excessive_crying", + "chk_fast_breathing", + "chk_difficult_breathing", + "chk_unable_to_suck", + "chk_umbilical_discharge", + "chk_no_movement", + "chk_convulsions", + "chk_skin_rashes", + "chk_pale", + "chk_eye_discharge", + "chk_severe_abdominal_pain", + "chk_lethargy" + ] + } + ] + } + } + } + ] + } +} diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_mother.json b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_mother.json new file mode 100644 index 0000000000..ad93129284 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_mother.json @@ -0,0 +1,204 @@ +{ + "count": "1", + "encounter_type": "Danger signs - Mother", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Danger Signs Mother", + "fields": [ + { + "key": "danger_signs_present_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Does the mother have any danger signs?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_fever", + "text": "Fever", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_bleeding_vaginally", + "text": "Bleeding vaginally", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_server_headache", + "text": "Severe headache", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_convulsions", + "text": "Convulsions", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_difficulty_breathing", + "text": "Difficulty breathing", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_severe_leg_pain", + "text": "Severe leg pain", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "114395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_unusual_behaviour", + "text": "Unusual behaviour (stress, confusion)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "152376AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_swelling of breast", + "text": "Swelling of the breast and nipple", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "125212AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_severe_abdominal_pain", + "text": "Severe abdominal pain", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_vaginal_discharge", + "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_blurred_vision", + "text": "Blurred vision", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_loss_conscioueness", + "text": "Loss of consciousness", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "135592AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_urination", + "text": "Urinate a little or urine leakage", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "118982AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + } + }, + { + "key": "danger_signs_present_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Danger sign! \nRefer immediately to health facility.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:danger_signs_present_mama": { + "ex-checkbox": [ + { + "or": [ + "chk_fever", + "chk_bleeding_vaginally", + "chk_server_headache", + "chk_convulsions", + "chk_difficulty_breathing", + "chk_severe_leg_pain", + "chk_unusual_behaviour", + "chk_swelling of breast", + "chk_severe_abdominal_pain", + "chk_vaginal_discharge", + "chk_blurred_vision", + "chk_loss_conscioueness", + "chk_urination" + ] + } + ] + } + } + } + ] + } +} diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_exclusive_breastfeeding.json b/opensrp-chw/src/nacp/assets/json.form/pnc_exclusive_breastfeeding.json new file mode 100644 index 0000000000..dc0b8e3443 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_exclusive_breastfeeding.json @@ -0,0 +1,76 @@ +{ + "count": "1", + "encounter_type": "Exclusive breast feeding", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Exclusive breastfeeding", + "fields": [ + { + "key": "exclusive_breast_feeding", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "exclusive_breast_feeding", + "type": "spinner", + "image": "ic_form_bf", + "hint": "Has the child been exclusively breastfeeding only?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json b/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json new file mode 100644 index 0000000000..4dd8f75ffe --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json @@ -0,0 +1,197 @@ +{ + "count": "1", + "encounter_type": "Family Planning", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Family Planning", + "fields": [ + { + "key": "fp_counseling", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Was the mother recently counselled on family planning at the health facility?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + }, + { + "key": "fp_period_received", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "During what period was she counselled?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "chk_during_anc", + "text": "During ANC", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_during_anc" + }, + { + "key": "chk_during_labour_and_delivery", + "text": "During labour and delivery", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_during_labour_and_delivery" + }, + { + "key": "chk_during_pnc", + "text": "During PNC", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_during_pnc" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_family_planning_relevance.yml" + } + } + } + }, + { + "key": "fp_method", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Family Planning method chosen?", + "values": [ + "PPIUCD", + "Pills", + "Implant", + "Condoms", + "LAM", + "Standard day method", + "Permanent (BTL)", + "Permanent (Vascemtomy)", + "None" + ], + "keys": [ + "PPIUCD", + "Pills", + "Implant", + "Condoms", + "LAM", + "Bead Counting", + "Permanent (BTL)", + "Permanent (Vascemtomy)", + "None" + ], + "openmrs_choice_ids": { + "PPIUCD": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Pills": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Implant": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Condoms": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "LAM": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bead Counting": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Permanent (BTL)": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Permanent (Vascemtomy)": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "None": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_family_planning_relevance.yml" + } + } + } + }, + { + "key": "fp_start_date", + "openmrs_entity_parent": "163757AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Start date", + "min_date": "today-120y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter the start date of method" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_family_planning_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_health_facility_visit.json b/opensrp-chw/src/nacp/assets/json.form/pnc_health_facility_visit.json new file mode 100644 index 0000000000..ac4ce65729 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_health_facility_visit.json @@ -0,0 +1,168 @@ +{ + "count": "1", + "encounter_type": "Health Facility Visit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Health Facility Visit", + "fields": [ + { + "key": "pnc_visit_{0}", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Did the woman attend her PNC visit {0} at the health facility?\n\nVisit due date: {1}", + "v_required": { + "value": "true", + "err": "Please select option" + }, + "values": [ + "Yes", + "No" + ] + }, + { + "key": "pnc_hf_visit{0}_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Date of PNC health facility visit {0}", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter date" + }, + "relevance": { + "step1:pnc_visit_{0}": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "vit_a_mother", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Did the woman receive Vitamin A within 24 hours of delivery?", + "v_required": { + "value": "true", + "err": "Please select option" + }, + "values": [ + "Yes", + "No" + ], + "relevance": { + "step1:pnc_visit_{0}": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "ifa_mother", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "104677AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Did the woman receive iron and folic acid (IFA) tablets within 24 hours of delivery?", + "v_required": { + "value": "true", + "err": "Please select option" + }, + "values": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "relevance": { + "step1:pnc_visit_{0}": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "confirmed_health_facility_visits", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "confirmed_health_facility_visits", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + }, + { + "key": "last_health_facility_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_health_facility_visit_date", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + }, + { + "key": "pnc_hf_next_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pnc_hf_next_visit_date", + "type": "spacer" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_health_facility_visit_one.json b/opensrp-chw/src/nacp/assets/json.form/pnc_health_facility_visit_one.json new file mode 100644 index 0000000000..b210b5c7fa --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_health_facility_visit_one.json @@ -0,0 +1,92 @@ +{ + "encounter_type": "PNC Health Facility Visit - Within 48 Hrs", + "pnc_hf_visit_48hrs": { + "title": "PNC HF Visit 48 hrs", + "fields": [ + { + "key": "pnc_visit_1", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Did the woman attend her PNC visit 1 at the health facility?\n\nVisit due date: [due date of visit]", + "options": [ + { + "key": "Yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "No", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": null + } + }, + { + "key": "vit_a_mother", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Did the woman receive Vitamin A within 24 hours of delivery?", + "options": [ + { + "key": "Yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "No", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": null + } + }, + { + "key": "ifa_mother", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "label": "Did the woman receive iron and folic acid (IFA) tablets within 24 hours of delivery?", + "options": [ + { + "key": "Yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Yes" + }, + { + "key": "No", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "No" + } + ], + "v_required": { + "value": "true", + "err": null + } + } + ] + } +} diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_health_facility_visit_two.json b/opensrp-chw/src/nacp/assets/json.form/pnc_health_facility_visit_two.json new file mode 100644 index 0000000000..b801a611e9 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_health_facility_visit_two.json @@ -0,0 +1,111 @@ +{ + "count": "1", + "encounter_type": "Health Facility Visit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Health Facility Visit", + "fields": [ + { + "key": "pnc_visit_{0}", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Did the woman attend her PNC visit {0} at the health facility?\n\nVisit due date: {1}", + "v_required": { + "value": "true", + "err": "Please select option" + }, + "values": [ + "Yes", + "No" + ] + }, + { + "key": "pnc_hf_visit{0}_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Date of PNC health facility visit {0}", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter date" + }, + "relevance": { + "step1:pnc_visit_{0}": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "confirmed_health_facility_visits", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "confirmed_health_facility_visits", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + }, + { + "key": "last_health_facility_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_health_facility_visit_date", + "type": "spacer", + "read_only": "true", + "hidden": "true", + "value": "0" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_danger_signs.json new file mode 100644 index 0000000000..487997b344 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_danger_signs.json @@ -0,0 +1,195 @@ +{ + "count": "1", + "encounter_type": "PNC HomeVisit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "PNC Danger Signs", + "fields": [ + { + "key": "danger_signs_present", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Does the mother have any danger signs?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_fever", + "text": "Fever", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_bleeding_vaginally", + "text": "Bleeding vaginally", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_server_headache", + "text": "Severe headache", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_convulsions", + "text": "Convulsions", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_difficulty_breathing", + "text": "Difficulty breathing", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_severe_abdominal_pain", + "text": "Severe abdominal pain", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_swelling", + "text": "Swelling of the face and/or hands", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_vaginal_discharge", + "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_unusual_movement", + "text": "No movement / unusual movement for a child in the womb", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + } + }, + { + "key": "danger_signs_present_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Danger sign! \nRefer immediately to health facility.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:danger_signs_present": { + "ex-checkbox": [ + { + "or": [ + "chk_fever", + "chk_bleeding_vaginally", + "chk_server_headache", + "chk_convulsions", + "chk_difficulty_breathing", + "chk_severe_abdominal_pain", + "chk_swelling", + "chk_vaginal_discharge", + "chk_unusual_movement" + ] + } + ] + } + } + }, + { + "key": "danger_signs_counseling", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "165310AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "label_info_title": "Did the mother receive counselling", + "label_info_text": "Did the mother receive counselling on danger signs at the health facility recently?", + "hint": "Did the mother receive counselling on danger signs at the health facility recently?", + "values": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1267AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1118AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json new file mode 100644 index 0000000000..d6bfc7dc88 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json @@ -0,0 +1,157 @@ +{ + "count": "1", + "encounter_type": "ANC Registration", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Observations & Illness - Child", + "fields": [ + { + "key": "date_of_illness_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Date ", + "expanded": false, + "min_date": "today-1y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter the date of illness" + } + }, + { + "key": "illness_description_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Description", + "v_required": { + "value": "true", + "err": "Please enter the description" + } + }, + { + "key": "action_taken_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Action taken", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_ors", + "text": "ORS 5", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_zinc", + "text": "Zinc 10", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_paracetamol", + "text": "Panadol", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_referred", + "text": "Referred", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other_treatment", + "text": "Other treatment", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "No treatment given", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ] + }, + { + "key": "other_treatment_illness_child", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Other treatment", + "v_required": { + "value": "true", + "err": "Please enter the illness details" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_observations.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json new file mode 100644 index 0000000000..fc45b38dca --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json @@ -0,0 +1,157 @@ +{ + "count": "1", + "encounter_type": "ANC Registration", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Observations & Illness - Mama", + "fields": [ + { + "key": "date_of_illness_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Date ", + "expanded": false, + "min_date": "today-1y", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter the date of illness" + } + }, + { + "key": "illness_description_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Description", + "v_required": { + "value": "true", + "err": "Please enter the description" + } + }, + { + "key": "action_taken_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Action taken", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_ors", + "text": "ORS 5", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_zinc", + "text": "Zinc 10", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_paracetamol", + "text": "Panadol", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_referred", + "text": "Referred", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other_treatment", + "text": "Other treatment", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "No treatment given", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ] + }, + { + "key": "other_treatment_illness_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Other treatment", + "v_required": { + "value": "true", + "err": "Please enter the illness details" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_observations.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_malaria_prevention.json b/opensrp-chw/src/nacp/assets/json.form/pnc_malaria_prevention.json new file mode 100644 index 0000000000..fe30139b0d --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_malaria_prevention.json @@ -0,0 +1,141 @@ +{ + "count": "1", + "encounter_type": "Malaria Prevention", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Malaria Prevention", + "fields": [ + { + "key": "fam_llin", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Does she have a long lasting insecticide net (LLIN)?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + }, + { + "key": "llin_2days", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Did she sleep under the LLIN last night?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + }, + "relevance": { + "step1:fam_llin": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "llin_condition", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "LLIN condition", + "values": [ + "Okay", + "Bad" + ], + "keys": [ + "Okay", + "Bad" + ], + "openmrs_choice_ids": { + "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + }, + "relevance": { + "step1:fam_llin": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_nutrition_status_infant.json b/opensrp-chw/src/nacp/assets/json.form/pnc_nutrition_status_infant.json new file mode 100644 index 0000000000..c4e56647db --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_nutrition_status_infant.json @@ -0,0 +1,82 @@ +{ + "count": "1", + "encounter_type": "Nutrition Status - Baby", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Nutrition Status - Baby", + "fields": [ + { + "key": "nutrition_status_1m", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Nutrition status of infant", + "values": [ + "Normal/Green", + "Moderate/Yellow", + "Severe/Red" + ], + "keys": [ + "Normal", + "Moderate", + "Severe" + ], + "openmrs_choice_ids": { + "Yes": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_nutrition_status_mother.json b/opensrp-chw/src/nacp/assets/json.form/pnc_nutrition_status_mother.json new file mode 100644 index 0000000000..e5ce028db0 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_nutrition_status_mother.json @@ -0,0 +1,82 @@ +{ + "count": "1", + "encounter_type": "Nutrition Status - Mother", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Nutrition Status - Mother", + "fields": [ + { + "key": "nutrition_status_mama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Nutrition status of woman", + "values": [ + "Normal/Green", + "Moderate/Yellow", + "Severe/Red" + ], + "keys": [ + "Normal", + "Moderate", + "Severe" + ], + "openmrs_choice_ids": { + "Yes": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/pnc_referral_form.json new file mode 100644 index 0000000000..dd0b0d50ff --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_referral_form.json @@ -0,0 +1,497 @@ +{ + "count": "1", + "encounter_type": "PNC Referral", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "PNC referral form", + "fields": [ + { + "key": "chw_referral_hf_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_calculation.yml" + } + } + } + }, + { + "key": "problem_hf_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "check_box", + "label": "Client condition / problem", + "label_text_style": "bold", + "options": [ + { + "key": "Vaginal_bleeding", + "text": "Vaginal bleeding", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Discoloured_or_watery_liquid_vaginal_discharge", + "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_abdominal_pain", + "text": "Severe abdominal pain", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Severe_anaemia", + "text": "Severe anaemia", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Convulsions", + "text": "Convulsions", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "A_severe_headache_dizziness", + "text": "A severe headache / dizziness", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Swelling_of_the_face_and_or_hands", + "text": "Swelling of the face and/or hands", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fever", + "text": "Fever", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Shivering_trembling", + "text": "Shivering/trembling", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Nausea", + "text": "Nausea", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Vomiting", + "text": "Vomiting", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cord_prolapse", + "text": "Cord prolapse", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "113617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Perineum_bleeding", + "text": "Perineum bleeding", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fullness_or_pain_of_the_breasts", + "text": "Breast engorgement", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "HIV_care_and_support_services", + "text": "HIV care and support services", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Family_planning_services", + "text": "Family planning services", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "PMTCT_for_mothers", + "text": "PMTCT for mothers", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fistula", + "text": "Fistula", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Fast_breathing_and_difficulty_with_breathing", + "text": "Fast breathing and difficulty with breathing", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Umbilical_cord", + "text": "Umbilical cord/navel bleeding", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Excessive_crying", + "text": "Excessive crying", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Unable_to_breastfeed_or_swallow", + "text": "Unable to breastfeed or swallow", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Neck_stiffness", + "text": "Neck stiffness", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bloating", + "text": "Bloating", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Redness_around_the_umbilical_cord_foul", + "text": "Redness around the umbilical cord, foul-smelling discharge from the umbilical cord", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Bacterial_conjunctivitis", + "text": "Bacterial conjunctivitis", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Pale_or_jaundiced", + "text": "Pale or jaundiced", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Cyanosis_blueness_of_lips", + "text": "Cyanosis (blueness of lips)", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Skin_rash_pustules", + "text": "Skin rash / pustules", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Diarrhea", + "text": "Diarrhea", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Disabilities", + "text": "Congenital Disabilities", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Premature_baby", + "text": "Premature baby", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Failure_to_pass_urine_or_stool", + "text": "Failure to pass urine or stool within 24 hours after birth", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + }, + { + "key": "Care_of_HIV_exposed_infant", + "text": "Care of HIV-exposed infant", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Immunisation", + "text": "Immunisation", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_symptom", + "text": "Other symptom", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": true, + "err": "Please specify client condition/problem" + } + }, + { + "key": "problem_hf_pnc_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "", + "edit_type": "name", + "hint": "Other symptom", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_relevance.yml" + } + } + } + }, + { + "key": "service_before_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Pre-referral management given", + "label_text_style": "bold", + "is_problem": false, + "exclusive": [ + "None" + ], + "options": [ + { + "key": "ORS", + "text": "ORS", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Panadol", + "text": "Panadol", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "Other_treatment", + "text": "Other treatment", + "value": false, + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + { + "key": "None", + "text": "None", + "value": false, + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + ], + "v_required": { + "value": "true", + "err": "Pre-referral management field is required" + } + }, + { + "key": "service_before_pnc_other", + "type": "edit_text", + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "edit_type": "name", + "hint": "Other treatment", + "is_problem": false, + "v_required": { + "value": "true", + "err": "Please specify other treatment" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_relevance.yml" + } + } + } + }, + { + "key": "referral_date_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_calculation.yml" + } + } + } + }, + { + "key": "referral_time_pnc", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "hidden", + "is_problem": false, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "pnc_referral_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referral_followup_form.json b/opensrp-chw/src/nacp/assets/json.form/referral_followup_form.json new file mode 100644 index 0000000000..439821e856 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referral_followup_form.json @@ -0,0 +1,88 @@ +{ + "count": "1", + "encounter_type": "Referral Followup Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Referral followup", + "fields": [ + { + "key": "chw_followup_feedback", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_followup_feedback", + "type": "edit_text" + }, + { + "key": "chw_followup_feedback_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_followup_feedback_id", + "type": "edit_text" + }, + { + "key": "other_followup_feedback_information", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_followup_feedback_information", + "type": "edit_text" + }, + { + "key": "chw_followup_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_followup_date", + "type": "edit_text" + } + + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json new file mode 100644 index 0000000000..94c98a1e34 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json @@ -0,0 +1,421 @@ +{ + "form": "ANC Referral", + "encounter_type": "ANC Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "ANC referral form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick condition/problem associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "Vaginal_bleeding", + "text": "Vaginal bleeding", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Vaginal_bleeding", + "openmrs_entity_parent": "" + } + }, + { + "name": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", + "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", + "openmrs_entity_parent": "" + } + }, + { + "name": "High_blood_pressure", + "text": "High blood pressure", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "High_blood_pressure", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_abdominal_pain", + "text": "Severe abdominal pain", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Severe_abdominal_pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_anaemia", + "text": "Severe anaemia", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Severe_anaemia", + "openmrs_entity_parent": "" + } + }, + { + "name": "Convulsions", + "text": "Convulsions", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Convulsions", + "openmrs_entity_parent": "" + } + }, + { + "name": "No_movement_unusual_movement_for_a_child_in_the_womb", + "text": "No movement / unusual movement for a child in the womb", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "No_movement_unusual_movement_for_a_child_in_the_womb", + "openmrs_entity_parent": "" + } + }, + { + "name": "Pregnancy_pains_before_9_months", + "text": "Pregnancy pains before 9 months", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Pregnancy_pains_before_9_months", + "openmrs_entity_parent": "" + } + }, + { + "name": "Early_age_pregnancy_below_18_years", + "text": "Early age pregnancy (below 18 years)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Early_age_pregnancy_below_18_years", + "openmrs_entity_parent": "" + } + }, + { + "name": "A_severe_headache_dizziness", + "text": "A severe headache / dizziness", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "A_severe_headache_dizziness", + "openmrs_entity_parent": "" + } + }, + { + "name": "Swelling_of_the_face_andor_hands", + "text": "Swelling of the face and/or hands", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Swelling_of_the_face_andor_hands", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "Shivering_trembling", + "text": "Shivering/trembling", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Shivering_trembling", + "openmrs_entity_parent": "" + } + }, + { + "name": "Nausea_and_Vomiting", + "text": "Nausea and vomiting", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Nausea_and_Vomiting", + "openmrs_entity_parent": "" + } + }, + { + "name": "Water_sack_broke_before_contractions", + "text": "Water sack broke before contractions", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Water_sack_broke_before_contractions", + "openmrs_entity_parent": "" + } + }, + { + "name": "Cord_prolapse", + "text": "Cord prolapse", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Cord_prolapse", + "openmrs_entity_parent": "" + } + }, + { + "name": "HIV_care_and_support_services", + "text": "HIV care and support services", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "HIV_care_and_support_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "Family_planning_services", + "text": "Family planning services", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Family_planning_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "PMTCT_for_mothers", + "text": "PMTCT for mothers", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "PMTCT_for_mothers", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fistula", + "text": "Fistula", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Fistula", + "openmrs_entity_parent": "" + } + }, + { + "name": "Difficultly_breathing", + "text": "Difficultly breathing", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Difficultly_breathing", + "openmrs_entity_parent": "" + } + }, + { + "name": "Breast_engorgement", + "text": "Breast engorgement", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Breast_engorgement", + "openmrs_entity_parent": "" + } + }, + { + "name": "Blurred_vision", + "text": "Blurred vision", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Blurred_vision", + "openmrs_entity_parent": "" + } + }, + { + "name": "Perineum_tear", + "text": "Perineum tear", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Perineum_tear", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptoms", + "text": "Other symptoms", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptoms", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify reason for ANC referral", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "service_before_referral", + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_before_referral" + }, + "type": "multi_choice_checkbox", + "properties": { + "text": "Pre-referral management given." + }, + "options": [ + { + "name": "ORS", + "text": "ORS", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "ORS", + "openmrs_entity_parent": "" + } + }, + { + "name": "Panadol", + "text": "Panadol", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Panadol", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_treatment", + "text": "Other treatment", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_treatment", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "None", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Pre-referral management field is required" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "service_before_referral_other", + "openmrs_entity_parent": "service_before_referral" + }, + "properties": { + "hint": "Other Treatment", + "type": "name" + }, + "required_status": "true:Please specify other treatment given", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json new file mode 100644 index 0000000000..cc26307983 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json @@ -0,0 +1,210 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Child Gender-based violence services Referral Form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick problem/condition associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "options": [ + { + "name": "has_moved_out_from_home", + "text": "Has moved out from home", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "has_moved_out_from_home", + "openmrs_entity_parent": "" + } + }, + { + "name": "ulcers_and_scars", + "text": "Ulcers and scars", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "ulcers_and_scars", + "openmrs_entity_parent": "" + } + }, + { + "name": "is_weak", + "text": "Is weak", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "is_weak", + "openmrs_entity_parent": "" + } + }, + { + "name": "needs_more_services", + "text": "Needs more services", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "needs_more_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_great_level_of_stress_and_fear", + "text": "Has great level of stress and fear", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "has_great_level_of_stress_and_fear", + "openmrs_entity_parent": "" + } + }, + { + "name": "threatened_to_be_killed", + "text": "Threatened to be killed", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "threatened_to_be_killed", + "openmrs_entity_parent": "" + } + }, + { + "name": "child_has_a_disability", + "text": "The child has a disability / has trouble walking", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "child_has_a_disability", + "openmrs_entity_parent": "" + } + }, + { + "name": "child_does_not_want_to_go_home", + "text": "The child does not want to go home / go to school", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "child_does_not_want_to_go_home", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Other Symptom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json new file mode 100644 index 0000000000..6aa479fae2 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json @@ -0,0 +1,394 @@ +{ + "form": "Sick Child Referral", + "encounter_type": "Sick Child Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Sick child form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick condition/problem associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "options": [ + { + "name": "Fast_breathing_and_difficulty_with_breathing", + "text": "Fast breathing and difficulty with breathing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Umbilical_cord_navel_bleeding", + "text": "Umbilical cord/navel bleeding", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Excessive_crying", + "text": "Excessive crying", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Convulsions", + "text": "Convulsions", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Unable_to_breastfeed_or_swallow", + "text": "Unable to breastfeed or swallow", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Neck_stiffness", + "text": "Neck stiffness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Bloating", + "text": "Bloating", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Redness_around_the_umbilical_cord_foul_smelling_discharge_from_the_umbilical_cord", + "text": "Redness around the umbilical cord, foul-smelling discharge from the umbilical cord", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Bacterial_conjunctivitis", + "text": "Bacterial conjunctivitis", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_anaemia", + "text": "Severe anaemia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_abdominal_pain", + "text": "Severe abdominal pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Pale_or_jaundiced", + "text": "Pale or jaundiced", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Cyanosis_blueness_of_lips", + "text": "Cyanosis (blueness of lips)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Skin_rash_pustules", + "text": "Skin rash / pustules", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Diarrhea", + "text": "Diarrhea", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Vomiting", + "text": "Vomiting", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Disabilities", + "text": "Disabilities", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Premature_baby", + "text": "Premature baby", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Care_of_HIV_exposed_infant", + "text": "Care of HIV-exposed infant", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Immunisation", + "text": "Immunisation", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Other symptom", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "service_before_referral", + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "type": "multi_choice_checkbox", + "properties": { + "text": "Pre-referral management given." + }, + "options": [ + { + "name": "ORS", + "text": "ORS", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Panadol", + "text": "Panadol", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_treatment", + "text": "Other treatment", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "Pre-referral management field is required" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "properties": { + "hint": "Other Treatment", + "type": "name" + }, + "required_status": "true:Please specify other treatment given", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/female_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/female_fp_referral_form.json new file mode 100644 index 0000000000..748a091269 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/female_fp_referral_form.json @@ -0,0 +1,577 @@ +{ + "form": "Family Planning Referral", + "encounter_type": "Family Planning Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/family_planning_referral_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Family Planning Referral", + "fields": [ + { + "name": "fp_method_accepted_referral", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "type": "radio_group", + "properties": { + "text": "FP method chosen requiring a referral" + }, + "options": [ + { + "name": "Male_condom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Male condom" + }, + { + "name": "Female_condom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Female condom" + }, + { + "name": "COC", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "COC" + }, + { + "name": "POP", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "POP" + }, + { + "name": "Standard_day_method", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Standard day method" + }, + { + "name": "Emergency_contraceptive", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Emergency contraceptive" + }, + { + "name": "Injectable", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Injectable" + }, + { + "name": "IUCD", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "IUCD" + }, + { + "name": "Implanon_NXT", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Implanon - NXT" + }, + { + "name": "Jadelle", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Jadelle" + }, + { + "name": "Female_sterilization", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Female sterilization" + }, + { + "name": "Male_sterilization_fp", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Male sterilization" + }, + { + "name": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "None" + }, + { + "name": "Not_applicable", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Not applicable" + } + ], + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ], + "required_status": "yes:Please select a family planning method" + }, + { + "name": "side_effects_sterilization", + "type": "multi_choice_checkbox", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Family planning side-effects" + }, + "options": [ + { + "name": "Incisional_bleeding", + "text": "Incisional bleeding", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Pus_Discharge_from_incision", + "text": "Pus/Discharge from incision", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Swollen_around_the_incision", + "text": "Swollen around the incision", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Others", + "text": "Others", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Not_applicable", + "text": "Not applicable", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "problem" + ], + "required_status": "yes:Family planning side-effects is required", + "subjects": "fp_method_accepted_referral:map" + }, + { + "name": "side_effects_iucd", + "type": "multi_choice_checkbox", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Family planning side-effects" + }, + "options": [ + { + "name": "Severe_pain_inside_the_vagina_after_IUD_was_put_in", + "text": "Severe pain inside the vagina after IUD was put in", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in", + "text": "Cramping or backaches for a few days after the IUD is put in", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Spotting_between_periods_and_or_irregular_periods", + "text": "Spotting between periods and/or irregular periods", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Heavier_periods_and_worse_menstrual_cramps", + "text": "Heavier periods and worse menstrual cramps", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "IUCD_explusion", + "text": "IUCD explusion", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Others", + "text": "Others", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Not_applicable", + "text": "Not applicable", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "problem" + ], + "required_status": "yes:Family planning side-effects is required", + "subjects": "fp_method_accepted_referral:map" + }, + { + "name": "side_effects_implant", + "type": "multi_choice_checkbox", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Family planning side-effects" + }, + "options": [ + { + "name": "Insertion_site_infected_pus_discharge", + "text": "Insertion site infected - pus/discharge", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Insertion_site_swollen", + "text": "Insertion site swollen", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Implant_expulsion", + "text": "Implant expulsion", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "144458AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Heavy_bleeding", + "text": "Heavy bleeding", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Others", + "text": "Others", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Not_applicable", + "text": "Not applicable", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "problem" + ], + "required_status": "yes:Family planning side-effects is required", + "subjects": "fp_method_accepted_referral:map" + }, + { + "name": "side_effects_inject_pills", + "type": "multi_choice_checkbox", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Family planning side-effects" + }, + "options": [ + { + "name": "Heavy_bleeding_", + "text": "Heavy bleeding", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Irregular_periods", + "text": "Irregular periods", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Others", + "text": "Others", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Not_applicable", + "text": "Not applicable", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "problem" + ], + "required_status": "yes:Family planning side-effects is required", + "subjects": "fp_method_accepted_referral:map" + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Other side effects" + }, + "required_status": "yes:Family planning side-effects is required", + "dependent_calculations": [ + "problem" + ], + "subjects": "side_effects_sterilization:map, side_effects_iucd:map, side_effects_implant:map, side_effects_inject_pills:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json new file mode 100644 index 0000000000..2a614958a8 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json @@ -0,0 +1,192 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/gbv_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Gender-based violence services Referral Form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick problem/condition associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "has_moved_out_from_home", + "text": "Has moved out from home", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "has_moved_out_from_home", + "openmrs_entity_parent": "" + } + }, + { + "name": "ulcers_and_scars", + "text": "Ulcers and scars", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "ulcers_and_scars", + "openmrs_entity_parent": "" + } + }, + { + "name": "is_weak", + "text": "Is weak", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "is_weak", + "openmrs_entity_parent": "" + } + }, + { + "name": "needs_more_services", + "text": "Needs more services", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "needs_more_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "has_great_level_of_stress_and_fear", + "text": "Has great level of stress and fear", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "has_great_level_of_stress_and_fear", + "openmrs_entity_parent": "" + } + }, + { + "name": "threatened_to_be_killed", + "text": "Threatened to be killed", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "threatened_to_be_killed", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Other Symptom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json new file mode 100644 index 0000000000..afad296b31 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json @@ -0,0 +1,223 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Clinic of Treatment and Care Referral form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick problem/condition associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "pain", + "text": "Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "Coughing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Other Symptom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "service_before_referral", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pre referral management given." + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "service_before_referral", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "cotrimoxazole", + "text": "Cotrimoxazole", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_parent": "" + } + }, + { + "name": "aspirin", + "text": "Aspirin", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "aspirin", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_treatment", + "text": "Other treatment", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other_treatment", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify pre referral managements given" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Treatment", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "service_before_referral_other", + "openmrs_entity_parent": "service_before_referral" + }, + "required_status": "true:Please specify other treatment given", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json new file mode 100644 index 0000000000..f7ea38452f --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json @@ -0,0 +1,174 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "HIV Testing Services Referral Form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick problem/condition associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "frequent_fever", + "text": "Frequent fever", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "frequent_fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "weight_loss", + "text": "Weight loss", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "weight_loss", + "openmrs_entity_parent": "" + } + }, + { + "name": "living_with_a_spouse_with_hiv", + "text": "Living with HIV+ spouse", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "living_with_a_spouse_with_hiv", + "openmrs_entity_parent": "" + } + }, + { + "name": "living_in_a_risky_area", + "text": "Risk area/location", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "living_in_a_risky_area", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Other Symptom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/malaria_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/malaria_referral_form.json new file mode 100644 index 0000000000..c2d9dada9a --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/malaria_referral_form.json @@ -0,0 +1,396 @@ +{ + "form": "Malaria Referral", + "encounter_type": "Malaria Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Malaria Referral", + "fields": [ + { + "name": "problem", + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "type": "multi_choice_checkbox", + "properties": { + "text": "Details of the patient's problem" + }, + "options": [ + { + "name": "Fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Diarrhea", + "text": "Diarrhea", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Vomiting", + "text": "Vomiting", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Nausea", + "text": "Nausea", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Trembling", + "text": "Trembling, shivering", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "A_severe_headache_dizziness", + "text": "A severe headache / dizziness", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Sweating", + "text": "Sweating", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "140941AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_abdominal_pain", + "text": "Severe abdominal pain", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Muscle_pain", + "text": "Muscle pain", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "133632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Sweling_of_the_face_and_or_hands", + "text": "Sweling of the face and/or hands", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "163894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Difficult_in_breathing_fast_and_laboured_breathing", + "text": "Difficult in breathing (fast and laboured breathing)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Convulsions", + "text": "Convulsions", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Very_weak", + "text": "Very weak", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5226AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Irritable_easily_disturbed", + "text": "Irritable (easily disturbed)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "118296AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Unconcious", + "text": "Unconcious", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "123818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Unusually_sleepy", + "text": "Unusually sleepy", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "117417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Neck_stiffness", + "text": "Neck stiffness", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Unable_to_sit_without_support", + "text": "Unable to sit without support", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "123833AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Abnormal_bleeding_or_passing_of_urine_with_blood", + "text": "Abnormal bleeding or passing of urine with blood", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_anaemia_pale_palms_and_inner_eyelids", + "text": "Severe anaemia (pale palms and inner eyelids)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Yellowing_of_the_eyes_jaundice", + "text": "Yellowing of the eyes (jaundice)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_malnutrition", + "text": "Severe malnutrition", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "163302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Bloating", + "text": "Bloating", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify problem associated with the client", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "service_before_referral", + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "service_before_referral" + }, + "type": "multi_choice_checkbox", + "properties": { + "text": "Treatment given before the referral" + }, + "options": [ + { + "name": "Rectal_artesunate", + "text": "Rectal artesunate", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "71561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Panadol", + "text": "Panadol", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "ORS", + "text": "ORS", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_treatment", + "text": "Other treatment", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Treatment given before referral is required" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Other treatment" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/male_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/male_fp_referral_form.json new file mode 100644 index 0000000000..deb125caee --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/male_fp_referral_form.json @@ -0,0 +1,253 @@ +{ + "form": "Family Planning Referral", + "encounter_type": "Family Planning Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/family_planning_referral_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Family Planning Referral", + "fields": [ + { + "name": "fp_method_accepted_referral", + "type": "radio_group", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "FP method chosen requiring a referral" + }, + "options": [ + { + "name": "Male_condom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Male condom" + }, + { + "name": "Female_condom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Female condom" + }, + { + "name": "Male_sterilization", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Male sterilization" + }, + { + "name": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "None" + }, + { + "name": "Not_applicable", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "text": "Not applicable" + } + ], + "required_status": "yes:Please select a family planning method", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "side_effects_sterilization", + "type": "multi_choice_checkbox", + "meta_data": { + "openmrs_entity": "side_effects_sterilization", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Family planning side-effects" + }, + "options": [ + { + "name": "Incisional_bleeding", + "text": "Incisional bleeding", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Pus_Discharge_from_incision", + "text": "Pus/Discharge from incision", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Swollen_around_the_incision", + "text": "Swollen around the incision", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Others", + "text": "Others", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "None", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "is_exclusive": true + }, + { + "name": "Not_applicable", + "text": "Not applicable", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "problem" + ], + "required_status": "yes:Family planning side-effects is required", + "subjects": "fp_method_accepted_referral:map" + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Other side effects" + }, + "required_status": "yes:Please specify other side effects", + "dependent_calculations": [ + "problem" + ], + "subjects": "side_effects_sterilization:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json new file mode 100644 index 0000000000..6cc0407f1c --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json @@ -0,0 +1,522 @@ +{ + "form": "PNC Referral", + "encounter_type": "PNC Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "PNC referral form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick condition/problem associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "options": [ + { + "name": "Vaginal_bleeding", + "text": "Vaginal bleeding", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Discoloured_or_watery_liquid_vaginal_discharge", + "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_abdominal_pain", + "text": "Severe abdominal pain", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Severe_anaemia", + "text": "Severe anaemia", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Convulsions", + "text": "Convulsions", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "A_severe_headache_dizziness", + "text": "A severe headache / dizziness", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Swelling_of_the_face_and_or_hands", + "text": "Swelling of the face and/or hands", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Shivering_trembling", + "text": "Shivering/trembling", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Nausea", + "text": "Nausea", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Vomiting", + "text": "Vomiting", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Cord_prolapse", + "text": "Cord prolapse", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "113617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Perineum_bleeding", + "text": "Perineum bleeding", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fullness_or_pain_of_the_breasts", + "text": "Breast engorgement", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "HIV_care_and_support_services", + "text": "HIV care and support services", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Family_planning_services", + "text": "Family planning services", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "PMTCT_for_mothers", + "text": "PMTCT for mothers", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fistula", + "text": "Fistula", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Fast_breathing_and_difficulty_with_breathing", + "text": "Fast breathing and difficulty with breathing", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Umbilical_cord", + "text": "Umbilical cord/navel bleeding", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Excessive_crying", + "text": "Excessive crying", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Unable_to_breastfeed_or_swallow", + "text": "Unable to breastfeed or swallow", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Neck_stiffness", + "text": "Neck stiffness", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Bloating", + "text": "Bloating", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Redness_around_the_umbilical_cord_foul", + "text": "Redness around the umbilical cord, foul-smelling discharge from the umbilical cord", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Bacterial_conjunctivitis", + "text": "Bacterial conjunctivitis", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Pale_or_jaundiced", + "text": "Pale or jaundiced", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Cyanosis_blueness_of_lips", + "text": "Cyanosis (blueness of lips)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Skin_rash_pustules", + "text": "Skin rash / pustules", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Diarrhea", + "text": "Diarrhea", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Disabilities", + "text": "Congenital Disabilities", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Premature_baby", + "text": "Premature baby", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Failure_to_pass_urine_or_stool", + "text": "Failure to pass urine or stool within 24 hours after birth", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "Care_of_HIV_exposed_infant", + "text": "Care of HIV-exposed infant", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Immunisation", + "text": "Immunisation", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Other symptom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "service_before_referral", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pre-referral management given." + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "ORS", + "text": "ORS", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Panadol", + "text": "Panadol", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_treatment", + "text": "Other treatment", + "meta_data": { + "ignore": true, + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "None", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "Pre-referral management field is required", + "subjects": "problem:map" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "properties": { + "hint": "Other Treatment", + "type": "name" + }, + "required_status": "true:Please specify other treatment given", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json new file mode 100644 index 0000000000..92a6bab2b1 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json @@ -0,0 +1,221 @@ +{ + "form": "Pregnancy Confirmation Referral", + "encounter_type": "Pregnancy Confirmation Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/pregnancy_confirmation_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Pregnancy Confirmation Referral", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick condition/problem associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "loss_of_menstrual_period", + "text": "Loss of Menstrual Period", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_menstrual_period", + "openmrs_entity_parent": "" + } + }, + { + "name": "vomiting", + "text": "Vomiting", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "vomiting", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "severe_headache", + "text": "Severe Headache", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "severe_headache", + "openmrs_entity_parent": "" + } + }, + { + "name": "nausea", + "text": "Nausea", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "nausea", + "openmrs_entity_parent": "" + } + }, + { + "name": "feeling_lightheaded_or_dizzy", + "text": "Feeling lightheaded or dizzy", + "meta_data": { + "openmrs_entity": "conceptc", + "openmrs_entity_id": "feeling_lightheaded_or_dizzy", + "openmrs_entity_parent": "" + } + }, + { + "name": "frequent_urination", + "text": "Frequent urination", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "frequent_urination", + "openmrs_entity_parent": "" + } + }, + { + "name": "painful_breasts", + "text": "Painful breasts", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "painful_breasts", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_symptoms", + "text": "Other symptoms", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_symptoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify reason for Pregnancy Confirmation referral", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status", + "service_before_referral" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/referral_form.json new file mode 100644 index 0000000000..34bfad9c86 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/referral_form.json @@ -0,0 +1,187 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Referral form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick problem/condition associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "options": [ + { + "name": "Other_symptom", + "text": "Other Symptom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "service_before_referral", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pre referral management given." + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "Other_treatment", + "text": "Other treatment", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify pre referral managements given" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Treatment", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "required_status": "true:Please specify other treatment given", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/tb_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/tb_referral_form.json new file mode 100644 index 0000000000..c3ccb045bb --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/tb_referral_form.json @@ -0,0 +1,223 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Clinic Of Tuberculosis Treatment Referral form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick problem/condition associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "options": [ + { + "name": "history_of_coughing_for_more_than_two_weeks", + "text": "History of coughing for more than two weeks (HIV-)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "history_of_coughing_for_more_than_two_weeks", + "openmrs_entity_parent": "" + } + }, + { + "name": "persistent_coughing_hiv_positive", + "text": "Persistent coughing (HIV+)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "persistent_coughing_hiv_positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "night_sweats", + "text": "Night sweats", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "night_sweats", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Other Symptom", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other symptoms", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "service_before_referral", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pre referral management given." + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "Other_treatment", + "text": "Other treatment", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify pre referral managements given" + }, + { + "name": "service_before_referral_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Treatment", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "required_status": "true:Please specify other treatment given", + "subjects": "service_before_referral:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/routine_home_visit.json b/opensrp-chw/src/nacp/assets/json.form/routine_home_visit.json new file mode 100644 index 0000000000..7b7c7a4358 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/routine_home_visit.json @@ -0,0 +1,185 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "1", + "encounter_type": "Counseling", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Counselling", + "fields": [ + { + "key": "counselling_1m5yrs", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling", + "type": "check_box", + "label": "Counselling provided", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_maternal_nutrition", + "text": "3. Maternal nutrition during breastfeeding", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_hiv_aids", + "text": "5. HIV/AIDS general information", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_pmtc_for_mother", + "text": "6. PMTCT for the mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_malaria_prevention", + "text": "7. Malaria prevention", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_hiv_exposed_infant", + "text": "15. Follow-up for the HIV-exposed infant", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_breast_feeding", + "text": "16. Breastfeeding", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_birth_registration", + "text": "19. Birth registration", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_complementary_feeding", + "text": "20. Complementary feeding", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_growth_and_dev", + "text": "21. Growth and development", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_immunization", + "text": "22. Immunisation", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_newborn_danger", + "text": "23. Newborn danger signs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_infection", + "text": "24. Infection prevention and control", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_prevention_of_accidents", + "text": "25. Prevention of accidents", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_gender_issues", + "text": "26. Gender issues", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": true, + "err": "Please specify any other symptoms or select none" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/stock_usage_report.json b/opensrp-chw/src/nacp/assets/json.form/stock_usage_report.json new file mode 100644 index 0000000000..24fd351619 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/stock_usage_report.json @@ -0,0 +1,99 @@ +{ + "count": "1", + "encounter_type": "Stock Usage Report", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Stock Report", + "fields": [ + { + "key": "stock_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "stock_name", + "type": "edit_text", + "hint": "Stock Name", + "value": "" + }, + { + "key": "stock_year", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "stock_year", + "type": "edit_text", + "hint": "Stock Year", + "value": "" + }, + { + "key": "stock_month", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "stock_month", + "type": "edit_text", + "hint": "Stock Month", + "value": "" + }, + { + "key": "stock_usage", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "stock_usage", + "type": "edit_text", + "hint": "Stock Usage", + "value": "" + }, + { + "key": "stock_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "stock_provider", + "type": "edit_text", + "hint": "Stock Provider", + "value": "" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/tb_case_closure.json b/opensrp-chw/src/nacp/assets/json.form/tb_case_closure.json new file mode 100644 index 0000000000..5af5debd12 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/tb_case_closure.json @@ -0,0 +1,141 @@ +{ + "form": "TB Case Closure form", + "count": "1", + "encounter_type": "TB Case Closure", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_case_closure_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "TB Close Case form", + "fields": [ + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Condition of the client" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Client does her daily activities", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Client takes care of him/herself (Bathing, Eating)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Client is unable to take care of him/herself", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's condition", + "dependent_calculations": [ + "tb_case_closure_date" + ] + }, + { + "name": "completed_medication_as_required", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_medication_as_required", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client completed medication as required " + }, + "options": [ + { + "name": "yes", + "text": "yes", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "yes", + "openmrs_entity_parent": "" + } + }, + { + "name": "no", + "text": "no", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:This question is required" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/tb_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/tb_community_followup_feedback.json new file mode 100644 index 0000000000..c371dfedff --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/tb_community_followup_feedback.json @@ -0,0 +1,144 @@ +{ + "form": "TB Community Followup Feedback", + "count": "1", + "encounter_type": "TB Community Followup Feedback", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_community_followup_feedback_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "TB Community Followup Feedback", + "fields": [ + { + "name": "followup_status", + "type": "spinner", + "properties": { + "text": "Followup Feedback" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Clients continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the followup feedback", + "dependent_calculations": [ + "tb_community_followup_visit_date" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/tb_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form/tb_followup_visit.json new file mode 100644 index 0000000000..a2bd0c4463 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/tb_followup_visit.json @@ -0,0 +1,459 @@ +{ + "form": "TB Followup form", + "count": "1", + "encounter_type": "TB Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "TB Followup form", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Registration/Followup status" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "New Client", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Clients continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services ", + "text": "Client has completed and qualified from the services ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the registration/followup status", + "dependent_calculations": [ + "tb_followup_visit_date" + ] + }, + { + "name": "client_condition", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_condition", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Condition of the client" + }, + "options": [ + { + "name": "client_does_her_daily_activities", + "text": "Client does her daily activities", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_her_daily_activities", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_takes_care_of_himself", + "text": "Client takes care of him/herself (Bathing, Eating)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_takes_care_of_himself", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_is_unable_to_take_care_of_himself", + "text": "Client is unable to take care of him/herself", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's condition", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick problem/Social challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "other_problems", + "text": "Other Problems", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Problems", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "client_behaviour_and_environmental_risk", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_behaviour_and_environmental_risk", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's behaviour & environmental risks" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + }, + { + "name": "alcoholism", + "text": "Alcoholism", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "alcoholism", + "openmrs_entity_parent": "" + } + }, + { + "name": "vulnerable_environment", + "text": "Clients lives in a vulnerable environment", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "vulnerable_environment", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_positive", + "text": "Client is HIV Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_positive", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's behaviour", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Supplies/medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "other_medicine", + "text": "Other treatment", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies/medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Supplies/Medicine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Please specify other supplies/Medicine given", + "subjects": "supplies_provided:map" + }, + { + "name": "tb_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "TB services provided by CHW at the community" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "other_services", + "text": "Other TB services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_tb_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please TB services provided", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "tb_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other TB Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_services_provided_other", + "openmrs_entity_parent": "tb_services_provided" + }, + "required_status": "true:Please specify other TB services provided", + "subjects": "tb_services_provided:map" + }, + { + "name": "state_of_therapy", + "type": "spinner", + "properties": { + "text": "State of therapy and (TB) care" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Registered in TB clinic but hasn't begun TB/DR-TB medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Registered in TB clinic and uses TB/ DR TB medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_tb_clinic", + "text": "Client is not registed in TB clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_tb_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the state of TB therapy", + "subjects": "registration_or_followup_status:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/tb_registration.json b/opensrp-chw/src/nacp/assets/json.form/tb_registration.json new file mode 100644 index 0000000000..cdb6125a42 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/tb_registration.json @@ -0,0 +1,339 @@ +{ + "form": "TB Registration form", + "count": "1", + "encounter_type": "TB Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/tb_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "TB Clients Registration form", + "fields": [ + { + "name": "community_client_tb_registration_number", + "type": "text_input_edit_text", + "properties": { + "hint": "Client TB Clinic Registration Number" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community_client_tb_registration_number", + "openmrs_entity_parent": "" + }, + "required_status": "no" + }, + { + "name": "client_tb_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's TB status during registration" + }, + "options": [ + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify Client's TB status during registration", + "dependent_calculations": [ + "tb_registration_date" + ] + }, + { + "name": "place_of_domicile", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "place_of_domicile", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Place of Domicile" + }, + "options": [ + { + "name": "a_family_with_tb_patient", + "text": "A family with TB patient", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "a_family_with_tb_patient", + "openmrs_entity_parent": "" + } + }, + { + "name": "a_family_without_tb_patient", + "text": "A family without TB patient", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "a_family_without_tb_patient", + "openmrs_entity_parent": "" + } + }, + { + "name": "community_gathering", + "text": "Community Gathering", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community_gathering", + "openmrs_entity_parent": "" + } + }, + { + "name": "pharmacy", + "text": "Pharmacy", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pharmacy", + "openmrs_entity_parent": "" + } + }, + { + "name": "traditional_doctors", + "text": "Traditional doctors", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "traditional_doctors", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify place of domicile" + }, + { + "name": "district_council_number_of_current_tb_client", + "type": "text_input_edit_text", + "properties": { + "hint": "District council number of the TB client in the family" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "district_council_number_of_current_tb_client", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Fill in the district council number of the TB client in the family", + "subjects": "place_of_domicile:text" + }, + { + "name": "community_gathering", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "community_gathering", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Type of community gathering" + }, + "options": [ + { + "name": "school", + "text": "School", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "school", + "openmrs_entity_parent": "" + } + }, + { + "name": "worship_houses", + "text": "Worship houses", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "worship_houses", + "openmrs_entity_parent": "" + } + }, + { + "name": "mining", + "text": "Mining", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mining", + "openmrs_entity_parent": "" + } + }, + { + "name": "public_meetings", + "text": "Public meetings", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "public_meetings", + "openmrs_entity_parent": "" + } + }, + { + "name": "prison", + "text": "Prison", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prison", + "openmrs_entity_parent": "" + } + }, + { + "name": "others", + "text": "Others", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "others", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the type of community gathering", + "subjects": "place_of_domicile:text" + }, + { + "name": "other_community_gathering", + "type": "text_input_edit_text", + "properties": { + "hint": "Specify other community gathering" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_community_gathering", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please specify other community gathering", + "subjects": "community_gathering:text" + }, + { + "name": "client_screening_results", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_screening_results", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's screening results" + }, + "options": [ + { + "name": "coughing", + "text": "Coughing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "hemoptysis", + "text": "Sputum with blood (hemoptysis) ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hemoptysis", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "weight_lose", + "text": "Weight lose", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "weight_lose", + "openmrs_entity_parent": "" + } + }, + { + "name": "history_of_night_sweats", + "text": "History of night sweats", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "history_of_night_sweats", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify clients screening results" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/mother_vaccines.json b/opensrp-chw/src/nacp/assets/mother_vaccines.json new file mode 100644 index 0000000000..0637a088a0 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/mother_vaccines.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/recurring_service_types.json b/opensrp-chw/src/nacp/assets/recurring_service_types.json new file mode 100644 index 0000000000..be369cb5ff --- /dev/null +++ b/opensrp-chw/src/nacp/assets/recurring_service_types.json @@ -0,0 +1,338 @@ +[ + { + "type": "Vitamin A", + "service_logic": "", + "service_group": "child", + "openmrs_service_name": { + "parent_entity": "", + "entity": "concept", + "entity_id": "86339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_date": { + "parent_entity": "", + "entity": "encounter", + "entity_id": "encounter_date" + }, + "services": [ + { + "id": "13", + "name": "Vitamin A1", + "schedule": { + "due": { + "reference": "dob", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "14", + "name": "Vitamin A2", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Vitamin A1", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "15", + "name": "Vitamin A3", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Vitamin A2", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "16", + "name": "Vitamin A4", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Vitamin A3", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "17", + "name": "Vitamin A5", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Vitamin A4", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "18", + "name": "Vitamin A6", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Vitamin A5", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "19", + "name": "Vitamin A7", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Vitamin A6", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "20", + "name": "Vitamin A8", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Vitamin A7", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "21", + "name": "Vitamin A9", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Vitamin A8", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "30", + "name": "Vitamin A10", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Vitamin A9", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + } + ] + }, + { + "type": "Deworming", + "service_logic": "", + "service_group": "child", + "openmrs_service_name": { + "parent_entity": "", + "entity": "concept", + "entity_id": "159922AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_date": { + "parent_entity": "", + "entity": "encounter", + "entity_id": "encounter_date" + }, + "services": [ + { + "id": "22", + "name": "Deworming 1", + "schedule": { + "due": { + "reference": "dob", + "offset": "+1y", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "23", + "name": "Deworming 2", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Deworming 1", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "24", + "name": "Deworming 3", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Deworming 2", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "25", + "name": "Deworming 4", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Deworming 3", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "26", + "name": "Deworming 5", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Deworming 4", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "27", + "name": "Deworming 6", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Deworming 5", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "28", + "name": "Deworming 7", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Deworming 6", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "29", + "name": "Deworming 8", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Deworming 7", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + }, + { + "id": "31", + "name": "Deworming 9", + "schedule": { + "due": { + "reference": "prerequisite", + "prerequisite": "Deworming 8", + "offset": "+6m", + "window": "+10d" + }, + "expiry": { + "reference": "dob", + "offset": "+5y" + } + } + } + ] + } +] \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml new file mode 100644 index 0000000000..5c7b0ac535 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml @@ -0,0 +1,42 @@ +--- +name: step2_age_calculated +description: Age calculated +priority: 1 +condition: "true" +actions: + - "calculation = (!step2_dob_unknown.isEmpty() && step2_dob_unknown.contains('dob_unknown')) ? step2_age : helper.getDifferenceDays(step2_dob) / 365.25" +--- +name: step2_wra +description: wra calculation +priority: 1 +condition: "step2_sex == 'Female' && (step2_age_calculated >= 10 && step2_age_calculated <= 49)" +actions: + - "calculation = 1" +--- +name: step2_surname +description: set surname as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_fam_name" +--- +name: step2_first_name +description: set surname as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_client_first_name" +--- +name: step2_middle_name +description: set surname as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_client_middle_name" +--- +name: step2_reasons_for_registration +description: set reasons for registration +priority: 1 +condition: "true" +actions: + - "calculation = ((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15)) ? step2_reasons_for_registration_under_15 : (step2_sex.equalsIgnoreCase('Female') ? step2_reasons_for_registration_female_15 : step2_reasons_for_registration_male_15)" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml new file mode 100644 index 0000000000..480b3d2971 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml @@ -0,0 +1,120 @@ +--- +name: step2_dob +description: dob relevance +priority: 1 +condition: "!step2_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step2_age +description: age relevance +priority: 1 +condition: "step2_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step2_phone_number +description: phone number relevance +priority: 1 +condition: "step2_is_primary_caregiver == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step2_id_avail +description: identity relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step2_service_provider +description: service_provider relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step2_leader +description: leader relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step2_marital_status +description: marital_status relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 14) || (step2_age != '' && step2_age >= 14)" +actions: + - "isRelevant = true" + +--- +name: step2_preg_1yr +description: pregnance 1yr relevance +priority: 1 +condition: "step2_wra == 1" +actions: + - "isRelevant = true" +--- +name: step2_insurance_provider_other +description: insurance_provider_other relevance +priority: 1 +condition: "!step2_insurance_provider.isEmpty() && step2_insurance_provider.equals('Other')" +actions: + - "isRelevant = true" +--- +name: step2_insurance_provider_number +descripltion: insurance number relevance +priority: 1 +condition: "!step2_insurance_provider.isEmpty() && !step2_insurance_provider.contains('None')" +actions: + - "isRelevant = true" +--- +name: step2_type_of_disability +description: type_of_disability relevance +priority: 1 +condition: "step2_disabilities.equals('Yes')" +actions: + - "isRelevant = true" +--- +name: step2_preg_1yr +description: pregnance 1yr relevance +priority: 1 +condition: "step2_wra == 1" +actions: + - "isRelevant = true" +--- +name: step2_primary_caregiver_name +description: ask primary caregiver name +priority: 1 +condition: "step2_has_primary_caregiver == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step2_other_phone_number +description: as primary caregiver phone number +priority: 1 +condition: "step2_has_primary_caregiver == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step2_reasons_for_registration_male_15 +description: Show up if client is male and age 15 above +priority: 1 +condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 15) || (step2_age != '' && step2_age >= 15)) && step2_sex.equals('Male') " +actions: + - "isRelevant = true" +--- +name: step2_reasons_for_registration_female_15 +description: Show up if client is female and age 15 above +priority: 1 +condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 15) || (step2_age != '' && step2_age >= 15))&& step2_sex.equals('Female')" +actions: + - "isRelevant = true" +--- +name: step2_reasons_for_registration_under_15 +description: Show up if client is below 15 +priority: 1 +condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15))" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_calculation.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_calculation.yml new file mode 100644 index 0000000000..9fa01dc9be --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_calculation.yml @@ -0,0 +1,21 @@ +--- +name: step1_age_calculated +description: Age calculated +priority: 1 +condition: "true" +actions: + - "calculation = (!step1_dob_unknown.isEmpty() && step1_dob_unknown.contains('dob_unknown')) ? step1_age : helper.getDifferenceDays(step1_dob) / 365.25" +--- +name: step1_wra +description: wra calculation +priority: 1 +condition: "step1_sex == 'Female' && (step1_age_calculated >= 10 && step1_age_calculated <= 49)" +actions: + - "calculation = 1" +--- +name: step1_reasons_for_registration +description: set reasons for registration +priority: 1 +condition: "true" +actions: + - "calculation = ((step1_dob != '' && helper.formatDate(step1_dob,'y') < 15) || (step1_age != '' && step1_age < 15)) ? step1_reasons_for_registration_under_15 : (step1_sex.equalsIgnoreCase('Female') ? step1_reasons_for_registration_female_15 : step1_reasons_for_registration_male_15)" diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml new file mode 100644 index 0000000000..51a4487ebf --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml @@ -0,0 +1,121 @@ +--- +name: step1_dob +description: dob relevance +priority: 1 +condition: "!step1_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step1_age +description: age relevance +priority: 1 +condition: "step1_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step1_phone_number +description: phone number relevance +priority: 1 +condition: "step1_is_primary_caregiver == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step1_id_avail +description: identity relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +actions: + - "isRelevant = true" + +--- +name: step1_preg_1yr +description: pregnance 1yr relevance +priority: 1 +condition: "step1_wra == 1" +actions: + - "isRelevant = true" +--- +name: step1_insurance_provider_other +description: insurance_provider_other relevance +priority: 1 +condition: "!step1_insurance_provider.isEmpty() && step1_insurance_provider.equals('Other')" +actions: + - "isRelevant = true" +--- +name: step1_insurance_provider_number +descripltion: insurance number relevance +priority: 1 +condition: "!step1_insurance_provider.isEmpty() && !step1_insurance_provider.contains('None')" +actions: + - "isRelevant = true" +--- +name: step1_type_of_disability +description: type_of_disability relevance +priority: 1 +condition: "step1_disabilities.equals('Yes')" +actions: + - "isRelevant = true" +--- +name: step1_preg_1yr +description: pregnance 1yr relevance +priority: 1 +condition: "step1_wra == 1" +actions: + - "isRelevant = true" +--- +name: step1_primary_caregiver_name +description: ask primary caregiver name +priority: 1 +condition: "step1_has_primary_caregiver == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step1_other_phone_number +description: as primary caregiver phone number +priority: 1 +condition: "step1_has_primary_caregiver == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step1_service_provider +description: service_provider relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step1_leader +description: leader relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step1_marital_status +description: marital_status relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 14) || (step1_age != '' && step1_age >= 14)" +actions: + - "isRelevant = true" +--- +name: step1_reasons_for_registration_male_15 +description: Show up if client is male and age 15 above +priority: 1 +condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') >= 15) || (step1_age != '' && step1_age >= 15)) && step1_sex.equals('Male') " +actions: + - "isRelevant = true" +--- +name: step1_reasons_for_registration_female_15 +description: Show up if client is female and age 15 above +priority: 1 +condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') >= 15) || (step1_age != '' && step1_age >= 15))&& step1_sex.equals('Female')" +actions: + - "isRelevant = true" +--- +name: step1_reasons_for_registration_under_15 +description: Show up if client is below 15 +priority: 1 +condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') < 15) || (step1_age != '' && step1_age < 15))" +actions: + - "isRelevant = true" + diff --git a/opensrp-chw/src/nacp/assets/rule/anc-home-visit-rules.yml b/opensrp-chw/src/nacp/assets/rule/anc-home-visit-rules.yml new file mode 100644 index 0000000000..ff762b5064 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/anc-home-visit-rules.yml @@ -0,0 +1,46 @@ +--- +name: expiry +description: expire lmp greter than 1 yr +priority: 1 +condition: "ancVisitAlertRule.isExpiry()" +actions: + - "ancVisitAlertRule.buttonStatus = 'EXPIRY'" +--- +name: visit_not_done +description: press visit not done in this month +priority: 1 +condition: "ancVisitAlertRule.isVisitNotDone()" +actions: + - "ancVisitAlertRule.buttonStatus = 'NOT_VISIT_THIS_MONTH'" +--- +name: visit_twenty_four +description: visit within twenty four hours +priority: 2 +condition: "ancVisitAlertRule.isVisitWithinTwentyFour()" +actions: + - "ancVisitAlertRule.buttonStatus = 'LESS_TWENTY_FOUR'" + +--- +name: visit_this_month +description: visit grether than 24 hours but within this month +priority: 3 +condition: "ancVisitAlertRule.isVisitWithinThisMonth()" +actions: + - "ancVisitAlertRule.buttonStatus = 'VISIT_THIS_MONTH'" + +--- +name: overdue +description: previous month not visited +priority: 2 +condition: "ancVisitAlertRule.isOverdueWithinMonth(1)" +actions: + - "ancVisitAlertRule.buttonStatus = 'OVERDUE'" + +--- +name: due +description: due first day of month and same month +priority: 3 +condition: "ancVisitAlertRule.isDueWithinMonth()" +actions: + - "ancVisitAlertRule.buttonStatus = 'DUE'" + diff --git a/opensrp-chw/src/nacp/assets/rule/anc_hv_health_facility_visit.yml b/opensrp-chw/src/nacp/assets/rule/anc_hv_health_facility_visit.yml new file mode 100644 index 0000000000..4544e61d92 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/anc_hv_health_facility_visit.yml @@ -0,0 +1,14 @@ +name: step1_other_imm_medicine_given +description: other_imm_medicine_given relevance +priority: 1 +condition: "step1_imm_medicine_given.contains('chk_other')" +actions: + - "isRelevant = true" + +--- +name: step1_llin_given +description: llin given after the first visit +priority: 1 +condition: "step1_confirmed_visits == 0 " +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/anc_hv_observations.yml b/opensrp-chw/src/nacp/assets/rule/anc_hv_observations.yml new file mode 100644 index 0000000000..a714c9ad2c --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/anc_hv_observations.yml @@ -0,0 +1,6 @@ +name: step1_other_treatment_illness +description: other_treatment_illness relevance +priority: 1 +condition: "step1_action_taken.contains('chk_other_treatment')" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml new file mode 100644 index 0000000000..ad416dd381 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml @@ -0,0 +1,46 @@ +--- +name: step1_gest_age +description: Gestational age calculated +priority: 1 +condition: "true" +actions: + - "calculation = (helper.getDifferenceDays(step1_edd != '' ? helper.subtractDuration(step1_edd,'280d') : step1_last_menstrual_period)-helper.getDifferenceDays(helper.getDateToday())) /7" + +--- +name: step1_gest_age_note +description: Gestational age calculated +priority: 1 +condition: "true" +actions: + - "calculation = step1_gest_age + ' weeks'" + +--- +name: step1_edd +description: Edd calculated +priority: 1 +condition: "true" +actions: + - "calculation = step1_last_menstrual_period != '' ? helper.addDuration(step1_last_menstrual_period,'280d') : ''" + +--- +name: step1_gravida +description: gravida calculated +priority: 1 +condition: "true" +actions: + - "calculation = step1_no_prev_preg + 1" +--- +name: step1_last_menstrual_period +description: last_menstrual_period calculated +priority: 1 +condition: "true" +actions: + - "calculation = helper.subtractDuration(step1_edd,'280d')" + +--- +name: step1_edd_note +description: Edd calculated +priority: 1 +condition: "true" +actions: + - "calculation = step1_edd != '' ? step1_edd : helper.addDuration(step1_last_menstrual_period,'280d')" diff --git a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_relevance.yml b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_relevance.yml new file mode 100644 index 0000000000..d1e24b7548 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_relevance.yml @@ -0,0 +1,52 @@ +--- +name: step1_name_person_assist +description: assist person relevance +priority: 1 +condition: "step1_person_assist == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step1_phone_person_assist +description: assist person phone number relevance +priority: 1 +condition: "step1_person_assist == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step1_last_menstrual_period +description: lmp_entered relevance +priority: 1 +condition: "!step1_last_menstrual_period_unknown.contains('lmp_unknown')" +actions: + - "isRelevant = true" +--- +name: step1_edd +description: edd relevance +priority: 1 +condition: "step1_last_menstrual_period_unknown.contains('lmp_unknown')" +actions: + - "isRelevant = true" + +--- +name: step1_delivery_method +description: delivery_method relevance +priority: 1 +condition: "step1_no_prev_preg >= 2" +actions: + - "isRelevant = true" + +--- +name: step1_delivery_method_one +description: delivery_method relevance +priority: 1 +condition: "step1_no_prev_preg == 1" +actions: + - "isRelevant = true" + +--- +name: step1_no_surv_children +description: no_surv_children relevance +priority: 1 +condition: "step1_no_prev_preg >= 1" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/anc_pregnancy_outcome_calculation.yml b/opensrp-chw/src/nacp/assets/rule/anc_pregnancy_outcome_calculation.yml new file mode 100644 index 0000000000..d87ec9d542 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/anc_pregnancy_outcome_calculation.yml @@ -0,0 +1,40 @@ +--- +name: step1_gest_age_delivery +description: Gestational age calculated +priority: 1 +condition: "true" +actions: + - "calculation = (helper.getDifferenceDays(step1_last_menstrual_period)-helper.getDifferenceDays(helper.getDateToday())) /7" + +--- +name: step1_surname_calculation +description: surname calculation +priority: 1 +condition: "true" +actions: + - "calculation = step1_same_as_fam_name_chk.contains('same_as_fam_name')? step1_fam_name : step1_surname" + +--- +name: step1_dob +description: calculate dob +priority: 1 +condition: "true" +actions: + - "calculation = step1_delivery_date"--- + +--- +name: step1_no_children +description: number_of_babies +priority: 1 +condition: "true" +actions: + - "calculation = step1_delivery_date" + +--- +name: step1_unique_id +description: calculate unique_id +priority: 1 +condition: "step1_preg_outcome == 'born_alive' || step1_preg_outcome == 'alive_with_problem'" +actions: + - "calculation = step1_temp_unique_id" + diff --git a/opensrp-chw/src/nacp/assets/rule/anc_pregnancy_outcome_relevance.yml b/opensrp-chw/src/nacp/assets/rule/anc_pregnancy_outcome_relevance.yml new file mode 100644 index 0000000000..d8d6bf8752 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/anc_pregnancy_outcome_relevance.yml @@ -0,0 +1,79 @@ +--- +name: step1_miscarriage_date +description: miscarriage_date +priority: 1 +condition: "step1_preg_outcome == 'miscarriage'" +actions: + - "isRelevant = true" + +--- +name: step1_delivery_date +description: delivery_date relevance +priority: 1 +condition: "step1_preg_outcome != 'miscarriage' && step1_preg_outcome != ''" +actions: + - "isRelevant = true" + +--- +name: step1_no_children +description: no_children relevance +priority: 1 +condition: "step1_preg_outcome == 'born_alive' || step1_preg_outcome == 'born_alive_died' || step1_preg_outcome == 'alive_with_problem'" +actions: + - "isRelevant = true" + +--- +name: step1_delivery_place +description: delivery_place relevance +priority: 1 +condition: "step1_preg_outcome != '' && step1_preg_outcome != 'miscarriage'" +actions: + - "isRelevant = true" + +--- +name: step1_delivery_home +description: delivery_home relevance +priority: 1 +condition: "step1_delivery_place == 'At home'" +actions: + - "isRelevant = true" + +--- +name: step1_delivery_hf +description: delivery_hf relevance +priority: 1 +condition: "step1_delivery_place =='At a health facility'" +actions: + - "isRelevant = true" + +--- +name: step1_no_children_no +description: no_children_no relevance +priority: 1 +condition: "step1_preg_outcome == 'born_alive' || step1_preg_outcome == 'alive_with_problem'" +actions: + - "isRelevant = true" + +--- +name: step1_baby_label +description: delivery_place relevance +priority: 1 +condition: "step1_preg_outcome == 'born_alive' || step1_preg_outcome == 'alive_with_problem'" +actions: + - "isRelevant = true" + +--- +name: step1_type_of_disability +description: type_of_disability relevance +priority: 1 +condition: "step1_disabilities == 'Yes'" +actions: + - "isRelevant = true" + +--- +name: step1_surname +description: surname relevance +priority: 1 +condition: "!step1_same_as_fam_name_chk.contains('same_as_fam_name')" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/anc_referral_calculation.yml b/opensrp-chw/src/nacp/assets/rule/anc_referral_calculation.yml new file mode 100644 index 0000000000..4dece59266 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/anc_referral_calculation.yml @@ -0,0 +1,24 @@ +--- +name: step1_referral_date_anc +description: Date ANC referral was submitted +priority: 1 +condition: "true" +actions: + - "def getDate(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(System.currentTimeMillis()); + }" + - "calculation = getDate('yyyy-MM-dd')" +--- +name: step1_referral_time_anc +description: Time ANC referral was submitted +priority: 1 +condition: "true" +actions: + - "def getTime(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(Calendar.getInstance().getTime()); + }" + - "calculation = getTime('hh:mm a')" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/anc_referral_relevance.yml b/opensrp-chw/src/nacp/assets/rule/anc_referral_relevance.yml new file mode 100644 index 0000000000..0a9cd469e7 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/anc_referral_relevance.yml @@ -0,0 +1,14 @@ +--- +name: step1_problem_hf_anc_other +description: Calculated age_at_death +priority: 1 +condition: "!step1_problem_hf_anc.isEmpty() && step1_problem_hf_anc.contains('Other_symptoms')" +actions: + - "isRelevant = true" +--- +name: step1_service_before_anc_other +description: Service +priority: 1 +condition: "!step1_service_before_anc.isEmpty() && step1_service_before_anc.contains('Other_treatment')" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/birth_certification.yml b/opensrp-chw/src/nacp/assets/rule/birth_certification.yml new file mode 100644 index 0000000000..96c1793aef --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/birth_certification.yml @@ -0,0 +1,35 @@ +--- +name: step1_birth_cert_issue_date +description: birth certification issue date +priority: 1 +condition: "step1_birth_cert == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step1_birth_cert_num +description: birth certification number +priority: 1 +condition: "step1_birth_cert == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step1_birth_notification +description: birth notification done +priority: 1 +condition: "step1_birth_cert == 'No'" +actions: + - "isRelevant = true" +--- +name: step1_birthinstroductions +description: birth notification and instruct +priority: 1 +condition: "step1_birth_notification == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step1_caregiverinstroductions +description: Note with instructions to the caregiver. +priority: 1 +condition: "step1_birth_notification == 'No'" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/child_referral_calculation.yml b/opensrp-chw/src/nacp/assets/rule/child_referral_calculation.yml new file mode 100644 index 0000000000..bea4179e6d --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/child_referral_calculation.yml @@ -0,0 +1,24 @@ +--- +name: step1_referral_date_child +description: Date child referral was submitted +priority: 1 +condition: "true" +actions: + - "def getDate(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(System.currentTimeMillis()); + }" + - "calculation = getDate('yyyy-MM-dd')" +--- +name: step1_referral_time_child +description: Time child referral was submitted +priority: 1 +condition: "true" +actions: + - "def getTime(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(Calendar.getInstance().getTime()); + }" + - "calculation = getTime('hh:mm a')" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/child_referral_relevance.yml b/opensrp-chw/src/nacp/assets/rule/child_referral_relevance.yml new file mode 100644 index 0000000000..43a2aa2740 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/child_referral_relevance.yml @@ -0,0 +1,14 @@ +--- +name: step1_referral_problem_child_other +description: Calculated age_at_death +priority: 1 +condition: "!step1_referral_problem_child.isEmpty() && step1_referral_problem_child.contains('Other_symptom')" +actions: + - "isRelevant = true" +--- +name: step1_service_before_child_other +description: Service +priority: 1 +condition: "!step1_service_before_child.isEmpty() && step1_service_before_child.contains('Other_treatment')" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/child_remove_calculation.yml b/opensrp-chw/src/nacp/assets/rule/child_remove_calculation.yml new file mode 100644 index 0000000000..01257fd77c --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/child_remove_calculation.yml @@ -0,0 +1,7 @@ +--- +name: step1_age_at_death +description: Calculated age_at_death +priority: 1 +condition: "step1_date_died != '' && step1_dob != ''" +actions: + - "calculation = helper.getDuration(step1_date_died , step1_dob)" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/contact-rules.yml b/opensrp-chw/src/nacp/assets/rule/contact-rules.yml new file mode 100644 index 0000000000..91d586b847 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/contact-rules.yml @@ -0,0 +1,70 @@ +--- +name: after_eight +description: after eight weeks +priority: 2 +condition: "contactRule.currentVisit < 20" +actions: + - "contactRule.currentVisit = contactRule.currentVisit + 8" + - "contactRule.set.add(contactRule.currentVisit)" +--- +name: after_six +description: after six weeks +priority: 2 +condition: "contactRule.currentVisit >= 20 && contactRule.currentVisit < 26" +actions: + - "contactRule.currentVisit = contactRule.currentVisit + 6" + - "contactRule.set.add(contactRule.currentVisit)" +--- +name: after_four +description: after four weeks +priority: 2 +condition: "contactRule.currentVisit >= 26 && contactRule.currentVisit < 34" +actions: + - "contactRule.currentVisit = contactRule.currentVisit + 4" + - "contactRule.set.add(contactRule.currentVisit)" +--- +name: after_two +description: after two weeks +priority: 2 +condition: "contactRule.currentVisit >= 34 && contactRule.currentVisit < 40" +actions: + - "contactRule.currentVisit = contactRule.currentVisit + 2" + - "contactRule.set.add(contactRule.currentVisit)" +--- +name: contains_40 +description: contains 40 weeks +priority: 3 +condition: "!contactRule.set.contains(40) && contactRule.initialVisit != 41" +actions: + - "contactRule.set.add(40)" +--- +name: contains_41 +description: contains 41 weeks +priority: 3 +condition: "!contactRule.set.contains(41)" +actions: + - "contactRule.set.add(41)" +--- +name: first_visit_22_23 +description: first visit is 22 or 23 weeks +priority: 1 +condition: "contactRule.isFirst && (contactRule.initialVisit == 22 || contactRule.initialVisit == 23) && contactRule.currentVisit >= 30 && contactRule.currentVisit < 40" +actions: + - "contactRule.currentVisit = contactRule.currentVisit + 2" + - "contactRule.set.add(contactRule.currentVisit)" +--- +name: first_visit_28_29 +description: first visit is 28 or 29 weeks +priority: 1 +condition: "contactRule.isFirst && (contactRule.initialVisit == 28 || contactRule.initialVisit == 29) && contactRule.currentVisit >= 32 && contactRule.currentVisit < 40" +actions: + - "contactRule.currentVisit = contactRule.currentVisit + 2" + - "contactRule.set.add(contactRule.currentVisit)" +--- +name: first_visit_30 +description: first visit is 30 weeks +priority: 1 +condition: "contactRule.isFirst && (contactRule.initialVisit >= 30) && contactRule.currentVisit < 40" +actions: + - "contactRule.currentVisit = contactRule.currentVisit + 2" + - "contactRule.set.add(contactRule.currentVisit)" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/family-child-calculation.yml b/opensrp-chw/src/nacp/assets/rule/family-child-calculation.yml new file mode 100644 index 0000000000..5cdbcc9385 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family-child-calculation.yml @@ -0,0 +1,7 @@ +--- +name: step1_surname_calculation +description: surname calculation +priority: 1 +condition: "true" +actions: + - "calculation = step1_same_as_fam_name.contains('same_as_fam_name')? step1_fam_name : step1_surname" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/family-child-relevance.yml b/opensrp-chw/src/nacp/assets/rule/family-child-relevance.yml new file mode 100644 index 0000000000..5e4d661239 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family-child-relevance.yml @@ -0,0 +1,70 @@ +--- +name: step1_surname +description: surname relevance +priority: 1 +condition: "!step1_same_as_fam_name.contains('same_as_fam_name')" +actions: + - "isRelevant = true" +--- +name: step1_dob +description: dob relevance +priority: 1 +condition: "!step1_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step1_age +description: age relevance +priority: 1 +condition: "step1_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step1_insurance_provider_other +descripltion: insurance relevance +priority: 1 +condition: "step1_insurance_provider.contains('Other')" +actions: + - "isRelevant = true" +--- +name: step1_insurance_provider_number +descripltion: insurance number relevance +priority: 1 +condition: "!step1_insurance_provider.contains('None')" +actions: + - "isRelevant = true" +--- +name: step1_type_of_disability +descripltion: other physical disabilities +priority: 1 +condition: "step1_disabilities.contains('Yes')" +actions: + - "isRelevant = true" +--- +name: step1_birth_cert_available +description: birth certificate availability relevance +priority: 1 +condition: "!step1_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step1_birth_regist_number +descripltion: birth registration number +priority: 1 +condition: "step1_birth_cert_available.contains('Yes')" +actions: + - "isRelevant = true" +--- +name: step1_early_bf_1hr +description: early_bf_1hr below six month +priority: 1 +condition: "helper.formatDate(step1_dob,'m') < 6" +actions: + - "isRelevant = true" +--- +name: step1_nutrition_status +description: nutrition_status when child has rhc_card +priority: 1 +condition: "step1_rhc_card.contains('Yes')" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/family-member-calculation.yml b/opensrp-chw/src/nacp/assets/rule/family-member-calculation.yml new file mode 100644 index 0000000000..5cdbcc9385 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family-member-calculation.yml @@ -0,0 +1,7 @@ +--- +name: step1_surname_calculation +description: surname calculation +priority: 1 +condition: "true" +actions: + - "calculation = step1_same_as_fam_name.contains('same_as_fam_name')? step1_fam_name : step1_surname" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/family_member_register_calculation.yml b/opensrp-chw/src/nacp/assets/rule/family_member_register_calculation.yml new file mode 100644 index 0000000000..4f29f95845 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family_member_register_calculation.yml @@ -0,0 +1,14 @@ +--- +name: step1_age_calculated +description: Age calculated +priority: 1 +condition: "true" +actions: + - "calculation = (!step1_dob_unknown.isEmpty() && step1_dob_unknown.contains('dob_unknown')) ? step1_age : helper.getDifferenceDays(step1_dob) / 365.25" +--- +name: step1_wra +description: wra calculation +priority: 1 +condition: "step1_sex == 'Female' && (step1_age_calculated >= 10 && step1_age_calculated <= 49)" +actions: + - "calculation = 1" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/family_member_relevance.yml b/opensrp-chw/src/nacp/assets/rule/family_member_relevance.yml new file mode 100644 index 0000000000..c14379bb4c --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family_member_relevance.yml @@ -0,0 +1,89 @@ +--- +name: step1_surname +description: surname relevance +priority: 1 +condition: "!step1_same_as_fam_name.contains('same_as_fam_name')" +actions: + - "isRelevant = true" +--- +name: step1_dob +description: dob relevance +priority: 1 +condition: "!step1_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step1_age +description: age relevance +priority: 1 +condition: "step1_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" + +--- +name: step1_id_avail +description: identity relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +actions: + - "isRelevant = true" + +--- +name: step1_service_provider +description: service_provider relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step1_leader +description: leader relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step1_marital_status +description: marital_status relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 14) || (step1_age != '' && step1_age >= 14)" +actions: + - "isRelevant = true" +--- +name: step1_preg_1yr +description: pregnance 1yr relevance +priority: 1 +condition: "step1_wra == 1" +actions: + - "isRelevant = true" + +--- +name: step1_insurance_provider_other +description: insurance_provider_other relevance +priority: 1 +condition: "step1_insurance_provider.equals('Other')" +actions: + - "isRelevant = true" + +--- +name: step1_insurance_provider_number +descripltion: insurance number relevance +priority: 1 +condition: "!step1_insurance_provider.contains('None')" +actions: + - "isRelevant = true" + +--- +name: step1_type_of_disability +description: type_of_disability relevance +priority: 1 +condition: "step1_disabilities.equals('Yes')" +actions: + - "isRelevant = true" +--- +name: step1_preg_1yr +description: pregnance 1yr relevance +priority: 1 +condition: "step1_wra == 1" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/family_planning_change_method_calculation.yml b/opensrp-chw/src/nacp/assets/rule/family_planning_change_method_calculation.yml new file mode 100644 index 0000000000..cbec9c5121 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family_planning_change_method_calculation.yml @@ -0,0 +1,63 @@ +--- +name: step1_fp_change_or_stop_date +description: date of fp registration calculation +priority: 1 +condition: "true" +actions: + - "calculation = helper.getDateToday()" + +--- +name: step2_COC_POP +description: COC_POP +priority: 1 +condition: "true" +actions: + - "calculation = (step2_breast_lump== 'no' && step2_abnormal_vaginal== 'no' && step2_pregnant== 'no' && step2_difficultly_breathing== 'no' && step2_headaches== 'no' && step2_frequent_urge== 'no' && step2_falling_loss_unconsciousness== 'no' && step2_breastfeed== 'no')? 1 : 0" + +--- +name: step2_POP +description: POP +priority: 1 +condition: "true" +actions: + - "calculation = (step2_COC_POP =='0' && step2_breast_lump== 'no' && step2_abnormal_vaginal== 'no' && step2_pregnant== 'no' && step2_breastfeed== 'no') ? 1 : 0" + +--- +name: step2_no_pill +description: no pill +priority: 1 +condition: "true" +actions: + - "calculation = (step2_COC_POP =='0' && step2_POP == '0' && step2_breastfeed !='') ? 1 : 0" + +--- +name: step2_fp_method_accepted +description: calculate fp method accepted +priority: 1 +condition: "true" +actions: + - "calculation = step1_reason_stop_fp_chw =='decided_to_change_method' ? step2_fp_method_chosen : ''" + +--- +name: step3_fp_start_condom +description: date of start condom use +priority: 1 +condition: "true" +actions: + - "calculation = step2_fp_method_chosen == 'Male condom' || step2_fp_method_chosen == 'Female condom' ? helper.getDateToday() : ''" + +--- +name: step3_next_injection_due_date +description: calculate next injection due date +priority: 1 +condition: "step2_fp_method_chosen == 'Injectable'" +actions: + - "calculation = helper.addDuration(step3_fp_start_injectable,'3m')" + +--- +name: step3_fp_start_date +description: calculate fp start date +priority: 1 +condition: "true" +actions: + - "calculation = step2_fp_method_chosen == 'Standard day method' ? step1_fp_change_or_stop_date : helper.getNonBlankValue([step3_fp_start_condom,step3_fp_start_cocpop,step3_fp_start_injectable,step3_fp_start_iucd,step3_fp_start_implant_nxt,step3_fp_start_implant_jad,step3_fp_start_female_ster,step3_fp_start_male_ster])" diff --git a/opensrp-chw/src/nacp/assets/rule/family_planning_change_method_relevance.yml b/opensrp-chw/src/nacp/assets/rule/family_planning_change_method_relevance.yml new file mode 100644 index 0000000000..5086514499 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family_planning_change_method_relevance.yml @@ -0,0 +1,199 @@ +--- +name: step1_other_reason_fp_chw +description: Other reason fp stop +priority: 1 +condition: "step1_reason_stop_fp_chw =='others'" +actions: + - "isRelevant = true" + +--- +name: step1_side_effects_fp +description: side effects fp +priority: 1 +condition: "step1_reason_stop_fp_chw =='side_effects'" +actions: + - "isRelevant = true" + +--- +name: step2_fp_method_chosen +description: fp method chosen when changed +priority: 1 +condition: "step1_reason_stop_fp_chw =='decided_to_change_method'" +actions: + - "isRelevant = true" + +--- +name: step2_pill +description: pill +priority: 1 +condition: "step1_reason_stop_fp_chw =='decided_to_change_method'" +actions: + - "isRelevant = true" + +--- +name: step2_user_toaster_info +description: Oral Contraception List +priority: 1 +condition: "step2_pill == 'yes'" +actions: + - "isRelevant = true" + +--- +name: step2_breast_lump +description: breast lumps +priority: 1 +condition: "step2_pill == 'yes'" +actions: + - "isRelevant = true" + +--- +name: step2_abnormal_vaginal +description: abnormal vaginal +priority: 1 +condition: "step2_pill == 'yes'" +actions: + - "isRelevant = true" + +--- +name: step2_pregnant +description: pregnant +priority: 1 +condition: "step2_pill == 'yes'" +actions: + - "isRelevant = true" + +--- +name: step2_difficultly_breathing +description: difficultly breathing +priority: 1 +condition: "step2_pill == 'yes' && step1_age < 35" +actions: + - "isRelevant = true" + +--- +name: step2_headaches +description: headaches +priority: 1 +condition: "step2_pill == 'yes' && step1_age < 35" +actions: + - "isRelevant = true" + +--- +name: step2_frequent_urge +description: frequent urge +priority: 1 +condition: "step2_pill == 'yes' && step1_age < 35" +actions: + - "isRelevant = true" + +--- +name: step2_falling_loss_unconsciousness +description: falling loss unconsciousness +priority: 1 +condition: "step2_pill == 'yes' && step1_age < 35" +actions: + - "isRelevant = true" + +--- +name: step2_breastfeed +description: breastfeed +priority: 1 +condition: "step2_pill == 'yes'" +actions: + - "isRelevant = true" + +--- +name: step3_no_condoms +description: no. condoms +priority: 1 +condition: "step2_fp_method_chosen == 'Male condom' || step2_fp_method_chosen == 'Female condom'" +actions: + - "isRelevant = true" + +--- +name: step3_no_pillcycles +description: no. illcycles +priority: 1 +condition: "step2_fp_method_chosen == 'COC' || step2_fp_method_chosen == 'POP'" +actions: + - "isRelevant = true" + +--- +name: step3_counselling_use +description: counselling of use given +priority: 1 +condition: "step2_fp_method_chosen == 'Male condom' || step2_fp_method_chosen == 'Female condom' || step2_fp_method_chosen == 'Standard day method' || step2_fp_method_chosen == 'COC' || step2_fp_method_chosen == 'POP' || step2_fp_method_chosen == 'Emergency contraceptive' " +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_injectable +description: fp start injectable date +priority: 1 +condition: "step2_fp_method_chosen == 'Injectable'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_cocpop +description: fp start cocpop date +priority: 1 +condition: "step2_fp_method_chosen == 'COC' || step2_fp_method_chosen == 'POP'" +actions: + - "isRelevant = true" + +--- +name: step3_next_injection_due_date +description: fp next injectable date +priority: 1 +condition: "step2_fp_method_chosen == 'Injectable'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_iucd +description: fp start iucd date +priority: 1 +condition: "step2_fp_method_chosen == 'IUCD'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_implant_nxt +description: fp start implant_nxt date +priority: 1 +condition: "step2_fp_method_chosen == 'Implanon - NXT'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_implant_jad +description: fp start jad date +priority: 1 +condition: "step2_fp_method_chosen == 'Jadelle'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_female_ster +description: fp female_ster date +priority: 1 +condition: "step2_fp_method_chosen == 'Female sterilization'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_male_ster +description: fp male_ster date +priority: 1 +condition: "step2_fp_method_chosen == 'Male sterilization'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_male_ster_note +description: fp male_ster date note +priority: 1 +condition: "step2_fp_method_chosen == 'Male sterilization'" +actions: + - "isRelevant = true" diff --git a/opensrp-chw/src/nacp/assets/rule/family_planning_referral_rules.yml b/opensrp-chw/src/nacp/assets/rule/family_planning_referral_rules.yml new file mode 100644 index 0000000000..b43f6f077e --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family_planning_referral_rules.yml @@ -0,0 +1,79 @@ +--- +name: "side_effects_sterilization_visibility" +description: "side_effects_sterilization_visibility" +priority: 1 +condition: "fp_method_accepted_referral['Male_sterilization'] != null || fp_method_accepted_referral['Female_sterilization'] != null" +actions: + - "side_effects_sterilization_visibility = true" +--- +name: "side_effects_iucd_visibility" +description: "side_effects_iucd_visibility" +priority: 1 +condition: "fp_method_accepted_referral['IUCD'] != null" +actions: + - "side_effects_iucd_visibility = true" +--- +name: "side_effects_inject_pills_visibility" +description: "side_effects_iucd_visibility" +priority: 1 +condition: "fp_method_accepted_referral['Injectable'] != null || fp_method_accepted_referral['COC'] != null || fp_method_accepted_referral['POP'] != null" +actions: + - "side_effects_inject_pills_visibility = true" +--- +name: "side_effects_implant_visibility" +description: "side_effects_implant_visibility" +priority: 1 +condition: "fp_method_accepted_referral['Implanon_NXT'] != null || fp_method_accepted_referral['Jadelle'] != null" +actions: + - "side_effects_implant_visibility = true" +--- +name: "problem_other_visibility" +description: "Specify other symptoms" +priority: 1 +condition: "side_effects_sterilization['Others'] != null || side_effects_implant['Others'] != null || side_effects_inject_pills['Others'] != null || side_effects_iucd['Others'] != null" +actions: + - "problem_other_visibility = true" +--- +name: "referral_date_calculation" +description: "Referral date calculation" +priority: 1 +condition: "true" +actions: + - "referral_date_calculation = System.currentTimeMillis()" +--- +name: "referral_time_calculation" +description: "Referral time calculation" +priority: 1 +condition: "true" +actions: + - "def getDate(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(System.currentTimeMillis()); + }" + - "referral_time_calculation = getDate('HH:mm:ss.SSS')" +--- +name: "referral_type_calculation" +description: "Referral type calculation" +priority: 1 +condition: "true" +actions: + - "referral_type_calculation = 'community_to_facility_referral'" +--- +name: "referral_status_calculation" +description: "Referral type calculation" +priority: 1 +condition: "true" +actions: + - "referral_status_calculation = 'PENDING'" +--- +name: "problem_calculation" +description: Family planning side effects selected +priority: 1 +condition: "true" +actions: + - "problem_calculation = (side_effects_sterilization != null && !side_effects_sterilization.isEmpty()) + ? side_effects_sterilization : (side_effects_iucd != null && !side_effects_iucd.isEmpty()) + ? side_effects_iucd : (side_effects_implant != null && !side_effects_implant.isEmpty()) + ? side_effects_implant : (side_effects_inject_pills != null && !side_effects_inject_pills.isEmpty()) + ? side_effects_inject_pills : null" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/family_planning_registration_calculation.yml b/opensrp-chw/src/nacp/assets/rule/family_planning_registration_calculation.yml new file mode 100644 index 0000000000..7ef213639f --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family_planning_registration_calculation.yml @@ -0,0 +1,71 @@ +--- +name: step1_fp_reg_date +description: date of fp registration calculation +priority: 1 +condition: "true" +actions: + - "calculation = helper.getDateToday()" + +--- +name: step2_COC_POP +description: COC_POP +priority: 1 +condition: "true" +actions: + - "calculation = (step2_breast_lump== 'no' && step2_abnormal_vaginal== 'no' && step2_pregnant== 'no' && step2_difficultly_breathing== 'no' && step2_headaches== 'no' && step2_frequent_urge== 'no' && step2_falling_loss_unconsciousness== 'no' && step2_breastfeed== 'no')? 1 : 0" + +--- +name: step2_POP +description: POP +priority: 1 +condition: "true" +actions: + - "calculation = (step2_COC_POP =='0' && step2_breast_lump== 'no' && step2_abnormal_vaginal== 'no' && step2_pregnant== 'no' && step2_breastfeed== 'no') ? 1 : 0" + +--- +name: step2_no_pill +description: no pill +priority: 1 +condition: "true" +actions: + - "calculation = (step2_COC_POP =='0' && step2_POP == '0' && step2_breastfeed !='') ? 1 : 0" + +--- +name: step2_fp_method_accepted +description: calculate fp method accepted +priority: 1 +condition: "true" +actions: + - "calculation = step2_fp_method_chw != '' ? step2_fp_method_chw : step2_fp_method_already" + +--- +name: step3_ecp +description: calculate ecp +priority: 1 +condition: "true" +actions: + - "calculation = step2_fp_method_accepted != 'Emergency contraceptive' ? 1 : 0" + +--- +name: step3_fp_start_condom +description: date of start condom use +priority: 1 +condition: "true" +actions: + - "calculation = step2_fp_method_accepted == 'Male condom' || step2_fp_method_accepted == 'Female condom' ? helper.getDateToday() : ''" + +--- +name: step3_next_injection_due_date +description: calculate next injection due date +priority: 1 +condition: "step2_fp_method_accepted == 'Injectable'" +actions: + - "calculation = helper.addDuration(step3_fp_start_injectable,'3m')" + +--- +name: step3_fp_start_date +description: calculate fp start date +priority: 1 +condition: "true" +actions: + - "calculation = step2_fp_method_accepted == 'Standard day method' ? step1_fp_reg_date : helper.getNonBlankValue([step3_fp_start_condom,step3_fp_start_cocpop,step3_fp_start_injectable,step3_fp_start_iucd,step3_fp_start_implant_nxt,step3_fp_start_implant_jad,step3_fp_start_female_ster,step3_fp_start_male_ster])" diff --git a/opensrp-chw/src/nacp/assets/rule/family_planning_registration_relevance.yml b/opensrp-chw/src/nacp/assets/rule/family_planning_registration_relevance.yml new file mode 100644 index 0000000000..f22d0f6903 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family_planning_registration_relevance.yml @@ -0,0 +1,239 @@ +--- +name: step1_couselling_fp_methods +description: couselling on fp methods +priority: 1 +condition: "step1_using_method =='no'" +actions: + - "isRelevant = true" + +--- +name: step1_couselling_HIV_STI +description: couselling on HIV and STI +priority: 1 +condition: "step1_using_method =='no'" +actions: + - "isRelevant = true" + +--- +name: step2_pill +description: pill +priority: 1 +condition: "step1_using_method =='no'" +actions: + - "isRelevant = true" + +--- +name: step2_user_toaster_info +description: Oral Contraception List +priority: 1 +condition: "step2_pill == 'yes'" +actions: + - "isRelevant = true" + +--- +name: step2_breast_lump +description: breast lumps +priority: 1 +condition: "step2_pill == 'yes'" +actions: + - "isRelevant = true" + +--- +name: step2_abnormal_vaginal +description: abnormal vaginal +priority: 1 +condition: "step2_pill == 'yes'" +actions: + - "isRelevant = true" + +--- +name: step2_pregnant +description: pregnant +priority: 1 +condition: "step2_pill == 'yes'" +actions: + - "isRelevant = true" + +--- +name: step2_difficultly_breathing +description: difficultly breathing +priority: 1 +condition: "step2_pill == 'yes' && step1_age < 35" +actions: + - "isRelevant = true" + +--- +name: step2_headaches +description: headaches +priority: 1 +condition: "step2_pill == 'yes' && step1_age < 35" +actions: + - "isRelevant = true" + +--- +name: step2_frequent_urge +description: frequent urge +priority: 1 +condition: "step2_pill == 'yes' && step1_age < 35" +actions: + - "isRelevant = true" + +--- +name: step2_falling_loss_unconsciousness +description: falling loss unconsciousness +priority: 1 +condition: "step2_pill == 'yes' && step1_age < 35" +actions: + - "isRelevant = true" + +--- +name: step2_breastfeed +description: breastfeed +priority: 1 +condition: "step2_pill == 'yes'" +actions: + - "isRelevant = true" + +--- +name: step2_COC_POP_note +description: COC and POP note +priority: 1 +condition: "step2_COC_POP == '1' && step1_using_method =='no'" +actions: + - "isRelevant = true" + +--- +name: step2_POP_note +description: POP only note +priority: 1 +condition: "step2_POP == '1' && step1_using_method =='no'" +actions: + - "isRelevant = true" + +--- +name: step2_no_pill_note +description: no pill note +priority: 1 +condition: "step2_no_pill == '1' && step1_using_method =='no'" +actions: + - "isRelevant = true" + +--- +name: step2_fp_method_chw +description: fp method chw +priority: 1 +condition: "step1_using_method =='no'" +actions: + - "isRelevant = true" + +--- +name: step2_fp_method_already +description: fp method chw +priority: 1 +condition: "step1_using_method == 'yes'" +actions: + - "isRelevant = true" + +--- +name: step3_ec_note +description: ec note +priority: 1 +condition: "step2_fp_method_accepted == 'Emergency contraceptive'" +actions: + - "isRelevant = true" + +--- +name: step3_no_condoms +description: no. condoms +priority: 1 +condition: "step2_fp_method_accepted == 'Male condom' || step2_fp_method_accepted == 'Female condom'" +actions: + - "isRelevant = true" + +--- +name: step3_no_pillcycles +description: no illcycles +priority: 1 +condition: "step2_fp_method_accepted == 'COC' || step2_fp_method_accepted == 'POP'" +actions: + - "isRelevant = true" + +--- +name: step3_counselling_use +description: counselling of use given +priority: 1 +condition: "step2_fp_method_accepted == 'Male condom' || step2_fp_method_accepted == 'Female condom' || step2_fp_method_accepted == 'Standard day method' || step2_fp_method_accepted == 'COC' || step2_fp_method_accepted == 'POP' || step2_fp_method_accepted == 'Emergency contraceptive' " +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_injectable +description: fp start injectable date +priority: 1 +condition: "step2_fp_method_accepted == 'Injectable'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_cocpop +description: fp start cocpop date +priority: 1 +condition: "step2_fp_method_accepted == 'COC' || step2_fp_method_accepted == 'POP'" +actions: + - "isRelevant = true" + +--- +name: step3_next_injection_due_date +description: fp next injectable date +priority: 1 +condition: "step2_fp_method_accepted == 'Injectable'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_iucd +description: fp start iucd date +priority: 1 +condition: "step2_fp_method_accepted == 'IUCD'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_implant_nxt +description: fp start implant_nxt date +priority: 1 +condition: "step2_fp_method_accepted == 'Implanon - NXT'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_implant_jad +description: fp start jad date +priority: 1 +condition: "step2_fp_method_accepted == 'Jadelle'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_female_ster +description: fp female_ster date +priority: 1 +condition: "step2_fp_method_accepted == 'Female sterilization'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_start_male_ster +description: fp male_ster date +priority: 1 +condition: "step2_fp_method_accepted == 'Male sterilization'" +actions: + - "isRelevant = true" + +--- +name: step3_fp_male_ster_note +description: fp male_ster date note +priority: 1 +condition: "step2_fp_method_accepted == 'Male sterilization'" +actions: + - "isRelevant = true" diff --git a/opensrp-chw/src/nacp/assets/rule/family_register_calculation.yml b/opensrp-chw/src/nacp/assets/rule/family_register_calculation.yml new file mode 100644 index 0000000000..5d515e58ea --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family_register_calculation.yml @@ -0,0 +1,35 @@ +--- +name: step2_surname +description: surname calculation +priority: 1 +condition: "step2_surname == ''" +actions: + - "calculation = step1_fam_name" +--- +name: step2_age_calculated +description: Age calculated +priority: 1 +condition: "true" +actions: + - "calculation = (!step2_dob_unknown.isEmpty() && step2_dob_unknown.contains('dob_unknown')) ? step2_age : helper.getDifferenceDays(step2_dob) / 365.25" +--- +name: step2_wra +description: wra calculation +priority: 1 +condition: "step2_sex == 'Female' && (step2_age_calculated >= 10 && step2_age_calculated <= 49)" +actions: + - "calculation = 1" +--- +name: step2_first_name +description: set surname as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_client_first_name" +--- +name: step2_middle_name +description: set surname as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_client_middle_name" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml b/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml new file mode 100644 index 0000000000..0d48b39234 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml @@ -0,0 +1,157 @@ +--- +name: step2_surname +description: surname relevance +priority: 1 +condition: "!step2_same_as_fam_name.contains('same_as_fam_name')" +actions: + - "isRelevant = true" +--- +name: step2_dob +description: dob relevance +priority: 1 +condition: "!step2_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step2_service_provider +description: service_provider relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step2_leader +description: leader relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step2_marital_status +description: marital_status relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 14) || (step2_age != '' && step2_age >= 14)" +actions: + - "isRelevant = true" +--- +name: step2_dob_entered +description: dob_entered relevance +priority: 1 +condition: "!step2_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" + +--- +name: step2_age +description: age relevance +priority: 1 +condition: "step2_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" + +--- +name: step2_national_id +description: national_id relevance +priority: 1 +condition: "step2_id_avail.equals('National ID')" +actions: + - "isRelevant = true" + +--- +name: step2_voter_id +description: voter_id relevance +priority: 1 +condition: "step2_id_avail.equals('Voter\\'s registration ID')" +actions: + - "isRelevant = true" + +--- +name: step2_driver_license +description: driver_license relevance +priority: 1 +condition: "step2_id_avail.equals('Driver\\'s license')" +actions: + - "isRelevant = true" + +--- +name: step2_passport +description: passport relevance +priority: 1 +condition: "step2_id_avail.equals('Passport')" +actions: + - "isRelevant = true" + +--- +name: step2_insurance_provider_other +description: insurance_provider_other relevance +priority: 1 +condition: "step2_insurance_provider.equals('Other')" +actions: + - "isRelevant = true" + +--- +name: step2_insurance_provider_number +description: insurance_provider_number relevance +priority: 1 +condition: "!step2_insurance_provider.equals('None')" +actions: + - "isRelevant = true" + +--- +name: step2_type_of_disability +description: type_of_disability relevance +priority: 1 +condition: "step2_disabilities.equals('Yes')" +actions: + - "isRelevant = true" + +--- +name: step2_leader_other +description: leader_other relevance +priority: 1 +condition: "step2_leader.equals('Other')" +actions: + - "isRelevant = true" + +--- +name: step2_insurance_provider_other +descripltion: insurance relevance +priority: 1 +condition: "step2_insurance_provider.contains('Other')" +actions: + - "isRelevant = true" +--- +name: step2_insurance_provider_number +descripltion: insurance number relevance +priority: 1 +condition: "!step2_insurance_provider.contains('None')" +actions: + - "isRelevant = true" +--- +name: step1_insurance_provider_other +descripltion: other insurance provider +priority: 1 +condition: "step1_insurance_provider.contains('Other')" +actions: + - "isRelevant = true" +--- +name: step1_insurance_provider_number +descripltion: insurance number relevance +priority: 1 +condition: "!step1_insurance_provider.contains('None')" +actions: + - "isRelevant = true" +--- +name: step2_preg_1yr +description: pregnance 1yr relevance +priority: 1 +condition: "step2_wra == 1" +actions: + - "isRelevant = true" +--- +name: step2_id_avail +description: identity relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/family_remove_calculation.yml b/opensrp-chw/src/nacp/assets/rule/family_remove_calculation.yml new file mode 100644 index 0000000000..01257fd77c --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family_remove_calculation.yml @@ -0,0 +1,7 @@ +--- +name: step1_age_at_death +description: Calculated age_at_death +priority: 1 +condition: "step1_date_died != '' && step1_dob != ''" +actions: + - "calculation = helper.getDuration(step1_date_died , step1_dob)" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/family_remove_relevance.yml b/opensrp-chw/src/nacp/assets/rule/family_remove_relevance.yml new file mode 100644 index 0000000000..f4c77ac184 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/family_remove_relevance.yml @@ -0,0 +1,14 @@ +--- +name: step1_date_died +description: date_died +priority: 1 +condition: "step1_remove_reason.equals('Death')" +actions: + - "isRelevant = true" +--- +name: step1_age_at_death +description: age_at_death +priority: 1 +condition: "step1_remove_reason.equals('Death')" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/fp-coc-pop-refill-rule.yml b/opensrp-chw/src/nacp/assets/rule/fp-coc-pop-refill-rule.yml new file mode 100644 index 0000000000..a54d2de6f9 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/fp-coc-pop-refill-rule.yml @@ -0,0 +1,6 @@ +name: one +description: coc-pop - after cycle is complete +priority: 1 +condition: "fpAlertRule.isCocPopValid(14,7)" +actions: + - "fpAlertRule.setVisitID('1')" diff --git a/opensrp-chw/src/nacp/assets/rule/fp-condom-refill-rule.yml b/opensrp-chw/src/nacp/assets/rule/fp-condom-refill-rule.yml new file mode 100644 index 0000000000..69d3d1aec9 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/fp-condom-refill-rule.yml @@ -0,0 +1,6 @@ +name: one +description: condom refill - after each month +priority: 1 +condition: "fpAlertRule.isCondomValid(1,8)" +actions: + - "fpAlertRule.setVisitID('1')" diff --git a/opensrp-chw/src/nacp/assets/rule/fp-female-sterilization-rule.yml b/opensrp-chw/src/nacp/assets/rule/fp-female-sterilization-rule.yml new file mode 100644 index 0000000000..c15461695f --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/fp-female-sterilization-rule.yml @@ -0,0 +1,20 @@ +name: one +description: Female Sterilization - after sterilization +priority: 1 +condition: "fpAlertRule.isFemaleSterilizationFollowUpOneValid(0,2,7)" +actions: + - "fpAlertRule.setVisitID('1')" +--- +name: seven +description: Female Sterilization - after seven days +priority: 1 +condition: "fpAlertRule.isFemaleSterilizationFollowUpTwoValid(7,9,1)" +actions: + - "fpAlertRule.setVisitID('7')" +--- +name: thirty +description: Female Sterilization - after one month +priority: 1 +condition: "fpAlertRule.isFemaleSterilizationFollowUpThreeValid(1,1,2)" +actions: + - "fpAlertRule.setVisitID('30')" diff --git a/opensrp-chw/src/nacp/assets/rule/fp-injection-due-rule.yml b/opensrp-chw/src/nacp/assets/rule/fp-injection-due-rule.yml new file mode 100644 index 0000000000..67e01de89b --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/fp-injection-due-rule.yml @@ -0,0 +1,6 @@ +name: one +description: injection - after eighty four days +priority: 1 +condition: "fpAlertRule.isInjectionValid(84,91)" +actions: + - "fpAlertRule.setVisitID('1')" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/fp-iucd-rule.yml b/opensrp-chw/src/nacp/assets/rule/fp-iucd-rule.yml new file mode 100644 index 0000000000..3f84745775 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/fp-iucd-rule.yml @@ -0,0 +1,14 @@ +name: thirty +description: iucd - after one month +priority: 1 +condition: "fpAlertRule.isIUCDValid(1,1,4)" +actions: + - "fpAlertRule.setVisitID('30')" +--- +name: one twenty +description: iucd - after four months +priority: 1 +condition: "fpAlertRule.isIUCDValid(4,4,8)" +actions: + - "fpAlertRule.setVisitID('120')" + diff --git a/opensrp-chw/src/nacp/assets/rule/fp_followup_resupply.yml b/opensrp-chw/src/nacp/assets/rule/fp_followup_resupply.yml new file mode 100644 index 0000000000..6e57e8a719 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/fp_followup_resupply.yml @@ -0,0 +1,35 @@ +--- +name: step1_no_pillcycles +description: no pillcycle +priority: 1 +condition: "step1_fp_method.contains('COC') || step1_fp_method.contains('POP')" +actions: + - "isRelevant = true" +--- +name: step1_no_condoms +description: no of condoms +priority: 1 +condition: "step1_fp_method.contains('Female condom') || step1_fp_method.contains('Male condom')" +actions: + - "isRelevant = true" +--- +name: step1_fp_refill_injectable +description: injectable Refill +priority: 1 +condition: "step1_fp_method.contains('Injectable')" +actions: + - "isRelevant = true" +--- +name: step1_fp_visit_date +description: injectable visit date +priority: 1 +condition: "step1_fp_method.contains('Injectable')" +actions: + - "isRelevant = true" +--- +name: step1_next_injection_date +description: next injection visit date +priority: 1 +condition: "step1_fp_refill_injectable != ''" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/fp_followup_resupply_calculation.yml b/opensrp-chw/src/nacp/assets/rule/fp_followup_resupply_calculation.yml new file mode 100644 index 0000000000..05f0cdfb80 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/fp_followup_resupply_calculation.yml @@ -0,0 +1,14 @@ +--- +name: step1_next_injection_date +description: next injectable date +priority: 1 +condition: "step1_fp_refill_injectable != ''" +actions: + - 'calculation = ["fp_refill_injectable" : helper.addDuration(step1_fp_refill_injectable,"84d")]' +--- +name: step1_fp_visit_date +description: fp date +priority: 1 +condition: "true" +actions: + - "calculation = step1_fp_refill_injectable" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/fp_followup_side_effects.yml b/opensrp-chw/src/nacp/assets/rule/fp_followup_side_effects.yml new file mode 100644 index 0000000000..0024af5a80 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/fp_followup_side_effects.yml @@ -0,0 +1,77 @@ +--- +name: step1_cocpop_side_effects +description: coc pop side effects +priority: 1 +condition: "step1_fp_method.contains('COC') || step1_fp_method.contains('POP') " +actions: + - "isRelevant = true" +--- +name: step1_cocpop_side_effects_other +description: coc pop side effects other +priority: 1 +condition: "step1_cocpop_side_effects.contains('Others') " +actions: + - "isRelevant = true" +--- +name: step1_condom_side_effects +description: condom side effects +priority: 1 +condition: "step1_fp_method.contains('Female condom') || step1_fp_method.contains('Male condom') " +actions: + - "isRelevant = true" +--- +name: step1_condom_side_effects_other +description: condom side effects other +priority: 1 +condition: "step1_condom_side_effects.contains('Others') " +actions: + - "isRelevant = true" +--- +name: step1_sterilization_side_effects +description: female sterilization side effects +priority: 1 +condition: "step1_fp_method.contains('Female sterilization')" +actions: + - "isRelevant = true" +--- +name: step1_sterilization_side_effects_other +description: female sterilization side effects other +priority: 1 +condition: "step1_sterilization_side_effects.contains('Others') " +actions: + - "isRelevant = true" +--- +name: step1_inject_side_effects +description: injectable side effects +priority: 1 +condition: "step1_fp_method.contains('Injectable')" +actions: + - "isRelevant = true" +--- +name: step1_inject_side_effects_other +description: injectable side effects other +priority: 1 +condition: "step1_inject_side_effects.contains('Others') " +actions: + - "isRelevant = true" +--- +name: step1_IUCD_side_effects +description: iucd side effects +priority: 1 +condition: "step1_fp_method.contains('IUCD')" +actions: + - "isRelevant = true" +--- +name: step1_IUCD_side_effects_other +description: iucd side effects other +priority: 1 +condition: "step1_IUCD_side_effects.contains('Others') " +actions: + - "isRelevant = true" +--- +name: step1_action_taken +description: action taken +priority: 1 +condition: "!(step1_condom_side_effects.contains('None') || step1_cocpop_side_effects.contains('None') || step1_inject_side_effects.contains('None') || step1_IUCD_side_effects.contains('None') || step1_sterilization_side_effects.contains('None'))" +actions: + - "isRelevant = true" diff --git a/opensrp-chw/src/nacp/assets/rule/fp_referral_calculation.yml b/opensrp-chw/src/nacp/assets/rule/fp_referral_calculation.yml new file mode 100644 index 0000000000..8737aa11f8 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/fp_referral_calculation.yml @@ -0,0 +1,42 @@ +--- +name: step1_referral_date_fp +description: Date Family Planning referral was submitted +priority: 1 +condition: "true" +actions: + - "def getDate(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(System.currentTimeMillis()); + }" + - "calculation = getDate('yyyy-MM-dd')" +--- +name: step1_referral_time_fp +description: Time Family Planning referral was submitted +priority: 1 +condition: "true" +actions: + - "def getTime(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(Calendar.getInstance().getTime()); + }" + - "calculation = getTime('hh:mm a')" +--- +name: step1_fp_side_effects +description: Family planning side effects selected +priority: 1 +condition: "!step1_fp_method_accepted_referral.isEmpty()" +actions: + - "def getSideEffect(sideEffectList) { + sideEffect = ''; + if(sideEffectList != null){ + foreach(sideEffectString : sideEffectList) { + if(sideEffectString != '' && sideEffectString != '0') { + sideEffect = sideEffectString; + } + } + } + return sideEffect; + }" + - "calculation = getSideEffect([step1_side_effects_sterialization, step1_side_effects_iucd, step1_side_effects_implant, step1_side_effects_inject_pills])" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/fp_referral_relevance.yml b/opensrp-chw/src/nacp/assets/rule/fp_referral_relevance.yml new file mode 100644 index 0000000000..9ec4f9cf0d --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/fp_referral_relevance.yml @@ -0,0 +1,38 @@ +--- +name: step1_fp_side_effects_other +description: Other Family Planning side effects +priority: 1 +condition: "!step1_side_effects_sterialization.isEmpty() && step1_side_effects_sterialization.contains('Others') || +!step1_side_effects_iucd.isEmpty() && step1_side_effects_iucd.contains('Others') || +!step1_side_effects_implant.isEmpty() && step1_side_effects_implant.contains('Others') || +!step1_side_effects_inject_pills.isEmpty() && step1_side_effects_inject_pills.contains('Others')" +actions: + - "isRelevant = true" +--- +name: step1_side_effects_sterialization +description: Female Sterilization side effects +priority: 1 +condition: "!step1_fp_method_accepted_referral.isEmpty() && step1_fp_method_accepted_referral.contains('Female_sterilization')" +actions: + - "isRelevant = true" +--- + name: step1_side_effects_iucd + description: IUCD side effects + priority: 1 + condition: "!step1_fp_method_accepted_referral.isEmpty() && step1_fp_method_accepted_referral.contains('IUCD')" + actions: + - "isRelevant = true" +--- + name: step1_side_effects_implant + description: Implant side effects (for Implanon - NXT or Jadelle) + priority: 1 + condition: "!step1_fp_method_accepted_referral.isEmpty() && (step1_fp_method_accepted_referral.contains('Implanon_NXT') || step1_fp_method_accepted_referral.contains('Jadelle'))" + actions: + - "isRelevant = true" +--- + name: step1_side_effects_inject_pills + description: Inject pills side effects (for Injectable, POP or COC) + priority: 1 + condition: "!step1_fp_method_accepted_referral.isEmpty() && (step1_fp_method_accepted_referral.contains('Injectable') || step1_fp_method_accepted_referral.contains('POP') || step1_fp_method_accepted_referral.contains('COC'))" + actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/gbv_referral_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/gbv_referral_form_rules.yml new file mode 100644 index 0000000000..9b8eb6ab0f --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/gbv_referral_form_rules.yml @@ -0,0 +1,7 @@ +--- +name: "problem_other_visibility" +description: "Specify other symptoms" +priority: 1 +condition: "problem['Other_symptom'] != null || problem['Other_symptoms'] != null" +actions: + - "problem_other_visibility = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/general_neat_referral_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/general_neat_referral_form_rules.yml new file mode 100644 index 0000000000..87b1fe167c --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/general_neat_referral_form_rules.yml @@ -0,0 +1,47 @@ +--- +name: "problem_other_visibility" +description: "Specify other symptoms" +priority: 1 +condition: "problem['Other_symptom'] != null || problem['Other_symptoms'] != null" +actions: + - "problem_other_visibility = true" +--- +name: "service_before_referral_other_visibility" +description: "Specify Other pre-referral managements given" +priority: 1 +condition: "service_before_referral['Other_treatment'] != null" +actions: + - "service_before_referral_other_visibility = true" +--- +name: "referral_date_calculation" +description: "Referral date calculation" +priority: 1 +condition: "true" +actions: + - "referral_date_calculation = System.currentTimeMillis()" +--- +name: "referral_time_calculation" +description: "Referral time calculation" +priority: 1 +condition: "true" +actions: + - "def getDate(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(System.currentTimeMillis()); + }" + - "referral_time_calculation = getDate('HH:mm:ss.SSS')" +--- +name: "referral_type_calculation" +description: "Referral type calculation" +priority: 1 +condition: "true" +actions: + - "referral_type_calculation = 'community_to_facility_referral'" +--- +name: "referral_status_calculation" +description: "Referral type calculation" +priority: 1 +condition: "true" +actions: + - "referral_status_calculation = 'PENDING'" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/hiv-followup-rules.yml b/opensrp-chw/src/nacp/assets/rule/hiv-followup-rules.yml new file mode 100644 index 0000000000..f9c76f1c5d --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/hiv-followup-rules.yml @@ -0,0 +1,8 @@ +--- +name: schedule_every_month +description: monthly +priority: 1 +condition: "true" +actions: + - "hivFollowupRule.setVisitID('1')" + - "hivFollowupRule.isValid(28,35,365)" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/hiv_community_followup_feedback_rules.yml b/opensrp-chw/src/nacp/assets/rule/hiv_community_followup_feedback_rules.yml new file mode 100644 index 0000000000..a0ed8f53d6 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/hiv_community_followup_feedback_rules.yml @@ -0,0 +1,22 @@ +--- +name: "hiv_community_followup_visit_date_calculation" +description: "calculating the hiv followup visit date" +priority: 1 +condition: "true" +actions: + - "hiv_community_followup_visit_date_calculation = System.currentTimeMillis()" +--- +name: "client_moved_location_visibility" +description: "client_moved_location visibility" +priority: 1 +condition: "followup_status.value == 'Client has relocated to another location' || followup_status.value == 'Amehamishiwa mahali pengine' || followup_status.value == 'Client continues with clinic from elsewhere' || followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine'" +actions: + - "client_moved_location_visibility = true" +--- +name: "client_moved_location_other_visibility" +description: "client_moved_location visibility" +priority: 1 +condition: "client_moved_location.value == 'Other' && (followup_status.value == 'Client has relocated to another location' || followup_status.value == 'Amehamishiwa mahali pengine') || client_moved_location.value == 'Other' && (followup_status.value == 'Client continues with clinic from elsewhere' || followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine')" +actions: + - "client_moved_location_other_visibility = true" + diff --git a/opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml new file mode 100644 index 0000000000..63cd5fb583 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml @@ -0,0 +1,155 @@ +--- +name: "client_condition_visibility" +description: "client_condition visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +actions: + - "client_condition_visibility = true" +--- +name: "client_hiv_status_after_testing_visibility" +description: "client_hiv_status_after_testing visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +actions: + - "client_hiv_status_after_testing_visibility = true" +--- +name: "ctc_number_visibility" +description: "ctc_number visibility" +priority: 1 +condition: "client_hiv_status_after_testing.value == 'Positive' || client_hiv_status_after_testing.value == 'Chanya'" +actions: + - "ctc_number_visibility = true" +--- +name: "health_problem_visibility" +description: "health_problem visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +actions: + - "health_problem_visibility = true" +--- +name: "health_problem_other_visibility" +description: "health_problem_other visibility" +priority: 1 +condition: "health_problem['other_health_problems'] != null" +actions: + - "health_problem_other_visibility = true" +--- +name: "social_problem_visibility" +description: "social_problem visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +actions: + - "social_problem_visibility = true" +--- +name: "social_problem_other_visibility" +description: "social_problem_other visibility" +priority: 1 +condition: "social_problem['other_social_problems'] != null" +actions: + - "social_problem_other_visibility = true" +--- +name: "supplies_provided_visibility" +description: "supplies_provided visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +actions: + - "supplies_provided_visibility = true" +--- +name: "supplies_provided_other_visibility" +description: "supplies_provided_other visibility" +priority: 1 +condition: "supplies_provided['other_supplies'] != null" +actions: + - "supplies_provided_other_visibility = true" +--- +name: "client_behaviour_and_environmental_risk_visibility" +description: "client_behaviour_and_environmental_risk visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +actions: + - "client_behaviour_and_environmental_risk_visibility = true" +--- +name: "medicine_provided_visibility" +description: "medicine_provided visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +actions: + - "medicine_provided_visibility = true" +--- +name: "medicine_provided_other_visibility" +description: "medicine_provided_other visibility" +priority: 1 +condition: "medicine_provided['other_medicine'] != null" +actions: + - "medicine_provided_other_visibility = true" +--- +name: "hiv_services_provided_visibility" +description: "hiv_services_provided visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +actions: + - "hiv_services_provided_visibility = true" +--- +name: "hiv_services_provided_other_visibility" +description: "hiv_services_provided_other visibility" +priority: 1 +condition: "hiv_services_provided['other_hiv_services'] != null" +actions: + - "hiv_services_provided_other_visibility = true" +--- +name: "referrals_issued_to_other_services_visibility" +description: "referrals_issued_to_other_services visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +actions: + - "referrals_issued_to_other_services_visibility = true" +--- +name: "referrals_issued_to_other_services_other_visibility" +description: "referrals_issued_to_other_services_other visibility" +priority: 1 +condition: "referrals_issued_to_other_services['other_referrals'] != null" +actions: + - "referrals_issued_to_other_services_other_visibility = true" +--- +name: "referrals_to_other_services_completed_visibility" +description: "referrals_to_other_services_completed visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +actions: + - "referrals_to_other_services_completed_visibility = true" +--- +name: "referrals_to_other_services_completed_other_visibility" +description: "referrals_to_other_services_completed_other visibility" +priority: 1 +condition: "referrals_to_other_services_completed['other_referrals'] != null" +actions: + - "referrals_to_other_services_completed_other_visibility = true" +--- +name: "state_of_therapy_visibility" +description: "state_of_therapy visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +actions: + - "state_of_therapy_visibility = true" +--- +name: "hiv_followup_visit_date_calculation" +description: "calculating the hiv followup visit date" +priority: 1 +condition: "true" +actions: + - "hiv_followup_visit_date_calculation = System.currentTimeMillis()" +--- +name: "client_moved_location_visibility" +description: "client_moved_location visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine' || registration_or_followup_status.value == 'Client continues with clinic from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine'" +actions: + - "client_moved_location_visibility = true" +--- +name: "client_moved_location_other_visibility" +description: "client_moved_location visibility" +priority: 1 +condition: "client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine') || client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client continues with clinic from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine')" +actions: + - "client_moved_location_other_visibility = true" + diff --git a/opensrp-chw/src/nacp/assets/rule/hiv_index_contact_followup_rules.yml b/opensrp-chw/src/nacp/assets/rule/hiv_index_contact_followup_rules.yml new file mode 100644 index 0000000000..dd93a390b2 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/hiv_index_contact_followup_rules.yml @@ -0,0 +1,28 @@ +--- +name: "client_followed_up_by_chw_calculation" +description: "client_followed_up_by_chw visibility" +priority: 1 +condition: "true" +actions: + - "client_followed_up_by_chw_calculation = true" +--- +name: "has_the_client_agreed_to_be_tested_visibility" +description: "has_the_client_agreed_to_be_tested visibility" +priority: 1 +condition: "has_the_contact_client_been_found['yes'] != null" +actions: + - "has_the_client_agreed_to_be_tested_visibility = true" +--- +name: "place_where_test_will_be_conducted_visibility" +description: "place_where_test_will_be_conducted visibility" +priority: 1 +condition: "has_the_contact_client_been_found['yes'] != null && has_the_client_agreed_to_be_tested['yes'] != null " +actions: + - "place_where_test_will_be_conducted_visibility = true" +--- +name: "toast_give_a_referral_to_the_client_visibility" +description: "toast_give_a_referral_to_the_client visibility" +priority: 2 +condition: "has_the_contact_client_been_found['yes'] != null && has_the_client_agreed_to_be_tested['yes'] != null && place_where_test_will_be_conducted['facility'] != null" +actions: + - "toast_give_a_referral_to_the_client_visibility = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml new file mode 100644 index 0000000000..23df1d54b1 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml @@ -0,0 +1,14 @@ +--- +name: "ctc_number_visibility" +description: "ctc_number visibility" +priority: 1 +condition: "client_hiv_status_during_registration.value == 'Positive' || client_hiv_status_during_registration.value == 'Ana maambukizi'" +actions: + - "ctc_number_visibility = true" +--- +name: "hiv_registration_date_calculation" +description: "calculating the hiv registration date" +priority: 1 +condition: "true" +actions: + - "hiv_registration_date_calculation = System.currentTimeMillis()" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/home-visit-rules.yml b/opensrp-chw/src/nacp/assets/rule/home-visit-rules.yml new file mode 100644 index 0000000000..bb3de2ce68 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/home-visit-rules.yml @@ -0,0 +1,44 @@ +--- +name: expiry +description: expire dob greter then 5 yr +priority: 1 +condition: "homeAlertRule.isExpiry(5)" +actions: + - "homeAlertRule.buttonStatus = 'EXPIRY'" +--- +name: visit_not_done +description: press visit not done in this month +priority: 1 +condition: "homeAlertRule.isVisitNotDone()" +actions: + - "homeAlertRule.buttonStatus = 'NOT_VISIT_THIS_MONTH'" +--- +name: visit_twenty_four +description: visit within twenty four hours +priority: 2 +condition: "homeAlertRule.isVisitWithinTwentyFour()" +actions: + - "homeAlertRule.buttonStatus = 'LESS_TWENTY_FOUR'" +--- +name: visit_this_month +description: visit grether than 24 hours but within this month +priority: 3 +condition: "homeAlertRule.isVisitWithinThisMonth()" +actions: + - "homeAlertRule.buttonStatus = 'VISIT_THIS_MONTH'" +--- +name: overdue +description: previous month not visited +priority: 2 +condition: "homeAlertRule.isOverdueWithinMonth(1)" +actions: + - "homeAlertRule.buttonStatus = 'OVERDUE'" +--- +name: due +description: due first day of month and same month +priority: 3 +condition: "homeAlertRule.isDueWithinMonth()" +actions: + - "homeAlertRule.buttonStatus = 'DUE'" + + diff --git a/opensrp-chw/src/nacp/assets/rule/immunization-expire-rules.yml b/opensrp-chw/src/nacp/assets/rule/immunization-expire-rules.yml new file mode 100644 index 0000000000..60a2575b21 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/immunization-expire-rules.yml @@ -0,0 +1,7 @@ +--- +name: not_expired_all_other_vaccine +description: no vaccine expired after 11 month +priority: 3 +condition: "immunizationExpireRule.isAllVaccineExpired(11)" +actions: + - "immunizationExpireRule.isExpired = false" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/malaria-followup-rules.yml b/opensrp-chw/src/nacp/assets/rule/malaria-followup-rules.yml new file mode 100644 index 0000000000..a2a830edb7 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/malaria-followup-rules.yml @@ -0,0 +1,20 @@ +name: visit_expiry +description: "visit expired" +priority: 1 +condition: "malariaFollowUpRule.isExpired() || malariaFollowUpRule.getDatesDiff() > 14 " +actions: + - "malariaFollowUpRule.setButtonStatus('EXPIRED')" +--- +name: visit_overdue +description: "visit overdue" +priority: 2 +condition: "malariaFollowUpRule.getDatesDiff() > 10 " +actions: + - "malariaFollowUpRule.setButtonStatus('OVERDUE')" +--- +name: visit_due +description: "visit due" +priority: 3 +condition: "malariaFollowUpRule.getDatesDiff() > 7 " +actions: + - "malariaFollowUpRule.setButtonStatus('DUE')" diff --git a/opensrp-chw/src/nacp/assets/rule/malaria_confirmation_calculation.yml b/opensrp-chw/src/nacp/assets/rule/malaria_confirmation_calculation.yml new file mode 100644 index 0000000000..e194dd3ba6 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/malaria_confirmation_calculation.yml @@ -0,0 +1,25 @@ +--- +name: step1_date_chw_malaria_test +description: date of malaria test calculation +priority: 1 +condition: "step1_malaria_test_done.contains('Yes, by the CHW')" +actions: + - "calculation = helper.getDateToday()" + +--- +name: step1_malaria +description: client has malaria +priority: 1 +condition: "step1_malaria_results.contains('Positive') || step1_fever_malaria_chw.contains('tested_positive_last_14_days')" +actions: + - "calculation = 1" + +--- +name: step1_malaria_test_date +description: calculate date hf malaria test +priority: 1 +condition: "true" +actions: + - "calculation = step1_date_hf_malaria_test != '' ? step1_date_hf_malaria_test : step1_date_chw_malaria_test" + + diff --git a/opensrp-chw/src/nacp/assets/rule/malaria_confirmation_relevance.yml b/opensrp-chw/src/nacp/assets/rule/malaria_confirmation_relevance.yml new file mode 100644 index 0000000000..4660f412d5 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/malaria_confirmation_relevance.yml @@ -0,0 +1,68 @@ +--- +name: step1_fever_duration +description: fever duration relevance +priority: 1 +condition: "step1_fever_malaria_chw.contains('has_fever')" +actions: + - "isRelevant = true" + +--- +name: step1_malaria_test_done +description: fever duration relevance +priority: 1 +condition: "step1_fever_malaria_chw.contains('has_fever')" +actions: + - "isRelevant = true" + +--- +name: step1_referral_note +description: Referral note +priority: 1 +condition: "step1_fever_malaria_chw.contains('has_fever') && step1_malaria_test_done.contains('No')" +actions: + - "isRelevant = true" + +--- +name: step1_malaria_results +description: mRDT results +priority: 1 +condition: "step1_fever_malaria_chw.contains('has_fever') && step1_malaria_test_done.contains('Yes, by the CHW')" +actions: + - "isRelevant = true" + +--- +name: step1_date_hf_malaria_test +description: Date of malaria test +priority: 1 +condition: "step1_fever_malaria_chw.contains('tested_positive_last_14_days')" +actions: + - "isRelevant = true" + +--- +name: step1_malaria_treat +description: malaria_treat +priority: 1 +condition: "step1_malaria_results.contains('Positive') || step1_fever_malaria_chw.contains('tested_positive_last_14_days') " +actions: + - "isRelevant = true" +--- +name: step2_llin_2days +description: sleep under the LLIN last night +priority: 1 +condition: "step2_fam_llin.contains('Yes')" +actions: + - "isRelevant = true" +--- +name: step2_llin_condition +description: LLIN condition +priority: 1 +condition: "step2_fam_llin.contains('Yes')" +actions: + - "isRelevant = true" +--- +name: step2_malaria_edu_chw +description: Malaria topics covered +priority: 1 +condition: "!step2_malaria_edu_chw.contains('None')" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/malaria_followup_calculation.yml b/opensrp-chw/src/nacp/assets/rule/malaria_followup_calculation.yml new file mode 100644 index 0000000000..0cc0daecf6 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/malaria_followup_calculation.yml @@ -0,0 +1,7 @@ +--- +name: step1_date_chw_mfollowup +description: date of malaria test calculation +priority: 1 +condition: "true" +actions: + - "calculation = helper.getDateToday()" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/malaria_followup_relevance.yml b/opensrp-chw/src/nacp/assets/rule/malaria_followup_relevance.yml new file mode 100644 index 0000000000..2de223fef1 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/malaria_followup_relevance.yml @@ -0,0 +1,31 @@ +--- +name: step1_treat_given_chw_mfollowup +description: determine if treatment was given or not +priority: 1 +condition: "step1_hf_chw_mfollowup.contains('Yes')" +actions: + - "isRelevant = true" + +--- +name: step1_reason_no_treat +description: Reason for client not treated +priority: 1 +condition: "step1_treat_given_chw_mfollowup.contains('Not_given_treatment')" +actions: + - "isRelevant = true" + +--- +name: step1_fever_duration +description: Malaria fever duration +priority: 1 +condition: "step1_fever_still.contains('Yes')" +actions: + - "isRelevant = true" + +--- +name: step1_referral_note +description: Malaria fever duration +priority: 1 +condition: "step1_fever_still.contains('Yes')" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/malaria_referral_relevance.yml b/opensrp-chw/src/nacp/assets/rule/malaria_referral_relevance.yml new file mode 100644 index 0000000000..7c0128c931 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/malaria_referral_relevance.yml @@ -0,0 +1,7 @@ +--- +name: step1_service_before_malaria_other +description: Service +priority: 1 +condition: "!step1_service_before_malaria.isEmpty() && step1_service_before_malaria.contains('Other_treatment')" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/male_family_planning_registration_calculation.yml b/opensrp-chw/src/nacp/assets/rule/male_family_planning_registration_calculation.yml new file mode 100644 index 0000000000..095bf573c8 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/male_family_planning_registration_calculation.yml @@ -0,0 +1,7 @@ +--- +name: step3_fp_start_date +description: calculate fp start date +priority: 1 +condition: "true" +actions: + - "calculation = step2_fp_method_accepted == 'Male sterilization' ? fp_start_male_ster : step1_fp_reg_date" diff --git a/opensrp-chw/src/nacp/assets/rule/male_fp_referral_relevance.yml b/opensrp-chw/src/nacp/assets/rule/male_fp_referral_relevance.yml new file mode 100644 index 0000000000..478c44b284 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/male_fp_referral_relevance.yml @@ -0,0 +1,15 @@ +--- +name: step1_fp_side_effects_other +description: Other Family Planning side effects +priority: 1 +condition: "step1_side_effects_sterialization.contains('Others')" +actions: + - "isRelevant = true" + +--- +name: step1_side_effects_sterialization +description: Female Sterilization side effects +priority: 1 +condition: "step1_fp_method_accepted_referral.contains('Male_sterilization')" +actions: + - "isRelevant = true" diff --git a/opensrp-chw/src/nacp/assets/rule/pnc-health-facility-schedule-rule.yml b/opensrp-chw/src/nacp/assets/rule/pnc-health-facility-schedule-rule.yml new file mode 100644 index 0000000000..d6a3dc9396 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/pnc-health-facility-schedule-rule.yml @@ -0,0 +1,40 @@ +--- +name: schedule_one +description: day one +priority: 1 +condition: "visitRule.getLastVisitDifference() <= 2 && !visitRule.isValidateExpired(2)" +actions: + - "visitRule.setVisitName(1)" + - "visitRule.setDueDiff(0)" + - "visitRule.setOverdueDiff(2)" + - "visitRule.setExpiryDiff(2)" +--- +name: schedule_two +description: day three +priority: 2 +condition: "visitRule.getLastVisitDifference() < 8 && !visitRule.isValidateExpired(7)" +actions: + - "visitRule.setVisitName(3)" + - "visitRule.setDueDiff(3)" + - "visitRule.setOverdueDiff(5)" + - "visitRule.setExpiryDiff(8)" +--- +name: schedule_three +description: day eight +priority: 3 +condition: "visitRule.getLastVisitDifference() < 29 && !visitRule.isValidateExpired(28)" +actions: + - "visitRule.setVisitName(8)" + - "visitRule.setDueDiff(8)" + - "visitRule.setOverdueDiff(18)" + - "visitRule.setExpiryDiff(29)" +--- +name: schedule_four +description: day twenty nine +priority: 4 +condition: "visitRule.getLastVisitDifference() < 1000" +actions: + - "visitRule.setVisitName(29)" + - "visitRule.setDueDiff(29)" + - "visitRule.setOverdueDiff(36)" + - "visitRule.setExpiryDiff(1000)" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/pnc-home-visit-rules.yml b/opensrp-chw/src/nacp/assets/rule/pnc-home-visit-rules.yml new file mode 100644 index 0000000000..ffb9778dd5 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/pnc-home-visit-rules.yml @@ -0,0 +1,34 @@ +name: one +description: after two days +priority: 1 +condition: "pncVisitAlertRule.isValid(0,10000,3)" +actions: + - "pncVisitAlertRule.setVisitID('1')" +--- +name: three +description: after three days +priority: 1 +condition: "pncVisitAlertRule.isValid(3,4,8)" +actions: + - "pncVisitAlertRule.setVisitID('3')" +--- +name: eight +description: after eight days +priority: 1 +condition: "pncVisitAlertRule.isValid(8,9,21)" +actions: + - "pncVisitAlertRule.setVisitID('8')" +--- +name: twenty_one +description: after twenty one days +priority: 1 +condition: "pncVisitAlertRule.isValid(21,22,35)" +actions: + - "pncVisitAlertRule.setVisitID('21 - 27')" +--- +name: thrity_five +description: after thrity five days +priority: 1 +condition: "pncVisitAlertRule.isValid(35,36,42)" +actions: + - "pncVisitAlertRule.setVisitID('35 - 41')" diff --git a/opensrp-chw/src/nacp/assets/rule/pnc_family_planning_relevance.yml b/opensrp-chw/src/nacp/assets/rule/pnc_family_planning_relevance.yml new file mode 100644 index 0000000000..cb72f0c65f --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/pnc_family_planning_relevance.yml @@ -0,0 +1,21 @@ +--- +name: step1_fp_period_received +description: Family Planning Period Received +priority: 1 +condition: "step1_fp_counseling.contains('Yes')" +actions: + - "isRelevant = true" +--- +name: step1_fp_method +description: Family Planning Method +priority: 1 +condition: "step1_fp_counseling.contains('Yes')" +actions: + - "isRelevant = true" +--- +name: step1_fp_start_date +description: Family Planning Start Date +priority: 1 +condition: "step1_fp_counseling.contains('Yes') && !step1_fp_method.contains('None') && !step1_fp_method.isEmpty()" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/pnc_referral_calculation.yml b/opensrp-chw/src/nacp/assets/rule/pnc_referral_calculation.yml new file mode 100644 index 0000000000..bc22dcd3cd --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/pnc_referral_calculation.yml @@ -0,0 +1,24 @@ +--- +name: step1_referral_date_pnc +description: Date PNC referral was submitted +priority: 1 +condition: "true" +actions: + - "def getDate(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(System.currentTimeMillis()); + }" + - "calculation = getDate('yyyy-MM-dd')" +--- +name: step1_referral_time_pnc +description: Time PNC referral was submitted +priority: 1 +condition: "true" +actions: + - "def getTime(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(Calendar.getInstance().getTime()); + }" + - "calculation = getTime('hh:mm a')" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/pnc_referral_relevance.yml b/opensrp-chw/src/nacp/assets/rule/pnc_referral_relevance.yml new file mode 100644 index 0000000000..dc2a542a48 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/pnc_referral_relevance.yml @@ -0,0 +1,14 @@ +--- +name: step1_problem_hf_pnc_other +description: Calculated age_at_death +priority: 1 +condition: "!step1_problem_hf_pnc.isEmpty() && step1_problem_hf_pnc.contains('Other_symptom')" +actions: + - "isRelevant = true" +--- +name: step1_service_before_pnc_other +description: Service +priority: 1 +condition: "!step1_service_before_pnc.isEmpty() && step1_service_before_pnc.contains('Other_treatment')" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/pregnancy_confirmation_referral_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/pregnancy_confirmation_referral_form_rules.yml new file mode 100644 index 0000000000..cf2480e5f3 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/pregnancy_confirmation_referral_form_rules.yml @@ -0,0 +1,47 @@ +--- +name: "problem_other_visibility" +description: "Specify other symptoms" +priority: 1 +condition: "problem['other_symptom'] != null || problem['other_symptoms'] != null" +actions: + - "problem_other_visibility = true" +--- +name: "service_before_referral_calculation" +description: "Service Before Referral" +condition: "true" +priority: 1 +actions: + - "service_before_referral_calculation = 'None'" +--- +name: "referral_date_calculation" +description: "Referral date calculation" +priority: 1 +condition: "true" +actions: + - "referral_date_calculation = System.currentTimeMillis()" +--- +name: "referral_time_calculation" +description: "Referral time calculation" +priority: 1 +condition: "true" +actions: + - "def getDate(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(System.currentTimeMillis()); + }" + - "referral_time_calculation = getDate('HH:mm:ss.SSS')" +--- +name: "referral_type_calculation" +description: "Referral type calculation" +priority: 1 +condition: "true" +actions: + - "referral_type_calculation = 'community_to_facility_referral'" +--- +name: "referral_status_calculation" +description: "Referral type calculation" +priority: 1 +condition: "true" +actions: + - "referral_status_calculation = 'PENDING'" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/tb-followup-rules.yml b/opensrp-chw/src/nacp/assets/rule/tb-followup-rules.yml new file mode 100644 index 0000000000..a4baef0a61 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/tb-followup-rules.yml @@ -0,0 +1,8 @@ +--- +name: schedule_every_month +description: monthly +priority: 1 +condition: "true" +actions: + - "tbFollowupRule.setVisitID('1')" + - "tbFollowupRule.isValid(28,35,365)" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/tb_case_closure_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/tb_case_closure_form_rules.yml new file mode 100644 index 0000000000..a0aaaddc10 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/tb_case_closure_form_rules.yml @@ -0,0 +1,21 @@ +--- +name: "community_gathering_visibility" +description: "Display community gathering types if community gathering is chosen" +priority: 1 +condition: "place_of_domicile.value=='Community Gathering'" +actions: + - "community_gathering_visibility = true" +--- +name: "other_community_gathering_visibility" +description: "Display other community gathering types if others is chosen" +priority: 1 +condition: "community_gathering.value == 'Others'" +actions: + - "other_community_gathering_visibility = true" +--- +name: "tb_case_closure_date_calculation" +description: "calculating the case closure date" +priority: 1 +condition: "true" +actions: + - "tb_case_closure_date_calculation = System.currentTimeMillis()" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/tb_community_followup_feedback_rules.yml b/opensrp-chw/src/nacp/assets/rule/tb_community_followup_feedback_rules.yml new file mode 100644 index 0000000000..d11e4e00ae --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/tb_community_followup_feedback_rules.yml @@ -0,0 +1,8 @@ +--- +name: "tb_community_followup_visit_date_calculation" +description: "calculating the tb followup visit date" +priority: 1 +condition: "true" +actions: + - "tb_community_followup_visit_date_calculation = System.currentTimeMillis()" + diff --git a/opensrp-chw/src/nacp/assets/rule/tb_followup_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/tb_followup_form_rules.yml new file mode 100644 index 0000000000..a2817612b0 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/tb_followup_form_rules.yml @@ -0,0 +1,70 @@ +--- +name: "client_condition_visibility" +description: "client_condition visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" +actions: + - "client_condition_visibility = true" +--- +name: "problem_visibility" +description: "problem visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" +actions: + - "problem_visibility = true" +--- +name: "problem_other_visibility" +description: "problem other visibility" +priority: 1 +condition: "problem['other_problems'] != null" +actions: + - "problem_other_visibility = true" +--- +name: "client_behaviour_and_environmental_risk_visibility" +description: "client_behaviour_and_environmental_risk visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" +actions: + - "client_behaviour_and_environmental_risk_visibility = true" +--- +name: "supplies_provided_visibility" +description: "supplies_provided visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" +actions: + - "supplies_provided_visibility = true" +--- +name: "supplies_provided_other_visibility" +description: "supplies_provided_other visibility" +priority: 1 +condition: "supplies_provided['other_medicine'] != null" +actions: + - "supplies_provided_other_visibility = true" +--- +name: "tb_services_provided_visibility" +description: "tb_services_provided visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" +actions: + - "tb_services_provided_visibility = true" +--- +name: "tb_services_provided_other_visibility" +description: "tb_services_provided_other visibility" +priority: 1 +condition: "tb_services_provided['other_services'] != null" +actions: + - "tb_services_provided_other_visibility = true" +--- +name: "state_of_therapy_visibility" +description: "state_of_therapy visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" +actions: + - "state_of_therapy_visibility = true" +--- +name: "tb_followup_visit_date_calculation" +description: "calculating tb followup visit date" +priority: 1 +condition: "true" +actions: + - "tb_followup_visit_date_calculation = System.currentTimeMillis()" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/tb_registration_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/tb_registration_form_rules.yml new file mode 100644 index 0000000000..b5727279ba --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/tb_registration_form_rules.yml @@ -0,0 +1,28 @@ +--- +name: "district_council_number_of_current_tb_client_visibility" +description: "district council number of current tb client when a family with tb client is chosen" +priority: 1 +condition: "place_of_domicile.value == 'A family with TB patient'" +actions: + - "district_council_number_of_current_tb_client_visibility = true" +--- +name: "community_gathering_visibility" +description: "Display community gathering types if community gathering is chosen" +priority: 1 +condition: "place_of_domicile.value == 'Community Gathering'" +actions: + - "community_gathering_visibility = true" +--- +name: "other_community_gathering_visibility" +description: "Display other community gathering types if others is chosen" +priority: 1 +condition: "community_gathering.value == 'Others'" +actions: + - "other_community_gathering_visibility = true" +--- +name: "tb_registration_date_calculation" +description: "calculating the registration date" +priority: 1 +condition: "true" +actions: + - "tb_registration_date_calculation = System.currentTimeMillis()" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/services.json b/opensrp-chw/src/nacp/assets/services.json new file mode 100644 index 0000000000..31a3c1ae55 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/services.json @@ -0,0 +1,17 @@ +[ + { + "name": "Recurring Services", + "id": "Recurring_Services", + "services": [ + { + "type": "Exclusive breastfeeding" + }, + { + "type": "Vitamin A" + }, + { + "type": "Deworming" + } + ] + } +] \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/special_vaccines.json b/opensrp-chw/src/nacp/assets/special_vaccines.json new file mode 100644 index 0000000000..32960f8ced --- /dev/null +++ b/opensrp-chw/src/nacp/assets/special_vaccines.json @@ -0,0 +1,2 @@ +[ +] \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/vaccine_type.json b/opensrp-chw/src/nacp/assets/vaccine_type.json new file mode 100644 index 0000000000..79df10712b --- /dev/null +++ b/opensrp-chw/src/nacp/assets/vaccine_type.json @@ -0,0 +1,514 @@ +[ + { + "name": "Birth", + "id": "Birth", + "days_after_birth_due": 0, + "vaccines": [ + { + "name": "BCG", + "type": "BCG", + "openmrs_date": { + "parent_entity": "886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+0d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+1y" + } + ] + } + }, + { + "name": "OPV 0", + "type": "OPV", + "openmrs_date": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 0 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+0d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+13d" + } + ] + } + } + ] + }, + { + "name": "6 Weeks", + "id": "Six_Wks", + "days_after_birth_due": 42, + "vaccines": [ + { + "name": "OPV 1", + "type": "OPV", + "openmrs_date": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+42d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+58m" + } + ] + } + }, + { + "name": "PCV 1", + "type": "PCV", + "openmrs_date": { + "parent_entity": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+42d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+58m" + } + ] + } + }, + { + "name": "Penta 1", + "type": "Penta", + "openmrs_date": { + "parent_entity": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+42d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+58m" + } + ] + } + }, + { + "name": "Rota 1", + "type": "Rota", + "openmrs_date": { + "parent_entity": "159698AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "159698AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+42d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+7m" + } + ] + } + } + ] + }, + { + "name": "10 Weeks", + "id": "Ten_Wks", + "days_after_birth_due": 70, + "vaccines": [ + { + "name": "OPV 2", + "type": "OPV", + "openmrs_date": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 2 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "OPV 1", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+59m" + } + ] + } + }, + { + "name": "PCV 2", + "type": "PCV", + "openmrs_date": { + "parent_entity": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 2 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "PCV 1", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+59m" + } + ] + } + }, + { + "name": "Penta 2", + "type": "Penta", + "openmrs_date": { + "parent_entity": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 2 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "Penta 1", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+59m" + } + ] + } + }, + { + "name": "Rota 2", + "type": "Rota", + "openmrs_date": { + "parent_entity": "159698AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "159698AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 2 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "Rota 1", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+8m" + } + ] + } + } + ] + }, + { + "name": "14 Weeks", + "id": "Fourteen_Weeks", + "days_after_birth_due": 98, + "vaccines": [ + { + "name": "OPV 3", + "type": "OPV", + "openmrs_date": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 3 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "OPV 2", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+5y" + } + ] + } + }, + { + "name": "PCV 3", + "type": "PCV", + "openmrs_date": { + "parent_entity": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 3 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "PCV 2", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+5y" + } + ] + } + }, + { + "name": "Penta 3", + "type": "Penta", + "openmrs_date": { + "parent_entity": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 3 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "Penta 2", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+5y" + } + ] + } + }, + { + "name": "IPV", + "type": "IPV", + "openmrs_date": { + "parent_entity": "1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+98d", + "window": "+10d" + } + ] + } + } + ] + }, + { + "name": "9 Months", + "id": "Nine_Months", + "days_after_birth_due": 274, + "vaccines": [ + { + "name": "MR 1", + "type": "MR", + "openmrs_date": { + "parent_entity": "", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+9m", + "window": "+10d" + } + ] + } + } + ] + }, + { + "name": "18 Months", + "id": "Eighteen_Months", + "days_after_birth_due": 548, + "vaccines": [ + { + "name": "MR 2", + "type": "MR", + "openmrs_date": { + "parent_entity": "", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "MR 1", + "offset": "+9m", + "window": "+10d" + } + ] + } + } + ] + } +] \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/vaccines.json b/opensrp-chw/src/nacp/assets/vaccines.json new file mode 100644 index 0000000000..79df10712b --- /dev/null +++ b/opensrp-chw/src/nacp/assets/vaccines.json @@ -0,0 +1,514 @@ +[ + { + "name": "Birth", + "id": "Birth", + "days_after_birth_due": 0, + "vaccines": [ + { + "name": "BCG", + "type": "BCG", + "openmrs_date": { + "parent_entity": "886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+0d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+1y" + } + ] + } + }, + { + "name": "OPV 0", + "type": "OPV", + "openmrs_date": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 0 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+0d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+13d" + } + ] + } + } + ] + }, + { + "name": "6 Weeks", + "id": "Six_Wks", + "days_after_birth_due": 42, + "vaccines": [ + { + "name": "OPV 1", + "type": "OPV", + "openmrs_date": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+42d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+58m" + } + ] + } + }, + { + "name": "PCV 1", + "type": "PCV", + "openmrs_date": { + "parent_entity": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+42d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+58m" + } + ] + } + }, + { + "name": "Penta 1", + "type": "Penta", + "openmrs_date": { + "parent_entity": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+42d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+58m" + } + ] + } + }, + { + "name": "Rota 1", + "type": "Rota", + "openmrs_date": { + "parent_entity": "159698AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "159698AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+42d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+7m" + } + ] + } + } + ] + }, + { + "name": "10 Weeks", + "id": "Ten_Wks", + "days_after_birth_due": 70, + "vaccines": [ + { + "name": "OPV 2", + "type": "OPV", + "openmrs_date": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 2 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "OPV 1", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+59m" + } + ] + } + }, + { + "name": "PCV 2", + "type": "PCV", + "openmrs_date": { + "parent_entity": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 2 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "PCV 1", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+59m" + } + ] + } + }, + { + "name": "Penta 2", + "type": "Penta", + "openmrs_date": { + "parent_entity": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 2 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "Penta 1", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+59m" + } + ] + } + }, + { + "name": "Rota 2", + "type": "Rota", + "openmrs_date": { + "parent_entity": "159698AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "159698AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 2 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "Rota 1", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+8m" + } + ] + } + } + ] + }, + { + "name": "14 Weeks", + "id": "Fourteen_Weeks", + "days_after_birth_due": 98, + "vaccines": [ + { + "name": "OPV 3", + "type": "OPV", + "openmrs_date": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 3 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "OPV 2", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+5y" + } + ] + } + }, + { + "name": "PCV 3", + "type": "PCV", + "openmrs_date": { + "parent_entity": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 3 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "PCV 2", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+5y" + } + ] + } + }, + { + "name": "Penta 3", + "type": "Penta", + "openmrs_date": { + "parent_entity": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 3 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "Penta 2", + "offset": "+28d", + "window": "+10d" + } + ], + "expiry": [ + { + "reference": "dob", + "offset": "+5y" + } + ] + } + }, + { + "name": "IPV", + "type": "IPV", + "openmrs_date": { + "parent_entity": "1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+98d", + "window": "+10d" + } + ] + } + } + ] + }, + { + "name": "9 Months", + "id": "Nine_Months", + "days_after_birth_due": 274, + "vaccines": [ + { + "name": "MR 1", + "type": "MR", + "openmrs_date": { + "parent_entity": "", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "dob", + "offset": "+9m", + "window": "+10d" + } + ] + } + } + ] + }, + { + "name": "18 Months", + "id": "Eighteen_Months", + "days_after_birth_due": 548, + "vaccines": [ + { + "name": "MR 2", + "type": "MR", + "openmrs_date": { + "parent_entity": "", + "entity": "concept", + "entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "openmrs_calculate": { + "parent_entity": "79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "entity": "concept", + "entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculation": 1 + }, + "schedule": { + "due": [ + { + "reference": "prerequisite", + "prerequisite": "MR 1", + "offset": "+9m", + "window": "+10d" + } + ] + } + } + ] + } +] \ No newline at end of file diff --git a/opensrp-chw/src/nacp/ic_launcher-web.png b/opensrp-chw/src/nacp/ic_launcher-web.png new file mode 100644 index 0000000000000000000000000000000000000000..1fc3b4d3d09eaff0f6a9a97b6e252516e603870a GIT binary patch literal 96952 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

    !drL-9YUE|ngqqKtO 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

    00*jC{wS&M|a&_YXD*2J7;4u<|eNv&R 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 z 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/hhBSf((-qj$|fwxwM(Yy{f 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

    Bw`)i#19&!~q}ql27g;v-Mf)7S0q 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 h$MK058siE=>@Ko#1 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⪚QLB)tNqLtn#`psu(89r^76v(QMPzYKfz|9K^ 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 FV1iZ)Xn_C# literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable/ic_launcher.png b/opensrp-chw/src/nacp/res/drawable/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..dd2da42e577cc14dcc60a98c0addea85d1751698 GIT binary patch literal 4687 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 R&7}YU002ovPDHLkV1m`r$in~t literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable/ic_launcher_foreground.png b/opensrp-chw/src/nacp/res/drawable/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..d6a6559a75321c74a6638b5b1240bb26a583459e GIT binary patch literal 7789 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 bK39!OrMb!8@#~ztMyAl!GSDnTJVX5tj%%yV literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable/ic_launcher_round.png b/opensrp-chw/src/nacp/res/drawable/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..9479e7013800eda98f534053618a178176389588 GIT binary patch literal 6338 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⪙VJDQNI-zkma}SWRxFsO$u?irfi*j{NOcivTUyRSYUq zI5Vec*>U3ND|RhgwqezLm9IQ-#N>8iL1`?{VOwo0cUhS3?COC_xFwqkzTc4#VvIS? zsH92v??CU8oh;^%aujR*;1zVOcMG?|PdBf@?_Ptn8c7P78i1Z;18O=xdi*>}eLhhJ&-RCgsf2D~I5y z7R?5?Ld!-^-zUc#D~I5COxBWmRO3fow`twHGh;wg)@o*Bwv;5<2Kj~)m@1pJ4GK@{ zAtzced7w=Ly|a>_bxI6O#uzh0TMi$fYIL=g0*{{@Dq$+>i^-#wGZ%xfYCT-GL@O@@7l-AOg zrKNpvLNutk<=hZXg?h%%;Nbcb*uV4EK;~ZN;*Zho*C1A)Acs}+GDb9?d-I^)u=L_lw2a2|jA228kp6FMbDL&KmI;IMKr zs1Ouo$x5H9aGEV!0DhSJ)HbwC`u!|)@$)eUr$Rj))iY@fh(CB|2wk&Pmo66We06aV zQj5rL`TP`n0%N$n-(WN&!{pENuw@Ba(cL@nFI>XMVbIn=nt+Mn>*)zB=Cq0ofq!9a z8jj`3(6gsu5W4TcBL`r>zFqJ}Vzd#Q2B;=?49rJrQE$n^2heN%>dMth2M1MyaLU!w zCW8FCfiz8RL_K-ScbI+k6~!W{;JvrrvtJ)@w{m;`8gBAn&?ape8wy1h?!-tdy8^w? zEvN9onp4sv_!QOka>!~>kZYk^Iih+R<0{u=^>R?t@@@d90|w=Qqle&VEpUo4i~lTQ z1E?!=9Ucy;$5l&^R6h;BD{SlBlc}fH*kgM8o~fvTaLTwjA_ReeH0C;iRF#jwPyWD@ z#}@4sTyf$k48ovIV04fuCjE5135cFvu6> zLE7buwYpW|t()*oY$P~QQ1&oUj=L+1Jr1s8K-#a*Lb^t)?%nO5WuNOyR&CqT_@kw8 z;p}V?0g2$h`(V;0RpZYK@Kd#9>OdFgd;BmA*i#Jd#Y6K|`bC+pH4#FyQw;;UuV6-)88_;6Wve8PYJ;Be> zYTY4%Oa0oTrO?$NAe&K6IUN-vhMchyiMp_Bvp6tUcl)%9h+5XxJ>Kar_FsILsYmzS z2a~Fts_+Sz(-dMrwnR;oBOTR}X_*~+#?22qF$PZFngy+?jHm+VXAaJ^iI@;h0@aVh z?%8%|`)|4?gd?h(?`ypEmJI)GBK&f|F!8D-TBaWUyAM?w>_N+*TU5UpWluRgIW7_L+X{wP+~!0YpG%iFbD^h9)w;YLC~0bJ7(b+yOj#z zh(CDOm9D|6SuvjIn7Zbndyr5e>t9I?^e?Dko_jcC-Vz23Eq^K5zqm>3O z)mq*|_J(Gwe4y)w)$n1|M))*73I-;}!jSYN7@d<2L-F`!{3hrfwhp=mtpw+#^Fd9s zE1Evc=6lFht8&BDO3Q5O1W*nee8#?go6qT-tr|CWc#&`_A$9CXpTf(y61*vzIw41b z7cL{$@?TQUcCSB0v&(o33O_6N){ldALp{sjxVu)c3>hI&2_gID%dJ*6Hr?2{zF_54 zjY%zA(zl5lqrD>e?>F>Rms{nP)~n3t>?H4MVlVm*mZ2zS2S)^x)d*#f#K9c zo3ynGi&u@>;b}rmG{cZlU6HZM|PW9PJVP(}x_|9AZk&GM~E1T|m zMNS)&Fp1MCh;5i$78FMYxTuOP-)IqaFwS)RSv;sc5-ID9W)TFUW>`y;;(?m#46Sx+kxgmdu@0Dj7S6 zf56R}6}p_FnxfH;tycw(jy*&@-X0+y__>edham~FpGNGIPa5-!a`N~~a<>ULl+z~O zQBIj~NAdHx8%oz7FDb^2{6#)u=uY|IK?%~&`};`W?lwZGRQBN2(w4ary$4rt{)7IL zCBu|}+L)AJa2$<(x~l8M)&D4uH91auMD{V2Zgue_iE6CHvj+t07*qoM6N<$ Ef=;{sP5=M^ literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable/ic_logo.png b/opensrp-chw/src/nacp/res/drawable/ic_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c799be157a4ade366de297288d2395878d9f1af0 GIT binary patch literal 706227 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

    raW`!9$i{`RQWb_ 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�l6enE?;x_^(s{-o+S{b?SEp#D z!KC{OQu0jyya?9&wG|O7%@@~4wP@7vJmsnWokVZsLYyA!vh~MG)D*IlB|a8ITuvsg zTGb#YRaGeUvTD*iz(zKmxv=t#0$;nyruVdYgD4r?r{GHvGZ*|btr+vy9)jh3|0T%p zYav+#$tk z3e~#*qsiX4)$H2VMp6MAiLI5!HW!e1wORkJJiB^`^j(@?ln#H$H6b16`ay-}cMhDN zN-K6){h)!VCe~}t+|E)P3%#jpL&mye4O1VvA@Wkh({2U|@bKZ-{E@g{Az?t?I|G=YEzB(&jl^K9(O z*He4HcB&hnIu@Tt7nfh-CV@vmcUoUMyqwTNqX}ipE?XY^^i8cQPSd@qrV$ZGQ7ail>k#7L z|7U1LUARIQCr=UH=_4vVcN&T|*i&ZY%4p?7cH|p?Wg1(jJGH+!jhP&(1U;6}yX!Em z+6aE(%$XU#WD>Wxu#B`Bm~G1kX#;!g3IJwGi`u9m_p0SV%%(46%82({XntY-{{GD_ z_5VD=&!+#;@ZFU;_tT7jP82yl=E=Jp=pd`|Qo(g$EXEuYAEkVf(k?D`q8ouHNu^p6 z7T#UKR<_HKo{YYoOtQcZp}^A(-|k}P6`_kq5>3a~dv{uVbXsyF49u$%btUP*j|cY7 zKGYU^{_0g!7=uzbSXqyQ>N-f!l0Q@{n+3ZN1(kWD2qZnB0v-nHh5(TRkCMN39MV3H zSIgje*Ez2N77a~IL{pr=e|>dsj}#D4TxgRW8Ac8J%dH*SlO(Zla@^Rn{hmo!$3)WR zfnub{`B#CC*x^Cp-TFgUfUPhNhPeL`XWV6vfHpfLcK_u(lp~k5;k`j=)7~8_1<#uIYeu=jk^3bS91KIF zR+0AmwEH0}p8pm6x89^Pg8lDbvRIKZQgxlIYUmntE>GlWjD1xlk98^aC^t59RkT1S za}Y?~w%1@@g8y`rG*rGnkBV#gQ;emMZsSK@MDByf6|8oQ&mH8DdD?`9`7o-u11bGp zAqDziIcMAytHduv-eI?O@i^i$wnyKwuGVaPW-#Vddo=@W~ zf@ASmCM%u$w}F(@%A-frntZ-Yi4}Gi8d}YuLcj%x7|~(t>FQ8EdJ{U3UEp{A|EW7Z z73)>+JRIZ;X?`1RDQV7JTuLdzw$0#e(X_|Pp!l6jD5s+G?-S!K#1D84)%SI0`b zEEnSB75nj{vr`l#r8EWlUGKDir+Nj3(hK?7GuXB5sS&Uh%S1#VtC?WbvuhHr*r^Q5 z7Qj{$mu!ic`?Xl=GjyE8_+BRFuuf+3WNu}#*#3UKl~j*K;6mm3+tb zd4;bC1iY6nzlPP|OE`YnM2Ha@=aE)|uw=T^m@WXrctnqzc`P3^t_kzM+%kcM^XyO5 z_z9au!gwYQs|)=osVA66!B$^s|0ZzfdBiuY&+@bK#!Ttqs{^%qpr-5}rvHGq(-?>D zkH7tMp>{BJJ?}9XFGeaD*tv-p0p)3VrO7x(!QjE~=`vxqjNxD{qMaEum%r4pP)UHS zaqy~7u*FCgF-Am{I3GoS?A%b85ef5nB}H1L((Apes<#czVxh)x<6Xt5R(?+LASIjWqgP+otc=e@h8{z6Br9AUYP;cwXrB;WBR4<|5)*Rj`Rrt;Hn z^(T$xt+P~zt|PK|cXNrqBq(qnX4v{Ku1Mde3{}G}^M|+*8pF!}GHQ-B*Q+u-4atzz zRFDSm#3!|Yux+KeV)tZI?xV=n<;gOJKY=HexbcngcCF`UTs>wikHpT2s3(Qt^1 zD?qYMex68S9s>|hwZMx39`Pz3et30#i4n`(NCxD6IVao3y}{8rSxk-Gr`K-Mv0601 zywYdjJui6Y_ppZ}e)W1DDzI5QOk}O?TE`51x$8I#vbi7bC3JAas=rj$69Sv)!JRxi zV^15(nb7vQcJls3Ca}blzsRlVqPD+ytHlF|dlOJZ=1QjJl(JO%c}0$=->8*W5r&2Q zOe&9nrA;Tj>Fu(-r}~X-b^#XZp48K~J>L%zUf&rM-86na``j+Hic?ROT$jzb0!m!K zJk7)75~e7#mI7LauT2<-Z-g_@mFHn>V?suA^;V*wm{#NGx_{cQ0iyqeWHROc4+#E_ z?u`UBUGJCiveHi^%0FpQ!Omm=*7PuX<>|tb(T0LiQcD%G1c}lj#-qay&BuM|pGc;8 z9wkAJ@wkvscR)=<1dgP~WW?=Pr0QhPU#Ep|>}VW}KP^jGU9jy1{*<0Lag!8==DyNl zZh2(2RV6NPh02E=Fuwq;mkB9=s_OodMmPc9hG2q;OpfZxbqb{KFFsItMbVNT8YVNL z?ZDVGj_DRs19R36S#8C>J zUr9V6r7ILVO)`5>FKN77w1pj8aTUvgx9w1A|AjeJd#muk2X}1BnHm@;S+1%(wOeS~ zS3vm1fnnp^skMxLT5yy^v*BlXG@x9Q8mG(Zry+fud`-sCepjwbuEq(Fl*XMHWxNWk zx%Z#Gzg@y}=7ky1s?vMqt2#b5p+?X(ug0gmDbc}(=qTGpKnccaO-nZ+e?Do(-Fd&? z&`#_tT*?|33DvO6}*bl+-BX<;}XrJMj(;9>TBt z#srOm0>sx}bZ9eD#5C$Jt~Q?BcSi;3v*g*_EG)k-!;PFqxyd(Frk5bmd#%;#lxa#z zwA&C(&QTr9Nr5SBbrDa%eD(eAzD7KHK;uVRod2;~SNoh=m#9$N4*t9H%NP6~JX+uX zm^NQeyY-{{&2|e-*5YdmHP~kcqz=t80xvj~=HtV6Wu?uA);=HYD|&k37Uz#QxOM^s z$96}d!@}^$o6xfN*&BL;MY&($%DQB?2unPdl*)`>1X1uqt(LgJxg-T#R2`8ojC7^t zJ|F(fdi);$w&zY)8cNb9SWT%X>%*YvCtimVfL_EcSI6tJJa|Al|LzLs?08Js;7)P|G{Ygpy+&)RpaJ0`7WiaogTISTwL2lQ5r}H_HEL zMr#^hHcW)<8VV^RfUCb4$JgylzK@`5H_FY$_ zJ62EJs5!&0UhRU=0wkf#m2rzFQ#YD)?ViDr17|#PEC=Il#N>Dyc~!N7knj47ay(5o zVDVI~6}!h3mZ|~=$-ZCUjpf@9$BqM)kh@n^3DB^DJyrfJ!j{&~V)S7WtJ2j^Ou`Si zn=9CtmR=LbnhoU6Ud(A~vg3D+o`mCeueCOTX;E!{JLkWHWUG+WbsQBND*w;?d!aHj z?)0tj{=n}AacR}~;=1TFcTmH+Qcj0u#<+`@A{3h=5Cl@Q9fVf0m+sdG%A7mDeRbUb zBFjQ1eyiM>!ZWcC4JDA)lFDRZYH&w`gEVwp&+LA9@y_kJ z%pWL1g2)yBx9aSm?3>kT2@12V*x~RZKXHD~4hegvR3xJRl(j;Geg~iJn$5HlbDOMM zb7PNP@P!v$CCf{CDKQ%(>hK^X_D_60hG~v}mIK`Lqu$i3bfoY9uNOe`pRbo-LqbC@ z6#U$rd*OXZLro9Uu5pP}+(S zw*G*7%8#>qtIyt|b(S3oXwzmwPmdRjlUBZZ@J6RD{Mtf3tyv5U`HWpe}{|jg^#}Q9)#ETaB%ng=MQ!t!+y9K#JaYMo9ldKG1y&vRgO|ZY51l`6`OkOo2Wu`8q0=~@SETGqK3>dlq0weQa9i%m}fu{4210>@-Wqs zK!l$fF?>=(8dqmMKZ$&g=n;=t?cy}wI@CboIO>i*u+v8-?u~wzyMK_hAn(`NeysUiB@Oc83;{`x8X?I=4`;FR+@!PKS8BpF8g2sjG@1q%&TiCDvmr? zsG@+EC++mmcF90XbaAbq!|Ji8r%IFQhI|I@?zV`g$q&mdat1u^pwlW(?vu>we$ zi8{ZDPBorqe+1sovZ-(P)yoe=Xm@QSCD3uc;vzu==EXU$Z)Mdvg0vQ%H%r;gCL7|w z6}ey89qu5Zid8`)rdoLe`jn$z3`tX)KOL%VSFb}mn|j&rmYr<5ol@WIF_xBbK~^$S z3i1$far>vS%K4c#dWED=N^IF@K+dQl`7i$j?1edk7d~U$1$%hW&ZwaKKS!zr9R=;D zNCNeZv|`R)9B(||ABj-ry}4!sEJ!0PB@q95M`ddDqt%*76Is$3bhr7!p1sY(*3lWc zf@aof`hG_U53}lAkH(6Xzd?)2fsv6Ben&x5D~~^dx%SjuchPSH#0!f*FZyq-g-FjL zzso*vT8a?}R3n)aGk=8W{`ns--m-^a!Ny|1Pa>--5FBaI)qs4fFI*g~S(vig1D9^b4>mLA#69|(V=Y7p9>O<7NGzOcSfhKcl0?RV;c7Uf|L7>{)G4cimV82Fg~4kf zrJJg4M8QRwJk|7qszf9RFkC)=gk&71xXfX^-D!i}stweL8o~0bZO^E!ZO3gt z3T#Y{1Jh>GQ?8=WN74#ox>0A@q?-Q}eo8ETdPg0N9{K3pa(;Mpf6r4y0?{hF5)7cB zcYL4Pi?)7}k@bA9`rE507%k_hPagg-Yo({H60rIr0q9VsS|D?%7cGuoOzNMZ&2X-d z!fIcar9@z%vy#@Fo0VAIjz3>(V_0ApAQ^2gs%@rdjU_2%3307utwqVNj7dfyuFSmO z9xb>nP@(yF91-h8`YZ9%W)WwRyvNh)gFY)uMGK*Ri>n>TeAwY>L87NZ1$5~Zx?~TvDLZ0tbE{ZA zH`#(5cA`1t|J-ia{QX3$rH*njixq^tI555(Y<@j^$U}P!V2a zPIe6n%xM;?qwrhmWiz%Lr&{#JKxr+s!k($`{_2yCpm=3Owa?L4-kUz^C2q&nT3qh>7+F%k{I)iSj)7YpP{L~xI^3WP zSrLev4H!D4zN0wiQHm{U)M{HAq)Hw^y09cd^l3+0ckz7*Z%S|e2Un6f(iD)a6E~W% zA|LW(omA^um?On#a$`Xaz9wJFkuY7ym8AE@;WPyH2xtnA^P ze}E{zr^QHqxMlF@H6S}TBKsv5(lTq{F(cQku(I%@28`!il;iBYHV!@| zAJ+qrFw=1S7d&y-mjy2`ytelBqEE+)V*&ksRv3j%D=`EoZ>q z^|-D5+*q`%8xoCRDqP#3N4=>Pag(jb4NvsnDrkA0s5h?YL-Z|N%$IuQka#H!UT&v- zA}bR|y86(4JzyLZ6(2T0mvT(4PFm=2!a*MGHbJ$?fflOaX-=50I>J8W!YPwQwYeJG zm6?3L%Qj3=w~pJC(2>Vn95$T$eIp=2O8WTGdAy*UR9+pYn~=O(0(2$peFpon z* z>gbS!aPxGKeqO+`KEDI#OQ~C?<}&02ScAr7S@bAy?64$6C~L}gZOAiOUh?;8#DKxl zxXMzeWi`^D)uB$0@Z#L5?UbuVUOOhb#$ege2a-9dL-D}oU1r&$ORX^+%t(jiu(6gx zF%RS5qa<~{*yA+FA5lpb@+NpQ;14Z!ap{yq6}^s!{mfeHMS8Ba(i-U9C3_lQhAPo~G z3|sh|a6T5?uO->6Tm7aKQ;;DfH7lRN)lu*GZQ>-Mv4(8naPsxK*7=*DC99xEQa-BU&So>O(1zK}bvo?4r@R5B*%K7;bHr zox?qUJ2i@dRXpqg1Ej5``KP9DxX3d+ z&ghHJH#05I>FSD=YWdYK*ZZGiayC8_=IUMm&E%fGSz6ZESbAqr!WE0yoKes z&kT88FJi8*+v=Wx$C@qa_`Q{0m^iu>p3Z}sh$?+*`W$e+uXUlL@lVk+4XJ+mE)+MR zjjb})D*eq=2?3`s&)a&ibbn$bVg+K9veHF9J9pEj=v10Azh_U{X5G6s;*!z?No!ig zMQiM-5^IW+7)%Cy{Ti-EHdcOP+UMP4+G3@QNUI)Tx6=5tRAmKx-Tig?$^m5CELPZZ z*cWU3I5GH+7}%0f`vuO`rbpLpqj;S;BpqmZvY05o(l~>V-E8>WV0Bn{tk}q!+h;YT} zt+&nxHC3$qQzVAbXGq=W%qfyJB#(~1h*0$J0zl`&AKr@;_FnWoaxd7PpM#6w7VK|p zP1{4al)|=@ekpMcScoAUzaPVL)NM@mZT{jUNMcQz(-=P)mIOd*jf$S?2tM+mH@j|2 zTi7wOijBnMt4dlPeAwYmNm?<*KXQZ~9XjRNats4fM>eXW%(;cA&+&09%Iy7rN@6Di zQ3@{KryU!2d(c<#2Hvrs36j|1s{ttG`RPK(1zz5Jzht_J=AbNkLt!ypFJ6jOPj!iN z8f=ZAhT{+0tK)6hs6fSm>Kx)Y;^*sPn)A2kjpLcMxj@E}=E{1vsBJ>6O7vG zlT2$czI}(|2Ks`g_w1PR3Nx^;r8PYL)qLi`E@2T*g_7M7_~Fuba@U7hS_$XQ$uVco zN^7-zGK}0v6x-2dvQyvf6U$@AN-R?|=IDu;=ohZOh^6fHYRA?|zO4#}RXv8n=V0EqCi)g$@5?$D?~8 z{)e|jq=<(%#PK@Jrg0@oTP_mpPny#-6JL9$rRGK(;x7%G8G0BNj+q=jK5-HkiBl)FNVFGE^o-v^R>~Aq}3U(B-<;JT*yE%q@%oGX{vz*AW_rl zW$kV9S0bOX2sVa=i@r8E={>=sVu(kCU-`Qg`PT1x{?an*D6I{_vMa(8Q$rm`RJ7T^ z!2~YL31EtlLa&hel(2oT7`<)2&Zj+ge7%lo6TvzzIyrDRl^MIK@y!smYYP642}H)i z9K%-~q_nI+y5~W3z=68|t7Ys~5a!hIW2WmfEQC`Y^azA0)xB1#=o=S+)KLKIW%5JA&NPX z9|e)7k$-uG^YtE{&YSmiLWQn#CEZXem5RND1?iEIiH(nheWGGUT$u-c&byM!$x*Pk zJVXD+?$O%{p00QmeYmq{5@mZNCAh-TY&kTh@9M6252`Y9k-+At#uYyImnUfA43w_q z+T)hTQzJ!2xM*)57jON#IX$gXYbA%Jz^~rFQ%>W)y}V*aQ`ubn%Tk%=&s?I2LbLnc z%uKvku{*#_k+vXyv}MFh*&$dI|9gVIwW>lBl5pD1^Sl0jRb&+PJ;;_4%H9n3*xpxh z@v^0+&ZtU|G%k@^KD-Jz*Bd43UZc4&W}_lv?xEPVeaYVJYowW3t%VvK^iPeu8upx* za)}B|)PnFmKRk|Y#KpEYl(+bvI{KY8yIRlMJ6cfBD-!MXbOZWA32bmh^`j?&j|r>< zvCj|a_@?(T-^ySs`L8!`ts&n!TXa4Hqz~z~YYOZeW;w`;EjPNeTv-OZA5~D>RL*IG zNl6qsR1h8GP9#;%y6CO1v3T?Ay<+GH`i1~qJ#+GgQV;C3J()=$W!rg8HuuqALtM`U zt1G#~)1Sz$OR%@InhT<ji5C@uxjx${-*>qr^Sw`^2vJc9~>n@J*V4tHbky?2VZUvFo>5UBG>jL2vd zR9rRCD(9spdD_k7x1JEe6|e|aR#keW;AXtP_(M0U=PRk20#5_Go)EEsSW;qVwwbPOOb4nV7`~EpL7j3vpU083fr{o%Mvl*P7 z%A_V!Q8csjgy)@c^SN`%<$AxYNQ17v*0qtOXW7io;l(N|02Vxx!mKoT6IPN&=o98u zt;*1i5GymNSv87oT(ITvg<^-Fw!zL} ztPWKlMk-a&`myxs4?<-L5 zOSkuw*%$1p4d#Bza?uTad zGN_sSWKn#*(Dp4dIMfi@`zZo%Oc`D$uxSB~toWj4hsK28I3qnq<1GgWepKj4tZ>`> zVW`;rINb!t-VzVw26vh4C@lKZAq>#AZ28$=dB5#;jkU!txPd;{;K6=J4)wNDq#d{#;FO9 z{f8Op+s0q`8^?#4;hVKy4cO<>3xzX@b~gwoWJh zsg5T5LEaBI2V=qli~FF0t~4A8^@T>A?D?fOYO4YpM#3?Xg=GqiD4dj}zYLjcgeL(G zw9RIR(r{)%(+G|T%?eYp?{vwom7}83`}U@-fO*JY>|gB@FS;hME}`2ND!Ek5~% z=CchSw;)OlrSaZ*dZCk}Z9Qx@q|g1wic29XGK{2KPe$_eS`m8*AQM+Ln8ExD4tQ*s z69zOsHJxYey$rn}-pLei^Pt)+CQ-3q4NO$cXuHDwg)ywe{S+y=b2#w~*93|x1>w#ZS&sQMdtUQ1JgFTz;?M!ZcuTShi z#gxB^LXFtErW`)IEMTGfYAXxRfYp6$s@oNajl#biq>~j>eV_C_Kmu5rY&!~%Vmz4< zDx3aIRL6Wb2$|db!lI>#;`BOFyH}s!<>3$vtgNj+8)yzEhl$Tg4+6stfjPM!I@ zt>~t)ubk7J%IVgli4}zks;&&NHvyRgkrhD_YAR-@gSp1BYgX#H39GUw<r% z5{68$c5K!O5Jb??~MNP&0RMx>kqJ#cP4>asF@aBT_ zo@e@|%XJzpDS=$5eF1uE!%dX!w+B;S<{I|C0;SL5{xHS8VTleu(7DYg=8IQLArUMf z*309cuJ}g|4dYgbGyiTY*Pl zIkx{%z(`9$OQ^F7t`v8XBJ98rnBn}ukGfq);sLvD8fp4VdU1uhB}m{cNUvw*=F+=) zgRY4)q zl9}TwdHdVkK^<}$3u)M3KvcPvl>Trx+VdR@8vs#8;&dG3;Ah{w9kzcqmt7>HE;8Dd zVh3;*1p(kLiFvM3Wdq}Qn9=?gHcV!s|5<~Xj$O?7e|L+A5Ey@R>>aVu- z#E#-AT(0R9bPW>1j;#bG3>BCfuPAVjjj4rEn78`1$&We^2DyMjESn;%s2l$JB}=$8 z4lt>ZR!gf!(ANY6Ofpb&60sqxj2>THJ84!hgvXc-ED15on8W;?gNajDWXf+dt3k3; zueB!=MrfUKv=K$?D5)L{2+D{ZNKfav^sk<{_=a;UjLIKyzS=zYU}VIa;Xa8s5PAR` za=!O;by9AvzaUQHPLMv|rGW5i7CT(NoXAwb^WZUJAKGp>nfX(5@`(u}!~Ro+`3Pw$ zy_~qfDH6#uib{9mly=xV8=06P%Wike2wf+EUd!nxA|fKZgv8JC9dX@xhdh_>X-G|+ z2cmbxjjS2=i-v@}22fF1Jh+W-Zl9)gzt%}O8{Uh7UNzCWY{$Mp^7~}`Qi3Y>MuI^t z8<-Y;-twy^f#u(bLRAHI50QZS>8q>z48k{u4k|6D9T2Cg&tep(=md+RE4sIy(Y|pW z9RYp@|4tl0kN3dk)%F#wbAvaA6?a|#oxx&H`2M_P*S~9P9lNjbg}XqtLb{3!%q_GU zIqzsJ6>f?K6AXI5_xV99)Y;l~ukXFG7~?nzw5L@yonS%Epw)(1Z{nQ&EeA@x;6M(D zD9({Qa#}?=(UM$sF?x_U5f6VlE+>}^e^kXcsV13*U&{bmW}Ix{WpcJBiTNf- zQze+f4q7Q_w1xy0-!Nm*kv0s3Wrb#TI8ayUJXFgjb8&Rggh{o}F3y7y*T$G;n;OLw zB?>p0ggM_5Uo*=8Yr<}y6UBOGa?f(^<;1%uc2TbR8$^rcxNJLHek=|=>nt(Qomv91`EB$xaY_AmXG(B4*n^@U8P$R zZlR20CVFJW0UhfDn+N_U%!e#2GMO_~-vldPR?)>m88wqA%#mxo`sIbw#@(fx(zY62 zlmbUY`X*|rd+$j;@Mj}+?9uNi$`j`d0fHh_FUvo0x_v$&fhy#-OP6-kuBF!E7f^{d zQMokhA*{Qu*)`qI0o>;m`9D|dA&-+(3ew`IIW!UdOuDqKD)oDw zyjETYSfrdBrwvBG8PNYJTeaB<9l}%|TD)gyax{f|Y&*!74k*x6#s1z^_9}tny#5yR zdYH1_sQwb>*gUvh~D?RO(cJVD`Ebf0uW)Wl+8B18Q^j=e3{>ue7ZVr?pI}p$^@7 zlnbgVe~MxaxM$p=NSeMl6GpyHCGiHi21%Zl!j<10tLYN}n5Jefjw=QAZn7l12Z2p*s`*(pxrEd)yk!_rZXN9m`@eN@=!xs)q0Q?NB*xN^&;nA z8J`zmK^1uF{pwiZ_JB;i4zv%bR>r<2J5z1{I`j6Uw2WHvx1UQ35~y=dI%IIZNE|EPJy#AU?hKSqiO$ZuiHCLz2fqOkf6-)ESvgz z9DJD^OogVZg>Zq4^PWRLI~7N45+c>UDR=3mm1N;V5rkJFS>>nD4ER1Mx;}(Oj-r{8 z`Qe1Q>+9>dwnsi!@E-hfQNtQ=m#^F7=ZfaU#TBomRtDi@p%FcVBX~ZM%9eu=n}Z7Q z=gs4ZKUBzK=F(dPPG%quL{2%ki(pCw3k=q@@&`{?uH^B{XXfo(<}0CJ%bvmJWxaiJ z?|4x8?eZ##QQes(UnBVE1PvT~J!f7nw zim72gupNb!48BW8v|2zpWwjdLzKiYCRnk{%!PYOR0_{lh0v%EaqpQCiEMBO$P|H#T z*85u|=^%fgFg~m-OyQva!VyakWW^BZW}QRn*^P#c9oyfF4VjdpcmB#!K*gZgj*3|u zSW~8JF~w$KQCq!KIK>xzFnCu|c?xZ12rPhUO@&c3x9NE@*3IlnmVv?U{2ho9Q;*0HVt$K#GcmpuFc|2oog4O~r} z!4P8B*XL)H2)ta~el^m$4V0>v9yN%ckPtV%to9@kjs(~Uz61c5K0lYlG zEj0YO!cXS|R<6hmFO*r)Az$3Shl4?u7uApc)9S9MQpMt=gwTI%0#1SdqYudIQlY#a z;;pyVjjW~M-J3&dWCL?~P6SEy6kC*enqy`vtI!4U&M;L{7e{pwW+v*|6O_Yw zZFzrb!R>h||KQHyrmcoHJF}TvCR<7d6~cjJ*eWwe=2crGc&8+d9y*ib2;&tDg~@~e zuh5&hj%+4Tl=sonJMS6;l4l!J;s6>avimZrRqtSyZQJU|iC-Whj?mJ1!r4eX>Ocfu zy&<{H(nyEC@UOLxEpi8k{(VB*cPiA9n7c~uyta(B1jm76)1RcbBR-lcF*zV@;x##l z`*OOCRcz*!7xm&&I8|2M5oZ0SheP=sB($i5?CM!oM`IY~b_<;);o#eD%Vy1x@-deQYnH+X#w5T(-k*7&J zea~8L(S9$i&A>M}C=bz0?R!|;_G1z39pbHPN_cg4G*)i(Xy7ffN5Sh!K zEr$5y@XnIpQjYoeoG@2ECcQo*lOkuEqW~Tx5`l^m6#+A;T*^waWh~m$NlW*ivT(IN zo?dC`8a5zL#C`tqa=9>1<_X>R)EidAVNw7yakRlqo+#y*6OPCsrLXB{BZ8qdbjIt@ zgL_+6<_XQPZKrCM6}cO~`&jq(X4IG@7*{rMxBm(Y&J>-Yg~Q)DSp)9jCmOu@&vEXYW?up#2(Ie` zuVNx&o*o>Z9Ym@1P8!Kftgn^M*DG@BhXb2Ea;hd_`(G*aBxGzG`qDV-3 zNj@HjX0QLL=pxiV{~a4{>*2v%JZF>WPo!Iisa^4_L`W1?!abwImuR0Hy^|^o#H$M< zSXhuy_&PVYoP^}2?N(xi&_;Wp(R6172rYo74D3CFx{s>x6Hqb2qE{IMqb;6x_%M&4tZl~3e?|N9@x~H~d z?57U)IQ5o$o}0G9LzVK9`XOKT{ONLVQ};0XC2Kcdl34gF36f~}^+9vrM8 zUDsnHdAcZDtf)Ajzmk-&z4VvJNZSTy!|C}95ovR&BuOrrJv%470nY7*QkrmhT7Dlj zhLE4b!D(fu7nA{ z*&?Y_y>|1a-8c9)%Hk0MO7f%?76-olG4P5giQdU%bP7%e%lR+K?^|DJ{@^C9aMGS8 zr3!JVL_gig4}iSAD>IzI(I;DR(o8>Ca2eF!?T1<)Ew9#y&c8B0**^$Otk>88aZ)bV zK9_|>MKGxQ6@t3_Px(6<4h3^w}Bn!h3iBw?WV*|7c=};xycjyab-w2jIqM! zr8%D+Sj9f4YGP4Gr`q(>+0KzqJ01jp!=H%6RJhk8r`lz10%lqQFtvUTj+lH7Eg)s* zAJR-FA?R!#gvnX>eIs4Z)JcpQL6Y%QiJ1TPZV3N#ni_M|79{xk$g6fUc#}<6E{*#W z?@F3%x#oT|1XJj@6qjBKp@1Vv;9VRb3axx^6H&gLvXbIR6&;yI0lzupRmIwqj8hnH zAIazk)(>T0M^@?>dhg7-d8NIS-^4EZTF=8VdM&H`1#1>(RJf5DFhS58TwkB7qXj)9-aX%!0mb zz%bc>mUyZ{vhI2!Ok(!lT-`|clvo1y6g$n}%IG?B!jP?W8WvVXc?>g}M+#Wt^bj?P zXyzK~P;yV+js7)b9RQi17+=xJtmadlq&LKac&L@pcf-7L$7Ayyx$5NxGQ;j!#H`Nv z_o~rQ#OK(Bzyjhger_}jQ;zMqc&8hie#ivrwXV_xi1MR3-^na$uA@%Fr>L!!==68V)GAL5O*BBG+w;Yf-vC z2Xe)cdWeEidtcd6`sBTySp=S4sFMUtcKWLguP!~wA~H(8TOV*NmiZe&bRHpc@7_w= zOm(34u^@qf3&@fYr$q4&C^N)F(_SKnFrov~#OMs0_{q%)V5U34*oNEZ_@a;*sx~pT zW>BfR$9b>)WwN>T52o~i=etwz#hSu+CU3Lh)rB7}qfcqr(hrHY1wK$!y&sBZ-T)Fy z&~;AOL?xaf5@IcBx2$ooSNMT~1GeJXSEsSoYD8Zx$GFAyDycdx^SIaUzv@zp0coXO6HSXrvj5fgLzm}Tqv z1n887VRkZZi6gpR3LU=3kikM5qQ2|jvK>TVDE^O|)^8c(f3~R#Ep2bjf`j7L0@RAb zg0dJ`es1d1!KOcB^*7$h4fSQ=%F>{l2tIjEIW)oe>x`_X3Ta~PTgn`OQw>9WPLfjh zp}&bs;TR|B7?r@i)Z|l853pT$GRG-eu1xGS$&9V-sSFaLj%)ueC`Vk;`dSj+b}m66 zVJu6VRW3JkmhiCSp@JFES>G;w;HiUsO;MSumJE^Qwuh3CoSaPP>AVHj%y&|@C$#l5 z%^x&2^_62%gGzW0VFU877^yO1ljV`nEG^&Yc=1E#s!PK79>Vgt09!>-he{L(e%V9@A9ukNb-G?rxDOKnbYIWvT8YAv5! z0p#t!qu4XbE+gGi<)7h9XU{!W8R=lo8s70oZ5}I)DJz2uLN4vw@@-7vGlM81;Y7lq zz776z%^N!4Q;IjuVNg9cy?=zB24BfZ3qrS-PmiELC5iZGzxCp~j5d0_G(e=z%<8e1 z4`ekBfb7V0_5$(^$1Ic=+4k#c*gS3r?=Gn7+|lW3Ny8vZBEQiIvB=!`&{Gwr;woT> zc{2E9!Xvk8qC_*lQ&Y(TV8TxPjqoW?&qx3fg#6gl6Ip@aU8{oCk2QZ_eGSUO;n(a{ ztsw@JuTb2TB{Fm-I@7$X>GRod!AQMc(dBX~`M29B33Rc7IFlUNkYFC^k)C zY3bE&RIO_3 zdQP7kY=Hc~-Dv~?SJj>p#(ynj0f_$^XP~U!vq`r1DWgZj9yy9Ek8TYK;AmU5| z8xj{~0i~k?e-olewb{}?2{fv?V69@06v;{w@sE90P_b83yBVo!swiZGPDCeZa^4eJ zuE*RCKr;cDol5=VzeR1krK=hX* zQ`}9JG1PA2jMC9`L>7x8RJS`@_XUUlB9A38-bh_fSZf~@E;wPygpwz&g$@yG>{!}r zg6wXqqe!#Z(JxEESd6@7$I2GhhbNvUWMSSPstz{GGf86ZV&b5%m^JO;VhLYIVf&(z z`QRu;oADXC7z!;<>)3qac@_@qZ8aM&ZIzE_)#%=drR>i->X@ZPPA`1t`<6bu3V&Mo zpdN+3Gew?jtk%B1F}ghKkZcvI3iKpdTAEr2E?Yz?Gw--a! z5^Kmlm}eF*2i&)3vFUOFsKR8DX12ycc6iLr*K`(K^(YOQ;r9ya80A z2tep<;3mD?>hWUv98iuJXtn)V`a=dUE{68h`(<@gYLfFGvq8(hmP^|h`?2c4icXtq z`X3Tfdf5`Zchb2p-_bS{#hMKv+q`uG@79O!6l@HT1O|063kDE<0kNEDm$XOd$irV< zCyCI*S%+A6S!58gevr`h2{aTsLV1=kdH~{*XagN2XxGaziW$Zw)o?zH92G}Tf@EHe zHv|wg&5FA-B@3Ya@ajETe+kk%eYNd1Guh1xXQBgKT=eoktnDW5UG`DyUGGUM^q$k5 zl_6}c?}Ky)MwK@lSt^+RM5A=8^+2V@fx^0)pwu&}m^Q+nE#;2YR#Rd!3I5~@v{oWB znw`0YW;-{bzSF_b%k@5Q?1V###qF*k)~j{)R?XZ@rTS@Dw?V)?$5@3*(>hw)h~7y! zLg{|8(CI?9Zg2fG)meid&E!S0>gFU?cc&h!BYuhr5I(&k;fDejn$^+ zI_ozaGps@Sz69Vvp5{DM_Bxn$&`{%YKv_3rad`1$g5Be|`tt+Ip1y23D{xT+Ci0w? zqoH_aK1)bZ9G_Ps&J;8}Ecvze(*4-nxp8 zFH53tg=z62Nx@geg4vO>8oz67W`JtX?V&FqE}O{#uM+i(wkB9kF?_fMi~i{!wzLk2 zwW~(^lV1n#!}M(|p-MAWMmk(U=;dKi3i)ngSA#`PE0dnDSJW=McSb3$YZ*+u&`$a- zp~vh+dV9lqY8}rQ1#@P6k6ZpNJ7M%vNgxy`axx{Q2hrcsqwZDoUaR?f-N$Q2Ba15I zIOnEcbM${&LV=~R-ooV9qTA{Kd0!8d?X`2eLB3z>?|L@Hp2pCbMJ^lE&U+Rb^I|^~ z+_Y7usEby)NS9Wex|%a)ezzN`|A1w5H)`$7B%I1PL?SyCj!OB0{5YLI9&I4@!s;j@ z;}l{RLa;njl*^i%-?-4dxImS~#keQ)8IS#wH;eBv_@=>D0bops*EdWd^pg{&Uio$z zF^r(r>JpWf}J1Fpvk_Tv>hNV0Mptt9e#SuTU%@)C|VD>Ej+-6?|RI$-$I@D)2P%^5h@BRrwkUy=0Bb&r$^P70kIi!AeNO4+f&Xi41BG- zShu$ZWMZs6YLd~HMUbT~#0;NYf3>il%3;G4o!nAuq)=`EnL?#_X3*t(AeY~uV2H3@ zQ-3jh9N7mjc=jZ0X7ZRYSalo=x#G`Oj;y~%g`*#G;@*BD6U-rSxi3w0d7OE;>>VT7 z&0pXRPgeFR4OZU0yh_9stV5y*>Sxin!6VlrVN=IQv-*MY#SNQ97DagYD2Q_3fh-sC zhnBOU!^=Xd$#QSoOQ#`Ty#J~&Yxkk*bXOH*pNO5?FmrS*AZu{3h`WiyNw@Fb$)lkZ z4=^DD?&n{KJ*4HpU5nn}OkeHRcpuB*p6&N()IA4NbuFi&6%2inQWuz+I+m)Zb&vMP zQEJmaQacB$NaHVIVY(u|iDU*^L53z@aQP~TOfp?L-XFMJ^)hJ%+86qNsv46Y8NhP* z!5NOW1wPk7JSzp&lrG4E644ixp(6CKVz3qcO%ntl`f3n^i#AebAk!J3| z+~42Vs*h*-idp`{b<!;J?uhfp{1Y@#T*6AeH>5S>xr**>48%=~-HCVY!qQRx9NWFuReIM+=R(9(6hYk~D z=EL=|oMs)hZIc7Wo^Y#?rz`E09m3CNhg4R!xRx+->3D;=;c+d`C*`)MmCa7T(|;QG zBjW!pL3SX=kMKj{4)1IfZMc(9%C*q-OlapKZMMJb?|HOZW7aFl!U}183D ziJXNVi%D!~x3mfs7=B$bR{;&i;qTC)r@#b~Dq^bHv$rxCbxRfctKQG3IvRYcG86LA18fch#=e{CXIK3Xj1?jby+XEZpor!u%0iPAv9@sT5729c< z_i3Xn;N*Mi=Rl&@UgBcn%hjZn8WM(#4aN=}U+qPKS&k85tOi(@9LxY~5$X^W!UZI0 z63)xRu9NE*_}%B7dkto>8omIfu`DA;+qV}FI={qUE9*J7_Vh`7Z=bAyH=OOQ78D#4 zmr0d$4+gy{b{QTrsD$5&Am7}AXNpZEoPJ9bA@yUx{N+J%wXW$0_Brn6D`c+z#>5YcPrUTuzL# zVs;#(%_^_veR6Cvz0ro8sLZ)#TxFQ}_BYbZj~089dza&NJ9;TMpTbvO;0fygkVkU- zck^-kg4QBK`6G%{+v|bW`6lWRJcl9Bo<|Y{E@r}n+cs!(up;Pa`B-X`)=~}-ER5hG z8o9}DwMKSIZ|D5ee7mohGXT=fBwiv62A6Xu0oJvql@1%*hX;@&seQlGMNyIaeH&wr z{lUoT#lu?c{6HDDGsYrbML*d*{r~p@K+a_HN`k`%(TC`H_@9)pz@eAhJ;31ZPU`c& zWIr8x%R`?E8$h55U8MbxLnMzniePFSr>&U*S?>3iZ<-Hd__rj)K4iR_wAwF28MhBR z9Cy7-9#a5bTd(AK$EzQX`_9GoK6E@Vb^-K0((>Wkr%Q~z(O$O{5rlxcRW1AfHbeb~ z(L#ql|Jh&cZ0+_Cct=x%-nu+_tjOHT!~C?d$Wk9CfTZ}}D$^BkL7E+}n9COr%o+5X zR$pC|rB1&a2*pcQmBo7@P`fL)b20Mfb}$_@AKGg(6!7Gp2+7GC%NTNC;H`_0Q}>%- zVB>Ox8z`D%lblKD58QuUk=%l|TCWnP5NXcQiS2zI4Pvlrd&0gw zn#tdDX+umh+Kv?`zLH{ho`gSI_2%FP9r37ZeHrX}e}ZhXSfLYyCu{8_XONE~H*my~ zS22?@Ku;qOrTPA({ED_$h$cU!_vo@!L82qtlkio9IOzNR3CFSLD~Q)gbz*?^sm*g4q- z$~wF27p&WI=AqhnnC)Vn%rHSMC%#Sq=%)<+Izg?(cczc~y2!^1)Qh3LEk^SkICo;yeOGlLuA27cXYiRvIPpXdpUnU zn-J<^wVG{wE*Gww`?4p2DXaF{|HWsZjY(gt!9WF8EFvSoAUgG6qVq7zT?+f0X`E*V zx4p9wYbGZQJpEcgHe*9MYA#m4bC6}*~UELai%wjSNzK=!q47~yJS42ttAx)>M) zp9N4QVG#*yKBe9Cep^lIWdtuk+~JS0)x6ZH8P~7>K6$L_(3HD-gV#vTS;{n-?gWlH z?M*C{Vy-L;a`fF?av>|X6bc}`vQuMw{%Dm7V=H<=~+GcRMQn2G-2?jaq!zeE7Ws&zjp zuI``aAL?JcCikPuZ4|-fawgZsoGs!nDY)*>biyTJj|J^sIcb@fS#bb^=$-wnn!vqT z=>CI%7OH^Db<5u_{@_WjfoA-W0!_0$b>0FC$VgXuA-TkVJTO+uZxI)tlVy`z3&pr1sV6xgHEr< zZ3HZy&$n^AM{*UKtqMg?2qJ&ZS`WvQ|MGL8vgEcvym*wifZhW)#%=S(bKCMX5kkvk zRB`UAhC^wc+NyR!T-$S^0L{<`6?%DqM1T3(YMj^*W**`SOWLN{ms?}*H%zQyN8bTA zG}4m{QC#9Saj<)g!L@s{(*?hXND$?>yT)Oc?A59=mdL13$UV)_5Q){0x7W)zLe3l1 z$EU<-gWV#PRy9vqh|S;AIH;OjpTezpFq5_T&^k_qryZhPX1|*UM>#AebS+)Dl=U|j zA5+DdA(uA5Xf;pgvqjX)!8-rVs0Xg!f61l&Zo>GjjdjG^YZ4R@P2XLd>|bp@`N9;Z6WNR=% zZg1;E9%~+~t*4+){-rd~3A^IEEhhzB4GLEU5^-g^UeF-wcV@tb zf_`Hr_u?!VgI733m)k(9`QHZ;Cvw06LiCQUdd55)4<>amDbQ7YJ<}naLalO(+GNmX z)AK>^?fEV}_Wx*zxQzgv$T(w)+mk0@B{=UoA!nwSMq@<*RCw9!5R+yme6XrZ+) zp^N0X9^N(1pfcUUz*zWGx_BYAVts})D5qF$rntocHXuwLBHlR2poAH*yWyoEril{Ir- zBO_xM2`5L;=Esr^pWPgk=H0Gd3Tq+4NJ8i!HZowsu3$cH!pVFM)8rR5xoZc1>cCMC z|K*!~@z(PP7lEpmGtVGOd3^BnMr;o zu$~wZqtlPafv_jCNp4TlyqS`RLJ4)9%>)rXbC-v`&p#Yo!eEq;Dkng@1IgM0gUIwf z31M=pHE+UBpZnHYsrCCW$u?@&z_9&~q~|r&l)Rm0??(zN?=6xR^X=WobZZ3^z2d&zR2`iVu}O8J3P<8CSz1+JQG$pbSAUzTUv`abO-# zhBqZcT9-M(3)5)}?P*zk6@m>}6#=$fDt7PmGgt#07sauC`LAq&`gep23qQrwhU5IP z?|na_j+vJ!0YUVWNKAB@SE-%DK3t<_!Sc1Q7F4pdZO3#pO*lC|J&*5 zsqH*^a4y4pCJ7LL#pT| zLlQ*bB|y*xw4kCQnbjaxkv2zY-gqyQ(fqh$CjQa4_)X+b+4fCooq*BXZ>kMX>u^=% zzTlXe4O%Zs7X(b`pBvz2RSZ5y<@{p`6K| z;1br{=EslGXE1m#$Lw!cy~+bVCt(j+d~xmvS-g?f=?DsKokmdNF=8i}q zQ1WQ!oiR&X1flZ?iKR>+hyqqw|ED7q0`9kFa{ql~e^0e;J zCFC=o=(h}7wn~T}j|_t7t0y6TRlAM}ww}?I;3%ZjUGVQ?GM!4D63T3A@3bY=qa7D+ z#VO{uyxp(Xy51bb$^N4=V7dO?yAeXQUyaAN+&u`c7JtTKQ~R#WQbQM^_8qQA3rDMB z*w9?KsDl2*Ed9caku3d5dDu)obWERsTpdVRm`{-}yuNQe28OI7dD8jSWhg`iGFGg- zOr2f=FM@1?Y`)(i{3&i>R|@iEga6IN*eV!X#N=^odBvb&5p5tW4O8w^WHYOdv%}T( zBrBN;qyWeF^dvDh5fUH-*&Mu9Lre?qGn^C1AS0Y($P2zzG;gF*6Gr;_2a}hdqUpWm zF%3Ln?ocRVvILG8I*R_v`0BCxbx*Ff-_;`Ga4kb~rRV$C3u}uJ>_p3XIOrk5O2|}x zO&O8*zc`6zkkuWQz3}Tpeow(aw2z=4m7r&c_pe_yz3(tmY}XcAuD!Frr^lBF>|Wx( zZdwoR&ZJXsw^!eabx%!WFU@4J=%(oq|MFBVu$}~fMFi1E#gUjVfIVmj^x=;1eqE2j z;%VpID#n-9!|e42WlZSJY1R2oyV6SY8%vZMUxX>Ehv=c5ESX?ATkjSQ`l#3aF&UbE z0KHNT+f9;fkDt>~I zi8nsfB(z3n;PM%c3YB5#Q2+~fg937WN8$H}uJ{*#>r@Sx`@9-@YFBqX1@DyB7GE~G zOND#bNy{$yh z)Az)(Y8mTJibg77of3GU($Hs?(P|#J$(v$eUP@-5C&_8aY^Vxza78Ka>rbT)U@Zxb zI;{d$X=wjXD+v4VtEywS;kupO@_x7(4|%siZg`gyUqK9CqLoyELan7WY=pOd#6+V>em*#z z_4?T8_44>9%#Za6WbhTi1}%z(%`W?wkvDfW0l;j>i5{Kz>*TlzXH{aiBeH74;tV@- z7-T$z9FD@*?hw73!3CFt)WeQSLauYTfX`kfJ#a{haHnMn*#n%$@?lH0-<9f;eWxr} z0GV^K!zUZ}BG;bcgCbJ&azTP7ov2{?!|7!JGg7A9Y9K2H{DBHhc|3aF{YLwT88=D)xK4}%5 zU@nVTd5%}W&Lbyi_0{TmUs6GngtbHr`(u|A`7s)_8SHwv=C?S=%@DY4(&d6Qwpou6 z)#c?&lK6&KG2Wx>?CziXNnbgg#n=$smf`+t7=-2hqQC(vOK`OPAW_G;5)ix@4_AAe z3Er7htUL3K?H!&mV0j5h-B2O+dfaB(5MLsl-ESpC7Ea8J$SJw*Xi+VBhoF+p@{@&E zbV@O(i${+K`%)=*XlN%3c*q;|{!$>#C&RMTnP3K^mh_iA(=;_0)mBk5X5(4lt#1Uq zh=&~J+54qf^Q<1K2>7lit`@Q|8#+J1UU$$pXk5V2%T0ugiSeCsP&xwQ!j~Wcu@_|7 zQyRtQ^jLMs>3}xK*Et`DPH;w9LzDf->RRq zn$gPjTJ~KMoaqf9x zhpt~FrBIw&|Ctzpntuvj+-<0Jq(NPAJgc(*+y2yYRn3)j)&;DyTIXrMot4%;#%4&N z-nX;*qotyMkP(fez+ly4sD9&55u<308k5C8K!M(2r`DjVta}k!mT)!R@qvfV@F9%mSE`?l^!SEA&Y8H}l#7?F za}Qyh<$|p3;u`5G=Pq_xE-k*>b6T`D9`82h*mOS5{pF-bD_RzEtfH&$M#IU^JZe`3|vR-dsyd_={p zR;>$oVfSD99JxA$30RM#aQezA+$7#~Yc+PUh4hJp9yh2zuPFE9 zu|PZ3T`f>;oz9X=Yq1MsLUb_7!RYtp*Y?T17TMCnCscwg@XEGdcjf)h_sQU>e-)H+ zedS0ED95zWT$G*;&cgbUnsPF#B~)X-@5rp42n1{pl6Co&Y#vH}+*1LvwC4Px31;oy z>Q0CsNAXOyVFll5FIpZxy@K!G&_l(fN0+qJ+g(`yuC5v#2O$$hsMi;Tx1+jDHq z<@0{ne;nqP5X8B zYnhPek4abItA0!I-P!OUGF+vZ<+%8f6IftLCw-m(oBHPoOFR*ZPp@Yh;@hi;RBqB8 zPxoScFKd6EymY;Tyw`|CJiTE$BE8+1v;8qU{PQ=rnprMlNJq!U!s)jAGHF+SmC~c_ z)Z?}qihxC7uQ)MmOe08HE5H-9zm7bxk zxfGSW)I1V!Gg>3>^rtRE#37y?uo8MaS$>mApKDM3YhCV_NmlnHqbk^15g^BOoAgh88lm_>9@^_Cw_?Te^)bZ50^e4TAWC~9A{^C zv6ssLd``-O=0ZMN!G!eEkW)>CRJO%fJWp_B&F1xHFwQ;{Q4!Yo%`7!Hb!03_9obs1 z3^j@up&y<3$RV@UzpIQyqQ3-U_U^#N$+}U^aK4x2elTy=>l-u%cpt>xsX2^+2l&Oi z)8*oD$cz9}9?=yLa*$qbDQ6_AfZ1&l6SF~zM~Ywe`*gJGJJw*XcGj z+}89D>&_%Hb7!+}4tNS1D&494@UB`inqxVjnwe=&va^uG%gdKYm*+m?_GZSYA|({? z`Nu@f-radrNp1)uD_Owj(hT2ocx1;~2$+R{J^QGha}(m`^wd`a0GP_X(WX1e%h1c^*%`tM zUeuqNqk4CGK}=A)P=Q!wi_;Hw0FghThfEEN-l zh(o)-b9R}zWllVQz%K7q+xSJ~*r;;4BUQYF*`!~jw;;JN9J8}V)~*WGb@X*8eO@BG z&wzCywpQoEQr>GY)rQV0A5e*?u&NZ>Lb4Os}O0yK5GU++zXQ$u z%lBU--{`kgv2IJ@^ejLr9?Y{{M!{^$er>#=CZuDjCe2vmryj;1zV!?lhIby2z}41B z+o<~l-=qYlLrHb5qGsOJt)>PmDZTXzr8{*l`p^vDT2Fo4-`Y|1RddtrGXczL-q^GW zi~Fm2hIhS2VS!GI$98Md=1c6@bkC)aleFk-Zl{%|W@fas1pjpb*nlvm+Be1ka#`xCn6OE=^bQfX+GMX(d4Ev2BkJWtA zla1!olisN1j9-LROxQY>vHR?j#m{A@uk%nPg~T%#unP+`V%qh>W(7n9 zknUk>TzOwS+Sii%pnt_5nOqU%|4@NF$~qAHt*=89idZAA`yDpwmu4#E!d3U~O_@eZ z5utYTkt93!lN+W#Y;OaB2mW3CvUcn3^Hy(~+0U=+cnn%r-;LpEe#I6T6Hw=)D@!bg z?f{;=`Cm>We>*x*Tec#^fFe_ZE#_kS4HGEcoGv6I9 zn?Mtvf0NdH3-eD3gH+*350U>_p7*V1{oDYW%QTCWboH_@2dd=c|w@vD_f}>z*F1 zhFi1~7KnZArG5`wCCslh+K=TyFaN!mzw2u^3YL^V0udUWtLbGs4EOx8Oo#24o#^$&F$dP=;}V_$`}kcMY_#39gD*BOnat{H z3QU=6WWH9?lG<7+;2j;9S6wLEU+;eAb7Bei)^OkKgkLnn+Ks8l888Jk=W(FUOF$^4 zvt{kOZtQb=4A)T{ypYApQr4Nzkku3(WwPlPLpn8BG4K};)>;gBx&hA)Hai>4h$9Vz zPi0cZs*+8~2ri|h6f@~0R87Y#WLu$}z@6HhHa_A05;rCzSGL`8Ci(`%QsQYa-*Wn~ zRyID|BSQZ=+jqLz@Mx)gr{&KMQz}r3J+wJ?r_EVByKQS<*Afz^ z4SfxHj!#$>b-$hJjkk9QrT}5-be-MCaj`%K-d#=QXr+V*$rWwDb1(o$4O1p<`{V8OUbL;99lU2T;P4n4AkLF6I44X`Rhq@e0keOLsrKCdp zS@M5c0JFRE4g5f8WN0?WYm>$n_P&wUN_k3Ntk#5#S-M0(4V8ZaU*_CQ`YgYp$``7Z zVt~7Md*TqzVdi$iH4}v|@h4Fo>mA{A<4IE5AH*rxi(4PHNWZFhAYV_+YWJ9gd~yOF z)VbV7c;3E2#lg=E>>AXhy#-qB9(Kc<=&se)^CQVM(d`m{BlH;us9_%C8X_5!0P7ULR>H(1jP{QDKY+ihIY5} z6MXCc31ROxf4xgd**!bTSp_P+sPO4F@D%0Iw*{oWMPk6z?{V7fm>49OYRBT9FCLrAJn5 zV>3>I-+0t?C(MSdN##F%mImSQpJ(cj`LDlgXoF5ti4A+;bL8V3bwN7qKD|z2RpO!2 zcIsB9Fm1aY2#^enV&qc7V5dJ=k48Stlg#7p%nkvl84KpU1WC<{z`Wr8i|Wz|T2i5L-%6Pu0c5HtfIE5sDYgju=6)O^LcPH- z+rJ^Wd$eOZvV%ETq!NUFSJ=K;De}B1;Iv-J7VX_yVM<#@?*mz3_;_o77+18+&q$UF zhxL&ddiOBT3QKIb5CFu{1Uzo3R|m^OFdQi#&T(NHi6=xQmd}|F>K{SKU{jY*(uF2Z z5ahw{5MK>8k4xON-CwUpI^2kL;hfMGRXYaa^84%QgT~7*e|@|Ps(lfwXTTaeR$^_j zhFkCMSR-p|jWR<-_+Bs94B>}Ocyor=u9~`{av0C8@v-`GcIMt)M>l0d}1x- zps<3CW@e-T8V|i))(%Fj?>fq!s#^eYq0MXRvX_INw8Z}e-^X&u-#(1~vchF_a26j#`-SRmxq;S99SxbQyou(dtO z1b0HBQ%5%MBr5;FBwT5Z&OBW&qSbZE`r(W~4lJmLNZPJy+3br*A|6AfXh*X>{Dd|9 z`sCDA)%~~|snKGq+alm3TU=4m+;}egl{Y#aY~U(kf@x${UaND4r8S|E@r#3d3{1)v zN0H-iL;YONcBhgp!p-KRp~tsB7eD4s!wJDARKlRL6>$DFzEauuqGDZ zvE!xI+U=@lZIMNn{CXa+LQ4HCx9)zF_3@4n@%Li>59j~PouCf$GTwuH1-u>viTzOG zyjV4L;-cezXni|GY%B(Grj9^^wI~1s4NWZ1 z%AR_Xectb&Q>VIumpw(nFe?^0*0NYW$#RSL#Tp`x&OmvR{5c~S_`Kp5j{bVtCI-eW zdOZ?F<8F5mfrrI<=T}Zb+wb#~#zzAb_W2T1-P`SZV1HW2#^U^kq)j5uvCH{*)>l30 z99!0f_Zoz&TEYKGQ_BiBndu1~BA@Ax?DFMcltNDbOU+zb=QJH6FoUf=3M6|NpHVCH zV@%o88|NKiOvq@B_QLB(TpvoNXVk`EsbR3mWvKG(5peBUPg>h)zvSP-ovIIZn1O!6 zyl-oyv)G8w`a`?$>0Gx`DsH`F7G8M~p*Wt-VTs*EUW-XrT@K#BgyELpaA1fk*a1Y6 zAWM@?PW(p?%gs$<_;+mJF2ZW&vit@n7l zxF#k_-QM65v>o53xsxiD4AVOm*qy<-R-oH z)=v;}bljGRcmhMG=j6LSElHI-Uv-Of+fXy$2jH?5Lp2HB%`4kSA0LyawimM%qc64@ z3d3TrGhbZ@y~|rS%gkgpp|ZZNC_0zB)0>owxN76iTDqX~*iX6?icj&==t2gx<#?S7 z1qn5d-MwHs`lVM~>}8f+_{h(SI<1CW{$i0Bk~gg~r)|>n z1ux!)G33b(Za-a@gECiG^x~BRqqq|0K;p=8qc4bPKgH=PX6b93Z5fCRBDDEk}!@$a}(HxJjMe zRV;y744Q?GTANCy9a4HJHAU1E6L(VVRg$hWjn_^k^pa=tW2d4*&zQlA1T2OfqJ#mm z3NgWm6zeiiKJSN=uRbesl}#1)Pi8&QOdlg%kGse|{xRMMp*SoDdm6JSLl?>CgA+hJ zg{@@uBMta-rT2K6)2rCLWYgUWuVlc)9c$Fmc5lct29ZuDgqd6$7P7!??CQIl=|(%i z?d@)9VMa#eH3Yv#%}j6f@lDuZdT{)ftOvEgUYC6^ zBQ7#=-nhyLzyMrYhm9tNL}WbwkN2^dtHWkaz;w#PdaMNr)~;poPYLaG!;ao#h{)}4 z;W~|xC(&GfQgDaeokWGzGMZTcl#S zEL5nn{^_T%Bki!@D&IwfkRhXvN`v)0zE$F%hXXR!yJO$kU@guUDX^PkbbrhdZ-ZK1 zy3!Xn7O@%Tb*gRJ?%Tk#?jec`#Gn>Jt&>jzwqvjeC|)nne|uiglOf9tr)}WA%amt zUDA8;zA^Cd@g;}8N2|--%%agB4JQd>o}!Qgmu_;&(27sSS%RRxy87$7!Z;ed~E!Zr%(1JunRERwuC+7 ze2xNmKN0`!8$UsSXfYunwi;mi00?-^hVSN-7HF{)>W4KWsQZ11^2l56uxJ_vsxX$3m;U8Jg-LRA4d;DSM18Yyj`97t z9f!#6Pz)5t>)UrE_|O)x_fID&XZ=6o;?F4kP{stFEjGjQ-49Sf|1spk+q1-C%2X`! z2)-11G3>xedXom7+yc7j4=O9qNajuqn9Qid)1}dvBK{1T9MhRzGt!U1iSKNZ0Xf>| zDNL7irh-j7XuWldD<_QqsADJ{9CVwa0ax2O=~q{O8k*^a$@`iX$B#}-Ogy-Y7Znwy zvRlM^EH_7ia6d*@yF<&(Hu%kp^SMn;P|-=jKwjxHR#8QjTVUvp+2@h(36wj@+O{;M zH*Vq)9!l&tZTBZ>+ntcrT`l-?XTKGts+cc99})_n<8w?AMuBF}R&~-6YiS{B^DC6Q zi8Wu@zD@Qq#iEnduapOF9{@9o&B>P9NMKR|Z z_NXUqgSNxMB%}|(PKu;bhLg+WcV-gn>4Gjm!J<$&KoF(yQ%)ETjxOpD4B#2B z(V)+0*#*8BH`wZ7$4srqnzU(%&5;lgXME^f6E`uMIch)_`k7ShyE$Hp-8GaXi(K5 zgoKUNn#-Vb9!*@%z4!)O)pRxIPCP0$AUhgERW-HyD=NX~ z&bvizT8mAgkCsgj^u(*h6sg{NPV(q3Pfp|G_?AEbmo5*~S8i~=G#GS7Jp7ZL{RZlA zN|n#m{1?xLkWt!@W9_`A-gerbaVNf#p(z1P*M6-sYBjjj=2V!SoDt3}vQF|{%=$L(8 zp;84rT@*~rWUxB48Gcg7kYODzXHAlt*dtQI_X&>97$|8lMdIRY2>AoS zuoY#@aAMW7Y(4Q#`y~3@fkUe$L{c*&@D2vbqrM&3Jlgmm9phxN4aW^0 z=AL6Y_%617vuaH5PX+K|8lSq?Z>=U~Cl7mZug3R{PVi-A8p~S#uT_pnW~*~XkHp`< z5O@axg}L1+DzwYgUia5NkZn9&XnCd#cnx)mrJd6L{KAnf&Ov%g2b$9Cmp57_*{?8` zPe5u0zFYufXoH(O_sA|Hrpj_*!ubWqHaQX2GFZ(gR-}pO=F>kDPVpA!_a}@&IyNgz zvx;~cNNE(I$~Z|!1l!r#it3uc>ZJ<2#G2k^$HJWj!XOV{?hJsswcqGUYAMdL>OF4# zP~0z>4WITA#_v8qRSmPap5vEpsFqm9!#$M5;KQ7+p12xnYg%vAV;_=syl0Qt<;vSSz;D2ge}+Tx^&{wxjW_!_8EL z@C4s6?CZ}0d+`zEkUoX2%)azrNPR5wX(qRC)0bZ)_aS#B0FU!jBhI|2*IIQ=qy^_Z zED06<%z!GMMiXm}$bmkxi!sx15U!>@aY8dy$hS`Ghc`R96rX0M%j$6|C!qd86EfT9 z`8YsngkDK21tLB*ukg;Tr?2$@L4P1p{sW2!B-Z;9P_Oar0fc$M-vsDxA#^%B&%Cz- zeJ>ZsB7K!thc``#qPY^H;upFgU7iF+WFbfcNzrECSh#Qyml-RtZ}T-e=6zHQds{_N zPb;C+DxLg{^!XmXT0F7bSH87Az=<8z3ouLsJ!eLu?#X(&{7@;Xobdl=dptM>@vks& zgaEw1uBnm;zOSyn^+mrsEDL{$1d9_Kmo9exz^Yn@@s6ItCh)1B7Xgg}9Tnn0f>b3* zoTZdKg49$Ik#1@F`mQ$~78(QStTeYh$|p+EOBA6^5qw=c7S~LW^bJUD(Q3EPw}SvA zjJo^mlY}t}jTMT@((1v7%30gqjD*h$_a7Pwhtpa^Bx~?}?7$K9m-SIN2R&VodqpU= zTj}+Vej)o&PY8hkWhyygsUCm(dK!z|fhkjkmmRglk%3q-($%>I(~Jw8sOll{r*;P8 z0>Ly@8$LJnPf^D%hPJC15D?|KI*xxn(?u6p^}K7b;V?IBpLJ<8RpYXtEj~z%ve!D= z5VC5%bpW?wb~>Gq{8p`VjI@PI-I%^2fw+4mnX_dl932UxJd9+dVn`&h`PWlwJf49F z3B>E(j2W(qNz4kmXsS!hV^&T_15;c9xHAFQT_UZTekr@d_%(2rX?(7rdk{b7uuPD< z73_yS^FWZ5Dd{P}*BmEQpSO%HBMRbRGtLz^fDOcTb;UDDG!SVX-8^MJ_%i;t=A}J< znl7300{)ykzzz;=Zh@c3&ye+0N=rjIrN4aji`s=OS(cNkknDXL0rtkk3D}Fr#VAQk zUH&qpB;pjjxxhZHjxmePt}8v*55a3^mAcv1gLqo# z<5f`*{~yI(T+qL38e>?BCEm|EBTBo~7)u|{4?Tvz)?`qSohU5v^~S5?olN6-v3XSq z`M;??n3B<0-!VlPXhx7f{uxVLN;t3Kb9KJLQ*($c?3C*5|*;*zOjY` z#=%u=`8dzuJb=dG;5r&@>xG_P4Qkj5S4aaiGoRQa)WVWrH|a%Hpeg0}rP+C9h!rDr z1^J)6Qi0IHp!5A1xZG%wK&!2i*!z>NxKxM9x7vb1@5hAPRXn8gOFrlx27Q@(5w zC3+|-G&ckIlAiJQt;4hYeDm4vN?VgXfq$U0k38N!Ku&sAMtupI*!`MG6c;Bg^O>(K@pWrQ56ji zZQ*EIKkV0u7Csa87Jg6!fh+UdHBD({r2@yo{QNcu6eLjH%{Pq5Oi`VoMcq>0x;>lb z_Bt)UJ1s91$@Fnq;^sqF+rd%t41TS*4fz1cgtW2HP~W=g(StsdIb~dv4iGEFaCIM+ zt-heiz^`|+@rH1G8!>$4$QfQ}@rFwAc_pqLk}F-YF!>OZKDR{{lJNbR#qIa|dLVqS zojM{FN0neGV}h{tj!|PUWu^mlwu7EHv2n8r5xX{n@FySBPxEiw53gy#AIocR!bS7o{mZcGxJr5x$wGx;RbEz;hRZ6XR7PDLsgqO>hnIK z{S-Ju{6urR@ePs~{i5@Qh|~JFqnDHvoE+Z`0m&Nll0z?2^qDrN7_@^VnPX~*kbR&# z+|aXpc6ShU%nB-_WyW0AY83reazk8wqdjp9n=Fo9DQhS*XCU`C9T?aYmUTyC&-~|` znuYv4niA-Jl;F`7Fr^j#McZoR%?vLV2)bfTu+K0qXr)9?q{CU3Bv_Gv)q$5L8|ui= zd2dbW=@78S1A;Zb&TfsqZv+V7 z$mjA{8LP9xtU0J^wOinXr4g**v1&951kN#KM|6A~wLGp&`-c0z-?v;P*?FOFz3ljI zcfSzz2H032(jpc3#vLzgK{+IHmm1Sf-U| znW)UTJBhYxdz}5wVyy+r)8oI96|wo}_6djkpO*?eyYlmh+AshMWavozuBGR8;3RDE(p z5s9ledPa8igGsl7^{gS~`L$^KXW3-pF`pc#*ZDT9C3ife$|w2Gp)xY;rwWh%lbM#K zfmU+KSe>ue6CzN=S?+CHG#cEQnlCI>?Z$!Yk2kIDVSMa#!a3w?B*xmzKU6Tx zvN)=h@2nmQLG4+A_|)}wlPV8vu_C2&34N0e^_`16<%Q9=I1r|Kyi0_u*J=7!+zD?g z2+9_;$LnD-z_B!mxH#7L4FCW@nZ~%A2>IckboaGRF{M}luUSqS8?GLS--DK1;J-9* z8j*_KA?q-i>PGI-yK$e8DqwIfd=gp-jStK_v^5w1aH86)nHG%6S^w~q?YIYB&um!X zyJ$GYWmCV8_o#M;r(XpYFUCsKEYTeG1#aVlma3yI2YGYPJr@oPzhvMnT03+`=laBe zO1rL-gX(}6F#c3hgA(0L_ph+TIaoto51R;U#i(3=pA#wwO7Drke~={J;YE?tWAqC} z*J!c-eExKtRT>uDWdfjihNVzoq3A#U@G@Of%}??l&xhS59HeI;V#(6lM%e6L9!-_j zJn}c(x3udXSc$D6G<5+p3^Z1-z%Z>txo^}oAKOo2pL*dp^z?8t zNa=kAp?J5CI{h8~PYd9^yRFgf#nWuNQQl0$z|fbZE|)T{y(Ke5AEfhxDcjRUuJ$BC zhN^u2wYd{&fL)=*3E$BXNq^Ej4cleug&=UqfVpN9?s?L6=fkX^eJuL8&a7D$hG0d z(Ead6T+rMshx9F-%Z|vl>uzyx8{rtb7>02SD3DO_tb=VU7)n|&vI~llq7!tu`QB>V zn9W0(;L3ZOdHa#Jv{d#p6qWYJw4E`p`H)NtMAFaEJWi`n*9eT<$R(K`f$ol907W!$RAPNy8Q;vJqS4#TYC`WW8*B7%O%SUqCH zg*24?{FCa^gH0S(QmV|~eATcRHmi0r5cdmj_jKo|fv=`MAMQ1l!2y&t!sr@!GSsp= zi5;AVdmFt0BCW!v z3l%tmr|8s-awKW8WgGi9?qT&Jr4tsTDuaa%w9Kl-Y2UOm@cd}t!bp_P(}CifrmL@CAk*<;7~+&U=3ZB~rD z?kcuMqHwEb2 z`^yE@zdOY*e*c#81>uS1I@;l?UmIZ=_*%A8wm$G;Wh&S$s+AT1ZbfoxOT`I^yM+)` z=mjrSWVDI|(x6MJ&=oV{wz=PPT3xs;Hol$8cbrvc0$5Ggj`?#tT+WgBEt343xa_Ir zuY3j|fue;#tQ^AT%#q1^2&HVcyMQeSX&Uel9#~LSg#_Zah}QlBG*qihi>7Bn@#@*J zT+Yfk1@a0y9%_KdCg3iD6{~iPS^bMP9HsQ|SDb=Lu1R#;0$ zMcqX9-j{@C-hXH-2ej|?Uh>-$=MO;1Ox9M4x&mujvaX!~cNlwq_YIfdd7VDVfh0k6 zMNWR6yF3q&fQ7F}A3HS<`+!Y%fd>i~u@)Omc}23Hs`&Q?2O%4MDYvWm(H-&FRF*&3$c7IQZI-`-xYT65b2QgPbSr}MOlOFKH=;-H1@g%PJow6k z0AqADlgj<=7=;r0a%MZKci|Z|$U%2Qk=URs6)O-LiI&>OE6*%1&YMVJbZF>NYVOKc zUNGACxr1r@dIu{ciE92S(G@O%4K%T+EVt=fEk?0@eJr`^Rqy^8KkommGDh5zJ~Uu` z;da|wB6vshy0HhEPtfL48<9~lF+)9kV@i50r33OFcY*3{0C4s9B8dWqnd5GvD89fS zYkPJLvyE=Pp>5 zHKnYwy1?X42dKCH@>Y{;dSN?QSUD9e7o*l+lx&xjOD92IEJ4RmfzR8Qh$?9#gZ2H`E7rw}TakDsA)$lF zaCv)qGjZrp1;_V&h^f@#0qo{zTJrn%sB-GKu)PqVDZFJnK5C6CGZX8_LCO)-oes+Z zYf`zbnN}YXL=;j-o%`I^OjXRQTjQ*1TYE79AZLYy_>u$aF5;Rto4Ks1>S|q#Y^B_x zj~kv_UNF3`N)t{)7uII!6SZ^s@d+0^iO z*0t7k`s*z|GeN%`R-%wfC($Ry?nhBXB34*F*ZKUWCd_Gp2Ljukw|n#g29`w{s@HtD zgsXKcrfo@~N2XVsD{GEzx!Lsk9So#_O8IvPADVx!2i3?A$0YP_f>_Oz>Q!XsUv=PXQ4xMe2!>UU`e#Q5Z#`1yScTdMB z)vj@Knn$LG43Uh$tRFDwAbrHyAnbWNkn!K=R?hx^Rx#40CIBwvAF1}0i0_vTzC+1( z#JSu?v`dl{*B-M4vWN!;*^!JWJJ8S=p{U5XwZXq>`nyYxalfu27)c|}hM%nJJxr84 z%N}|JbkGm<3B-*nu0_7VyC@~5Sk#M67)fJoWi^s;FztPUsu2?%B{=V$xClyw*s8MV z6ME~h%dfAGPj?}{Z0UJpC^dOLNHM%rpt)V~?k4{6rPc-rqtWE?z4rXXBEcY)^12#{ z64GVq47|aKItsJwp5B+-GB(KL&|X)Yf_Ng-@>VvNG);uns$%8SHjj&AZ?KLeLB~9o z*6kU}2x3RNPNs)c=iJV>F;978HY3xwzK7FUh&Fy4=h=_!!eEWC0{S0h7q?zwNo!w` z{Oib}^I97bflDJsp{BQBxQXhYhe1<_;1^JAyy^o;+M3DT?;-rc zgAZZ?`n-$|fP`0s&30SW&^$=^dciXVAVe2!yY&x(*_CYfgN4T}t{f3n2OQKn1tqr; z5igJ4iMWiYANtGHy}!p{l{6u0dJeYBm@giB|Cu|*vBrKQ`Uw! z;QH?xh;!$ukrI(uhP#8|FWi>@+!Agfb1i>s${qGms}XiQj;GdpGbMe(x%7OI!fTTk zkdoZ0p#U^N8Hkq<`9(O4rqpS+=N`V>aR-U}MEv}5TqsAKta^?$JyCLCSZ5b(hhx{9 z*I?AzpbGk2QB?|3Y@AG5ZHeYQ6eg?ooC3vlIZ8Iu?$>Imj8-dXfK;aX05)cVhJek8 zNDHD=06$@faC_5x(#^0%EFDfsIyp6HahU%mLB!=Gn5>(Bd9ua>a#c$9?4tA+=Z$|; z)RhkXdA!6rq(SM3z_I5ioMCG0YE?Y<34X=4P@H-$22@gh4oVh?(rB_IghnP>FT0I& zI?VO>a~aU5{D--;yqY7_dUNGSm~jLO%@9IW5p2!2r<>8ssw^Ek7~eZX;0uBK8^T`1 zv2p<5zpzgb6d!&(+Z@D1{>=7cviJ6Q&fz4r0p9dZj~Q^H5(ZX6X3TT);@p9IcLYL- zN)o!8$DxQd;STf{fy+S{h<6nj!SDzM5U#TB`E8sSjSrDdwle?Je>+i!QvGLOO!Yaj z_V2KA2aMSMnrnYD2YR2whsPUZ)eFweX)ItDU(LMzvHA`C_Sb#d7NsEM?R~{ySw8uX7P*oLTr3< z>++|;RW{fOpb%l0qmmcT?-a_EO|YC^afT=?$*FZY2OYHSbAG&O}j=#NL*d#%rFHUBxiKpC?La`(mJf9;bTME?ye9*q0C zx@X@fs%WkI&P()ojI2O_WO0Rs2;Ep|%e=^QmkEX$9+t9NhQ8d#`y~p-C$2sKoJN{Q zaXn=}m8uY-^(P(8#&5~J1-Mo{ExwzIYn7t6ydhm|)4EvNo*QOqppTYU2|!7_nLq^@ zH`<(Cs}{-Ovh#k`s*h7$hXr#$GFr^ve+h>O3fD3JtiD2h3*zu zs_@x}xKvJ?c(g@|2D9nmBcYEc!L6mS!L5(CBl|Vw7(?^2ydOS_-gJwbl6=X~Tw}(3 zMZDlvS>f16YurbUVuTg#18|KK$Ctc8`2(y#l57Nd>kF-~&T;E+2hnW%qYKTE7U=!0 zx2NnNx1ZqaxoZy{x7t7V^<(J2RULUa#sUEXKZe9jb5rYsP*0@BvWgNqOlPCH{OG;X z;)1ViEfk0 zY6N=+M&w0C;8t_O8wG^cgIAC*AN#E+i~NV*0oKfbDtKzVXCjx!u>`uHSvbi`)Y4Ja~mw zYBVD73F$=P+qHfcdY*~d=Jx27(bmRStJDd;fmSg#JDaklOIe}|gt(JJxQg|kP4)NU z;!>S(QB=hc^;TxEUi-Yrq)`jG$CQd_Yu`ErChP9#H!31s|P^Dkq`C^16 zga2{NKyD8acszR1{VESQ4))R`QGxTiJLInZI8S(7Z0QbWo8m4o(Ej%n{2N6ZMjmEQ zm{gf3*e;(9DCxuprc zFv*6dsN%t-oY(oJXs@Vb!X_9EQkS8jgLgxz=IY6}w#w9zkkr9%1 zm$d0u^r38y6tG?}aG;{%22AQo5O241tqy6$8Y^5p-@tRX*Zt+JrOs-JQMKFm!>9FR z{8-5jxG4;Ta`f|`q}KmUs{6KkGu8ilri3(S6=4c;)~0H?9)M6DL00}9fBkn4GLMWO zQzc(@{MwxuNs4Q2MH@4cUUMF_yhcp6{^tfV#1wnUAY65h%G^{_+>`D<;TA zK9tU3HSa-F&Bf6|;&Q@$smr(EUCOsFAhQW$rR@ZprYK(MwRuo%*#U0Kf?k!;V!YnU zR_pm-tC1Xxt>=cT|1q4huY&RE`I?tP(x=H__$M8+$2=^D!M9C5eeXL}uN?$^YU=L< z++5z*Y;Mm-Tm4}XrD%&?4OP&e+fNu>thc9ynSE5ikr^z8C+wD6&(TS9tA2|9uI;XH&l4rv_|-Mu(gs?rgdag);$+%-aecKU?QAz3%#g{?))iG@1BK& zAKvn!Hw>We#++Au!kH~wY}Jmp#V_2Bi&6s4nA-n%Arg5&>y$KIOw%He+i@7(XQ~IP zs>^o6#(l$i()pZc56O|iWnkwmK#Pvb&{1|juBxp*RRrvhJ3h&-WK_SfkRng}Rk5W~ zOIHk|%wEE8_;#vnf}*@XoFY5b&2BjH zlm$w9w4;T4a0Y&p2KKd8+pS!?);f($4a5t5(ZQe55Yk~WwyZrbE6Jv%mLwnmVN6&~ z8W4;777%$wTqW*2Y3_P)C$#ILX`H zoG+dJT3YR_t~3Hb$Lq4Dz`Q_?;WnQv%n_PsMubyn*)%2) zb?Lyb{s%UfT;z6R9^-k>$9qB-?%!#fnfCv)bS*SMtT+-3{qWqj9R%6(hWHp0b*$WI zfV8Ap4orFR1@x$*{FNU;oO*xa^Jad0vcU3vz-_o@v{FQ6f4iG zp77qjlrHl8uU8z z?{-&YwQ9Y`l`?4tI250e2tozAu z731c)0lY4YhU z`+pU&xL@xZyvZ<42jf|~XfXCMGIn0_|HKiL?UF8;1Gz4b5TsFIMjqi(aw)9H*YgI* z=2rxp4azU}cN_aa>KTSU^>>CCU3@4vjya^{mlmH5?Aw&O7*ign7>_Dmn+^H`G2BKw zDj3ddvJg98t&&Q+&CWC}!vBA(q71_Q4?R&bOn{Gb`<$;QP-FCV(0MVt^t>cfrfxmK zEutS*y+w z_%(Oid$-pO1c3^0RGK6ZbS#{#6+$$Vr-r-vZ^~v>ESnwljU9Sviq5br&z36v#5IqV zNGXt5W$kv2cJ54un^8wykbt6SsRabq1xfdu<@l4&x@c_54wlO#n9Ipf+Kj&wgZ^=0 zp4em&LN=nq;RlA~Y45k&%JFpc*CAn{M-J>go-BSUeNJ@rs-=yY_9}yFcrU}XtKtWb zJK4CrKY_N^>iDEw^8M`ghpsY0dOS_4KveOyp$8|*nn=ubTj!K2W~ic?7G9-x_bK5Q zZOgu&ZX!>c2@(z#m_L5C)0Q45sq66|zVNiQ{>hJwg-VbpbBF0VW5-D?JYGrYe;l^&{+hWk^wX0H@oRqKcMP?tibwphnLPs{NfOna@r^u zBDZZ5yRUyenJ82k{~8ksz%spvKHfH%1{~^PorG|;AmL^vQziu>X^e2FWl}{V*h4R8 zr<>TP_$@}Ue`}KTcpjuNrFydR0&9ss+Qib^v1aeO-`e>IGxV28rPZ{Sjc|0Z#Mn(r zmqG*l-X}@LsQO()W&iM3wBs-d+)?qrUJh&|lH3Q|tZCF5h$!sxQm_n@u5VhF1lzOy zRIy^%)U9K6yEvgM247cD%gLHBT1apDqfa2pZ}g`oGjAjPCJ2yJ%NPtGohOMBV8CrO zacs|W8*R?6(`jtBnBj2z3Kt|%&nrRz@8fpOIHFS1t+5_-1UhJik+N(+sWA{)ug9b8F z@4v-}Iug_O(gcO>%#&~`p%K1)g zMM4U#we{@R8ni`S?CABcpN@5i zJhf)a{r?|VZ^0C2*9B__cTbRD!QI`1yE|b9_uvdJ32wpNg9mqacXxt26WsmGbH49X zCGS6=>K^u9yVup-)#!1CL+|uz(eQQ7%A#wdBfOYq?$2&k`nSW>zdZ~H*_%yv`XEx+hZ@^e=v1Ptz%0=9 zi<`laO%fQH3gK+jmW3OTko0~B5@t4c)5?s?s9%z#o19AV2#}dPn}BbwL@@2#*dXGqV=VveDtsTOTH-rG{L%! zOZTIsSC;a~_-5a*ra2N18yIfs^4t=p?&^uI_uKgA-3KBgq5)XlIW^pnB2x+)FAnnm z`_b2Czt8_a7U2IQy?KrP$LGg-HGe6SQ@+s@0n1y6WfC>1cW4_vE3Kb1X+1bd=s(p=4~ywrhMPS)hB z_eED8e-@RA%YvCljLA@Gqv)&K1dhB7h5#XGCfTdQ>=36)93K{VHtp7TaP$aobNy7`H-OQmSWVxxzSb7LpHD1fhESQ|BJpZ1K`Vvt$;oPG*HI^8 z>n^Lz2>A;T_j73Vy$qPbK7~dN+1SkN6}zFL@?14_=AtWW+74bzpy*ST5c2LCG4;e- zFz~AMR5=)-&k8RGD*Lp4uxVU@>yM^xb)~uZ6JZZwEGtf2-m580jP73htWl(9!S#&@ z2qndzNh`oO#)|V2K_1TfO|TxNNRiSg4M$vd*f6DoMwj_WqKc4xkVxUg)5VY?DMXQW zj#aAlISjnX^Ekjc^O;1g!I6VJ-y7yiD zPef-(Ea+I|WZtOF?bd2#tD|4xaOVo@GVj-TzH(RfvZ;>gd)L-sIhQo-G|Wf^rhMB;d1|3NBZb08 zf*1Z~0_G<)cmiUp+uQVjMZ)3f-FYI=vr|=e}-`pZUYBUgIv#2S67pq!P_>x}EAL)+rJ3vj>R) zRSOf7Z}Ovc2HM;FKgtDeC)5Ar(gb3BlN) z8=UmT?#Aof+H{N7EnYP$osKsrFqG1biCSmQj_8?m#~h9NW8Hx4y`M&F+=hiA^2}N< z_Lo``iu3N@trj{?>OS@Fr)&d+kohdniIoB;cfE9$cob?CB5o`cN2({&8OV;ybj9H435l;|vrP_RRa@>UOrU$q8Ps!VOEP2D4xyRt|vh7|Nf`>v~o@jv~v>0*G;aSgO+1Tm?>nJGzW zRRVw9t$Qi^T*^>J{!*ugKj=7UEn)_DIzSc4bor zMafr_?yNat$j3cco>Sl7F|Kw`3}}28WM~{)LI0@E&nN7pM3)lggYNwa5t^Q@eVS`( z-|2UfW%sNm*S(_|F?@;#qI6-&-Dx&HDhw+vfhkpxsK^4Vow%^?)*EA{r7a^hgKU72s`RPH^FKYU?XE-5T&Ta6l)a|o zy*Ypb=jBPWMDFMC#A9Me)al6EKYFfaq^W=~0e(cx^qGRyd zaE5iXg%;i~0^i;7>7Xn)3!OJi^9ge;rvh%d-o_zi{I1!SD(D*`h`ZKhi?luTg|i{u3klXyT}ExZ(4oA57QU1#c_c`{aV9|oLFd= zzTINxFj@~^ztg1mapLgeowU7}xkab&g!<_j^&W;>tHP61ah%C|t;(oZg=YgJ;SV2iBr z&1W#-d15xD>W0fuJ&Eed40OLFG|W>yO<55mg6`_tnUCsv#8ni^sw2b%D&W)*F_MdU zJNH%6%F0T`c)bno-HhSP^_fXvdiS^E=@eEYZH1V@>+9YE=>?5Yhy zZf`G*E1$L%`}2Jh@%xM=;)k#*xq>xFYI=AuY6_~uEyc%ClMy%CUd1S1i@VTVYVEk~^)$QG-B$TW;QOW|n|IqS`)piv%zpVn1tK%#Ip*s>smoJ0&v$ z81q%6shaj)@~~OY(Nba~)xZAW!R={SK_3-4LDa_3OyL5L7-kYpC61e;j9?=~DGafc zl0r6POKu(>=O%# zPkgJv6lQ1tE-$TVsF4qCvrgYHjv;a0{)T-&;J16xH|z0r#gtS^4~GTpG_5yOHETrsfcbYm>b%|Je13!xH6==KEjLIRgweg>K3l+gOS_Z?EEx=D7J zx&OL&lGje&ZACm+TK^vJrn%xdFA2kTTf4*hoJWCK8SX~ExUv#{=6l!L1i?QbRlni> zp30`y*49<-7smGnuUy)b2^N>ERv;`>buTvi)Aa7NU&#PyY9dyOz~D3{o!g04eBhRk zh-X4z7IBw-JiE~v=#xHE`Karc)dVr-Gg#Xt>4w??Zuzr^NNjvFGQ_8Q87JycilAr7 zKOi(-!+R%3oUF=6%njN~>Bv?GVw|YMwffHmCECuMC!mW=KimEXQu{uf+GqnP(0DK< z1ZxhfnUScf;4=w0IY|43vjE4qn$A~1xXUG9s85mH2kE$iG4go{R)myi-Z-7c^!#{) z#nV>E_P6BBr7tZn?}sdEFlIZH(B)6{)f3w@^7SYu?Hz!HwUa=f)Vl8L__F#r1Q&kbZj?ocyf0ZB>7;ZRz zM)E!_!FQc68@!qn@vGsX`Fn2J`S|bL@)*;W*bDRaIyscDR-%SW8RG>XMUx?ap{FY< zHkgAatw;seEw8@l+LX;e+@`VJxvYt1DY7cjX|F~0wTvy znZOLyd}lpM%g1e+0F5AZ5f6HJWnzDow%X^r|J<5+q%XApMX8^$Vir zox*!Wo?7pnB3vA%nBKUxcBfUU4Z)-i0IX0wBgJ*s5HILw$sth>LD&aPCwtuQn~jtb zF%_px%z-;%hO3ZW&h)A zWyZL=T-(A3z z(9!Qzl9QSkgT_uk>p&j((niA!&}^{Pz97bPRp7}Yl-Z4zZ%DR*S=NqA{cIgjce}FB z7@XX%!T)TQlfFM#0{r8GyrjP-R zhEEsSY)rx2E9gsyf!GUc2>=HPSjQSNKRVguJVl2L(uwWcI4N)T>F^jM7S%`)TJ5bwlOnh2JtI1;FBCzJ#6K!FV#F#E>JQ6PpwUQPF46=x2;u-z7)! zYZt0lVZ7;v_o+>+&L)XlF`^f329WYz>d@nm)tTAmUnzZe@vZ`auouR&Xb4=KqT;el zU~p(j^iWCmhvqC|D&!H&NPMnU%k=7zl?5+ggHZ|8R0hMoC0r%57?60!*;J%LeS+V* z_UUO6>Do?Q+=l~GE2qKsqKfk3HrVM$KN7F99%WeTG<+j4CYEA26ve41wIFu@yoBNt zLDIuGi=5=(|Acn)9;@@oNDA@uL)Frwdbw3>HbF)sG2jUy5zgN4Zel95dp#?d5e4~( zW2Lj#<vGv9yjwkUPa*G2xnZa>8BZ;r$W%5Rg=hRY|z<1^q`t1bPo4Lx2AwS|IB z3Rq)mY4W};IZ^$j4~TtE?Mw;!6*J@QBK!Ae1PUl;$J34k>#n~`11@e&E=bO?SA3w> z4L#rVr11E+glO|O)a5UAeR0vLc!zhb>4a`@A07%U^)-o($Wj{&B^!r!>Hv3dwRa>A zPJq3&x3dhdB0GD%;W)m+N%LQuOByv-J8A_^lAK?&)lV~1Gi_&1KMwnLRIR5993-WB z?XO?y`ebiRuSQIY`zsSnGDAc0ob(L0IB+m8w3(o-Fn=wzs=DZNl> z5WO=P4R%}j{X3AM(z{xAxl#nHHuwVe(!^(}1ti_}i_pFeI7yqM^a|72q+E1T1VU!2 z^_hH4O0-6sf6K>=QTv1_ehr~RaQAk?i8W}?b58P(P}0c+Me(?|;ldux@8gU<^U}&j zHS(bE9H3xq+4D!`B_il)WNVhR$Z05ZoGV2+scy$-f9zMZC-z<+IYzF`7z{IMonA0M zCFqD5O4RuHFqfUzf{_gKYi~`K`onZ_Pu1L#EYS&{zu9Qgky!{j$v`iL{eq;VGih}N z?bfzD^S}y&L2kB3RtOp)_gp=>xsts-%k7!37T(UUr;-G9bou@F9N{?lbXo&NgU)8A z>gddXrQ!(kd`=T_O(Ls-B%-KS)kzR>0f{`nrirY%-*z>Ph34>|Z|@cG?1)Aa&!=8R zzY6jON~1$O0bR6WxP}k@u)wxDtYp`ELy)+D7A1dm*O^2|(FcJ>Q^!SRwflofsO)=V ztX2&8&tlteZCn9pgd_tmcN-#S+5g0Pv)%o>@?}GKzHT)bs3>w>K$MA-q}SCHt4p*` zEYAKn=DA~7X=O`WP1$?P zBRBfF(qmz5zsgd{wYwE}Eb)K<_lHq~3Imj&uDocw#b|=`C%^4jBa$!)goW}}dSKxx z)|G14wOEc04EupL19oOPzzT7CKwZoujH7MN3*7q8L`h zk?KXB2aymDM-woH5gg~`V)IA47d=ES9ZX76V4yWK?eU{+g5D25PIJ&Ae%?eENcCMS;!coXAy_444^Bj4 zLx*743frtm{4gJ6`JH~xDNvIA^xk00N4ChNX`XE_wG8*Jt_%3{yeuQS3gXPw`v~VUTgeVe+w|%@pGuAX%9&^ndhVkvJ<3vGBTr z{Gc#T*SNlohlEs@`k@xE_LWFl>9^OR36RQfFRaS9eA<6&qYB7=`BSvi;q#-UlIH0vuwnaZ@2W~ z9*V>3n|_d~^Pcx9&Q)v|)G_dAb6vqzj2trPjjBUW*K$_Nl0 zQ<$~E-cJztlvcVxKED)xxry|Ap7rD~%%>=0d6ALs%TgNulFFPjR~LT0n~nF=IUecI)_x<})~Z`F&|wWc6-#oBfjc!nUyvQ02=iW0HC4z=jdJ8s znEydi766_>LTGPo=)MxHYitDXrE}YMZ;3xajkQ@Gfqz;2SGR3u4*lY zr(|TmJs-Fqqys}f^tU(VFqB3Vsd3;(k5O4a@54dE85}l2i{VJxYrN-r| zffKtF2y%$eMK9cQVyd_*VKb+!kj8GsUN4X}IMC!V=E9ZdCt~2QX<>ojORfVhs=C*C zE5ClOR_h~uiH3|Y+a)%{mLazWUgr9Bnp1Wle^m8pzo|ly3B-H%lHNgEJ(3}yU z;Ljk8NR!Vt+S2vaQd9k;rkD%+)+aE(UPn33>W+kKEkS&iox$Q|Q(f4R>I{E``f^@A zh-CC66lXSdEttAyKJgt9ais)fo_1p*bRw0;t}me$wG%m>zL0X{er&5F3Y)&~(C-v1fH9B0(Bty>pglrir5Uye~)j5!>-8 zHWsUGhxn{3mO}ct0n||K;Y@Y%+=HUE1u@*fn)(9Q;Y`pD&jdm<1+t@(+g}T`!AhXb zUnlO?2Rl0JvGx5JRsA1BQ5ap=%bA{IX7bCQL_NjbH=N*X-sN^tf6*RQfjfy?74~Wn!868)(k(-{AM7U^Bdes%Fr>T~z>^gP%0dq}Y111q^YL@mg$EgT~V&#>6H(z_EkHE^Lr2QAfzF!Xs?EGnhE>)iDyDN9$cBYN2aDpcJ73HC8F;-8C!BzeK z|6>70!DuC6D#nIhAAQ$D&VyvHaIt|C;#W1)W!^h-O!d;Vx-Yi&UW8K8(lkp;%ipm( z&LC*ty-sDjE7NZY0STRqq8+!3IrT}yjaQh*R5=vkyJxNz`t3oHRty&YA_7G^s=1Nk zEa*g_{Y2^9(J{BA0W=)T=QEk=3Im5VJlNof@4i`jYnHg!eG0!iShL_HejN{r<0Ti2 z+>0Hs{cg@d(6$(O*Nuhjrgiht`bmiaMvwROMHQ*?CBW!;OWKLog|W=$NvxNF2r8NH zr9#svG0wKA^>?v+$^lBIlhB7_y~PB%E=OL-mI$-)cioZdJ1SNoihljP(Z2JQ#dh}f ziWcqNt1I;}mjc?~8BGmIz$7FDQ6AOa16~Mrj?_7%gIV zCu}Uhj@!%MQ6Zpcx=U4=Q2EoPLXZztMG*iYz=IUylvvC}%UIKk;`IScrSIl}4Q4iP zf+X947yjm$KTYWC^Zye!Q8cmM?sf46GQfgHYb+-zsr5HPx3Cq`#=g-4)A4fI5z)$e!?beFEMCx(27ON6w6MX*!nj;T*Wg-3OieK-`4vg|fqs?lS-R5> zmEj}kui>chH(83UD}f+x7_f%y@vjEXOB!U%tar+nyg$Ck{!wJmtGYyEs6O!W!c2<% z208b++umNz2Jt%1gIZ29(K2`)p&_Qh=;-T3zZWw($8-N^efX z2__J%p?^#5SJI`b}NQOH8To408xCx7#2*ynf1Rg^p1A5NhSXvH|XR~bX z4#zK58NmP_MzkkpUnjh?Joa^e-}b+S;Dp>BRqMA@e=x!~+}*``AAQn4v%m?g7etv* zYq9+K5$c!v1fiNBGirwNoKV$!M5Yo3*;k2)MU!7wtu+qK1nL($f))*3{`2|y@&b1A z{fQ+MD1AHq#Rl?Zm?bs^tXxL^vP=yjjxe7v#fr)rO|kLm;AO@g_(?#F*1=E)GJgbx z!~0KkiFh}+Eus@Hx;L!4-tLEpJy9E+_C{Jj|D;lIV94pv{55#-q6t55VKDR(r1qgo zbkRT1BuI6r));5q`*&I2cKP|GWIG40&&X{zEu!eu%zf+u=li- zVZGg>_S0g?QGSWTEO_@b+=}#$+rKS(|4OgwkLIX#lHXPOMqgvcP5FPnwEy@hd_oQm zSVot%JyC35ms==+x5wa$De@^Py?YfPO6E=kHo3074x%Zu6_mYfaq(iy4tXd)<)#azs(TJ;o`@iPmeX+s zf(10cC;=*snDz#eZ;=tK8Oh3`up*0*@$%?MtnUg+%SWH$Y$F9DRL z%3YhGUAd>`oIGjJ4fv@b$2~^ZQIx_U7{?FhigL#a5c<=hZH* z{-4{eg3^_0PtgDp!XF+twdjY-CcNTbsF9?{t2ibbDXb!hH8PVv+Gi2nRMj#4I4#Ui z8qPBXamYtMZgC5>#}!wQIs;{m4jP0M*a%8x4S3)_MoLS@CkmH$pp?9;u4VHWIs3w; z>=0bT5_=`cc|qCnut8GMI@TRAi88U`|97Z&C?5I0plJsAfBcH?WqdaNk(3f?+o(!x zI{@Ca>@(9zDVMF;`*9McFx$0zkA$3w(lmC4U(Omci#xV8w4nA}jH51))^aCWWd&ba zI3A11k?^A`G+>#!j3Hqck`}NTB&CyvGACRkt4-r1=k--mWNzj%zt!+F=0X-$VwEt3 zSeS&mS_D|t-;>L_b3G+GN}j*kVXY@^QTX~N#@14`2?(5V^xNyK{Q`@guDYNcC8k@D z7=+y$-~;)Oc5d4psn-?_hO&E`aC00ckFS`>ONF8oH?#AnJx)B@P*w6AMq!O%IPwn; zdjwRNuFF6AQ}d1^$zU&p9mTw}cOp~rJbYUbMO}BrH10!4H`*F?4mv*d7@o%CZKBH@ zT;%sUf2hdQiD!iNpXApB$UmLv7nQs%@Tm#WO0@e%x$V~@S<5;_ zgf|}gXoSC?y{!(OAMep+EXL0Fhc8n~f8qY#pa4ym{Btt|p9!IG(=L3n*CUFVs-#W1 zsI>G#mu{*yK4UReas>3Lpg49u^KcOPC=ptQqN>znpGz`!-^W4V)kQ_OqVMivN9B-> z*g?rz56?EZ$g*7i3qIfR!>0cBCK-a4C-n31o5D`(#tXBjmlt?}?5~67(}du^0z9vz z@NISU(FYADvq=YC8gnHnNe-T)w5Z9?9k$2(Dn4Iu#GBu^J~tOwYH$m7_w1c?+?;|c`!n{j zTRjor06%Q28uX$H2P5{PoI-lj4ko5E&evI>d#-=!3eABDFsuJUnQS(G4ZpjBJ=;Z8 z7@_}YClYua#-35rb-p%O-{)I+o$bGSh(^rl>iukSfb^XI#0s2E38>2Tq@`(c9fzd? zJ9k+b>uGJ&^!M6qu!Zup+rtWErB;e19bl|xANG1Muq>QOhmD%=hYU|I(s4P<(9+-C z$g1?~jq=YdwHOI4l_LX6+MLH8k45OJL{AH_VqtH;nc2DyoX&Y`nU)||sr96})4U()rI!s= zYtj>g6p8Bm`$pxPwn4gtg*oPbrgHGgKc;dElK(kypf@0iayFD3?Jsaluzc#N=9-iM z_~a{IHg7#^#>-)&Y9iCv`qvfC(#aGV{ErMF^@R0e7b=c+1yc3n3NxZ!;$mlwyD05v zvfiNf-y&;)AcjT(D+J&5Y>n{bpMmkN)w_EK{xtM-0~_}PJauDk4d+WH(Oa9{0k;7# z747?SOo^i&RYzkM1jfC=(mQ6A9k))VAJfh&4W9WIm~6OanmPTd>wdnvD!sFc4zo%H ziX^G|9XvWo?#c=OzKE?K%dfiok<^82w#hvHSs^A(8588gHLkiO5ZvPywLPv~-eWUi z;Qu>1n(UATyy&Z0Ec6t&rE^F=4*Qz#f$7E~=n+OM7bmjJg=<|=`YVJp%>o0=iP z8wMB5G%b~nk@|66fe)x`k9BUa-Vs6NmTLWNAO88k@0CVMO6vH3K0NNfAAT&xTR7V9 zdC;%SD&tO!=#YhcZ(?(j5p}4^8+zFa+nGi#2|m(CfVsN;@;9Z|NXfe+YXd-pXq;k0 za!aO^)t|%<){CeGvT7EZXO!5>(&4YLXZEheJNBd0F^c@>VqsfitiS&Bxr86^8u?Hk z6dsrJ(;;lRllc+Ro3&e6QM53hm6Xv_316j7&eaR4>vsAIjqKG3x0F`25shkRl&P1c^z4OWIzi(T-g$Xw1 zlTb3ls2n1%=7o{%;b$W*Q6V3me)<7%Nu$63#)6m8+O8hVo z5%{_t<$Gy6T5}NI<{Y69nn+AH$=}!Bb9BCl@d1c@b+;q3CrwV$Lma@15%>&BPCu!r zB}TA=pYD1bBLyo?LuP+Yl*i@F`$WtGh6gg~>83N@#SNS4tJJ$q`Vt9WQ+5#^uS~+J z?N2YcpxZT_ra`uMl3tS*!k4kph8yi0J&E$^H##hW@}{6J#J!TP=p$eJ!;ab#1{?ET zBTY$2WdYM#br?A6!~BmiyM}{z)qQr>lm)(Pp~p4meBxBG?H}vCMb)u)Y{rz}>d}TN z(TU-FJNgH|7^F+7U8|4q|Ai*?>Aw3{Xy(|xU9}%PU26q@JR_uqs4%e^U0q@QPBt+` z8tJl;G)z0}d667eZ~&{X0IL)7ygxPcKlQCu^<|LA@?XmrVyF4JU)0!5d`B%stetnt z?9CeuD0;svw_gIsT1e=aXy4p4KmVBQ(h`RP}Nb@~0vM{+u zm1K3aPvVJsa3Bo!$HZ&mBrz9*@dMcONgXXm|h`Hy^1!p z-9|*WgB~74_GjtUz3pp%fAUtkn=h#ip4oJoVi#V|kV~BI(fG*Gar4OzHnbQb)4-1e z!RviF9N#md30B^H@QpeHVK))HYzIFZT3NTK(IRah%!_+3m;BUvf|$h@9N^5tkLhd@ z@uf4NB06x%8!n}Ew!`_hDU!jFVDKs)QFn_1i5Rb*1|G;}+U_HX`Dp#v{(%l=tw zM@a@+-#XSbVnhqpD2{Ki_oo#_qmBhRueFqJ+x}+<;&t5ayL!~{J9W?>gsaH5__UM z?*RHsYdMpZbp4?w2IK2r=Or|(fATli5&KXY49IlPZv46^HV*E_iYLhy?!?N~F)$Rx z1Z}(&!ovG`qn<#WuYe-hc(ueyJmwlez6Ft}a>^Su5fbx!EV8HpA>IeYg8=YMGr;0fE4 zS6F$l+EFhoov!sqJX{tp6kl6johABtwsl-u8TG{;f@gV0owa`SIj8#V(97=v zO7#LjR;O9sm%}ZElX(9nJ9+QCy)xP9EyJ^1e+z|}pyzG8&MrtO%T7PjL1V6& zW~tJ$77-ES&s`Lz3keDT=I~67sPgp9eUN$FTxriJ!;JfUlv!dM3Eh4iTYNrA*g3Zm zpdLpH^46vJ4xp)|@En&Y2Lo!t>qrVJ7f%G0Ks=Uwve0>wq`roM`PPwR%%G1}yW?zQ zKWNHCL?)(^6fFsa4bW8~!9XR}QBYr@jWWldKc!&(4ibUsPK7d}`@AZ7;t=;C>;{s= zu|T(J!5%I0$_vq5ud!U+Sh`l~SsM6vy>-`+zOL6O;`!1pQ~)BL7AvJomLh@_>7Lfu zGDDYj;W<^Yr24fN-Hk%yDT0tN7V|5SBO^UN=LO6?pv9QUMN$_A^RytM?{A54e&YdF zW3Jg+F=;0SygOhz?jvtR3V2(C(N$}>gC({{53NXU|CvYH-fD#}awzQI`SnD+7Do&g zDbNY`Nh{CXKVkGb68S`{%{<;e&ADHX zeUf9%@-)WqAy(i=)uoYO*Ok@Ss5YVLalqe9Z2|2=6YM)q#GyDIQQ2&l+x~94@NheQ z|8#dY`1X>HvB`x8vZB+&Bbuw{ubnoj{(L;=%SEETanfIIB}5oDM|UWtqP;^!LRC?F zSe^Q_kFxm7uS^Qx33r!FV?CG3#Q9Q65JCN~4~qpt!iiN`P7h^qV9oNCCEDJ?B4|z) z&^bco@P8dX0cYx4Xn$W_smT9xb!{5F-5A(>tOra5!`ZY}Z;sf#csJp1?iLrp73rmX zn5ELU3k2;QuZ^kDJDU1x@N4YAHQ&^>Pr(TL;*;4dUD#>t*_(P_5?4*FN4Ei z*VXx_ayjEpW{o$Anpd>24<3XUydkCCY_oNCHv141IcgduI!wIJI`O2|W# zh;$s{`w84TXh&4r-QPn@6_QN&-eJMzq znvXv22V!pbIT-a&`rQbPCW=MMLAffyE4d-FLxAHHXeyIJJ}GVta<0uCE}o3Mr>quN zI-_>3`0j!O7Rmc5))65O*2YsY5r#kc1Vge>!du(HE>LbRH=823ME(84*ntk1$i9!i zjv=ok6a+O?gC{u>7N6BmueY@xk^93M+47!IQRD`81DAUYb%9w7@GVQ$^mC(fb{K`S zCfauo8vZ7hldh;37lw+`f0V)&J2kFL<>M`^`h^7ra;veaAx}-meEu>pO*0dEWX?F! z%o%pXDtn}-5sf|9>~Xr30J2kGXf~w|%amR`-EP46 z_uGOfsx4L*)A+}!2;Xli3x(P24C0aw$&17Xbq)+=lZHY7>@EVxAJRWMFfdT%^K{$N zV1X=(x%nM|Bs6+It+a9u0+hpEIR!>qs4zqJNC2;E=LtU7vvssoaQ_UXK3Yuc0W8oH$iXb! zsEXGw@m>%EkHx_MYfRTvZ@b}8TwWxWUX2axVrN3`>B2l$G*(@k#M|>uvv}O$Vidv__cWVRz*$$ zv=hsEHxKV_X>Y$6BohAfr_rCaR=*LDMRc@w+jgNlgY`gaZwQ7+<-~3F^F?d5K9Qu? zLcb1Q2BGen-0|;(=YA^PG3ty-F4dnuJ|g_O(5WCgzMGA6#X7nhixToksG2AboS+wp zEhAys`GA$FO;fbmxGAyiN#(RQmXbS|RDY)agOpGmJx%?z%-mJQ1fbbh8`8pJwzcgHOc+My=Z>$cB0{El$>mml~B4Ukm zaDLnL`*u}6GR{BnB@%O_BQjf9tNxlCF&lC*v%w`5bg!y7O6{4>lm0Kp=<2~C3Q|B1 z91Xpq5iqZ^m}LI5-mWe3rN%T&>8C;8V2lPF9Ji0ws4cskF6kRrXgF8CowITNJCQP$ zv~O!kaypA%z%`vae$lxbf@CtkoOgnJ;Rcqq4#|l~6}{*Rv1 zRWmg6LAb+vWm1%Qp7JyKMXM6ShoAxkI-@Vcvaw~%DYi5vi(xCPwkw0Va(asb7Sk6p zK7Xpha;oU|D|%Tq&e@J19Na0lwL@!mG}X#t#N?H&N!#;C1gWYgzo!(em&)nd+sjz8 zb^HnAEzk(llH11->pKDU@LLom1dr(e?w{+LbQ`4%g&+wXf7TBLYal2p6Cr&Pvk<}} zuvW`VW^xvN9N}S%!;6(YZZ=vIx_t-F0cat07cJv7`|`^Z9(t8Wcg`=UY6B%~T_4L= zXQN0XTODbz*W>C{t@Psok4uU>u#1=Vd{mgxPG<8lVudvU2V?(UZJ#;TGK~{w~0z1oYal9Tf~J(x^YLGRuwRII(e(qQ&@r$_SVD|O}Ne<==Y}e z)BG06_;sn(?;UX_!xY37ZxGi5 zDSOsi%=r6?yPp^T*ZBC}`|W8%+TPy&caD#uK-{?O5d8%UEu4;vB2SEqgG&|us8wu! z-n@$yN_mDeiChn&A!hO|{glPJE<&WkLLbHo6Mg@dGC9>s-_~1M z$zY2_4R>($s2neCFbb4hhb$adjU$ts2C_I+lsL+x+$9mc`;_mS#KMeKj%nFKT|~lY zEW?xLU{_rgiH0|bm7#1@U1jQP)ALxYl>1)TNcKvPL)`mEj&Dz=tt`T!phaMif_Qp~ zLrOBtPE@H#4o#LjJ&>D|Gti6xBNGh?@Eg--Ayy`YzMJVaOJiOm^1UD`o=`H7?*Fj> z&-}W8E!G_TKz#hGF5LVsfp}|dX#W&!GJ?JUpC(TaoCQYPE}dVmPo*8RrP|D5)*6O? zVxi8>@8*z=a$i}9P*Lz$WRuQsCi3q0{qvd_)xW)`SIx}sU}Q+tv6j4{>{ULcH#)IL z+iuS$>fge-ISWY^<;(-mPCssHL(LvNoPX>W z_g!t81c-UZ#YrnuhvWmo1RT8)Knw*80TAfBA&;FyGgUm(ix+M=`H*pWp4^r+G#TQ? z<61qv=z(vAHDgjmwf9Tirq6l_o9F@pu%!w4^Em_Q)`j1`_VAqqg5Wvwl-1KrdUwbM zq{Kg&sVzW;I6J|sF%A&;pGRG%-oNXK6j&rrA*VBwLW;?PSGH>!TcSHV{#rqTn`bc=(WwXnuathBX;PgZm+9A{kWFvuvng&t!y zo!S(&qp_!VDDT2qNr^*VNlS;MJW~@-Q0SXmc5OUlm5lL^t_>Nc7=H31Qijtbtz`=s zskKiA_D*NGs$Mg2*YHbaavOl`+em#O_sES9h%sNv!5h&Y}{I6XFFIgHLq|>PHjvM*UUYfB7 zGp4u{KKgz3I_pJ+0uWO#S_ za&@aLJe_h-Gs-MQ9y=9{LCha`vf8*B zSN|AY=Nhe#!)=;0YGbppZMX4?ZQC{*8!L7i+qP}nNn>Zl_^2=v!1W( z9`l~poEJ26c;cE!fSGIcAaT5G`1x~YB#45aN1j%SqrX-g9NHuM9Wi16Wicgjot31{ z1Vu%s+2T%3F?T~~A_I8_z3Hatu$}ksIvY8Wcw1@qrl8a^S-SLHPA4gYsTm|n09XW1 zx=4%uc$3_vwUqVWBK3cmXQaGucXMu!J0W|R=}GK4<^a@QhYl|~h_E14r#^F;U18tP zy@O8aflldH)^nqvTXC)AYeAatb)49IanlV}^pVciq)wl6R$=S33sgnp8c`af>L;u; zQM2gI_=7g+bNAxpE!xV#DMd9^^ykcE3?=)IIqg+sB=YzH+CefvOy;Du1ht~x!P`#G zbF_&txyur^`01gNd;NUIL~3dzrSoBXd^`SI0lx(d^l>jT<@z6jc^TATrJd*HfTAp) z^3t7Zlte$D*JCw*xNz@)^HQa9_AD>lJ>c&Ceg`Plcx-ARaM)N-ozGS<;4m3kGg&6w z^2qZ^QwzD^qiiTg_`?iVM4(twEv8eZPlV*SP=)OX%?ewtpPPxReMZD)>_^%d3WxTl zpB7Wb)hR>ZPjXB07@4@9r-mJGGLfiU=B zx+87|X~5hB5Etd~NcYh0Tod}bB0FQFWN8XIYl9^e{jg%@(x@J9ve-tnKxArPLF-0{ z)>_(d3RQDvWd)mI>uwmsn=e~H0_?nv{?9U}1A6MV+J0}a?%v9K4|l8kJ;XO~0Ujsz zf&6_ln;Q71qQKe4gikLrplsiPCgisGH?jgl+3;x{4+M)3P(w-8TiAS$&LYDI9!5U1 zklt7sqJ92Du2|VAvv_jc>ialv%>K)xS_}Ht`5oDe4^c(wWD2&>;FnU5e0+vR6IAD_ zOgM`sSj;QFXixU1lPIEv(d$E7i+@-Uba-42MhKJC{~9PjGO7NTti}ZUu;EJR|0hna zY<2-P3N{oLa(NmaXeDhh6BS|4dq|`!XW*LPLLV78R!XadRiat4NIc0M1L+#ig3qu- z5DT1M*!wwlLe8dLkXklmfe+R`nWIilcyRY?^kbi1zl&rPMXSZ4vLE0p_j-}ymz*Q~ z^-c(A?#VaMPN2LD5tP)Eu%U(q#eG=GU6Lnmn@MqB^P`>2Ln@p6kaW1ktOi6o=Ncvp z{yvRYeQ@Aox8B69B;6>DDW4(ip|gGcezx9HXOpN)CP7b|JWm@ zwcK?11I)Drv5-w@w^x7m!4m1XaclgnQUSjjBJUS;QgxCLnZ)}IO+s8sDNrwh?5o(s zizMxof7z|>hcg+>nrWogF<)X|0lqoy#pIDX5qYl`H`%26GQ!fAn-{T)8TBpB)_FuY z=sf?uU?&0rt?2;YOYU&x5oW<13wiHdzKKtXG8uYyt<9YXz6X|2TJ~c<_^+RMpF>Le zvSHE2eu{aj5CSUqPhWQC1)1j_7-XBuJZru>OOKOs8kPLU>^Ks+mP{v94*GR5ZtGSQ ziUyTGtKIxJts&9dX47jhJ0eUD$~gP2Uw3B^y`uHVnqE(3G1|sjCPUvw#6Gj$CcIt= zcW9^P8v)ZqNj64~sREF^LU#fV=yGO1F!z=+qpN(!HRs>LMX7wzjgKvP$}1rqL$a3_ z&i|rwt~j|nR?;am_;5=VzlWWs-0QJ%liGJ?L|gi3dRpg~#whChOUF|iCv!#K>yT$F zHQrJ3-*@8pchuK0gnu8q9O3Ls-;bB;!|i-L*6gLoKWI|VE06=9;OUP)X)ZY3ZKBBEv_=w2raKYPaiH)RxN8glN~#uY@urLOP`2zfvr6!(FHf|r9-gMkq$ zvD$8v7g&9K)`gQVGiEv|wWJ^G*RLkauanEaR+ikfeL^1wHrqevTr@iwxe|rdJ;MpUS*- zFoY0k;Nn(OF8HtSeL)iOyLPELNrf7*qjj>^&yDo86^JIJJL&U#dtq{X?|)q;WLzC zjDLJd?Y6RT&$nbr*RVld$g7dBm)hE^-?s5}bK2tdp69s^3dBr%F*TfR09-VFnu)$u zTVN9HYDPbmPkbhbn!<{JuC%|z6L2Xb9IGk)kO>qXJQya&XHntHjM4JNgj9fq_Vk1t z{HnANB0SWB*Y#qF4UVwU70Hn+){Ob@b;)?$b@uNQ*WN8Zvb@%49U%~SmP=a;Ukfu9 zFX=bS@%6Fy6ocrJ8HUXKG{J!+Lb9V2z=o+T*jyjywtobt4(MeyKOXH@j*0qKQM)9h zuM@Fg|ELI1j_TFHS3koF5s7HoPYr(~NcGixlTbzs0JgIm13Kbv@ zbjW`{$`34IVwk7O>p^2yFe`Xb1l7;i6lp;NLeiBqChOaE@RLqRo0Gct^IN^%aAR{I zWjR^k)efh<4U9g-+smoW4FHxnstlF`C;Kp)K4Z29`~5^6*Lqe+??*rUUm1G^5%lfR z^jkjdB>oUWRDeABQn@yz6+3kZ4l|YQ*VOPFkW@n85*Yy- zmhotQ4oApbXDEE!eUVU`GO4L=`(p5dWJJUo4=G$F8N50DEBrH|_4$zYhS*hf(yxuf z#A1TcXCEHL`81ihp5wpET@>AIA68gPZx=`xIsyVv6#d87C#Uhv4`tSmFTRtzX%P;b zAFsDe8gR}tOG*uj$nCTH}-izk>TmA6w znl1xExAkW$IM4>MQ?DzQg5&P8eAQ`7N;Yc-V|{Y(h9 z>37Njk);RHTdlTAONPARuLgq5_{gft?sF2G^A1G~nnuoBy~&I_Zd8oO=(I&+3hWE5 zNkYDK7#e53T13aMNg1EHg~6eP z3Rl<&px#L*Q?j7SeqUE6g7|!~DB>dvBWo8)fD^=_02EbqGOGSV1%;mQQp%QjbOn7i z$kB=XlD!T`F_$lZi2eL`NL9cXrYf{r&7U%v$e-D0d!nVe(g>v8=5jnVF(KW2RvU4$ zI!+ZybQiJQcwSRFMXs61Zh6M>1}#BXDVE(-j;24{ES8HGcr=yhl${FG;KgXW|1v*I zyMDoHlnN%w0T_Y3!{^w2fO};I4xg&jCdKR=6_E$wOjNy5`WT)9b zB(K@+jVb=j4w+QJl$_#I)g2lvq;!dpdl-phFd=;{rO{l3N~<;3^12@ISlQl2YP8uZ zfd|SQ7rMd?+kJzdQV#%Uq6z2#3d*zT{^9+*ZLehy8AqfuYGip0W+(=&cw&Ev$eUl# zf{RXEz>Ybrn~BLIu29nuOE8%%y$CA$Iv4a!6cUj%R)*6d;x@+hHA_r-!$rU}?1zyESblx9h+PDfKyl zf3tS8F8@!r_qpqFfMGX?cVwnL7n?XE^|jO~dpwPu6M>_<0G}Yz{JOTXCmICX#-4 zH)=Q{2M{u4wqYPnRW+?p?RTz|8Vozu@Q5*TqbrM%G>Qp)8ZK*ETRdgDZSBK?(+TZt zw~dbJDQsTquzuMDZ=zLKk14?D!=T~ zSFx3v)J`}QPd!O3?o2xq+Y@c}31xjVw0brwl^VcsGJ>ysyAp zc`pM<)pCnprjjVezR#9kGq=_Cb>F3VgVqfLunrJBzCf#zNj^#(%6nCmK{H5T{+|9t zX>xt|P^?!RA(UDr@T`N((P;?d3p!@PBm5&6$r2Qe5gqet|E1BZ3E%eVyu5QOkOE2$ zuBJI%{}@71m_^}RVTGT9D!VhH;$Bc#l>_>G68sTUJc{t8}cWqPgj4s zXwExxAI2PC%l;WkhbV!pGb|4eC7>u-yH`+=ax{OD(h{c16BIR17PAdo8F3rutl6zs z6>BnF#jVy@GXAzgn*Bt}86PXbJ#2zo^H5CZ<3uWl_V}jCp?7&vWDiCXvhBqGZu_n? z{tvF@bh%i^rjVyeo3s|KrGn*BmwI$duu5_vN>en!r^&Vq6CYgku=-Gn%U>`=mi);r z%{R&%lYd9)t&!q<_csVIKVRG8ji*tfRULk(3D8JpAJ9$%$pKgQoGkSTXkeR7^CPu- zLi*g>V@Bjo$?+-`MMB_ym1}WL_TMC8Y?Cp{U2TU5MrajDoE;obVX*-+sXu4R)?SXl zbRfx$rtUA4T2pY128cxB<3}Vnn4qYwto->n`^#7vGXzhj(^`sOrMd8X%XiB2I&+O5 z-VT8RSa0C*N5uJvkdXO`D4`o%`F?y7Bt)tUC2Rn5ZMl5@S@^?*8SxmYm0NPS=GPbw z?NOqQ^K;k2vKC}WTtl!tL{xdI z58j}^6w6wJPYJTk)JvAolK zHzh?xBA?d*OBE~}#d|k)a}!Ggnrp4jG|w+DQ;%7Xs=n7g8AH!A8Gs{*7A_HQQ|Gu= z-jzpBC7l}H9ChT(C38+%9Wkg{p!84A%+MEaU1O7ALbk%lZ?|q3 zm^|@e)_GY_v*U32CeJ{R#Vj*Mbv~l-NYy4(2xZ7evlN~uFJ2sHNb}^=PTq7J2<0Cs z4k*jsoPk>mvEodSWMP=P+q)cpmD!4GYZ13bcC;@P*D4L|SI0S!Hfa2GS)VyK z%DWP6cUu8pIpA^nkz?U&k2pWgR|uLmoGY;cn+?%_GByqHa5-$sY4yIXh%2zvKYnV@-YAC;k21eFXY7;jL8&Si{PA+77JoX0ELL;bVW8_!& z4H4J-g}U1hA6LHmTZ%lf!>riqjT#E7yB=n7i+cxty13xK@NBD#5E=n*nue8~eH-ky zC6DuV?7KYIjW704V(NMxhU>ykt=|!sTMEg60egbduoXdB!IozI6O%0=>WZtU5*0zH z5=}4>;c5~MC1UPb3#C6_{6~}Tw+VC1vB{BKxwI!&Nir-3t?5eRhs7+sSn(eTb&rZ| zbZ7P$_HM>uRo)f9%QkrfWqn(I19?GvEI|buc-c=sQ7<|w(5pOzz79(Uelc($aUCB@ zyJhw$j1v68sDc3U)@M%13=_e$mENQko!HE|pn}Im1qfaz4sqlDQzBRpXh*jH&&`9{DD91gx-ECxwlpOulv3)lU7|b)48Z-^O zHEXFKIT5uoEhjExk=m>v4_LWYVoeA)VF(LH-*a=~p^h?T3L6Y;)MJ{jdq}}{Gf?NV z(Oik_eb0ngJ?%;k>)VLpd=9^vj{4VUy3bIGwGG+&TWm22*8 zkLkYO2wVP#{5VDQUqZE#{r)gAFW7hP+JA81yLdy9^T|C`&e;z#`ZA;YX&3<=q*cf* zYWd-`eT@s`atUTkBwCdIDB*m95cbcU^=&Z7WW}n&&U7?XTmMV?4V&$Z>U3b#C`~cl_s${~EbC119S|$Yfvv_u)qMN|Y zW*+Do2F$I>E=o4(iNjOWaDXHt8a^pug=z)TmTGe1$+}E$W2UGlQnjb1J8JP3)^ySDL z8(!Y+pow&j?3%-iDuKISTC)m*+&%UC0uxl6WX;kzODNpq4Y$t;=u1j@N1k6oyFke+Ph5-nP~sgrnR2zu`@&V$gqs!KlIQW!TQnj@z%jIMIBKIHXR_f|wClsBmdm zG+b>?KY$(`w89vdd}FJOd@?zeHjFwTNkyR2pm2yR#ynsXdA(nYs2NX+zmZ8y+XW!k}KylJC#(CL;0=yoB)tyJn1|uY^H`fl|W1f`w_jZPcAWna{cEVvIoB!<{L6y-(b+;1RCEr%*g62E#N?g=n=}4 zKuU$_GF!MKkD^-Z)qJ3{Gya){jL`76tmVBg$Im`oWR0HSEpUUw*$V15;=2=MmD?c_ z!Sb$j1Nk-HZ90Rb{_VMSGiYu?tv-e13>9ppG=eVrNbhDzNUuHTmz0FDAO3mWoYbLm z2u=`FSK6+n?APjx@fSp}WDRb~88pV@a;DVSo_3OJliBj~B$Z!F%M+A%y$GgtMS;Db zvh6o+{~_~lqn_I9h+&ZFj+c}Z9Q+Y0nnzPAA*LaiD);B~(>~b}6;8H?Yok8cWB1N< z}rk6kG7;_z4xzH+q`C`Xx!!C!3B&3MvbCTCpxU-BR(rMeVG z3#6Dh|No-f_a>(D4r3(UXCGkeId;DYjkee69NlBjp@#j!1eKoLkMYbj;qsu3>PWUj zSN~hc;Q4O^b7;mTk{OtoP0|aqf5M$x>kwKsaAUH6Cq4G24w`UqE?lSWReFF64g+n~;!3k)-* zm)q!Y?0r#N*?3hQygp(%w;3nTgI^1A`kY<-jb4bV%;dgg-FCul22D2D#)Zyawo=_buU zeQVLGw9)<#@2cg$GfEgqtl)oe54M0Tdr_=*f`}X3NZSG>Q)ofr>v+X9iTqWc+I<+= zA4+FFiQ33~BHGQ;DHqBJ25#7zlKv4hq z>;mW+A%sI=v6nl0+l}V?=N;I61f~3r&>GshI zKi+-sH@`^5m9;;BE$5Us7R+Z0SIRRSKOskcdU>g?c|*2>{5k@I8}NnvksAh&e{E@S z`L}n^vK|tK>Tg=BX*SGe7%M#CYRFNV^GX#BbH|j-%=MbymMPE4l9ROKg+?@+5fraMXSB)4vfAv#nm11XcET%(LdVOTM;zFMY!iRj6{mKg4e7Z@0oCQsWbABkK#JY_rkiIjmfWIi< zM`TUouAuVJj76%`yI2!n^bF8mF{r^{zQ(67)$P4OwTNaILo^fa_5HFFaj6pc>^9fo z!Zo*`@9f}B7#~)=i7}-=;Hcef@N0<2MVg^(npywOuT2o z(NBOo(_inbA`d$;-!amlG|zX;thOO!)inag>P-|90zO0Cg!!siCx8n&ajOq!@(LG@MQHeHh3`L3unbv(?&K+sP^s$2f-=hxr`#6T%$N24k zp7G;>_qUhpqr8~Hm$RzTKEf;Kw0nbCpkUq^(I_BvIbUTl4G2JK0ww@PxxF1bR!G z-_@s?6mNT?Fz}gv5^z1>_BtK=2*mY$H}QJ9ZOYY2_m96NDlm*+3{cXL)pcD_+3kF} z5JF11ySA)sK{!`Dcnz58>8g*k0B^hA&dwYO9@*C#Xb+aCkE z$GB=4*wgu7?n$U|cfyLaH%Dl1&W_DoQ4u{ELSdQQ&ZcO86i!b`>hQ=T}cHs>=UY^}xS2>RNtpV5$nZ#AoGMR>eBfA3-a@-{F) z;c>mt$k!JTP@4ZFjJ%}dY0NDEd#d#4N`2+(`{0`5b|z45{O8XL35`9eFm-l1P_h1Z zmiWm?F|~#u=6Qm%$28loMzL?;q{s~pIS-;)jHYfM6aF=u=btsmi}*R0$)v}py#To9 zrZ-W;B>1(<@#sHa(u=dsHPd><&`md+yyfS%SUIkiMH?*TH)L2)+E;E+8;mpv$jZ|L z?*_cL#@WSSgzC=EzZeqe!+fiBwV#Vgx(Z_OBEo+Q`hVvX{KD1Z^qv^eVG=1$g2r;C*z`rfq+A>HvBa>U3*1pVUc;>L3n@quG5+y%8L9_0swiJ42U9CXs! zQ}I#((l#*_DOse3rTe$ysH+t$*)k+mMVsN(r^^W#Bl-gAFw%|$aGCk^a^rw+s+xA^ zwwaU*bxW=dk*w*Vtn!G+8euD`MJa5!cU&m7{>9eRKu88{rYcAAUMzI-`oXl}hl3yO z7ul$l-TUu=e(VuYyR$J#F3?GonOmy2WSrlr)Wee-_B}cm1YmvdbI)R~c-R8vF5yijry$Kr7}j7LpJ=_`U;yH}T)Q>VqYqxc_SM zJ796~M}`oZWBQiU9XdUCh#MG2)kKpzsl?;i&iF_lI<*u0!4^$fxJE0CBB)BetZ)@Y z&fQK)Q42o)ie7|Qo|FIEu`y{zLs%X~d+IARoEiJ?FG56YFEVJ`36T97VR-g%Jk5NQbq<}Ww`oI~haRLKnj!Y~tqr|5gK*X7nZN5`2+r*>2f8q-u>XGx z<+r{JUNtq-f7Q~Of0WpV^+NJ1TB+n@3}`uM{{9imjyS8I^)4=~isX}W;&iSujbmrv z=}#x*10Mc!2}nh{z$m1r&%QFhA{Exkpo4#|0pY~Oobyw1 zK#UdBSu@sZutAv9NusKjD0e!>hAILkG$KJyr#CbR$7^Y(*8?lvNHs_5gtq+1#HrSb zDHwg?$V-$dxJ;UEdqR|WH)8L zf=HGQPnPi89TeLs(Ww$hS)u7x*1J9Uu)_z9@c9MD;=4_H5uB+_!s8>M(p3k~*Q;>C z2fwdK--rJCaJ-Nm1|IFwbU`JQHGj-RTqkvT;o3Z%MNuMXSh?{%v!3ZU zUKTO5hsQfEc0vgA=#EodSEi#n{0;>!C9GCz0SwMoR#vNTe^-8^Y}!6eY;~i5A##Xj zeaJ*#@dolMQ1JmYLxBAgkty_5ed{m!m%0h1SyGrTY1Lyw)Xh`2gmK7jN4M@vcN7%q zh0BugrwQHkdSZ(;-UH1WORRYxDQl(*axm71oXyA(}kb{unI)~8)8?yIIA|ob2SFM)>BqkYZ(U>bE6*koivqSn_8StYvEVhKT()hNSE@6#yT!}b* zEl&P9^js*F)FLw!yUZz-T87k>hQwHbIjS73sFrg?5PA@2nNNXjRn{tgIo>#+z-}%;LaJr>J4i_wpM!58_o2xO39q zbSyuTIWNGbrd!i)u8d5t-1vmI5zW#5Wa9N0vl&71;v(chU^KaODlh*>ajBs>OaJBm zyyT}EC7K;LHPj^iZ>?dR3yGDdmssnO!e-A&Tu5wmiQJ%kNYnzRio2vJ^zSDFO5;d* z>YrE@UrV+*P`OPEqmaI*$DU`(|E6t~qb+Btiw%5GE!n}d)Hfu9UP|w<&V-3$eai^( zSM0Csp!-u9nSb#~rs{Vw%-8?K=vAXYT6bq(CKTCtUBDs4rMn~Y!)xCspC{F^ z=QPx){!oa9d^v|9Tfuv&o$YCh^_#Ht>u1FFFS;Ec%n7eBAiM9pQ+>iL(?Og!kW{CD z-sg2k>;!_H{$FHUSuZt1jbF@;iHj2jMU?NVxZw}8U1eH>{|UWR=PH8Depx@1^S#lr zy0~Rp&}g~DE6AfjB+d08E`*QIqK|`URI-!pcQ%G!)T?lEJfFUlEFg2ykI;#1=Z^_= zUW1l+j+)QTm5o~RziTae5d%KMSm0WtFrX>jN+X=A5|_grp3x{gZ!$J6T46}a_u zq5bzgAFQta-$MKO3cTw!-0Ji`&Y?uW*xAo4NbeveNZw%G1$w1v&JPDNZ+Nhu zlR6bQ%H^9(8U_-v(W!e6GNXLvB!MUjyQo%(OZ0M3Flb)wy(fteB_?^0`)ZXiDqAVz z6Yp;UC1l7QY}iLzN$$po8!js&T*U+>xm=r4MVU>Fk+qkpfzCwIyQTG1C%xj2(cbJ1 ztzcu?=hVM*RA-Oa5 z*Msaky*X_9ToUBs#iB8?zx|Y-hoZLcVsdn7w)b2+Py}xMbcc#M-TC~7dsa7L1LY$P zNu)EJ7uB(GZe>%z zy2oh+e)hkc0(}(>j79AK1zh@8trKlB`+7gcj($>D1rp4(2tH!EGS? z7{JAyIRDh?w!B#eaLR}xp8*W6=L~FY-@HyCCo54Rknjn{pwBTr2717+A;_L2SfG@c zd!(&b%9ML5qMSW*4Q)LN;`0f$G=XtlmZGel6_l8inPxj5Xs+Y$Xq3i4(hUAYXrkv%&ZUx<1b2Dr^{8wLRCEd0f>BY^!C*h$=r7u;^`BBys3g9>~nUH z_El!{k~;4}?!r805=fr1TRYW*oU{z12`6S0$@+xus)v|87gNN^3gwx)8dYCR%rDxu za5@NO)FNm6pN4h9R#SR?KlT8;AKytH*FS82oGCo^W_VS$b`M~_i!pTGl<;f$G(bxY zaw~7B^+v4WJ*OyELOfw~g3b^3z7xJGzwY2y_4w_*sco=?Ipmm=8ld;w-l%mQ(@L=y z>q$?jXOLOFOoqOAl%@7c56_mou^4c1AnbdIW zk2l1fcLfakZf8(!Ic{au6EM~1ub++QIRetl!NZfD3s4WdT;jD9t`>0HhH zCbGp@49rb@bDcO$|8Ph_$Yi( z5@3y+PJbi*FJ6`&p;NAT{xnu8$x?cNrUSBAW+4^8oV1i97&mnaLQ^Gi8vq1Okp-e1 zpWd^sFwrG0INx~0HQOjG8Q)AvoRL<}xmyRrS&nkO-jP{eB^_D|U(NgO6sB)QW_zDo zUdv{`bC&K6&7S88f<*ufUBX=oGjMPlg1PK$VHDY3)S2~-aoObS(x_L=3pj;8g$f*a z3Q!b#J=O;($ey}ZBN-Q9KvSDv2`5kRl*(?`nTiN|F|H$rP)L9Qn1`p$mgk?n-1>f5 z6)#r1ep_zM(L-50>=Yi4#%I=Zw*5RL`dibsY?q7!Z-~T|kq`Fj@ioigP6owo7o zA^w-<9T3!?0wn2TvVu~{ob5;HVF~mYes_$`YhcrEVNCn?hjVV+GLOTn*J8$NKV$C2TRb*Xzvtx5RNAM7#3_)f_E) zu*&C?&+GLN&tDC5{)d*SocH;+<@LkU-O9wc1vUxeeaHCU^g$A05dejG{TC?f)D5X3 zchIYfU2@5E7VXeFX}md-V+=pZ+0)eh(h>cZ?iJ%gBqQs>>>JHVvivA_+`AreW|>Pi zb9kM%-0h#-8etv8I&VeIbu%~`L%IqQs^&;(`F$@9aPeleXp4|mmreTBbMs5DQD`{7 z4;WTlv^zM0#i64s7{e1L3${_jA2awDBGXqv_;2z3ZSJ2K?;3kL!4Obxv!62UItyuj zBrL7hj+~12o$picu3wBs;F?&@d;qJ6}S*2Ll->9GTZ1!4B`Gz~X zcsL_IKa+aRtfW9OY)F`IIuCi6eoZn6<&Liu>TgC{fICS!G!2z0^Ayxk@@Bk*0i}z5 zA?CJFS+s@vn{fdw-}u0sA%x*x_upS#mM>|D`gn$ab`2jnuOvS{NC}qhA&^tK%%`_; zY};~vhjeoOe%Mg>)gt?Y8^;g;;+E(hY5MUz#KgWBfcV~Lc{Pamj>GRd1;2d=@lC1F zgw98fTDU@4xIuk(>7~Yl^VAC#AmM^Eh`%&xBX_Op`^!M6Mf*pS;SlPxI=4--EFCoR zB4Xvh0H$^d{XeQK?H-VGt>=Ty>%@yM=G2JI$sfaLo0cI z{7FA<30PP+6+167OOl#Lw%k-J9scam(OLH5I8>;iL9gl}oWY4bLfYsp9ygXaJbZHQ z1WH9|t9|Qp>8hveEUPcFxIBcXO|VPasY;v|3y=FQ6)i2QQY41-*}II?#v>J=Zp(^; zKlZO7RNlxY;|3iADyH{MErAY}k5w6>X1qt4| zxzCw2xRlOHfH@4Arfdk1+sa&$LeA!R@usTLiOK1xEI)Qgx`W={&xx`;9nWEY$`a_T zu_aE|uSPOIvY&%q#;ZzfMz={GX(FlSdYD|jS=xxiLGllTgswZaA?@ZMKQ+TEE0|+{ zz^rbhs4{k!xXsscqAM!6PfeVN`$#}uNif_OBOQRE4*t^%gDJLd~%K z8-mOIB4&WuLEPKsDSBO*wYR*@=3Hur)?$a}H*<|OFU(Ov*A1z_P&pxYW4AKZ2Sn&i z#B2GjjwIkv5VGYh23zIUVq0n$Ef(6_lDUPNQ+3LR`m^FUgV*`cRal#D@c9cz?^FZh zGKY!9tkMIz(kU`^Zy&a4hTkWKW=G4DuWVG-Z)sz4G zVcdKQ?CA|6@yj=E+WjR`7cmC!A4fq3rdqPxJC-BoGi#I^#4Et28<`helR9tYYp!poe37Q1OC~uc9t;M-ZMM%D7QnIM`CE?P-NS(0e!)5$IF+Mr$fn zhnU_PJyquEMaGh)J{O?MJz{Giz-a)H=tIW?|=Ru7v^>^aruG z`8JAm1>I?|=j`R>pRhzFD9Y!2!qic!3lc#?7QeVB)DMN&)N%Onb1+b-{jR|}ZQASB zUC7Qx8-aJPg78ll9{z}hZ2SE%Ty!B%w8L#reXpbzGhU*bt?$a8$;a6Afu|CXYo z`Ec?xI6;bkHw*%(el zLMwZycCR_CQ#s)1__$B4!gzn3i=QG0a8-2r+%EQ6?kCgX$;%gT7Jv=dpM~&er{Us( z;PHzK@{+czbZbA@1~qrZs&bjT&g(9ZaA5x4*3dEA*TKk{S~8DV2xTltS`+i$lqOU1 zC5xW7-l0t@eo23`=wNx5{kHSTP+L=LieE1r=kVu>yi@HovpHmj2GWU7c6Ht^X^{6k zheD0CMvP&4A;GDSxs}*Tn6*F!SnVfv19;9Dy_XcJ{hrG=EBi2!nOKmRmf9;x?LY4= zZ~TI%&;b8cL{ke*qz)@3V^Zro@4=_WoeB!6G@^vAy5{DmR*zG>v?ZKrsl@y?F3|cNU zIZ=|}MRo9NLD!Kt5T;wGw?xibLOn-h`D7U{ zy2q1-nAqRQgmkmv)^|_o@5vW~K6KPzskm&;RWId1IwqCON8+w*LU6}|Kc+#`yEEd_dk(LA z#cO?1nJ-M9f!Djud4DO8BBQB%7wc$Dtx0}PiVmOnHdWY2eGUOf=P1K2L{~NS6(7?= zh!v5@lh^IkyO{p?aU78lQ2M+xJb**d|MC)Ywcz}6oi>}|!x6rYpso$>cim_Ob!7>B zHd8@3Y`S-5C{K7d^oPB?n(fcV?yp0K&({=}r#)%X2=j80#ibYwWi*c3&R+-RD$wmt z1wJ5kZcQ)yD?U8<{Fi%LJMA-DJCW4!Tf57GcI*j%DgCy?i(DdcDjAwd0g@Z=#r1oA zSu9~RQ?%8=gd+pna`4yjw#0F}{;tsE*qxPRm={>EVEc!ditk8wiWBhZ^5y&^_zKDVr)FN0~UcNRYeSiN0{`1SOT!<)to4bBcCI;v|))Kt@FtWvxw5sEEihCFws4yRwueO4+sv)T8<#YfsR>{@ zp6#}ewA^(t4GD!}YXZ+@VSeBsUi;JBxE+(Z|1%+@$b0(VmH@m*yLWnuNBnmKeEb>g zSJY@N`LICadG&G|syRl{IjHbs5&*+SG7uN%hYQ3Aaq@5S-WvWZiZZLfePFF&PAQZB z$E`JmV5qm#7PScXEjE zS%=cDpuLLesV+%hMDzn!XBw;NE1dqSU-L?|5eQCjNst5@PvZo4ZQR}63DCF`2oAyB-6goY1eeC$ zp>cP1uRX>$p0(a1n15>4T~(J2g@_ep_I+FWcJve*!B{T-!(F@aC*KUSw_UOlwoY0O zoR|@U48>VkyuGK>4^r=3A4D%^Ay%yt_bKOnlqI-dVuocJ@xpuz++u#}h~VRIuJoQ! zf!DF4m-N?X)qetZ~VIL_}t<6 zh(=JJP*uPjC{$4w(1t^hX>D*Vzz?&nXIe$Pa%%q!<^&id0j?G*1JWnh{%mp=Z7&_$ z4@6RdbMYN0mduIcS0fr94u_{{KJs444`>e~A@y6X3D3{$K^3%Q@%~C~E0(Z^XiKC@ z$a?wbb&g0v!J&ot$sx6k(u+duG>b7U(tAwftP1nc1?{P3SzG+%F6VDE9Y^QH>8-C< zKZwQqQ#H>DqwR~Ft5-5{j$iWVgKMAVOcvu0%w$h9EiHHt!jK<1X=}B&Z8$<>18({R zpWo_G7eChBxDJI+Mmh5be6e4nlUTm1!D@fnVc0s`=%Fen{`WmBtpfZSLH+MiwGgP& zgoQctCY+d8qzQX>it~h7w^7GM{`}>@4b+Kgb&3I#2N?Bq%A{~D7RO&XS{G1QBpe$L z8#l*C97iLNmPPx{^ynH5XG3{9@8%4-U!WXzc=@U;KmGa|#>GssZo7UcYL0AI6XZ zov*lJ|H(RvdWT1W^>aDV3WQb&ux_r5`t+w7q6UuF;ER*l;5wMAWAuT^Jf$PIU-Lhnm$2Un0L57A8%6fM$u=S5q|D#+a^A&9J(GD~+u8Md zwTyMcCW1TNs_h+Ny}fs3Bs}l$JxQ>y3m};-!sMXeRV4IZOwvz!+5*F?U@K)nxqT8= zef-zRea)lIi(z_D;_Ka3R4zm_*#mv(%*A`N2ZlFfl2~jRZz7Tx37d$3;%-rSz1cXpkB(6lexF^`FSmpUPfr6^H+ z2q4q&^Wv-FvSG+CsI0te1be}IM9%%NrWF_q?W>KvZgWFbz4%j58oMmIG-KYUxm<9( zwyft%MUk*xYPElPt^dGvz>_hU=HP%{f>83?4gbE~Q*9$zk3n4pjRU-1|;v`@c8OV`mi}368Jm0RwZ?iwhWa@#=W#^2_g0F zgbPcYGUdQo*9o$7hVnkHZn0W#Sad4Eg};qT$53w)5vstRDIZebnIQp{f8bHG{j+Jy+|=_?jQX^Bmic6-2AY{;z$C%$bGQL1>MEKt!Qp6i7+Ay53&P*8tF9_Q>m^`P!Od{VoTKfC6xiN`XWrLSrpMV!| z&9TacC9lE=RaA z4IPQtKYzA$LZU5;Vmo-%%r#2pT&gNIokm*p12}aT@>C8aIW8sC6Wu}%vuU&Qvvv8RYH+?K7&E(zPvr1E*+o8V6q`i6G@gU|*DGaHA)OakP%`2b}>-@Dx( zqGhHa#}aR8K^kgFB|(VboU^0NPtQVsWnyrW=eRc^n|&W{A}k?x^r3KQ z2n2HvZ856Izkr>ubkaf$U?&+?|9h%&2KmJ`--?YF+UT(sUvQxqabdeKZC~^9a81dSb&0;Dro(XSf9moELEb8 za#$^+Blnnh!zrl*VL3Ql5jn>ecq9!duxpOH1eF$et4$S}x11(NqyVdR-`aVCVD=3Q zA(cMQP~u^ef5QX`AO8araF#FBSwzRB_}A1#;`#l? zovvH80+7)?#sK0FkN$>=j51E~2UTOPgcsTJ;cMJW6qXLGTph_ue4*?+42{4A_8fDm z_M9n8p-hR;1y>i(4IC=UR#Jskwa>OsrX&=DrV5p3BD~<^9Bs1QXhx*fsk)Yj#(`x@ zv~Dxu3f!9F_Ff8wlR+kxJshEEOeBwz#wNohpAYJ?^WLxK!7!lQ}r3;wlK(RpK5mlPY z$-)D~Fh*`KV(=@n_<3&y)wJAid1{fz-vu&S1PgNbjsV(ZW}DR2&vtMRp3axE5_m+# z^#v409;we2dy#G@f_oW%F(XCMQ!reG?ceEXwS4rcJ*1xH@{?7LYOepyi2*KGB*=W{ zE}21Zt#LR<%2x%4XaD82JtmaGNpQ8yxSc${8E5mw(gnZXd<->}rN>tw+Y61=j*N|(g9 zUBE|bGTxONL}?GM2~qDey&?vO9#+>pkB*EVKsmTa`CPQ_c_iwyhgU~GA2I|gh^1vZ zdzuA96N-v|oT%dSUv`t(c0Avh<*NMqAy51Me;Z}2Ts^$jhQv0)g`?zHm?*`s^KW64 zUB7zkVB31&_BTp5P4%yB>3JluugPLBV0W#!%79Ybll~r1dhyiU+!_I5oU^=^&Q zP>%1AZl!^e@2{~jbGV-4U7S{unw=?bcM>Bcr3mxvivp{-?k^;3UAugw-<3T;h%Km+ zC355WR2vT!oL_W)bA~*~quCQ=v#O_EFLz3AY$ylo*8u$z9kDX5mn@$9T7%w`E8X4N zJWg7RY8n>i=9)MG%egUf(sN`h1Hl4c8{Jc2d~4!pkVym0Au~w1!9n}NI#wh0QlOG% zC?k}#h!@i=ts34evkh|CK^GDfy|LxG8B#dqgc`>aV37E;B;rb0O>T)j#8i2PaZc^` z;`h6hHzwq1-0>KR{kve5Lt(;`M2>m1~( zIGs+d<|N3BCqEHs};|a-cgCsmULQPhp^rfMegg@ zYMUkQT`k)dC)pPLn80yO4lZoa>RoccWK(~80G8I^foJIn`4KW{U5VF98u)7rjo43pHUGBKaOV41*!O+_S z%1h`0GVrhvhhp_Chphd6)J}gOl9;N)=0BB4`F|===DWelkkqz^nt(dhkhtZXgKBoL z2&LwZ1aJZ?I*q2BoE){Ugxra@X4=Wny$l>73w9S7>)n$MaNY_--= zXxFso_^jI3hMtQd&S4%r96YP!r)9WM0=7>HEzCnwdI5{SM!n$E-*GQJp@@I+?-t1g zmT_l@RKy7L1c{1$;1Itm2GLqw*$n&W_s)Zfea=WeYQAemyI=YNZUMq(e_z$$k6kc2&X`QsFSoQ-arKZ&eq!L{y^sQEwcLqU~`KpXOT#le&qcC znp25;ooeTr=LY01`L+YQ!3#?95XvlHLAD3GGN`iK^hJ}jZkl?nq!tA|kn9hhKntwA zdBZWan(hNieWz~2oZ_7iUyY(pd60aNnYYNaopyE(;{G`sLM-cy#saH+UcH~XwN}IJ zydU1*4Ta4e@?qh&r3d_h_(hN70+h8V)&3$M{%tKhLZtpKsG|uBhp3_`h6?44J7?d# zWZ>i^SlvI!Lmj6gLl5K@`m#ur-Bx%9*Vn}(IybH4vf zl|28aM5S^kJF|s@rdGypcVMFIn2}WaqyVP{HreI)cM#Kn4Na+G?(`%g)#qTA;zKT) z6?5kSnrn2u7f$!GU<&UZmnpXRw2CyF;f%?~hwsG}-= zo%Kw$USy}p&nXC0vr*EdSOp$#@`A|xB2{7{)4E=%cO?hmAf)0^+P@(br{G4W`}Ec+ zTZm`)1{+WtTSa0DI9P2(aY-mp9BgqlK4p4(GbB!PCLs;mip7-6ns)$KQfGOLI+oi#C(x+O-06VGaF;|+MNlc zck#pGz-oH9UZNwv>u>hDyY~AUmp&MLD7D}Y&tdYmTGP8x7TsfXZG6sQB5~hmbY%2y9o-qvBxOrJAf9gBRa z`Jh`{!)gzKB<8L^x&vYS-RbUoLqz{K|0Js0UqZdH;=Nu26Ej$R8JTI8$A6VY0%&-# z|JYhq#Lx)g?}Wy zFAn^YM3*BeJ>(;XK-nzrkW5ZSL*g=8XLGN9XH|ra8a_)X&L^G$Wn9cka2Mh3A~kk9 zz8QS5J>aSt9*H+KXTwEq!?J5`59U5;d{0hJPJH?ALnotDkWbiu&`^{i<*lu)gOk0- zXEzjnlzuL8N5S^3b4!$K{gYl5z@|IxqbVHG*V-y{;Ah}B8L!0)T#Vmk?aje-?APWB zN%dBHlO=f5Adx~hqPJ-c6#;2<+&jjSV>s_xqUP$tMHKmLrf2=$xqFHagNDK83Rb_S z;qJ8iQkAl?A_W{>x5+zWOu|1)##5Cc|uUX-*MVg)d#N%uBvU)uOZtlsAJDzkKFpNloae7D`R z-6l=e65jub03Nw-4uLIj*F*&i)#UX2{_p~SV8@iLbw6I;5tsWJ2h7bfmIlM=-H3yWf1Ie`86N*J0FGd9{h;@B26P=-#7KSg zn$fJL?@qmxFJ~MIre*w@Iu8eCF_ch@pkTgev_>dO^=Ob8N`xiXG2hyMY0I|C*O`YI zx%oLpF*61YuL>%jHCB%Y!Bhv_93j=3MTP7_T5kxoK)hleU{WoB#S~=pQqkDSi#mV8 zYgm&-cZ!X50h!BLkTvS0b3{df>(MoQuC3A6pI{)}Wp&{k76SgioyYXx|MW~03Ln$J zYi&F9sc0J-i{vjbf!?1O(;z^BD#6B`veoQuOLm!WUYUr<&}x2KZhmf`02UTf*Ip&i zN`u(>ew?UsV^Bm2MYfh|l)4`_IHo>$rh9TZo?c}1P8g$%htF&vk=NcnRLC0XjR{M4 zPm7SJP+sl)ZL;pSKmY{HML{qTnB41czF2}mixh=y;gdu*DA3v&p|OJ`+>me76v&+T zYYR=JYYWw+?Ry6nFgJI}^b%XFS((4h(o?g6gTcpSGTMnDy|xWnl)75GY$5i_A_6p* z;E@o;;$XVUM&;pcx=_9mAWt>47z_kRjqwcpT|6wVtq6}3f6c=xg2yZ=mnRK6K}@g8 z=v&zr#v@8k8s}lpVu8rN6DP;t^N{iMyf#>_vnAElOnYaD1tCt~Zc#UnLoOuSK$Uoc zvVV5%OBJ`@0%E&5_?Y5+_(Wzv7;3ujy#X4?qhq=J)xO)|ApCZ%&GAjg{R!4G55~t- z$!uV_9YXgs)QL{97b{~hz$*m9^b3B{Smer zS!~L9+lDNLWeZo`&OU-*IXi=p<-unEbca~a{{pwtr0ObX)Y!yR(ew}s{tF9xpI}mB zKY^LIx8C=&Z{DswXr@gsM;7wq!Ls+N{@OOXI z$b>IG3Z^kd8oKVr$zFKJW^%G)>io7iX672u*Cu8ElbJ5{x{Y4G>kBSsMpH=<$_fcD zYj)VnK1V~h`Yi>GX!`E-RI_5R^;ctNo8lU-qkW;;mmyU|I~t#ILlB z8KzvsEJErsovqDlhVL}c@>%5D^#4`qF9TWO|4{#TYj-;R-UsK@cP2rH-v03zl%fKu zXDa1n8!LxIYx;(WWr=143Kb{8%Vl+}TUwZ9*OHM_>(pfDm^hiVnx{XtZwIgqrp}+J zI8bRHZnx8TjiHpHXliGo(dr|XyiM7%u`f0k?QFu@bn-93x!V<%+w$PP%|6=OXrj+E z5&_4|=Ht#qB*~7;(iU+S*V@8XqS_&4%|d6x0FGikDp0v_tPC&(6J|!=XOgIcT;x7* z1Edo=G+xmmH1NvWcP{G!OxBanjv~GlD%6hUQ2i+L*Ro*}o+!1KOE>dtS>@%|K`_*t zD@h5C>yHx!BTf_b5JAT@dw6B#Qc$XU&~=M~NX`RU_3__gM129nHI}cd4;A)Ly$sJP(*?acm%iRIJv>vb5iKvce35NQ#<3o|_qPl=-!H`4UHw!EwRq;LL zdN1~^H{+{;QJ&YYf&`q!Mc%X+r5LvD2;SqAZEQx@<|muXlk{Y%3}CyQXjRpvxNAn# zYUog*>dUy`L&pBrA&kRM#S4olC;nrS%{LFrJNcQqcJ;yYjNSXKRTQspW}`luyC*(& z#E-GZqam>n|4KwvEjjOc z$G_gK6;r!nnf>-I*_S^BAG;g-#R`lki>WheMw4Rx3G zpN!jSXI8Z#!fJDhCu%?0VRJkQF|v^TeG%;Zw9>!=*S8tO`Q8s1B6^deV9yus9EvOX zuX~cPJt*99F7C?tx43xens;reB}SJ^I_uC=j1z8pl5VEx4JDJ+sX1{FRmxzCVqs6k z>5!45-rI5$*=|bC*2T1nCU@LQqxNqAT}YIw!m6Smk&~^@ySkt(yezg!S#^dT;x;*| zn0lUp$-R@$ACJZI)jOT=t%d3cKY_Hk6XLF{^4Md#C2Dh&RYc!4%cxLz(aDl)mE#~7 zjljZVB)Y>#S^jYc6O0Ix3w*0sEV+OmFzIrV4B3 zZ#$QBDRD8RJ&vY{v)W%77ZDj%Q3`?bH?C@?F0ZzG4)2CB>&maL$C6nnQkk@W{Q7zOB8kNR zI?Xph?xzq~RCgzG4OhrqthK;OBHqZsWMML#LGAvfuN-sC=liBj0B!M`$KRBtbg7HBQR0bGDd$Ul z{^LO0#`4N-Mum^n&x1I#st(Ps^T;@HE6z6iMjG^q(^>7Garx2Z>L&7KZ7_#fmx>=p z!_-ZQXtlwn=#{OD1N_g^{2MR}3%3ED|4^AW4Ghx%SEfnR3Bp0>buKz@Dr5t7356|R zN(jN-Cgr$W^UByz4=>`X;#~`5nwAR5RpBnDT4gUXOo^_%20TaljD|Xd&+eYALgc=C z#32Lda+~Yw@7)G^$77W}Z%VMn)KwJ!=RJ24F*J5O}ea&VKTNSsTGTaM+4> z@}WOwKYi43|Kdp+blojG!MjlxozWK z-{aA?zxgnel8t)~5bFK1x19Z+B3_0h2=5yWMI0@jagp@rs&{P(i{y0OlRY2W6fX|i zCpDW-VB-BL$qhQ7V++g)|BaaVz!c5Q9FX7Ag(v;`IC343tT0&Y?4iI;_sr2+P9WZ6d*k^&-*Z^ z*4HhiyB8ya0Z$Ey(CdA}T2zIut7ivdv$1-QW~DQD@2$Ns*V82_>hi=+^>At$O7(4n z>12rRo4CXI>zU*`m_H<{-czL&rszA~K(0J#z>*TQRo!*279Hf z0y+fFzT%Zyyfqg|@oCne8h!w0xd#NNwvh&xZX~^lyM`h z45Lk5kG(jn6)|=?!qwkAYO1d}yJ9hL82s7n`kux0zg4i)8aB|YgqrPF5nL)=-WRhj=Mw`v+|Rb$wa$w_gA-QvJtL~8fI6X(E3qV zCabI6<@m$A)h}IGrHwc4W);;CNUm4gp2yGbSSm4*<3`HQ9JmD$C~QM8fOX`=s*1GK z#O*c=EdHVl6m(Rl`WMxpMtJ-e-^%IP7BauAPtvJD0Zz2E=HN%^4-d*? zj`CJ;cT+AT!uh`k?o;P-R*~ya#d6&90%WBUyD3u^SyiwrNi{y}q#RUFdeqGnu!Dq( z)TN*h)x2>vf6Q6AUuDTXuoPs4($5<0X^!$|#^Rq!CCJQWR08op*Z0`(6o{Z#ZVRFh zkggi!BukmO)N~a$4qUau5tc$c@EB#h2ss|d63UrWJZ5V?&##)#pA@`k$e02#l(NMt zi)UT$+VQ+!b5%UAGfW4{{%kZWN~Nq+V4?)V-PzjQg7=HJgiR@yyd7pH6H*zuAy}r(+ z?R`&iw|Wb6-+*)7jux+SzqWjWz|1?vGd*$MZy@Ta>#a3Vrc4&|^Z8X39~`vJ zg@=)eYEc#%GG|}?rcqU92OUL{ycIP#HGdCY;AC9wbtMgnqN%GBS5+^m%CIgT z%F`pOLuBY!9?*9qa#?Z0U%kw@{pMx%Z($$7=#&x4zh~EspS7AmB7Se4l^>O9KVuX7 z@idXj^0@Wr!t%%+_CCt7){T(M;lyV6DXI^<;hU@_vqaY!?3|+@409dF8arYAwP?#A zhcRo;2D3px&FE#qfH=Un9}E4+f8FdH7?B&28W~mf8sB$K2$fd9ChrLerrhe*~ws?89@FrpE(We*c_6 zf_^K@qy=#8WDf?G`ZnB#Z=5)JoI|~OsJWSP26a-(WXZ9%;kUDX_P|1mZ=~fF z_JGSY{lLpJg8ki@fsTG{P7!734qM|@%+2$jFzKCA>uEWAr_b(EV|`_0*j%Fg2&d*E zpF#5z%}+uI;9$TanTJ;}dHwpz;3n*3E->w9&lVa{hWS39GR5iU)HQCLj+Ups(mXuY zJ@I!L-gI*{BXP8(9bX!)Ey|X|BS+z56CH}m$4Kr-S%ccewt0KbEIyQLwVO!RFA3G~ z`xFcQje%E9e^@P%OW9prk5R%JpKq2hGsyzW{?{XW82M5E&tgAxcgGE5pubJ9$MSjG+&GC^RI-FsPqk&;bq|lhv@E(Y{1f%#lp`b}I)Sb4<%4kJ03=70cmw%$DXyFjf(0Ha@ zrokexgF?JijdkR1>C!yoms7aZEjd-Gr_RK zdrD&yKmnrVFa7v=!G12%@e}{7g=!Yjz5(g z8lt&GHg^U7)}C8>M)_8T$ObHUFCTH4N|KnH-7(Pd;!KBT^nq)DBw zya9VDA~#a(s*LJm8+#!sr1a&^U#sFFcWU{E6LP>PEe`Nw|4JZ^Di zu8U8uAOE8(?kx`nc!W!@Xyq?ws0v=g2&dNRM_xdB`{Sr+>sCKmz3$OlBc_~5*CFp( zCG$7B!NQN<*Rj`J2~VDGF72&z{GGh8e=~c_0!qdKk(x=C*V&7V7JGnWMZu&5o0i%k zbtErRS!9pqkp!XJ?~>{ad&J6G(I-npJm5T|_V`Wz%W=pW3++1|uF0v~zTbJoE=yfX zB=9tVMGDi2X)q{RmR;?@W4E0e{56X%;N%si*ZC4|I`J+ta=YAK&A`_-1^i=T40c`M+n$1JwT#;}T%2 zow)^X7tj@h^KF^De5tGim4S<&Ecp<7oP*ns){6XV#nt3Q9+3+zy-DFNYyzsUT&jpU z1f^1(+Ax<9ndkQJX`fh7^|5L)`E&=yvT4$NK_UGSU;0a8f~44$uWlwD3ONMxZ@L3+M`mQ5pvsR~@D} z(B7A(I5u~?G7@JZ7c&)f+B6f<5s=@QloAqA7_qgzaBCY+DD0We8Mk>`ErJ6)pBrad zkAt6}J0IzJ`|>oc;(3U2O)*Cm436{PF>1nI%9Lu|6m5DPUiI(=ImDYSjTcXFN~3e9 zUP@}30Q?YzB*-}QVgIVW7TnM3PG6>{1e>bSj|A4(0r!k#8U)q>U3h~q`*;v_cCh@S zj>Xo|cJi2x&VlEgM@e&`nfuhqNLk*>E#Bw}I8(B)q;!nUqhq}5aW$no5MO*obmOB( z1nc3J5b}OAf-y>wblnz|T_<4N^A(H7xt27<9POEylcI#5*yQ?6h^Gb_R>aq6i7d;x zIOPgcvSesKAs^IwTuqS)G~|%s>}1XhD5D~uK8GNnlOWHEvgm(PE~~TFK3c59wVJ&$ zIvZ4QvQ{1xGx9H_yLOW+klO&ib0>%*S%s?=VEp(hDfFGU1zlPN@+V_#>miZ@%quPZ z(F{~vSU0`r&1>A&5Z&L!CBv%sXk^r3VIfKGm5o_t<;$*uC^X+2<+GkeCHG=Xs z>XVR`(6DC5_vN-YwYaM)cnbgyOQ}uFl5Kf$Cy$XhamB*JN|Ib4@Lu^S88O?2>mOq$ z&9Mo4(ZuO5CUxOC2Q9)<;!O)q?54*&<-h0Wmh=pKJy+Z+Tnt zff(spsiPbmmAhRuvQ(S{(y%Z+2Jv4x&$9jGjn^CR@49$B^gpG<%qhFKqsnUdu_7u`kzSTf8%^p zsMp~L3wHfgu<>IoW#Lqa+CT?5lJ;X?dD{yu0ms#bIq0(o`UZ?2KUvU3tFpp9dzhxN z&y{s+SrkvfclSb;aUP1~X$o)b6u<&1!r8`^^gxHZQ#w^UHnU|p%Y04iyX}~XL}3V( zAK_~qsuHm9JG~S#7ZQ?-_j5(#f4UcSg#^8#o;IJT5Tsd)s}%$*m))@9K~m3jz%I8i z4|ih^>N%ck>!gqFBJ&lfy&LzbY*|vNy*Jj&)~yY8<6Ce3`l{~`k!$pKHkZ#g8t815 z7nkJT92_|B?l+0-QAn`cxj)RB30frNic%*VEgG=1p>Yl?AVJA^NK?5sX`OTe6b>}2 z^!MAxNfLvz))fW|l2tW>=&#CIz%s{B&+)Z<0r(Ks{_MExp_-pwTPFJ`ylIJuqrZfW z{tk!@H*V?6;+80^m2IENm(HPQS=^xdZ8Z}XQ)sWloApk_maX@HwzIbQSHDH=A>#h8 z@RJ7Q*vu7IRZ$t&GLM|kr$}4EutEQo-#6fEvB(cJ;$+0dO-vCQH^?o%jEc>#fYh6S zkQZqjGxWU4*hpH16$h>9GLR}M-D2b855fFKMXVxhO*ym5(JXFa!BLC&%-n(ktg%yW zMO5Qj#;;dLbr!~3Vp9H(l0pui6`O{P?CIY~py6K^@dE9}t98(*Nob3@1Fn97rQUf+ zy&}Ekw(GIu`X#NbhLkrPC<4S}`f=&?_*+)Q{$-Y}%BCTjhd!_}l*%}1B}&l?mneULT8o^!F0XcuL*c*| zR)0RpC){25sGdcStDcp%q4=mp*(o_}(1sXkEf66e3`tQIZ&a=(b!N6w`rTY}G46Ib zCYq7Q{x0nUIz_o|pGP#_JSJ}X*m9HB8&NAf8~5Dmi{Q0K72^c3%G{MpUF>BO?;&f&u@M;92MDq*Dag`yVfop2^$;fyM3Sn3VrtJG4T;pFkL2DfHkF(dJWA6_s!*Rdm?)RefVf zWL~j|gJv9Dj!~d-onJk{Z2iD*MyDBVyRiTztgWzwu$Cws`6}&R8Vf$0I$5ZcL9XQc zYtuo|T9OzDN(2dgE+0U$dNSMqs8g;@G~$X-YWN6s-*BSoPJ z5bTW-g&$W|k^G5g*y=dklzQ?zyArANgj3DC6x?#ZDS6_#zJ^nGoaDw3pcgTkf;8J{W<&qPKninVtSe9qtbD5^Nn*xq^ts8%?8A4_bIUI^E;zK!rd?9N) zGd`1J?Mp$B`^!1~2P!X!y@GOcc%PSwJqQJiLlK1fi|iA!eYmJtL?r5Go@NIwN(FzKnX&j@7=;%_mog zsPXj=@;Z%fcjlTAxC2Uad?U>FCc|Cqr>;0YS5GXH8KK$g)jhQn0wE|dvxO)m?=Ypl zzsNeQm=D>Oxeo6}?4K;W>9kzfl_V32ewoepmZct4a>0cgAbojoRj^_k*qT1snO z`}Z=tHW=cx7%o9D(URk*(qBe9)3encS$lR~aRgY6$>`+z^Fe~R-RxUSfba@mGb_=` z-lkDz<@(mEt_I{0A*7X#rp)MN=@Hc9IL3C)ZU@>7OcZ}B_lA=+qXkug*nruo1a*e2 zapQ4(pu_tV{toiuB++YqWsD+u$4hA9RAeMf1twQG3Ek@Xyu^@A3U25ME7^ZS`Qhzsje^AMKclO)JWU$Vl-M zy7f^OSwHFtzoN2{q*r#(3v*W7y*4J}r@fq}zo+xFQloADK`Y#3u9I#|o*O87`u~P~ z2uzcC>bAc9y9uhoGM?tutHna%Fm0}}W@*?UR+4|wv-4zQa`%r<@bq>A#4;z zl_G|Aymemm64oX2B)0qU9aMuZu&w`KDTAEN|{C_~-V zhHeuJSK-!t*$C>F4&R}>>pzalF@`8Rv?=ecspT}|@Z}+X`@UFjEvY#d@GE9#)7)EA zcCFq9<;x~*mkS$ab9P>@a8ML$y$}-AUNTB2&*Oj~01pwWyv&%{Di-vKolRQB68Hyo z-{wPYK>Ow<6Lwap(3jtrY;m4w9kJA#++iLPmj90n&=z#QF_x=t#&zZ?oL@qEJLiW5 z$$jUZSP*{a^9&}$e_h4ld+3A2Loio8K$V*gkMfXL@S6o25|u_h1g+2teg(*-8}pe18?Rg#2Z z^IiVSB^G`ECp47@ zo@~8p7vWw=5m;lX+Jplr%E|QsAu`1FWfoyy3EATG>*bpdB?XaA04Qr-jlR*88tK~` z)+3!wR)2yC41WR2u!Nklji(+FP$Un@nlkdfVI4*7THQ@%fIMGr1bGH(`%8pa>rwCwld_A7di5HmH-HBZBlm9r|25^}F`v zZV<=&sr0?1GQPoj2iB|?W?nfvpwwa`^x>~y{fIRC7IZ!Y61OY&1Z^7|@C zJdyrty3Ur9?+L!$1$;cB1~#}7(NNW+*r#QXKqJqHT#5cvar~*<2mEof)fMT?$@PV~ z9buz*riG2--RhGL%6O9lvYneACc>}Qgx%7&I_z``7_57K=>R~^JG<9hxRX0cgw?BE zobX^@b}a9WNHwm6ckVgJ(KPFW>z|%>_Vj-8Kh39}KR-I>0yPvWW7!nEYys|%bFgj1 zx}{2cA*spG)_*}U!TUgx;McGE-Yb!osN;pgU1@c5I=Y`>esxxiRRtZ@^}ERe8P*~k z8QEsvM(G`WMXp-|9Y&S98~6r*^b#T;!!UYCP=zK<+Pc76Nb%Nk&@#@hZ#1kP=oG7A z56z#xuGd6Yta@7Z5&588tnP7o)XI?0-^Mq7o@}HyJuLB!4*e9h4O9tsErWh%1rm+F zF+(?2R%|(@7scoQZtkV+9AY;&n%%2zHW56?WJBx{3MT<@9rZx<_QmR_ruWmS3Z62-LXip1C#B z-%+uOh-e7DyV)XTK0n}kR^&B)pi`MXs7I#Tozjwe$mSd!y`mvhIHVky`F#R%-gHK0 z0l*4L&U6~6vZUI=`4xAbo8k9;V}o=_{QP*e$JKDQ!JNUP+Lt4(_>u(2eLryScF_SDqII#c-0OWU z*?vLW@3C5sgzb9pz0Y{&EBsEZ-xh478`ikXOUI8~v3VDGtOzx*VoLV1s;W!M4V{tt zO2kxL-eDsM3A)!kE(T4=q}lgZ^m7}DKGG=63XbEtC+yMDqf4vWbC_ixy3%f>0d5v} zl}>4CF>(X!HKNq?qPv>xcxmCi zMK5{Sc&~#s+$|N?1+fJA@PlX+4G!jd*6=6r|Inmk^FitAh7Ohtr97$zHM%&*R z(SnfB2(4Q=gIe>_Oehx7areS|!YdO)U=7!hWNqaw5xxGYI($Ka;73uqm^Ne?Lzi@3 zBiyHf72(F0)vrfXT{?3ZxvY;Ae`OuN3frf_9g7FiMc|2bi!3F4kI&=FeH7Jal;LB| z#+u)X>pY>i{Wi&_KsU3lk{aj){0&hBHRa+c9;Rl#JYbM;a}nY&-vKZlv#Urb%h|WT z7aN}z*Psm}#T2)+aN9pvaKBa7n(aXL2wzqv2|_1T!?{m+(W9Q}b!3iSKc7|G2@hC=NT#oKeF>H#zRw z0(Nuq-|p@@gF+j(Z(-QYYn|p|I^zB(mAM0C$(9!(C3qeg4y&M$*9Qr_wblw^d|sA! zc2hxW30>b12c}hG+8ao&l;OLr_U z?(K)~s3F=!DK#^t5+R3V7?XQYMK(TcfUZ@^Sx!bM{oyM^;q)w#1Gj2Nn5+A^Z=Vid5Exlm144JU-s^qa zYO>4dwOZv36u;#Tb~+T4d;;rqcEi1iLuB>#_f4 ztr!2=b7R5A8fu%Yi$~707L+K4y?Jjbc$@&_mP)HgaW-rerBGUh=aU|{ZJ-)RMp88q zE0W57H-+`P6Qw>o(hA^OL?(N+#jeWtc`L3=){xCNC8#Up6XkYy&TdbS$q`|>zPKC~ zzU`o)usD&JNS5|xTv~7{IH%O0B06AZ(9@I`+k{3iuj`qosa0Nsf;}ka*d#iSHJ>$cK z>aDWKsay9PDVYi0b62<74L;;~YPK4$f60}*-K#NheB{sHBSBZON*OFG5dJ@|zA-q` zu4{KD)+7@f6Whkb6WgBH6WgBHp4hfJwr!gobv)te_p5Wx_dIXa{b%=&uCD66*S*)Z zE-c?B4{&0WcKni}pE`8BHrF%vG&fo7YAC_m@2XDlVhT?MJ=~EqDkOcH47~)8Bh{djPv@kqvZzN+Rff8CehX;n;0?Ir zB}}{7RXe=d`&HddpG3OR$gK9@;pIL z72!$B9nCXD$BB?qGGstr#>By(tI_BARsyKk$DZoX5ue$=V~bY1;gE=Kve*zRsboS| z+pn&_2!V#3UuuLKyz^9Ug`;9m+iDLb>b|z6BLJR?R9Ih)hfZM@-Ng>uBujQz3xxir z+@ZHe7GJpv{rZKYTi;&7xb$L^hG1$HhjHO6mj(O>q zP<^&k=i73f=e$skK|3?fB3(rDvmR!t5xq$b&&h?g8(jp>Dx$7VFjHv3Lcz%gC#c1gs>urFb8u$$z=Y)}A3lB&DX7>=IMVu&PYlSL*o7+Fzaid-_OOw0lkF;Oil zaPE+7IBmT1jd8Xw1)|0i#qY~nWVN!EYD%EQO28mR9jIP#ba(NJk^i*blW-VJI@W_v z$Zk2?Zd=@IVv62vu5sNt6IA$?g?TN(@7{DcdPWOoP=(cj$POF}B)~CaY zJx)fka;?AnxuME_RjNmF@gs{!!N-W2bkakBnuef#NH38>OsdV6lSKrA9XM3>$^6Zl z8}+0DuY!6~7&3Fiirp3;nAPhu2d);280B=T!+O2Hyiiq)sOh>~%)ZDFKFr>xMBG{6 zc1y9@r3{OI^(CS#kVy;eFAOj|v)Uh!uwZPZMyS!)qVn6pk!u26j34v5Id5(%*7lh-Alu6mDXr6Kv#{ zbbTc8coQmiQ(kUeif;^67g?+XE`KMj=8Rh#e>ZnOCT%-i*8yrF4j zbV_gQD6!K|m5;Cbg-eA$Q_oWl3+dvwGeupk@f&}CuCbV=gX9#II(KzAdPYl<>;`ms z29+A_)D0gxB?sU$T^_%%)|7JS!GmmgVH!0pafCmp@0rXGaWbB%BvcK{sFSQMH0bokNDGJSD_vFAIY{UkVh4mB+YDq$Y zjL1i`VbE|o4N@9MPeJgj=}KWh0fK-qOE;JjW)Iq(P63_PsHf_V*yk(41L+h?#mYwR z1iS(8!0B$1!0v9^@Z&CK7*!v4^xMce84(D;DTES!>CkoZRoADSzgvjc6{6O&*|Y_0 zYDe&>+HulHmlr@$%kA$g*{b0i0;g~r9`yRCST~BOD|4Y}$^z}w-~MD@g^0kzA`|}b zTK*LMNn5*yp3xJ)S7$qJ#{ayculAEezqziC4H>_}O|*1;mfdMWtS%H30l6MObN@3m z#W=)_eU{@(XmJ4L^Gu(iuAX8EI5XW`0AmJv5~kpr!M$QWC;^HW9o58`QrFWLRwWFo zgz*mpv|NnmEm7!}pJvrp8>eqcQ8kcdX)y_eBY$uCjqrg>$#F~zPI{qUqSIU9_0gb+ z$Oza40+hdwUp&TDpu-?-XNTB4tM8Q^3Q*;9=HL>sEpYbOA9UBTRLX8uWrdE-{=z-Q z#GV%;0kXOLf5SXA*9GM^xb4O2XM_q~R*=RGDvEx=c7MObK{LYP z+H^+Oe*`Qu)MNakXGdbg|F@OGVQ%ofb`?#P79v`cMt`wN404gw8j+O2LR~;&i({6O1D?GIqC2vh2oZK1~idTo4y4SjWoh{pOZFFL@of>0n?{L z2Q^g8e@Dpw-1JEu9ncGKDy!Ettx{*#eUFURb7&lvOUtl0kIX|%zR_yr-)IvIyZX*b z^xN~>D2LRY?hI_p8BDfo;%%WgdlGW;P7*<5&eG@9xy95Sv3S`Z35oOMJ@en=R0YE_ zn`jkjtMAA!R|P}gW1v`-(A6k%MoD&)(X_?wk;4$@2eC_Xnr{a%M5!UGLf>9cIJT@J znHWGFjJj)=ebGTC>Yo)N^Sf*8hRi*e{C`_f)nD#gDxB~cEwFvX{_abq-^16C$StU@ zPOO~&Tu)-iL+dXea26M9EojgiCa5uVaS=1WbbWSnI`2Pe?ecn`nfTP7 zI`s8)&R>c+n=F;0Vm@EHxbR?o{fZBA+4}|I^{zMT`rFKMibmNO`5P-+Ub_c7UeM|m z%Fmnxzgsozw{+@_ztz;yT@}4=i3np@?Kk{_abavMkSc1hgUaw>C@6b>oHV!$1$us% zn{&BdtW^iQ7hwl%fq?WMTFRoA4omKgLnHzQa z5|UA2*7z+;0G}%^8Yms3ZfmO8S`@LPt-N$B{ChC^-hSdo!}0(UVak4)5p?jJOJ^-* zIpToa=R6?w3m$ECtW{BH9Uk*9sRIOxBsva?x9OwVevjmst~|ESdIuNPaeeXg*#$QzTz7;PMv0@?PP9@qn#}TRl;?luj_ZY=6+JMB#jKsbK8mg+vIi za<4La!>ry6no)!YzX#b;*wA4(J1iihN{Qfr4Z&myiPZO5g%1`w82YxC#(%zGGR4^| z469N7I+K17j1SmKs{gK4zPsC>*lI6R!;4F+xry>#=)|gDnP&t$EPibH@=(P9)WS?M zJ>Kc*wKU9{+ExaHJv3N(X+|*VHWCziCR(Wno83LYsTnmknjeLFmXkskdlOHr#2;L3IDDIZ0}mW+ z?ZG!78ur@$BR2daixJMfVE6IN{UsowL=ILm)!zOCM)xHPd&jy(&)<9^dcECm?K4dp}iaz4wTj`0VV~zn0D20&cQTt zo^P}f_P8w!71PGh^3JQfGk(R}kGmGsa$r_+R4P8skF(ln5^`gd7Qp!fb@hx>{V!3^0Z|QBUDJCRi!ClZ-3kj=4T3t*y(jO>`Tg>vfxrhg&-T45`QLVZ8a`44+T5|&{ zfDF{^7{U@HNZKeG41sGR9IZ)KoB=UVm@2JS>HEc(H!2?<{u=iS^w4a>_sDm@L)m<- zA$>h_gDa|Whc7QDMR8!XRiBWh2DvsuTM-+w0eVjhcM_3t|wf zRII-=vOtqm^J%S)6`SzSv!tRg@}jKI`!V|rfHPqh=O`dM%-M%32HbMSbu0{)IMP0YhQge8NzYSX_VxqHxPI~RM-eV+XJWl7o} zP}%&vzS1)S-0B0(*+{J6wYC1rOEiXh^UP^2Kf~Stzc#g<-Q22bVYrF$bcg%ER9*ZW z^8%R{HL{RbShTE~LO@&YuNYiBWK4E`r(wnokKrsfZA(H_IF)|*DiZe$7n;oMrTuL3k8@E z>DLQgoYVGeafGf3_BBjfg(7WhkqHmES&9m?(p(_d){O&VBQhY>EaP%I429UzvIXxc z8+P(jv+eqvCZE7Oc*IfWap|YiRDlt=gNy8Rq2urRdcr*_#6N;KB$Ums#|2&JcpS$MK`x!h-in~-=#~L?k`lDJ3JQoq$Q&%n1 z!5wKOYup+RKuvl6rR2Xpg$32s9D}k2F9P|Fnj5peRIM|*yI-!d{AnNkPhQIKzoN<} zSo;38E+HU)K6`E~l`=vpQlF-3rAG;G?x;#2G7haKC;Cfn;r-ogOo!YfzK5M}(upxc zkP@ZzKxRRdE;{YA^<3Xp%|!?iTP=u-i?rceL9pHC!i%9Q7-zKt!TqZm1GT8gnhFK5WG?TKL zB}v-Lf~c(S^IdRxb4rBUD2QJIfyutP4LpBxQhjPVnsSaGl~*D=@FRB6?akdZmI zMk%pA)QoZXE1(0!dG+-VzZV34yc8i6M=0dnDmA0(H$E(?(8!IUd)JSCd%I&tX*t`o0E{NBy4 z5tz0-8~&unR*fxOX2OX@yUdSa#aPcm#;xHbl!}K*yBNlRsOJIZ$H@|=YbMtElDFE; zYg#;u8qPmBZ;?pEqC9MYE`&>S1yyY70V7epr?M zCi8&Zr$AH#Tus(Zx$}lMZ^_^N(vRfeTQ0DB`IKO5DTdB6Fz1jq3dcVjaOL^CnZn_^ zI?VoV#`mu2C3-L7d4j2!D2hS6fSXSw`l)h_+a;S;gj#;hVdE-c-mvPWgRoR&=gZzQ%@OXi}R+SeQl zg*|oyGVU^F5UCVn!gK~9_=KJ1(t_ z$f&ghZd2^%RFPZAU;ID-sI7Ncc(D^*HS!K6KNcBRLrL}6MSpip6v2AJoTnwsr%M6z zUI!QFLK$Y4Skrss(1>^_T}zU5@coOi;K-diUNMt7xrYzi*{^WA^lQwh&*rvjz+b{!)#&fgMT=@|OY=FIs4yDlCEOrg==W69|swVX@U- z@@Roql6YU9`rB7Y@ZZNV*f-ts9474Ey4LMzaWE`<=9e&Ho?X$lM1}vsWHyn)sH++iCOS?%Wt9sseT<*6t(UJT|db3jCFZv(oliAQNV$+l6o`rwjK22w3dbCEM1u zxc0`b-p^I9Q>4M_XDJjTH~YEs#}>!?m83a^zR`5QwqN2?w2Xy;nCKX`Ttb)P%U;+X z0B$&+5FU~+94_XdoVn37X7ZGX9P6y=)AW7azK2ii%e&I+qk{BPgGP%m6O%qg=;*S zk-ngUtu8qmpX106Xl}i=`AhciUlmETKdp`gp{&762S=Yu@1V_v9U&Hq!^|c(8Fe>+DEnf0Xrx9}UOQA#dT7fHtwT}l)r`{qvp=I$ zWD4zpy6kP|5xGYaNAiv;{v?KM7G0u4Fx)~%mXMgDQ(;38M!+i9$&HGCJqS*``3HjI ztrd_p8E$}Qp_N4?tUH&rnO9Lz!IFjACJo88ainbU0$Ze%Gh}b^8Bt z0Uij~C9A^jO5}U8aaX!ONa*QSd})nJ1EZiPM-^>a^vZ%=e7deOk6CLxIczv=JJE?M9O~dc*4mZ6@g#vvO2}+)H z1Bkbcc8R~M^`cz;F%AtXfiJ4B*mG<$m9FmPcw0bysPR-IxN`SFTX)SAnhN8>&Higj zP)y|DpB56|3yzcT+#bAd(GLzcLdZHr6QftP(NY)u4z@f`3{0M+HO%r%j2Okji;epu zC&E7YWT*(*Bz@FFP%2rt;3Xp~Nc)2$Zocg4S>D`ephaJ~T}uQBX`NInkHMfp*k30! zsg}^f#G+oWRt_+InYmv?TZAkGC$;A(iMY>Sf5VxQ^wchIaZu&-tel5`TIl zw5tkOXEy9v$k$L?MQf#o7;_=S+r>*;hV~jnh%iJb3|)YPNa@*9J=ps|9~$XlqEa{H zFjEKf87Ms0`L&+Ni|F@3Bat9MV0`VR49B{HS6@&3hVHOm6qU?RDRD`5M%l-Kc-{tl zgQqEKeLoMp(csYXLxmb^A_5JgeLTpTZuanL--ibGK|1{acmD5g#{Yzu&0zlP5X^!z zzm<_k*OOK{;))!jxB)^MvjJv2Gio9&#RGLzkO_gWS}B}7FNlOp@Dh#P?eQPpH`7f{fm^xaiJ;3mj#yJbl z2zNJvj69lvk&3@@T`1cRYGWQAwZY))iV|T}c@A&}KrNi5ADqsLIw}@-ERCKCX_I zMZbO~F+3!-BDl;NhiOSw**0r3lM^Z@CoWQUIImv<5BgJjYaY~HQDI_&g{7A>l9P@p z5xKGwAuMIZQxzg(u&EZqO`5bOm-zTg3F$(l8V&OyP_v-j-P#kvFC$w_VE`FzvGb5} z3Bog@3komhb*=YBP-m!nTXE0`ot=M?W}Y4)>8_g~QRiDWTHiCpvBdRz3kB$0Cg{M* zj-38TQ$8QC3vr5e?hRw`0V;Z$cw`!cgk2&_EX}3T@t;n3u8*G+C5=!2)`3Njf{dwB z>SYC#lMfCNtnO}{mzn-BQPl`+0LmbJK{0kVLCVt80rR__Kpq@8W>hdR&!F-4pvU6! zUuh9t?)e-dESYPV^w|3p_=6eClG+9?10XU-%@QWpo#s)Xla1sWdCeONINnXn9)`KY|d%hnYH4$b;^Cw zcARH7{z*9tw~()%mZwvh`WqL2UNJ=Z^p0}sQIW;>+MoSr0(dI%=bP~&!lMx{-r7E~a~6Vj zLL1gVJ*g7*ANw4--cxghPRo!JaMyt268j5-&DfmxyAt==Nd1Mmn14dnmLVZ7|JeQV zJV^aQtm!rcoZ)nH-{#E@J@bhuSJhp=S$~fzMJ2Cf8l2LG_9kYV7fy{6k;+MQK6FRR z(}0%4{;DJz{sSYeHoD@cj(`q6F ze<(kjo)T^n=P1S0B*4I&DM`Pa2(Ti)3NLVS!?yaHkuV<_CS6NeQA=5g`*M~7#<-1S<_F4O4T~gCV(twk2v90!rsAx%*7pe+GcQd@zOVxsu|% zjvm`635)Z>pxNmwZsMG$OGNvZ{`Cdkmo=vujvUi_Oc80=AM9TyCE3*__Z$}QQ43i5 z`MK1TeJzU-aP>M!LbCTqe+P((sj$8d3}ArW59)w-Da94`-ogn_DU-T$S)GswCsu|AyoreUP)t+EOFGsMm z1MJpI@8d44!7DeB=T6t@Cfb(|E44h6W!*vHRoD36C*a9aXt8mn3Ee4*A>g?uOp1~^~_<|f+Dhv(1?qI0|X=_q#dw*S=Oo~_RJpd&SZC0 zVmjbhGX<|)xgUC#wt6aRUwky5*J^t?)lE)W7-|zCF{A$D{TPV#{rNBJFTWm3%V+0e zkv?9%$XmTA8F9FU?BL*gchw!e8krs28o69+uoMUJ+R=~&>?n_c2tVl@p!p^Ca{V{c z#+~=;aus&&5uSyD`oeL~T(G>ErR4PIJ5EVkPuYYPf|cx=%g0+>pfe1;2JNoSL`tT) z@H9wORb`GB9yl;EVjYKs5h8TJVp3@@wl8YRPk=5C%9@Cv7 z5x3O799cHt`n#w;O5~D-$2xZFvE*krf)V2@&7wmguB;|RbA6EPd8<9wl8p{ZiCI6b zhT$^7NIB-%$?gLLo7d1yyj6j@u9#)|*bmT!Kc-pphM;ZXRiYE=%Aby(rs|L$nO4sBfVsGw7B=Z?X}v91 zxIr7F_5& z3+N!HP_DxuSndt$zKLzMzG4EscY6{udTdd+zvOfidS$N^ti_wWKP^Azx$C2NGM$Nb zupyW12?1mzAyNV~588!cGc3`w^z=@+_4*jO?Z;!Jf7T#rC=!*h-|PPInEKoL(VVkqzWrv$|Ii~)is2+(oBu||GHGB|3i4LmUatW!yH`<|Zb-r0$Wg@M=VhOBk1hP308i+b7pYsi2R{xvN*yJ~6t<9F zI^S$XCnO}~c0QSjqVyaJ{tcva{FU=du_n1NG{45M-EvW3MKU0uH6gyiS9Bi)2G|ZqR816M$ReyX+N=rvp z*rq@Wwbd}1t7lP1NLV=)Fm4N>7#0%v`R6&(X5Vjsa=Ldj!~wXr{QezKo9#HKtj5&R2#T)j7(TKzMLvU>8$(xKhs z-I2`o9_au0tg_WTG)`I=%!91}0{h%!7#StmJx=SjqV4iQ# zVqJB)x_iVOb-lYwi~hVY35R1cEHL1W_RBPYNyWzr!rqZc-_e%yOL@)I?3zNCI+4*V+U;4`wF*X|(d`VOz6G7ceuYoct(n%G2{%ij@!elf$3i#Jn!#k-Th6= zdg~T^p3~HhFOE3wm!Ej2&mlcwEu_GkkDRAj5IjXf=vt&00+~G^xz#r`m4wzy9pcV~_DyjvADcgQ15roK@hCib3^W z&PNqQh3gF#^g#rtRdZ|_%k*HY*h#y79d_%rMx2u?-qTA<(e=89SOB$JmHTy!U|efJ zHp3@%46gSRp8t`rby0El%m`GTrYUdhq%3Nn&$H*|DFNCDD)>t^F&I7m#A4}26` zRjP?VC-2RSB-}s{jrCbewE=s_<$rP7)Oy-05e$mYBXd9S`l#kCo*T*>Qg9sNNr+x> z#*H{BrK(>xkbCFKAb<1(0FWR?X5*PbBNn)V-Zl{3D><1Cx#6-1=KNQD4lnw?4GDcJzTb`KE?Pj&Z3B}3MDLx^QcPSd*)h)6#pYW0WMF ztFL-@RS^=4@SYn$ijpWYbA5Vn%1c2U*1Nt>Nq{Z#mKWMdeI3`?99jYlqfst#ycah+ z>3xT^)>D1NX&-sK`f~=H1B1tR8l>;DdHWtEgZ8(RTn+yW;6Q4C`mga&A&=o^gU@~6 z-upwsHAg_}eqO;|Kp>u+H0V|%tMJer!3BqNA@9x#a`pT9;?v)TUxV!*AU*eY#O&B^kLm57+W|i1Sy?T0A387b z>zV!FcK6#7W{`E;aCRC4@boFqh6+L{e87neT^zs=5tX7O7|Fbp$WFT!QxohWcwO)O zB?Gr{mK2ZDmm>!BGK8183UIL=FJ9+ucR18}hhTc?=i0OTxV*Z4tMP$v_e5XWNEhpM zR4i@l1wi9j?jgb}MhYLZnDdONSy{;Zh^uMEv6j}{ZsdtOJ1mb33l1*}|8{T_GQ^i8 zR`J|ibiwYtsU@7O22QpE270jBfX84x^!7tt^9-(6cP>Q5zjOIT%SAsaqE?=(-mI7yK)Efs zUQ!qL3+ip=~uh1s>AuU>7ma~Hkhe);gT<6x9o z%6F~fkpTMw*j~q!Eb>hdA(7lyjetfC6k>t3gi6q@_@hl#Jd3=p0yO~c2MWu4Y5Uu- zw~mT+9BHZX{6NC6jx!^vYVc}mUzQhQTnfr_#)^yw)Ep;$ICd8Pu%F-MHv(?^PxxHF zY%GWVDISphZ}})BBxH1daieU>xzN1Ekme)wR~K?#T1H9|RF-?8KCKlh9Zbo+x=ux2 zlp+e;u|pOW19r{D#4fZwi*J)(XA&uOQHw*TAd9NpOab=$(_P_SMD6&*Z}YKxDLLDL z3a|52*Ru+~jde2%1u9_Wa{g8RcQB0w5zJs~bV=6tRoKNk7Ws*%; zD&QRxJ;a?nMq2`!u;S|8f@1f>xP#lo6b+!F|s&Gqbq1cTw=D%aDmLZ5N}2z8r)D1Wx+(Aj%j6%@XVGqt@EZMO0roLigJ%s_V;T z%Gyg=^pThAp|?Yda+N^me1tT{P-K)HHo;aXgSXWX9Gb$}ESfSCm(lPuDy-9QS(d}C zJU$FZ$+e8fe(J$x3#w3JY_0S#n>mTIr>^~?WTjeaV*9J&DY~D%IsALT76R8Z{jufu za%uz=Dyg>8YAuV?)mNe@;>YOlljP|0E``Rtp)wp6)>A#h?}u;PR~@$t`cE-IVV8g} z0yOBZny=WukMQ2?c(FPe<-%yT?;S#s+Ivv^tVYh$@iJ=L)fwN1}G3NMj7L706X><-aWfy zsNH4vkJvq>29fI0k+tx>7)gVSnqsL(uS+&_svu12uo8jf#fxjpZUC{|&*|^5e9hwi zBDd@!43V;a2U5DN3<%wvF??4YiU01N#s4KQOjAjCe}Bgflj{R$_KHp0EQ$^!)=CAl zo}JDkYBE(og>yGwRcPGKDxG<4%_!$E8#C*XdJw^kWtM+orK{2 zCfG^T4XWJkS>Jwf)pc0KbYJKDK#CRUl4v3mej8zsP{gCBa}a2tftehi!x21};;FAt5~An$(b!Vx5m> zb!-N(0!k}kQdW<8*M&xr4Go!!E=F3iYC-p)JV5u)WO1D-B6#Lcy{b8U@+2mz87sj~ zQ8~R_;=(#x=Sg`d`-iMp2uC2HvQ=MAcw+4)w}bHQ9?JB%9wlt%iZ z3ckxRgUD1pj9#y5={=9>@X~>wJbS&5M<18;5rwN%-WC_ontzeH-h<5d=C|81ykZ_m ziJE4Yu_n@b>Yu|Uq*1`bRq3K?(P@NnP~2}Erx?P(RqR45E&~KFHfJU|@!~7O{{8~$ zRJz|o>pE-I$ds<~-bDH}2X2!)<@z92lwB6gR>{W7rD9oU>MPZ%H z0_3=HsL;TS{jD+jQy*avwdTAy^Cs{av{#`YGSB1zlMlk7{fnl%Xbz#AcsA`$8?H$k zKDz6`e-rs)ztbzg{j{T>R2*?lpyRW&wH#fELeeA?;4WrhRwuI3J?x-h(9RRx-pz0wDPg@*$H%FnY48c)%bSRoUB?mla@9=? z_7|c%www6pOX1(`b(xfxS9?PLE3?rC1K)KjwJ$>`Wk9tfHHr+02-*zkcqJA&YrOqs zYk;Qec1del8T)hyxv?}<6>q?A8vdSfJRvWPKAnsa(Li0+6jh(s$s8Z_ZucE*_bcKK zSi$bMivlY5CdujIcxR>!aNP<-G}w%$H5uEg~=S3}i1lpS!QAyqUFfE!3szR^$s z+|;~LeoC43hz5ZwJ$5n}0%yNEIRVqOlg_lPwal7u@Nq+IVU7Ie7EswZl9l<0$*+{= z`~*yW86^!0t`MYpeiRe_#}4x8sZ~0__J@qsj1lj~-dUlxVERl;)q%D2!ArmD=c|zz zW4Ffq1aBV&1J}_=`R*@MR@AXiPu(BdL&NW#fwN_%rcHvjWsCfp&E53E376+7V9!2b z!?(LC-uLch3XnuiL?Q^UuzcB^iF?Xt@iY&k0-|qN;g=xF^6OQkJ+Oa0E<)#I3@fMc z7#&@x!5e4xJj%jiIW?`^lh$E9=XgunPDiHW;iN7r;!GN$g#5O*K(th~{G{hhW{(}~ zD|4;&u`_5{F)vh9B?WMWPp3)WdgqfLh@MMlX*A}jXt^Hx=yMR%dfkVpv-TaFx%=A^ znO_jg8+I{?C$Etq$p8LFTq|6x#wP&d!ttGrb0>4aCiXR0qo%mN{Dm;ok_0WXr;d={a~SgJUg2_}7xuB&g`n}? z)#xHdPP4%Y{kf%5`~~p6N$?I=>ZI!!T7*}v_o)l7L}?dl^yr{u-b*=|eawCcuMAn) zQ*QJ+DdU%gE9=d>Tz8Tun7x0OU(XkBmv?u&M$_7i0H(*Dp9YexmM zAG_z@hU@vmAHtjA8UyHmy_>>obTNmN3X795$m!%>sj*Y4jy)5i2oydmd7&XN{S#Ep zX8iZLppnwhNKIIxqNH5dU5CckUsQunl-3oLmsHO`7>TJbInb4kpWz=FOXtLX($;oud?QZfP`tOK=0QZBpx)zK#xWN2Pv$EP7h+ z_F~e1-NWAByz=F`Y(0+oX$c>-Eg1URMexjcCUJZzpGJeOKN)2AGMq!-Ax5pWPz9j1 z?VcKn#*de!jJ5nvcm)k(*OQU1-`jobQHHhsaey$twF>@{Nr9voJ2@IJKpC~Qx<=V7 z>;`L$L*t$+-0QZeTBTRG?8vBm?`J)07R2`IYJjurmqG)Z|D2Qmm=W=y&Z4q4dK5_q z`{*E2y!=hLEprVO{%OrIjfi#D>bfXn7m8Nq;u9J|T!b5h_tQFQF8*6lJME`Pe6 zfYMK+rtNiK4L@VWSma~RC3oomqSkSo!Aj(@cYyvLo9uvQX8PPJXRo)cSf(V>xOuZ$ zmk}SM{z{R)p0gIqQQ(~*oDCM%?{qCL= zc|FbTIv;J#nh>@aa#^2VqmtyKk2*IZdq=f|;E4U}WB!8sarl@t{bnj8ovrRUPwm7Dte1I_6@EkhGJ}Q}RavJMOQwP&y-BfB zR6f!Uwls~^@!hjueLhH37;+dU30R{?J-@C6zT;tdQ_?DPD(A_k@s8L>=Y6pe3-v@|Eu#~q@hxE3Gv8tiJh1aWHd-ZY~G7$`4_tX$KNb{YgkY&>E&NRpB(H4{NjGKj)7Yrn4^NKmpMq7jXbcJO*&ri~#ZQ(}} zLxFr6QbV8Ci>fzq7s1<*ou4#T3v!?PbR47&EW z=5dU{GYKQ4mAK>;cBa=Rz(6AZLnHwvU1v^Rw*$dFW=e!VNb6Y3)3ZB$b+qF~SdpyO zOO=?*x6w3Xc!HE@;oN4^*)&_DDvNEkjJCxue}C#4sK-KM%7(*U%PSD&4TkM0v}`pA zYjsvsAQq{Xe4Qa2Hb_HsU=rmC*f33Ywu|q&j0AOjiWD5a^3m1A=562Kg#GK2h;5$b zGR!Axaz7Y$9-`v+LB{STE6kW4V7eM-3SIZin+6D3XY4{q&GP)t+9~CI*`Wf8u3#FF zh~+~HKl-5w2(WSd1f5;{Yi)7GVH)$X@YXReUs9H-W)XYdM@dhY_{q1n7ar&v*bSV< zKJYsn{2hT5EQ&WK-35*w?q~sBnS$8Rjkzf2mi0a=pgd;kQpCmp?0XY}#ys=h8-Tp& zKKtucm;4JQ>iPZFhxe#bC|sxIMqTzF6tY!`;_-z4Tj{?-v9N*(T>mWgDs3# zNCk?>co|q%K)76-kZ117?S~PiBT}HAAO3&yRUP6mjv_E*D3#?_srklQGRL*V87rO4 zrILR(g>q`uH6wu=JA$Zoqs24?y;HShbP;`@l=F=Fp_U>7ojwS|zY2k;U zKU|EEH}!%-TyV*bi(gvx4G78}?E{!{N8qT@>H*O)OX{H4>plRhM|*p?p|54HKiRFU zHv!S;o=%5;{J<`iiDx@11}CqP5rLyta7W+QW5<9NmaW<8$Zo_u)6gwvfT)ZlaFYGtK z;tvaB%Tj5m;{6B{hg7wo#gL;(%|X56KF$wn>-vLDe7#(YRUGPck-4LMU(LipB>v;= zc7m%1EL!W$TS1hby5k&}^;$*QV-hK}!1%8ayUZzDx7?R)uav?0h6FGD^R>4DUXi3d zHW7Z!on5=n@TbWn&L0cvKRgdVl2jH$Jg%M%&nC8?Z}f%9hf?QP|7s{GKj!S$@WtS? zQ6H+h8c05Ztw$~O%8>%~Myi+L|CXl#8Ny}G=W;LpNc!yz>um_*u3x8_2)LvEA!lQs zt{E_H%Kb)}*D2LImP}`z@xS{TT+h`cHL2hNN&fF+lxf-< z2rW|W;8RhuqT+A7Xm_`}vs)@WE-dTTStxZhx{EF~o&`s`xaJT)U!jbnkaJKED7N7q zoU7FX?MyECBT-cvsazr%_^EWjQ>Y9tx)}t)rhbo_kLCW-{k&h}aNaq*ciasQ)pb7& zk$&08AaJx!A!FeSINH?yYW3yY20>_g%MQ-N(0Fz!o}MQlLum44C<>R&DnmZloj(R$ zp8NAKffLfNwnMDf_c6NbbD8m49WMf>OfpGk+!RRmAMD?-s^wB=vS!62s!3(ydU7+7 zl|!r$UeC4IsFZkfoM2)^8c#Ye)xTBE(Z?JQTq@ z5^V^Cvp$5IP{@ATX@5lq2&l0@ZjH9iRm;GLK+T?Zt{cwRE;HVkH1S|;!0R;R)&Am? zRsD0}TYH`?Y`C@{rg!g- zKP@v|rJtt-JFvL;lLi&0EJ9W5nV)WW?rsm6rX5gGSQ-Z?Ds@__&D#HWYX_42rX{aL z|Hl<(vfdp8mgY6)wzumL1RA-0u0BMLUl|Ufkg=G^_t<#yYCckusk^-h6tcH!D^o20QdX>2DG+fLKic4Icv*tTsnX=63EZ8o+s zvGdP9*#Fme&)J->XRV9(4KP{eAEm#L?aalEHBv>7M#`9K%KO+|j9wln#xkS+=<;-PWNB|-Y1K*x4+F&m?!)Te0s1~7*|&kE7`>0Q8FTRaUlwS^N=xki zEW!n&uP4sOPcxB8fxjO;6eJhW`t&@R-Lm39Lw|Mw-G}8iMNtQVTz4n>p2>XIoTL@# z_eK#)6COrXT^|n;W><0v|1y(`#tdx>_@-@|7*sKtX4r0*w@`Lu97?yFxD`CXKrSjm zJQI-s<3}4@pO;L+H)q%1#YD<-7K+MV#Zt$qh24pPa>c=VRn{yi;7=m^uCXCHeHP{fcG;U@&qyZ2=sYR z=WsFZEk@}|V&rm0$AyQ;d9%VNGnvk3MFeOgJu`aJ(mqo;ELp}_Hf@K`yPd9Cvo6@b z*8pR9pUYUjP>&@rQ{KwxBd4!_)bpJH#-Gb?*KfST)Zw0yO5Eyg_|cTg8IbdR*XBK0 zGu+-B`Q$60o3iv8S`yKUqn!m#>@pidgjS{8Rkgyd`(!!o2dw3v2ZfpQo22VyOjeyq zigBZ({Ekc8o!@vMZ)e0kw~JIa0H8rw+$s5%{#9d97OHUkNixzPkq%6E=K(ve*}|?d z&exh;Yb{aI{P1)S`s@LcSgB(u_=~wP8SE+2K@YtX8AH?+~#ORYt z-LwDq?*E@h;1?u@_74tPVHD_ZZf|cVF9$q*scv2slsUvlOMxLP3k4BKhKo9f$hKrj zG?8YphYZv@r!(Ql1y|e0n1ng;(v)Q8m_bIN>GU{4sMSE50=oQd-|Zhk8>bnd!hjI} zS#*`xQ<>XlJlthppd!4}YjoqrukxZf&7Qx53wamG27ML-)77dJVoYR1r7*JUL33l1 z2O+!Pn7uz?e!KymNZZ?0UcKC{ICL%t-F9F0-9kVS>iveVFmwBjir)PyyA}&oK=$7P z^87!X#bg)>@nh-LL~v^_Wx&Ee4P1r!`NlIv;yLLV!)DWGNGGL?WQ>>#Hu$JLil#(c zg%v;iG+FlM#&U;Pw6*T2?A3rk+WF$A=cD-`Vn&UZ|2SN7Y7C`gx=k%-^iOP6j z;mkjFC-t_O_>na(3;>y#Ht)G{r;`b9&Cmn2R`jvMhYSCPQ9$4UVsW@jK93i4Ztw~n z&jo`qp{p7^JUfr~M0IW;Ywu*M3G^0bURl$9_!{`x6Rodv{V#F6pZ`J&GGW4;u$fyj zlE0G4(6>-AGTL}r+g9JcwJot~W4>xzxD3Wvt+w4KN!;n~9uJEWH*@jf(@dyEpjL*E z-4}DK7Aqtx!MrbNnAh{xF$1~2m*O0pob!+|?;Ee@t~>`> z-|4F=kAV?`*9@~-Je(oW4ON5n66m6mxJP$-4g2rO%BXayeWzUD>If|*QG>>K`ZTc- zUnhB3?zSmy?YkI~6_ml(2LcupB&ix0Sq*fDQt69Qg_o_U+=7k@gpGEvW*Fz3aUTC( zzk@zd|;pReowNVLzvRrX9E}y5hRfX?3(o#5!m*!MdMonhN){GnkRlw zR*OlZnrCH_VDofGB1JF2y;BFi&`8 zN{>2dAj_Jd8sYJnTs;@4YLd)H>fo6sqjlhmy0@{C5@>5d9Mg2Ci7$pgANEJOW>(bB z?M<^C;?aE8bCkluUh@|mnbN#z&5LUJ6~&CXfbjoArT|i@;2_XHe;cfDnf1bc%B4n# zcg+Iieq$EQ7VIcE?k7ZVf2c`-Zr(<<)3%CpkV+|WuDaJ#OAMYfk0Rf6tYIo!sdj_n z12|+t`Hg)jEIt})%0aFiP}35q&~M~UqaK@OEzGA4&_SPUdt^-MxF)~b0QqKlP06}l zR>Ofeg^BxcH1+*04BU#Zh}#XN9ejZaRaE&>>SUGQ{j*CfU!0I97VfZ!tkgrY{d$%Lr*kp+X{J#1R&`-njo`2A+HGQBj^!?*9o2 zCS06G$3AdyXQP6ltBJ1rMuv^3P*9D!d*#0C><(_HXAe@dQd^Gi> zPZh-Bz}vF(gek-lhfi;P6$GLyP@C9VK)l$Ol@8fsBSatDiE=~CMYL##!p$ia!eE$G z{F0(W89(Q}vJvqx{nNb-oTEOQgqLl*-q&J=aK;MKOXYg-=F?=0XF|=bUe}}9x&a1( z+kqkI_L_d>(5;K5v`5T#(iitQ^ z4pNV{s?<>Zi?*_Lm8VylF%N3Fu>nD)9f#6uqLQK_iJmkZ7SxU7;=a71t}cUF2e2Wq z;4IIKAKr>0^3K$MgS&~;fJ9}=0MM23k!UoVI_t4a&S^>%F4{($#Ov}SbIV~t#sM$Y zX!mv5jN4E4$k%W4#v9tVOC3~<1F}@TcaXiIb}`K?c7Sj{azvPjkU*E|9=PA+l|CNP zZqe+Z*3Ue5(uRQC6O+o#HMkw+n+k)_QN>r*Z;VT*G=?vN@l82$=A_}CmhKv`nnlg2 zb@Q(d^i6LFfM6&w4p+&K1?3}QToT5*xGkFH-6MRN7Q3#xU8SyEo%?@*kRWT1<2YnGMHHbF~VH?8|=QY zxYX|Rwo%c(KeBEyR%r7*1YY`sGsR2<=v9`O76}q{-kOFTY)-fcXQc|50#e#_!L9uK z;C^wFw3YmVG?3IPhw}4pw!U6uhhi1-Y46&BnEwaMMA1pO{tqYl24T3Br$VVla_v-o z{3ecLU?QB#a~MXr@B)<4*f_N!1YRvH$U2BA!)p2j6vaK%(uBBPuB2}xYmIHjy|sFj zmTAr`QCIl_HXHw-95k{);8cw|`On?|OSt$rzX)xUZrxFkL%8?9615QJ$ zysj9uuJ)+hHe=u%d!xBG_jThDd} zMQBM9DxQ;(g5nX_`;)mq;zSg{;{CD(3Hb2nsC%4yBMS0l5yb+%QTXeFYo2dloIP&w zCNkKebyzrl_joL%&hz2}7TkUDhj-~iTi8MtnnExY=l1^21Wn<7s#vO0p3 z-CwRT+KY);xvr=P%334R)T^SO!<--s6!3-u+20%|{hQuuyyM3t(UFp;vWCLAn1_!^4BW2R$;G*Zb0g|INYa?;)Qsu|%6>?g~t@P0mf!p<2{Ovm5wK|*2V?GC5 z04H9TMTaMw$t}Vzob&cu2@FSCON?;#EmHkhS_shKfr#vmVA)IE@0-uw$HpQ_9lo;9 z7A<>}*UnDFiKKAm66B(0iO_E6B(d9PB?gikBcM2r&lPpWCXEz#y-~s6F>HPZo@iAw z5u{jkak#g%^aA#y*$GQBPA2dopxrG)$W*S{zsO&BB}H;k2|MXiPPLBRpRI}7wfB2` z%3+o|+Ai#QsWEkL+j21ZbD$kKAk)^R=7qYDDNk1#VLH&5Z~gUxx{DH*`N+@ z5-r>4mq!KY^?gp-j53wR7!Nj}d($#g?jMR@GyZ=t9mn{RM+=P1jv~Pxv31@q zsYb2wa86wB&vd3_=<&sI^XfL`PLNy=ZO(6!0({|;VD+k4$rtiWRbNhCx-jG`D8VO?f zH?{QKdy^m5mp6J%(S#z(s@h>4+OKh889X)CC9a~e{nSA2A3rB-hZ{B+qsgiPzmL$B zY}yz;<3Bw;SsP@2)zQ(p9Cz@+GJG7-yzIkL+^q6_WvKMsWG<==9?=-f5llQ;_siTk z)zwJpQW-u5t5L~Pmai1TpP+w2XNHOha+C4TVYeRB&k-A)j4| zX3&)LKOLTA+CHpf>xYz6s=|UT&h`?}Rzvwfxo^5isY~vEY;a zykNN3JwH^oIQX{Jn@}HYmqbF~+Yg8$rv+D^MM_ zCk<2B>Q0FneCe242o7V0n39SH_n3=B%6gk(33@UyfFS#46aH(g9lMoJD?^dg!i-!S zzE;q3j>__pB(Thl3|`bw1CA%`lB?Hx2%%?0A?d{CDWq^=u>Q7O{6%R0SR10~;$+7E zu%a-#4DGsa;c6$fMg{jLMkj;9u^-QoVHp9&*+?gac&3Rk_nk9TNX2I~T2H@^M1#r7 zWebb7uEv3QT*xcICe2d>f#mK9$y`}61|di?4O?9!8Ob{>FZ-@6uW_F(m)q5cc4Jt% z(pAH>1lrkj&}P}dJ*{%!D^K7Kn(Dh>@4X-tq^;QtZcdDqe9!P%b(@WDI_YS=ylZuc zG@H7u0qF{aP!PxNoYqYa@E&9ZzQ0|(52SY7{4~~)7s^+Hha>T-cJsRIhU3`|qp0?J zbgm()vzXZY+m!0pk`4|6!FhWRk3?`tVnR_~00{(Q+unbxL`MzyVotK}Q@yjp%3otv z$^D#}3WlL#$%)b_7i`oGxXQWt%k~fiB^^}vpg;&GR$@ zQvb~OHW&Ud{&*1iye9#XSLS=op)_LhljuZIthF33C(`N;P_^FX*ce|2u?`>eRO<<7 zb=+Rsed5p8v6WdH>7s~q$kSFZ2SlbN9M&c5ryhPg=`h^Ap5|A(Kv$mmfqUADVFg?V zDcsJcEx;8vK&f&v|F0V#(kLrj74%ux%lS_1skSp8Rd{@b7W87ps6&6c3dbBkwnZ$f z!HyHzEgdWcvVNcb5!N^tSz}L@Dei1n6*on+_`9;ui)%GMpz$Q~WF7W{N3kF5U_i0u zHXZXXIWZB7WEMBYl6#d!eV`W6SLgPsUtjLMLU7;+=*pi(uT9vw3qF_(VKnGlD&uqq zh0OTH3FV{@1Lpv)y+!(kMS+9uTS)CEY1IZ;~tCs zJ1!wJhn#`Qw$|3Ryh|MX_)-cEf_XZbK8NvAgUr`ZARE}_Hm@hqUwWN_yh-POvjDu> zS7r?fTk!E(;Z{@TuvUco6%>?=Aq~(ac}_Z5ExG3qZK4OxwL*kWyRSaBQ5;dm@ur3b zJ+el-S(>W*`_YK(T;c?pTf-FJkM=s!>}`g-%`xIH1X-5krg zJtn8tIM08%ak)p9H9DwosE!^@NXU#|6&vAjPRZrh5tX{{x&MTAT3Z+}2gC59Tdq#3;tI7ChR{;%Lv-?LyZ zIzO#nL2gT}lX2y57qEeppCoExSZV)swzm@v|0$NaCZ-e2M(PML?{(IRdv=zMe)8&Ai{J?^dQS%t12B-&wbAa4`K0rpXM zlV)yOA{ReB2zgB~ zMYIlB!``Vhj$e`B%$T(H8eJw_+BI0E^HscBh&1T7WMjc;klmdSOIz!#HYT$K^aVJY@@uHDn!RmQ;AI3kqI>|o z+_q=D3q&|Oa%s`filyJ7r(7nyTpMb|j6m&m>F?1Fr+i~rh=uKkA^hCH&#D^}nW>WW zk-j$*nEo(q&iiua1EC=`R$42n5_~oy>QuIFIey2ywYG2$RTG<=&{Shd*wbs`HQruvpYY1hJ-xr#cus_#mK@FQ-#1V1o!%BXu zF2|_+Gsf`7`V~$`U7M#8H@(%lW zqf)H;K?QV6*G zq_hsu>SHbJwL429tt!pn{QKkXtTvfy>&t6ps`)unVGCiH&$jF-7x$>Uj$3m(u-em( z2+Z7SCgMa?g%|zU!Ph3rx*_UZqDuex<&g!69-5fLkEbKXgS5^7h(6HON74t)&c6)+|;IsGr6=o|V!&jU(o zLUZ-oW*}NbuhG7I+Gnipr#zV)LafzjC;cGg!NhNR8_COJ_GF4`z;x8B5PeyX19CLQ zniyEKEs|&$#lATv0`0W`+ve(~rVY%1dW;^v)Dd;<{tc3LBDic1(iBGRfJu^j_tlrh z%yt1#Yf-WrDCQ!?=y4 zR*-EsIs}UwzYf;Z&F0Y=1Xy>j$I@)LBUTCC;OBT=^0v8;5+v_2>(u}HrmqWqvQQyT zors~!W_OIu!8HeMx?oF#D9pPb7jzp(z38S}SZ81Z8-%SLX4gOxMb8RosqAey!#CEC zq1(~hC|>jIh!$)JfcfsI;__i5yo7~c3wtKlPVrK+LhtYHx_M&M8ychD-2wUAMXbBo z6=kQLLW>HlhAUv2SXCK+$D;{-IQaG>dt?k9J-UhGlXXTkN-B*Fzfm}H9-QMvf}m5s zH{5o5 z6u^eK^&dQj^sn>vD{W0_yfz-@DDJZu!Jr7Wl}@`woE@ATc;PZuN{Q#x1+%RmrxAvR z?-Yy%ZB6@vSmw`Xje`ZjNHs1;D!b3@ zsL#w|mBN9$aBGKp4fxRd-Yg*Ki2d;6arR=P>2A;bjz6+thbhJpteCgf_F*p-GZ~bP&F$p6#%oR_4zGz4b$`OFxE-Q=b~@?r93+rSF`203-yC9B?5QXE zmY)O+v)jV-F!$3*w<*rbFpyUQcJ{2<3sr(v^J|*{4G;m7eNCnTdYQyE1&R1`ATXMp zESKGvhH^i;bX53y*KK;8ghMyeh?YXC6ti~|4G92A#!RTr+VzH1I2cJXzcYS`gT?u= zdToMmQN_mU5Hr9aW4+$9WokQH^dIRrY?}1H%z>D>Jk{x|^w8|r%H$HMKpUoyrYCV~ zO%L;iEWy8gE9Vtv4ocGsp~;8E$w>ls|88;J%rCC$eB;Aq)bdlY`Xx5jGZIGE zmPwFPn&U)CNI16Bi6u*jH{rfwGFnZel}#S-Ba%F)T{NO6kh(xF|E#qRy`lMruuO4t*;gRs z;KGYA)awjSiwat58YWS~9hW?uCuP+W5HJnDf6>T~m|lLLp%tozG1MM(dli0*;*1c+ zJ-1Uqle*oIs~>E{5taCU(VEt5$$$70b4Jj+;IfRouoXw%J1p<~Dn~hG{uT1=HhQzJ zdzP-Qga0~puhw>zBrD+s>Q&B|8Q{0=0z|&}@U=A(?lUc=&bRNcJK^j=4-)-8i3zXu zoYYd+JTP@3_ zZ4$;(qmtmvsTQjJN+E|VIV)9cDT*YcgbzJc0WK*^-P%_0E+-Z|G9dH>J2h=SsqbC-YF;Zsl9k#*ABuOlKwk3(0YTI%>k%^tEJ z7BEQciOl|O!p|Hnx#4GAP>q5Yi}Fa1?nJVZ3*NpBYzL9t_L3!RhHZBZP1+r^irzL#<5YJ{9d;han*tpivIzUs z%6x#Z&?Uml(X=;YA!|NWJWlwD-Z|x&lWtEiBc0Npp*U}1JiM+p_v<(dGLE5jZ|^4X zr_PFN&)Z)kRihR<@scX;>1rc#m-j)38Lqal$YWW{{#qR5K_H*AMZ5f&NH7%O>T!Wn zQr%@PxbIEi%3k=}g)2`b-@U-sTp{l|2V)x>o4sews&bL7L{AZfUye+=MTOVCdK&i~ z_mp;vKa5hoYK`G8!ck++P{9O*G-YDX@a{f;pMuJ`HwbsHoBD;g?zJsxdmsM^Ub1Hj ziHbGk+SWd7FI9Y;0pX}JP=p6r*0|~Zs&mu7%%Q&{_mwi{;SOM&iCa5d4{v-wL4!5; z2fyI_32hKCPbAFJPX8xzQBTM;jv`^X|2u7H+4DC4cjI(a%29?Wvw}aa4i+X0@P>M+ zdQJjOh8HY~CKh8D2UJhkr!EZTzffjHKwe&69MxaF zKB!!URb%jjW`x;bMN|Eb+X;2>s7S~jsX7bmlJ(98bwC9AjC4Z42(wxYO^yy~eHdap z6Ec^mXxgYeD4uWk3vZU^tGm|1BNsEz9YhuyQz7)+t`So>H(ZESF+^a0Go{{U-x1R} z2tUC>u3RV8v#o`Y2mjI=LC-r|NFv2{9mj!kZEY=?yWtPm4*7$E@yvq5GM9&^CxdXP zdUNskP*b&C6??N!shdn9Szxy_QT)?r>o>)PuHHq%STnwGH+{k*wU$~5I-Z=3ZEA*D!+)!jwKZ5b zNDj2(+w^bQ$6M&DD!izYD{SuW-zHMa)0#DN(}UHn@sq&)#uuVX@(feib|BK$P)Zc< z7t`=mPgB~eTfH5=#O8>hrP4Kb88`pkSP&06LgLCVTTX z^z6!(YQ?@rB8QD%H8yn;S;_)!^8ZxefF%gm1lQY(ESFfsW70qr1;c5}=wckCJK5_3 ze92s1X92m}?75F$#|yXs(nKI^=GId-vpVf^uRTGtmgi|U3;G+qX*q2`sNq!%A7Hj! zz)5idx4`|@(`gJkBW_l{SA-P%Duz4lp~FU!MkQNt={;ytL<1X0l$AUgYgkXN(kob& z2_S?eHztdEzb%1imeM%`!vJ4EB-&qscG2DlGs{W+&dY)P>hi?#AFZvOl)2 zP|y|*b9UG5_=JlWa!;VT9m^$Ve=!G);10}Mn`;@S6X_z(AV*!ing)0=dC?^*f)xA6 zcQ_@A`G7$!#t==-R$6=!5%Yqnf?}IO59EKYu$?4&5?jCjnwKYh8mu2= z%n38Iw0N~>K-Mc_Oh-*{$13G;dB*BSDT-$As@E@yOp$3>=%LR_<7#{4QgHiXL5U~I zf!#lUZx~(Z>w^p>|54!Su#o3^jJ>}n0)j_8ulWys8dl`mvtW3&Rj9B%BMeGgC+%C$ zG-mB>^2^G~YN-T_vv+tBv3Vy{O|B)8i`d^3MYIwJ=U3d{11?&@Y8uQmR}%U)gn*{A zJ^Qh>XQeFX5xS<6bx$L0@$X-?W!6tgfE|Wb(qaS2m&-D+jg6H9!O{Abs-UI@sFn1k zDz(Q!75n781O1mf0Pm@j9%AZCvrO$1?(TT9_RY-ljLk%%bN3xWIf`b{=@o)-zg+_&2Nz5hPN%4Bc!;u+zfqv(9}h@2_w{d&7c zkatB9*CHpKDFp)_PI9|NnO0Q8jI8KdnuT!Sm^&rX>~qDFgU;b8mVvc&11yWPDp5Jsnw`i zW)7_Pg6~FF8qc2J&oMVCpXc4lHTGr(HL&?4tv(!dssXw_HCETkBGN8|y5}DZ@nRygoPMU=ZUs{c z;Y@@9>?{I8GLVK|xN8K|*I>`v3WMI8DMJr7(t;#RO#<8AL~+-k`MwQsE6wfD9HzJs zd}0snzZPKqUQayy+=9*Wp}*(3?5||Olf2wrfIYos)E@nrlrC%y3aNelM;=BVGegzi z*iil-eym>?x}D{B7UoQPnecKpimwCh1~J&nFVkslJs-pep0#BvI{33ENE0VWl{YkI ze_U^x|4_WJtYXZLRo`!v>c1225D1>S^V~}9d|>_Y*Q$i+$9gRPIZxZojNJBf>bVar z653ysFETqH!3JVYz+c~ab)2by^O?d2Y-A;oH7N|?v-t3#5KPXh>qi*`x@gy-^~*`N z$+JY<9=|ow_^hY}99`=Wnb2eHn1jlQ+o%$Jwm8(Of!%o63I1hcC)Pr<7rC#_yOuc8 zo&+MR;5YcvQj*JWR7rt|pbvIrfNHsK-xzQb&|Y(5pgX->iR^O~Lj48*wC;W@;o>Xo zRtjmxoQKuaYoKgT~rJ@3k>@d6-1$IkKXivNwzYMFKcpqSN3)~=~}rW2fHGW zVTFbYuAA*QAMH8Lmi$DrVL1!nr`I^-@mhk-ZN4&Q6oTorN|A^N1uk-R|A83rCT@^H z=l?Ha7iO0uLGBN+Ge?X!WuqF7qU7TCXA(|48FY^U%wjDd{hPgLvI10J=3igLn28Ox zes^>lX$>8v$V4rcNNkqQ{JL1iYhs(nv*{aIPv$urnFW`%`b1O2@?lO2J`$oXy??0b zd*fDhdj^h9y=w^1g&qH_aIh|%t?N-bWJY%Pm@bgyly8KE{HpEO_-d&1d@|WUwJ^PG zm>!-_K~4Qz1@$qrrJ@m;_^{HVM zxenl(ysbIx4CxrheQi|lU>1lhD|5h4xQlSYCQfG*;VgeSMywg29sz; z78l9B1N?qTnuG+-*TVLFpPzTT{ta;Yiz6&LI`#vbZP~iigZFo5LclrQg&0q$rjmB@ zU;pk4sL~k^DtT|mV-M{>AQJekJ?o-^o4t=zc?B>tN_K5-)!riAvBZqB46lVHqg7?= z&RgTnxZ?_7K}x~9UL21wUGP7%+;BiV{x%TrW$__<^4={$2-v`ooJRnwK~sSN_o(I~ z@y`WYV=VPBkNB^W-5}0u+#UrHl<^u;(|D!4a4aJ!f^M^T`{uWV%o%@)C4c6^#@jHg zhO}q~Byagpm`yYLd$vq8OzSa9%eT4TUr-d@dp}!dO^1b&xZ?@GY@taKn09q}HZl#C zK5Iri*hm)HEHYXbZpoHB`NfzxsB7g4dUEYgWVarECufxt_zQzWftH!k$4T-2riv%QaCM}r=qwk);6LA@|VlV zqYP)Z@!u`2vrUHG?@TPH^VC%Wl!rr1%c|E9UY_P~&dGPV5Y}w$UJiZPmaeZ~A5H|R zFjpGL|7K9asO{sZMqx~jnmJ0PdyDNK9VG-l6R!YrpC6ANHgr*?9jHT6Bw#3hy!!Cl6Rb$7(XiAr>E4?BIIkWyp(+KdfmJ4YwgIlWaI@3uY@Ig?nAa zv3Nh#kNnlJ@P8oA?T&tL0=z%wzSAMrHgJI52upH2tj!s6-k&?;&LDyrlDkj?F#Fm& zzHdDIk({qojO#k!S{xi^srvOGFYGs08vyBu@W+yk#i@Irf3-_*Y8Mq*N2C{M<8Xg6 z)C7aE{hd|7=UV^a3OFfxQf?)4PbtW|R`KQd7yQ10q?qgLXZuxA6%Z$@w;*eKR>L`J z!ZO?+5UlLUHYe9mRjB4KRUtNW2feGrg=JE!?B-vHr#}3>#CrjJ8cQtMzR*n_O%sW8 z(BU64a5+pC{AZ`Z)4$_5FTQspNe6V3@;&Qc^l~73@#>0iQ2m2EmooA46ZRtKI)A$t2ak2f($7BbvVtv%6G~w@+tV8wiEw$`oBZ7qM zheUDCEv5Ehwt7@$kizS4eTAMC3EzaJO@?*l9J@aOHm5_0`yu4H53wcZtfy8OC~glz zwblzRvd=KI8qR<_***=rWOU#&|hZTZvvQ>>SzPs7RB`*;qw(oKF_E2bkyfVA505OiwMXWYhaD|B-~BD;TMA zsPI=}X~&-~$=l9Xa(}r_l3=^m%M+G?{x|yfSWzR6p-|bOihsC}J0H8H0y#XpX9$-K9d~pY zt^-3NzM{Q*GMC4)NvyG$=&}ywkO;>dbuHLAz4SzjS}Myk240woi$gzM&rEfeqW(2d zjvIuf8vm#CA&SoVAG-qPBRs~>DE(UF%!wuy{N_3n=lq8K8%7b{aZF5`t4z_9tW?BQ|4H%5{00fEue z?y~~l5oJw*mj&v@>J1kki6KJ}Ia9v7%9I3`q6sZkq~qDK*pC&v#*A;eND!By%oYK# zkf~b?b#8`uVjH%!Bmm+wm?dx;M_O~USH~Z2BP(i`P{O!+igS&4+k+=#DjH71T)ez& zm9=F5F<{rY79x_TF~gYrMLahS5^K&~BL47MS}eB02r~9-CWLu)rUjn_&Ef-dDL@gd__&ye@x#nCnSiINpwM$RZ83)&O9cXNOixcz zuVl3wuD(9g0~j>89rVtR(kR@@KrTuYE)%bE8_r59t^vi_W8>gZ_3*c24Jzp?L56^r z1NNVXOr~v#$=hI*;Kr zLuehHc1)M)t{t}(4(bgdCFPy>tGZ!xgI;87{6pl%?O6=W?#){UhkRI{H1f5O<6C&1 zT0I{>0!&&`hYaLDTO{j&em_M4T?R9c!Be0{aTM!^2ZT_H%u~S1PBK>Qm%r}nwD%2* z71;1i^Hq415oih;RrOA=RKL(XI)M#^GbsR&Gp`|T0uP`KZgD%z?!MqKl(Jg$FY>Z$ z=Y>Kw-gw2g2Gdp6lisdKgd`)-Sbiz}6VlzKue$kvdZRF`xQC52|7Kf16ii$0u{eSU zYSzFAK;&v}<*WOF&2Vefr>hVdHQ=bIfI4TEDI?c4ymhD%@8>!wnSqlb-w?k>+ zh>{$4)XtVGzCHkPSgQu>>Z1o*O63G;$%;%6wgiWESiGJYHzQm|j}nQ>^poPEhLNI#F}#RV7N(^9V4EzxRDV;thfzVe zEn(j~6ulq!qC+WAmSu7jd0LM8UskCGU^|H`4ZC_R7B|19v-PWHNdKzbtO7p^`wsck zf*cG6Bh-{B>&g-=5E$67Vn?pn6Pe2S3l8aVBg1o@n+Y{4^|WWLZ8oFWC%OVYA+=RB z5Usi{pV1aMD?wRHa@-f$QosGx@K(S?WA-ZR{&2jK5q~5r3OtT88&0kN`32K+`S_c8 z{MxNWemKl@y9tUx(>*KUWpE*S_@I&QIwPOKOf$b4{k;JO-4PyTVJg$DbHWpP_}cG? z!}aSu>cHIV6m{I~(Vo^mB(l%fyN}&#wd6&uIU^Tr$d8Td=(^b6I*@UB!`)nUnW_WFNPSi_v@<5E-`Y4kNA+TcCb@f9=RvHb0>C zyv62!PF#1-(~XsCW0wYN5rpig{v3f+aFG`cJekg0-#>cYJ`0N*|Fv)0dQ@0_a&C-U zbT0)ee%enU2Dn~$mZ9+zxnbLPzW(6g=3XrS`BlEhLj?2ppPdzxE-3Ml`1tQsS?KaR zF$?n#qT+xIb0jWBbyu3Z=44LTX3+p;XYh&P?&Y+pYSU@4i9El_D62zpR2eXAXG?f- zXNLr>YrLhp`Io(eS1n&>1}rC5SkmR@Z0puiWJkEeJJ`+TZZV%X2W$9viDQDYW_(j@ z9@{d5%Ph2cYJAx=R!}Jks@kpPmL)Xk-kiBiZmc!8l4z>tn+PD-CStc;9DWWHs8ZGe zOavpwhv@F_cS})XcHbPWdzWi57Sz>!FB2Hn6L~vx@YThLZ%wW0rqJB*S7L;V0eK&`9%#*W6S5t!bW9Vr2BZo@r;&3Eoj*-is45-74e(ckLu3emc&ftRr-S#Ko zFn&iGgGHb7NGFmR62R%e)H<@GV^qS$-$O@ZIL9r(EdFiK+q{zi!`ki6649VdZ|W$O zi?*=|uX*o_p^)i|>p2zOkX+b@>?VWn0Q zUeNRp;NH1bQ1(BQA}GZF(;@3)>1kn)Sk(_CIkFtll~Tdb&cTcuBN!s!GP8p0g@nSG z2P~{@-G`5IrtIW(8ud)u@!WpIV(kTziHbs>8&{o?&V6oVvu@gRq3Z4j zIz2d7-(q4K+1Wh)Xk$w+Wpfov4W5H|l3WmSHSm-XUT;iL267+UrD0 zb_)>Z{1U=YUb_|g?i>m8t4sJzxkoxic5Cc?)L7s7Y7&W6U>dy_O(A+SJQM%&XO(oH z^uYOdscbuw@*oaq8x_#Q^d8O5Xy-EBmc9*w?D zr}c-Od|5?s`~5lrK;K2#+$QJ!p!4#^kVH&h4%$pvuZtexh@7fDt7)Pw%4xKEYK9fZ zBR>pM@Qq+Z`=VM!UEexJ(&4C_1^7&h$u|74?e#`Z>#{~L&eGa1Kb79OiGtBt*NZ8( zuFrAq*6lk^V;!G3rfcJ$=(`6CI)y?*_T(?8mS9?1B|gf-E7 z-rWY<{=NHFFcGuu{*_yjTi;zom#xCd(rOC*klyAzMA*}@OeRAEsYgBpu_1Ux7wq4g=Q4yXDfk{m? zf))>BPSYR&`!{(%6#3;Fju(czA^O(s&nNl~ z#Y)sx%qGuGOBz^2P*foqx7)v1VmtGi{l!wER{Rh+t?nXCN4EMnm~Sb>QLz?e=1Egb z*doj}oMhp?Qi*EN63meF{XkjS1kiYHp_4Q={R+~ot}KnryWOE~ds*?#^BJ)u{PFi7 zPSJd1W@RhvZ2gHaqOwON$sU^A&LY=V+Rc@#*UZ`r<6CNr#kL^ZSLPEu8J=c+FGDR7 z?@l60HC_BMYrK$I-)e!>PNeNNOmEKry6qmJ|NSqaW6!d*X9vLycc^`r5eXp;-+inx z*0rS<;;c%A{>;Hfu3VlVnuyAe*tC=N{gGIgu=wkTJ7>fV<4=TrH;R#vlFSaC&eb%Y zFJy?f8Sf^!zHmJL8Rz4bp;%nuV7nF;>HA9ba@b8$NVgJ|`F`-Njq`$OEQ3=nW!!e$ z=xk$g=!~;{1x8XeKbV77=u>&guIDEi?}Qs-MA6G%g)ybHTq@`VYRyyJ_NSNB<$w)Q zX4uzx%v5gNawcI97NU_$uaAUO;>*3(c#u#{W+tVe%7EW>d#iX@`;mq z8-l2#mR=TIdsV04uaDHK^SYV5J}&A|(mr+3X15pv7;uMfPmN9jKE9l&JX3J3fxTa_ z%}2WfSCBu6ORKZc%r3|(Q^H2Yjj5BU{W;0YD5z%Ux!jy2jctIVdZ5DMr*P z%Mx4c9&m3|5U0E@=;gIh?oQ_Tg z=ZM26hIf84tJQX(SYar?ha)RHa9)#e>^v^6`muIlGG&$cliZYnhb(Tu6omjhnlYaC z3t&cG%84F0jyuR6s8f}vRPA&D{h83?3xmBoX`o9=UwwSfFTPK%FO&fQlJWt~Z=d{< zP|6a~j;c{5w~V4eW4a%rTysJgO6_5_1pZ24&JiA6Ag7+N)Y;+gOZvh^R{LPg;Cu zymR_NTve+P`KKa+R{ut6wk{a?`)TY zwnxXEh{u^LqkeFll4({Yf%h6#*D&(h)JNe$H`r~mO5!H?vun+TF=GGYN zWBbR-yx`iii7IuiU%Gh0x-{!h(f}41EfXO4>|&2A8C9CiT9-Gr`ME zUm0q&b{`J%k5?CHc6JuKuEcS(?YG&fPJ4=~R4%B~(+zhn!#++y;_nN+py#%N4`uvq-n-J9`pqjCif=zh zhtR%{w;UiQnp@nl0Ygf7Cs#N8SzDwMIk22m#ykxFLx0gChFg#Cc;(l$2{uAsv0`)F zmIuxJp_Y$~dWpx%hUYk-J`=+M!U$MjWf=S9zk@E+Xp@dy-;4*+wAFL1&~_?Jo&CKPK+U z)mW?mL%2#~F$9~}SX2KaRh*Dvq7HXATBzN6~28+ECV8jALh%(&=jwB@}_^ z1v~rsH7PNEFw6B6sFoMb87GY&?5f9a>$JaQSuY_n8AwGgKk9bkO~yXq9!Rh5*4yaP zGj_Zm6!Egmk%p|48_&Z-9vH3#P3A0y>uhq-kD&`BV8q{V?ZH$!J)E({64eH`I0Guq z@`yr6r7@dZOKob<^b23w31C0fy<5hMlUs`EJUtu`UES4GlwcHdB#DA^jQ1iq^9$PJ z7p`J5G9%1M4a^yAX3+a@H&U@AB8I})^!F((!hy?+FC@-C2upa%&TZd9nI&DB zF&31xf-IbPn7UiXl}-86lRKDNm@bMmN8LR{VK1Q+8f&+!H`vx7KKQw9Sb+QI1V#y4k{(A$1Z3x zObDJR3cfAvJUU)QwC=a(nf4Q7prr-#81FG&iZAxTCCPq@Aas@;;+96&Z?V4%ZJI73 zSm%7)65PdNWXiAs_~n3tUsIu9&*qHM)LpB{#xpE6EK9 z2Z!|Wn*Lmk(yetJqrroC-k&yC9V)+ufH=U2FqT&Y;eZcUYIjp1{(riiXT^60op3oU z(9^o^gue`PevrD#=1b<6VH4}3jaV%QMHRSdV9eym(SpcfRS z{6+=wPEX(+9qh0;;PssSByQ8UPU7V5mUmYz{ca-R(d8y7%!|)6x z=yVaQfs=%Wz?m|7D`lLiEcW(MODWA^R3t0EFr~3(9vURa6p5(EKzct_K`XLkgsbDN z#m_st-&Df2EVlLzjD|f}{xDZ5BaB38meE9C7uNq|T8-$93DZDkucc|q{m1SrP-ReV9|>F$p&`;kXEs}dyC_Y+cdEi>6A zc)hmhNtlM#9(#&6)fP03SKYwMy2svtW6cvRQ5fQHDMM(MO*SsICf>mxOe&tTEgqsm!F&_jI=X<)Fm>!G)i0!6Z& zW6QqazmrbaBi3=%COyuSz5T4Dy0V=zn(zZFE&h?Z1`R!^{K+@_E6ng1Bp>QB2lt%`E^58rqkYRY5& z-mx5~4*mZA`H;>8xa{u{!xtVui7y<~y3`n#!)K0&Al6msND*3=VI-ldQW%V5I#Hn{NOhnP2*#MPP3NOo2PmPZYzk`}Z64;4JF=dRu{V%)K)?aZ@y21+b9>KMiqG`Gc{mEfz(o%CnP?j_nXvP# z&$U_4v{I<=gp>5q>7cSqbU(dqMME3jhkP=NyJJs6o2z=?&x_~_c(#=v0ve$`*6w_=Jx`M!7xqNHZg>68 zDSM+!?@HjuO}Wnt_mmJ?U^0l8a@iE;Pa0&I>_jx;f9E9hpTQ|`iZ`HV!Wav?17iL{ zSgyicw|qSmH^-2}{S!uV8wVcx--hum*!rTq2-Du>y#~W6RktdGP^Yl@M z_igv6YpDq)ygf>i z%s);Xx#=Ec>ci^J4JN;mMK7U;sD|Zt-|wj;UW`JzfZYUYZF7oo6#O;v_C~2mkg$xF zY7+RtZYACEmr${0|1f$6RAwrq&lg6;3Se!QGcwL?AvU=z9c?a+N%Zzwe0p`h~H!FMa1P$Cd40`=BD|siTlOsCOpmcPoNo55Lzt@0fI4{ zW?1rVR8DNFFIUFr#S2%b^(ICH(6PbI;2A_7-^a;cc`@yE$VDVT6tb$AK7P~r_z7jq z*kDBu5@E$q3a;{+cpv?>rcgH%J)624T{`zX$0sO&<5WTGQJTKfCPhF>Ub^ve=O5>z ziEyk+r}ufDtq>fefgU3-h~bMan&fIC)?IJ=Xuj`z5BX}N1N&(NGUt?)>DxbZTpf_d zu@=`cUF#i@14dEoT?Cy5Na{`g@Mm9%;F!(LImtG=2FCEOOS&yzY&X-CxbWWLbeLri zq|C=ypNPk|;D&7Lm_$A|GnC<^EN>N;y08{hcAyIsqcYDfWa=mK?NAO8(?Sw)PM<8c zSRqO5K)8Xows1ukY$6*B=Rc2kN|8#D`Tm>unkw;qIMW4D%i*m^QX2U%3IWpdD(o_QFt?A(fN#cr5xSoZSI^@CN zEX;))p(Wd&PT5mgbos^r*f6f8d5Ajyv28yx$`Vi7ctzom)pvgZ;gxH&^Y%v`z~h_v zPkuY>{Wlk8ZJ`Eqj2?EhD>|oLfg3+rnbj7dp7W8VtoqS!UW^7Es41%``-#)@ zvMRFA;}GJ9m0tDvbxfUw@?NX0$AJ*Mm+KA01qYCzN@UJRs5F*{ph)QW1gyA?YG5%^ zu4xfn`rCgYv6kRpdCCDCz-UNXo@5inpla*iVS=6@BqWTo z-)Z{xLx0L9`yDR)KB!E*rl+?WP8_Ng)h!c+Hviu90=#d@XWyq>Y)#b?#Yox^D55PQ z$-uIV?OxlfJwdaijO3WR9tgP^xo9lR2cl%vY}FGG50-u<*|{ZP5nnHsrmMu!m{F)W zs-e8_6Ft1fA2WB;1wCeG6b#l5BqDd6J>A3;PVAu#83e6cm!$u)PhU5QCNw|N6znyt zOP?P)XNSso46DcW*rhGzww!9HLL#z3S2v^t{Eq&AUH}K9bvhiTd@^Ca;Px&Xi(~I! znq+m)o!*>rUKc7u(oDviSHeGm?Tx0-|6C@YpW(Yu{(d4#|MmEqnY9|{qy$FNyI59d z@lUVC*qPX9GvDm+(>>!H@u2rKVp1;tmCaDyIJ~*I&w`{4h;;Rrsc;>>h$=4rks+lo zv@b+v;M)UO7-it89()JBFudIC1#Cw%)b{>#pec>v@zaJ)j(E@z$XmPDVRea=1-_ZvrWMF$iry8kX%i11kt~0et zZfyNCQT%PP&h9BW_Q7>?i^ib)JH^MsAu3J8&l=HaC+jsA13|Ly*dLvMz_^wspb{XR z6-rUf;$wTJf&z#4`#^lZ1F`_V4r6Y@9>S)Ck0s55gWbqrIPd45OC)AAXJH-w0VMWq zmd#a#el{Hb0eh46Zm-ZkU+(EtHNy?4^^>Q85IG8XMCUgplx|*Yu)5jH${#wWhOnSO zHQPVFkqnpaoj6VqrIQPo1vJO^8b zOwG~a?vtKQb5SDaR6`?>*&86UBX-v?$y7%1yHI60riz)>_GiZ7K;Fh?Y+4#NSi08Y z4En1;Gxdo0CkF@n!OqUEq$LOfq*5)*d4^Q;LCXsx3)OXLir}QZ(9}!@nn)KC{)7&g zLxDeqdR@Wlla!?e-DrtKSN%L>KkO^|6UF>jbVEo~A+1#`kLi4=7VlYl*-lv*Fl5!C zg9wJm6BSI6Bd-c@7jmxliv6>OONW3*XQm1b0h^>!k5#Pwbw)YNQ3yrOONl1R*EZ+ zp+ZBTnNB|agD;0V5Pzol-rMe1>yZahIy$uZ4&m>)5X1Xf9V<&6S{(`@jR6X$hiLGq zr~=VnD+zMhyqzBsaYA(icyxH`dQ%&b9v+@N*TDdPQm8V31=Y+@;}SD4dho&CwARnk zcqJ$=39{~|IC9oG#8pAR*H+KnADQ$yktvyaK$tR`K5AHxI$bLlT`(;OJa zf$1kC-#_QX-d$A5)KJC18RZ5VOTdOr^aqx>4V960(ZwlhEcl#HNuUe~Kc8x-xfhdB zcAGa)W=R!I=gjmQG*fya=mNFoquE2kEbtBuJ4$aUOuoh3=mL`H^%gT*FQ%(f=LIxU z%Y~9NxYY(!Sm1W5YGHZ{O*xSwED%Z6*4<%F+NO+ z2nX4+hiTMw!}d9%9!(UVHZI#|wHtWqHnjf|s#x=~EduceQ`PzhKD-H|&=~nJe;MH+ zpPnH*X;JI8*X?glpPT4n-{>)YwQn;OP$eWRsC0fx4o*)#zt79mZ~1n7!RYS9C8NjU z{fL{37u`-OKFdV#M-oEO1a=-86@-#+B2DCc=G9nxEINMePRU(d9Lp?w;Nw8k5_r{w zk6(lcrr7)|e-*;~+xz*DD4UwxG9O5M1 zSgKiCDZrXpcRq{99wu)FG(kKH4l6Z>XlV1tvOBEKp4AJBD!~ z2o7}sO=MD3qMsJ4>#Kc>q_ z*8Gy$a1yS7HG8Q_UVQEAYR?bz%My;BNT!;)T*YE{?|yF$jg)L9O6(Y|RDvJ>wFz;1 zsY+M3l*NTL)=Bc(1glTk=ke|uB&O+PZ`o|y<_9WJ3Ft| zw^lQ5;jMg}AW{e{ z-ANGf_w;DZgEbNQD*xlF6uuoNdS6`t0IWlOMPG;j^LVIR(+XmAQM?I?)CSW`T8!DG zo?IQeGDq%uCVsc^T>mGSj<=}5ZG&zkGQ2a8U03S#9s@Dl=S7L9kT@Nzd%IYOLYBcs zhB!N?IjNK>O*YtI^!ccyn9l7eUA=ZBX^cg2aAa&a(=s}+@k)_e|LSSV%vjT`$kt3aZ)BlbKk0|LyO0SGj4Z^?|DrrO zyldQiQ^xa+gVkxh9*YNV{VWu$Jdve{)1nUup$NxbiL}ADfTfMLjqSGg{!^QPFo(B? z2Q*MT>GHx+jS=Q}&hyaV-L^4gDSPMBZ;nXLLC0HNj-(^SzHRMvP1gNbZXx| z3-r3H5QRGzbOvBW1;wQS5Rs*{RC|n=ni;L6?ZprfXQ36HqT9v&m+vKes8F>XZ(T*+ zF3&p}Hnp{yT%d8$|EktwHUD=_QF^<(yL&r?9P9MCmWXGZ!6`t1G_b|JkQMOs@YFSM zo2jptvPb)BwZ@J=Cb{D+;F&@YX*=`_K{iuft2-o%Aai|!AcNHJN+l7GmMe(6lCD~5 zgx`FdhiX0lnYT4eU_U4ZLm28ZDU5THryp^a)$T zk3HA~lfh~tF14H_3mypO!MHH5O+k;b;FFFM5p7`aiLub3V41b=f7nG-%AFsMi)#7! zD1qVe#uj2Ek}YQPxJh4#5-&IvVZ#Eq6}s~hn9#RDPdWM)6I~}&$QgmI(61PA*|Hel z`!2+VLEcp zk5wkG)vK|)?ZbCG;YaqB!;q|fK!`X7?zC{#D!RK?MS?jqVkm6) z*X~`jqC|v#2?y>kKU{^tuj)Zp*rGvh4-xoAI@l$nv7;dsd3-m^%v_d`EvHg=Wmd1P;9M5d(rMM-2o9N=C4&jQl+jpNFgCIkCc; z`{KT`UdLI~vB83d@9CPOheCYaL|<32XIZDLrp|}F=xh_d1PdB07ALqJ#G}A-)ORsD9lD zm{G%(5G;RqDoRk%s-yZUQ)(=Rp{%9~x$UoGSW7E>`sgNNT7Y}*z0aKOK7NGD<43sP zBS2!A>qpK0jRWw~5oV>o04-E3F`a7HtUHahtLJQGv~Vuea**q@4W`jn(F&;3;VhWd z(_&I_R`q*3xk`fPAE_doke7V*AaE?`m?qfxPOb)on!|^JWfQz}Mb6_ZK}uiCpw#vI zL`EI*7;q4Axk54j*!NZI+U2_*ZxsafW@P~(fH%yIKxT`k=M{URbI-@qWUIRzxeN_? zx1>rLwFA4EqKW}%sfvbvbqNc0&P@!2+ZC2JBX2oY5a~DDE^{U5vakUoPe3<#pmR$) z;!3@vZl6^PHLX8<2vN^tB*3`Jn)b0u??2y2z;@L0bbpV0dRTit=eE@Ov*c5z-5aIx zMYEYcpFVUPz=O}+=b=uNA_KG@ttWyhh5*y2Z4OD zNjn`+4@xh44jJQvc*@Cjw;X-y+2uAxYY*&27ZRsP2v@z{BbX+4y`>eCvA#s1JCR?( zanpDF$eXhXEt~!w+kYeVBiC~_-rVK>3X|2ZPR-10NAn|l57Jmzb@&Xr@bH?!;)(+f zSmz7oZ6&Gqj?)mYsnaX^g-kl+PPxdsXcDBmsdF9Va8yz6G6>5NK9XTAg=dRoTSbS5 z10eUAzD4Nr{Or#f#Q*7U#a+|0<&8EPJs{3Bg5!T zp?5EHBqF5xPq|2qdh$8cEP&h+7a42AuPN%F*N z_>#r&bpT^=s7f?Pe(M&eUZ4j;Iq_VfWdIu0=b`C-?x)4_Z1o z2W=YZDTjvgx-cy!Y|t7yd#vr9d-CV(T3s1qhRJhnG<`TNLu*C$j`1A@yxv2mq|C9&Z0H=bJjEf>z@1mn`tFmApd;JQVrx8vD>>lY4d^ zD(&MZqB8SYD9*?1YZy)KGsMEK-6K41! ztAfM8p1chW5NI3B*sY=EPX>SFJM|eiYA8XSO9I;&45WE1a3?{c`HM3lL9&Tw*mcNC zF4Dlr5Bg1FVuc|)D<>(uk8|3Bx8`6bcHj~pVS7S2U(3+tZkH3GYdMOn6Tq%hrq96# zEgis>4dDxI=y@lb?SE6!`j(VZ-^39e4nR*5-AEyU+n$y72=Zg4RRMSmuH?92*_GGc zoVPSLYj<{!lS1Q1ve1|EMV&a)rOd5E0cRGt9=v`ft&FFhGWM?k@yaY6Hhh6gIsZxb7Gt3Ro)U?Rf`^z zbM{1*EMnBxB+<2tVi2UKpBJ$zo@-M>)ml(h+~n!e$Uf3Zo$Yc%H2Gh}AZiDP(EDBT z-_i(=>3X}{#ss@kkYP#4w^bTP8Rs;xb-_x4LjDW9L|;RFJ6A}s1zG-``6zGX?wF@) zx<&g5f1z7{3i{D;R8>@9r1e9kag%>$v2K08^6;;7Nlr{D>byQJFvBFw24^e%-~|O) zdh)H=d@j^r_$^z5yE}m^ z+QLpvo$#o*_9pDtpOVb!ck)mneZq^lv};%gV{j4Kl5XaF=UpOktLMK=kMQL+N#y2+ z@oEHFV#m9&#OJM`+&R)4@@UZSA;Xr9`v~(L84cN>JlV&?dp}-T z7i1^`;|mer%3Evtz1_=lq~^IwLhtVH@1qwzs3iHj8@pmIN*e1jDb!Y@IWXcM%Obs8 z41&O$zEocqLC@n5OXB#R zShKyEG$0m4IiOx#IudgZ||#1nm~DyhdK5kpJpv;GB=ln-+ax9ERAUp)H59ieqj;(f>&f6_odbBVPxrIac z>bUmR917e50=f!?|0(q{Hv*t2{<;<{A&r`|1G;_NT8i{k!&pEA+$~J@6>HK;Uk*dvwkCFw z;uEqs)OVK`K8JpyL|@?gs`W_`9)~`sWh#420%w^2z?e;hH0?|=Wm7kjQ>ABL#;gj$ zfjIz!qxKDb!|;_wko^E{&G+WljQ7(a3yI0V8j|WOJti;+dm-_OH)<}tc=7nZ7!8;q zcN)2|cwVed=j!U}IXP@vAI&a-5@L-RZUne+N8Ef8g@&2@GKAoOO+SVqkYI+qaCIx> zBIDlJB0;V=X^n-Zaho|k;m!=I>oIMm=D_XozLvLz|mtxC-jBq z-yS{Sjt}oPY;7-xhj27jEt7O>J3MzwZyVGAtK(xu-pHZ#jxi>@y6l6w6AM}wCu5(x zg>zCBaV%85_lA6@>j_7O<0z%?*38cDgiorn2RYuwhW30d** zY&dH~p2KG|W^I>+FUVd*Ezum-#vjb64IqFP_We)X$0qn87J#MO32j^NTDYUqs#B3@ zh)SWTlR|ze20!U2@ehmdO&E;5`S)|@opEOOaK_6G7J2diZUTvi&pNDsuL%`CCMG68 zn{!D^3V8`QM*UlR6P?EraVwZA-OiKkRaytjcP2@~1@xgBCa9D!W)=32rsRuW!Wo*4 zgVKIdi!G}O{2$Hy4JDm3>o76tNMTUzMd)KUs%a`}JANUOl~VI|l~Hb(k6}BE4$uv2 zzl#mUY$R@IScltqK2N8AOxM|`nxr|1pk(r@AAyC?dD^=U4U#?@?nHbzTIT{0?6xW} zc1K%y^$(D$DA z40Y|f*9GY`{B9ULelCPylXa|yqeM=LzUZNj%qfN_gjiyGTthqd`<<>#q2HVOz}yh! znHQC;YNSgh55G-EEuWP}H;2w5>cqnOM6r7x_HVmytcd?QeEpb_a|q!SwG;a6#)Kka}Q(x&Qt5 zyrInvo~yoO!H-&BhVaIb2xL@{NY|G`TQjS@U8u)N4ig zLO~}PqARaSG$FBA z10xSjjq^~yZ~EObF?t_E68c@?u-ff|Jx#?XZ6VwW^Q~@m4bQaF6)qX{5@HstjQYs= zjhP)x2)R{;!YbF?w2jU`Mn!CL)md~NU&@SjXVK{6GUh$k!G ztrQ5Z-MmcRNKqBEgwlU2YSCH;UjH zwxxwNNy_{=(lRm;widjE;*8Yj3)Lp}ToQe(iA)Lr7L|P>`cYjHuWZL+l-h}!J|&U3 zeEX`8J`Cv<$9`1H_6S<_1==3unX$hY1G2(&dpa>)3}34Vb!Kr@M74OqN5r`l3QkXf zEC3~9VB^)5dPlx{z^{gFZehVQVKA0_F9g=ZZC4ahN6!*;P7UfvSdI@U1&_B!B@TFT zQqkLNf5H$97};UHhAM9-f0kiKCbVbgw{;xo3?nt1;KYVY@t@dZ<{vBdzfq?(;106(ukBV zD~sLXi|Gf6OJB%;U$n!J12<~f2)UR7rDCwPZ1esu2|fOu!{=^;&0=_Z){W{J3|2?O z2Y=y(Z0?qi@rk=`mUs{XH4?`%0qe<0!EFt3OLAoIhoE39(Ua+?s|rN@6h3n#g|U-{ zK5`%s-ciB<>cGW|lXxkT;Gz>PWrfG+pO zZ&Lt2UiA;wFGbd$ZdDQ*RCX+ImXnqblo7ks-7G2JE_>RrsKnB3*eLGMbh`lK_ zyU-}hzsmQv3@lObR)8LVdqPY5sY^w5zhcehOb`tA{8`@V)-?yZDM9~ccvj4r^6IVq zeP|8AXwZuKjoS`n1^GAK>Kyi;e97rT6`;O<)sLxIBH=09by%2Hi!`ksm42x%wNHuS zYcPMHn;oC)XQjtEyLVrTEP^?#!4Q7M7!NNcSyA1PA}YHy15Pr+IP`vg0%Rj1P+?(L z2@y##_U~x@nn9gXUnm6Prw?rg#NCm#g)i}>#T6@7Oz6v>{4bx!9S^?u^uL+ik6_^d zx8|LXE6PmQTAd_%iX^}urE7XDxRZG<0SQ0^W^d~rWk)559%p-2MX=xTCP35VJY@dy z!2x>juK)NqWc+|uksN8pzza&*POt!TzeSG#&P8o*=$F^*$Z+^ln#!g zrE7lrfoT&T>yzyOy{U*l0e&!*Mn>^0hW;Oqsd-3OGw|2U9 ztDF@J$+Col#PLOl4fvl24B-M8oK{jjC9d4il>wLE-i}|tqP8?=0x`s#1au$3EsdL= zp6SE`8(b=ug#UTPkdjUJ;3zL@QSN23$Qa zt##tzyzH*xzK+tqys7kz4Av@(uRro*s)zY6vV@iaXrUEa9B*EEcIIIYOwW?tuDS9i zBfw~aM$;T%*u;c#Z3#J;e!Id4hF*y_DartFOv&I*^86>Ac^ zSN+f1WwjO=NwWq^Rit;iapH$0ToNRG_+vq$$VtW%PNZjBIG^E6i+`7QcNTI3I3-cjBYw;*`{hXp0<8x6B4Z z@GnWJtdwJl=B3|=_&*zW>#i?s_7oL^!7_doumfA8 zRIx9-*`h&zxE+zlB+#UYxzO~O7MLakM$9ratNg7Ec8LA^fj4))-mkJ#)yvLj)TOGO z3dg!_snf4XQ`-Dk?Q>^v3p25^fwmqKD+HEK)Y&qX3!8Z~C9fG;*jDgF0TglMcuc zlD&boXV6uz!%jwb3-rc>Ny$3K_q;^`EglO{y9HhA`xS=MSe(x91sava22&s>T#r5S zh&jq9wnC?wf;L>TxsuH7tV-*UJfY%~b`K+ioiIk>-$xkkxXdtVQH@{3g!5#4e4bfb zOcue$FJtglzXWEKWIr&c42^pTg_+xY)D!hEckW27A&w2Jw?2aIyqO~4eOW7Fb079J zU(v8PZD)ch<+C7iT5l#Q$;P=@Eji$0DJfT2UT;pa6ji3I(r*?FmC96a_qGmt?o6pU zpDT$Bz4O0^h}kLUOsbp6-o1UB8(<>%ybzlCU6q3?9OZ%9qW`Jr(!gV$d&X-bMl^%0{SY{^ z*}x*O>_jl%=+Uvb_Qhz%(o&MkVAGjst4JYUlZlbXh!XsiZ7F8f0go3I zSn$7my$I+@=W<6H8|v~Dq?V%fS^8y2J?rtyL>XX-*(g+X%BDR8$uo3$D>VPuuk$Jj zKE4la9w)f#@Gw71#8E-a_g7vJM>=fW1798sX6s5Tkc+l+rZAPGjz6h|(|kxLgZ4!N z&xJ57TdLupwQil1A@J`Z;i{=)-aWhy(v#feaGzRcHx{9eEZU%Uxu zNsRj3@c9=$*c3^oLn~eBv2NPeSTLliNV1dS++mIUe#-l|l1qW~kLP=d32i$PRW|yO zT==n&|I{utUO%?aa!DP~0=;~qt_5`>&>*|3l!>{FBmTzL78g8Zq3Z3XT1(3mx@o>4 z>C;Sl^8E(;6klX%sZKFu4G;DQ4JIsEam3}JLc(_3soxE78R-f1NLi(JISq z*6T{i4q2Ow80<0snT|39y_}`4fKle`M@`(=G3SkG<6!M%*^f8W&4OS=gw0cO0CCZP zaJVC&qR-0`s-PmUNy>Kv>uvqsjH5hA5WpCORe9gL=aCn4bKZ(u%ajuipp99PjTROQ zE)V=M=wwO9rnzXK=74s!-suvmhumXC3BHnB^7Hf4%cFI<{0@TIF8yYIZD{m*&+hwp z>-$I{c7e~ld*^Y`86-*>C^0Gcae0DMap07`VwK7oNL@3)HqkZb#v?}*Z+~7~T}0dH z;uu4rU$>?*?>AIQV1eK=Gr!(lC997E$*8-zBL&`#7%&zfT1Z5Cg+Kk*wh&(tUBCTu z8ZhBH_;9!aqhDtXk;bGSZd-65>2WUIqXJs22hRg6o;`|Y|NFId5d6=Dy5Y+_J-Eu6 zTD_Y(OiW#9`$oP_K#s_3?ihMa=!;sSr=*tn6K`oQGhIDF7R1Sc62zud%D zFz_hOB=i-O>OY3opr|mGDBfZ1h-L!!PIgy!5+d4t@k%HkT3%d%PaXuD8?fWG_WbtR z`czYS75CZ`^xutIksY!Nq~3dhmc)9YlVp%Cc~Xd7D+w;C69Qg#au=3LWJ}~t9g0C; zXt;9P`r9eg;D0#L&iFGl%TGKdx-95Gdfsi}zq~xbezCy`v5ko42+BuViDiKpuP-}I`C>X2o8Ph4gQc_bNm z&3@NJGGm`_z<Xgw|(j&?TBnT0(=Kytxj)2NM=BpvjjH_vJ;xmCg!wGl?XK}-j$DNCzp>IzowF9V- zqGw~ip39+~arIpE&9)n|kYI<>|93-LIzvNzHA?&I38^&c`Yf_Uk@ytI6_X#Ki(9*u z2E;To?-iE8uBr(oi^I69gfJb*OoBinoL>oh2ru6Lv8R;0oB{S2gt?$ahFpo*-fs-Y zSN@a3qK5H1IIumjTYgoU!Nwnazk-_PL_juDyL>b^a$Ilv3w|xL1LMHRUHIPHgk|l1 zbybz;JF(dVL5zV+%_KE@oSd5Vc&Ad0=$_*bs&wO*$1AKo4=!-@3S?zo*0ixrSh|Pk zjJmz6N>hb!6dQV1u*30e-Fok%_1J>(A{yAYGM0m|CJG+0iV#WNr(q)a=UDCWmq>T$ z!=j=jZ=#F@Bbzgo8~;=!nv~iNQ^CnoBJ7C}O%=++A5vR063`CYMdrlBM6~)~a~oJw zs5c#g|8HU@t+})3D+qDVMDKM(uqBkUjN2}KbshUkfuxTo@HfNEc< z(l=J8?ZN-)m|^_S2g~lT(K%z!K?)!_CKr5&ytKC^H3oz*`w(Eu4AyRy|Cpb`lA@N1 z9+caM@BiuMPneX>SD3)?>iEzsu)PcrmHDbNl={Rv{HWFMO^cJ3nc)c z=B`s5Q)h@J%_2XSXf}Qe)UcP9jhA4mQW&Kmb{*!Sf85X|Gw^bUeUpZgU8zf6>uSAq zu@Tos`3$i>_=0jjkfRa+$HKA#v-TNmIxnd74IMk?#?{DYl{)St2V0%)fRIvm<4}rj zq56h_7N0#{QJ};5Or{20psgl63SM;HC=I%cU}L?W$X7gvKUD5nWL8l3P@mnRs`c4#r>VvnXZtEP zi>nA8V#5Jb#0SY%rF@IR==7__D_uqRC88s_;|%_6yFNor7O|6X>MmXEK9g%&gnJy? z7-@kj2ts;Hl9X7~)c}isfg0SB+vUT!wgK)poI5}1i3%2z;+r<){WrS#CE$JnQZczw zaB-6li(h3Ub3JD{yHTt%J5d`#wfB>mS&ca*!KX;qu;2Wn~3 zI}8qk4ED~m*E;V>_J{Kq?z`93UDef9unXk_qi-xB?53oH1-y7OyZu1an&QIL_Z}5B zI`0O2ZapXaTQB_R10QAt74`?p5=;9H>R&3rCkqneQv;Gg)1FPd(5fEhZDar^Ei4`V zKAoR!<+LlG?a;5w*PW3SMb{IWsdR&~doshljx+>I9)eGHQwScbxK-U`h`{<9pC{7X zD_6apG_jV#U-QZ>>b-51_T3T%xIT!2wAb9{Rok{Bh;Q#r{y#49ZhM#pu9 zteBz;y(#W!K1`{R1*x1yifr(AW(kPpT7jdwneO3Vw2X_BeFX+9rbsl+Vf=`t>qt3y zi#!zcBf?8$umd};N(lrGE!J+&vMzVu?k%71O3`=PyvQRJXf%^cFcsvVf_ll@b3faz zGL~kCOtANM*}cqTj=IRvOo9=cQf@4La=!pS7!L@c%i&WbJ5(Vs$aELO} zaCm%jvxfL`Q@CKlsc*f6AfEf>;07F1reC*DK_n<8{mxBlfz1<4SpGvDTxl|-{XXLD>zA?wT8sMY{y3?e^QcLThD^5fzn!@=&;Id19;zzj0st^g zGX+kIWQ&V4Em_jYk%v)ElJ^F!($2LAxfoR__Ml78f1d2Ftm7<|Umf5m;IYyD> zqU$vE6MjU8uEB9597~Zh_8x1rKK~n1F^{D>mLMxDr z(p$h@xz-i?y>SSB3)}432R8>SxRiM*-AG4v0inC@h&tXdao<07tYp5C$E;w)eyq5} zHwBnR?6-332%;@3KhC;0joXXg2(29MeT|e|BANlU1uxAPX0wXR19jLK=eH@j0rjn! zR)CR)Dzl;J`r-!G``RF<0b-M8K=ZIn7Yl?!eXQ7zqTbDWJ*@d*~Jn0S`4iRRi=t-v<>|BiMH;K_?##6e;o^1}#5D@tS!(IX?Sc^lo#LKk|GK zdZT%^cw*%!ib3xmA3g^(F%Ma5&AoBTs;Vo3VovC(32cQpVl)i1$+kxL!q-tp z7e)|c=2VC+TnYGku0?Q{gQ<0ehZxwAi>s-Jf3?vTX$)Jzz(m% zFR3kB**qoOAYPE?v-`zvLT8{uDr$#;D22Le)H1bBEWOI86^(z*8K$Q5T&R0V@4^pp z(*Cf(=Og!8h!)m@4yPeTRn18fMJ&{*9U^0&fO`X2!Ujo{-Q(RKIA?!_=o3Vq#T7## zuh6F|24`lq^{X(v8IK*G`re<4-A1*qgc6cKoP%YMq4rZl@giA%r)l6Fh+Sd^duKpvjuNe2j z%ZsrYcNafy{)PkAg#XNuoRuq$Ht2j#8^%I=3U2T7S7*%WtL*bXCwIw+o9o!6WxL?1 zFoQ)|9_YsmYgNi>);6~|!m*-@hAPfQ4$uXUs+#L+#p0}@sGZ)CS#pFY-|QE)@!3_@ zJEQ#e$J>0E6xv(!@W#@t6-?W+ydowyS#AbJA^@Q)MlAisPZ zDjyn7_;9NeJvTOsTnye1Of-|KKxrkIG*6?^jYTVMGuQp475Ola3!XA-&;|X%Q0u+kLXyLx zMk2aw3~>j0-X*u3FHyx97_7YS3Tu7KLw?!pTxd*@{2KNJC$OU<=~aQmdQ67RNaBzg zpwPV#oURQuIvriu%n9wtg+t;pBdnsz-UdyX@-*=ttIOA9Omo2Z5lu(!YncPd`fkkQ za_tFTR-E(+P(OjdL;(O)vbxyhb4`t~@>A-)6P*wLzC`eSiLb!?BkMpjrSqSe=#vv2 zAvQ|$QHK@8N}8%j2RxiC?ZP`oqa+4z*CE~ye=)F}M*lK%2EzgO>w3vwaGRCwJWdLf zlEg?-lXeKPnLpVv0^k~in30bQOBL~o3b{=enQPxsZ!qIW1A9@}Y!q;4u)2L%h@3eH zIA;tj3&gD{ak-M3+r&Q2-^?%Xzh|0Pl89Ns+*^kZe9j`LCW|g?slhu=;1SAQ5x4lA z<=BA;iS5$?W==7f*JkqA6Og#%)CE$|+C5|9Di)@dckRkD5QSIH>C!9Cv*IIcvN;bo@6Op9IOF72l3!J`W&Qqz zv{#-bxu4di+1$CzS^xM%7AZH97a4E&m~`5*EeMBmrLByL1vvr`yLRd6 z{uzup2jg^fQL$NEj`yhw<}-4gDg~Bqa#>zYP4+R$<8N%NnoC*NH?ohxP3NXg zh07StFHd(-qm>LBPloz>ATmgbrmtUa-&)FdvlTcvFBGbFaR8I9jwZM-!TbejaV4{{ z1`{-4hmnUbUBp=+Z|>Syv%xuy8#SG1?i{&!K<;i@oOdFYgh%ib2@+$d%_{YGz5My- zIx)&%7zSO0W5;zsreQQwm(wG|Iq>{{Mb9mv#1b4 z-cuqRJMAeiES->GIYjBoG&%lry1%={pm<^DGJUsMCIdQXiuF;%7vwH22IWTu2S)|> zw1roV_l5RZm$&ZLI*H)gdAx72l~lq`a5h82K0|LFR7{_K6W+K&Gj2 zcdC<-u%pM7_3vd2th5Kf-bF9E7QZP0Dv~7MecS|koOMw0UYv2FIL*}il;OShG;+lj z4>&sC>9gf}yNLGO0KIlzGnT2WI{pJ4nZ2*a*#Xm;;Z~d05J?J2YZ2MEeE&tR$N_BV z8{)$sOLs{pn_(qOZs_$qE*u2h?yI8w146g~W*1Jg-DjQxkAW}opAa(tyr-f1a;=nB zMHc&R76AkKX~)-1^zydy3pS6&_5-vt_50;X601rrf)}%Uj@1@YcJuCr2Zi{8ZJ+a5 zev(lI9z(n(oqRk*pylAx=3C(NWu*85BQS>l+z)lK(#R|V6~`5}mmOZ*0N_D~s;ufY za|PKTzSW`MB*SLUkPNSlluemWlUuvcBl|KZ(3=q(JIQ-U>qxZ|EJn&WAIs}(f*IJw z*HLv}On8}+{I&wL|0M85)SvFaULsW!tntRZR)-R-2t~PjwKN$Awtcyy7rtfY6px75 z_xPl*6S*25J=f1mz8Q8mDy%eW*vyUVof`%mce&ul{0pb3{Cm@Cu~cU{iYD^7mr^_! z-#UV6i*(F0GALE7MkK*B)KAy9w5OyH$zF=T4tQzL6fdXo81HMlt@apavhv(~w}bHc zJ5!-Gjb^~O_VIU>*x>ZkPozvgRAE_&Nsg0(w-Myken|!Wl33as%TiI6U%MIh;Y>J` zA#KKOoVl`sk7z+nFIiq*-UXVzb%>pRljHivf(%@fh{uCut?0Tym2diYO}8d9I7~>9 zVQUa@y{PY;^9B(P@&;k{hcwg8uy2E+EYZ^Ws0{i%XL~A9->xc=uO{f#M$Lpm(mTwZ z*-9J=d}$4>r$AEHp1WQ1MrPmT7P*|lJK(h`CmY&5yvv=k@T$IwMtC$qoc`R5rHShzA1E7k<{k;>BaJR5W$k6K7B$?OAFtBnn-U5 z_Zi*aFNxB0pZ_x4tsmI$io?|dnLQl=W1n15Kt*+L?Ve_C=u6?KRRGOM{RNo~T%GcL zr||TpMUP^wB?Cqsz?*1a2UR*$id*+HrWa=sdlj&jk?~c6SiMmsT54`~{4kywIOA?C z+R$x)a;947q$Lh+LFt=JyAV$ss4;oUJ(lU>jW}qI|75I{xRQ-f;6^oeYsFd6;<#Xq z>=RsEjfXeMc?D7I@9e~~*R0b2Um}zu>i7G9c89-+0`EIF&Aq+b+}n7S?ai0Nwu;cy zVitdwq7cLo5vVz(z(yajDCn_29$uD8(w8TKtMD&j@3-=jtyw^aFcZRt+8O%}3UtcR zrwM1VpVQ%atN{y$1cs3$0&%vs-Gxh1P76cMD>L@|sWUi5c0cPEHfYS`RIP-#kNg`f zhpLDj+n^xFqUGS9DiVN7CXg;BQY5tPRbTI}H@6`f^ZBxOez=DbB5>%_hEGI%ZJ<~J z_lEUTA&ooY(Yxouw8i3NUC|$W(e9?Ajy;DY&qrU~>beVIF+0EbfTY0{S%?iCAz9{D zaINo5@TWvUR{9;6C3f}F1>qhOeRJ)|R|C1K&RhV5WwucH0WhUHRs|xrHaz`uWPXhe z#~KI+f|MkX?!TA<$?uA91wABI?ml|F#Jr2=mCz!+ynzo6F6#9M03YittDQr`?rb9i zTl_fWAdM`ot|sh1;aNusV7b!Jx*#fyI%=4TfaEsZ14K0v0f`?uDgu$e9Lf6z2_!sdZ@cYGS4vu*PW~ES zV;8DAg;6gM;pXU3y31iE^bz2oURibZep@=*#UHAAbNc=c%rc_T)(1n0z_< zBNC-8Pedi)$$w$)JX#m{JF%tE#RKLvtT-IhwVGZgM5EddyW;`3#E!6CUYc9+{qLnS z=l^bDgOC=cE~K4SL*Nt(d;JTFB_-4h!A!u;&b*UzzrZZv1>?=mYaksddapQjOhT0X zV^yWL2OCU(HBB4-W+6oGp{=|>dl@5LC1ObSTnR}V>4t`)%={3a+CP_|M5$|gqDl2W zdZ{S3g%W;{GGU5{_{om-c37o5j`G=Q9Og+_J`P;H5bPng2*q!NN4yED@!H1Ddl<^h zdn=b>N@D_K@$w=%J6Ncu*O~N8c?g{dAOq8FZ5720cx~<)JikQ)#jyw9z`Gnj&ZEtt zY9F{sij^J9pwm9-;&+NXJaJ!M+?#}zZWu>+3nY%nR4gR?q9JJH;Hkq0xu92O@JfzR zJC$2qUZjKR2%M7?&!meSKQ6k;IQwwHti^re4EXV4e%mS@^=m5&UPRcYw;DGqjbk-$ zae5$E%xv6WTm#T;Vg4h3NzLF5wA&Y(^?VVIjXc}7Mddx^?#Sz%R3pYY(BWH>ioK+> zJz+&#r7S~b&RUIbk%_f58r=H|?ERnEBdPo^8>H(;zn4M}7TwGg5{x(cU-j;&AN_@O z+sKyKs$>J!B6bnuR8d10rkSRmHT=;QHjn^iBO2IzoS80WmxUNh-!>z8X+m$qUY~W< zI7AyHrg{$vY!H?s>yEnkSVa89B0NzG{pR0+`Ozu(_1W^Y5YI@bJ=4UzP};!hi=ezh zzS7PG*x-FuIp zCm6}LQi|QOKv~C*go-Ye_!J3ostr#eEksL2^FD{HB;H;3m(DUa zVH}0fIs?*0RknZN4~UtKOtMQ(M0qJ=mZ-vr_JOL#2<9688g_yVKo1WY4(X_>zOHh1 zL}Eex1RX`~AwLB^$vfdawFOnPJ;94ps+L>U_wScZZ+A|XUOS}}5M^m{)Tolhww3y^ z9-~1(S2$=@AC-t2^+?uhvFmr315~ULs`1k-$c;X0h!4-Uu07`?e3 z;b2Ms=wdS>!pG)#0FCw)3xTOrK!q72efVFoA*Mm*5X?PiqL48x_o;mbHOPjbd&! z*d{Yz`rA5>Qa9L+^hQm8Ky0)!8iP01d>n$d@pDTRC%6<^%-b(BfS zDr(d~0mB-ny{qsbEZDb4!`3b|5Hs+rAam$m505Y3y`|ZN8AV&hu_98=NlnMbMljkm z%y)YfKv=%qRC#rEwPD!*zrdqFuxOF^m%<5w80D!ctIO^n?{ZM%Aq|GZ{P`2vcTIE0 z6H)g=Jn_IBUeNwjb4k#~PvkBrsu23fo$yk2rN72@*WUMUW1& zP&Cu+#1{Cx)&4L}eQ0KCDr#3i_$%7lo${wjI45?lFp8DuPS~QG#xjP~=Ei^qX*CdW zL5?bOc_u1=)M&fifTKq48-+O_Lx>QQKo{p*@Z`~N5A=x6+-k#bC!gQ0k`^~(cA_M%lFH#R1n168ZDSz7$W74eAsd&gb-MaLCM(^0c+etohvg%eF26XE-D1QPAFuka1s4MA8T2>F+4% zho$yNbm-Xq+$%Wu>E2YsfQl6yCgbNws%GYGc+1?62GX;o~A zv|Mi->LCZ-B}i%>C-#|a>MOJ7+iq|AA67S=W5Q8OSK6LMDXRpB;To{Gs43BQ4>{W2 zS=dtGk5u0q$2o1>qkaCp8M3O6$Lb;N`|TS`CAEV7v`xx8p*rhf+b@%#BV75=B&>9E z3&#MMI(udjdKhMH^yuGgG!+F=??vdNb91~3ou&gY936+SE&}eko`?5=mmA`SaQSkq z;{pUEKY{m1w6#H3tK3(?6X$Y#hZX{`pI5i(E8lh~DFEAC{A^wCqG{-JP*<0A>Vw4`tOJe+XL)N9J*-7~u=kk6$W@bn;EKZAXWda*g*~-{`d>y=OAx!GG8A87)Eqd7Z}Hn55D#DzX+2Jpe7nH5=ZIxjQ_UlP|^9< zu4ClpdV+m-7~hnI)Vhi{LBS1Yhd`6YL9d{4WB^#Lk=-U-?T-^>=`L!J#8jTrL}+%> ziz58gc%&>W;3J8u%Qu{wS2OIfpH4K)&Y2Trl04TOHf6;a3}7|VUNfLrR@SAY%1EBa z{AC&Z4u@s*Ma82TZ`{h3@a04F^%lmOTA){3a3*zK4|VLLG@2(*cwO&Q$krFyOx^Wv zi%Y9TgEA4yS5M)*a{|uClge5-006MK!yT_=E=tm3u2N7ZCgkJQg}tNedN2qw~#{9&2G_HbQ6*R(;%9Nk3bay14MS}N@Qp4f{tyd zS&}Umk?S?Zhx3uv-F&^JzCCDGk3nt|%~}~!`yf+cEY9ftSm2i`Bafd6VIjZ*#;;$- z0Y&pUWyt(0tM#g4ffYjBpNpPMuQ`fIwe& z246KNIQ$+rPPVrj-iHlz)7kl4e_ZdTX9D^4XE)4pgP7HJ8+%F3~$(g^sj z+Dg62aigKLh`^De;(0$Ib5ShRj1u($@JfmT4TsGX$>~Nnu`-ZapnGYgL6FlqMNO#! z{3-R66q#7)V}Jle=u#nz79&2F6lTtmiRDb{^eYPn(8fp;M(w`oKJ{JBJ3U(O4X7j1 z%ouu~3xF|58m^Cjz9{=MVZAbY_5+goqKm)tH-P`w(!m<$za(~fltI(p3KL|Z0bxGK z6H)18k4Bw-U)Mn$+hurIkH9sT;ixjGHxZjxm>%rjKZq?1H=E(=d=g?fBn9URVYI{# zkhxxC)Aq!5kyLC9Y1knK;KL6ZS1DC(SO(97O7k%d9f9~`z@DR%(yGQ}<_S=X$h?}F z(=VSg`)RZDy70-H0RkjK4iQ9YE^kS^E2v@*#7r0DK_fWMF1I!wgW^h4pZzqQ*l8K2 za1UBRPCh)JeEG=L7GGT0(JQoTvT)3UOR((6MZ`D--H8)OfbvKy zUk^;L{|?V>X~8FjBJ-^Cs^rDk<3(vv;rbrdn2!#edu}F+n(`sLKA$SeB}J?#d7F?u zRPE`(KS~g=N&v{)xHFBrXt$qxEyLUarsN}sHDb8rFPB%D{Ol3^{UUI14U(Oj0q<*= zlg2w9o_R~Rb4?wjz0}}fNAqm-U49wdLGiG)={xCpC**Af{=ik`zJ13qP)^iOg%=w? z5v<*^Z}_n9pPb8y^{dY8x2LVr$Gms~;#~i0#al10ou=?+0ZR>3BFh%C#XgsbWr?f9 zytqnw?2#8QSlct!JGCaGr1eSn6& z0w@av?B~HJ3)-+K7-b9_EK;Th&zwIUzpfR43$<1jJDO5=m4Paybx({yF7-c{V^_Ju zePKfbl<*#c!IP|%rYy!*4s_TmIc5;%ehY>S4gfLI4P$+-vdmK2|kdFz$J$-#eg|6Cd$K zC-#e19_s1IyTB)u%O~-70n*TUk4jjHqQEWFSFzxwW;%8CMYI$5;-qucE&6+tkc*8V zvDGJ_1|+~x+vC0MZX-Gr%7yHoXv|;V$OpH2ZaH(HXsh@~b``=@PsvxS|MdNa4<&>k zW^ee8mbDn|%}VO2zP#5fCS$KNLILv^5){<^*~M>nGu49rmE8R!f;B2f#;n9$jG`aRjWP$DV<%>Uv?Ye;SmG*m01! zclmRm%iPM5_=7I1-}-*XVhfbB21hx3(g3_bOlfUGln?N^;uru)`>(&f#e>s?H>5h?_^_PkPZd)swj95N3t@XV+OVg)zYp4u%6~ogQZB>`KT#C{MWW=c z=MFZ%UEAmY{~D-6G9CUMisBBAOY=tlBiV(9zJK&USd83mABC*;hBS{;v$u<7ISH^n z0hxdNumV=lZW5IgJHh?gVi^9R_hUeQXBm#z6_5pVehRywlfE z&U5-wJgtUemhrP<{kt!k9F42G8Y)PhgA7xaU1deU_nw%amEn+2rjtXN%LOlEVd0Il zD7U=@nngno;$o}aAj%Jvh$Nw}$=ryPglmwHnU#UQtQUe+PVLp+j}z(J4HIlxy!@vS z8MgCS?>jo=b5rGtCJDrZ6v`_3LAuq0(aVFo{)&&K#8(W12K4$5PiiA|+X3bjzrHld zv_)G=B9E4w^+{kIkzQW(enuEO_~J~U&x8JOTHI#<41V*$@pj|Cym@l-w(N}6Qsb)k zazZ=I`^o8aeEg7yFZP9g!#H+TAMJ+74a3zPvyUa@QC3`n90C-Exc|k+7^S^&bzrCJ&U5%}`TIdW6Cd)P(s_Qj$usNd09nEs| zernKvN5zap9IHHjo&96X^^{1s*%Hlq(yr1m+wIICG0IFU6I2CKSBA1SQ}1p}hrOgOja%`RQp zI!uqq%!vU3pvB$qJi?1*ICt6u9dCtky$pdA`m*4f*XmJqO<@9^0biat5BrSW$+Kzl zJ>vOD_@k3Nl(ZK{Pgc|wFWbH(mlF@dTIPE#i&9$y{AaQJK_jRFk41R5ppRcC zJA6|Usf*PwIh-6x^nwno{P%Y6kDW@NOr@t2gfX3r(WezvN4_Q!GnI=i_7*GY=Ou-C z=*)~f(!^VALpp)(V^B>&7|8Mv;&a*8+I!`38n|tqJ&QNkwc5rur{R#EFTZZiq5ido z>=sw~MZ|#2w$#<6o<|b|qn)Q2CmAFGVwa+mc3SOceo7g`5y>$Lq&a#OxW``V?&7DU zW>=szA5qD^wVAlw3F?WN=;?q2wO_UCFIeT5PV|ef%_bhMQm;I8*Q%Z{2>!Je!O(*J zM{A#1@9yQbd-unQoz$dEEbM!6^JRl2HIuGIC$wPf?(bsG?0V|>1Il|yaV=g$;;@;k zhxrKJ^VhWt$G^sf-lX%IDOzeP0|)M7n%-$o_3sJw1A3Y1>`sP26u(3{)+hW(x{#lF z38M~^b&yUzHctjYOon1>d@0)D|LAS%*ck^CmreT#IH=(X6N`S%vn(`o*3Z2a^_iF0 zT!KPzVlS<%HEc%GGj@?(^vN9Gb8VlS4VSuu`iW16ma||=nf*a#pu^!0wb=bFt;?wB zys56<+LOLXFPdyWRBjMVSu6~bx4z)a$%gKIy3k7k%mN+cmI`#Z2|}o|bD@5{i9Ot% zTpxT`v^2UJYg99PvsWXrU~WVoe4oy43yoyyhRSTvSYHF{d~bH4{8nrC`gwqZ;Pu>T zYUsZvCL;wWB%}%U6(uqt4dxK$$Q*py=q5SLZG6}3=U&KjpT;QR6F>p3^c z{)PLgFx4&E3Pb}!Cy-G1)YIyJA+C|K8jGyAaJ=BEb5s`S6ndqp>5CcdN=Y4p=^hgv z8Tf_{=0--sZ*C&H1*Ph-S+)226zThFQ*KS3qnKPMQC@hzDoD#mp)7r@w6WTl=Xwmw zzG#Z=Xd(FUJY={QG>Z0o*WsDn!4k$VOoC$l-m&M=8lpd`Ir00uCK@sSS51_;gI-@> z=e8LQMAtCnC4N!Km7(Eiu)sBw zVihd!3w~lKP%K$3?$@8=luSb&gjI5#(rX#(qG=(=idDxy^C^Mb@$Kff@&avp9AQISH;L%=y3t{!`nYXynHZz*II$174%zKD(zN37j_eS-+64MF224{ zLmL2iQGZ_XsG8jeZlzUMh;m%*SAG~SXm@Gi9d({HsP^`8V?X!vrw_dPQ%&$e%c8!3 z&e2lC9wmXBZ=i$zJ<+a4W;Sqd=l9QwG|)pYzeC^CMkjRli{Nbuk|mWy={(!PWbDq3 zUS14+-Uj?~PQameS8hNBDLWoHXHI6&Uh-w;X(WB0ijFrnlWJiYsIU-1@ov6t++SY4 zJ>vj@u)1uO%fqn=^vW;2RB4LGuf!2%`q?o(#5Yfl!vk`V3MdjUNkAA`G9OO88^l>& zbktuX2bI$6^p(``2t~MdObQSg0BW_sFBZy#w>4jkFocQ&sD?n#&QKo6yDQEhp;O-q zk-(~L)jPZ#5io77?Snog{23E4*~)t2JW<*+ z@0SNjmR8IQ$UYr)U`+%$hWJpNh?Q(jve1n@7kZL8H;F5<$~5e$B7g%{|se@+%G-;Sg&0 zKUx3~BE~R!6q750)riu#iwGx-Y|tH3pP19>`v#w_CSC~uw1Q25IY7`S7ykJ+(9BQx z^0)Hxwgd3{?0Vkpao+P8b-?7AL8(i}zax6Fc0m7bWSDfT!olo*VMYe&s~=T$PXjEZ_IaHmjqKrhM_GTWo!>_;WD#O8U1BK zzI)jchRcOl3{W}niYJofGxv+dflCimzOr<}?1@EM+6y{Ag>DL0&>5?N1uE~P1@Zmh z8df&4Bu6lP_b5V1AID@E&Z>KZ>|P?6DHj^2cq-CK&=(MRm~7YM2n5bWWBWwWJIU;p zjld)PJ;BIqZSOK5*S}$>$bVnbYFoQfasQ33M!rEj4bi5>-~4Tdj4J7~Gg*Dw5jc;#BG$sZ{|qWim>%$Dhv?w`=q|>WcY8%Nz!{+VUz0tCUMC z?R~nlTgt`Zqt93#Dox~uW8rsxjHjv(z4$PBWIZ-$U3Fvn>y5{}3NanHfJjXhm;%+t zFLH-5J%Uq&Tm=Gyh}u?vI_fN4L+#v8NU^{bhTl+H5#MWBe77LqP+poMeJ(vnfdnoy@bRVY$J;P7*zxk|v)pi_$vu4R zOZ(1|NC!K8b81a3{zIPfO>B6g3R&HXW;MTsOVJIP$(h12)x@%prqBxj14Ns)!xm)`hgV4nz?$FF*bD z^_5c>#Q}Ye&w$f62N!<{``ZU2^kgmCkb91>APZBA-d%IE4}kalCLUOj`Ao>* zvbcXMyZlb3jZCwq^x_H?c)0Vcd9n>SOZspQsI|O*h4>)lkV;nC4t~Y@_JhNUZrxlm zHuBI-abXhi*p1UVBT1=IkII@S1l&)vByRy0nF>?Z1|V_<)DW03TFo4$k^eXmyl!UC zj<6T=5sA=bgM2$Px_kL83`ynThfJPDJJRE(P`4?^!ALehe3p|RK&_Q(+bQl8Qr>Co|&F2z#ed{5a$+=ZT zQ59OmaN}r*kjo}x#N{9X$Bvuq`k)^~i1(~Kp4u}+ov1{tgP884cXa!6$_nbjc=k&= z5wT#J0HHzvi@q1=z&(_$MbHuPJra#3-NT=!9hMxL+v5;?XpAtCaG&BR_~)L#zpu|CllS*;p+d=Q4Or6h-_46pC^|gq(h;Ovh1P`N{2lNW% z&Ln$(eAD=;DQd1xR=&Xv5GbRykJh}X(GM*Xd*qEDhMPB)s@wYh^;IZ_PMBHDIgCBA z5;Jh2BjSclDDr0IcgC>9((H}4xW{L61VWPbklyMp*r6}ujE>sP^@8{yW&8TA)5n#U zPo25Xq2$l+GE96K`980x|F7DE{#OGeaNheCm}9M9blwIRMm%tdgw5Q}6iI)Igd(RZ z(n*uh>Yz-O4&fq#Wl0I6q?i!Itcc{#v?@GS;3CIq`MgSIvVQIs?0&EFbR_XX$H;ZU ztEbROgJnDtvITs!!P8ojw*~IoYAUPr2%odFgtHXmJy~c|$he%BIx>wT_JlKkG>Fci z75s@`m@1OtCOY&PCdk*HyFu7gCh+pCjtbHHktK6GSP^;ca#(>cv>5a=45Tig4f0bV z!AiG&^#pX8EyVqbHrnmdv^wIl+Kmri{&i)Drw|DC9=fduJS7E)~aMeVql`YP2gI-Ev1kvvvU= z-(1pP7)6_|J(jR#f@SUA=?xKs5TFL<+mdL9o^7lGwezK^zA`j-?*=0vVJE<)F!*39=xF@4^_-hD)MN4 zQzB_Vjp(9ox-FDaBeax1eJTeH4Z^`SvYmUkBj*glb~z}D4nQJ~6b3#@TF@cS34jiF zT4H9i(q0V}Lzs{c4b2X#a3Gn$?9#`2!+tNUBOuNgiZd;ol;zN(WsBF&B+b%az0aLb z^-iO@&$INeXs8ovVb0e{CQwq}x0r_4lgxzry@V$6;Y+y8MXO}R#1y&mzu0~+PBl&Q z7sf;cMuUB23NTUVQi^Q@awA2Cn$&8=sA$}UFK1=2bq&mo*IVI*vqjj19K^)lf_IZt z_M2I%Cd`T$&^<9Sfy2UuEF@q#3n9SF1-poY*ayI382Pgu_v=l~^3_wqWLu9XSxr?| zC`KmUUg^{Cgka0O!yo8mhQtu2fTR+^XVH<-yql7!KlXBFUog{NfBudrO|rqa6S$?- z-Ff+BT)}g3i%oQ8YAOsffw%mlQg|0%th{A&z8P!L(k=CuHk>s{n>tWo3}58MA3PSB zINE*hAkB8Ty(op}RRVuiFH@M_T?*`bce1u$Tty@*g$UesZnJx=ml!{hH3z&1jSv)X zle1EGvQ()Jaa#*<@$iIQ_#XIJh*r7WOhe-WCkih}T;{ znR5WZh1+$SZ#6j0CQ=GDv>xm2yMd8v)$4pO_M^DafI--tk`2ym`HrmGb4*#cILA$*!G)#NG@nmwi45mu2-mSFcWi80YS z{X;d&vP8pAieVTn?XTG$A}_AP!95<%sg;Eg$p1yWsTkd>cQv}dD)f6DV#S+-chjM66nK&s!7+WjG+ugN80zer8Vgjr9Xl(7j}e}@l8tp%|! z`EyR4YQ*_n&cnF4aVS6eGhwEANERi+a_}V*WavBY_}L|VB$!zf6=TT-%^2jm#+;UE zm!P1Zhw!bgrkL#c?3q38BQkUno{sPgcp13C!WW4Kl=~u?3;$o2c z>T3lAk!x-&m)%0=4GML27rNP``yD;ygEwEm{4n z<~Gcf0n>kpo$whH@<^2#^y~0jekpxuYhEjcP2QsJ_dvG>^zK|_KaqkgdW7N^p*Tum zrBgk{U+Ev?Cq9(f#4$-|mJP5g1$Ua6Op2Gcm&15*Sebi47#{KbT>_ewFSq)2JrTp>V4OH42nyOB?`4q&9GB{ zKE{lt{`_ss5Be$+^}ey^bu&=Zo?7{#0)0JMn>!HWL{P8rx>~H`ZBc9Y2_c)Y$y|E3iu*>X_qE1 zAee&mM%09|$ty#7q*jq$awm5>%*OWgC5^9YCO9i;zqCIXqKDBRlpZl*=D>5M;1vik zBc7c2m84G#{z9V6fuF!J_5EGYHx=+rDON{F)dUW!lYKN&6^;$5?f&U4M!x3>cP|ob z7DgrH01$x9X=4kA5oG%2*`dW~bfu`;lLlF#TV)iFBVsOPWnn4}$*XADZq6HIixGu= z=;E8DHTG|^FD1*_&Jz!$I^d7s$o%yLEmRSHiv?OQpD}hStfUv#RKhPTy4|sHN*xlDyRH{nuA#pgPt4Q*e&@P1cw66kEJml+LXU=hYr z_Vz$c9<~&eFhcWR9P`{T2EXs>ij>7~>W=}#m{g`dLln~HEv8F?CmbZG{y^Fa%Z1#EDaLA{#_SSr^HEWWl7 zrouDAqA!OdC~rmqED%5Y;U6cF68D z18uXx7*nP4wl6y!<-!W91G}7#l~H`r%9sK;6S!G4Fpc|ok~c?X*q1Ky0CZA@iw(g) ze40zWquibV{!DIeWAE*~?c6lGxSRC8AAQ49t^5G`=#kb?vs6mM!p*T|^Nu0!B~J{?bG?cFX!OOTqQ@>5V=^$L4gma=S>^a_w2 zRyj)P1udy{q0*S(><`93QAID#h>JZYKjrHbh0R`hyDTcT@LKA5I+DceT3x zF13Zi+4(0&Nd{$tlC%TMTC7iU6r#m&rAc6==pr$&EDfNkiX?`3bbfJ0h~SF|h|ljM zr3F`QYzsa(-?MdTkEI@TKXv&$ye@xOJiFdfM^jPU?%72e|6LX-{Ro~PHOU?g0Z!hy zC*Rlq&`tY*@4V5D>~b!MeAzjAf71Ly@jLc@*si%qm^2H{W0K)fK-BIKa$LzoK!mOx z<74}jO5X<>@eu;bJJ92kLPENQU@7GPuJQT-36kD5h2(jX=!sX>F)c zd3P*K;Im%(@JI|lv?lUrCGF`wQC95cr7#ywBh)F=*)R9i4*kECPiA$AM6gF4MMY}G+(akm9m{~LxAi1HQ zjD25hh-PvX03tp1iyIERvqDo|?76@A6Q0%Ui@Nb}rnW8UbE!@; z=RvV9VUkCw2!s@5MNDwCZ1F_|lhuIItcyr=m=yKUQFbbU?f|$bH$GbO12d zb)NTIg+0nMc?$uWbJ?wzm#lCCfA z5;?JQgF`0E{qlZtKTj??&B%J(cB9QOAc8x4#RWCxjK$;Qg6s-0Uz6j;L&=2Tu+t9c z=4L)I&wcP*)8UP+$XDh3uUYe49|62qCq8+})Op)X<^f%0EFxSe*xTx#G$&Z%khUS( zp9ur?RCk74p94bwCo>}L!YAXY9;or(6MVivWcQd(a574;6q%HumY)ah<3ErBLk5Fhi8linzC z0Ive#V9I4*k|BZo!J}Y`NCmr zfVZq{fgLjaI*~E&WAF)`hJjVN{B3?tX!#B5C&K&NIoFd;@DmHhW^6&Hcs%^P(gYV8 zH%FBeUMQvLGZ_9YX48Lnf?(wi>(?jNOsw>-Z`9RlIbj}%^G#-d_QU=^uHGuB&4mja z-K9_*in|mo?rtqwytq3QcLKqSySo>6_uv|=xVu|$cTT=D^Phk3Gn1=aWHOn&OP=)z zfLcc$wlP`An1S9%h)IZP>hGsx)Q=nZhl6e*p0!*3d@XNvbI@6x>BKm(Kv+~YWiHPn zX;z<)WY6+g=33Y9>|6@eQdp329p3OoEm2jrGAHy-_=6ti0qcd*wB7;heu zm*3OV-YG0OdYF_`sF6JH_}Q{U@O07VpWA1%dggVX9??t}(faJ7vrq%GU>Cn$7e))E zg^1%%1$u7%H$XxC#uH68XiyEx*2OLoBq>NsRF9=zRa2wxZNle{<7H>#9TgX~(;q#H z9q;dDtb!We#hwetR}@CP=OhV$9xVRNl8nS}l)^Z&7w#M!vH1X>EJn$yXJ>qu99Ao$ zL&Y{=tvCL??Qzd*hG%WQ$VYIJwsG^{u%nC;+3zF?g=epyrGBX~5l&=<1j8Zz0O-$h zI3n@1$`tYR(%@zakO_Vr1D@1^9nL%M)tUZhM)QAOYzYK8wN(GEb2O>)8QfdBA*A%S zob0szKpkWDwQ{k%_VgOcsRZcS3S)lq9A1MLW?QouIQK?zUfSq$$EW!GW&m}WMZ z$u#MO(u^)wrvN7;QlC_Wd9*D&=^x7;jP5_F<;ouVrmL#$bLNXTAT=kPEI+Hs9rypm4F5FS{3os60{r`Bt8~6KwzWTYerwG@r}zp z8`~i;@H4Udf_M*GoU^cTD4X~gA6axVQ27In7LV$ACm(_77wktCLE)Cb6Z}(j>^5}0c=UT*~*0x#9-&9XA(Iv|X*3RI|_zLJ@ zx89upv?QAD<;+gVrTABH|s6b=~JarZw~X38xXN^ZHY~2Hc5iIn0arj1*Ls z{I8DepBnc6V|{I&wVg}SsNkLv&U5xw)ovBg(jY!rAo5|Zap7j`V1kbXR1olBuV`jQ zO0eZ*f5S{GMkaN_j<+)IQQ&zqCmlk7FaRZFsA-j^5Kl0Z5J7vLNLaLyfsBe}Dm;a; zGjDc3r4AHU`5Gf4+(`iD0>`?+A!XmF@P8ao!=0IL48RYq{Qd&MBrJS`$R4eVgl~E( zLwP*O$|1cU(Mqgj~;B9GU* zsNnU`D{w81OccDllcYLPPTd{-dkHOjj#ICn69Iw@dUZ1AL4wR#HJVigd}mHW8plYz z_Dc4omw5bHG!eZSJq3Ep=S;B#hJ?vUhthb2fS+ zS6JzZpToREQe52)^5c9v+lIgN-u|SR0`{U zYfGhIKz`n3O?;ba>ScSfDl`Msd6K(JxpeeWiEgZ{EMVYEMHlwW+4TMRexGN(tLFnFxVodc||F`~sCl3GbLlZ9*ehiJpP`lu$Cfx{HNK4S`%}ig#VZ?~@PRutXSrew=>U>Ye%x?1jbeBk zmCOIb1t{ZS%7xEum5jJ*{+?Q(XNfsX1)xshpsRLH!e{BtYn!aX!Rws1^9f8OYh}&L z<*qJhVZk$`nbUZvOL`ea&>b#`B8gcGIe)q41D>vIL}9%h7<@@Tg{{WEz2}che(hY; z5`^Y?yju5LG%#0$NPq*Ro22IxE!XS)O?>8BAH}lovy!7|%cx(fy#;=M?Hf23`UI}{ zVIn?qEJ=zMl*bbqW?^A&XmnIR=Zu0Nep}OyHoGUKXt)9V0MRgYTmmZ$is)XEGkY46 z(X>V&gVak3?C2_4)ZJ?6;ZA|Do=qtZJt^5}PYRDj$TCZ_{U+aE0n>th9f(?@2S_=vw_sx@0B3NJm@ z$vfZ$8|BjlY?{l1QrE_J23a|e@re0`LtW;D={sW#1x-aNT;Z)H<0wQ33y!58X$aKC zi`eb;1)i5rAYe|)walDSi}PzWIgL~bq5-XsfgL>pTzQNsrD*;vK4e8uJ8k0oYnacV z9B;CW0$Fyc(I^l@@hq#SGp$U&_E=wpN_}zu2qoiu!R;?hIS4e~ak0e+K*~RWezSXTysF zI^U;ln(v~GeraS3(spz#E`R=UASrYFT!(hX#~78+G)AF>MQ^DWE|47eG3n1KvJ8!P zJp4Xp0Mqey0d`h_19mM_W>XW16sqaPP_`iHdKTDaNo>rBzO>ayAkoG$U-Q~wPOK03 zt0J`7=5TQ24pv4DJ=;(_9Z7i}LYK8~4HyBjDhrs%>|?L`+siv9Y!d!B(4ELP1wO8{ zC`mJQ=+muwBu^R_B;FB>bxtDKb!vLVU=&d`XZYTb2>NW;0 zoLMSrnBAO+r{I2Qo}V5gAyHB(!zRZ!s11OBfS*3gMlvw&4h9;cR$pOac2G zvt-nzSgriNA6iFp&F;Y}E!?U?41Ekp(NfaBsim^^h*_RgyeTSmtrs*4vgwIR(ff}I zJ7K;(w#95pHJ@~^=h8DD=|m~4^xRM+&KIUK4P0F>!~fhRPIlzoi8M-f&g9_=1Y1!P zH=zI*i2gY`rP*Vs+Azxlc{LXL!DoLO7c#i-BC~}I=qTH!-W(s~zCf>H^m82`1T&ph z39V6OnD^&F*Uchj;ncgkh1(rSj^L-pvWO-B@^cIN*V7SwS+VB( zdOhT5Dgu}+n7to_@0Bs;-AcJUkH6gSmi<=x zr!+LG!6cvj#@W$E4E|}Msnqs*B&6Hh;GclvJChAclM8y%yVI4BYM9x=7ZEyhh0qWw~J6_n?u>1s#6u9jRkIDdhra0*z=Dn z{$Cu_oUe8(oK1>}7k4Jl4##EOT$P%87eeB{8UTah0_-e0eP5L972b zUmtf!I5|`Jx#iE*{ac^dRh}8k4fl$q#q1cAZE0X{Ae(_5h}T^xP=b(9A8zX@Zdp`{w; z2sTy$CauM1g66jk(on-uAYjS+ht%uE58~=@bJqR2UM>MAwbZTkytdb&Q|VF+mftZk z=Y!P|0Ik=^1kgpJA~EWhbG#sJp)>;oPE{dRj>M3Yov4O&P1t_IyC4y!RGydSxP>5a zkN&rJb>=qUUf4(A(xo?WGuLR&6<~y9FVn=OPZUAwM|aj_v)h9`-}ed>#I-;Ex=%Fa zkh9}F^c+Iiyy}Ep^}f|y1A5@(u8{8w_zgKSrw}TMGI$B`kYX9jw=GeYUMF$!HTi>bXDqx z5A)bV#UFht+C-Zx`FLR!GRXHuWq#(B4kddvgrxag$rew~1!Mg>``!?0FKOoUf6-a; zP%*^+a8Wg2L)tElKPwznh5WMRQ0#?3@DNaZi}Olid@?2maRuc6 z`bt7HW?HA)Iq69{aodX1D>{Yj#y(1 zDVM1m`ikbwUOMWB=i7dj44VXg25`4dxMK_lal=>KSS>qv8k<{fc7qw~w_OhXkT;v* zq2qrDr_Gr5?e9ew1E280dDl5L>&;#@d+f=GkhtXe!id#2%TZA!g#Wi4Uxq&{l2!M< z`@A~IjjKXGzIKZ?L~y&NTR5fUteNM8Z9~@93fn@Qu#=9{8$9>hG1?>GjLb#YqOso+ZY3MdFtySNoJc-X=A}Bu^y;fZ@y0)nSn3)F) zp3O~yn~S6-Qfjh8!P-R=JnDzUyin_gz1M5c6d!m2yH}RXbcXzVmX8`Vf1JC~Bw1P4 zTf1U$%JAZ3nx*AJ=swR%(8%4-{h}fr9onobWjZr#+TOa{f+1bb0`E`x6NX8hUAv5F z)x4D*J8~J180w&CtqlGs3|>Pd8js_(*_p8*}GSLVnJmhW=W8*mEJ4U$R@C znx5WUn4&L32l@9jd&QXbE-LkZ&<$v9WrI)AbJYqET&c~)a-G$$%S%WM#^j1V3XIyQ zls91{`rdz=_-!cHK>O!(>8>udwN>ki8;aU;QG9>n=QG8GZR^tG+(AACd?-;rl{Oh$0SQ_xRPv_ zP}gXaVwayT)s&I)q(eQxp~-y%lFQJZzdMk)AUUpo#M4Q}{>s#f%Acht19=1O)mR=ri_uGt=UiU-f_nACL5h_eX)B2_4M+3%@J*S!? zs3izqlVZ|+D|uMg5h<|bVpc_Q>pJJ<>jO#3=Iuw)Wh@NpgHZ#foDiE|5I5u=j(EFj zk@q2E!AIRfq`N@o8x%oy=zEyZ_v^=l zoS59)+~lQyBWGyT|K(#3vkM4BKt*TVi(U-IU)+Fav9UVFTz+YRQEdyRth2Zh1tUpv zC4nx?$C%kyhyeCt8O@ZLL{kgpRJa-2w>r_1hE1;}iPhSR= z$teY2lVo`pg|&L&noqkGN!N-^ADRmCv8KNG|DzZ2c$LVa@g=s@W5;kUjT&!e6j>;XE>{cxk|b1u@dS9${O|;x=mBiJ zFpkVnGCg~-^+ZvfnJ^i$x3i!Q8sEaMKgwuM+(MPrwsLP-+oZpEH6$=(30gIrlPkw} z(9c)GGRir4573`3gWO1iot7k|qfN=jf=+TKM7zk3ZU3HDl&+Cw`#HX+moy9M2ymRv z6Q3qqri{+&q7Nve9=z@;0q==4wu+8X-YmU%FzYPL{02Xg6UL=Tx9x2{*Y7-}gn>}p z`^!)|?^{!hv=mWPIMm*Qryk<(l_$EYL%*?Woc5MSKqP;nN1PtxSfR@v|IKTALF2r2 zp9o1yqel~I|7hOsDp50QTc|Y~_-*%}gp~u54{{u^y-ieUauit#WDQJ~*z-Hc%oQAv zNd?WW8OJbsMZhGwa089=~)xIN292|9&sV~NPA0>Ju|_3)q0F<@E|(c{;zuXIRx`R zhk{zu*2_VnTBvx?@Vc;q6cXy^3D4Zggj?WCRd}nMxb?} z+{hn3=!ScRHs|v0t8J4quTr{SYI>Xh#Lf%p_sInD!;hOS^MiGx4QTfNY&+?`UI=?# zk7q3ks*CEZPFX^fZOq1gKxhbNLm{r@Is{wvKq+#=QdNMjmW7dQC9(%!&6A6-durG1 zJ$Ka#(y|13V|l|Ag2Owi#%9LB8=a5aZ8KY=z2fM(E(+(U$Gqs087fqAW|0A<-1p!w zQ%3bZQMoC7*2NKIRNEz$=g6{ozPwy}a5p17=dXl^TJ@GIRn4n{K=Hj2JLTV1(d9GB zNt_W*7#Ryfmf55Pd=%T>h0M|#^eeV!&IK{6`8$zCQc1vjGdqWMl(G*9B!olxb4DvI zt%+b-@O^g|N0T|_!xe4xV3{A4BrW|DAy4&wS5R3nyRGC;jj%(b%T=n&=dcq|PQ)Xo zJP-orGSNDEtjvHIGalGl(SWpK6WTkoE0SW3WT9p=^@H!altH(0G&AfQ5fUwAF<=w; zQ_nke$03>ubaeC`qW5#GuNx1jne%GjY0gRxS}qVcL4VM5IRV|Zq65Cas0eQl`{d$1 zfbR%;Hz~49tQx&6hcP2l0Cj~kb*`*Z&a*Lp z^=NQilyh3c_|1m@(Qn-zRT%S5RWW+29TM>E_88XlR8qL1B%&BoMgXv1l-+9QEz8|& ztH}0Y0E?1-ivtG`IXMC&trw=D+)^j+RN|G(+yKwshCM2Fl`I2LA4N`@tV)@pD`332 z5|Nc2<<5EKW_S=zn77k+^4wNJE_{Ktd+gD;TvN;p+t9tu`6{Q_@G>7%pr&c?;2VXf z@RXEKGzQ;fmdlf1^-v@|(N}TMV#iy`k|fXLL#2=*$&~Qc>TFbtV?%Rqyv!>gF$n zXV4e=-IPrQ9Qatx^y)wJD(PCu6@8Y^AA1;DUbtI7m(qDtNL~B*?}7&ZUji?qG`H0yj@yRzAUvykD=QJiRBV9@}e2a5SmRlB=&A)QBNtxsaBx zt-PR#j`Jxf979E`V$UbAP7drA>y3 zPp+&_O*Z{+jwVgOY-S|pa|6=)D5VVwC>-@bu}0m-psRsSmAmMfH5H4d?zm}g$7E*LHe>N$fg+T4myW1EBLb4FeGM(nbC8&|{l zV&MuynN8%iRxI2?dhRjm6e*wTavE$3ILk5Kr;d_A7G3--qu%_%=)>x~Z+UviAl2>u zgfmU0=a(sbzD?4H{H_sZXZJt%eiS@;o-%jPWk&~pBGziB&C&B02gqh+Xsb8Nfj|a^ zw3C`vUn1-5j%CSVl(GqNw8($n=FJ%*~#*8c609 zknVIFVxkb_hdt8|`5|VLzJugX+%COgtiU9(^CfTJ*e;!s@|71w$v_(qM*oNS zL9e2L`JkEEptNbpb7_U6KHa#3Uuj;%xGAi8M?0DQ(j@B2uhdEpi@VodeoPEm>iUg( z6GDR)t)j{p`VCeR=LY8?FGs!3h}cNd__5cCWDx^BmxXEmba7YM84P`mLxIm;DGFB2 zy_jA#g8t{R*9uW5J=LApWGxT*=iN|C6}Fo7T0^W3a662q&D2xMG?%P1I@w5=L)N%TImT5r-7#47>A5I1&6jQXt7rpcvt;huRkiXLsrYH4Oc1!3cq`Hke+U zv6q=RC{Q@|+$xUlL#pH-GjZyf1Y6y3Q`XybaL|Rhbid6u#YXWlP1syZFYT4M!+c!A ze>2pBkA}#axPZb9PRDjiGXt7tp4os-WXiTmKr_5m9AuKSu0Jg}ctT(oiYYCqt09zp z`w+iI_OGHvyv*z3^{-7p)5>PG1!Lpwt~sEx$(Vb2!L6GC6mnDB(E5A8?=*{THvvt* zsr>g_J2FeJ>R}~HUlQHlro@l0iOOal5UKB-5+><%1e5-bH=q~pe$B0mFMQB10ftI4 zwp)7BsyBfh|K?LJX0TA=00^h~lYZE^Yx|co#fzqxTPn&T*5=;0jA~v?$20`Kd-jE)jL9Jg`-Lc%?nTIc zk#nFNg*3R{h9us9h&){nhjhA=D%+9(AK!s^3SKiglxypAPK;>W(K}x)*T4Y0w^ao* z!k}B3LVt0JDd?;dX11cq&AV7LNH7lQeZs_C_0kfW5X!8#7dR^!-yU1I+3~-x5c`Xh zO6N|mr;!~Y`oITzg2lu2cUk-8iy`=e3bLSHWcsp{kQRsk66Vk595uHh!K&@|wuzU8 zz`+mm;{LbMTs=^Cx^_2&QhGfhIP@?*jws~&DU5V9>=OA(<%Cu&}C}HI7vcYQC@2E?CE{>7+94{owWyVjPr39sI>>x5yv6&P>TH9n z685rykv#IqQ3}_%didOhPowdxcN+dYfR=3$w{J)luK6spJGvz3VU)l2CTdR^vQ)}CP>_EJ62A^UQ$NhF~x-5Zfl&&a@iY6~p5R8`OZt?7SH;7fmeIyyx_K4Xks zh2%7tHhZO~azoH(~Zt zRr0A(*vZEqnkf~U&YH3-70oV~(4I_GL%F!8eo5QL&7k$_?aLdAJi!M;3jd2Co4@)m zqNOAvtFI;_FP>zhGvRDY+Z0ey+fS+G` z-=EU>S<0S!Y&GI`>Q(7n5X`=TK_}Y^|sL>u;dwj8!3OV-GWKuB$KG2NC zc&WrHLBj8U0Q4#Ozt$8qzW+ik(vHuk%{w4S6*Bjdw8W&dF?!4Mw2W1x2aH;Vk+U00 zmjGiF_)`M@UtR|Sv5FBRX9K>u_npr)xhnYbYO^x}Q3c~s!~;qxE5$NgyO?O>9*_U5 zw{*(>H7N0LmVqdDS}F3TGPkzeoUJ_!k_f0FSb}EPr}j zMcTjS@Jy2qMn^pEF;8GW6=)j^J?UvX2QQczj;8B;nutN!@`LyUMu^;*w`{HC^iA%A zwfFfn1EEGC%e}M}v?|h2+1;&Mt!5^VQHQf$d5!R}9`JL7zE+C4b2Uj%M-s*OYCWpr zpGd_H6Vy)Nopz#7Rk&!yC%QFkdd}hfTP!zbcamH5Tr-^o0&V*r`p^bnK$;%RxBPl& zkb&4RVEghsr*kX4R#&K%iKL?xH8`pH0BB(}uf9X&$QHq%GjTQwNI98NW`x#V3e zwC^|FR_=7c9NCG>UQJE=3{A=Z;R006tl~9EK?!x8HFhhmeL@bk>|9OgB9F(#H9J!8 z!8VRD{QejjJ>1flxT18BHzCb*ZI~*0nprNAY-v@uq>Ayl=tYO1?o%C_i@ySH zI~s~H`I>tcijuQK#K?s{8ql8*pTiLzj8bq30_bUGhiwgaz`b}qQ<2KE_bVO^T+Mu% zoX-d>aRk=YxFAMFv)cn<;#6T@t4r`!ei-TD!v9-uLoCDV!ujuEfWDw@b9cFl8Wx5N`;+lE$F*l zsf(h}U*$S%mBGZscJngk?dT|x<;keMR{Sb=Q!<)xW@RN$1xLN6QSr$Qo3wtcKDd_& zRK173zP8wC{?tm4OsJHF%I>d+ZNA8dvr>8NceP+jWnFm?14almJ&%bnq6VS0 zqZR@Arb=4VfLE|!hK>r8Em4M=T50(HvD7@s{5xZPKK=o+fs5l;3OP}?W}F`RLcupXV?5W{vg4G&JZ;s9g5N;cuj+nrh#gp+ zfLpZotzCuomm$u(D4>VDGSz*fw)^UypGN7C2W;e~IP36;;Tr;h=!E^_LAI`9M~!r9 z9%61djUcN&OZQLPY`99i3Ey8b(ea)xQu z^2*Yh!n|O+DcQ*+pP!uAq}>ltG4}ncLuRU|{{%I23>(uDZ%PGT>>C*F+@?_Qwc#zb z#eU;m2Xc&e?mke_g9XKL2->GHrR>&wx_=74roAs!ZBk zKu@~Km$Lu->i@p7C$qY?wr^;k5fCkdqF2xS=}OHdk&jrhIKmkW)7%(&CguHP1Zu*V zOJe!uNX?|}?}r#%H>$Kp%%YPmp~xScBf{+u4l&1YW)wf24^*VH9X7oa9T;#sC+K|@ zD7tJi@pN3RtB~noQim9)BkP?4Zxi;3N?GoA^?0_AJnclcN9=bl62`l&-**`coYz>MhH({A z^oV;s2ro5tz2gxfNiv21Bf*V0#s&sC{g5ZS)>Vb`jm8WJ60?&J*RrU$(d82GgGToK z&Z@cSLnnz6;cG-UnNge7br%ka?7L9>Tw)H6m@N7D_Zse+g42Gd;nSs_0rs&y&1YSg z3d<}}PU;0@rD|I?dNa@EK@LykhebCYvEZ|uS6o91^h^g>hjsYh_OCn_54f8Pg@R2n zHUmLf3=YbSg-EDne<8GJ`0u*1I=IX^1Yj_&YraLni4D@>ISeLSckS(g$pTE5H-3q# zUz&f!gs&TNr`tN)kAB8PnJQrsIS)`y9<%7taoLRNZRbzKgUKKX)_Bj?@CrJhd7x@whtG>6n&mh6SI(s{uO?Wy3#kVcd1Wa-4f?v5lFg&1?z zol6P#v*G8xf=%sp^ffQEq8eu8fBN!G8|aMIkj_T0(E|=VHYJx+5FvNhjGCz|l1(B3 zAwG_XG^Cwyh#_B&HGlAGQ{egZWHLsp+&ipEBg;mU8Zv*ekk;d3O`S3~?d4bTwi$Dr z1#ofe^pWV$I$jsC?J|%qZ;$)0UG7>c?L0k6OOQYrX@<~fzopawZxypuF5PZi;AZ*s zq5ej+jlHtoIaS%Yi2j^d9fO}4?Y+^#spqVdhQ2$s@IwzeMan2s6xqN2_^_9rnlC2w z|1SFYP#}wi>m+;~%M;_TTv^3Y(PRhw)d)AABRLbd|a3 zQUqn8#y@{Co>t^`WGbeek`55%aP&|b1|06BKLXc43aUcU@uLSWNPAa~U{RW146UzF zfNJyVIYgDeO^(uxF*9Y|!iX+~Efm0wIQbpBEsi+KX7t$3!@}tO?~m4B1YPpOy*;A6 zfv-ruQyUCipzLpErbOKOZgg+gtIaz_=h-nGI^0cT_oAB62u3OXByq+nti3&Vc7t9I zeq5WkO=&G+iS219yZ#<_#z-Z8w1CavvplJ1A zOw^3#j8jR@inBsB%RAeDtxtRC_RuQs;7~mkPuP&&Idhx6N-Oi`k04*NSU``{r%MGETBVFmz0!W$0d= zJeQBbR4$bdI&A^m8hBm{?K~V+_6-#=W>r<$p(HD)qTROE3B> zWsY;8yL#CIF59b)TsjB@yDQ|63_y>~pB#!a-8EOFP8KUJ1{2F+mp|+cDrNevxV~(M zVW{fnngSSOEA+2<>6ta0o`O43^xedZ>GcB{9Pa0(Uz`rGv&Z>yJc&~gDkgC8R;kT zd9Ni3v%jp7Pc@m43i@{+*~{c~?@h~i#iH0y%!wmSNleR$y&vg4%!L|KT4ieYBqNa} zzCvIX6I`u_-9_p4rpYpy+d`Lc*IjMUK^zz_FP9kDrtGE#YVfM@f2e2XDP^Xg26iZc zzzLMMn-*%Bcp?g{S+lm;z83p(XM8%nZqtY3BhgoJ z%05V@>(Zb2rPdsj3JLuUj(Sz3vg|wEU#Yr9`-r!qwwPUQ`Spp53x@ zGV{3Yw<7#4f2ZTAr^M>nb35sqAj2O3C3S=Lx`zUB^M%k(mWzXqV%m{4=aF9y7rH|a zwmb4yYD?97q?SQRrdbE;nHw@MKD%*8bvAN{=wxIY0Xf(-0cNH>-`v{dN21jGQpN+d_M#c>1I-x>oDwUXscrJKKas1nRh zWj5hFCBFRRy@O>d_q_f1us^2AsIOc+h42!>=N?5{?3jIqSa& zptRbLUG5Xi;7+Uz@zbre%&b!8HE}LKXVL~+~+^ZCb5aHxr1|rLFhWPBR|9$#TmJaA*Y&h)aB^%DVI5JC%q=tzb=9)+a`0u`fx9sA&aN!g9CPV*ITE`FmA$b-n?y5q9c{0V zgJ~!Oa6z-?<_kQo%D9+aw71N%fMOpZSUcE|VB@t{m&YDDjUJ?41w(dlsU;R34#UUJX=cggO-xG?b zYTFlGP3R>J0J{4KT!|bYciVOzy>kNn*sOHH6AxX#PBQ&=&8!#7n2*nZNRl$D^+FRRVWU!| z$D($*VX;o%H^K0{=7&Il`=jDq8ETMpttQIa+8Wb!r{+-Lt+qVg2Z?-)epA?YnES#i z4Mi_EVsj;`3cO<4i%FJuWW{wLPUbQrJ0ek9Oa7B{%z~5|#+wC`r~$^)G;5Gc8N=S~ znzdv@9Gph9ZK;2kC%58evkvX$*bl@exTIg5pQXgsiL7+(%U`m}`7t$@;=Y;F`#TNv zC3n;VZQ28c&_46kp}tDFlCP0|ybmNjJ)~Yt8{IkWx7l@@pjamrV3l_A<>`dtW}6dets|rB%U#V+Qm<6%xY}+B6LXT*b7U=WvE0W$ zmF>c+a`_X`iZOSLIDuMjtQ~AxaRxP=RrZw-V&RV+jx4C+S)1Uul}lPUl|<6mCJ^|? zOwWGe;x6i8&W(H9O{4>bw)2st_HB0|*V#dBv|=KNB%V_*NwDoVdu}Y4%CFTWP;9TV1GL+AS^SZ=7lOqr%bi)L5tAu@LQt4b+D@BZaR1o$4oNv1*pr&5w zCPYK6V)&Q*XO)GP9w?gKP`$&m+Y$`vzqNnEUlfATwK1-`XVXCjjG>Q2gNY$|)agnw8-w7;?Do!}=IqngeVUrSq7pkL;(cxA!-nodB z;Yc~<)=6#i{<~AQ_@k(V#X7=7UIRw2v?PA&J~H{@M)QM?6)8Q#^dWB@iLJNvVpCy( z)t7XJ0^HP#9wov15ekXpwwCzJsk30qnTY;?n5+AzRyD0i`*h_|@7r<% z>i>A>iNXAr;rIyg*+GNM$q*b8N8R^b zd?Xya;ltI^mTBv7eq4&CLRdiB_}fJ`LHpwnGqFgj5{$tx4nKKz7>J4>I;{$F^lN33 zJZw(li-GC_yN71p0=vM>c3a%vKkUPj8M^MUUm&LmdC+ITEYQDNKF4;S1Z>;69pdr zt?tcA9NZd9R&s#<=EKbcvzNImik_a5*R!|OmZAYP%|J^dO59NAmg@bN8FB7>4TUf? z8Y%Euy{0f9fSROSrU^4{hAiacOnv|Ta2IhitauJVP7$Tb-Gx0ML#1R>`}ONMLx(BWoIBlzE$ zCozy|n99#g=o=$NLY<##9-W?0t{K3cQ2&-;bISbYEs^dNgY_f{?j!NT$-Ud=qOYYG zJ?Vg4&xtb{Q{MCNac-am?8ko|*k0;b8s*8x1O&Pv_*~sn63Ah zQ)`~}sq;5Sy|pn7&ink!;sa9|56)*q@_kluTV%x;Y=@bd9iXX&q>!(;T5gU3DQDNv zhUzUWI~!5C0G8%jnri;mP$fZDmEkB5QSq<(&%@|1-ljZH>c6(cnH)5_%b8#1`g?KG zS;cT+(E}{JesNN?SsYI4^V$vkZ;)zwv!dN5aV+qN-#q((`+G?06EiE&%9p(2{b`|V za4?Ff*5~!ib?y87c4r%6RMZW~17Q#6Cd{dk zjY5u&Km6)P&8lIZkP;{%#2lM;VsUo4g&7OW4RjR}fj(JJV~}$XQql&vEU3G)J4|hA z6eZeuw{6!_DK4;1y_d=j!^{abE=V2|eTTIu+`cG1@HQZ=3Qfg9wfrbggl!3pHGU*jJKI~K~g&u-`w z7pzr$R+NT0XFJH6$g&g7lmIlmM=6rw;@XZJ*f$u{m)y0=*2ISL+O?TFZNlozA zUgT8&I=rtnqo)x~1FUzuu;svP`;;CP&@jE>G3556;Q2~0A7!R#Cqp=sQiK_-! z)2B-zlmzg$W@(@^3Z1Rcg%%|6Ud<+(h?*+0PBMl~!Eb=32F$sD*=HVMp=@DWD5yp@zRg`))Jof$s0yep^w13tzO9<3gwPI75 zdHe~$(rt>`avCcvaui$~y`Hf((R?Rt@>bwYB z3j#{>kj1f{hS=sUm?t=v#(EJTD#`hnMaW;KT&i{YysUkkCft^zLBY(~1Op;b=Srss zSsiF(?kiUPCfs-OYPqjs2Fmt=v`{_gB~4n#)=9Pij!=95TTyKU?kMj|DIFp&XBM*G zoeONrDtn-3c4n^uwSWUu6Q%)%TV_P|6{#h{%8mdx{qsoSa5eSKoapCQOC!BET}3D+ z`AtLMg2x{26Ua~2=To9y^gBl_ypA=_i|q41{7ghUtCW^P;wj6t%))$Zf!0U~R{kfS zp7{N$G8t(m>pb`^G3WLeJ~f#A?qoLHQQthy@N1Wr7op4UO%X`hX|aGI0upObv$qr$ zRPROjG!fYYwOG{e8;sallNQy2WK)w9*2W!xR+#-mfWw^MePE4<3ygka7s8Q;lLzCIQH zr!MXIWEPRM>e+OLR&4$!aWuWr>toSLH(F7d?_qWK5N7uiv#g*C32!nA+wo^(beUWr z0DXSHj7{X1zdpfD+eUG;_YQD5@3V>2AVUncb*l>q>wHBptWHFYs-k5u7j}8qEcJ!) zZ(fYCn1q>3+U`f=PixulAkt(#Jflts zlAblX0PShiN5Eraz}yHy0B8rNusHUxv&RBpk~jJ#6jak0Ah6+WO;Uo$5wl+@OeVHF zlXb|P6){eg6=3ILW7%2gFF)0^u#gl#WVNjjSr(S)i~N3nbM`Z2`}bKVo|Da2gt(Rx zXHBBWZHnFYOR3_YL_R^wO9k89?JIyrcCChOQW8bAeoW6{P{YbcUuF50iiJ zn%mTTi(SyhbG{CB99)sr;t);y()KemP9F)dFNL|BSamd?7fGwEJ4{;HBP7L*v0^;Mjkd_;4zT;km|A5& z>LGJKTYtU%7^^47kE?I@1b|G z3W7oHHSGw$QP*Rnssp=ZvC1=k=f&$P$ediSrBI-JW`9DERLnO*lLI^ZdDD>NQ~-MZ z^COqvr>bXEPU z_3DwFKS<1iFpfdj#}Wy&QID~48-%;)jU5-q!9&Sw{8dhsg`YnLRMSm-5%B)3b3pY! zXn0M!|L?8Yhm`6Kjf_audM!8E{q&&Pnq1Icm)qe<{DNmeE|qhuM##74L!YVl5ZUSt z#eV$zF(cM@O=1RfM4dmiBahx?fIpd-mI{*H^vY$YP4|%wPOA4Z;4GP0AX#Qd#J4AK z$w|8;=C%?iSO6EJH{sJUNy@#VpkN;B7(neok^bK-0QV_g zr1y0Rb18c=4#TW>G4ye%HMx`?uC>0AssAG*+n~#aIOF$M`OLnj6=c7Rj*Cya58K0a z_YcWVbF?+Ri8T2rd@D@Y-yB<(>Q8%xe^m?MR(V-lTW{Qp2LuS&nib854Ux4}m`;T} zN4r7Q%VIDi21S<)UoMXdWQ6tjY}P})-vXL6m(zQ?Mxz8H7+m~0@|nnQ&EEht*Y&U2 z;I@TjHV2h8TbBuO&1S6Fvu$cG*xS9rheLWUlg%y!!Q8XqEGfeNJoy%qD_z^4l#X&! zUtV4Zh+i66BCo8r7QvQQerFI}z}iU99UHQGKaHf))%tV%=k`U{d?en0S<@ZcjSuJA zeF5xy>hVXzpBK^%$N(zSp9P2ToYO*VqLUv69*B{=I5-&5;nLiok0H8%N+h+G0E%n& z+#TrrgMC14*G7EP-42Pf-(_e|*Guv+Im{ z4?}nwVZMJ9lq7e{%Md=qDl+C9nYO$QTr&7KcwrDoBGlrGYR7$>t*3&+2U^L_TbPq% zD>*Z~GL&R%vP`|@P?5W0s!2{`Etgq{lw9=l;v1CNe}=nUqdAPHq&VU)B;pI;3++{T zRxPOZ2^4R(9~B1*1p)4emfT9u^Si;F7u$c>A$^0X)|vVLFIo55nD$?uW^|e(5Lo0Q zN)tN%LtW^5Xny0QNRs!1nW-CQVdWf$eWPPGB2`N|W4QB7uWGQ-!0t$z-kvmJd6wce zP?ln!bI~}FhDFbvH6eCekLK2dlwL(*IFY$sYS=c}k%!BfAW2DQR5kuAxA$Ngiu2aY zaV3jT-F*N(UUNhPh8q=LeCQI}u=*MpJRe|3D!{?p&ww_~Kmo{Boq|<0MC z*Qt}&3y4+N+8_Y*_83WS-FoE2?izsAmlEXz6(EH|hfAf*ghA(VafXb)fB)7d<}2GQ zKh|sbVz-PWK|>SV+^K)|>rL0IW0ipbf4nbuU(46tl-VCNVLYGpjfwABs$<`jG37kF zij%rmP|};nCTpg`L`dU{j}3;;4dG{6uL+Qytr4S4XzAl}1CbS+!Wr$(4guH@oBRQE z&m`-_g$A?lySpYnS$~zUM_;=VxkEquoRZ)VdhJmq=6;hBsNoj~`=OnF(GIqHd?I=O z()!}P6~6hAZ;fv9%W^n#BkIn2rhF=|0KMmU4UcM~BzZqW5d-387XBd3um{|$yv~=S zi@6!^Z-wG_s#2=yGf&^s%0)0)vJ|-xh~wVBtBM#HS$6$-Jcq*{Ir%A~y5^JC=OSJW+Wb{* zF^vF_4=j8637eCinjpN8nO>Pyuug3X%T%wePj_6`A$;TE&e4giv2lIXihCQjW0B5* zo)kIKNVIyvogpG9OoZ%#FIPTjIg#fn_;JvM0CNF#sMGBE{_NpV;hmuUyc6CoOiwc{ zl054tnYn1J2!&+iw79K*-IrUhGa-TuLVJN1}|vc zAtI2msDmka4i_e0E zM?G3&P~bEa_eg#w$S8_UF&&aqRDY zE1s2>anu|{88U_zaseDu)4+|*mQY5_I6K7jb>7hO@-Kq3ZG=RBhVVSH{h?U~1t=le z>y>9GRmz}vh0{Jt@a11>L*TF3h1nm!6z8^A=$!OE_((tuoXflxC;_4#Q~;cG&TjuM zUtN=W@9^q#LU>qaf~j8_IoLN#%W=;?hp>;U1oS)Fbw6+eg|TAzHw4(bOj#+D>F0{j zdVpgXfwDV@KofNX*|ppvV|eY^>Nc!--IdeQ4xfY$ysx+@R_EPq@#(hsy4S)3o*GPg z3^CFsCi-zb`^#S|boQz1GQyq>mt9sWJb$>?2OoE7!=LQb4sklQ~ z21V-~g-1_~g%Dj}Y$J>Y#~3*67G8(sTbj3&-RY6o0hJhg{kL~_O@AJZlco+snu=$Y zchX-y-N@X(2Ocgw;|x3L&xPIzK<WB~2B}5*-!*JzW`GIjWY1tuFdMWxP-L8L$ALp}){@Ok>ykew2PH z#WXQQFV`+E^dOmq9XEP-KkbCeq15oIc@@IujW{0VGfGx(mzE+;p+fsgik5K!jg(;- zBgbOM@|i`0e8sR823q115)@{P@TZW_?;pt$KK!T({cEjZ)HHLDxtvSbUMi}V`^;BR zQQ2Wfw> z{xiVgc^5JOfxg!$*=FOf1pm9k20Z=Dr}MZF7mrB= zPg_q*yK3sH__#Qx>{|OJ&V@s5n>6_8`(L|;vDiTkQiCw8=A`y`BkfFG0zAP}aU^0S zggG~jgo4*kv7WtcL>U?7hK_}lO%faSlHV-v;>QyRFWq zV$aVXo;9p6*Z456l`g5X*&D5H;OqL_24U4j6dTOgs264VgK7umR7WuP>x zecDEx<%DlAXW7*Jz()+moXHI%42L`i-n#l4;)UJ{Do8e2 zyGMV-&>9A0IjqeKuR223O<-lkR~`F!(zooG1E`oF{bX4#K^pX5(y?%)6*V?H3yPf1 zaZ$>Ae&+;{tuf(^8|8t%pVfbtTRc9Noq{3*h|6wP%x=2cGnoJNKJ0J7L8Ygd{KB}bMmHuiCdOJsVZCo=^WR(zu9e6#WCe6lsfH9| zvNK||@P4?6K{6EaSc%cv%7Kh&dbD1-EdY3s_D-t@7^WFX)~Mo$6rI(G;4~pZt13HE z>uVeF`LaNeBDp{Y-?ygH?fEH? zxQ_~q=q^<&Q+gpUYQC78K)q;3g>w2poVU`Y)XWm7VeU{~&cRk`GYWPbLkTm#-HUll z9QDHPOlz3*lK|4GrIeb@oZu+bNkJW|kth$eDoP3enPFuL$aFae?YU^;(nxwj_ zCjGo}p$~f{<0`y)j))uE^=P+dnwE zo8MjQS^3$eG&Qb)G`si3jrI@6$Npoy=}ADc0r#4$ExL@Nm3tb?^qqMM z)1*}6cS0AqSCW*(7`2SaG3PDDi0@;t{~FXf&9tTOG8AEkQ)!ONtt3Bu%4$bK6 zWs;bX@TV6WJT(#TId#VhO`1Nj89&gU1dl!WXfeL!GBPwj_X`-PgI_%kNPMT5r4^qK zroK8+&Hyu%$mgp8d~ok9p$o~*!>TZl{KPVc)j-zouW_k+kACZJi`$THBtuc1{~df& zQT`cxtGNHm3KH?T!?dSrr3-g3qLen)n>Gl+>gHDH%c-D_R%)YQB*o?T*u&HV6V5Vx z?XB&kqztJKS(;`wqp~vCg3kO@r0|g{ot>&cw&BNEtUBeS>9tpdvnvpW7#8P6?tn=M z`-lcVrR`0^W))V9I9} zV^r?v$)K^4bf^rY`corU%bYI;nK#16dBN~0n#o=D*}kgbtK>eIE_T*ngS1lg2~E$% zXs#{0fMyhs`XH;$wWFi##KRV%p9|vV_f9GQG7Tfm^}{XX!!L*eyKZ)e=N^*+`yJ;g zWom2U*(ItlsHa(d@%|oY3S2v$!u3D=7bBiaUJZUqo$A|(U*0v(Kiuw-0&)pO3O=tr zen`lNmEZhj;rjQwv{K-p6E0BAt_SW7q4k`mM?fbiVywaQ?k|&XVH+H?9H-GA7o~0A z>B*B_*hMPVotJi2p*Yl-JCpq1q3fPlM^+lf-UADT-W_z6(co3*?{n&fPwS{^LIXb8 zyjOX)aQu_3^?@b_BrW{l+R?aeKjYWwSLa8PJi^|VfLF@5`zX1uX}bH#6t4Z>Ii5C| z5t4o!y`6qke%YtXTxUv|QEtM++kYw4Z7pZxN|Ke=}Zo0*^W=mlY!nLx_1yrY8PUEg62~#)Ya*P8WH! zYb_oa$;DBG$wj}TwMgA92mEpAiEU?lP7b~@Dj=1dbFWmrSBjZnAj=@TuSci1ZlAbbM8XJ2NXF6B zCJL)HWpENDS{Nehp^UQ{C%_uC;|cHH7k)^*elhOCeX0thXVGM` z$UN8d2x+kBpVu%z?$_*ciThvShxOl>751yUh~J&trshC5CF{-2uLt4 zdhRy`0%=2uLS%TRXLgK8$@&7(lU&>6HF2v2hPDvu5?I9s*l->746F8jIe24a=XnWE z3LV-a@pobSv+oE^2;Vp0uUo9!>Qv)uDRN(tddJT!l&s18aL@+R~F5*DjT>{CT zWdUEZSCZJ=^ll02Qd-rVQp?XDsg=KK`2!fGgf~U!9l^gBH4JBfXaJ;Hv65nB%n-P% z3Dg%xfbTeF>#f^GpbOfLNDX$c?bDYQ+uF%~q~evQ)b%k8U=DR;e)^PxOWQjCv< z=%hr@J8s7(L=%B!n@{HxJ@*3E{aXD4G}-M}C$5M?x{}hblEK_VyLllR#aUN3eU#@J zxk)ww#}=zjZ;@x*<@6zS<;$dcxp1@2-%HCtm@#TH*`^|OFQ9UKUNQ6(i=#$YQEc(Z z-LJ)N)X8%KnN^dGJ?G^x?(w~UYhK-1Q1zB5o0&}~b)__?e2B-MTIMy;>R*07m$ZID z_DRjMV{WPy0eA>G7vV{(l7K|GllzX1l0N*5>B z5(?)9)T=x^pGc9eR}=BusjQLQOV^Gw?3zBRbY1e<<3kZFxQCJFHS)y+)&ub9-kTH7 z-U8@d!;dlUMh*VkL$@CXVrT~r9&k)K-gLfI zVdC3BEA#lx$vvuz-5njVaog9Kb=nvqo}k3xp}MCXrWERNWINno!d?9D?sA{P&3at; z`EUPRS2X}rdDR!7Hj!VD``F*kL;jTu}=eyn$}30 zH#B9Mk#X8tb#^{vzzuH(k?q!oOfi-J*U`^8x737eS&M1kK76TWx8LAK7nX%?0?6n3 zb9DP-&Qg|`182A&W`n2UCZ&5kHmjPesW#A)5TUNxbxv$>cZruJmPX>5&Cb=t2ZKNx zb7X+AO+jQ&nY=V9wL-Yp1yPFO_A;}5AAvhOha%BVq*q3hD=)W;O@?Y;Y*#W|Pe z<2g+0A;Z^HPk-*6E4=z;q>_@7;#xsoUS0>#V2MRPJhDKP>COncFSXO@On8vf)Sv?O zu+!O|Fj7nIcLf`8KuC5}Xmq0031-j|7)VM#+@A55+ zDFBIfC1Jsb+axq7TQVx5y~Hhtb6_&%dGRP9b6IqEu?3?3>Q3|XK7Wg-YAdt1Up zsI&7zIgb_?l~H-xriXu!l;?|U?ePrjg;KMa2LEIox|CMm!1@YK&wazs$|~%wX9JrS zgd{w7Vmp#?;ggOvgr7t)ht}pvQGQur#z{_2&dAF{@g67kFw!H6Sx&<6RydR0(XyF6 z8WG!b!bt)KwAx0KjmmDCq=9|oZ+fyp`ypu8Yljqi5!)edgAr@qqqVGtbg=R6%J7p1Vf?_#J)6R!+z z5PTDCm}OTP3S*Q8^s-i&Bg-63{`1b17DuUoW>7ih-CtcaH@kxKB5$3T`K|>4<`booEC2tt$pICVf3ufLYd#m9 zOWgqhwKC;-SmeuJ>1OwN2C;VVj5sRdQasnbYjX93?0-UHgo9@t!%_y`dxkz(9EG~m zR)9j?$$HYmOp8g1qu|Etd-dRA@PBf76!I;`#l>0}b~wO5A8fqp-?~W!y z5tEFK58O?6gtXd?e4BkldnTVLP*GB`uW_jV88k}Xe5&=5W$=GDuhd~F#3KI?}IC|%pWrn7UCIGSH8(L zHa8l+zxh9U+uBwYOeohKA1g>QUlKs}O2UPM3R~JiK z-=U6o-A2^TFP+5hkjI*&2noU(rK#T8-%cG=t5H*ONMrXccKAJ0#7F((llrmSPBgwy zHgZygx%J*H8pL~aKd;yKg#FLR zx>NoypsVVu|I04P;;Fp3C=Q@D^59zer-?|3ma`qLGj;NGYH9x#8#XM1o-i4v6Pbe( z?d8u~rPQp-G(@NMIY2yZs%EM*tuA@Nwpx+pi0Mu|(k(4&lObe;?#gS3fpdOBED~HHRV2_r%&qc78t#M+QS9GBQr|Chf~=PF0@|R)`_Yk{P`Qf(+-dX+h+V zkC)_{$woWb6#dHT0ppblJ;R%x2--R(8JTn@#w8epuKk9whaYO57d+2g^bcoX?{(HA zvE0`+Uw<_JYL0zfXso;#p6zxDxZ<}P^h%D&Tmt%h*#vf?;x7NtB~&nZ(i{}mlI>yL zQisH9z^jY9Cw2b50p>`Uvpqy$Xp4M=oDRsXcMiRlUi;`*zMja=9-57hx;_GzJtjTt zgAi7@BMrb#FZOUiIpdN)C5{}{zYWcx4mn(Xc8EjpUVbe?v_mv__U=_ni|wQV2zswfi+-`EFQ-va*|YJ=_4Rq^?>w zVZ7V*X1DcdfRjgO&~*cTz{$zq=^e(@jqexc!nT3-zQDj=Wnh5=O9?}fk?=JT7h_4Q z_Rrq{akG^7oJ{lnw}>mwVR5bF>w|e zmK)_Yg#ZgpG@jq;Z^nw=TCRpr55f&w(5lvk=07wIFJWSt$UENBe z$zMr+2PLphx+3`4{qa6BfH^*GA_L89^vVjaCHuLksw}oKH$~66Da1Nu2As`+`FO(j ztF+s`*68G=Y?_foBrXUHi(0E;q<#Ix(3Y{r9C~*;UAoBr>zj(iGk*0^`{4&^6*DAc z#i;DY%*Yc;?FI z@-~rK^pp5w8i3DACo3eEdoCk5CTtuIKg^pk^s>;Q%i@++zNM3~l#7UQSZf+w06{`_@?>ys;+JZ*}Sd=JSXi z@?R#?4?ELU2kXD8o1kMFJUr@qn#HxWc#v9UWH{3y>+pXWu#fR!st*rhZUPKNx+A@R z6AW~QZS_H95rF33rF6qdR)gyM9op zX2Hh?>XQ!PWg%m7?a@FQXkLSKnPz5vR)WMtbo*1P&S@%W3Z-=&9MEC8PuMqa6q`0H zv(>i+1KnmtQgKkP8Z@2UhieUcW(rAj|Gy-Q$W z&<8<%EfF`)3_hEz>Efz;7+cXC^h%!^&T3rVVp* zV#wj~7am4bz*$%Q(!4P}JzZp{FUy+b(ERqLe2@ zt`p)MPO*|e8<)^3RKD(t+w!r5T#0CvR7JB6DPLrMJ;gLhRh>(UJh5?RHN|XZ_`;$6fr??s7)+?5jo@;VH}UpOnPV z#>Er0a)&PatqE^q9en?-63J8k|MtEA2yoE%=j#Ng^4@Zv%-49Wy}~mHhWd6CI3_T7 zoz?@+Ta@+5L#SZvI{}t7E)q>Jrp`>k4n{u*T?#AM-;!mRKh?*P3h5W0%AfrvY9d?%)O5ji!GjkU3a!V+>IGbl@G_eiVg&YvQV z@lqEiOTs0V1=03Phb1pxN9-NuAedM7%h8;5k|MDcvf3mb1g>{IHiTTEJo7G1>!-l9H`ZPoQAbiB^;t2Pnmvy{$x=Hq<}bR=qOAzm|dcChmVVNn-MD0 zhv#5LYj2b2Htjm#f^VKi>}xpotLs`{v%u`b#U|1gK12BU4n9)*WZ_unjs{iHHTSNk zM>CPl>1P1(+3+u&-UXVVQGUm_S=B<%4MZlyYc^IEs7BME#qQ5X*3gjZImHUcm;5^a z)2fuqI$d1n@JRT?h4tF~-4O0g<(*cJyX)$ps3Ud zq~`pSYoiFl>$@A@<%s+pdVP50)Hm>sSvmEd04i+Px1_g>!>xKxoSGjTyFTm{Ec;JB z;4RqFnm$+pZ6!Kfw-{FInQ${YUf*ri%G~hHNre|&<+6f}E&ml@W%7I_n>T6sqELE+ zyQ3C^+k**F-1LFV3rZa7Tgx}@h+6+|J6DNYrImrv+S?oFsgd?8)OwZTUfN)4x&r2ERqtIm#>XyO#9fTB+YtckDjU!1Fus4Xf z(@KVCaI)Ej)uH9K0~-Qc4ie_%y|Dmq|DD)xBGdhD725s$$*U896|=ZO5ABuPP~pkc zKR<6nyaqRqw}87>d3>T>vAEc3XkG{@6D8?4m2#to2nTH*2>Zuu#%)U-XQ=N)?5$L| zxl@*ip?CkW5JwJgq^OgT&;D0RQ78Y`D>QBe0ooNAa6;C9)J*jJ)O19Q6~T2%ks6gi zJg%avdM-~6=OlUE{~Rf>^EIRI;3@;FUmTORTxNPWK{-*={-j4w^7BzlxtNYZvA#Sm z{Z=@Nn3h^=E3Ls7m#}7d(jWrXvG3NrMp8seYbMBAyobL(a$JcDEB8gF2 zEp1e<*$bJ&O&YLcrnvDY(^>S(ejRzMDM^D-Ua>=Gmu}2(<54Di1bPyGW?0HEjSR^Z znQ*e9t3-7;t*VkIugRr4dt0hmnI&4;_dC7|zFe}C3}p-6kkpdHJC-_{K98i@Fg0Y;8*yiFHdgu z;dX*|iTgy?c8wty?@md{W7ksDoiTR8Ae~f^a!PC=GGR=R-!;$GkhFUzJ2? zMh_x**l!i3VTa22tvkNI+L2rDyMsc0_qfecEFGs@KBnorW;e?^gTJW0?Mr^X6;XVT zs1x*c0cx*J=Rxyke_U1X^VU?wjdz7QvQ$rcL-qfNbdtXu>5jG74Crl}rVJN=JI5d- zA*tJ(&5H(ex$OXUke+htU*3dnZX})738sYS%rmeTHU0GVkcCLyuALa`ToQFpPloam z=HwX5pRGWEj{9hzAdE$|Il;5*(a_4u+q8#~#+h zT!~VqS{Ms{GnwCZMsMqBstD3xYau`9GmF-%?l(leL=5c)J2rtAPtqZn!m{ds`k&R% z?0EF5Xia#hUgq{%NOO-P#Z`H6kz#k0>W4d)QLB)C*-5kh3RWT8p_vgaYa zei$NC>jy|ZqGTs-{@ZP-jp?1K4`C(qNfPbG3k$hB9?s`I-N}mnt?`X{5h;!hRTG8% zhK3c^5+M|96Gbmk;}vWRVRS7^c8<$SDjHRv5_^DbX{!e29Q1TfIbSI8OvSU|r7rv( zVctsfsfK_?e(&sJ$0Pb?fmNnd5;MXJCgB)By*L_K-)~J7^T^7ewE%oe~|ni z`bl<>9Xv%vRsL}XKmY3t;z682!czoxd<>#U?BtZ^(qMNd*C%d7822Gf2rUjFvH3N$ z>ip11I(5zPgc+R79GmsWf~zIv^Y4H z1JZAkhW8k2kowj{?skrSbLjtbj_P26r&qJ6&`C2)nFFqyWDF#I4HZE zyaV)4#C#`hUFeBBpBI;2W-oU7gx>jB(lkVt`uIL(#4arCQdA*M@_==> zd^XFq+D7XqbJ|4br)QofINkYShk{9W%S1T?p&YcMnui_#pVe)#E1gvHA3azW`rs zI_i1fp|-c96Mro0qOcWw*!knu6H7}L&b|8BLysnjeYRR~ZL55hHLSKvpxwtvOFM{T zyC@Fy)sgorA=yB|8n+frr(t_I)a8xia6A4?VviB1f3_kM`3ci0?3o8UU=f_w z#-B)-b9a+M!Whg2?A-UW~C}02_+ni0N1R#Bsm9mn$?)j59%Q=>iiIeuv zL=uf%DIBrN=LU|;a1w{zb>(<`SN z2=n+1h4aIwZj-Ft-oiQ}Og5rd%}ZSrdi#R2Mx5LCw_m5n;RN>ox_qTb|2}%;M<7tY zA9x-2RJxEo$dVI5-|6@RBSuV^GP9r3NPOw-=B`?Sl=RP-#h+5LEx2?xna5&oWf7B- z>D9<*eLmD7!x%?0JOU7ir}dWHC9>lKgsXrpo7^e&6f}x}V;-oSp`mzXPjr zJJ^aD>cYT*2Wb_xf;>FSf30bG9`{tfcyAu2BpwpWY5^UOD3rDd_0nQxCa})EEs?Zz(tYEgmD^fE zB~pQ`8?g8RAsJ<3VXgrLQ)6NUG%BJLw>i4Su;`b3EdR&R%quwd( z_Ne~A;rblpSB|FK_3&eF2M3sK%%-F#1$y(M?SfoshWPD@6MkJ@avW;7OvCNOOE>W6 z$;!&YF{}BHmosW=FHC7?GCMB+y@MlsW-k%aQeS&cQ|3}@XgeBwIA7!zPe)?+*ff~9J zbs0O=EduR&vU3~R>^#qnB6ZD2f{* zaz@ngh!jqI9D!$zd~E&I%TsFVEyyN$T$)!{Qi7E&fxKz{_A!?h*9Yl&m#|3twiW8 zbKkX&NFPv26DJHNyv{Y)AmdmQ#x5<^s1$<%yU%<2#*kQezeh)#*Kzo-yzj-rEBAYq zyBIk&of(%@XsV+=y>G1JO2xN69z6;O_DV1tFEHQN`D zuQ=St|M(D-jqfr50b&-Br6W1EYy^`P%?0n?#+D-d}BTPklRg83l_U zl_Iam2H((oRORgVR;#> zM&58>KTo*%*bxDg?t`9dBjDiQwu0 z4}qfLy4%7WWiL@HIb4VL2@1V*j})>-cJM?k*I}R#atCJH1K}OKXS2Vo{4Wx*>f8Sp zz`ooHL0veN=%6T9(K>!$K!}00I`%&)%6C65HLMV`Nc~=}{Ph)_QbyrRf+Jn6dhtbC z^N_A|W)416mmd=n7oe?9rxO|4!^0y|g9o}J{kiKwVwRdu4JgJsKck3Lje z)_rk{@)Aq3s^S4Z9`U}4iBIR-IV^+NedNU;{ zX#E=W(dST@y*Wv4&d*{=M9UxB+Q@z*sN}RAa4~q*$4i5q%G7ndcjQb)$-_l}jfsyR zSKZq0kr}Gv{ZfOz0OqCo1djVg3ViD9I;%I{`SvXH? z2x$a~p-eLi2AO{f#v89T>IC`qnT#z+SoA(HaT96IBmBWhy*LG`Id$%QVD8rav2E~1 z#=?s1>+g)_1Cb%i+Yt54VfyWhw^wx;#Ja7_N&Ao>4bNx;O&@n>d*U5n-A`3OO?Wtht25E*RM|yk`uYb&4=f@bLhMOBIIuV-;a zYnNLe^xfQ1&Bp;9{-0(VN-r4g%X)t3imGuW0~Z|`ZN0gcZ9hJ02)W#-`|HfN5{6BKR143mbV6P zvxs2`jvFrmB(Lh?eUVV#pUiVslf{^F#YVL@C@@&@LrJ>b48N?xS?nF-H^hi{3;tA5 zrK~{2*C{Hiv5GX2V~TSffPeyrZxo$)K9$NWacBpw`$KW+IWqx#w-KH0mn|qVWjSx# z@Is?SO(s}VKXe76PGt!BS7ldA${abb4Og&n-y9C3LwT{}-If~sjRbwFfIkcu8jsH( z17y|1p6a;OlZw8VLN7MJT21TX&W;p*14Ogkwa$~wI1?j9?Gt--(2e`lqbeA5Wqi3M zrZ&rMC$0*m8gwSBYBxh=heI66U2=tRF{G>%JgBBSXd~Wy=I^+5L%;t&FC3;WiR>RP z5q9svM0UtJTCijxqr0pKoKl2*>ResM7j=rt{?AzCRA`SF@yu;-HeroF)cvS{j;_vC z1^qJE8|nSgO=LC%?L$zL5#Z(xnEQX*m+Y&Cbr^efgrz36b?1 zFl`nAgV6D|$Z7DjUTH22s_hKUacU)D9*4Y_Q3ZOf2ifsE0fKIVNV5rH@M230t1|<#YQ}8M3k=EhV`SsNZitTyqh)0PcQXk z%`_>_WYq?EGTT09pi9)>udOET2%;uE%v{ii`6xMmq5q`0;;3XNtP3GRJ7l4>#$xrBpH)%&Q%EPfb-Z>{j^S zX!!d(TS3zHVAtCb%2uGhTL@8qy0-dmp(aAV{(kG&iQ-!uKl4V4)!-C@%91+M$i6}6 z4SY^JQ^Z1REdFq1CV3#ph6b^u*zgUO^H!JY%XlyuV~xvsxanKi$w|cv1PxHTyrMM+FcP&|jqRkK9l~bYj0@Lt- z4XgvU(9KpO%i7mea1@Vh?s2K;AkFw_eJ`FozpKI4%RWTZ?63X|NGK@An_Ygws3mB3 zx%~m&2C5n+{S~eDp|JOc>S+ImuyYEJY>l>dcSjwwW3yvBm2}6pZQD-Awr$(CZQJS? z73Z&gah|jHx%qEvUDkTOHNH8=cn3+$RBP6(2=oa}%+fn!5q)gAlagLRKyY(;_H=DJ z&(Exb-oxQ5f)1*V^6ro*uu0F8A0P)FLE81VA(_SQ{CWX!Q+AosU-+x@owrvinry`Ti~#UVyO*X z#P>sk0^hTgSs=&j?CzF7A#~nfmvxu@UHWR&byv)2$0tGXN<$_yN5_Uy6$J$ac~u>{ zJt--U*Hn{5ORG5t#sjW8S$(1qW0ER=2~;diGZWkXY2f}+JJjp~TCBx*f=d7AxFbYR z*?{gH@0&QhbBgmW@A+DubNgLW`o6C~gV57m&YJLB(|THd%g5ALxJ&9irBGwX6gFc+ z{f8Uh)9w72C6CGPU7KA9Hqy;wUa6@N-cEcqhjxi2+EieHYB{nXZP;Uozry_Gz6tE} zNqOguc|oM5J7KsS(q(VxjdV>4N3My(zHD2hUN3jMa)(u*9ZYSLWx?CA=}RqUOa#~| zX^eD9u&9#F6v)8UlY|GL%DDX>FF+5wb;a0O@&NNwcGLqX9`UPNL->$m{A^}eXhJ_m zADuVlJfN`p^BuMRsab~)Bo7sV@Jbd1#$zRJC;WubDxWXo00my8x4;VC@5bxb3x6?Z z5Gku(A%y9m93EaB2w`N4ipP6#^t%;;pk0XU<|HCSRryYo4ZljIY;A3kZQ9nVR*0!i zAKC}EY!Pq={gh^oTk+hsxkkL|f{EU8W1c#n%&BJ$k7EYfX;2A)Al^m z>GmtHZiNJuV$8;ko%zMa#_l|YW2s0o3g00(ybY?#6%|k;YehmY>Llt{%`K$n3OVId zHRF7=D3o2icn$g08Zn$l>nVo!=e)4Of$e^de!K^7HN9nb``ot5(K4X&yPNVY{N>}p zyi>MvX^c4URAh5+go{`VeVL%wU&#CL46#VTVnh-X@k0;XB^F0D!hEcK_nA~SrZQbk z5MU{Pxja7?@bU2x;QsHm>^~@CyN%T@ul58}&%Fz1Ok@GFis>sqB-lR?p-Jik2!-X$ z@4U-(QQOMo;mjl>>QD))1#!bp+4i-_BUcV$+@n&b**SNp)sxU}3?Jv_~ctV=sno5$D_|n|B%M#49ocVp*7W{S3!#gw+i zHglQT-`bEs{?UGRYbCSxY8&hRlH-b$0Myu%Onpe+#SQ-lXE*|^E0NLtr}zGz1323y zO7U+%<3*>S^M;2HnntW?P;(%BQrTN~vhFXW}`(&;Kqi8yxZ*L_VFtwM`8Di-Yh%jT_si@L*LuC?`>@{T>a}NuZ;Sw~m^E(JEQ61Z z-!lf9h(Rq)m}Lxdmh8JT~dayj17aj!-4N*p2)S0|C#h5$pY!N0>El4a=B{DT# zt_3?xKN^m;oh$a_3^-m=+Tjs#YFTT+{uP%!TI_PGBv&MuTtll)?#h~Xr zrTNy}vW-+T#$hC_WE0|hXz$ei(*I1LI)}%l~DXm&$D_EPl{2ZW2yVlIWj@*sB zLHBeR|Jn7y$9=QJo)ID5${_O1As;1*GvVgiL+{W_@0ROK@$T6pwu;_j>7W4u++G*x3glQN^a%ed+s2Ua&b5pt@_5 zLAhjI2BQYW`Ff3#>!*~GuIjKW843ia5#nhU8p!T3D#Z6P8-4BK19YjeYR~2TS5$mJ z+&94KU!STdZjC0zN7|8`Bn%)(nj!cK@A-pBMIMEJjSz@QEXA0@2rHfY?Xqp9(Sty9NLK?nMIT39(IiNG z`f!aW(PK*Ktj+ThqAAat9_0Ti?#@5T-f1;GM>o-3VUza$u&DXyptjwP-0rine(|mG zc4V&VrmGq#;L}qBL_AsNg_08AfD1#tTxTMF0-UW|5q%z;EMhFrAYFz9c`kiqr3QLiM3qM8y=5@wmKTZj>x_CX+qqCR$%tgxc_PHm zQt{@BOD6*jzQ7+&uomy?58V5WWp10LD*J3dL@ z$cP$)Bv$Z5z<~7$sk00%qK^%eUT0sekB^e-)em9{i#ID;cK&2^=uar>LhN0o@8{>s z)jD&XsTmo9trakyaiQSKm1hYK(lqEnX5VN6XK#MLy{dFa;dI|gIlAt1cnK8aDuj^U z9`Z*h4Lr9Pa72T$-nVgd+62^lF`;?n%loEcE2{Ij$8y# zCy6RMaT4@{qZHW@j$B@z(}4K|#Dxh$g=oxAEF!m!@9?D&XPv=;5Kib3-TWj&L1@l) zcnoD=tc?VDN`#fcFUbOP*WqXGAAh-(N;9C=lN=780_pd>WbV&TkIb)lIP?9x?A#^C zkMSMhIy7}2_M2xt#uSOUff6H_*~i?9u2rI{?0ReDnt<|OW_gYyPUvCBAiY=#;nj^3 z-=^&>ycuP-Z(4&5J$U!G{)lNC4kyaO} zh(n1|=$g-VVl$2UHAo3i9FEJ zAdvC648JZvukK%Jw+=K?;&UNX`=IB?H6W^5kNtW1*4sSO?1iKKvL&Mn3Jv-bAx@`4 zbin8q%xr1@SPBjfPJWP3Z?^`-)q=-l!z5iekBKB^XkPQA(tNBg;s4{j-MTsD+iR-k zfpT8>)%y2zo8K$S-D}Dn;Luz)t(9H9{XDl~AwM6f-r2z`m$_JpqYRovhPDJ&a+BZq z>)h`O&B9HE3>c+7iwk+C{cesxt@zos-GxtpN6_P9EX>FWw$X*fajdwrfci&Xh;t@O z#p}D9y8t4HP5wpaonWUc*!NY!t;6+Nj53U3b(U;%i&q2i$(5EEK_~d&Dp*(=Zun3j ztu$SvIQM$_b?3GDi@{nhFG*StM!JWcGD|3!wHj9}wU<6}tq<|x2Sg~GcB18wi;3{z zEx|@N0Y-&IuY-)~;I$+4?;zIYIupW@;BuCklp4AzW1l1~=s03cK95ai?5^eM;BoditTlWbLraOKZ%b zv607S8VO#)`EGz3gK8#iahk;?pNgM5t5Rn0ko+Q=la3;L!{1Aw5qSL#xEqL=aDW=Y zIwyt`;A6FTD;SItbYTp0`<*JE$tAqtJH~G&ze7FNu}_xcH#EmF^&oA`C)Nak0_Y zYX}TY+ms*w_Dw|*P}>>H{p*|cf$@)bl7RQ7iDM$fPW01Xm5}ECm(?88vRHyQ6FFkq z%N`1%_G?`meJkv4%&9c!vC^`!w|Y_CnBFkWfCD3ge{Yn?&4~cw?#|9{aQBLsY&eC{ zb7Sy{urEdM)ua_fE*Ud-w&{299Wu2>@s+g;K zjirqRv@#aR5Orcqspd3Bp3z{fHHj|F1BIHUkzCvHCmL3F!s(y8#_~|Q-LMTP+qHc4 ztB#DkP*A6%+)L3%DRq>gL?Ip%4U{lxEuHq5Dq`6MY3E%}80IeZZYw(*X1{c6=?Dc6Z^cK)2_J~8p_ z6)KVAqe|r~eTV1+(6BIs9sa5}O1xH219po7^~4Gav_V!?1eL9U<`Z8^1Kc;`W;X* z?vK_3wLzEdalPr2`KW){W_|FZD60|s-po4wW6x!m1OMfvyzhm|4pH?h*;i!pDI*o$ zz6!1OrrZmCkTrgNO}!_=bn_lw#FvIwV%)%~Ka#IEc5XtO5=ekv-oH3Whzq-rR`JNmtqs!0=dEEIn z={haK8%Y1Yo_rI;-tiU09i;|Q+69S`pZ`dIK6b42QBvkZm7WUQUh&(0GL;$h*>dw? zZQ7tlkf|{&-7hOxMd}Xx98Ms5?o3;mI=ggOd@V_P9=7SXxbpaL_bx2rQ-+^3|AwCx z7_vy(|5^_N0o=?XWby<Ibt|L~xTU_?4FK^}7AWaTz#P>;;7iL1zNgP<{GQ%YAzwRaCsrA56u0FG7@Jc~% z59q~`q(M*i5-(@-w1zxiTvO6!#F`eTr z=a$y6SupzCTQw0#TMCCH$?e=_=)FI#1$vXnHK9B*n51hBMhJX8DWy}HIEDaF%MH%E zP45a%d^(=r>04@G)7e<{JX^l|2Qp6|bBtow&G(C)KD;vNB)x3B*PYGh)R1;e+IH`5 z8+bW;q^K_ReDtcl4Oe>DF%i336GzJ3aGRR8-XgvJgh3_Nb(LuX>r@86B3O^MTOM4Z z_!Ek?qh|6Y6)lEdQDJG2(#{rq#OM!uHwaq*_3=*8lW;sXJWDvYAjC%u0O(V50+3+= z4Ha7nklw9WEzg%{!dofUgM4f*qu;_AwZLx`pFX?>x{g}IADqFLS)BH4L>@<7@Ch=8 zoPd|TO37IvwO9!Bo>`#zmyRqjdGyVZ0Xg+A=N}VOw@n3j$FjDTN9OnSM^LMddFy)2 zq=6cw^Ho;Qj4hFB(^gbf$dy_~_Z~a@!4i3TbvgBb8VqQWtD<7!lwq5INxYa<$iU@| zwEeWkZr2a&@>l#Iq~jtAHslG5tM4%2yph{W^7So6!B04S83u)9J_bxgg(WR5WkA3U z6vpu$kZV+9*qE`e?gVhd)A4*k-=}7h85oJf&URlL2WsC58Pq?k4`uY-FSX0sJ&@6Jz}5yH3DmKZR2rQHKil z!Jt(AH(LIXW0By1s(SPLP|0oS@D3xuBdmpQWKXgR*2wib)yS?0-w(3?pEP-CDt?X$ z)n3I>m4-icfD^292iL2BUcvX~gTAmd_{nH+qJ9w+Hg&c`hFXour&_Pq#~)rF$p6Zf z{GWk>(eYHKEiT1MpsEDig#J#V+X15ft|+p|`H|$QCzqu>?eUx#A}KMYlR$O8itN>m zxjtES5$9c6fcVdw??lPU-7IiHf*$-u5n;hUgt%0vR_=$LcM>KoT8QrUtS>|Mzn7*BP@s-dNXf$sI?T91nRIJ1X1HJXtNDRY3sv zGCeHFM+6x?Vx2z9&dHDzaw-v7I20*TIl3Qq-6NrRMn@n2E|U5__rE?4H4s&v$(4;i|-pUdV7dNZV%@g9Bj7D#h`_V^L{noy~o?F zMshBtfq{7uO2)XaHNIxnJ!07lm20&yTQvxZl=RAszQA%&Va$B@7}~Q6o3-2odyzdH zYaO~*zs%=*o8sRs?lSK9K-nULrKes5VmYh=e~jWTsUg4hs}kV<{84lD#a05pdSODlBo@3Rr^;ChPj$hh}p-_6%Ry?)~egfPZ#S{-uh0_ayqp- z%T>sAOk0R~qTB&+xF#Kb=$&NgpKj2DU-|j@2?M@}nHH@C1n7%?U`F5>;J^Z-+8WC1 zgx1#=G^RcsrU1UCo#v8%d0Z4I}pPo51y%_qR%(a3tPqjsR`|0=KJRmhZaSN8pE5@s1)P${)(Hb zOy|044x`Gz6J-O#qLWU^xttuFg}B2dH4QKwtyEdd)taq0^Qzm$Rdt#qvl1Pig$&JG zk`mCbmR>K1BDdez@H_XFE2cSCT5_er`uOj8XMrF$oL-sX{;WVe6EeVh;vFVlNP9jpMQ;Vp?NQG)RC<= zr-#@l0fY%^cN!;cvnfJE@=%pgcLJ#TEV2rw5=E!Jsp0C~=qaVSIrYbZWS3<#lhRJ1 zIGqr3#5N@~5ZqyvE#X34?r$D%`2|8+B$ZTVxp4go*D}VLl157Dqls=U!TuhyycAk=v@_SGwR&T2!6QT%ATDtN8qy3-c0%Y?|z7pS8QRUJyW zD|W!za9Y1eq5F{l$0u>X6|hDP?P-|WJL9GM# z<=Ok|KF`NBVFIencBpY;^o35gwn(U`s7`lud>QOgZQ32b#hMZJ`B&OgevI`KImxed9G}FFnXfI9l}SyRRqqYLoVi z{r1desQm(Dp1{xZ-(Z;9n=28>z&YSJTR>Aw(KJ8GbMjq%uY;A>^+_>ac zbkP!RU-<&r(T79jY8c;E&C!yx-U977Xt4FBXmF-8wOa7Hw5Zm@Q+nJp%FupiGMXCs z3Y~86*=0Tk2BZ$1riyyr-WOF{gvpSv>InP$0#D68pXj{LxrqCv>)t_k>+l(^c@TRO z=*PXGUDZ!Q4(pJ2n6&B+NsB^q0<-qW%$Rhlsr`i(=}62hJf5~Fz{k~-j*~;zD+=CV zde0k)e+J?*IBIy}szB5wvZ}gawaSJnh`ct8gsHMM_t*(12Gd0=-o&!YADkeXb`8Uv z&A1ZZT*FTL+2@}%R^>)!x2KJG6I{gNqu*)mFWQB&+~ zn_`A~YJ~O7n(RV7v$MN8$~#P&2CmMhxY|{(MPT4M6kgT0{&6G10er6Jq7Bp@ zK4gFkg3pW`A^!sa10hcG3HAd~_J%1d&x3p|C8(VNEkCy3Ptx^dqI93nSZ_Uu%Ck-N z-rw%%OHgS&D#FmxDqTPk*3Fn1Ydnuc0t>i<7vZrJv^|hRfUsP%M z3h?Ub{zO~Zx{&garU}*HTHa?p6^`I&LhDTKBRCpl#B{RC&?CRj9l8$oyx-xlc0c)2 zC&rvob4C-+OZo=XEN2tca=m%-w!!XdnDV65lInklXz~3**VjF0*6pw?S~CXn_eZ87 z;0!N=_4DWZ6J2qgxR~E9`c_p{wb{W++1S{$bRFV30cZ1bPq|o_p{BGpZn~TI{I6aa ztl#>!iP`I*l5I?Xizq<;NFO(u9_^XIM370g({1>3fNSVPr?9Bi`fiaH@47pLZfQQQ zJ1zUw1^=gj&Zp+v;kFlq4-lx+Gp_Ri+6&!Dj_^V+kX7`{$O0jp0z%L7B8NMOe@8x> zx3O1J;xn%EZ!n{Px~+2+s3?~f{)J-f9p8flxWo{ z9`(y|V3}=?`b>RA;YJK&^Lo&P?VBT!@A#y7kcl9Cz}toTd}ow)kux+PEnC+-486?= zJ3mXJU0W6dtF3UM3&Xd`^1K~wJN=g{fl&H~@h82)zf>3!tYofiNnG)slpQ8CUX_D= zU|pf#@wy-l4q5!GA15$SnR4UW99jj7D+_f%AXTelv9DsZTm0GoTa#I4R0lA>5TxR>80`cVJ^=w= zZg*diL{|8eBP3uxzPClY+^;_>l4HIA$+IIwLAgMiof%B$Len1uc-iBW-G(^L(+q*L z#I9@Ka*)0EwYLz3>}f)2uN+wFyk>g*jptVD;5J;cr|-0&cf8NcqS<%4W5Q5Vz&p?H z>dl^SPS@4Q;7s>^=YPBa^J2;_7*S@+LUCqK=|_hvnBlty`CciGcsvbwDI;JQnGh_7 zzWlT0!6>|yr_TvB$C!@Pfe&!HCx5Q_((8XIpu6hgT+e?(&@^tS6yn^tOlp}fOTuw9 z$#W$m=<5XG;n;|>?>F_4TGP8PA2eTG^cvx;*&fx=kV`yHa92vpSH&$Dy)Z5lcluw0 zmdUT7XH~9FUpFNTlDFHn*J@m|#fNJwrZJtbpsyrwCQ0Ygf}mdyj4RF~Mjh^Qv`VqJ z*Ve*@hKAZsF;Lc<7(4>jnc-Jk zZ4Z>pNvj$y1PkOacrc15%y4v|aeDg+9`$(E4?(UMOJu(`+U#UFS~FA=C&QXD&d}J7 z!0k({z*bAtt?MES+eIan+}vEfUf_*jo*A~IR`Rri8^BDxKveFBp_!g|8%2r(J@Tdu zN%TRc$397*ig`u1q?~GB3Vox;-Pmxta;7qV5=Ko~a$4&|Ts2BF(k%p4c+Os!{^ zsZsE9?9pNdG-foow1M((s}8WzN)ApxVH{AlZy+_FL*s~$`lw(6$AisqGn@_^ii;{N1=Vl?s%!+)u{{` zCjt}30qIpnXn+pAHC%6bs4*4Yv)PK4Eyb?2upRM>3(t2rIIt#IGzluJ&V$0r=|)~E zEFj7vGi6Rbw5jzM@4GM8`Rn{@?*RCVr{pCi(^+`9w#T@4gAOn{SjdkuJ1lvsP1iQd zeVwaS*v%Ov=7*dSGvR}JvBIAYN;$pnD+Ztp?XiN{nRi)R`BvL5hu!oz>%h$us{hLJ z#lu_7qN63teo4l+PUw>|hNB!U+KQ@wG)kaTY?me|(>YD8>^v$-GHDuQ-0+LJZiYq4 zwa8*70*xhK?4!!#@nV3_`;_`=K*tlayY1%uqz-YP(;|IlHA6tCFpi#um{E%-+t^_R zv%|tI&(Q6a0X9Har-b7ce>FCAUya(K>(ley<3tj>_e)@{}8d5XCRDc!5qsX6zJKHc^jZnq=Ygi5p#z{uwK3 z@K72ry(&}&2y_&|wjK<`ir$^#zU&z}z_bh=H(XH2Jj7|*S?m6Aq0#Yqr0lMg6ZCU0 z)z8l-3LKw4>q~3mxHa1G1qir$e#Y<^*C#D0p>#ulVN@X5>(t}o(eiK-op3GDoR_I9 zWE<%9)W)P7XY&*`(4pkl)4JLe;dOVFBVK)+L-p)&=`&u03mT`nu#IwQC&V3PeSY$78(}7=Y1986V6+ z3IAEY1Z#W!GJI3;U`AHCeuuPFZK=jbW)hc8kMpYa@5e= z?v!~e3lH^6C}G^$20-Ygq0F>ySkuzXEFg_tC|T)tdsW08yq~7JEbo^65w_NtF%oN7 z2Nj6bH&G{$^t94!gzgpRPU9fBRhq_vyNs)+-2bO{VX!AhC-HyZ`H=WPq@{d&cNz;n z=u&^r2e;i*&a5etL3=*HoJ=BGXrcI;o}`#>#;BtFrNyre387DQcbX<4(FKBDJ&9$k=Pi`)$)+P<(Ic zF8e*Gh)btQ#Z>y#5usdw4+2kf@;crun}FNNp$LNCRi&&hT#%uO`JV?FsbNl z2ZP9Q(|#)b$jbQ6qBZR5fjk zN#j}!RYb8fj5B&?5R!T5gMoB>8+80qT@rV~xM z`VI*sz@ETg3WHqyC0SJKnDpwmN}#qko4#KLa~ZqFCDH_Bm)4gPIi{_cQz{(}v@Lv0 zlpV(?kZB6!>T`@NxV1c@&i+hv-xA$I~O2))nq#Ra^2ZI|5f?=r@#NxSU?fErfAHJ3g#l(pep(n zbJ%mI_kGamD3sQ_jr^P0@F#+}sfo5YIjoSYj%qbq)Z6{IY$kLa?cgm9#%dx~giUyF ztrn&D`%7|nA8fTNujUbPZhCRx3YJXK%}}(@55CvF;M()vZ93Pszn%<=@@;4W7D*%s z5`)f2%#NB3xp-ppJ*ZGawUsW|gJF@d%gy;jKa#IZ1P1N&&bYLjTH*IeD3nz(H0_@c zLI1HfYt?#L&WM&<7uQ`(?|=>aBp!=>P<2D)&^Y47fXK&@UPf!~SD&}r#T0xx2nFH( z(^mS9#rK!SVgE%-yl77atGlHuq5GFIE%A5v!B4XE{g%@rEn9Nj4x;r?@OcJ=V(YU) zzm;maWnurK{cu|98p@;|lcAS_H}|Xko&gry8_r)mmtVOxVUpE;G6Ua1y&MFLz>V1_IKl7LY7e@pb4bpWud|rCN=@n` zzS_;~@1@y&rVE@WY|euE{dY7V%1Q=K@7$}iw*g~t{%4B=&kStH3ViJkfOIEExBJ7{ zKR4C}(V2$ZmRG*6KoCmHO%3FTyCP`XYe%$tkT27MjkJTen1@tPqKFYAJ9OwaY*i95 z=^Ak~y|J|CC<O8X zOUJIW6X+UZg)i#eY1`^l|2sdG%k$z&qWv1>veR~6CBT(grSWkZwjn`g9q#prveYOl z-iA(|1~nKO%Rd;>f!`60PGf&n-+>Lri08W!rK>e7Ymd$us>)CnmBSG(vX<0wM)@;4 zVB(5(B!2(hoUWUIaN0s;doiPz<|Syl24RsdiF${oWgGWGGlKYhcH%74VGP!jFYUDX zUoW#C2gH9(AMwIEIyyDxL{d1EV1#;JAGStrL}}g#WM_)uqC7|o@8Hg#7BUJzaut3g zP$?scSZvq8L9uz+{X@^5vEE+2!PnA9mbgkvN#L>G(0LZSFb6<#eRhIU6B)+!o0XFps||MXl5j zgU?&y1FgKfT&8S}Z?AQYu1=rU9T)lC!&VoRma7YYYQ-e9jnk$SxoRjj-9j6;#*~m6 z0v1o27S&%QW9LiemkT3?E#TWv7G_yp4dU$Z0z+ZCfamxHUpne)p-G||58m1A-pI97 z#-6W68x0(2e1Y%;zpAZvOFMt%f>)@4%6Atgxv25C5dH$dBc$9Ex@i{wblYhAO85WD z)=I6l)GH;KdShH3A}GYU_V>gFCg0jee}X&|t~W{2SF^oQH|^J^Yg{U3=iX&p#QTZt zV~HhWo%hb`_O{ELPl6EfyP%`owr-v zrL=*t%A_?sCOs_oJE>b+2RWK{2W)9v{<-Hfj#69M0dTwu&l8%ntXEsg4Y-m?c#=P8 zpLuRN%#{!*V372=>Y%||TNuk5!!OVRHSk(7*W4;DJwES|27?K7i+(gHfQ5I)ac zh_WkUXq+tG7N|u5F-TLRwb~!C{!9~-{xA~ORa2p+v(z6Bl;>s-XH>l z+ZnEo2t&~MV6GQG&*$pRE!Rl@uKha-t!B!XkSLQ{ZNp_~mm<78#{rZs-td_w7SfSB z)uc_o+2Mh0JH8%n-D+S)C!J!s#H>kcsx)w*tYo(HYQ5{Idb9f1G~JH_o&)d!@h|Bf zLMFzdw<&tU5a%BAAvWQ^w&PG(%ar(i)NeqXXx5gj-XU>lDuM8%*nsH}c+C*W?6?IG zONP}`QP@v3{b@x$DRF~FoNz?uYF-qz@ghw5fL-K!Ix4ntv(Bx@geO$)sE+sGO66~1 z{lqoZ^+wj?8JO=z9AHM2_vsDP+okLc4F}qex4E@T_5XGIiNc%zIL3>^9s<%j^ix6_iqAIW=I(QkF zdno6Guk~5zPV=F7q7CG>ubp5kjaJ{5N!4cxPE)jkK2D=Kyp1mRY7BPA1kw4-b)v^n z)j~3kygGY6dA}bVyRN&Ldi*T^+}7mo+H4a3XzHKxtb3R7u|zOTiE=Sq_w#bA@jwG! zVhJly6@e?F2b8L8=J^ps2|?nIlxiydx&CF2I2`&r<92@j$J>39RxfdO@te=<~_R$#A*~7Z;cPsdewb<0`WO3AScEEe)79y}qNY2s%h8?1`38Lt^r7 zhg3*8;KBCzQMfDqbLiQ;5f0R_#0eH>O%YjWRS>v5qt{Yi z&5HK;Zm+ixlt?JhPM}}4x3?33YTCUM_>}JRw1<+osHL>N`|hd`_)Soe<1xKx%~t+niDg?p`A&Q{qg$11d4YJ& zIKS*PA=`PtMfW%E98i25N`n+)8LuZRjrA|XL^0ieXcTtxNct~5J-=$qY3Tx-3_isC z1tYQgqpp|Y9Sdgi3mkheB3%V<!(v4? ze+`>wn+WMBur`Ea7HU-_`E4bF7vd(K&*QeQ7?e+-D%aM%bK>m!_{3!o&CaEXYeI`o}bKGU0+ph<(NgPIp7P*GwL^}5e z5B#%_;E#2*sNuBhffsGaYRRM9%LJ;Lb}PUL%I%$Lyyg+<98n9*ZqRmGx*b9CMhDg#&h;3`!0m-n1pAeOM0d>ak!d++ zY)IvWUD?C);dnBAS&jF}4AI*I#Rp8}Ag^Xy6EeIQp3!>Za3MP5*r5YVEH5#?JVxp9 z9w(z*Lyb?v&)`^3h#$ibnFea4iwR7%MVx_)lVT0V`XQ&-G$uz@nXvj={K|YhO1)lC z#daSO+kZgUN3{&Mqg2?IVTx>Zwaw3G@}go!US2wS9%i#X$rN*aS{nI?2H=}=#+weU zC#2i9SuX?)^QxMmwhz8rrp51c)DmkM_q=wBu4RPXJ337^L@q@6iwUaT4V-CzWs?@C ztcj=*4#aL%<|j>;gS;O(v2@{4@oQ==rl<)Q`P-kyzDQdaasJ}GG=5^FD8-MXV*eX= z9hk>{dHuIdn<7xYG@!S)S9j5U<4+dL*WjpO{$8-&a$#MQ+>w4_8`Z?8v+Lcz}_O%#=kPFyWoa^WH^%T3OZ;C3jZJj;y?wcW?UhapLR^2+R5n!q>+ zo(3E6=)X7#ak>)=CNVAM$zZsb&tUlN`^TV@7X35{UDJJ(Oi6;ijSgWok&DxkH$+IO zhtYEVDSSx!&8_Z7^Y&)6i_Z}e2SRX>9a;Ln zqOe8+xn5Zph&peAv|y67Y=XXmYKFS*61h*&j5jboi8~cRCc7uotxYq4&wkRDu++`) zPc9*Fhuh#t!a$i+@Ea?}=z^l@5229P@d!-qWHW@Jt!5KUpOf@o0z(lSB+>S{wt)NNhO7IW~ohp3Iy^wA}c&W5sTyk`DB+QhiA48Xx zmfj23d4js<^Twc4O%&Kzkgb!R0Q?F&;}TePX5i5JJuUhbYA7s)X7#q~xS2lS*H%`j zo|FR$b$Z;$Q0LZfLGiZwKSB}uUU}cocT}OH5$rnN+FW+`v)>A6Fjd7z$^+YPyM_}> zEFG``OI1PUue;C|Molpu?KZA>{b)y%mh1@VMD@}G60-NvX>XKvT#PV@ttazXWl@PN z+k--%aX9)3tUu{jl9Yg(`gW^WIA1E=*PWHca|4=wg%qmoq}W<|7Inh@vjw@+K-{bU zye;4f1~p*$xf8|JX#Z4Gx^-s=nTB9Rv!bjC2ieTwEXismFkyv$)8ZmwtuR8??y`Tr zeEI9=&u3-%TY6rOQ|Mq5HSh_{wb)v>r`C2;m%WRP6I>(ojC##?fv3-uLJR5&hcg6- zNDy}{5^p?mQ&8>EJsBR)>4;tQ#-m-Ldwxko33sm43G+0F{x;H`A*l|`X5WK8cAutk zohD;!Bf=O~SP!y0zX0@FR!guOq*~{BhM}1aumpK2V<}iW8Eu^{mY)}C{j~0SHs*1B zm9g6$gQN@snV<&+c?k zj=pC9WKb;;bRy6iIZF$=j3v&(oWE&v@%-X*lZ!}{JiaL9!PT#X99-^gaAgi%UCFPv zw$7bQGMn%#j}bwRVnh*#*7QnfZo1t4YDSe*OzZnzT5+w2{Bj`+f{*%5XUx`OT|-Dt z)zL1izYpK_@?@v5IbjuZE1c9tBFb8MIh~S6lF*RH_#LdSY@&PB(GB0Tl`%d`f`z-2 z>~$M^z3^K%SJlN-dyDj2mGi8y8!?TanYDFQ`oC*u_7wjcc#(!lGSYK&WKnIzU+#sA zl3h&+F@ z!OUgX+h$C<-_zC0bh)+^oYgBf04D{L&#YzqV?8!*7vg-a)6Jmg(wF!jfsj8>Mk=|V zV!wF3MRC2bkGLGELnGe`caN>-6|JS+5b+u&?*3svZmwx;cpXV_Ik;@S6`9g2OXcyc zO;imL^2ROb;6c{7xs1$(tR|U?jp_$f(uEe{Mmg?HRc;!ovtnqs-ddX(gQT?T)0xbp zE-M^}d851G_Ts45yLeI3&tRuR8Et{+vR^fq@J46+#Ucp|k2dR*598xNTsQtUqMMa9 zpc(#g=Z}_fur+_R3Qo53cS?`?)Ski{$(r+KJ}1ond81VeFx8YO&BMqgWMm;w2F%6F zcM~3861j$CRuJWh>swbXuTxTj{iDo2*Yz-FzX6m%QQX>Z5*yo)E; zt61W&hsH}3N>~gmus(xBZ~+N`TAzx5cM>5uDGm9!s3zE=ly{JF5h}>9;-Wp9duFv}6U{`$ngk za4{y(_=G`0m@qXwT$EQq(VeRyqya(dp)Fr1jG+IyAm#E?A-@O)!|S)!MDbU>Rl@=) zOyfos_}!JW(>KM3GEyf&cl;YN_ikGhZNy&@Bq`Gt zCZdvM$(nY9%B1?#S%Mb}bS_8`+o$gf(UrKR=bMnvCvjUTht-G{Mu|ws1 zzKPabMJKP6-z>_O?l`*0?!T+{m>yl#homG6(|P+_W&F?m%8>;VGt1fbGwU}`myaq; z2LDz$Kx81d9v7o&ytcI*BH8*(&_KOEcNXSybvC-I){L@}KyA?EGOLrtpl2KFBZ9 zQ&1mcevH&vLiDd@5z=e3L~ITA_rKm;v?-EPorhBbn0$%@j1Ewg0wl}mQZLhwk5cvlFrp) zuWe9V*%!g}=W)3Sa}=-z@Xi6kz(^nlBrAm%DjEey$SF-0=WnpX6WT|NB>!Hd_8@w9 zP-DLP86q4H#9{6~=4~QIC4nRt3>m5RB8rVs08+MY^{VTTPGy*BL0PjX z&KL@=cOJZc?4anY(>yJnVp*G{nhPK>)8q6&A(7boBR;#2#UMm2===2lcmWRgMjQ=y z)V(#NVZ-yvaQ^g~T;1fk1%{OsM>9}r6*lzC{4$9(KoYY8&QFj)#56+Dh-w0hqY4Tg zeCmnE4}3%LK`5|KW#oc}S9h<2f$wYO%&z;5dS@Ank=%3{XQ@Vdz27o`do`)#bP! z4O;wxJV*G5Sl4wGWvyuBu{gHAdd$LT;$OpLO+yuvSW~G#?Q|2W-~Jz2Zy6Q!|Av1G z2q@j%CEcA$NK2P6bT`7#-5nA`C`d~UT|;+w$B@$9NbdZ0&z|-B-$$JDdC1}BeaCfO zFORj0j>UE#5MB)H0C+uNCUOMqFY>Yv5D1(r2;g`tNx|c$jKTBQ5PkrtRzv2-S9k&I z6sk&i&_|FcPKXDfBHmnTzo~2vO(bo`S}jKUhv(72f{O3X7(N%1uhyEqX?Ykh-iP45 zN$5@XfJSfqxyNn?=+6K2VCM%L=+%!RXd_C+Bi8ya5WKBk#9ru9;E8`VXs2KS;8H#o zf4Jz-M@~wahHTRpJ=z@hWoq7-(rLBvdqH2pnpa;{w^1a&RZ^WP9$V-$Y{$5nQu_^S zx+J-g%@jmE$K{+QxA+1zP{YZK4TtrEBiE^l59GMejmRWok0Nf(dT&lYDC-$J5Kbn- zsmoI(!|#&Rh;qUgB*V}LNUcvePOI!?u>u&UJ&nbmCx0Kwy@lVI!E^yDx3FiEP8i2w zgC03>!p_#kSkEqk&P$_N&AU>3*<}K%yZj1FNB?FN65X*hRid~$>I4;bo z-QDmW!O3^v(dDFmVf+BomH2?-N1>z;#LPxcj`%v#(9DeA?i@7`7MRnJU~lF9?L z2r+e1ZI2%rM;;F@{j2GkJhGACMRdNmJ}7s`%WJBk#bn#hS*@x~eA4DxSUW zTUm#YV}5(21zNMQvB3oG#ZwuI|4wXiw67yL|LhieX}Gz#)aspS9Y;CZ5(R~sgSe|4 zb<+umL%C)BUpHKNYkr1J9Vrc+cD-^cvnd{)uE{E2(dARskhf#dzw+QPkO=TA=qU)G zH#Nj%IX=MIuSgDwwZYgVe>whYw8A2j-&aeQp0+f17mS{nuH>qrso-M^xG|wqyr-_P z`p%HuQi2PUFG-HRxkXEHp12h!Bf^e4fZ(m$afpF;9YzYB`*tmKSF(HEqPE+iJ)YlQ zt3=z2xUO;tP&Kyq*B>Jw7crk&^T`RFL~Ct_dcbifsoXgBn=y#Kz1gta*LXtV`OoqC zLCwH~r|s<~zay$GhAhAChot_piR|BoIh}^gVd_5Z#)y|bCHA?RE{TKbp8GF7_fUig z7a>KnHe%VoHi=;N@fCuxk88k-q$H{PQO|&l%X$I0G7wxw!G}z%nUDO4`#d@Q0|oX7 zZBlu%2pbOz@Mo>Vigtu0Ta-jXfhq~NJ;rEk5H$}!F#s04P540*Z^rxE`^FVygxn<` z-}@TI1o5=^FTG|0rX)y6sP_wJ4w#l+YTO?dgm$xq4-RQA0tTz6_B2tCDk>^;TihL> z*Qi~3RyiTx^6*<^+0ee|r-KEZSMvuO2R0}3++czo+J8e+-6Dh z2k|3PdVr^PaHSIrH*z|>tyaf;fBeBI5KO9$@F&i;5ZbU0bJL2~oe zG3nsxHhX^)VX6*T88*Pjc04AFDsycu!ktp@_3Wv|$^`27<@gcydJ$O{@4S*Plcp*L z&!w3orBpbelM}W1R;zd)P4Yp_hg%qa6)dkyIAEVW$7?EKFd}18KoqN3JOiBh*ZlC~ z|3JOTo7mcx+SY%KeNn0wB$FDC9uzbQ7S;$#&b2>9EUTR~y>pPFM@EzfDdfHHrJ<1T z3(YAgGoXpcH&I4VKVjiC4wDiS*zDTy6<#Tbp8moTp zD1{dr*{4WCc%PEv&Jw}<3x~&`yqL!Ny6x+Z@0PL=j$6Mpy0Tz}({_L@lz=s@1B3^h zeB|DwFGE#>QeF$q^Jxx$tbU6Y4&TQ>9I{6*Y2xScO7}1jv(`pSQ|6O2xH==J$7>^IoB2=!5y)ZDxKe%^n7B20?XnSy zY9ef(M@*lXFc(6|`p06aBTY#`c>E;0!CGs1Ow094KM43YzQVBbY(+ zeUi9N6iVE>6Kv7J>V=4K64GUhGc)cT%!Uz1nli-%@YH4oL>0fl|YG zxs$dX-5DOFfzkk!7?^%2RfV&YT_jzUmpt}swW$o${6AX^oNJD*e?I)cgBecCw97Iw zl_Kc~(y7z{ZI^PT^f9}u-dmV7pAOr3d(H6*utJ}7=&3J$%N0z!gq5G7%5?>P)V(x! zA0xHzR2rCUD$%3xQJyJOx_Kt;h!`@3!`D^Zve$JTm+`#X>qr2{?TtQ?5l$N^GQ{JL zRa0FUMDB&vu+2;-q)^z2kl~MXl{S!N2i$%uKa$JUM1r{n!Yf1`)qXF^^`njQw#a=I za3d#l*zZKNBQ+uEj9;^XX|D-2WKdl+DwDy(VF!>MRssO20F`0wW(x~_`rPtz9#!a) z;Xt>=5SrtmZiIC9c4bF9d4dzAtSCbPP_`(CQl<1^bVm1^9uVG_iv}{HBWpM$;-0Ws zWOOp1klw_Z5nLZSGgpX*4wLV9wiPlN@Kq6Zuz2km(IAzdz%OTt>WPsi&AHl8B_qWO zp&S*W{6BsHdmKT|H=?e%=NTUG`uv_VPbwy4I^=615hGr1he)vy&Go{#j!M!on6m#) zDq)WWCcP5;E-&?RB+UpOPPaY-@(=t(P|hH_y;j<^TZdxD253RBC*rMC-Jlu_06?NK z$paZ`1oUuk85RThzpaM9&)!c@-ysQ^eTTCK8?K%_vb$vBznaEm_&cz z9pcX4WXNEf`b+!ISf@MCN${kkgjg$1^k2-(d1;cFP7RgLaD-^y7!Uae(re(fHrk`V zqhmaMvowb;2P`U_OqMHleigghT0{0vh~Dnrluh*g!t)g}zja939uAyn^)w`PY-WdK z@-%Ig?+E(He4$wTfca(n^rUT{{O9LY(QnJbG*Jhz@v)a@o|ncE-UlhV$xfdGBkl{e zBN1oaVI9zAR=Nh9xIL~9jka>KmJ)_@!%TI#gY`5N98}m>-`)J`n)|gUf>3ij5V?!= z_{%^N#cf=FUu%ujrL)Iq|)*2MXkwX(!{5&gh~4t&oN$n2f2 z1=G~4r#G4dgu3zWAf>@@i_8HMb!Eo%cL^v&u`Utq)_tA*zWdAEDyNnhETuL895Uhq zU@qCFd^y1s6g_^Qm8TQ-nq?<^X(|Exk#wy!uH_v|J&mTH}=k3Nx zZQ)3(1{=W^p14}!8S9Bm!LN(WShLFbR_wjk2xj!KQgHSxjm_Kf{0n3?v79HI006aGMIQ$Cn%AqKU zN5jTDeE@ZLf-x4O&kMntH*yI=Q~bHMJyF{jY$=P+vo{}!WEa`5(+UvVPNlhLt(w5J zeaS)R@q_N6JcxzX?W167`+SRR%qtA8R8Pl4VRqexa7BUoe6h0a z^QO285#)2vi7GrvneO8x>EAUwQ5t*Ywte)ZB9obO&Ys;_uO%V0-{`qqSZ(K7=%h#7 ztK0LjLH38zcAp0}LgRcq(0^Gut24C1w)|kA9@LvKCY&wH#Zb{_Zo1_J1!EDPZYk>V zYVViBwpPjKC!ZtRCJl_23m+c~SS_4msLzb>9USb?(v^c~E9-5JcLrPg23svicWUCI zhPc~(j{M(YK1RD~Qw$U`%EdenN4+)aKhJ;x`HcTyDKN{o7sBbbp;-^UDUnVu%~q2V zMs(x#86nOn*S{{WBIf`Ah7ak_{HouQk-Q~C_I$Jp6nL)23JkJ2-I|EF+ji=Iw7{0p z_IZ#y!gqGtM;ebQ4tDW*EH2cvC)&!OG6(92;Wl~Oo|9CjYDqK_C5~h^J+Hw%?FZZ< z=T{E#Z|8ZEm^rqQd2?fX;c*mI0C@Jp&Hpar5 ze-H-P+<>~P(P}&LXqjtfx$vGHh328C>SYVG8AAC)^?k@3>ZS-s=noOTTa$`9`q4A# z=Ed6aOewH=sPpoEE933PVdRdf?qi--WTEmRy-q`0Zs@oBX<-clWW=}A4tSe`jC zN!4Hbs2l!Yg=qjcRaGZ@gdFp)5mgSl#oudHCGQ%8BFK@r!0OY@pg-f!9Ae30>K4Rn z3c+6@XtphHUPGMUZu#5{($d~8)Z3oQD*;(JRenUHwj9?dYn0$=gAJPLCOrP}lBHp| zjwbw@3z|;3^Gzt-D7+k{>y~I5*~MP4)Pn4NLjP|cob<%#ZjMyX-qhkh2?VeCHd;1m zCXuD4_}a zu}zf0y!lk`U_IKaR=rA0FR_AOlFzQ)xRa>ZcYfYZO-91Bnd_HN#F277%6B5yhpuT~ ztl;Y*7-6==z4Pp4mF4MtM&&I#vIsfiEE>W8u{4J^W?>ERhc7JAM6qHwieJB`MEgu$ z!*;!lZy!a^6@*J$87;ln6CbuErvL-$o67aM}(Ry@KR_)@TT~werrec60oP1D9 zq7mZBF%UKK`Kl-?KEnHEV5sY+$cls)nkA0CP+i***wTox;pL4q5naf&%Nl2h;yX)@ z8VBPg|GA63-75ae^|zua=N&en0Jg~Z$cc|wU8*=Y&jds6T8I*JZ(He~= z7yGD>JDDD)RPGLN!V<3%Ijq=IF?!=xk6`r5VQi0c|8)PRK`Z*+cLc?4pW!o^&yd7T zuNdt(?+=sy5SKPuFEX;9-Ir-}mlmi>u3|2L?TyS2V8st9T4E5oE&r6r10rIU&2SEh z_ba!vuNL7^cYlOAPnWB-vad>lhj?R~Fm4xjO4)`jYhxJFExCz%HEi%I)O6$hd*K-< zsS{Mv?5|bQRBKi{(bK{#U`YeKyp~G5bm(+u!cAq_$OB15r^S}2U0)*)a1lvyE%b-4 zzZNijvbPfk=Tn=|WN{|)@(FG|2oHa`znd<8D9)`EM5ert!OVq4Za6{;Ki-RY1`F$) z^{5GdP`8spomuoAx7C@AU3#IRbQ+T>E6 z-sNpKt_OdWVY_U@+MVMj))_FkDd~qOcPgxZ#7%t#MONMbXAtd9y<8!PP{zz+=SQ% zf+CTjR>})(t(@3(DUiKBg;0pz{~-zu|1dp?Iu#0(U}`hq0Sii9dQX)Gq^^5ahUKBV z{B~+C)9L-Xt<}sx6f2+PUqW>&eXP;qXbRHm2Zlg{%Gtjk>j2*X9J144aZdKaN;-s6 zt{A#=?_p9w-y4ab?DpnYP8#{=g$|vlLv~eGgc)WRKtYAd7lgKu&c3}j08_Vey4`Tp&Pdb+LXR%O2~RH3n;;d=So4jm?T!%9YQ(LoFKNWa1U6D*JzwpIGX z4(eIj6T^i~A$roebD6Jvob-}}ERGxJ(R;42=1WTh=jf~Y{%D_t3Q2>UhD5X|MOeun zSL%i3_?V<%P|+IC*G|=T)|nN*P2B}v-Xf)P?1Pgrc@913`SeNxERN%^nQ+fbH4Rc7 zLF<`RK(qDG%?Di2W3X`Lba6Azf*B;L#%!B5=ZWa$G&$$9s}<>SaLj5n8vpAMv9;m) zyE3ArxsZaZD&a0gt%VRxx3e}7n0+&UMLwL2$%6?b%(tJ-IZM&xP$f8}!kaPqfH1%OC_Nk5T zUHo+NM>Q*aQnRR^NmT@Uvw$Bq2os~NcI%NXR+0uberU0&i=Nr?b8+u%y}-Oc*6UcT zE2&YvvU&DG>Uh5WncAXzvF^MDyw~x1i;!AM5sWzbDb6B0;8(5cEh-a|CTl5?alN0( zi0@V~lucJU>H0rMBvdu@ZEmp`sWuu=^QyQejR&~p+H(mWFM3))um$QXLr&kUKlf3K z);PeExT-OWsIwDpdFQf9yDIuMw7PVaJ+Kq)c~-uNTC~_cMDG||mxr!U2*#oj8D`pa zM%v|kyF4}6RF8Tq?1s>Y|KXy)%g?jw2S`z|H?V#rsKHY1y>PxcFzH*iyw4>>PLlB8 zs3QRWewVGYK!AnY{&XVye@_3$pr4O$*ycvea9&(^Z93KQ2+uH!^uQXL!2_C8J8WDx z;Az6_7);1l7QiyQk)c+M;x;JfG~J&z`&KDEfr+q_AbiNzq&3X4>25mu@%?qfByi}@-80|&qbz<0Nt&eJFnayp8l`9Ps++W* zcd>&2ewB!~&CGJ49F2BKd7s&ib7lGOG^2Bomnkpoy0CTm? z;Zz;NX6cE4kv?hvzctk%&io#WBNp6~Zbn@BF24UXZF0#9Ge5W7sx%c`3EmCW(sv(8 zER6v3%bgGOTlZ1vqaaWdN$`!Ge>PZQZg#S!8Sx@quxW<|n%+0x5)k1-u^8Q|QL++O z*qO#+7%uUAypZT<^HYbQNv;IH`?98=H`~LVu%Uc(Q0hJ+B)RDdvu&SpV#Iuvw(uB* zOBL;C+12wUZATYMAluHWJ|pYAe%hmMt3q^h=+SqpF2!N65^q&u7jE+=!SSq1P--n#xtKU#Z#Kr4rMl7t+t@Ki|U7y%>i`9sG~PE`;lj|k_)`nU}B2#!8xDl z&e4~EEah}KgpxvUh>PMzX{Rq5#f4)xLu6VR)&a#5$E5;di1v>f0J~$tN<+x(55A z&~Rdh%x^>};VBl`rR{%dV!#}nb>doY9>U+uycK^62(&ZW9Saz2IN!~sc$(>@npTq4 z7Wt+&bns;fI8~Tcv)E~6-1?4?pBK;@&|;j4st3(o;~4{$_XPjm{frwCq3C(GM*&(0 z{{;{@zv#D6e~`eR@G$x-wy&vL0*hN17cO&r2>bJNH8F6hJdtR#yUVq#Yd}BaVQ!|o zkl8(4L|5Z-<~gRV32I)99g+sR9QUK(laX=c`V<5P4b^xXhK^v57)_=3LgwipBwKPs zB)zu15KH|6%R@AokuI}m8PV6dg^f%*a7os#TQRdTfWExN7K;u|MLS^owV6QTY2IUM zdG3A7#;>dHFZS)W2wTm9_Fiq)hGzn%f!^rmm#Wf)Vr%y^UX_U@$HuvJr>JL{3Kp0e zi!w>UhibCu2J#m?=mz*lgF7QY=Q$C~(q3R(E^`G`h0*HeNp-g-3h+&lrHd#PG)ABb?)`90TWwbP=hQa+Uqta2 zlm-XnGW6*t(6`>>_n~v86U=QjmZ9FHyQRoBhoVX~*Bd7H=GMxHYKO3N2AYBCt2I3; zyuW3atv!*)1x!LHf%-1kPO&0WuTDl*e8fV#Vxb0)Rk)*OR+y z)9vP~<LPXJ=l*}S0B01$a0VObV{E^j8^N%sF6pQEu}o@>QVE{< zgoIcM$xl$!ucSeIBS8j8a`d8JfXG9CSmZ2VY7^??*pA?m z8^CzQ=mHIuu$%#Bz{aLSCp5u37;@rW86e!S+cE7=Ac-Vp-Pul-*-jx)R z{*8>cBrm4$mJv_ovAif(O5pzPepj3?Sd(C*=hD&PX(PhTD&TA_I6#1&_ zoA^>4S(e%RSV4EFw+cS%si{?=W+NXdzx{90#zZ%F_pO9VZ!vc?9Zt0xY=QWfiBJ4{ zas%jpw!%~T$(dv+NnQNj%L4{S^3H9nA;B=k8b*97CpX~M++(f)tIdnISh?Im-UKET zsvyRNfV;kbf4DelePvu0Pn6wTn&=X#?4T&JnOF9J(9#1>nPDq^y zY-?ub#2J??%J$_iYb~)u>m+{56Dpo%KfUa-6nC*7gr6{pSXqrPaJQNl4Do|u*|Sof zjJ1#3yH`}@Dr%Kp0oRHO(f5Yk-t|@B1Cr}>{s_Y)(a>W%A*DV!1ki(G#!u?|(dOo?gFEbvE11Ny|;WVHSFT&L0Q zc__l-oCK28%pWYM0ySMU-fjJf(9^m{JHqR&QHQjvz7O=0Fh^Zg4BonkDk_@fX9U*2Ew{=oY&<|h0-&Ce3k7nhkfp%_pW9pUb(c1y)+Mzk z9==0x=E9m_apBeS8!HmX6sxCfwHg8!(A#=XjRq}+@j@Y#5U#@IvrgQEWv%Z2?p)WXV~U2CI4L+4o^>AT424+_NfYcvr#rW-V=hHF<9&AR zTgJwvv3|6O*UBkL94r3oOqb3@O625Ag7ftSlXHoQ2Zx!yhAw*7yo9~&WJD|`yz}u# z>sS7DjX6zL<5AsOQHL;d$=ZFBBaIRJrm~YakN@-4>n9C;7G^I}z{ElC0|-oj|IT@Y zooFUi6O4G$T*X!-Um~oet24Ck|HX@{{*eY^WL#PzQyuvOTohYJoxd&v1QO7-Jjx`C zGMZ~zuxx&NvT3@LxGdi)ANL2{qyatP3BGi9e@)-+U#Aw(wO?eJQp37qPjYv{FGIEM z^`tJRG`pqE8vs7N9=E;!VXo!Z_}X?iZwLSY=6vq1l{jj-SP>ZCAw*L#4(8F&mnG;>aAcmYiIWb{Sy%bB4ni9X$+Adeg%>I?p3E!_!t-zrOP%Vb!b%ykSMJ zbyM+ADAAm2+spPj0!L);`A&=)W26#m;Mv&Qi?UAy{8MQ061T4l^8b8zXKF)3OFdUa zxfnhbY*BZ}1or*IVDw;;s`OV%Nlps(jC#n>Bk9=gMP-i~g%lyv(R;$TV6F2psb6fE zXE!XlspED>Rs9w)G>Ui(xYl@jxR6zKCvb{BjiFzfjI?{XWdGsSw~|{+_(9M0ph~kk zNxA>x5?A=*dv=|i__}b)K&1diUVz(Yx(e3|UvZ_Ca2p}rx%ohy?8P8_WwlWPA_}N* z_&~!MuDUO)=Fi!2L}B)pO0gYYUUSmDlAFO?*?iBxdV908ujP7Kw!U?n{wu#6OdSNn zU-!R8p-%~m-WXs=_*tXX3Te2pV_i05O)391{#(%%8ODT>UI_R z#yGaz1fh;$5TnDH2XTidj!1bH8T8JQ9++M7mQLZoGP!#kz6lsOL! zc#r2diw*jxk)Y4X_i8H&26&YNkq&v?i>RmLs+MTU4N<6DHcw4J`thi_r~{wRfjMF* z_N1Y5vFvFucI06oguBJdyqNetfFMCWyL3Zuj9}YpSA9 z(xuE|&Nt6|7e>ZZcEr#7Q{oNTUvNAcu?+5gnUct5JOVBU zj3{Mu?>ZG8qHI}htIVQZ{!v9`0^2A+LnFCKK%(81Bw$qx7H1Y}{vtW0StF#Pxo6aW zRg~EOIDkr&%@$)7Qk4Dp)L4v5&1x5!Tg()6`@on-t!zLzPfb_aax@LCJ9#6@=3i>P z^_OX5%&7y>D#y=#>{5}EzO43F)A&XpH33S#F8j9ff!rT zF++&ih24ae#9NUNHtdLwr7mg-D2T_s|CIgrL>1~_Rr7IJIJsj?S#RMD8)HdN4wxkG zuyNK9!F9(aJTU!~k=W2}63zMo*{19ONp&d8*d4f&2@6j*JQp*>JYZCQI3e|a@o;ya zPx)6asB1s^%Ax+xO&+WFd(p67z!ay^t&0pT82A0q4@L3J#9`@6dW}--D{k(vl!9g& zTmyN)RRO&iBaw}0#^R?uzNpdnanANgwB}UWgae?{R#g34bP64uJzrRMWk^N=j| zl-boNfXHHnpnJ~-$|mTc%#t}n9Xr14x!-K^ zEv=2_}^!79g{P4x!9+SJj&};Di~nWRkmCW^A}k%-=FlqFEH7#sHS7p z&f;m&+*l!>;k zJ){k|*8&pzHr6BinGc*8wC+GWyxDhlEWYqwlhM1z9QJ1YV zEu164`L>s)bHEXP%`Lawu2`#I|FioB3_B!8ilmbu=MY6*x3RDayBm{uDLU^B}gs#>)2vDh&dlDU@rYM4) z^~5riC@w0<$jSS9d*4PEg&;S^ZzrALrf0L!*zT(fOGr0$j*eVex%F8}e%Z4*Y$=9W zX3`~phky6~>-wvjJ@~Z$ZJO1Vb!p7K&0&PIq@6DS^(TS@djjpX&kNxg<*iNnhW7le z=D_ytYvZrpoECr?c#B`d2mZ^=-xs_HX{aGFk~IaV?D=-3BatbaUV1M@Wf;hg$TB)_ z2yq}qyzUF3cc(x|W9+(i$~v*Dh$;kkweIfYFoY$s8%G+LPR7e+U_# zWMLU)lPP;qmRGGMWKjYeA;Rs`Xo#hCl|qAn+4IBybm$FK|5pyQ#U-}og46`eihPUHtIlM{14>19FB}W{$npO7579*c^%wWIMqcnPxrB0p}%k%Rz z>ex{N?Cq^){(wB!sX8o-1Ht@CL@Thpv~aG;oirk*!&*dzl*YRw;qLI$pO`*(Xpwm9 z`EhGg!SNr1d8}Lu-&vV}da*-ZsolF9!eXEAme_rHq2XI~A&-mzu7 zsIJtQn(oLV1idJ{so6;_(PTwSNabuQi*%&{>JmnoMK2BP>$D5rS1Z^GAG(nnr4x6> z(LSfU{c)0Ckk=DS{$Aq^fZfV5=*&L);7+O{KMjO*Hl89V0ZIHhq0tip?op5dvZJbO z%%`SHVJVXHyCsYJ5hamsSYieeg+Get9~-99D~BQE@AHZl#%GMGtZ)JbNWS}DsYud> zP6D{N7!7}vI~v$4(I{^bwVTjV9} z9=`}qT-;*-O@xi~a3}qw)@i8nfUr)_MpzCHf=)`+zJA9>aJW&s=BJ-bil@O(Jy zo0-c{(oP^T!DF^qeLBs$h~o1{=(&P;{ix2>Tz z66LO7s{A?sYjx(oR?w{RjS-m|W`XMDl8JA6#BL|3a*pqc%H?!s(lfy!QK4S|yG%T0-Z4cVx8np~L%)OpEp#;Wb^aT^8qUtM(v^59N2$dq#`~ zp4&DDL)JuAm9{tj=t_mW;@!6V0_sh-AX+Yp3Hb} zR2H6K}HE5Mn)uHT}3hDW0NOm?<33J7V;WWd80(yTYQk(D%HRhY&8Y=Q0w zJDdU5QPF^ZJSSa<-QV|8DFGL($K~|e+A-vM5lRk<|^dOqmP>NQs!ho z1o@eDB61*#yYNh|u^v5Ljxw(CFLR7kI zsgyem^`Ad|gcE?aW4A;+KMomL3A=c4hxj!#|C;<`CKHQ#wDVo?HTZ|;R+OwoOoPKp zI4pKbJjbou*7qTP#bs&*2EedE581Be+-(-Hg|Wvb-mbv)U&0_q1XB`fou2LLsqW(m zTKw4kHA-Y+aqsJjOe2X%nsS_kMimX$DKoRy9M6GVu{$i1U(P65jLjQ@Yjz^N6^eZK z$O|l^2^y4^JXb^`BR z2?SiVA|D9;3>~uQfJMPzgnuTHc%$7{LdJhSMA9mWQrziu7BU=p4kiM~-lc{kx_-dF zisb5&j~$cG{lW6|5k*xg>XUcs#x|-nHFUCg|D* zL~N@3-hAFtONe|^7tg5u%IN&DVuDOFRD{C%__+Tjr=65T==FxiE3LzDbYeG;8uT*n zX70QOac6akrO`3>bQ=+*SP_o(9g=2c?Yn9|7pL!w4%>YY92d#OwOdZ!67{saWA$(J z;$XO>r^};0Ca3sRVo;*@B8NL{>HLzJTsq&4o1VjsDrX(DH}Q++h647qMkyxSJXN(} zRz}X7tbkGcpEWVIHSl!_RP-BFS%3H5sGmbs3^_o`e=Z65VYKhCAk^fWErA7!w!Rn^ zhHp$hl@?n+^F=P|mt3mbo+x@`u6HUva-dhn9tjK5D-JoiI9C=D;*vJ%L7B+%opURj??*4VPmH8jaBK){X(B!tG_2H1^Z6#K3vjsY;YCc#zbL3Q4|KgDm**o z-%mW6H4t`8L6GQ5*7jn1V$F6$uQ%3lE&dZfF)_JsgHM=fHxR;ts3fYLkcc0@hO1?9UXq9viSL-EJ8A!4c`SCx3IZs^o)car(A`?58-$F zb(V+Et@YDLAro6pLT9?^-jR_Bz_hDCwEzQ#C9axi%I_HZC@r+{lSqq&Uw7+$G`Fg$ z%>`%IgWrzJxHj4h!3Q1HsN`pDU<8Cxxa6dflX|tNEx=C;x6;_wQB*)^jkE^jbQp6q zjNz#>JWc2TCKz@HPy{4i*yaPsW+Y#FWfai&jl_^T%qjWY5g08{U;KGiN1I7z+IO z9l}Cs!(242c<_fC2gE+-QTY2&9#lRY6k#T8y>Iuilm*d}TiT4vrQP>nyrs&=z1%W6 zK~^$}(eQEeHD*dP=l&!rQjM0F{cS|?oHlD+0j}rYW%u&4FFl-r${|8ex6N&fV%bu> z_EdE_b-?UdiWnk6J1v&+eHf##J9&BJ9_s2-ZRduhe-~?PYMN)+oc~EjUw@8LwAt*| zzA#dFOxG=#MQ1GB9=EKA%eSzQ^z65tq<{2gQXKv9qQ>WH>#jN_ych%Z#$Jz$@xGgy zlzFz5uFiIvQ5)pFfx{^hl>C~|6wCHP>g*zi&4X??Fst+JXDSMf zZebOTgb~8m>DtNW2!Xt$TDv>nZRCHQ!fNoBBSv*(dIuh?| zz2CVg52zon^)(8W9C5-U(@caZdfdNL9v-QPl{@A37cyl4)lBc?t_Fl zc2c=ve~V)?amW3^vmBp=2?48H_FVW{Oj-|rhBalg&A~f`JxPp(9gCvJr~|{t5xabsq(BdMfNlh!yfiLE)0W$;25EZkc}&W$9}O@I3OSq!TWaE2(iSLabU3G5@0Hl7$hqhl-un%w z&QV+Z{?++sg11LR=AYuAZ{4tR^D@$ zL-wiNl$Lm^^9Lcgf}1`&LJH{%U@8<;>F~)6wsMUPi^!quemy3^?>6w1nD*}b&IGX& z;SoFwb?2Rn;LPwiUm1H$9NDV|9?fT3#3Qj7eG@*sw#7d7s*QywYkenn9J%2Q#ElR8 zU9|0#mA1K_sbh>7V>-f)8nF7ce=ziYa&ZNS4R54~1I!ZjQ)OL96K7$F^oWO%aue^O zM_F@b(wqpk0*Y#kKkn?0R?7R*8`#eNONds&XXx-fQ^ge_XilFrC?fl9yDtZ4i6f#8 z9qD;R8bvw!fb?>6?S=uAFv7>cYg&x(qGPocp0d;lADA}W>GbmM$se~9nfiD7M=+fQ z3|MaX1}P#)9kJ=J!bTcPkQ`Au(B9YB_YGwh5#FB5*9DNlv~Y(J9UsDGr!{i(_icJX zQb>G5k>HD!KE^`8H`?r_?5kmDqHXU7?h{5%WUpP;4A&nX?29I8T-G`Xg4OOP%lY$b z#AIaG;*E9u+ff5KZy4_K@|z7;2SU!@p41!|(->jryL>Ex_`+01U6)E|(75+16nj5& z?jy;Oaps_3oT#N5P>U1^kct%-h15Db&9R$n=szoNTHFhDPlWWFzXfCndXwT>mnB34 zi8I3``}%jQxec$v?apgJZRM5#MUpj_WW_^K{p=x4;ER}LsPQrZxaH#W>T5o%8(W6w zamu~2sMz-zLs`TZl1#!Id%jIxL7FkSci^qWE`B_zE1d|s{b4zX?b2&g`h7tL-?!jL z;BPQS4fue$8W42}(WW1WG51Kl$4EV9Uk)kV%V#{R*T`sOYfTQto43&8C;+(P&H_F` zK`UB{n(U41uE|;xXc%0*=6edeU#!l(HMrXyXpq(~go%zZ{f%nxUA-ahy%~heiMR#~~-uW!i({SU7BEJnk3Hr?v68hmv1RjhUaxHS z3GvG*gU zoNRmP?~laxI>^e@Z?t9_GU%_fEP8MH9*b4kx4tYBtfh}`NC-cigEet4g*KK>__LR7 zOuzL@m)Pg4bE&akO)#*I^!`bSg61=L$1#41>out^OlliDLjpqBL)QY*N&1!ZMYv7} zdl!{Z_Vtl?>0sCV#5@Q~+0|VG0~G*y^^s*mxMt%rsmPJa-0 zv6&$d)jHIX22ssW71oHCP{dpVSuhc^{7;ELibWxQGZxngit>Ku4Kz6O zd`-0V)^eZGtK+l#n>?MALS-C$0r2SilpMJ(a|cbE;iR_njVUfWZbi!~+<>3dI4HUH z8J>4Jt(YB6XI9qMjyN?BH9RX-hxJfn{zI*M6Nt#tX>&)a;x3i{=ZrPj-14iK3;Mo>%;B=QsK}=(e1^UEzEVu3UOEU z`K=~x`_gm>KD7{JutBV|(jOB|`OVXX4y(KkRM{YB2o6E2v!pDj!<*1qGNJscIE-nP zb2(uhbY+bm)+d}cJmc!| z)X7&3!8Vk1%773#Da->B=7x}iyeKgZnd2WD-@Ww;N>*&!TC?Tkq!@@l!2sv@8E-Sc zW7Bnq%Q+GrsqeY#E^ujaR`XPDFO#mhtkNs+?4IF9PQ4@Q_I?+?y)mEQkGJ0OxFRQD zWip;=EmlwLM_7rqfT5zjpfw=w;YO;%3?fH-zIJmFm`WNDJEVsl3^?2Kyy-ja_RO*gr&_im3Ik4H*`ph6S?$1ui$O@&o;`+Z)H$w|GI zHsKhoPRZQf05Z96deGF_4 z_mu+|aZjYfCVn;EOItlAsi{1dlQr4>U$f3zC^x;h(e2E944h4y5UTH`185r$Yngy$_q3Q@v{$-0ty&)pmJ|?fUVwvKl7bUSi4bP^sHn zxL~o2M2C6QT86)KBYG9Zpe9{;eMN$tB?gka0?8ui3lNdfPGz zlY@J}-AQB59_c+WQ4Rx|+^ARs2<|+9Ur|f78LYaX;jK6#b~C`|Kw1gG%RjX*qOd}O z$R0a{2{zalBZ8VfJ`GHIrs)x1ua7&b%K zBM(&{RJvlC!-DfLUH@c#ncvmF;aJDekQH+%rbQdrA4!hVR~d|gotPiCNflhv?(17Y z)8*dmm^b>AAWeyxt5)m|*ksJ{{@xkkkvROwX-_U>FC4Mb{#e5WgmUPdz$6Z;H4yjhfXMk=bO&LSQ}t)=zp@s80p`gXnFuQ^DK`@B5C;YTL08K{VT% zAES|?YCTsbc!X3F_iUKquif5M#C)MfrGeG4irR4q3!kf62t56WUhQzeMVqx7{fmQ*_VLoY747RO;5Vk7+v}o+J*UzBoIa?Zz<%=J zK9x_27oy1W1RXeV3Rhm!Bf>@i)_0F(bNZRHO>2~kf3ys5*7_L2)W@Y2%iHsrPVw%Gw)ck<1GLBk1(~aw7Q4Mco*W@bx4WBW z>SpMM3i5s@4`}yj-{BbOG@tusHW-zo@E2FR8qL$Zd&4x1+39vb9e9xF?89JXW^f+v zoU3?fMxxKFq}uOiLp`J*HotY_=aA zV_E%?Ca14!XF_j}uMZ34J=cC7e_Z`sS-dNE48|-#lq?A7d21xKd5K&11-_VGvFS)9 zF>!R9;KLuG(E3`z_)~jqCax%gf*K4f?bRQ=My?nlw@u@-PvAl&UteL)^yoW+>1nR{ z24&smg}->`vEzOymA=q09Mmul{?EuuoCqj|XkkSat{l(NZG>5^5aRTovBFz)eviu{ zLe1X#y*?=_S=pUEZC}fUuk7^QMsEylUS?+S-@SVmJ4oSZ;7_gjezMeBSqn9-&ORh{ zLa~qF-jmZ~%-KnkIl=?VyK$D8x^Yyoa%Z83^#XDxW|b}Iy|Ebe;9!Hl)1>{3p$J4? z8;aR_NXUL)#c0~?nE~_=oS69l>!gdps0v`|c#Dz!9u#dici*`-<>h66bC~aDP*!KN`=j zsi#jrADty?cnE;`+PPD0x+n^SJ@eQf^*)2atllnSYbbZ&iCtO@BBQpK2vp_?oKsgX zC~;NDBxf(la8&yI-T1RsXZ-^9s>>D&-~D!y?GTHGkK~HtiM#Q>%iE-JpHs(+`}TW5 z*uhmEr){3KA|Vr-0o+G?)xkqJVsgLIrXNiwOzH8b!&?w7B@c7Jr$O?ZXV&S7l>&EK zi1!-6K(fr%fwH^w#^wt7$btC&HC;{~s@|+}l^G8{Kdq-ku-87Ivv>v`+|Mg=X#s4BkkBrxOm%X42*15B)Nd{_V8b{@^LbFF(Q2;DBb;-H4w z4E-x%!mPQ^M*I&?LI$&!bDOoPNK`a9!eSEoqgLiJ*lLZ0>pL$rZR3PUlN@8$Q`aV%0O>|{RMD)R6ZZOGc7=1(Hz2Z?O&Tt=lwKe?C0yXCe zi?-`-$=zMQXduk- zfnjIQ?{Xe)#^WL?%!KF12mzHMw3sZW!zW(ffJRi8ax|#uu<6B^!Mp~W{xJtOJ~MR zpe6Ri(moA16Z_88_w2=kek(=%5QBi(>YlY`Q&dS3^d*{44xS^uh{dlBTMUCHU zzvUg`_IiwIEP!RlCwWTATD~MS0o@Q|Vi&*+SGex}W~eAugO(h(>feW( zqqrd+*iCkO``Y8`bgO<#<*{Cj^2&wQ-KZ^V7uM;$h~Mj7FyBJWN0_ph_zB{nO-p&NsO6Zj2`hHshTHzkIHtr@}CRLn2kCq-=Q_`FY2A| z^0qgDMpPw_(cUR*?>({`R2(1P*ce6k`y%X9#SPBk%}y6aJ9eoPKz!QFL+24H1L{Qjs{21by5e;G_oVN9?cG zxU%Ud=$^7}dDb*)kDgP!kPvTdRnzbu=dx~Jnq0{6W zMzk?w#zBL*QRwLO><$ETW9+-tr`Y6>Izv~7qI`BS0Zd@^D1x$f<%nhrF_Dpvvpv^JoJ% z?NBOK4734#40opWnE{J54 zylX3Ar<=MmO10{^)df09se>HOh~J(1zkUBcF%MXRzOB9}psbrah=9=j#hdFKdWJA2 zXmA=pKjhWoXGQ9#pC$n#4#l2K1qAQ1h0g9!j#!-)yNfup?{wvP7h|yd>>ei`6j@B~ z@S=@!$J2T?|Y)3j{+AoVj2Ay5{zJX|-aEE1bL9 z;F@f$duO9G=?0I!(fdPw=PE)n1@pV|Fe78C;i#LF#^FMr$Hd#o61TEA|8r%(Uh^=a zfEaheu$~1q3d4Fms6Y$7jUl%eQ*zW+iJR5B zrcR9P;vlDD8vdJj+7Ra%39%UX?q;BN!r?(7R1GUGp#TpEtHfVp;S4a+p=IfFVFX=z z?id)!a0JFLN&tNwAOdO;r=`C1f=Z111|Dj2tx^SSea*LUF&fz)Gj=^#`;r5T{a@jZaip2Bp{ z^yfA2)HPVpU*dA%;4g1jRH1EzBXWPtF+7OWVE*(6T6|{84?0|*&WdDFozpX1jCAuL zv8WCL&-(5gv}0lkUt@#Y9&G+&Q?*;f!j0bj#nQ5m6of4@Z9^YE;`aYZs~G zGqcFu4(0j{ z%MsHYAw=w>!}N_PDF|pF)}|VG3+6Gldv|x~|3=w9`3CUb#3#QHiMKF=eM4L9&hW55 z(NR=6+=xatUMx#Iwj z^VWdUGQV&%aOF!Yn2p4G<=f!pPDk)=mNu-#Kj_Xa(EH}{9z?#^c!z}c@_jR(T1caW zaBgX7soG|?G~-e_=;Ffpc)3Y!CQF89g6VV=t&F|KKtbN19V)!0y^#ZJ0Z#j|BBw)6T1ffCpU ze`0)Q(z%Pz$7lK(d06)wwE)r7f2#e1EGyslQuEqQ9S|HelT!b8JJt;4mYl?&d3gQ@ zLOT+&zyE)3rQSL-hfC#))xRevC$QZ^Ig%Gt1K@DdgHq^aU5J+ne*E$wKfvX9jiP_> z9QrmPr(Ld%KvTk>8w_14H5!#gNam^!nptI0ER#FQNyw6;1rIyjbU6JmMlh^f#QQg}}eE}t&n zJKte*mVtgRAaA@pp^FGKAqh5;4ado9gFw6%0ow0ndIBZTW%{1R^)>enj`Z9S)>^RM zC*=q##r8N`PP<&RjdMEh^EX6Mf(mZx9M*G5Q}dbddx=0{Djb1pPdI5qaBTcvWs@Ym z9CuaO{MUFu-S}ROli~N z&h7jeP<|H{r?jr{tGXJaVfBH2V02{j0Ld>}nOjZ&bKxQoSx8+(u2l5e<Oj~}X*<));o~_rT?TTFAb0d^n)Vc)wC;9E^3es?v#HXxnU9V9#CuTLe zLuw>p{BEYzr?20a1f0jo{bSQ3oN1x-F=2=hPnu|zcms!Y978;;l4KMd{E>}R>uS?hbiE7@50PqeM9W_W0uCwy743Xu@t zb@trw{#gVJ`?V1@{qb&QTZD?<^)QK3qg4d1C+~|Y${`A@JAjX|hOO6xuJO;ijbJ*p zV;Y0#BAF)=trT71_8K=v{5b>sn0XmLl+6XI7|DA3>HfmV#q$}$^hUqGgI~m36}0xc zAlMjPXIxn7#9S?164M(Wdjz z3E!+f6vh3Ce7Xu`rbZhkOA$wDd~-PKCwGlw@%Z;-6}2Wt=kp(C1Xnq3CP2A$T?6bz zk6VpYCcM0RKJ)vL>Mk%aM?ZT{y@VC2N-S6u`F>pM8xQ$D6#|40$v#A!#MDH*p!RC! z#!5zdegcQ^ECYKwIJ`cBLTu0?jb$l~Q8&$8MM6(=Gm*E2Fx9}19|#26)B_kkK3U!@ zC&0L?#99A~W~7V1ww2Q2wp?eop)#C7v#Ec7nMjgouHuecQI#Ko*}+U3`m|tglzlmN zD1dEt8MaYK?x6To78_BHr0VGr#*aF13|_}9zmK+Ra)7Wf#b1)n^<_aik|XAN^v=5 z;1Kr)Wzfm|CZM&Q{H+Dd--7PMw4FTY&*pA{+Cb5Y-;qh|i28V4WYH8&1ScDp)9A zpJPi*mif6hXL}{D!I}(3{nRiOmZaG&IZa3VpCw1H_t;Kr-7gkCA66pc3YU5qcs8{A zZ{CwVH6#;v7np54K&0G4sqZG{9j^7vsebLDbu1LYlPiAt{mC4lrQJZx&W>Jw@J_^w z>%7oAP&x-52KqUTo?||lnWgfbc?q8%rVFfb#xZE$@HbHIt*C%3}BrRLq@l0SD2-{|+yAa2TJjiFovruJ5 zb~?Y8awWJP7m#5)5+5f%iXY>l!pDsAN_Ii%ePWKRm@YKb3!i3B zT|P_$P~5TB#dr+jX85!1w%9FEM8(tLxSj$B3=DR(+ zX;Z0YVfI)7-+DSqhk+A~biqUA72hw7NgzxaOx6Y-hz_(R-ZcX7)`yTo_FpA+0NP(L zyRzi@*^*zN14E>*EE7`GElR6CO)O>N({7Ss^x`#5Nq-1PiCs9yBx=|%# z^=HU@|2Otn{0nuSaNQ3%{vyfBF69 zOP4_EtQYo;mLIy%eT%-g9Q2}L!MqW|8l}@OHOSACcr)3TJQrqQaZHne+e+#Rduv!rZ3ce!+z?B7g#GdvP!PepRtWmQ4 zKL%r8UbgdGvcdU1@0oYWp#5A0)}HnHEMY~e3@z7%Y!wXN1@raxnOavF++{O3X_S3& zVO+sCMOm>+XLtCg4`NId&$DdU#4M48T?d%@K07;}H@0kjvh?L*zQT^pp&Ho)+pbG{kKeFML;i#~vaBEUIkl4x;vJ4LjdEm1<$frUOoWj}^d` z!_q~-5K>roK_kT^#?!_^k<-nN;}`1epgy;K$d9(D=E;_NoZa#r*$v22>?LrgspP;R z5|Ued8VmfGGPORAMpLDQa&8z2tn#}ZO z&ft5XKx)DrCq%9+gzZ0)B5`V|)IYTgSyNq)oRfq?m$wmXz3VRak$Xk9oA=6{^Y(9LYz3!K|OTxlv47zkM>c^KpUGtAyRu zbr6fIL2dLOBLq3>y}3ZrVH|?|vFR5$+aS7cV|&=LG!uVzX|h~aZQroK^=Hf*orS!S zbOYQP>sS_H&+#|ApL8|t<>;whT1~h-$YVdw@qR-sk3u^l=nMH~14X{=5yRdr1X1Oa zdgkeOcuRYjG;0uY!#wJ12!B<71(jam-~1}3h=aS4WhldnL-2TgJI}?e)y9b5y_b=) zu~UuTXNULKIisspRKMSKq<(@Za`UmG_3rB8s}HYe-~#-42VO_|Q2?N|1|GKZvOdz+ zZ(#mKh1jykXzZ1Fj103xy?CjHv*VV(n|5P5bVE=Zn`64W;fU~+j4_vujT%?tqV=sOZ)GFore^kQ{ zf6D|nj&o(kfmIS~YC%*wsb6YXL;t!P{6Rs#88ZUKFFvn2`RKwMwLfOALLMI;Z0h$s z13De`IA&#O%1J%lmk9O!CVMAL--$^{xbYmc7LcA4HFPk`=or-Z{se;)=KzzZiC00g zN5EgvPp7HDhi{4zzk4XF-l{IC&<-F3zIBha$&c{ZjZNEfXF$h2Rv-AqMO#-^PY16k zz54@l#R{rdxx=!?FLj?Q351rATU#B3r|SvqH=DxzV%@6Z-MM7 zJ>IMD%pO1DXSo?zWP=A4^}|wkb&??mW79tEt9r?}TjWVp8L_`jDq_F!y)FB`S+XWV zz1?!#cH3HIPs+RErZ#$}Q~sHkS1U$=y-r!TjWg7bBEi=1&M!Tb0yV$HmOKNZgo4k= z)X5HdaZ3v}Q_`Rv!a$3f+$rfC0-~%qz##q$-6ly3;VI9aB78SkMO`2?4Nc3@D!xgkiRk_Y3nu?7x(D3sy- zflTKokAVkS%ltwbPiM6T+N2RCJv^;WtFJNVYr?1VRudRcuG21A?_;)-lDtiH(Bp(K z6h_{#3E~vXzd`K3Vi(>^Y&Z0vs46FDyz=g7<5)+V{y1-wasgdXqUyd<_xaoINlA%v z2e=4xF{D{S(rNc=#SM=W!o$OxueFS8$oWHGF0!3}oQ7DSN^HmXC}hXy9h^aelLzr3 zyt`?nuHR>YD+93>k3~%UDZSC#<*Ps2ziopVUP75Ygg$`9bBI_~yUlAJVmsmV|7Jv) z1XC4AOZG!x$aMbI2#>aTGb5Y~{o~6bgcqZ9gYf4ppb{@Xw;of} zT6p3fI}kI(4m=<-&Y&^dppq1E;LtAy3*o*;liA-VfppQCeWxQO-d_z2gY2nUy9H0( zOX%3PofE{GbKA!5KH*#FRJi6)dcC=>irv&k;R3o^{&J(zUUxE#sCGyOlGl17wO(aKSz!E6OCIaQ%8(3_f&Dy<~f(i?Jmmt~A?iXc9i(-;8 ztXE5fWVR%++^mKp8>SwzhXc%&pj0ebO`_uNX5fvSBQDV#mO+7Ni^Kz@`geX=>6maz z1dApLgMm@nos>HHu7Dzu>FF9wO4-+}873ocfOPHtW&y|mg7yZg;}**gjq8IQ9PPT;2egC6%zf>ToZJrBW^9l#fqbg8Z8qX+AS>xt?p(1 zJy44Gb6nu4Jii_TCQjA`o3-C%$<6+5uX|{ zg3({o6O}vL?0(uc63uqa3L86EG;JY*7WMQsDKp-8lN#N=Q&1lNKo${MFAHrV-xnwn z2U+T+ef-%x)sz_m_FglnHYj7r2OY^d-+~Tm?6*-)<8Ki0=2s+cOCJopmleICExRd8 z7@fWcf#avef(m~qKWpV!Ita#i6>_tstPtJkR0W%^Z_n)VBP}e~>LD!mv7o)JkJ8m3 zh3fU4q#bDf;z+YViEgc`7IqUCcWwz8QYf^bpwEdBgAz@3VsExbHLi=m0D{bV)85Do zm;cwq+ybVzqgk=YoIz7gX(0h$`i{2$6CkoP$vmWIi%$L>A_?@|`NrKt^TS|PwbvzU z@I?l)l%-8h$2Kj{#=)jY4g(SI3>*S3v94*v?4#WZ@F`@f9`yDq$%C+2Hi@MU8cVnp zXhO|qo9In;9+FxW{cfArVjj=h{VymLdM|f|TgRWD5#FGNu_jZ#q3aQ2CCCu7@HgS( z+X$ImP0ZwV{M$2V*4bp4rBXYmn4Bn+$MXU`nn3GrEuDtIC2{yznev{dE$+=uX2Agk z1Ks54N{VphH22Qr^!G{*ZvY*w?e9+SiH%F*AF+z`oGsN-<9++><=U{i#;0&y*=_V1 zX$<4MmmZufJ~POn$G*80M!!DW`AGJrmouITz6tl+C%9TK<8k(QFp>xW&FOyFyf<@% zdQ||1sEx&Zv<-|39A8Rp3W3(!Eaaa&K2KON2HZx18{Y)b$*@5J{;_yvCkoYt$X z^rmHvxry>;dxZR4>S%Ef7Z@DK9cl z#+S$bcjsD3k0I0PlNfw;Wk&caR`ZtWo_)-k8r_0>H`mu>e@;AMs{bwHwotHC9yq6= z%4Ue1v}>Nb3W;DE-*#`jR-N&WO#MmkR;<{^0zh9#c@7)VMM_y^U;T+*yaKeFRlrKP z5QWKbmiD_FMc4kB1w6p9wUcn&# zPsd)3|KA2P$v1hRpwnyVpd&LN-0$)wa53+lY|xmS{Vxv8{dwS?pAz?g8U{&oCa z&5UkNC01Z>{3r1JCBfPo$CMud<=}`Ag_tJJpL)v1I=l(wmn%{B9!Zi0f8>%qnBNKK zeXIq;6&V6CGXzs37@3k$!R;?Vp{Mh1Zc(%9YSUg+$0+x|XHwOTjUhL)wh!?d5lyjM z#xVGsyD*k8hCch#+qDn=p9t73^uj0XcjGra4(h+XjZ404bf}|jXB~XI;3NYo^{9U{ z*yuA$TiD2oJC|HHW`0vby#Bg^2IE-uZS_7yd+P!(#?TeM9s~ z*XP>FJkrOtH=DnDK9hUfQ^aEbYWN7LWTVN; zeesAX3g`h_gFjGW*ZmAXrE@QE{qfxurKe$m_ z54LWXCaw5`LIf6UvZ>gL4TW8P%OBDI#cEf`&-hV})1_r8?R+wTX{XA`nmVQB4#z_L z0Y@VdI0e%j$^+6Ny8VG0zd?BQ#Hun+)t_CM6nOHMr(_K;V*jpJ%r4cxiM{b?Jyfk? zf+><=-Mg0oiC4|LPZ~#Pe+gDF;AKg#Vl~v)XG2h{?N~>4dO+#0T*WHaNIiHCwQg~? z63pR{x8e~)hSBfgp&hx7dLy`U<-jxh`KpcLlYW?kb*uL+a1B~+$dH3IBJ#Hj;vI9g zxPx{C)9B*fNnuoo30dbur&9T_r0JfSPKTv$ z$h(0!fuAS8CLu1S+2lY?lJ2dKO6^DDv`SP1PPExdHGYMCR=^tRf(d_BNFIJfrWG?r zQ_$XPcXeqNRUNf1%GOl-@lSl2mi&)Yht68g%ggIs2HVVvU4L-BIPaRlByePW#*@SK zc&Y=i5_+jBv)@d~8$t`#y9qxny)B)zp(~|P0cl0ZiaFjULZ4{>qQWz-%f9!F=Rvze zx_)`ZcOd!n?2C|L_KBJ{0?U>cjbiy>iSxlh*_H!E$1ad!rj1{}X&`-h^Fcycv$CC^ze`ck=@g@TEWwp=j5D7irta)SJb(wYS zhqMJ?!Op*!vVFC+G=e*;&UM>IDv|FU#!&+!*tn`pn7gv8#_tF zP<|akK4Ngql!K!mgI}>1uzrpuhaj=-PI*4AQ~9`Bkez&mzft9Bg|N!&pmfAXiV0<= zGaU56yocmdMhT?jC;(lMtWFCU=5gpp>$A+kJ;4|^ZTW76Grg+qTNSli(2;2K^OUq` zkfYD@k(Gm^Bo$tsiLw_#apATmYEX+>E@U)*meqFDpwc&H zNPTRL!9T!S@sX@=DA>RE)i_LMu08E0TKwA*XrcWVaj(KdLP{EiJ9kwA-=!~sa->DJ z5h{81!!#C>_zw`H+rgp?cykudsk4bWW*g28;iOTCPhLuE~)q-03Pq{AIvA7l< zd!fLDs(@Tk4>Er~95hhWQow4ju0myH#Pkg5s3Pl;72=_7VC5_2df6Jhm}~Xx*)Hpo zpB@$oU%!*~FC(RP)HGFp#CK?3%PLDDmG0LYyBWYg;tXY?7a!L z>Wgx`rGZ~3qI^REto@l8I9U|{bN22%i^=`Uy=AotCwr6{{-l&RcsRbTDoJ{Mb7KPA z`B$2br}l4jhpl*Mon2Be>r7#+KShjRDHBX_b@TE1jFEdCOcfGLHE6}MR!~cHjl4xz z$9ug`x{DHh#mx|0idPORwg&f=K0Z!PXvDD-K;F7B<=OUU5@B`Vjg*;~TCWg(T`qG> zOJ35^-PqJ`C8YVNT5M*{mL&UfY_RVf`caew#4BfewR=iM2ZKy<%lpL)`F`2CZ2DF9mr1Jnam z^@bXVf=22kP&w64@8y20L-h6AS!*EDo!z60kIf`*GP($bM&uW7K=;o`<{4Wr$r=*> zl_uOX`uw zUhVg#KYcYh@gve=$Z%abM>f8RsMT2<%~e?0+A>*-Y7K+{` z50$JY%d#uWp!8vZP*?hzvfSmRzLhYot)9o;^4w~C$HR|fTW>x7h&G{vMS08(X17Lm z+l~M)iclvq{jo%|LN|~tA2$~!^iLK$cNX4)WY($S^+p$~6J_l?1t4iLa29wOexyNK z4SuO^Y}1H1(jPh`{$9fcrt{^dvB68@itw}+v|uhAZ$Y}*Wmyqc@}#D} z4)i%8eky4z)oTL-N0K6fVKG~7)(7Q$-boA`BQ~eCxL;doRB8R-ayrIZPj0Hag1+P> zn4Kuwb%5}K@$Tt0Jmpo@+1j zh*k(;j_E(=+mf=RbRVxpoU+;rvv2Zo0RnQtrx>fQ)<;0S24(xf%q>K)(scj2aZo=3 z;y4#YwagFR{)U^pid#Dj%QX@OPg96*bJm%>$sAH_Ho*W!XuF6$>B>`Jn92kS0cMNSAIRMPIg*cWX>vIxzYf_Q~h4V<(T zTRo2kDSqf4yXtsm_cb0VtRx~|q6j%?G3twy1i&#ZWG*o~uYj6}P;_kcU_}9P2D}~Q zRkysIBPEm4_gcm0I-in-KgOljWk(JgjDUoxW8W?|0CUG7fc@AiD}xrb^UWTP_mDpR zdIx=@n!9^D)SIlN5GDhWH{8*`Ly_*fwy{@veekw(Bu@45(iAjh;{=xwB}tsVJb1tA5D*-%ET z!Rq|{{FoZ|LLl-t!AQ!?7A>zOW&Y7Wk0_gTFgc;N z+#7b3{aub7SL3f~yWGlU$i^%~t26 z0uluh61GE8Uh49ioH$dy!Kc`LC}c6&W@53hejZ*eXQ#E(Ely}_%r#}CWu&bLlc}e3 z9#vk6d|@HgPkp^se#Q5{r1w{KVchu-b9lN>ubd^tBM48Z9@+C#+Sg2w$07W&(fjr^ zQS)l>FeYD?r2P;Txrhu6XORO9pAA8sFsL_OI7DHVD!!c zDrZ+#suq^aaQJ#nxe{mh6$WF=NHjK;>3k8>#2H;mXo)_PGC5O~qz^72Z0O z!v82L-q(%YJQDpjr8kOb>j$aBCs>L@$HX)p&k?pc``S_MuyT0ikCnRh$Jz!mZ8-)p z=QL<-YilbwnH8hC?ht@EF^_Jo_4s@4KNmY%2O)=&AkO&Tx-d7@>tTd*^(M*7?9pkg zC<{R2nvw=K-rj0|-*fn7z+BD6CTy_!UGYSIZ_$@`iCRga0lpPedr!%Zci~hja!<;S z4P4$xKj$i_Ju#=}{)QY6Q*%SW} zMZOK8Db0k0s1W0ezlQtfcKFu(!`|P0Xjm8t$UW!s`4aF>J#}5+kNcD~8&J}tn?J)) zgXTIwE$@l;L8eY$413Ye?H9%~UCbm?qUo9xJAxgt8Mcb<7_2t9s7KAlwwIyGC)Bo! z7)SLH`O2cA{uNPPfuQ^_EV%Oe0t0?*6{TGavsPK{R5Ag#;&NYI;G_Ng+@eaIosmdz z>-}evJKHO*g1^3t#5B$|@x4f6)cK z5OAH+|BcT@<`;po+viRY=2Kj(2yIuKB$aR0IM-!U^3=m_sqT}8mguTBv|NCl1H1wC&yMpQHS0!QnHahFL$r zFXjDPa9%v=2B-Av&WR934K_KWhJ*ce5Je;+kk>2*CW{5=do~7a(5*Wkr6;f7xOj_z zyYLJ-AHCW!SVfAv6tB&Ozj0e7mV8Z;G-HF~by7_WOn0}SS{VO?np|%9X&anY&N|M8 zir9y#d>DvI^sBlE?ki_wdC1K#fsX41VukD(Y99cAd#*xHYwF)Q{-#aPe*v~bLy-hb zRaTSK(9mN~LTX6W_16};tXv0Gdc{+ST!{pJnZ(Hb=0g#Rx%9SWF;`N{*yc~bS${8C zfwo@cYguRk--SWcH&CnmaNQCYy)p-Wly=whj4wr$s?uG}D!xUOK5)&1C$4WNrtu=M zxvIEz`sQAo@&P*scvzC?%7A2VZ?6q;D-pPypMQ%va`p^MD@2|(AyVo;m}+Pfgo7%RSXz>TV;weF^xDg z3xC6{`%Nnk(mD$-F9=8R#{Z%{puau;RJh&0Dm-Evh)!9)nwQ+1KqpyNX46>A35#h73qO8w`yBuXpJKrWqZ0LDqG5`F* z4_){TPOS*Ne$XSWK0xoNq|CwGt-**et_8Phww!di*j9_{7Y;lZ*Ve!e=lW&T5h@j% zJymjllQ0q3u{5*n+nP=kyFYO~#HSCB?B1<&R{cNQ);~}~z5jPS$tfygK$@Ekh-&b3 zBtpYsE=X^fN=T286nZY36jinCBUPcHb5rS>ONCkab6iYCXxZ+AA(TrLNRV22d=i~< z;)S=$TjIo2a-cA=X94;52?ikdQXhZ=9#6UwhsNvXv3qiXLm|sp_RrpQSuN=ng_mgR z*edKiS2cQvrxHOGy-GZnA`s}j0|9HjCjyUlCD#!q5K{#!#sD*)BAxCAs!@T3)(?-s z$@${Sm4uJdPS^XBi9A<>70@+pm%6+c~Q$R2^{jPpzi>> za-YJu--R9@OPkeIeEBesln_CcWN@{4Ed&eZBakmN)Yq$=0it6Q?*mT8Z z)c5Z~q_7XzxKZaDDBNFmCX%dx`mzNjbv}mK{ z|KMWvByfRv^O{f5QWO^}Nd|t^nf~$F?pWd%3YxhHxeq&e!UxM18g3%@wz1bPU}W9@ z83tR&GZQc?b0Wf))y*=J5)AG16_6QoZ4f8>a$&u1$zr3FLlAX#3gyGDd8<+Rd#3@c z@~?38NT!^hlW5Ou-XZc@kK440os^@U#|k>{lIUMBWu^6bKD4oEs!I)|LBz^oLi2|GwFeGc97c&p;u#wDPoC%f*#$?fIWdb?9askx~ znPPH>tx)F3EuMjsFl?0PjJ9d%ZC*Kh;1qavD-f8;TWQd>%J9xYZ9@wY$VK^jlUq18 zlRXUf+%KL^eMm^2&w^y+P1?@`uT2Ji(o3bn4^`jFkY#@&NcQ+WPlBxOadSj#$(d1G zsvTK2TPG&5k|eXGN*Yvr+0KHCbJ3b^5H<2j;pDZz%V$FyWrOrbX!5xr?_*_sF@e7k@g)4}uIT-*2?=76kX@JA z&zmJ_UX4}a6W-r;3D0_`J13{Vqio4r02N15bJId}$f?A0ArFF&=Ib%1aLI?herR`3 z=QVd{XNcheZnfw0`L#@Mzo#NNa;ee~_g*#6x5-N_UW!r0be%w2Ad?(+`kZSCn`VYw zUJndYmi#GS939!!EA+k2<>=5pTX&6qT7B+sFx+2Zu{yL?lH8kYZAC0OIsKB&5yFDm z_Zj|j*F#Bar>eHx!m|ptrAW?3nWuH<%-gRE@7Vkees3LWm^IOSGJ68sxaRqJXT)83 z&;_>=WL9FFFA_>;9z@Ni5`@T6Vtd}%GIrbep^Y zhQtr-+KJd@;e0qOn3Tf+zCa_xH@?)V7|2dbuCP6zhICk4a3% zi+wOPYaP#4e9~=TlE;fb=-5=&M|GSnpbR_vxeQ{~e*-}1;%tZDy->G^PyOEy)t!3?E*I)+%*G-AelO7>~nd)Xa&4j6Dr|_TwU-q8PG96z9 zAH02oY=z7789Z-?GnSie_OBaV)`!W%r;({>uB;hMS}r4u4Y3R0Qba~yjqd(r9O2~N;T^yiYA75)e*2fiE zm(5l;$4&4f>V<3(=0B`6NkQ^6p^JL5w%y>e?pZ9hhq(SWF9+U1`BhZd8lM`H@|*J8 zfh`J`4qyo3pNKl=-wb&br61&iwQ!qKM94Z z;KrA>;2mD_;F66V9s|Y2-!8{E4NQ^$HV2i!Jxu@2g_#W~XeO8ru&uv(S~3RxMub+W zGNC11IWh}D1`nf}dcqlUukC!f(jdc7_YcfJyyBCbq|&Ps!9n-cO>y(KJT$V^g)|tm z_?w+zT5D`b>c{*()*nJLMl8p=4wi}(L1Ik^A-gcV#IF46Hk#1pM`*`0)b-E#z(3RL zSGPO34reBkkpHJjL2jkK+6iu=FtjR#)ApN;zUv0Otejk2Z7OFpV(UqH%k}ryk*8+) zYT8#K1?i5hi85Oa1LK7*nrw(y%<#?HzRd(N`5?;chr6oS#gdZm%r9_fW2gIJu`oS$ zOxk`54cCPOCX+iuuA*+-xPgTmC3>rhb zey3$9MSW)AL)>WFA`qe1^yzteUn+d~X*`|PA46hG{p!W&4>ijI3tVCgPMR#&T zndnxuIM!4aPG?gB&v@&ip6M9rTX3Z-M*R)Y+Ie9;ns{OKhG(#)%oPja@FF{ zVg65h+9QOOa5nX%hN1&?p-9ZREmcqpII_B83Jp_Gbu zvo}B8n(FJ76KlG(|gj_wai*u`fx)=7{unxB@a41 zJWP&>b^ZJC-2d?I`HPYeT|78A5O#5CfQp-cf>R2nDR%j(cn~}HY&4Fe9GQf^2zJPq z>#MaqKp|rr!)KR@@6L6>`M?e9EkYHJhuyM|d*QNhlyc_BS{IhvfNk$r5I?)|V2vp@ zQPZGFTr<^dJz!EaI%tsE2hFS1UsH+vK&r{e)2s z{EPeKaI(*eTk|;Jt;^#PrGdr=8!sclvnSl|MOcb7Fw>Tdb_QF6nVBN_*Xc z>C8hNeCqDFrJ7tpJ}4>0<=bv47els$Uk}C<2tFU=@ia~$=_+m}$kLd}QpXIdAUL|! zRvdRS3Ob@%L2Cojr1Q>xe?c{Jb#-0M5a%Ausi~Rf7x3Q9ZNiBo)3>Oy8iN7$)0OB1 zefOf=Sb;wav#{nO_$>wz^JSz6{b)3A@{S;CuB7wa$^4CpQWYN4 z&Qx-8a`cVkP`O^q%4!1$f^a4-q&hhI_Ja4*uu%tfsevsbl;l3LBfP@v*t*cRloOWi z%L`;=(n~H#NrC>#Oo@VD zDdP#H^#DK$Po5(P-oFrhx1$o5Hrh0ByXNB~_2KVVRD%BC0sGegGLw*|gw79OSQ<5d zAJxR+lj>+r#KcPtXUg3t_hDl!gnk0_p97I{z0K$;wN9W0d)O%L3YCRfXW6hLKX&Rq zWcn!HNg4s+7F^fvI-Kl8-g4XVvc_JoA(;++UFpKg>V?vj1RMgpfIfYxlm=&Yo3A3vl$XIAV@F81xkLDoH3s6 z=aRa;-^*aOPH=U^JXx}rn`EOM;7>{ue}av(+2O9Mgz-rs7;wtX(f4TneuI-)-Y=tC zF@L+9?7I`@OL7YTysYtE#hjs^zi!O6wuEH482XKhAyY(Eb5pHT_2l!+r5lhnMGQS0 z(5sWP3i^@*9Hr5?Jf(g9SX66kCPX)5%>hcpWyz?gu?E=BYC_tgcNa4V1Y8a7$9`h% z6;|8>sMYM01+D;ENB|I0enEjfkjCc{5b?zs)E+Rp=Dz{@Za{IRM{i7$+ynQ74%t#tM}0z&er`HLEAxgw@@IKCq+E zl_onbN7NmmSx%ht%FQY%YAP)i7)!01(m@9qIFoX`DyO}VEK)~rIBO@ybIEJe;UK6g@9)W(ta|w?6(CbVCT{@HlZe;N!@b^pL;P)f z8Xl$H^(6c8bYs_F$R;}ryrv14 z?RF0gZa{u#5~}m0Begq6e7k+cb0Jv9^fEj=o3^?FP4biQG-kKx?{l6Vc1brHkp zCP_YT_}DNMOFYxXBW!+=!r4A67K}q(Y%P&K5RyaXpcn5V-CT0c=w||qlpD}@p`8fK0MO_b z91*nWq*@ontq(=UC^1UGBubdI=aFE+5W%RXX=b;FPtz9!@Q7 zdVK5*ex{3J|LEp>Qg-tt%}}^+Etgc^Qs8wzS2RiC5x)Q9vxjfE_X;>APjSaopHP-% z5Wv2PfAvBA(E8%|isEL6jn2%AGzO+e6>Brlrg)!WXA~E(J59HyHxYgUAI{K%4X9cw z_K%frWja(w#6I5~^9CGPGTs8}I6&f4V(jk1DscPq%zalD4C8!@x z_Jw1SNs)MLbqeAgIqAdV8X(*X?=9TiF%f>@k!ZmA*#3TVC{a zIX4tY*?mu*rE`#))a6mnf#Lk|V_4*#6%CaQ82-_}?{dAd>PPnp$=PA~lt#{(#ThF& z&vr-q($%-}b0LypBvf@AQ?h`HRY0IHdKN!r*^Z{^amG-aveY2>FrV%dqqV3i4gYBZ zd7-@F(QgU|c5Tg50PE=JERWcT{r!HxLOwcwOJc}0n;guPIIDA#j4hKB*;8$Z@wr3X zMr!eM;a%R4=OD-BT7LLiFjUK$9_<{G7&Dz#z174kpJ>qs4Z9+Kx#xVB)DT_t%vSTO z$os2Scu#*Cor}~!Z1Wv>_jM_kUaVs;8?UEPc#+)oGaTi|DgwjHr+K5}>t#K==ex)k zJcE~q`Mv8v9v#h$Bq`dsY6nT<#~a3S&d1wR34nyMK5ag2B${WmV$`nZ%;*nm!Xoes zyoFA^AvV-tifFqJcVB5j&|G;xqi$`a2eI-U=g2I2e^=rI+x}4I`WV^Zv^8DEFUj&_ zqf&@u2pRAGk2JcDz*>fOttS6oAlluAyjKh@w8>9iO`+gw;sA?90A9C4%4a*BZu?A@ zBT%~^=gK;db=?)<^s+q9_Z9&qOr2XVIUGo4z?ulJK}c|>rxH^QPQN?q|Ne8jRA z=4P)hrw5N2SgZJmQR8bu4*IS`QnPwO=0-|=Gk}SVRlLm=}93~uoyp_zO zV&(8gQo<@8a14b3w09O6AASTgd1jZD=qS$X1+l2mXx%!zmijrhhH z^!oY!=g>muXEqWKr~n{fO7?g$Z>kCk(#_$Vn5nU`XA_aUJQ?0#eCXg)OuwQjCgTp{ z)Ks%fTPgl$ac|E7pCjwelN&Gh(TRho0{AKK6{mIw7*1 z6k$k|MpC3Q!v-sqF=VUnwHK5L@aAF zM2~8YDs8Wfny}LrwW{}xtaI9u0VJN-6tmnNPIz}GHJu9-XkwkUz*Vs!3em97*f7fe zSH{@5p>zPkLbqq%ph7(r&iX(TmhuJf^wv+_6X1M2KjY0-raWU-5R7 z`S~{0X0`R+te)&IlCse~v*QlqU(Kfyx|53w{ry}t(OCAcVSo5s$#L3titRq*;cZF! zH(4~?G2BZ0>OT$3zzw{l;q6SD+hF<>-Xj$cDUrx;2U*gg$~bZIEA~tKw~x zUD*5dqLLC7kM!i^{&P&~k*CmPG2*Zm-bxUJpiWai16SWQ3&7lt(0811g!UFpc@)dN zurW3}_u*l``9XHC4z0fTYiE|ojT}9s8PYlgQ!sl_^ z0luUvN`-HlMt5(P?U=PV=8qsP^F&5tOKMiXl~oJF1Hk423aBL9yYXY`N(ED{5BIod z>nUsDet%ZBe1Rm9BT(mI14?Fd6@d{|sFfD1-GfnGMBEt)TAo~AMr$-a!M}I>j3@ilx7qbWZ1ONqEKN>9 zqlNx~%}C#itAr4o?!Ijb)&XC9?7SMq6Bkzy5siwv+DkX}!uZl64m9b+{;w9`S4#8Q zV~LSH5zf0$CBp9$WE96(z0BXJP!~YrFZoU2{zB2cx+4FvZ($3osi{Tv#(tQ{W>Luu zxaOv0gZ*{xN5tct6`M2s{8X?=ri1#>Bu6wbvFkWH4J2KyGi0@iXVKbiDD%b9E;f4r2%SuS>3T=B2 zSRxsQ4l96oh%`)CV6D?Bu{!^%A$U?|t)8&4!gbag`91CJcU@wH9xlta)d2HIi7fo> zN)`j|>(nhn(lBcFX|a*{GMxg@Wk_nBF_8Oo5)2(%&y@CspQYKBuz$GHn$LNDehxj% znW!=uI7@eF!z`Nlgn{^zh9tYZ?2YwmJI1>-@ZbcNZZmhn7q&!s8JD7MK6xSw`32O} zZ^X#^RSV;K&CMAg(3>&*Nj`n1(>F}^5XM_EXO)_LRq(!%b9pcu`#>kk4d!_%n*gXD zzlFJmTf-~l+SvzYD-f-G_lvz6r;aQq9J;MXTs3juH3j=XoYdj;G&vp-f0pUZy`*}O zl*WXtDQl~Bu4$UW?afcJ$(M_t=!Uzx1dAc5?yaUn7`i@B*ObS9&6JPjKoD>HzcWQx z6{WqBI4}y6V=zATL+n?I9or;%TC#;B>H9TF>4PXY3V1R~T*OK)5k2HRDmlpTQFndA zW{Vby%#p|t)E(Wiy2Tn|0zRkmXES-9Jh$3dssBW zL+#Ha(>h5zs^^XmT*ea}z#hUJgzMkdKZv>3){t1o)Zrl^i){%9&*N|~yM02MB%nAG z1mCk?f=hL`O~AVsXH{RP9~OIboBL5-QH@r2VpOvehE*#&eI{)ZBvjvfiKkW*2m7@j z&(Au$1;1-feQ5LTkb*ac0^hmlkfp9Aht0zJO{3%9NvLvopp=AOi*qOAa)*zgd>W71 zl(WD_Sy|)hIIyH`)+}N<1mnyw%TZ^e&Ckwkm0dF)p06XEDJZ}K$Fd&-PAO&~bbpMX zY@Y32-0m1s;bQO)Gn81P6#2LTou>^q>!{1|MpBu1M=Cv?9e)t+QtY6w(5S;>JXOGO zORlhi@cShri=WN25fm(B@@AJoEoG*Qy5tsD!DLTQt)&)-bLDF=!T$qi5WgMWNu~1h z7HSV_3DYTcrlqI%d#pX`6Y@K&jvZm{kY67fT=xq&fovp5i3pnbaK^$85ncUvVwK9p zhup}x=vUQIQyc+k#plSP6S;ro$e4Ob)&-#~^LQ~7b;)c@i&+o5vE3S8ERA)h&scsU zxL@%h33FYRDPH~~XFKIiSOl{Avf#(|Z26Wuxht|*;nhIz4BB`^s$w>;Nl3KGC^my3 z&9(^2F`vsMxsx4KNKWRnsOvq6_XQqXm(PRgpT()gMXmp%82Ru0i|)tqazjo_3!p&- zJBt@!MRRjoAc#J6a2P@G_R@38DZi2GxEDb$&@W%-EI4r@CX>a_$Q8R!Vp`VM*v5I9 zYNX9yp69w7lsBx#Vou407Rbq3Xd_QgaZleLhPyqQP#Mh(A5`H{h2P~x%X6ntHh(x6 zL9lQz6jQUtm~XwtDb?(lyMFj5LjjO|DLHUxM9ZaYUR{t&M3SZuy;2y>7`(m^)vR%+ zjAzm+)lTPjeDlxY)h+?AXRM+HT}}8L{2+KhYZ|Dj=x=&~Ce88892O6J+0~uiN>OzF z9)(>|Rf&9=sm6OLv4%MX*?dtKrBh1z=(%06QX9;|DAHPx_0DIW|GNaia@9gG6z~rO z*fZ={A6gJB|H6gcfR)u$U@=q{y#u)ye{Cw&`=_5}%DdbRV8&O_=Sub9E2%_{C@D+f z1|l;=@D3;9fOzpx8O;e(HrD~(RbLYRr&{@=c=iHOp%=Y2O$R+r2X?n$G%=}dDt#iW zZtPyEgR?gc_Awxkg_FH@i*CQIyBnYDdp?}O4XGV>XT061-`url<8b*uNl>#dZ{PA4 zjt?HuXoGse<0~#{EL(2^b?j88k4HbBy}7=hC8RH#)Sth zv0jt2?*SYvupCp*vN7ch?wwx-Qgcx$$ZoBqS4D&4MdiMaGaffnMKE>PIb@1D(?wSG z#DJ0v*8Y~}GQ6fcVAl9+%Cz=Jb5y1cj-tS>BN zB}QhjWQm>?;u!a{jXps=WU(&X1YAv!CX7L@Bn(-&U$uU1q>rmCB1nz2j}(39Ur*fH zlJ!o(+~ONchVXmXrx1eHl6Lqp;qM`ZnUu@$;(n}zgLzfV8MHiA^KB>Kec&E69}~Bh zG{JWn?$K&8zyV{_*BaJzKfe6WS~a(}7Woe^UB4reKP?CxXzrd-y))Y-%<|B7$VwYc zxZUlb!in$IBFNz#PbNmYOB>6t?RTeUt{p&_Q;_dmC*IAfjw!k076tVwULV^lqNmzk zyO_USt!gw-H=k$k?e)Jfb|X4>rsC(vIWXA_`Q}vJR9>=fUaAC6uTym<_&Pn3TtIL4wz5l?0?0$SU~m*>a5OWD6lVn6N@O8*@%mz}-P>Q)1lC)E=Y z5B+fUA-t(arb872V^h>=1HOQFV2~<**~y8VAF-zGGCUOlgu!OCto@EIK5eBQC7lY} z?!$;;dY8Apg(R}!T=Q&;g<<;I$rARE?zstl1+QDFB-&*jdrUOa$sD;U8lT8OKWOEw zz9p)(SY6`r`L-ic!Rt_kvaL;d(3eVb{ZXl-rB9rv6b8|^ zR#**X3Hu;Qx5lM@>r)<;|fT=_YHi zShag*?#qVb04tmO@aT8;iI*TDn2;ryX<&l@od!#&?;~q9RI$bWA_1#rkf`ShP$%TBb>d2##0<#mb1aybl1^hReVgwW0F!5 zBFrXKU}dVWY|Bg-HH41nBfH%(v*;s-V$ZD(X_`Y9mnM{SMt^7w2x{)L?5m3sDT`aM zoT>8N(jPiPzK(o<(TXIp9<+Fny~Bp6 zMO8Y%$?I~`yS<&uVpoh{KwsHMZrc)lt)?_>5x2Tn>m z_nrau&+4Vk6(oG?be4J}`}sKQt7n|Mc`?fb{yhve{t(yJr_$HXqs1hNaggJWyyT4~ z4+$P2hi4eGYSk_HRs*faX`P@)oJ0v@x-<>j}qHs zGJx+D5>TUQqXJBwJj9D6GUv`8$^KrEMgFUdrbD7FWoK?;1we^hpTa1Sh^RQ0ad2ra z2#dTh7o4Afm_tP2WHBWu zCjWgN(Wcen?cB-2iTj^R!Iw**j_fv-FS7l0<4dPelJ$FHz`PO{Nmy^U9B^or_J^sW z=l5^LMUT4OIiTo6OAojs2t;@_eLCd!Izj6lAr0?M!`<983B`eVmuh0c6v5vlJ2_OU z)9~JUt~BWu)AMH00`kPD!(lv`osWb$7Xx(tb@{>t&E)j=iv#xWtXws2*Q-g1^A8>8 zA09l?-XdJWj>!;I-K3Q$&MF3a@;KEL52ie%b5=JzwBwe3ZL?J&%TBpj8T-9C`!OG+ z_*fsZ_Z;D<5&5kv>?SAjZB3brENH%`cJjilwXDp)F`*iCGjTP;<9F}C&z|#k%hVMx zScg7=9}zPvB0Bt%craFD`5ERG0xeB$NHZd7Fz^U@0wzP)5&T5mOu_d^<#NUkHb`H1 zC8X!HG&?J|fj-hEjq_FZE%bc(0l53st9;J5Pvn2?yNydlxgFYnLkz>dP;9_U#tr=6 z^O*p_Ll_HYajXM~_&}HvtQZM^1~8_f!k-Tu+lJT#lj;yO?+qapkAj4P2isCI~;SI1FT(kKPek?Ua~f4C3P%aGiZ zQQ2d`#||rUS#`6}8rK_FHEP;jDw9u5b*@GeAf&R*%rLjzA-9sOUX93h6bRLxZXEc1pP=Yg2Y50&qh;(#obP+BwnLxY~bC3RN7oNZC zeNPjA&Y+y$o!4x=ctMFopoV}+h^KnCNbn!0RmPU%`sM%Q20Q+*8%#_|M<)zeS9p#1 zIg`G)b44_tG>6F#D73lxh^FBLr zH(ECcf(FaLhO)ba;U~o!yM#H*GVtSq%!5;Zi*rW+bs{2l2|MO{D+-lH!IH$*|ETd+=OwQ*0fXuNYie%&38c~ztrO2+-D zMfpBGkVrLTsvNTZctg^AzBN!~uID1vQjH#1SY{9)2ONEk^e(nz6gF2qP8sbwtcoYw zjN#W2q0s~8{l5t*SkST0hOuke3}w4$hJ}OuLdri|HuJsekHN*lHn3LpC#8J-rUyAJ z7{gkDu*4QRd^$W@ZI{ipgoOhR z0PrZ}l0xeJko<$F2CsfI9pUqv>)iO;^A5b0nn;c^xigI(a%`f5NWU0mSQsU1fT4 zX^1j^zyQtR zrr#b$1!U#Y0E^eoW3@5j&rw$#i}dz88 zkmPEooJdn;QSz=YRzsi^XNH+5B2)MsC}wobfxO-No>wR;$8@f*{}Dbw2ZvWfIyk{H zyEsxDZfj|!8j1h*(R|0*8p@v1KHkQql-A2op+aF3UdTdQB!YOjQuu&wAx&c{9Gtft zzxD8V+Ivg<_*T>?nAvj!*-Eir0WcaSq;}Jr%@(We9~^W6#t0Sx0pBfZd84uBOTAo& zw)Wa9=V`h54U&%Qmm)I-{%cjK76(O-WA$|%9}TB%y8`OjW^TQ?55BAN$1Mz+hh|+S`(uqXeKRI@hH}JB*cX72 zck`5fm-%bOX<820uINrb|8+_BON9Hc)O_<7TZMwvxBfg6jqva~n2>;XYPiFO(XjOx znWZ(1WWm8-9u;}y^$_LcRU6o1qoQ*wbGN}p7*k2qK93hX?ENtz;z3%c1sN@4T7;D+ z%EEym{uzN7m6{A4VO$W^picG}2Ogd8d)^C$tC7*&WYY?1#V5wfd8T$M5b}Hq_9Tpo zTxZ&MLPp8B2c8cp)Dq zYmiBDe21Ua){li#G*$LY6ei{LO`6n8B=p4CxGIW5UGQ)8;!hUGo_&RI7yb2Bjz`A}p7!6zW-_D2;cGzAAH$(!xywe7Di`HB=9 zVvK~vOxPy7DT(lG20NKsAtdC2rWb67xs3ti+AdAhdRaK}>41W~;F>_|%r%)7KZv^Z zd1=(8tF_k&^%bw7q5+;>O;V9DQ+)9WWdV70glOslQ|%dXQ-60{sQbM8vgof~St~+n zg=1kl_7KzT=558x2tp^o^^odrb(Srm?{32B3jW?Ldh!R3mKi0#pzxafeJIV~~>|(qkizN_W*#ALp4h z56YnzSRgUBAWv9aTzuN{YT8jEOg^!3x+KRaCo%z9F!wOLf=J$01)IaO)6mMmRC$8T zSQTKVLyCFgRP*wZIphgyHnpM_%$J5lZ_x@t72P+SYvDWA>P1@$3JP2PB!50m9bEM( z?63i{hdk>)Q!*Yqyl>Zq;oFqq0XKLc01mIe+Ss5>2t3*VGR%Afb(N)RU`@yoW$JOLH;4RJy1iyyV&I;+VR^GFu6i5i5oh59BxHPt2Ot2VV-U zwH(3epM+Hr8rHl$w0Nqm=b2o5mgmO4LN%#^ZsTg{Nf1*7+}=f{jx6xBwWy$&sKXpRV*zMZn6eF$S z9lt638gPTZyGv~E{mJDEiCN+f&2yozWOsaKvP(lu=q8>QvVTP>yCz*#mza{?&wXH{ z{tkcMslL5-UT64FEm2->y>}?#*SM@&Kq*s8f{mo{T_1Yx4`$t*x^kY)T~P!>SVSc)Esw()cz^92qVWHXn!*mk`dr?$OE6zHvxrr_#r>IIkTpRvijPgi z?RA$;wyP<|M1(WQ))6NRDlZ;6>aJj}u?%b-o+v&BQS#%FNA3pRoR(>_EDZ)g-ATwv zsBxGcQFo|@NJE_iE-p`z9u2GB_shmM%-`Ipg;Zk9dErIdPPG2^3E@D|+k3{ap-+w; zF~&)H+uC=&91m zY@gR7>Kwamc;bHip~>g6>8`}a<8rK;*4bDh#l@-I+GLM2|E}0Mv2EqpU|uA3*(9kx z9fjm}9&-`iI7{!{)K>8`x>XuBM9pj`Nnz=1qp*imep5-M23FvNxZaZOe7SjV;=7 zO347C=4f@D3S{QP1C|TOE&`nKT2_t)aV7)NN8~I%zIH@BIur<1Ss}VHGj8eD%`N6m zpKS?UUGM zxWnO$r^SqossZ8_vWa4>Ie#JQ;!}4^&VFhtdRfhhtm1q)-g3xpd@C@UDa(et#(-IJ zcvu{|Ka!`oR<+Tjo@G)2eb_|#iZuV^P&Kf558{Ko-`W^CxX(u_n+jPj*cx^yZbClmeYyVK-dS_h6P@Tz@Z&g6CGN%Fs1fR6~>Rkq6+fG3V$!t*%I9ZB2zxb0oLL;HVPD^4%GO)q4H7>%1^8xbcZ#XLMjoQSwz461>DRtq#i%Uh)5C*A_< zZU67zzj&rL`}7vt^}O@VN2U@kbJmcVkC(RQ$^q(R$n>JMY%g@ebC>;YWlun(_O^MB zr_}2arkJ1@E&mIndyBBm=+OE}K?!DKOt)HE_q9Tb&HI?f@uV`D)-LOMRm1a-JbFIB z9fn5QW=||+ziM!tKPs&$S>}`+XU#Sv&~gM_XK(b0n#nyNt?b9atH9A%X~2w=G^CR8 znMYAnUiH>u)fWN?BqO@hJ7gnJSpZLG!T6CFRv?03acI=6n;$u+O6Q`*4}cXheb;jJ z0Gj0({Xq$3KK(8fiyVbN)+pB2*2WW<@i!ECCDL*I*Y9kyrjur9C7>CYuRBngMsOt6 z6rzPXhDgh6bi3tFCDa8I6`4f^caA!6{}QSktW)9KzY#&8=0GGbg04HE>p(^9PPfH2 zAf;G+0aCj2Y_Vt@L(09DX&gn6gp%xXwdGNJ|6$iBMN@WXuJI$lhbinWR8T`wYGdiW)3Z~%eTv`yP~Fbc2_o>kgJNBPCR_ zlL&bb8rnD3ef|kmbUgedPs0Bb44vD68ocndKONh3WO2I8m1+S4DD?0H9p{!ah2C>} z!Mm6O+5Q>Y7{w;buwPehUd$bTE(9tTEd(y{`M$ltE%+FAX!VQToO22Gq4} z?G%@sqOS$d6!nibEKpCoE>mQFjhOjXmZd<+rssI8$0Sib=s~U9Y@W|KG3)p5lT)f) z1B*}|7!Opx_vf2?UaoZn7Bi+8T#g_(+78yIqwkfOF6>Cg8TfVK>PNch^Wymcor!!C zVzzoEM3#J=zam8K?P1p7iM8DE6v|5_nzzZg80g2x?hP9Lct<*L2Q=Yu$s_qobiDIE zKp9Q`{bPBJAD#RMR#tPqSU&sh>@}_!9-9pUvD=l>pYV-y_S zj5B7kxQxWc`4r$Pl!7zQ8?u)Ms%$27zG#w?Y3KzzV#TDFi;o?=a*V=SKK5e4UM@EX zA~(IfLx?(o4u*qgIsLKb`@CNBgCl52wAuHaPCoahT*ya8&m?(fb0U(@8iZddiq1xb zuk)n4dS5L#r}EV) zgv@3uQ;69z$plJ+T()`4A2*}&B5Sy?`5iW&LSKX11XZ{&qT|n6)i!yc!|y{~Ku(wC zjM+4Ay3tsN90xkoTUiZ}=fiG>hK1y{v*Tf+q+h;%P z9SujticR_SS58cN6Oqp+d|b5V4ZgtrB6)G3*I!!n%PhoFDktU+*t>s!g7kyMMqQR(Z_c|plfv7VF*xXuENk*#r!111?eNOpPGkqp?ZB8p@NrN_F zT&!uVoV;5y^NZXjD{UKm%pY zpi$V#Fc@ivCrOaWtaxw(wvpbHI%cLEQ!wso%#1NWpU=f*{6#vqzLB zQjF!oG{UQV;-Jb_m^OVJYtlS>}2_?R5CV_2j;O?B~}7NIE?X!iS()INTjv9-tG z5O~tJL(wtQ6PWO`XJ>YPBTp=>kNc^YTEG{`1~pu1w6A~?)yE8@0!g3K)Tl;xgOkDC zbFI~0uM}RH6Mwr;l{rs&%zHfy|AomYf7(kBZ>Qd6Ego&|zV4~>3+kp`Lz@hW_E$S- z8#9TwSAh(>X8Q$FZ}TSd!mDZjCVH*1~4O^H)=9kF`D8zOnJMB zF?Jq*s45YZMMMO5>v9qrcrOML$raim+s{v^8{Z#7?l$H@y)#lhzb99I{M7yQ(eIEv zP9&8{E~~sA{^jZz+jT$b|8ezJQB}Tgw6+3DN_R?kcS|=&gLId4Hxkky4N^+yqHEFJ z9ZR~qyJ5e60FOT-ufJ?GS)SG8CJ-m~34-{NZ`S}RF(m!fXv zmrd3jzi!u!vY=umqB_<)k|g4vs#*I4iJsqlkY}bwzwBlSb|ePFYeMi2bNusroH>n^ zD&pe7_yd+%h@!Nh$T#jNL``mld@3RA7RcR~fq`G8Jf?V^i88d@@r|S)Q*DRMxHX2D zPRC6xZyq4-pTpYLnp&$q3R}+r z&6`S3+`Q8iBVY#i{XW&{I6t*&O;)-6;J})+yj`COyhnzF&msNQx8Q++>uVX*587WS zh!{@Wvznt4bV=xP9$gOrZhRqo^A5+rhqXW{J&WgJ%1qAD;q)!bsxrDh^HSGmxK63q znKe20a&ZMc`UsU3`jAyOf+tka@aK&4Gm_V4z4`j-Joq6_jQvmLHRj8~t2g?vCQ-0vB0ALmCm#Q>yfVKV7mSm;LdwS1!Ax8s z3h42H1AC;GRz4qTH0y&eXXnh!y%i)NC^=6!C{3h~`z4Bkj?*f~a-|07tHWFk%Web$ z753Eu`d<5#v&m2i%vk}EO!)K`Q#7cAnpr8w{BG$83aKn_MNqFS-`#s(0hst3YQ+p` z1`9NC8m5hmS87S5saoONg)y|1a9t>!7V2EL*=T(2njn|590a0++q%rnU4i#H^WF4dt z$90v3T(Wpwh$}ZF(Q9t}bq+uD3Jv{0@LjvcJiNb27a0iXNot2W`Y?Szi_U3sb2N|3 zDT^$*j(z})@CZ59F}oYSr=AAJ+P1cg`ua6r1WvH#nV?kC-Zb4HKMmh%7(K2y7vUzJ zVB_7XYm!1ueIv9yza}Z~Ea43OL8oZ)F$!y=V)W9K;G!n9q|$RYt%c3r^7VkLg)E4i z8vm@=UpoS;6!{~KV)yZ>0!};Akjem8-Db_I5AisNFAPmAa^3ARq_g*>)68nC3)KMZ zOzHQsD9b}jl688spqY017`7lL@H{f@d1&{y4>4hCynQ_vQ-~3)+jo;bX^foJzs#EGe?0AE<{U-c(2 zKFsQs)qJO+=Pq}u>0=*9T%WZs*oc`@xtFSMn%5f-+FD7oNY{x@J*4z`|9RBHzQH`Z zru@H=JuGmC(cUw%SU>f{q)QnZ2$eQ`<)a#UlQaiT_~8Ys!BA`A57kCgsj2`w zn1avnz!8vLY|rLIUZWJ80-ps#+hwq8X4Y^mW>RBk-Zum}x~QlCs+87vZBwUNb@XEF z!MZKV7FNfE-nt9Qd>5%kBT4E=GuF7FAxN_Wp;UeqzofYHj7cbU#qJyK?Hm^ucwol# zO4LY<6!YEXU+tXAm%FrnDqN$j|9f9XTjzR+tnJ$1AjGcx=bOtUsxI(Gn5Qus-B3R9 zd9Qk}CTIrr6B`865Og|w3#q43tFy0mE1fI`ON<|P4;V@8A&$rTGYt)^SX$fl{4k<{XC7M1| zT#cJu*M`>5x%r%|8gxt#qil4oQ?hA4C$*UyQ2S8DisXNj?s?fgZ4G|(Z^!bZ3h6k_ z6t?2|7TFz&vRQ1ACCkvh6))ElkPc)UoD`Rout{YJ`xBEazy^mTR3hg&Y~0CwU24=8 za0ZrZ%JOhQxaH_2ZXEv+&J!LZT(tg@~s&{(fyP|wJW_Vvi!-bJMYsV?( z5JzRG3re@CQZo-#mi%zuw_vZ5Zqbm+z>^5Z$L1)KrpQyaEkb!?_D;>-e@^*y#i;4(Vt?ikg z{D>Oc5MhYho^v_xMsqT8`5Jd&na`%xz7T#q)AQN)X5N_3Z(cW70X(~@V@q=iQ-m5Y zudlDeT^p915ZTh?|8{(UWdyoy*GL+>xEL`1cXf9D7L#(=8PQhGB^CQl@m|@LJNxx% z_Z+y|qqrG@^|P)^}gk%s8EF0g`b4;tkFS0qM(Wr-6<8dI4d^qE2L`o}b_S5f2s?maiAn zzjKTi{{MW2e_Jb3N6Vjz9KVls)1`$ey}rRw8Dac*yF=wOEfBLYb2Xr-6)R6y==U|x zNiVTC&^vERsBQ$AQF;IB1~r)iD-Apkg@#jVETu=nc(7Hz7_X60R+2F5YE0*{z-L?& zt?iV?#IVd^n z0-AKP+2k5;i2l)PyHef?Ha5~_McdSjpkv4(F zs7vb&k*`Mf*g$6p(I4Hq*)lvqFAm8V!Zgi#{<{YbHhz1h1UsTw(uASOm6^At z%CRA~nU$b~>9kp{^c#H1ySeAL)S_RT*jq_5zkn96d1#lf$Wg~D$%ay20uy+s0!&G| z6%|tOy$glHOs=^%U|jvC+53C0KT}gjD2021rl*e+_OzbcrLXf{Ugbx9f>6yrkqdu6 zeaGW|f_p=#6?9Wi6<4Oe#{v?tr8S|4LDy`Eh4YZumMRP6s*=RiDzIT{IfaRRNy1DNv}i$gruX7GUNGc?rKq3d z-qYz-(ikY34SJIo4vx68keAUm04lSbvF@1jk*S(FWwujpN|Od(N&GCC6qPwYOL!3( zCudYJ=1=0RzFHfm{+@X@N?)M3Gy+0~{xrX!?E(kuM3Cz0L_q5!@=g+M06ikGKI|EY zBky5nGHQFe81~G6fbxrOd4)bz8ae9ld>W+g5j^BFVGKWfFTZAv zAOV>=;Z?dSE@oks*`edp;jKa7AsZ&ny9y3>iH7b~YNo+#zQw31u_zoK-ioF_)y{s-3Ogpc4BXV^! zA+|MR!cDr(UlIkfN!bBB&e8}!(mZNamk|r3?p+pdx#}}RJ~&)l2^}ppBOD(yp0#|m zzYUT8ys^I3H*IM@VFmCPUl`MO^T8~9yw@6To&lG;l$#NGAcBXE?%5O(U;tON;#O=gz=;;Ofp68*o}TS zS$;8w4n&bG2_TZ?gjMar%aWp4dj6OSM=c+;2t}^Cp`KBj6^2=NfH|*RGEuhwNTO6!PS;>2#Z+gYYki613(aW$N6=~<-LRIo(@qYMHP5{&3bFdr^Q^y3N zWO%O6W%_E59CPbc$?E3Cg%f$1bG_{%t$yq#_EZ^+HWH|)gA+2sE(aK1rE8W{r1II~ z_eJBS@I3r~m zBNESE0;DxibXit=8~ni7^xT9}+E%BK%*d7Q_l4(w;(hPdTMySfh@XB{`U^5k_>+97 z8@+?Pdcn_Hq$}(HJUCZ-xa`b-6@;}p>pcaD>)2r9WvTgRRolbtunN5NU;qz>t}!$B zk^^+$FMIK&n;SPZb@jB}6g{p4f18g(b-PK&{Di^tTtE(G=gcqX*K&Tq$C_5?d0%Pw zct4O{%J9e)=T~l%7*$Sbr`cK{*t(f$b}pUwGoiW4q!DG_;gyqk%)*%RA{*~s)O=2} z^`gQ?Q|<$&*XzNKRuE)F5S?4%5@2DX zV)o=b*SgA~-zWC``#lGtE!(hU6mFd6zb4_vzeN6XE&gu&>Hd<{bO2R#^a1*Mpl)Z6 zo1j%3Q+oj9WZ4Ne_%Z>`#8+|a{Q9;luO4(T&9K%*0Ss3vTe8azUDfiD26aJ+ zwIo_##G9bL#LbHa{ZKXK_e4ZQqGN#9%y8+$eX5WzSi7dG8bMhLmgQ9-|1qGFD25&P zlF_KOy1Lr1q~ELqxUFQYI@%gc_-iF+x?#tS*xYs+ark`l$i2BY_#TN);WiD^N65qV zySnLF*Fx^yv5AhvLgnH%Y)Pd9(R*&9wLuH_O^E-W7+~V`usemMXA6%zD{J7dQMb=W zVKEa2q$py!41swRvO=?$+wqv~cw!OLgy?3(<>?Z&i?83mJkg&?_jHD%K z9z<6H7}SzuKauBZELOsh6Wo$kwsTn!eCl*J;o@czvKV10LR?yL9_CY_T@N_ z4o5d6=9NF2ARFK`nUFLX7xVnzhv0xT!Yfl_F!q+js|ZRW`~A^Qk-XexiDHbaygA~T zqt#?exYpAHUw0XvRchA!`?+5tNqNM#ho*R;o`x}z-BJyPtDPT=Az6piuPe{wIG(ZQJm*Os}e%@tctK-U&>^dY@6Q@m&6sBparFwmrbXv&=(t6 zC7oA-?>-tQ3YOM|7-!^Cx@sbrSbOhCH;v>~4>5MG_0d*>WOYB}dn5zflA>Z0hkFGG ze6cM+quwpHKQC%N+W|i=3anHbVOUG3IIP1R8qvI~9A-*4OFmv|!hl649H3vsIkP!~ z_P_tuLeBiS$@USaQ_0mpl)If{xi)m0nYfEQ@)m)%al+K~Lwm4Xr0>&skWQ61#OhAM z4=1~@i;M=|VQYfd=P}Eb%t|o9?NR<>`_$%p;Y0oQS#)+;=l-Uvbbf1B;+!X&uhsif z2yvIvX@w}?@%4Qf)ke(*3+eOgo@V;lQMKS1&~jaN-EP7#aehPoZ-%1LCuQb}E;@}?k(sSs1hs$lJn?h-T(jQCG|G4_< zr>3b%UB6>|o_H${b4j@MMU32>zsh247dI}xL6!z`0ZxUN81dLZ@XUDakfBQFw?<9C z{4;w*D=Qs)=ezauo7ER5oS#iePN2R@T0Fotpo-@-wbKqXKQM6S;~!HBCbA|NF#BT7 zy-j*Z@p@Hg@lE*|SCC3618aG8%9q$CnUG#Wa0(i0_A8hCb(2RmpYY1Jpd=m#hupo` zX2rK3A|5dui~uWHB5JM-A^T3m-RMu&pYfY+bXUOK@|eF{X>D%0+6{(=hP-Ym{{0xQ z-d<_``!PPe<6iN|EjGuLwB-5oD~~*fJ1lVoM^skHQ3ae-4-%x_6TkcnckmR7xGRvB zIjr(q+KPLpSw;&bmxqxHT?G?EDiT+$D9ff(cIbkX47DgpB1)qCOaAX(nGer3%ZftwzH!G>I6i zLITn+eh{bi^$c4W9wenif(0J-a_=T%{jN$@0PDKloV+}70U?hw7Gx4ZjevH95u=A% z+D6MKt@9%wk?&8fm8yPmn{i(hUMi1~@y4E9GGp&Lbm)4)l3g)YyT)^egts$)+v~6_ z2UkNk{n|I4r|Eb_PacmlV&MnZd`$MokL6FZUEAhcPK}2v*MD4py*KOi%N|~Ty35ah zJ7>!qe)?<-ozW4ri!Itjoekt?KOokN@BeZPa~k#Beu$B#D63dS z^$#`hyWgf^WIRsB=j7m61LTTdxGiQ0_?U(d2D(vdX|XZM8Mr(JW=?`X{u4 zSj%4ex}K`7Tl<5F(rexwtzrP-yHrm+#BL)uC*LLPMJ4ayPqn)RmKrqtJ=-c`Pe)Jd zBV=P@ebhnMAmZj3uHX4{b35?|DT3xQm%$?As0=|QZKfo5=k)alAC&y;QF5IKYQXy=EnP-^mT9*>a;_V5L%SN6~h;}6nwBOe*^mDrCpdyK;e%P7X&W~ z6`{H`JM5pBg*KGF`A%M?#rXYjOvQ|0&k z@HFIR3;>o2(4x}bC9PF}iw62P$B+Am)I(7*3&&qc59D&B^X!FNzqU(* znCanXUC$Y$@ocMNpwGJ3z@1z@$0r3?bj7Y zeBp=o=zz^G#FiGe3M^rwUu^}%C_+z$#&WB-j(|1v)fnO-ln^;^<3&FbQ40D=e}cF# z7{?xUc6!EWj)ybXEO+txS2zUN3s*j>?yW_toU1N$({w)h3y-CjgTTtEkvbock3GNZ zlB_hh@Z1}A!9#@UN9agcu(t0T^5R7{aCf|I8z_LW>+s554~4wA)Ru5g#sMO8Z2c+o zAhyRBn{kPHJReRSC+N+w-xnC{FTV8BlglT@=NE0ex#TImS-v(7TYua<^xyP*Zf3XY zhr}Wth3T{E`CiSEuNUYA&$HMs6NGrm=K;n=R;b<^uMJH%3pS4sUW$LdB9F}f@&fGv zg+xl}T%&4r_iF54Y`#dyl1(Dgu#Sao*ISNBT(BhGj>JzylM(e6ACln_(P0U)6=zPc z@gZ)C%2U-w`qtzT#?nv^on2ov@-}7jH0nvqoI5f&W=3ku7ld1@MsKH`s#HTZG)>Vp zf5Wiq$rt4D4SBIUrN@sEk|*&xf=l%z%>hjX%qOdY`0c8aBSJEHt-3)sG`=&ahgA4} zP${BzUbq){p%lVh54plFr&HiNGvS?&$>Q9{G8(gh+e8tr^wGa1_3+5o|Gce*T=;$_ zA&igg?t~!aDli`D=CrgA<+K#Dcv9pWrEPX>d{pehcdn;#F`bDyz&b?X3va zClfKm6Te>w3XIy0euxELXrFa4f0YYTtIX*T=%AV+NIf7;5yy~#It5YG!cAQZ-!RKT z%y8Lwq79z>2sBzeJ`L>H-z|>5oh#Fi25!KpvD-HRSJ1oj&C7^eY(S@C3G%#izw0{0 zd1E=u9ruX3V>$?G{umE~kk%XY%6kHB{YdMWQ9Yj$xRdZkEm z9WQ#?<#6(T^#yR^w7LqfF|8ir`e&;hukTo_(xY+5H5o?l!bL15g2qOOx7}hm9TZ&2 zQIk*Pmg> zKTO2g_TT8yJ0A5g-TC3iY+|n%HVS`BaZ+|Kddum32xidY0>g+|sQqf?T_h)AeIfo% z#JjbShcph0!=&5DQbG9dRQf6SCFkF%w0-^9-oLrnx}G(%ulobp+qgZVV1X6d4@7)} z8Hj6W?89P?B#65kS%`aZ3MyW@$aB$y1Z8jB$cNZHgXjuP868R3#GlONOMmoFMG&#m z59)cH#>o^Ug`b)?AS5?pn58l%mx`-N3F7pO-^Zd(CF<_bh%8S+Wt7(Flw)d;7ByKD zQ07ahXwl=V2a|4w8jb1L2OKv2sWO2TdYm7B8NBs5S!&uj2VW-v{)6;$p=U!|4x_W0 zAK~)OMnbN0rDCz=KNKou#hhcr=Nzbx3xsS+#de;rrWz8$FgYD-FS(vd67tT6T}-Ko zyiam}_bMMn_$8PU=;x+zZo1E(1M!j88)H2DPyAi@^%pz{yXn|G%^vXmkV6v-&o>@S zJl4YX46`&*AF7Iib|X6Bypd-uTH4xTNwutX#Wnhj<+tF>6uJ&k2aT#P0s=o;RY7ATE(VqS0R8os z`+X(ME%41x1=c2^R&p@l^?e`Ill8HjxbQ2TtjCp8n6i#x`DwYK8vG_(h(7TzLixBh6m zG!R4rorbww?+K{dMYWk@E+x|UtGK8j6J2g5*lT$ozP5QYq|5~-lm&-$`M_t)3lg(mAhG%O>;nu1uUQ^`ZEUQqZ2J#|c}PMlkRWp?VPEMK&l3uAq+ z3}}j7^)RWAYL3@&iVr3Jc8Y0=ToqT)70O)SJE>>|I5-M3c)3WaxC0pgG|djHQmdfv z0nHi=(6J;_>9X20NygwZSx?T*eYah#$C5v8i3%0=-sQ&_9?KGpv`AstSwAyh>$aha zTFZkHsQb!{&A3S2vt8N#=Kz7X=1sS6WPNV_@BCj=>p^5Fe}(c&eg>F28A6`Xe#+uYIc0zVY8OPIdD1<8-2I4+o$5+Fsl>yKgXWJY(g98 z@9qvL-4_Y@;YX%0$uN)r3tBtyenHDc>)_w2I0?$&#-YqN+rvx0i3V5$rrL&vNMHFZ z0ldw=Xm7Dc@1v^zvk+z1g#3b}p4f>=Yu6Q?@Lj2bOj?kP`EeaJJC?~_(WsG>IH(P#wj%-COg zPIV>6G*;5xMN0tgGs2={`{-3uDpn=2#90v1PaXV9+g-#WA#YR>|D;*+4(9XE{Goaf|+^HW~r*wef+E!t}Xh zZI(^Qq3V#AJsNdxsH~T<#(`HxhMiq<4RP;#a9+X)F)b+(-5?R&KE^_wsAAgr@1zd9 z@Jqhqr9;Egxxt z?93R4oN3AfIZBZ`EEci4!y={{ZNl8NP{g`^yhv$}%H(&?y3HgJ_7eamm7Y!KUF%By zyfPe(DVLcz37LIqT{h?M+VwzGbBmMjyLQEwhai%WL#lQYzuU*vaBqm`@v7jH6Ji8Z zhM;=v>%%tHmJ_LN!|R~GC^i#vW&HtWmVqx!S%sNR$V0J1{Kv6;v-C z$>L2`uW#&eKsv(12nr6wjOvq)4eZI&{re0dNZ>|Jm(ufgkl!87Wozu$?!nEv4bGOi zhI9iG#kGyNeqs^V>-`>ZL)&#ZE}N+|AVv*>T@Oblu~#bJd_qIrd8k$7ia88-b6%_` zGT*=2pH@~=OVqrXRngWCSMq-V>?`CXu}m(Sslw`6N50g2XJL%$cWSh(IsS1juAOAZ zq_eBl!L@xUaXs+hjPGpZ1@EO}&iCG@oe7m!GSEU}l~hQPp@jMY)~j{Ck63{E)wN9A zRZmIkgG(eVq?h9TPBFYqA_N)R6+aj^&F;sKX@Yd?&vmY}V_EzW9|yLMo7+Fa!a^06 zjQz^3I~*S`YU)Nyyc@XwQ3{X}Hqjx#1`!g>0iyu^Zu9h%>*Nl7JiL(0zS5%EqtIh?>f2Lq(;KmQgf# zz*$=5JnTlA)sBt#MY{7FV!!)&_G>e-I=@nG*;XB5eFzlJvCbF1vqy`Yo-Rw0u5lB( zW24g(b`R5YV$A&3z~oupto}7Vq;`L|Sm_X@q`ZeMueECjAC&f&XKV(~a~4S?&*y4K zdsY49u9(){vl`fjFi3~NunnnnKB{Z5)>Y4Dc=_G!6)fOeE97enxE=R*2EmSAdTNfW zpJI1a2B6PrBOI5{7L`O;^r!NnbJ z`ok=Ys}8#O#=DFmQpuASt#``oU-sId)coIu9a0B-QI=k|CEsBdwV{YDWpDVhVGp%^ z?onHn5&Vw-V_?{cxApfr1DCya)B-r+>^aKp`Br!-F>>bsJ7Ym>*=$*knWk?7Pwa>7 z!GI1#k0s@IT|L(PPFa&*A)p7?kJJ9!c>#aBKmXHtZ5)(V#FP@8Ctg#DHx;c?3EgOt z>0pQYu7+HdtBlmqm=#tMkS@b*CX0i}J{_A3KKI`S)J30di#bmWl%#k97Lsg-sj_Mo zJ6JAWXd{h>4+SHfw9%d6s>(+2mSGZ&jY#b1UqrR0Wk7owjdUmjhod2N8F2W*es#m8VTFO?nfwre)mp1a54{*o%i=*Kh=G5!XP@e3Q>7M-IMdn7 z?TbVXmu{ZVMsZ=!<7uVlE4>C2K6w9)T-IXbD#HTlRJ&e-|7*nDC83&~aI_x361n}j9yj$CFV8~-9q<8c751(nvNIWLdV$D8(-f@@t$K8H-?3^uEa- z_Vqgvd`{Q?D$hf74vs9W3&2<=i%IR2C-kP^Yf6RbR>t~Sq;A~Os%qo6AZPD`iAgey z6~Hz#bYo-V#ne<7CBCiuXuSzf%FT zA? zxbdA=-Gct?09Klv7)kE9idZmGbX9@7mDs(>OTVm~MSkBoGa1mbapTl>7 zh3*ERzxS+fexMn{^kZxNP(d&3->=BM{;l5~s)?{g)05N-M17L2{lxGyJssmv=xH5g zH|f-t%Wlas#$$B$lErin_l0qO_gZ$t@byKE$NMHjYslg@mEA&7zgYO4KZ)?mdF*B{ zj=>1M=Q)4B$zE+I+w;P}fiyA<5Qi(PFZEPsYc9g-)VPe@FKx6GZRW-q8G$EIaAW>H zhd0J*GglF+2^5gokyU1)D>ZD>a5KIEo$=-2zRtVD8+Tv|6gFg;+cMbcYv%I}U_DC_WiB zxaG#=5bli~d4YBWKKndXlu%oYv1%mloEb)k$w8S)5FRDNs;HYTDd`?nJC?#T?MBcZC9wLo3vRW|g0cRT zKeRgj*Xr;AVG3*BG*gzIADo2}gq#NXV(9998?&%QyLK(cW9*FaXRFnj&Fc>4pebV# z9k=Y>$ivv;qPvxE2CaUM__2aD1d+)nVlv9Fy!KpAHEPPqT_(df>ua6PXHS~9g1Z(_ z9J3r7ze7o68I8n5ScE{ATZ1Z;h}zkk>X(;R6<`h>3xYE?QkBY)J_F4Mz_y#9+0 z10zn2_MhGhmP<6^=v2~X1aZlq5M;d_prux^V?5^mJ2hY?5YESW7Q zJcAeEwp;fASkvq@g;&$Jcm9$vTPV8341MIMK@o#@ho_b;7#y9REg~le$gHo!2T!^l zcqkTb8Df`db1kzOh!yy6vr%RSx62QN?iS+_dtbFV!nJe%S$2I~ftfIH`sYd8a~}a} zj~Z{vhe@B3w3QxxD$-1H?EZIsozW0hihL(pIqmQR<&0uv#&-AkiOohgs*Q28`6s^A zC0DtDKrpL!HlLB;Q6iN6o~SsN20uD{xxAd2V#ap_^GI{L$=ST-FIGo)9+Y{WV0IWr}L2AUK5C5J0XF{P%MCrJrb`(z-Ij^ zHob1ic}9O>d!LeD<+w=8pzZlN4}-rfa$FH*(+uip$q}L5*O+=}cxo?*u7&i9`V}aW zq>u$B)p2k9ELnq}ec_v~cPHZz^7LWS%$o;Dc+Fbz0rfbC$$3e4!0C=JiCZ{y*vA@4J^Hxtrs~(9v}6NPHNP0Qwz$I%1p|ci3z+m{F~!3(A_k2zt-}{Y_!x z?TYvL-?M>=8K8S%S>LG|s0$fz?P1n!C_E2f;-ndoC0D91myuac4BwRtA3ikG@Vqw0 z=x2%BGe7&e5}LFD@*{?nq?o8_O zeLE$acd^;!Qftl9?{;yP9?74)7>7JW>+Q;HMJI+U#<%18ng~z)3=zj>>&P-MF1AKQ zLp8ZGovOSp;Td#XarKo;`Z4Z&UxXykULFB)r>XtD*bw_O-*vWs?Dr;AIemesuR5Wq ze+=Nu?_Mr6Z?}`cfLGQ<@-5og780E#F}I0e?O7%vYTp$<^O933 z5+CC6Ij8Yyf869w$s(-{YFgVj^09EVEg~xPafS3#t!G%9Y&2tdLDFd(JmG`HY7lH~ zr`zoI2;0Qq!5k)+)0&|`qHvxnHRRLtpZ$dnGlPl`a4RYu@jKU z^JGDbYet;&cTzzL#`hgJ6m~;m)92>3+(VrnK>B!pnRboWrP_a#Lf(oe0-b+HK&W7) z-}Z&*TtxPX(|5Nu;>#~FG8_#jAr!N{j7VbS{?45AQ9tA*A;pKvMK{zWp_0a-v=|b< zd9i1l_nw37G3c5y;XUawt&YHcQ-2U<8LNA*6yw2(i%ksXawm>OB_12njw5LMg~%Dw zg6=cUnTd9JuIh6X1tm@gys6K+kw-B!bB%V5{PC2pNu zYVG0BPI|`BWLvV#pq=<^{Bj#Zg01sGoJi<36L5fKVpjN&>f-vrUr<6qh|8|D4`cio z7K&MTtN|9~1gEg_DIZ9(i+xniIDag68HHt^nQd6-j&%DtvV#gEnCeFS){d{kMCrH- z8u(Y)Dd8#cK%Q0`J9J#wbG?RBXfWAy%}z_W;Eft9eD7g=4+Q-=9+o%k09}+u`4_Vo zp2zAm8am?dG?1ykU6hH*ws{60<#ef>tSpPgSVoJ=ZqRtaIiQYWHt8}cld0ny4mDFp zcr%qQKJ!l^cPSrNFy@uIvBw`5Tl$xG8ctLGjPGHcV%Sw8kzEF$QFOU%>+WH6d{7Q{G)Dkr4oX)iE)N)l=GJUA_(@ z5pXg5&wBm8M%fQU+uPfX8xi#Kb&F$lzw^O(F-q+Rd$t!U1IGiG0;GBf>wNRs24^rY6PIzsqUFCG9Zvux5fmu@&^WvALo%>KDyt<7x3b-8^P`5UJ3*p;7Ip zuGC{;wgd-js6Rygvc|6Rvh*n*5s|@c+5`V%NaCgx734~Jz{v~Dhpo*cK|k|t(b(DV=lW;eKK zBZMMnbvC?OF!J${H9}Kd2`4x?78Jbm*Q&?)1Sh-)Hu%_7*Z}4YhZmjC!!-inA>a3%+1-x&*B9RCQR9I@x%+9U@AtF+~zP>99 zgQs9PGZQ)VzzXrm1xF394Cxr2UfuAmN;6mb$)zQ7CX=agqq=T4ZD)DserjYb^CXdS{br`m`5vpZ_scVyC{A)W%_C)8b0eG`p6|EL-I=A=|AY$`m3@i& zT8}021Mf3*$x?^JbDX4_y>LoH47@WQ7(*;dG|E)vEeYMF<>yT3qehWx z8u;Lwl?1bcJO-#eMirhGD2>f<=#36Q~Sq!n#)rYYMzYQ>3Qnp znU|Pa{S?1{QfShbtJ`f-Q1I$h2g!IUAh>+iNsM6%(K#}lGGk{o9})+MlFieXlT&%) z<6w9U7QZJC)m=^-?l%K{)%tHgs$9GsNynkSyl`2su^7jm30*JeZp9J{MV4XEss0N8 z^YG_-p>K_R*o?$ml$ZXLQ{C`FeVzb-z-m``@vBQrzWY;q$>H}HO5~s_v_$-JT(iq( z*cNLb(DIHRLejk^62j%&VMCqZ7V_z(X4O{0Ta`YLtX=1JoVoKO#;;b!Q2)oy;Xlp* z>Od(d-1w_ujoC!n6MwvnCoDRtf4!i&jVe$cfiarVW2;IEV_0w;BYf3&6yWb2);iuQ zN6J%06Mzif{HpskR)^X0ZPtb>)l7i%VYZgh$6>Z#=!W&^PZhcSvV=WBq)`fzh>n=| z%BPQlKM)y+38~ENKl=T|92@<}rp4AY&y+k)-u$c{)E%JZ;_d?G>wzPhUP%Xkq@C=x zt8oi!a!L% z0k_GZveCFus8yI8axgc`3MiC+AS~Tgu#8)?Fppn;MSKXn ziJPVnVHOiNN~ojjZdwh_m2j725iD{R;iKzxtd7g^6)u@U zJJA0b;?L=t!EK-A*^+qF{wRxX)Aa=RcpeETnXYCih&FYfI5a=$x@R;ZL6 zF_=INWyxH0IkJRwa2R9QA9LrukoCNibk~K`7SJ1svzvs=X~EMsLK1S*$AIc4^btBT zl`>DPE^_W8%gTzRQyT3l#q=zZ`k3;CyG4_3!@hi7LmWn7A^)5Z;jAKisc#B^D(HCk zB@VD2gEI%RT6p!AHXe8<`scDCrX;cS)&$Rk6_E{H^4hL64U(3ASYcrL4 z@3-9Mw08?{j#~UwZmm1~X1|Rw^cfJ7iEIVaLCELYjz4UMf47SGeV2+Mq&0W?kHA+G z_nQ9Y-=@m117J2WiYG@4e@<#FzK0YhUa#~ivZfegqQhqoUb#?AjVBZzRI1GKQ~pMT zN2HSBP_&9oSi~!Xxozp!=mQtq`FvH4+2184OIAhK%FCG%OCUs{|E<@tp=krdNfE+9 zP1?tsyth+y<=T+YLv?F|zI6RNgGW|F`cS)r{#@C|2rU9O$@nH3aqXQ@+w1eG$z+a% zar!$%?9>tv(5YAEN>DZ6Ot~i7^hsbab#Bonj8y-ftSfX4x?uHv?z%}7X9AdYTGS#^ zbYT=z^5bj=H{@2eW3pfE=-($5tUaCt$W;1K-q~zb+yWfx)9tG|ur~_)_1Kaw09Xvr4GQ*RiQ|+=1d(2M_G1 zma<|xPoeLcN^ldqNU|0~qjeO!j$LeFia*t=w)=0zwEzgA9}d)T3Nv?IQ?!`A z*<%Kon%z<`U?m(L0UV{am(1(|R~iJjOU_Cw7Z;I34(I%R!*0wY{^cVS#qP4&4e?W+ z1ol6rZFr9oT}zLLNoWdA)V&0pUB1qCnI}J}$Ce*sFIjl%d^KbV0 z;8lRrd>XtJ#d`ixu#T(t^xMY)z&uazPvbqFi|Ha7%>LNr`jtOf$FK*Fwl<^qIS7~4 z8`sNbi&*%!yv}xq7iSLk1AgNFP|9Nep_HG|nY{j>+Z{Gx*Jjy%!IkD`8D1E5asPyEbj<<%U3~qVXI|At-Pw?EtQ^) z=K8_1R&h!8gj+W4%%az}Rgr#sSvgdAPLo-m_2-T&GSr zU8iz+wbxMpJJ=ZrWD{`m__jGP-UoEjRaVYe9c=I1K7?#Qk`QsmxQCOO^nPlBD$<1g z-van`T2XIJWOirVbLg4{R7SB~50Qa(ptpbf2Qz`|MR%|S*9mj5D7NAz%J7ZxWKDC( z$K~aURp+SK)P!=IaO|v$PWbn2)5gHtrXsU);=qHucd}<&cg()~a-NidQ*RRN)88;} zl0gVRBroA};Gfhvs#uX*VGokEh9e#{oJbq4{GawP3 ze6hLD?0r<6VN9M(tC~%Fz{oPWDGoJT|>(#Tkuas_*V$)YbD^YxIU_U!H!vFk&5YHIq9JON@&&`dcZFyk#0Pv(eLwOkIad@^nRT7SX9xNXSHF4p|&?iYt2No zMf=R<_5*H%h}#u`=_lt005as>OL^Hw_txN=>QqN-fVnQ7_hx*k`av&28d5DCW!x1C9qeKCl>eO*@dI0%9MOE!HPIC!W2tl#OH zcIV^sOkG-KvrB6_#I}sRcF2R|=lEXkr4dK?Nu83-3MGsCtnKoCx223CCVQtF zTvmsev_T{JRf#L#uFqGIJ?+Ycc(xt}A%ktIbm~#;7APjqebhjpX;_ESZsx(aK+P=x zYAFXr9)=f|8t}pFchUwEwX(nkvreAc3apr7FMA!9d-nd*bbnky`k(&EY%GI!z;q*V zuK+_~&vO5bu9uQGNv0wQ`Rmj`uHyc-EQjV4Z$r0O9FjFnuckyp8-Wk6iKb90` zyfFJ7>r_{aWb};~21Dyd?51Ql)l|~V=?zqiw(md77>@{n{6>`-;`!xetdQ6&_29p1 zsFa3(chv<>M^tBLZzjSkVv^1d++zt*N^`7t0#RxMF!b!qbYDqJ zjWax6h~CJ;%Ggcs{y%)ZWl&vPw5^*2f&`b~5+Jxka26!E6WkqwySoR%!rck(5Zv88 zxGvlm?#`S0)w^}}KDX-qq~Padj6Pa#?Q2KU%w5T>xM8M1eF}L@L-hK5|1oI`s8USt z`9}Wipprkr`q6^5EC<16BV$E3zm~i6g~Iu6N{2b8t{CN@+Nl9y>YF`5f|eZ6#8yMJ zs2vo$soxnkpArv0;e1vH`0rAk#n*B3b*D{L@9K~x67s4{Pw~Ar>80(?)QNw_qiHM5 z7SJ4L7xREyP9S~&$v#h7@yrXY9EI_2r}7lAHPdx_u3l!gdSAUSRjU+ZqE_m!YXz38D;R8_Gg(eS$`S2hjkN=CVkbdm+$U-35sql>NXfT^2~$4qa4? zUO=6*^ji#BY_ND8lVR}KC6F%L^F}Fnp#LF8_zW?PSOCKx77Hj0np`6THlT3lgs9xQ za*SeSg;fm_nlq>Cn+KQlibGx<$T=PzRRUp5>wv*mrZnOD;vORNm#2G}{cx;*J?vUN z{u@eMV>9YUmPuymQtr4{XLl&)Ns*DgdRzaQgmTI%0-+-Dm*-qCi%s4YP5mfFVb#Dz z%c^Z&h69Dgfrr^7By@)XXD!$Gdh~qs#sw6iUpZGr6X_tnH&3AF$!iah*bj|UuWS8r z#f3v%yZg%q)k;=g%3A8@yh%!PR5e*ZHFj7(HU$tookO|A$eV5i81Pm0TVk-^J{{J3 z57-zlPxv*R`$cts0#AMW*l54uT)+v8Bg~Cxm$mrQc8fd)H;mG zu++O5j`|J9HIKK;u9+ew+q3zzmzSe)C+_!*D%3$`?T)@EKjTeTzZAbdIbWops;Xu7 zGLw{G1_rj)Mu|o-cV~h;F-YONS!#dmY2j%-M673Oo&}~8tzZLGTEU3a)Gc+r`_HMVP;}Uo04eCH4bhtDu|Mw@ zBFiI(iI2ERxmGf?)v}AN&LAaHc#g-z$w~4kE{AOiVA$LHk2UK5a@i#U*NpjeLCRsn zTrK(XU%74%QiJVFiGt{m7@5ypx1pmB>gIczCnj{>I!tPkyV{MINZsnaQ_$`|)8~1A zC_&B%D@^rK3>v!D;O`{zYqhYXQj%XjSlIdy5h`np$}1Y5c_C(OMk>sJTDO+bPiZ?#(JM(-HASLRQh;L! zc5|K1^hbS0yk_QRH-I7>_U?yq;+8+&%cz+f+UoP)2ZJjx8MNKXHR{c$scP%${!!A2 zCi?WAci=BAqAeE?SkNkmX-L*Z4x5QpW4b0tmI7YyCZ+A(!KZ}Zrs_39S&WCn{!@s!it}z0x^CLk;@barYD;*c9cr!zw(=eayQZu(6<=cQw>`a|z zc;EY1!3b;5@tjTB*fN`*4qW)8Li-6Atv@c$3RSx=@TU{>x7ldkG`1RgouVF$E-e+{ z(u!Ej#`N=C7W89$a%B~3_N*>eqyEniMx1N+%O1ltX+TH`pK;FputM8$%WyqJm5rx2Q5>=UG?8J~y7(Q^Z*rj$bdxS?|RJNffCYNV&qXu-<%cQ@ebmz{z@G2Dk%d8hf3?MxnU01Ud0va4j$hOkKzOPT(2&BU@BS&PnI?0fWMHP@56yU&3?Sh`i+#M0CG>F8XJ zr^)(9bXJXghmTurIpFo>+6F-0NUK+E28$d3D7wx1WgE|6&=rZ7pPZ6X9Kh=U_ZzIX z(%;#&1{9@rZ3N1to=uHdj^zNzAH=S9cA&}u8*uE|?l7WB!N@dOzXJru`uwd{*_cVd zU}kZvY{7HH36N`+M&xSJlW%61(0CD#JQ`%4cVrl%%C?GpDS98#TfSdAt6OD)>q#Sv zk!ovgsFVy4{UM(#OF7eB*`3_;>r20R@X)J(7L!>i}G+T2WTC$c-G}Zv`K>Q+P z!z0drx?&k3ETaTPpHh)&OQ@eDT?;Xht-WXR|B8@?vKnLM9%rmkZ=w}zVo7R#lTvX~ zQF8e_uBkFjVJpGTIQB|*d{O~qWoD+l>2mj4;m2wS6|fHu2by-}zQ~1TFJR?2>A7tL z!}zHEdxHDZ*QT5t4xrH(^+F|lmK5$+*H zl8RQS(EwLcUy3yDh-khdVj8D49X;<%H~|*{y;_+>ZO&g;*!#%6jRNSfxOKYm13#(w z^5ueWBYY+4Q9l&Ex$5*g8Y=OzsJQD}Ndu-0M1xC&=sKPd(TF zKV_`t3WCt$W0|HGQ>0XIZQCyc%Nuv5Z#NR!h}o(j_&wc`s$LqyO&M|8Hdywk*D)*gFsCPOonLDAO zKYro!xg7oB#{Jh2hYoW-zNhzZb-w5m4zq4}Vj>O^uag94$*G-g{+F6>x1xv<38m^Z zSYyN(ZYS?5&PH@LeA&6X>l|vuNlfygj#RP2DVS5lJ857i6*6t!Ze%0P6-?Sv1BAw5 z2xhz5ppJ&?;2ZJUK>NDPQbh@!jCdxlk1b;HkNH3i$l6KKMNVY2eIpr+>s51jF>i)C z1fi}LZjh>pGjn!$C#E+tFRvn3J2;4b&eq3hpv(%GqHjhAyRc5B|Z)b%Tn2L=oA@^>P`yn^nk>5Vwx{5Qdd zpDLpkrwLen=Okn@zDFIF)V7Yd21M0IzH@0?{bkJ;wf^0bv>IPcV5+#Qrd?F4kCXj? z?rFQBa&r+kay_whqO&e(Ld-~-7#+?-6_(LF>{K3ob8J-pi9N)dV^i%C{MV=$3HV~GC8B3-`u_7(P@~+ zrb2T?((A9&AK{>2}ryf1Eg9rc0Yee|pulP_yUU`gFl`F9(#j zY1Yvxk_9=LX|?IWm)0NRVAz`da(; z`G+{Uq>h!=_0IWQtC&`ssjY}zCcU&2ZNq`@B?mdah{E15d8Xco{>pSPYs~s1jvc-J z!pvx3V`u*~$I0c?fl1uuVF4^-i)lQb28@+GTMtNvgdz{Fc;@NXwV2kjx`F~YV0liO z9`WyIit?xb7{ctOlvGqG^RM+@ALbpn!gStaFYz0vIVvtt{(P4q#8hry=T1fGfGSRS zBqR~?u_hy#Xgn{AvCO){=x>7hc-_!gSAN-89?Q5!ycrWFM@m9Vwg?wvInsTGU+Z<%8@BMR4T3=>kD`E{wB6NU2?N8Y}TTv9tH9;{Q&T~HI+ zcVy6R!IXcwcneEOx}3S}|NMw%eU8fYuuT<;3}CrGVvpS}Hb zy=Sx%WY7KQ)X!S%+$~bvB$qYoBlb#|vOOMjBzCYY{!t$cFL~thRjCVtTVRWDRd$R^yl0Psf80)N2{s z2-n+$C5TvgdfHF#$-8|kxWlHrH-*Ph?Xe*BJTM?SF}g2;K?N19_eeVwaZ~} z(R_~3%0i&c{YHkms#HU4#@jFVz3ss0SHsVC5No=I3=MakL}MwDy&oWoZoVI9$_77}G6}9{CI&TX2kro@*Cof}f2%1dn|zt8^t!sZ0|NL|o(QndUz}QcW$p z%NVl{goy{FVeX}<&V}zQ3GQNi>s$oRDn2l=IBQV=|iPazY z!;|zKHI4k{(!w8vnGI1XRW)2$U)dd`w5BO>al%PYN3A354(wodI#;plw(4Z4~8lrz2slr4Eu zJp!Ly>+A)|bX_f~{ipB4i=&(2GFf=hSWXEYrBVw#%=t5+0yCx`kFMJ_p6-$}vf$H> zT%J;e6K`O&G?^a1Lld?bSE-YJ>}*`J2Bk&G^aVx;s)}H8;P07;$Y;Ph#}^rxX4~FW zcK7|f69#R8k(t|w>Bm?K%J1*2$AM!{E@y*1QHv)3s6m{BDDn3<4IL4uUVD5d&<`4J z5BW;yaAX07cG?=mB_Y$^rtxJJ%^W!9d#q&qmXR!rd`ua_ z5$#62lAuXAC0sD98|4u7vO%+*%1Y~G@evF$I_MJ`17~Pd$OD(|+G{Aj=@nXl+43bb zC>&C0{f$ZsC8VjxusK_KPP84;6JsqtB7nt`WU#&R<9-yrxH69Y1ePoeBHCgG1d}dY z|38@h|GO+RY!vdvC;OjCbTfW0-EmyD}27d3I}ab7wO z)%Oi)^SeBlMWzGW1@Cx&BVx5F~49DJT-6U6|p6 zh^3R5sz**bUSFymgd-Z^Y?{yet5vUR1%iJsAnq272zbs91i^?eUzphpZV+bafqn0w zV7s{~dzu6<>}HS~uh++jxtf^;-dRvPz(I>uh>-$>I6=y&Bg*@a?duO*C`@`Fd_j(_0M1t_{K2`Lr zdPx@CHMoBKJ9jV?;s#mNiO>4Q7U+1yt$3j6)F2Qjbo$au4Fr>ETYT}Pd>)tAmdb4x z{@{Eq*c2mW;X-2eMb@gfX&C9X|HA)xRP#@TL;i5JIzdwp%T_h*Ajc2%?KN%HkWA4| zs%So-i>T&Vhks~ga;hPw597M(Md~Oq0_U{km{P;$S5xH_e*YMKvzy zFNw5_THxrYxR~>v;*F~^atn$6JhQ6K1Xb=p`vD<^qkMNl8q*15Hw!C`JZd)(k-Z!u`c*w4~`QsFNjnmaI}5{zaJ{q>fG1x8XmhDxq6~H$xNsQuC6hqWj3rn2DJ6kRyE#1c z!Pz4K-GVp+c-MX(A+B2Sr%;*;{=IWp>qHqg^4Z};QzIj#);TVgsYep#I1y=sA$)4Z zAdfL4k>rE9jKqy2GA%)A z#7xm&l~dN!-7S(130WiFist)MYK}8qhCf6rwjJ%$MK)XGSMlOfLDOu_F^9cumnqn5 zwciJ%$rKl{34VlseMCA=ZaI>1s&n4Fp1<8ViSoe&%B0XX@+{CF+F%M>QQ0mozWRZg z1xN*7`@9{tgw&aFz=OtYAFoZ)1RUX1Gi%+`40iO(UjG_GaQ<5s>O=tE2Ar9@n7 z8;P4XEcBBqup&v;^MBCTJK>9`T`1}%IkV8WlzM)kE9o|`Ie+cf^nG-*8?QQr?r7-}In(o{K|c~{KoW&QBctoqi^y$P z0w}tf1gFlv%A=osYw5FBLLlMvx-B{@y7dBrI9G0`u#2jU1^8VjizlJiVlJegb_>nq{$07({UnQz*$Y-@zb` z8go9F=(NO1aok$nTv^P_R5Mg<*+{B{OQEQmq=sZ3+-Q*-y`VG88Iy5>;4UyH)`UXe zCY)a!=H$F9aR8}(|M#Nh<8Z`a1vGkjPxZ$Zr+QNs{e$eJOaGbq^Ik2Zy-k7H3;5gw3A@dD?0R zNUwP!wqHM&-wkW?6af7gl=(~%WJRmW!v{cIJJx4Nv>9m_7ZapA0Ff4^j&%+^kl z5)PB6vyg0gu0sRIChL3p!nAVR($@G|)wa-j96h*@RQy2w(Cj#Uy>H`9a37h3HDWrN z>`0f1I-3}yu90U0};f5!AQGripm~w*+VTZ<0d*UKR7G~yhmbjK2*Mc0P8*F zB%BZr#0b^>wikn;D#xdW$4o^OUnK$_6tcdi4rBN=#XBx380{&UDI!{XVwzD)<5q1{ z_z>j%se~)6zgxuz=ceAD8Z*y(KeqvWIzEtdQhRg%!=v>SPr9-zh5kaq|}%Nx2aL= zy&LdD3I;9mHqf8+o=~MyMoa zs*Jl(Q8z`>^CM!Jc86=u7gcq>_0Y>Bf02e_4l1XjHaZrf-GOS9XRz{OrBR zoMWWR_qNo5}a`;7)l$XAd0`ZSNb zu{5%`t{xI%cwnuO-;-HVg8g!qSaUY*>xK4mfki*5oF#0j<)c3MvU!0uzY$~PjR(;V zX7)bRe%d}=3zT26NBtpd9Rv+ac`JnNDNS?bc0o2(*Y^f_-XNK$4uiC9$LeX{S2wcK z*9T=hc`}^B&;?tN-$1TdB6ZgQQ70rbx}(qDrtMla1yz^!A3jq(B_WeKSiz_ubi?)I zw7}qJXgHDjANNakmqj3OA3d_O?blW5eQa5xeKbI;lhGYMQZP6#wCX)#J@_I^T}E-Z z7QQ#;)Ul_&u~Id(S3j{G^L2dFp;1l+NT=~;Kt30;D`khC>xA2*-aBt9b$KxrNRh0zBgR#VhyllqPY1v5>?5&yLf4BQZ<>y(yH+M0dw%7T+i-PuH*=K?@ zLi?9{LQF=w?I`lK8-^8`XFh>U-ZN5bVs~xl4JWVTOUszC{Fu|L;o(dKk+!CAu&s|h z$fn7IgtrBJ)^m27xJge;CXQ76072iM(I$JEpWm~)9W&i}^|@p#6Er2)Tz**p80ebe zr*{yld@V2`4oI#^6&YcqK9>$F?ma1HW`ksFv+$McBU^NlG0)bCao_D=$&#|%Gnq#U z6j3X@U*A3LldcAO+Un9x&x^KEzZ)nIm~X?)2qBf9nVXpjLi0Hb{OB0Z$H#XLw0$q# zT8?WWeu5`SPu{ZIEE0omfEJ#%YwG(i$NA(1)*L55F8B>F-G0S{RM{>vC{p(gF*erC z4D9P+qR(j<(<fHz|=IxGAH;! zjpIQ=>?U2OeQ3HL(BYuY{MkeSY8Ej7pI~ zqC0dLpv)A!D(uaDBPG6Q8X%(sH+Gqdj(qcp0saj9cFFKqv(e5#gZ1B5o(;JFB=FO5 zM$>t)I5;?5)Gow9u$g+_%qM&B(qc)LU?*vKAbD|zJy_E8Q9$?mQ1Z&0snRHxp{I-; zmtpG*zivN4yo8N>8!D#t*16bHv-^{^OgGoDsLbD}rO%k^I}Y9&Y^CM238?%Z0yqTH zPz)Q2%NV3QL>ZbmGS`Q5CS*R8Nya2hX(5CsulhL&6HJdMhwPpk{heM0r`fb4K_HJC zd1C!2on&OlA_TSs!26*(4M08fxty-**soENnXdXgTAPgUp@Dv}oOPxND*tR!(inDku^HVKZ=C$9fzsGhcPmn($I&rRn0H^f`h<0}$Ayp3ieyu9d~4xS^Ro{TPc>nR zjPv3-5o#k3ZaH7%kfqfpF-9w~3Ra{Ow2LIkEaOVXRLYI&5hi+ivHy9~z_PCVHz771 zuvlYi1hBeY)LQ2RVBIn2==~)gcIlk8k<`92Bxn~VJ7x@y_prnc8%gFCgx{&>7nEXO z{`DGHiEWlNh$4x3Q#mXQx@z9UH<&@)4|2g5XPTadNwXkG^=3JqGf~O$lu_lnKFGWI z`?<|>F#~@>2W*3Q9zoxv!+@Lg$DOf{XFNw_K3RyG;f^Lhqi;$ld#9ZyU#E6#tl%$8 z4N1yRhTZfw?50!;tF;$$rlvc(E2oAodqVp4L&QJ&T|~ftgKRsNWN$)hwa-b3BP$Rz z?yb(O$K7ylhvm|FjEuEi<^{>5aliAu?YlO!sqmlQ$+%i1&vS#Qh!oI8RC?Jk&M{|& zQVcxE@tNy*F-qls_nA0tx4{_KJbMI>P8w4iOcI9)Jm4% zK2GLOPjp z9P5fq3?JKpJ3BiIbcqwLdJD_H0~$%{6PUE^;C4rK-kqI$q0IE@B1pb6M1+kW7}ug%`=MpSx!dglsa-C&-p$| z54Gl6=+<9OMnuh_DY3V%3Wzphd7D>jMbsk|y(Ec42l`xUVl|w9uPG~qD9&V`nva&t z>%%Yq@Rvp07Ewf!bAQ)0#3j_+W$Jc5D*!e%J#HCu)%&o*B`nDS2-DVqz+1~ z#pt+l+_hn&kaoljaW@-g#!NWK%lVZtn{m2&-oBerX_E>{nsO^LajFRzW=*($J4Y*S zCNOs#AAwqjXS-BR>Ac9mSU7TgpzLmDu&PYtp!=gt)L@rNCqZK}@-kT)o-q@O;3Ccd zpeO$jPBP)#3@hW`i+`n9=COGGyEn+W{ar8@)tN$E|Kx%_Kfcj^`UilbEq^0rr^ums zOiJ#CmYQ0)(K<_ie8XkEq#QHf80P}~ekk6VB=N8JHvZZ7&&Y+ta|cn}g5H@?ONYqq zPsNU`_6}IB7430MrG&jVZ58|k1P*rtukCN8C-8#nBcFa-zZx4w+Pdl?`Z~4JMz`exiA}>(NTum=I`w*G@WYoq0F~SVT`5$ueBduO}+|LInRH__T+5=~a~- zwFJEVHmI;aZq)TubtmZSh(8Xp zvHf%lIIbcf4<#yw=wCV9z858PN~wR~Kk9z&a9?1;9B=?&NZcOEh&|~C?J;lT#tB0n zB%KwPydRhUobOHsku^`mO-Cj#igFuw-~ffLDI&^T#lF=<^o>1I$Gly{lMf|=96~M4 zjG@8xQ0G~FR{GjB&LIKKR%QC3wA3<3pUvY~baom}6 z;0J<<4wO+_^p*oMD*64Lnh%3UMeK&jY`mvXd0kwyPm8$pp=p4i@!ZRM=M7U>nI*GQ z8(5#jhmM`_hw0@Ni>&-V&O-;6_JXbtg-NLlxy4oOA`VjLbB6|Y?P1Ljxq)QKOGR=FxZmYfk z7(}O%W{gQ05S0cfc41a2zH3+?!kOK~qq(}ppljFJsFsFo3F{gn%BIHXSu#jvsK0guV1TLH?^&9nDd^jaMgUz@3ir7py)m(7kZu` zU)f(2GrJGHlt-eiR!5$kROuZMXvJ&L9%{bFbgK&Dv(XL{d^jV& zx=BEX?a+I7|DD{}xeCp2{jZ+4;l~P(34T~z1*+MseW=hA5st?N9(%>x*QX>xyVdG* zGwYF#T%&<>Vs8>8UDS_!pG}WLTp))$9Lq4pNKiIB|K1I%3tQeMfi(*b2R|4uN8L(5IFOilB!(%R`Ovr zlp4O>gdIT3c@j??yL~0`9Kg>6D465Hr}x~o<#k8wJ%jhMibS}9mvDsV#QOpZmJQ7o zvvfcL4#k7-UuW4TI+XvEZg5-w!&5O-dqBNyXH*EoBZ@aBiE9%kq0EAApRpvcXzRa2-&2*COc_C3$2Zqug-eQ4~9q zt@RmeBhW03sG^%m^sSd$-y6L~Q=W=8i??py1`oR=vCjJB3+FQiide7jLIm}q zYH-8*t6Wa4N6w37K+ULvzl3gAdoS{(lMDgwgUL=vtT>5#uhg0nm3;Sb!pK|XbUaXP z-dRh8Jg{CCug@tiMr8jn+6i!OMo!uqC(aLGYrWHN9RkcO(GIpNF)`4jh)?`Wcu~+jaKcirWr9k@ZAYb$8v@Jf{v*i1O1c^+a%M zeBf4QBo++Jg*PSb%*(Ye9~z;mYO=Fg-aMx`u2Xcv?8Ao*1C7Q6rz7aecn`*6;a5)Zf4q z4bLXd@>{L@rP|JPfR|G&>`G?fDh zkcC}BT5~hwF@H%3Ngr0lJ5ag-l{3kIhYZr~<7z9MZ8P$iNU4G$pNp11U+;Sh;p|Nc z*L|}U7q7o%#-c1;mZfP}4Ljo%1&LVkNu19S0TPM@o|&9 z89A%2RBM1gaeX+sd^XJcZ-7_N5!{z?qF;cMi$YC@avAW7uKjv_3_SH~T5QO$^CDLm z2;F#cwzMi2y107oiutidYns(Y1jb>ODw|!dBD{~p1y&djStgQ0Xc(~G;L_~>;{_lh zZLvrEF+mb6B;PJ`NMzMp%;Zk#e(ZB|VxrF9@Sa#Fc$j@ zT>bkb?bdH$8ws36-v+0?k^uI$VWyU|0Hp0pnAdZiQP-P|(~3+mk|`I|=_+)*4dS)| zU#b7taon5DSWa^lA6+`}NhP7$Wb{Ro78Data@j8Gn~yb19M>AzC_#eK9riGECvVQ? z-u7x4*Kad5J9|XUUlK^!ceDLaf@}J#(do1Az;WBR^!?2D2A|7&Mp-Cq8T{hY`bR1S z{O4~w{HzKd;tB5@$n9&G9wK)qZyW~v>cS?p#?8dOfB2b4D!Ze&@71PNuK;AFSb<8? z>i^WF^D$r#(Ce^oe5$G!V%kLWrzXuFzeN~RzLe%WFcypd zXp$on{oE|h=Jq+0B0SITnpa9n?VUS1Xk=cD1ugg58q?D+y3~QnAA~$>8a=Z0>x7C& zV9ti36Y7FMHjZ!-Ewx*^Ia&xcHd(o=XEJBodtaZ^58KtW@d3kvKR26?4(JVz z1}(e}qSOpTlo(svb1;9xW5h%=z}b~)3n1z>?h)O49+93B7^8M~3NI7xu(Nnw<&uh0 z#nEaB#Pi>+2XZ^@M_YZ<(P13t*<;`+70VwQlq0UUcK^Vq=cCg8u>%PgzzK!vk_g`K zb%=(s%Gg%)CoyIH>S%M|oSR^fk2_ge4o>oEMVj#56FqX*C%rf(slLYNrWHrgL~_nz zR+>~1-06KGlowU&$d>DbQ^6InwNX%ZkLY z3>pZ`C4!Oa19Cw#wvkS5(qp})xp;l&t<4QAx`_C%*mONi;)wX|N|4=nH1bNcYX#INE+$tOAKGbq-HcQ{y%k`%r6a1GlK!9&+hNtu2=Nk3@`r^vfTivQ48J$SR z!_AmEp;BFgD`fIi5%j-6QYuL%LHm8qvAjxIAyWsK;OU6a^s&JrbHxH>|Z7#|8*mh1he+9P{x( z<4s;8$ymQ^SKi_tRINxZ*b3Dep*G|+NAGhhVYVpW6N%5qdEwC3k&7-4HPg6Y+c`m5 z(M2lU~R-7VqsFX&f$x0k(S3I{c^Ga)IP!;Ho&e7-N*3>$Kp@mz!w-dtR zNw)=v^9f>Eds`<^+>K47A4S^_WZe_Ec0)fk8lizmc4g)AV{{7Hq0?G4aQh>VccaIq z8{zjx3WwJ}3#w$Ejl;HFpGijttmhdzt0MhlUwBrOKYA=@CPi@z;k50hS`N?QS@guT8Xs2^;Ia}IY&14}9#eITajcDMHWar9JFWl1z?FSliV>q$fQ z?jfP(yxel4lS6tShbm6$NOmoT-(~HUxBhtqyl@|crS@$P zZ%_sgVikxL3>TG|&{Of?bw4`V_T4E8oy}VitK{*Q3>A1hGk2j{XOvFyD{n?=Bh-xr zMF#}DqU&Z-lA)(s_ULeNiW#t>1 z43I9f6|sW%8*+EuCuTn;+&UhnR5CJ%BV+DGUM)$<(JV`SB~=?JcF|~WD6b>cL@3Bn zrn_0r$)qY-okVnSxKGFpcZbO4c`rzbI#UN;Zb@{aOV_D=2Bm|#vvfIg0EsXQj`{u$ z+;OMmwb!yHsx-|V^o>N=l)|OB_GOT`Kw>(4R`lGqk)A~)v8@Uy z?$9DZHyJV~E(}(0)Nlr=Za@uAcvsbpS6|rc=6rrzji2;HS^#v-_h&29Gnrg)(g0c~ zwXNPy73qQOI>t3-b4`gJrlp(bf6UZg+Z075C3L`PcXfTe@rye152JdE3kOjl2|u1h zKPhjzve-?AJgBa(-e4@17iL}}23i0{pox;$cA-ED&CCqH4@G`}IAV6F%}vc;GllXP;+*YklsJdN$j~0p!I@ z^Jv9_&i)ocOHY&4a*lyp?ur`iG+EsDZLx@(%nDlo zPwmQBH1>4eN_ieLML0a`0YBy-k90u|;V*^~De!64XBXN*3co*7!X!n_Jzp6ErL?$c zPYc*c#Bw~$Fd=o{nO_Mn9Ab#+oFPZHMR9Za*;Mn2p0pr7qjkbsY||Zniv8lid@O@H zv%)z2^3m~#zqsrdL60YFJda-|ppbpYbf98;&>j~sS=4s~0o0Jw7wFoSW7eZ@kY?y# z!JiH&wrA_@+_?BPD1?X5G4${kp~ ztalKD$H^J@if2c{gz&GY6XC;>u0$CZKyg{I>p?NOM&bBpK`@?SfrCUgU8!zg;59}s zCsFYYx}kR7yIXi13z!Z!>HufI@1wy?9+9yQ{15IxZc?AY$t5L`E;N>W+K{MBJ`BM| z`?oLqtwUxdlGGN=*Y^tz2cPP_AK$m$tP2F?zhS`rtxPu@2Bz@gCObp-+C@dwXC&pD{I~uJAq_wS}Ic%Ko7yH zGoLBi@Hzaq7Q%2fQTMOwH(fQH1Vk`hDBsYcywC7^K_%XhNkK!Rn16=NjsKVShfUVW zw6rgdWbdE=s@o-)Dj$S77!ht0B#lKtNYebk>;K(;8X80a0AAhQveRo zpARe@w3|!xJ4lV2u{@1l&&p0NxC+G@9p454p{-L^ZLBBNv2fT$EeL)TFAU^frpNwq zURQwdUJ82--?-)E{xA7x3Kv}PYPZ%xV;};|2Z%d^CO7Io@0KS&3WQ!;69WFL$@W)+ zGZr4{F2;tH0Dx;fY~~w2K;kJ=V2YHO(T0tL%ZSxsVY2fR(|Jh;pn1ZyxE#kYVhmh7 zT|=v`H}pE`VF&Yd@{}S^(sH39SCWS53bwQ&o&sN0mimtAsn>_!=l<1>>klnaHk=4* zY~SOu)rU6di9j!{5j5Vur6107rmbL4XgnGG?0urWn$!N(Z^xpA(}a&mfTPn>Fk z2@!W5bZ%tpm(^^RalrL10UW_FgQLG$_`rx@+AD^QKO;t;Y)O(y)NtsW1(dxz@QQFq zk*QCRlJT$ldDwvQkEa@*`Q(Y1Xm|LT^n|-2aJ9$VY&J!WvmgvCLZBCIW+3@Y7M z#^IBNR;e=<{|WA|902Vp`%h7aUGU4W=>IIadd>SnF(~qAENGk)^8Sn~ezXceHL_yk zjdkD+@BIkJ>8_KyU3GPF$LruObF+KyaC5o8*p8YD>k6dC=OPRjRZ?4O=jxCvFITL; zl*Eh)DVdTJ>n79}AMxgcm?oAzYCC}!Rg;`agm^hS9Q~?Pq1+3+R6l!tI$}lAP!)qz z!E8WFoPsar(GuiW_Xhcj@`q)T)ldL`6g_g<4y919*>(7I1dA(VlJDj0h9>q!w(H@# z^f(8w(kFf_#UonZO|y|Zc?aK&W*zGre|$)5FjkG&xC3L_c^iiClM4NYcq8duBQ5-` zb_2o~g#%3j9Xm#QOG9YWG@<>(HF)QCuJX6b&j(L$;0NR8_UIn^K6qE6pGL>-W$OGm zq+X}mU!Pu77m8qk;fi5%&JxG4r$o~1^dfqA=F{3WU2_zF3XK-vdi>|EHE~Af5K;zA ztdG|80GAGKzFZ8??c=Q6Zu2J72SP5J`jLM~M5#-fN1g`kVFKby1`;VVXA8}9r@PgJ zLhX2i?ba{JnqSlkS&Lai4k$_$(wwoDk9Zcq#B09z%&&VkP7Tg}ds0#o4FOFU2eaw) zQUsGmg9o-?A41kC_D!Di`SE=0ZS3cGIYl{I1H729!=fd@HgTCL_vma!$sF z3nP$CMvTj6G7U=D|e-G;gi0o9K_&Via3_0i$tsf**I%Y1^hZ9-oI*4u?+p zL{7t{^UVD0`W6?nXay&A@ZksEnE_F4rTq4HiA)56x7Nv#C##B187c_7d`^!XNURnz zpw?BPzPhRzt?nR6*~WwC%RKD~dgDI<(R7n ze5NsHX1CYf-#Zbx!KPEgQ?0lxTLX3)<-X&d6G#hS&XB5b)xpKps|7R<-p!VP!A|D- zEdcSWpH}W-&ls&{?bQ1?Q-_8tvk@e?av~p#^AES5xn7h0T?_ZODuU&AE^S^u>a(tT( zq3C{LAaa9@aYxGTd=?U{-r%EhQTuOrRB~iP{wP@ z_T*J;xGaeN?Ng48&WhJ8f9;pu^^Z?)rBF~dJx&i94X!n|?8Z!Ly1+i7D9tQ)n|N?< z1+LngxE)_;h>i!*+}ZnV+K^Y4z~bd&|+Eyxy8J;zunDG-8XRwueQ+ z3@ze_RG*J=t!c+t`|f9l0B?Bx{%~{kDhHlU&yisi5be=Y8!iy*EwlQy#jWo70(ak> zn=Ir!7Yt?Nf&V3ik_3v&L<}kxh!Ry(SiNPn7s06!Q_Wq6KfCs;jNvdJ#nXtW0yGWQ z<;Gh(62A7^54v~v()*XZ(c}4@L~5@!iAHhrJDxw_%y~*sA2WxrU3&ZV7WuD}({17w zWJ4^roj~P?V6|u#NZdZ6Vy#Nlwjal$xZ~oj`0fA0)mcVWxqn?-1PLi=P#OX0lHP!n zAl=;|(z)sG?v#@5Zjg}fhD~>OZ<_Z$?-Gwbop7T@y2VEb7EVi_`B3 zLAUdyRWrAA6n>%K#t(LX;j@NQZPvIvzRm830?uE+#b)Q^c;quik|7AD4Y(-V|4g~{ z_v#Y=zn>vsd=Am3b;LE^(9g>|!u%;>=8BIs-Bo>MD_NM!ROAyBb4y7QtRvhWC=Cjd zX5&a@N7{)=)6t1?9VrVoI=~G%+P0h)YL1!eQk!gE85!eX%dy=yZtXy$?`*)xdIw#wM1 z+Wp(bFmGvTc3)YlMS?PKbOn4Yqy$mTQWIqLAWXqrQ56wZWZ-x20db)T+Xjmc0UJ(# zmb%7=W>MCWIVN~xV_GDaa-zT%0e9S9RcjdZSjaj8|CvvyG{^JZn3t7qg>J+9A_qQa zwUEBWKf>sIR9<~>iuqE1Iz_{_faC|NTyQq`At#Rb?}m-Zyo}9EQM%O6PE&XbPoWSKJXGu^EBN$%GUp{U*{RH*5AfFu(s|KPp7Y7k2*k(O z#B(I-<6rU6iTlo~P2wF81(~|&2A@6=!I-VWau5xgojDW^1 zJ|OR_5G(RG$Mm{@O!@XQE3GD{4NozUpz_OKf2k_)-p}YS(m$Ik?0}m~$Wv-F2t6@m zqa%z!Dfo1;Gq8~>oUU>|pmKcKxP0l_&O2>E|Ab<^$$UC8VF9KhfTuV!d(+_;_3F%s z)=e~P>^Lt;=Z7X3ICIUasi`qwIx%I-*MGXd4l(XoQ2{+n!(M=Uh&CI1bd`iwa6Ww3 z(~?BJzYt~$3@ds5;YN&Cmf?GuDEn279+i1G$L^gN^V!?R4POE^P{A9Im2t}Bu+L$4C`!%lk%3j6?Mkg)nsh`n-SZ1`E6f@$q?ct<)BcTIGQ#qejl$}rf4dqMP z^U5zO-5l9!pbmIA@fv3YrZ^%68p=4?bS~o7yjNdGj2AFD*C*)*2^yXf=epc!x{oH< ze-w{)pi@+Fu4#>eYwr=S}gz^ z!PbDa*{a|@Nj?HNB=M*4*bIA*)I-yKcna;x1wsJz7&#~G;dD6l_wlrEHc1U1tF=fM zj~i)zUmV2!IOGa;;89h1u%T4m&NjE^1gzD>XNX&0jV73z(DXZ4as}?ChJRsZSFl^- zg`^PwJ)i|6-kbal9F*aulK%Pejh1j$m*44KL7+Eh_&QIFR`9Zl9%RD_RHVg-oCD{e z&XHKnxMdrc$hdVg9(pDp+U!9}YXW!ie64=2HO=tcC)Jc&h_+}|2;s;g3bFgX+Bx?; zf8V&mNj7E6P!e`bFceA9#XwMD6{p7?w#7qpQnbzY;JQ}l)~~d?#gX}Z-F17R`-pSW ze8{Ld0z3>e-It?w&j{u{m}E_Tyj&$>+xa}aUsduUdSzv0&Ra2JgAyul1>dc)W!^hv zvu`LpZNA*&UhsMJE1A&MANK{oc(!>{hV|;Pg<=9~QZ)p^PF5(3Upp&3D3(9mN;UWnu<;P;M_)-Ek1m zh`*J3T+gT)0?ZDad8?RmEBLu^5&^WKM5YK-qhiA3RAIM89njMi?qYrzV{?DoDEsG< zE1T5!<#3j4y%IO$*#el8oKgqeaR#o2%J1VolnmY|$Dh}o^XrSC#iiN>uhxUxSHb{- zJq_Vp4W3m5>`o(xb~?9=QKIBT+5nvAsQSlh;RFoKmd8vf`CX0(?cW?K%|~A9?l+jr znP#zAHzL`!1diXoOUHP)d^&~ia7F}wo^FNlBNm}9-*rGkKx+$!=m05dRFZ73O}jnZ z_Us8gvX)0}rZQtL-^;TV1E9~^8thzwn&U*kmJv8{&XGIXj-={_?<%I0)sGgMVWBIo)K+bGJ0jXi+Kwq6t%iM)a~DVUuW04-8TGH`kklG( zKrLGZ0#BxZU}-RaVa#qn93>f{qwPvMrDbYDLE>5rA zOVv4uKd8tGR&jbAAZ7{%L(4J)zil4KUm&P9Vh0r#R0La41&poOaugqy$QOG5L9j;P zOzI39JML&`dnyw#jVWjR9#N=7?9MDf-~L#QJTVQD8T~FV-~UIx&UtHH3_vKs%vayv zyV9#ych^@}x#YUM(aA^|WI&iIW`BBX>z^o+FS>CiIW_rH#=;6-<=(t^3vz zl|M|j^GlYH77vVAR>_YKq~G2DHt>-ec#UNl{@v#82aBt70yyIKu~U+eZ%XgAOjoIl zwM}ZxvOdIwkLG-KNIf=#v!zH0dg_5TJ`oS>AsSw*HHB-!XxDf3AAMiUia8Xf*|bd$ z)uEbB&2vj3q*7t%yv3@DO!IvSCXBi(pAefj>@3p7MhkD> z0-mpr$L4%exe@Sl56L`-6R=g!9Y8`2t9;^3376u{ZdnL{G@*m1^QXe1r-2K{~mDJ z)ts7tNX4*82)1HWe+a!)Tg5#NcACa(Y|3pv77TD}NV;oYXmod}D_gZ(^^gt@fYuJCp|vy)7QBo&3Wc zL@5`XA{#?AUy8}hD;;NQz#hJB_G=i`;}0wzprB+h{it;5Bv*!u04Zr1YHLFrDH zLeVq1Fx?50toR;(X9i*gs!fURS>^Xot$}?ZR^%BDOQH+?#2zDu)@qDH<4|76;)aF- zdJZ;}IXtf+$V?X#?9W0Ykg;X8ZI6p}fFbD>rJp?;5WD+@YB(_9)m@j%T}-O&dNYj_ zKouqNdc=awfRB+Pl-&+=jQT$>fI2Wl^cnr+wpTPZ4#K3oc0Bg2LuGClt|?uH(Wjb-3B@WIgd%ByhsMrdyyVkqUU zry9~I02t(6D#p(6xFC2OYWJj;S9&CNKQbh7o0ul24Eu2tJ!Z}9_3O_n1uWH60ZQ~{tpO02hFeAr@I)J7ho73~wr% zCyba%RJ%1$%0QLE=3UXTR6)(9CvmMOR;Pb)$y361ZZ7f2IQdEth~tcrqeik2VK;9| zozT(^)=hU64N_Fv=Gcz`i6Pk-Pn_MX&ovgT;d{mz*K)Dm-<=7j>9Ymg+P?p>3HKPk+KHi0bSEklvG)ho7}4lW zZP;7F=GCc6_QbO4=)!cvL0^l}xt!nCab`Rd^Th|FDXQWRoCb%TRfmTJM)4W!pKtGI zy%@`Hl!&W9k@?eVVf&=BX1{I93Y@2K@;#A@LI5zprStW6nVyWcdQ(;bo?^jR#{zqa zk!1HTZwcJlH#1=N+i@_ENJNK?42TG#MZE=>?au;j_X2XXlyL(9rms0vS``oUc-D0TMC8&jTXlj+j~MAVuZ+%?>W}A|!7Ucw z08(YP^}EkeL{VDc1SvJBC`s|Q6&?B^jQ))@y%A`Q5LKBmpF=fk?UJ*V0n4NO5Ydz` z;65#^_Ctcz>U@OdOA}5&C4v<#EY(Ysq?Z-e)FvwrIZe7~h4fyt)}Dwq^X{j16VQn) zVNx|u*vMX|^v>^h^P6l1g+y_F{g1!=RUP>PgsRZXQyELZbDcg?;P=NZJQMbnP8~VX zWs*5AG8CN~=Lmc#w06<32vB8`_yMEw$w}6wv5$Y%7LnKg`LJM2YFJv9EwfjQxM58M z7k=a-Uzc3emEec$C#XDZ=pWT34#&jzY<4!-wozd4VeU2JZia860gffZxuy}oD46PO zVO)Np2yXov9L3LeN@1FQ=m1tU(TbEEybpO2imxo6v@nc_0uC%an7&kL=H{@qL_xG4 ziBoRxzSHac#-GZUj-%w^;W!g-KLpg-4@lFRd~dLEyz8ou>TK|KX4gv+Xr2c!jEnQ#2@i!|h^D4*qQ0eXQ@o^(C=vbJ~mMOk=#z&LMeqIzsMO>S^x{Y&; zaJk$`pcFN+pTVEt!pviihgDT02fLFdC$x*+g&*p52Gc7P{uyWt?US$0yaX{kTNdI)+b*r-R8Xhcn z@IMZspa;{x1KvMvj=Thf{%?(rxPfgvnfvXBl~sKNQ>}{vrh&0-iU?(A#3NDQlTMJz z=LYmSJ%@yvQ2^}8JdJeB9NYL!OqM?gaHKsGI9xQj6D4nF%gh;F$$hL%t(Nkls#&;p z)p!4(B{4)e!Qs+xxVSsfc9S&g^Qk$pXi4Qm_lj(>y@;!w35@=`PW{MIlZok+WC6yyK@bxF@5=sRO%e*)J%_4ts3Zha)vTI zYkYG(t)_RgQ#nqKYv92)mm#XhUgK?CQQTkfJ?~0Z7aU79>WWLHiyYt?Hha6! zg>GSz{C70A=2Ab2Usla8ojD(GQO;oB6R=LFrdpzS|IZUYZrD68Gb~;#E zkRp72?OGbIX<<2qkW*AtRPj6oy z%s7wV=Kc<3mhg_6oSNa$7ZO3g+AXz64GFS{Utvl>Fn_~6^W(Z(3qg=fq-acaGNTd# zyH= z+&R4*x9pwlC2l~Af-{-ce8E$dj(2diPA-1c2pewLaD)xoHLny+YJZJuI>&w98WekW zXI{H8$Ng2r9~4WH5zi5Jb%OyWc!avCW>@9OgkJciguXlg*V3RiTP)ApO%f`zqKb;X zJ|J%~)aqf(^M>ugb$(uw#i|qK%*LjT?lc_xrtOA@*zL%+WmXhVTS>*Q@%z_^^kAWm zb#r~LBRu7d=xIxm;zSq0U|X5_Q=m?1 zJ2YZ}Iw(0yUxMhM7t+au@^~jlI{A2c{Dy9vlY@gi zT?QRG_3eKfKe!n0=a7FnZxWps%;et69nlWLiEK=Nk4& z&O3;)29mHVGHA()m8k8= zi~gBaAph}v+8@?{cggKDFgoc|0EMSI{LyQpsnv0WY&OHG4v1xVOj0Mn;f;@j7#RPWfKb@&>{UacKp+gn#aEn|Xe67TkZl#==pUgB`W=Ryr) zjE>X{R;Sv)jjkNBbb9C{QhOPEKlg2sGYDMm`mQ*#(i7h(pQwJQ00-{I?TR;ub;X6N zJUn1kU=Vio^`kW^VLgGE36#TPxgI6oR5W%G={ivZCGVMhA<+Tt-ZPxv6x)E{gL^Ri z%@J~SYXW?l%@9DMCB@D8gZTHrBmZwfB>JCPv|eNz)U{9dhj|}DMiElTg%*zmX~G@w z*w+l(PAl1lB6#%x`G;m7lF&$pM~7GnBDr)cEzsT$$>5?!M_ zNy>;x@({EnOIl2UJ>%lcj~H;fMmUIcX6%yTgM^k}%UM>$#?UihpLDV2EfD98Q!@dX z2tr=DTxo6Iz@n1sATUY8Xv=uMr7vpoP5G`ozaCKJy6isnfD!dDuvMZ`*4Y_=Y~B*U zwpOocU83=LxcaP-x2`FnN2t#XPp#P<-_G+EqT@~vUp*R~=Qy;y6UvBbi>&)RO&~r~ zAorP3yA#dr5T6m?A?6RqUnkD^gS6!4-moIigK}>JNlF*x=Bz9_u!2vh?UwfF{LTlJmgZ z4&;PI9};*QYu-P1ISg`7#quBZAH-0abq#V^R1LWaL4I$=K#0zVIYp*pAf`D zyLS=l_N%G?sycZ0$P9mVu0ix-BpwcT({OSJOcU0^Ur7b4n=t=?W4UXM$}xwV3SuW_ zL~lR>WrW0VmqsWJx{2p@q0NcILNVHflUZ^)i4%Mt^jXHWYmLS+8JGPW7(NVA-*$Pp zmyx#|ygrm;%`|y_u_lo?_7NdbXCetlC^|z_)bdc(E|gPm*!nZz!c31xfMKv?CU|MS}AA;l`=G z44z8#?y5jQdusn6c7LiM=(=qy7Ma=Q!uDWA*&JU5^Vssk*@h%?=TGT$9`LxvY?QTN zQMcU1qd%CKc7^^ZXYeULgHq&LrR{`aYM%NtRdi^IozxsL*+W;ZB`Hx&yjey_Lcm%E zL#rC67mh)UTOsIsbhVC*rkL8;9z*DHEt+6v>FFZq6NRrm3VcFU8{eR%g!WI!c@P0;?iMcvp>J&Ln0w}J)4^0&+k6!Qo>NpUE z1iiBV0-J6`Q~s=EjOpZ|ERB*9VhKO}=w$CxjYr)nqAKq=^dz?CC02i_`zB=9Q^<|< zCqis`aBg7`c?)BZI4uv}Hr(|ZK1j+EGUT@hB^}`7k`Zx*u+x)Z#TdWSe_e{XS66tF zBzInEQ&V0XS2j7*V!Lrm0i~&O8;qyXFFu(qTRiJTR?sWuYmz}jd==ZcUr~XY1gKEx z84WM7r*fE*y=N0q?zIPq?RU%8GqO|fQ;JGu%KZoW8rEhtS0dUh24qnLIvk)lEZe`o zH6G^_z(m516&;(mHuV28<<#vAst_PJZ9n32fZ|pOEVRc9-1*;KOgd9JEFmalW46(Rv{xT zu@HJOGO|b;?9n4L3T%%8u4X+W>@G2iA>3#_OE+^E*{b>%=)#I1`n27}CubSUfdd%% z5KrJTUit8E%O#rA9#idK^?|TjJcS|Jic+Rs7|#t3Ge6<*Ndeh#In(OGjy2?;~;6TfZ1$6r{&hyjBO+TR_ry(@(3t3k}bcnoME)%e~NT*>Y7P0Ad-iFK|5uQNz6=k8D zEPoKd8LIh+e>=N7*3%;U>f&7?(z*_!%k}}55V6gv_nz~*EkBCtKA~LfIF=0Vs(XAsN zEb?xQI2dET=_Jz_H94eyRC@1d!B>r5-TrC6lHwJwWsZkB^-^a!0(qWB><_NuHjV)B z{A{aT>-+cbi$nivLj?&>{uO`HO%@j470Gi@cy^VRmO~t0&HsABfNRYMSr%zSLJt8w z;G8){i*W{NH*2pDCP6XQHFt%DTz1tX^Tla7X2h#nldaA*#%xqMa&{J-oB93P9~Prj z>4&y2ZkI`3eq|uMe%4Ed7bZ6)lgAUwX3Qe7{W!^CVeWiltFTAEP54of#r^c=lKE~A z{^|oE3PkVPIrkq#O)*LSV=O&dZFRZ^G&bc@4y6_dAX+} zcY}*UnqtHw5lD{*sYz=`HB?!j<>n&NG~N2$2-pZt?%H3vvU|d451cxYsMl&TpDac) zyA);laQNHT9_`N}nd9{>VG9#(1fft?dqbK|8wttTCbAQEB}Mo3+`=&*VUeZJ`UI@Tt@Jt8&ZcFU8K^BF z#Q=q|l+}j2gvIp2$bQFC`t(D7jT7=@K}wLo4_m&p9#QntO`p=yHLf=RB)#?k-#<$K zgAIa~L-`)@6_KfnD%)@_!RP!1AvAyny5{s(-3b2a^UU*CMpHMLBvqXJw+R@XQNK8Q zn7Hyg@$RIK!Hb5>AMZa_APf!0@;GA7K5c;++77R-Nkz5yUf?EqUt^?G#E%bcyKLcW z1?3?ayoV@gR#uRHOH%!qcPUQv$dfQOraL;g?IfcPd3hIXtAP3W74@MnFEM5cwhEI* zC=H%&v##ph@5@m?lpt7{l%TTbc0<= z{>%KLl`y#uH{x2`!)ez-g1H`5X|d&&CP`F^_%x+{0oL9joqks{BfaiQXr82#-pB!3 zZNvAO`f4e1K#Nu0b33j4s_B$URk4TtAhB+qYFK;G!rWj8mZ|G$}^++%0twXkdn#6MA z=?Vo|DMHl9BS&Xt9`_0a%8RcdZ8z*6G3&Uz^QClkb$ixQB$=9C>9N=}s3|*goiE0R z0H-Min}H+6R3jrJjeFT)j+!NEAfKJY^M2k8fe*pN!*Ajh`@7ndHIHJJY>&g)q%49T zPHuHLWL;zjx}_;Is4XcTEi81KaMBNX-bwa6#v${wfk1`06D*B&ZHfZaf3t0jBA2b%O77Ne2H?yKyMoR8E!xQTg)b!ZPqTOqTPI+ zK%EMB?pxEni`zgw3AtF_B($`FM=eCgBs!X?5*|d$I7yiFlrt~dh!G{z(!iyhrFQz9 zN%f~=)H>Dn&a}ImVji7W5Ywt>uMR#m>eCKpDK1e2b6s`+VI0UQ1RRglYm(`~u``xg zp)i#B6AEH%-r`}V37d(&rA_y8VF0e~+;gXBjB2=nG-vFJwtHH}-)Ei07j@lpNSkNp zQBMq>4=pc<=9H8Wf#oM^_m?06Iix8Ci=@#!>~@T(tcDyC*)i=XNMfDANT8L4Infud zdN|0oc!5Q@rHtXlLeH9{C|~<=e`6Qy3c2nX)ii%zCnMY4FER6*p_eA6SqdzVEd`@S4=`T%sk2QTBX0_8d@57ll?f-Pkka>Y=$(>P#*Yqz$OB zly@mKTUEy+4EXk)TnS6%dex_B7pZf^`6bBh)G7mjpPir7e|_lWpsV|df0cP~Rl4Kd zNa(Iq2dgD^n7YMco5D!Gf%+AZgUJ^3!`S+s+OlFDGK z>qhC7R0BrUI|qO3Gb~GT{|Yk<`Yf-nO+_M+B9hOBNr9E3MB8IWbN+VyuD;qG)ypNi zw0yQpR!1zlbQBJBd+5HI`f!*vHCvZP1?aihL(a)R%cH0pwh^JncN`h6qg@W**49td zqs7<6!0Gzg)H;~9Wkoaj6_aj>D=puOte)y?txBCFeWA=CvTZ$8K7|N^QV&D!dx&*M zXb&><@cj@B$%OxMlPq7DK^yF_xM~8CqlkbE-!);HZLeGB&wnm<*;jjwH6MYTcin{Q z=Ldmjm_<%YKccWAqhn_(pOZFn&+`^ln@tmvKFd|lw*oIyLZGKXT#J>Js5YNi2^Q<) z;q|(_vfHj!$+K+|{vb`OOdlq%T^f3wW>`m_KoRZ7Uq#hxIoP)IOjwlk(?bq%*IVK$=Npf~BWp{1Dp}(E55#A=-4HzxG971U@wBJ4e zbDD$0?!>a{7n6n;P?9~fzSMhx`@y@$hdxzW_11A!u0o^-gx4;|ao02!S`9Gm&m$Ej zH@AQ^H5S}srhD%Jd__8UP1>LiQvA=@h#6(HoR8fs;|)Yp1!Hf`?dFY>j^)d~MhU#W z%PwgC+MYUD;|J$KF}Tqj-vAq<{RbbkF1c%XXm|$Fse5SyXWe95Jp~2edN<&;$Uqy)zoMUTB^;Zq~d z{d3RSWVhMH+DwR^>rhr)bnHH$1&36P5yQYGLs}QqH(vzuy$mj&QgCZ}ZuXR_H&1n#kOSplA5_q1zaV5d9t0YT1^m%Cw`Mw z`A+J+Ej3|KNyYDC19dky-si&;0iSu4ubrJsE{A76Ov4>e&ze_Zs`V7aY%Hc)L|@rI zMoVZM)L}2i*&?HYS)>Rv?ushhQXSeFn0u8L z+COpMK2ooSWj;-b;wzK%X&!TX1^Nl*+Ba!u?dfZpgeS!t4-77E>KlC`l@xG#%9_5xA;Jzqq=i>-Ai*cT|e427K%lv^?*& zg}oFW05fkgdkMX_Y^r13y?uBgA4KJ#Q?1sS2AFFLbto~Bv;bq4a-O5;)Lzvm=WLLh zA8xCt$Qj!GSKKB0&gY@iM65)gL@AUL{^3_-z~&vb4*hP1@zzxb-Uj@CUI0kF>4#=c zhtA4yyX+^u7A7z4LPpHAr~@akf_v_>=P&nL33LtQF|>Sr@}$!~P2Sl~yS7k} z3~;NBz03@4NP7Lm=OzrDtQ$ZPz}i?Yg*~|^IRk=BK67xW{3~&cYia&r758sbZ#Zdh zB$1}Px=9Ctt706!LOj=Z8_M=?cd}H>_6z|Z^gM<9^wu&EzDraMdy^^Qa-*Dx_s{B`c4rV7QL_jpqxl5Wa+(p;kc|tFA?yLTXXNWdob>d9rxFV=fIWT zv8}?H&AJP5+r>=9#sqbK$u10Z<)QsHHOl=p`tU-e?#ffOnYlEoE&kVNC@+`K7y3N# z9Z1*a{8FGblKYZ#y__jM>T-V3Ty6 zKQp%9swHqSO8{>v@dEOVG8Uino69($jy5svu-jhbY;_br3bDI%-5X>Bpyw-9QSS-)qDy!$T-&oZn zH%(gPRZ+4}Vl%!(#+Tv)#1^sTLzH}e*f&WORzLe~(E}{dhz@y~pKFoy>>T68i+O!d z>wYDceHrQl2trEZ|rOhKdOc%Hs32Mt5JG!ITgdV70I;VW$_bB@QTH^oRs zi#BgGR`>90IU>X$WNiEq3SLEK+R|yh18X8i_ki53H(e;N{I8uF+JB%~(O)Gf28=N8 z+;!6Pv1ePe3$`%Vk9B@hnBg;aq%bAe_v+hpHEe8wXTI|o!Z*Itc-d(a-&y=F!I)H? zax*22A-(tFKbgWj{XD}_{hQgHOvkEX%b}doNw-6ht_ge2gC*vJ5Y3g=@hYqdJiZBS zgkqw6aZB}z^RI=6u@oL2^oJP}A)3 zd)vl7ky7%dR1+f}qJx-;be|6J^fVNHm$2AMVYA%%$JspVru$Lv^5@_#d%ZldGnGn? zaviod?)io>pQgC1R|997n}O(F2--V65^rU?M?Bt}Q!K_x>5(j^bq<1;Z_kKo&LYM# z0%YCKls+1M@%*Jm7C~ZzFGp+pE548BlsM|;?mQv+dg&{O!aHzKx1FpoTPindp2EBrmByX7{AIpI3Re31T<*I7em}>j#kiPC zpIAT25*}uc6<2zVmB9K)Lf8ASPw`sG!(XT@OVnRcMV53moe~7mc!9C0q|M+^0u}1v ztnvKb8B`@Vw?E$&2nfD(eCcWa=YGri)NR#meC6;-aP*Ay3gHIeL3W?_$(FaeM?QO9@&W}Tl9_4 zXgaRCzJsiI%o#VkO>(?zK#AY_MM5;W+;+}@?Iz=!^7)DXgW!8thnH-^oYCyDx>Cl+ zHe$0c?;*Q;&{YKmCP+hCv(5^y-zLuaY~&0x{>Tv914>Us75!{q(;_pZDAh?eVh!nJ-snYTs!sp%K%g$BHd9WT8)% z2?1SUC=Zdk)~EcMSdF<V>j5e z;x4plKM6-@=+u)hx1GutTOWwr`x1yZPUj)7?Ruk?Vk7Y*DE0^z>`{Q*944+t#FJj$yygGu9&D)Dy{Np% z3lAya(61al;JV3vmppX@*lDWbR8VR`dWdu%4FW0|mw$8Of&vG2Gb7blVaEneR~IQx zgQUM*p<$oP3ZzD%YCfE&FOG?_Vu`i27sAV<;P`m`Jf$N|skIqNpf(u10}P!7-WhG= zp^-rjlV9x(UrS3PbyTl!hkfFH^d7pppeXFMN&Zs4_A94EPWiiRp=4j@6DnSL-?}Tp z>Dq->9GC?xsOw=#=jpYI`TK0a(cuPHj@HFYE0NB$CJbhbC3c$ApYDEL>b{f}2x?z~CWRVG-dzsqKHDj$o5egodx9>9 z+4M)Oey{U%{CMrGdOVY8eAancQ)M>u(`EukRZCvkg898zl;H0+7?%Q~{bVEv$p{XT zI^Oyh7D^|C8ev2X8LV~J*QiLysNax9Rlfw@oHE!sC&ka&Modg}m2b^w(@oI4Q2*+SJ4i66MtN zjiw3qTa@TV6f`wfP*Azxgi_j#lI6Z)tQ{^Fv0E?5k|dBwj5E$9WCXRQ>&`OmpN1i) zCl+Ve>k{F$l~NhSmLldlmrq7uSW$Ey8;7^hQ$rBI=g`5r5>UDPQOgp9p>4AW7rp%Yr=dt#u z?^U-`);=oJ0Z&KAc9L$eR4?9igY{}8;9rdlhWFSvPFlZ$rpZ@@yDZ8d>5zk$muVB- zLM?c&Q<7u5UY;^U8=oG=ZnJHv04$X`jVtb3#!y%nHL9*g7Sl8bcQzS57ZfUzDgXRH zxFt-nEP;yHZghvU7R>TZs*MybT>2%SG51ZH-)+CkikC9ZdW#*EX=6a{topIn-+;J) zb0z^7VotAhBoM0;(S;};Y6^aDqzr&pid35XN^V7#QmNG0Oz2Mv8Tj~cQx5XH69}{E zvYa~4e5rYtmmOr}LB7-;Ke^3!oZ0STGE-&Ua?C;Kc2uQ2WFAwH>G}QxhlLz_Nkv5$ zC0=?-#-*VD(t78MySnpLRf^eo_!gjtbphDIc2)Ml&vm4lSMRQD^dTL|2Se}BZhZw7 z5yP&CU)ykrd2|XH4yt%S+DP378ZF7czc(BA&#h?v088W{@qP8_n9WYAN>P0s{X6ob zYyN{^J9W@|Jt|**b%911`y{ZLr7k*z<`47DpH2ak=xWz`hN#gQKEI4oDb)tW*Ika14d|2$-ksRxGKs2tfZ-kqYQyMzD~o#ji8l(gQowJ**1FImlK_m1tUM_ zej}Ob7lKgBJ)ZdX65ejS)Tp0b+ce|rB5mYdMCj?z;h-$K$jz5{RbSWKaNK#=EPm_} z7o(OhM(84Lf4Z&}^2KbdG}53^I9pxFGl7y%l)r1XY-fB+{&@Gf$P%@;(}|?C%XE^MEDP;t1HjhX>1kWFu(1$Qy(+b;)aK z7>0MM(d+fOQ!cl#V?}CdVhMS1GkSCKIB;1^L^X9ID2bfZ7qh>wpu@D4evz|RJbjiW zG&n(wcRTMz-@(u@)^W7USqwGMy@dz>v0L{OLJp2Q(S?$GO6Pu;&qPvN-1GGzBHEaj zy7T_20=z^oj!<%NTQzErVZQ6LqgsB}#~a(6sl8*m4RZlc7_ZA70%v>El7$A-*D8~} z%U;bN#sps6dscw1J&eg?U((v%e*r*!sq1S4^BYnm?>e9NUPY5DD_ewnIjpR}lTf3@ z!E}+?TF1&b=mrs`-^Y953K#KSAuI3tLimRIk2h0!&G2?U>bDQlNRk7G558sv`93>J z^p817Lt#I(YhbN(I+!DZgGW34p?Y%Rh~Nji%!)(=zhz%R6_^geJs(pn+I-a=J*A~sgj!K`Jb#c)Zq;)&{X^-9fHn;$DuGWIRxxuo}HV2Ct zAGx*MfZyp$`BprQF^v2EB#!fS0^T1rBD0b4Z7Ynxm_O4cjOa;xK$wv8VOc}*;OzSg zS6z=0r8JvIBpmh+dpZ#o5CeRbd+)pjx~3^smSQp=0scl5fv2c9-cnTcBXZNA+~`vgOb5T3y8@#};&{_hU1nTkt%Nt*&MtEsnhswRea7b@M8NXa`{GgY_M%`j{j zU03rZXCYnyqJ5)V+XPphXYei2j@V&@F zmED;S7`&+{9`((qrEZyN;Bb_}ugsuIO_|`Y^#h{szs{A>U^O%}I^(d>5SVNw1VHhK zxh%Iu`#!3~IOADwtcmjrvW0MySevA{(M8x82djB1q9?Osn=)fZDU99KiFk<8lcE^l zet&VqGo~TJ$ZDnUH<#D;*Z9rPa*~<4G|Vb@MCXkMYK-(#Mo#+jy)n{KW`9%sB{{32 z;?!Gf&*}Fj5!chz)Xb$pRd7m8hDy7J5j)MEYqH(l8+=~Ja92v>Yk-EOnouli5W@Am zK9yNitPV}&UeiGeKh}JITONHZIoO{PACdWFOXm5~9;Vb;hdqx@xmCt5pV_@5t$jOA z#CFynXFj1sBIeP%!o;mB0ol}0a0Y*)d)|>`V?J#HOK1qhd#+ohps270x)D2LWj@?Y z;rDa@FqOG8y-?1B65iEoCi@tma;ccFG7MUfmmK;b)$;uQ75DVQCvM?y(}Y0jl~GNC-YUv)=M^6#0lf6pgkx#FhHvw?>IeGX_BYP93_klqVvyQTf00d zoF@w@B#;Z#SE8Xx*MBOg^T&^EEsz~JQU6~*jc5S*&jxes_I#60W@3OR=zHjyemGOf z1I;c-Tr-KB+kwaR<96C1SO~6~8$E8s4-yp^ z=n1m&dTm{L)Nz{_ADahlK#pD<0t7gAs>&R`sP>0G?qq&*90TyTsZAG^6aktUrgUhuFWqU>qSpq`uoZ$ijzljRx*Qj8mO zJjmeu={l)%A#bVWa1|S?LrDex4%+x*#9l>hgV@(Vz5(gGY$nr^v zGf`KE4Sv2^%Obq`!U}Q2{==qQs!;9vDOC)L2P6jkhR0jye>6NhNKJ3#)vpE zEFd$yk{B2w`1EI=P7wcf$*LO6ls!uu4Js%0lmD=Qn5^3&jJdR`maS;A!ox;b1>mI> zRWPogoA;RdFZYBUJ+JE|mw z(1cul5b(mFQ>`n`J&W;-ir>Ylkkva(WL&yovahnRr2fiDiQXvA2!*JTh_&r)gb6sq z%eGg-IMSAX=fW>arqZL_Oy;v@c-}8yD$Ko>;^Fv+*|wBt$#P}oK^Uo6ss;?wkoD{^ z#$vz;3Dkz}I9Yyz*^~U#m5T4~g(H8EaT6J}eMG}nu5{HCUE84niAZ9v9pAr!Ty_o2 zD5Gu;WC=sMG$lS&iVZqvd@-E-y2R0?E_6fe(`elB8HF-S^5W@fZ)E|MD&R`*J5iur zean}gYb1aB)l&3sS9yMzr+|*khmWiukOw{54im;#nh1Jf(l9pVgmvC>FUt2-mkW;3 z^KnD~Ja-#AnVDt{p?bQ1EMy5-vur8D>z*Nh8(kcc{?jak6Y+9jTT+(COJwuo*ou?B zc9EhkE-`X|`?e2~lEC3XC5o~0@rEDs8UfFf+G-!i9oE{HW6dka*s(TyeI|Z;sTH4h zRp_9DyX^ewcYuMLnye1)9IUDK_N>srQO}8Qv2Hz6SX~9vpKezyq|`r~f4B#yWq%da zJb7y`*pG4}6r|Zn+`7(|x?D`bb(ONv$bJiXN(QpOBa_$0%Ewn%1+o=pUrwwAB6Fhn zn+;sb-Po&%!v2H<#AJp=B|~jO>pGM3k<9jBpA13+Tl;RF!wWvC{LQ`Nk@cF@pFx}| z^@dXRX8qr1qaTQ7qQA7QZA6|5_^IkFhpSO#o#0WRx-i;xbebbKY|sJV0mfaxK8rfy zMh#c$412GE_iOy=YY%OT++*vhM}=9O#ttw)h*?`#6zcI#sW0W-Pezv=r?|uIK}R1Q9?*EhP$qrfTg)U^M^~a8 z9rk^_iMF!|uw$i(%-}F0x>5P3^W==gA$lA?adL;B)tEyrcdH(Jb8UOqL z4#?ZN3Poq1mrHrcMTHE|$E%wpzL;n*<89a4QHI#-!lMsm{noO~iJJyQlA$dPtE5F6 zhD3XYt_Skw%y`Bju_6Dy@X%A&560WJt!U5u&L8*F#W2@r_>EnJ3khBW?5nvD{8=XT zHw`sdabNS~?Obl3`wzrzZGIJCd3bmrYT`nT2s*cN^1NzDN7`A(n!!NGJ3; zh0F2xOi;!1mdnvze-Z1vAx5rxp;X<3m`^E>$pwqItpvU%MES!^ zzb9f3!72<>7hm|E0M}N~e~el0lWW;wRE>Vcd1QGQsA{K=A2aO$$J*-n|G0X~xTx0e z4^$fI2Bic9q#LA>5JkE>rKDr%l24UhV`wCY?(WXJ&;6hCyXV~fZsx-qX6lb! z;CM-m2L-X#TsKKJo$f{j8aK$@N4j{}77!I*H`6Dm^657D3SC}0l2;}=Y(($`;w+zU zl>od!!y+}c1Y+yQPp=8A+xDIeWC)nGgYg+ufo3wM<+#D)lz_zf&<-E+(5y-cy+TCe z(4f90Lza%qX13bEykY5WG3Duy?G@W|_??B5!G!AFa)Z9ePT{ zb9*nB5v28jBIXU>+Jgw?0nxYn%q^QIXqXFV5QEFdV3$>2^XsK$dXV8uerPU<>t;;j zMkN1_7n!h1uP3*b%gJwRKW}s#@`gi#P8W--yF){<+0!n39x7<%Q@luOgSYR~tM0 zjlsIRh6W+Mu?|vq379SjKr_30BZR&0O`4j{9Xzvt={3agd?Hj23tC zwue{3Po5qa_8o}BQdG8nphFE=Es4EvFVdtgfnmSm$x?KyoGMAcA%UZHhCAs_)3uRnbQU6sgo-qb^xI$nP>^ zXl75)au>y4b>hrfps&5Ydi9@M8>{)hx>Ojhze|}BVqfv>(02wa+;35Qi!Lw68QSu* z_(YnpxAWu8h7>y{WZ&O`>~|TGJ^u~Fj;ZTmtZqCXawh+Cwj!XNQCdeWWbfJD+q?7p zJh!F&i=x0q-kpc3Y@Q1{uKH6S`yW?~xBIbe@7r;uKsVa9$0}t|a=?}&-}YeMAwyIM z3S%;z@rTicplBEyz$X_3Kuktb^Lnmgd@P9@yv|S9>?V6c7p|SlKi6-lBv-zp8r_cBGcSC}=N{Pi`*%4P=9j~fMpV~Ue7IvTI z2)@dw6&=L*8cT;_wN%7yy@l#t^o~?couz&YU4Fx0Ej5MRem^A&42sc5B0`GUk#JLFkDExGpN_dK zm*)b+X;kA*vP)y%)U0ljE?zaORkbpOxeSwlu3Cf1)vH@U{G6c+VOzVma0GTeo=WY+K0bbp!7}JZui-Os1(R}{xaoyAZ0`~6_}@coAF@SY@j}{g9Pl|5z{88k$Nl9H~CO@wU;>5u{ouS z#j2@aAJ44sm=dzyQn7NLb8t-_8~kg-fQ5wmU#2vpnYsCEIVCAp*-i?BC)RgZofP5$ z(YmtU)33J$u!dbfWUGBSFo3mq*VHX1BPp&QMaDp%W1&D6GdrSMoLzP| zd+U=Pyw-lK70Nqi^V!JL<4fE$Is?ox{&@YhZ!w5x#e)OL)h)$ab+Vi~PdX<8Z+7%- zUjs_-LTR&N{su$WJBFjb3cBF{OL^Xpd%xqZAAB}6Kf{4?W1JhoHz-RJh+wzz6U1up zD^XtoKE50_V}=P2y;OZx3t7*u&t2^F%g^Nv3s0%yhqqbnCKH`TU{N#y66NiZ18LsD z&Rj|^-4ok)D`DE%a)Spw?~r|u>snVwSK03iH;Az+Y9u2o$!Zy7SVbcL)mHy34E*m9 z4i&g!a5M7bMOs@5V&y}`(nLODDo%Sgho8i|92ca1Gf%&G7obz%lKI5~U}2M@=x`VOwNG&z8=BTCTk^Ak?{;wa$bun~5-9=bq;XuN` zbv0J0@}$sN@wwcklD8Km3NNZBPXOor9(^o4A2<&lC`YpGWrDl1`*s!O9!BD^W*-Um z50GxLf2A^eEqgV~s)5vbiN%?Z0Mb~oJtdko6r93wcV#6G6A*XIC%E$L{G_L+^U+;UhpER4qegHKKVNS$<*qsrcxtAZ2B!KPWff`uyLAv<~5E+yDQIc5wI4?d|Pz zb2lHg(|CCa5*qQTNruT8I2GA=rD@)ZFW)7Vtub-t{QMoq{6vZu&@o2k%?O44;JD*j$Z2_5Z!x!(9_ z*oBSHb!g*_J0Hmt|4KmF$!YkyVvqb-@8{^XR}V*3F?)B!BLYuY|LIB;V?QLUfhxV$ zLR1wKU}#GFtr5P|AX}BS22&pbe-}W?@h5$~!P^Trt^SJK-|-3$#gllv$_j#-UA;~vGOVO3liIeW% z$?uk7TAG~5nE{jaboV`1B;oC8Bslpmc5Beg{Jyphm8d)pJEQJLg; zAG|_b9>P$B9gzN#?PW;%tIPLgnf(YBVh_!YL9uu2+b$ct`mK|Y+^J;H}Q6w+o zPP()1?R|C-U>%3R5yX7tp1H>R%XYHaZn?=c!2K@)#vc_K&DrHuWSMuH1tlnsRvE94 z30@hQ!Sl{zNOJX^^$lSNa5_X(pNGH2u`_-G_Ojg8yFHm?+K5nYgOoauQBvm3y)+tR z#%b-wTVuUnWHwmdhQ<<5r&AU9Xv&mIj4Q@?|LxP9*u#C$T2lfC$uEFpbUW8Cq*~Ye zWz`pn4B5i9^KNIIlr|GS3&6`gMU{m;oVaspI|0_-1^|y%#rP)So^3(vh#y(3Hr)l0L0;Ez7~=N`;e5x55?cI*mV%ONyqy z`Dy=#)d9DY}|Yx~K3O$vU8?`Tm@KrLl&k#KyP z3a^j%(VH@U&hPi-yS#Lyt=f)b;n{=SiYAuYlJ`#KHw+$YON3BJ#nb(+BZygF9q~Nf z6%ULWT(CaZX2*a6Z7_7y@nG?9%QoNPS#ngmee9GZ>(_#E4+`u7V`6kQoA?Mhk98^o z8K6iGsIRY2EjiF1;64jrS&q!5AyrW@%yP#^T+sE$x9O7C7_Z(dP~v{xnb?}Es*@|Q zpGB-ne(eI=-ek%)V|6THq|>6ReM-MxAM$e3L(ix)6Y4KrOg; zT4}h!=!4g0jt+qUpGF*UJVqclTN8D4q$b0PD@e+zZpo+RNSUwmB|sQ~=QqBqTyesF zC$GRKiTFu__pNY8rvgafI5W;6Z#be)m~%|UPRdmo(BcgKY$9^OO$L9$XjvtZt$$3R z{qJtWcDKRwUrCyTKs*2xf@3(KCR~bT@Uv+=Ry*2_Oh#(QV84l_$|5BawX7odS7V!l zBKSktnSebb*}xIsSDn*pM!m$%r=#pGC+f;?O=B0)Hedu=%Ej{mYTT) zEL308>TiHa2a{6BZN8vKT>{0pDtlzRv|a$M-lD&<;Rn;t(Qr1Cw%-KJR!-%o7l2m^ z_pgOpNn#ZIUrP6Y@OW|R%(OA9@le2!{uL4(KoGvr43Z>I51CQ*&XNT*vdh8y#c-Pa z+jf%g`Vq9F4j4{uG8xf0O!qsVe6H-z!OUeiGcv#x+e}I7DaZEMTHIe4kFGURzv?}@ zIm{=h#jii~iCJ`37G7hY@loiN;Fq9-xf>v^_IeeG4%o|9TZ}a92I*ng?={K4AN~$F zzVaNXBSaLmEv60`_OHEf<51K;zc_yVv8lR}EUF)~EKKrWnb_{te<5MrKhpz1%(yde z-W&ws`~D^f-p~}6OfEhy=scJIBAGmdp`2e41klA3%~NFh`vMQJ>4?7^bjdkxX_{ar zA{o0z@Bd)Ka}OJ++rpBgtu(S=xaYR+xZUQw7T+iCiQadx-bflh20T05KwTCw4YQ zx`XP${sWvja1(L+wH|@6=8Ebgny@isTSW~Tc`|DAehwv z$QOu_2$apo1jgs>Fn^9L+`mh|?g5B#)J9ZqI1JuyVQP$NrQ3Uv;y0Izu3m|7hzH#x zTTM~1V=-y=i}cJ^omRI)w%ipMxAZHsNp9KfV@_grPM7jazNJQ5D8pTRR%|B;2iab1 zb)xJ!f{XtxqYb|%_TOO?0zc|OxwLx0N;ruVa=H_lfcPm1->3A0KOl_sdit)bapONF zyY&Lm3xdLe=?AgeCzxC8qVYH6!TZ|z4JAjEu+60f2NclM0JZZ!=OYX=6gooyi0E}c z6gNApla-0O3=ozj+ubQesDO-iraZ{Orny+X|6B--n{&1z=5{w-v z_jhI*9b8#x;+1@TFw8v;oeCgN!9RKyaoA2VUGKqt>N&CGjzS`H zA@PYY2#NI4I&VDvd11FubfSoW8USlDoUGt?MM5$!Yu&i!_RDGC9N!pazG1wij~o z>4pl!VPG^mbzr*^K5b?$g>lpYXX5LCbaX%ldxL^sQr>bd^_O3aN?JHDfK2i8^@UM^ z0{3@_MMdl9WrV9mf;zu!c>O?)n#@mnnVHXChgJRSz%)^K6%=3Ns$N83d%V{y&znuc zFPIaur5(S*F$RZIAL2OdPkTM8ZhBAA@4#hh*&~y??ljlhirZ?nRA~h{X@@IXp55}a z)0ySJ#g1lJDHa`~-XtKcN7jqG@cwZ(Oqkaw%NzA&j}mLz(^Y4| z*0+}6eVHoqzP%As2hsydcgW4ZHXOYmuKHnxG~6>zvU9`$3t)g+ zs`WWCezm_T`W+Cn8KRl!8(B_5=I$nlVbZ&GRf9|5#$R)L=glHIc&48!=Hfx2-@89v z^YjMIu}!0jo-C@w@hWCm@A*8b@>;1tH_&m(#g<3U-SqqW&Lw7n^IhDv9ES2n*sCis z4&2Wsm+D-Fp|A6NEU>i?4@-jf_L1?tnJOWUjw#_8p(%4=RT@9k7DjHMVDl_GW2%Lo z8Yt@S!XFrugD7226`ir%uAIbsW=40KOJ}6DBxZt(4|w;}mNepAitB{sBK@Jq#UKSB zwTiSbV;mnEmp*z@i`G3_z%jd#lZnJ6u`S)R2LNm37Q&x@os z`B80fhYwXJ>`+^%O`U0<8F`T;Vn+R2CgyU2kl?_kTGd~tUfu4CmLg^H#oORaPhA~9CjL-kcCKEvrbghef(%=mkn`%A=0|Ga62iULG28&wdR@zVe^BAEVb z4^yqv_StFN!K>p=PK-7>vTvHUC>UPOCyI_vJ27A9Rg8a-rno%~EP{4_jFHtkxt{YpOy9G zPrFR}%Zh2atFh|Uj&CwNo!Z=}+fiiz%ZK7WzB$J0F#`mC@9h!G@oWk5W05#w2XM59 zhO5KLZmErJqa1_{1g+^^JuAlHL^i#?H@bb(kwzb4^*eDT*)<0QgtcElAN^3KFtJBV zaY%g#Ja|^u-f?nCqM-H3({DvHTy}DP?qkG6B8B^KoiJXP@7y3+o~ew)VI4W_51QxJ z{?Fj=-8KAu9OJ)29E4D%UP@`8Geo_3rhHFj=Ym61Xn`#g;z)Kg^+&M0r^%MLg%z}f zD(*;EXW=S{2bEtgh+S?XSgLym+?ZtI8csW%_Ig=H+}$15Fq_S&!KSfuwT6Pj8M2(S zv`_bk2>Hg{tU=dmK7fi7hOF?Dl#eehHQmPE&li~` zL(_cri(Nb?k0vTi%?*M9icYxF?q)d0#%X0^J*OR|Tyxb;giepEQmOW@f()R^508if zXTyl$r0H)(_uO`)*I%mZbX?4?-x48F6zMuSsM1I7?AUai9DCyK{YJ1ro|;aPz9WP! zD|vyf_@h^KtaIW<*!Fx?p=QMq`&awhwE(!To^;NeW)=lpEp*AlNeKv?51_eZ6zn_w zB_;p>HQrXcMe-WrR8x=1@nKR9C;WlXpAY2?jEb{Dzse&(i}9nO5U$Hs8%k(T2KXgf{x_ZosVA0zCnI-@49|n*}oN#r&yqht=47SUIk+i zbpRbr9~wHHEN|0UU)CDyV64DTAVw*4dH#oMRvTBS{p4A499l!F ze+D$4ky18wXW5ufAoVx^5e|S&Z}uwc0xcz#@^yV7EUhg$CbHQ`z~NM2rF=p7i)Tf9_KY^?XpXjWQz0(gL*0X`sI*eVNt{&D6TyJB`&56-3_bahE z*4=Elx4R<9hETpYulFQR4oNmU+1y%?r zBotspFCM^Xb~f<3O4A)gN%h9}Sc{wdG}D<3J#JW_fSXV$20s#p9w^9o76i%q5*pm| zt-3O!1b7j>FFARepZX50dUI$G@`<0G+E6?VwFb~LL3`KROjUH?=6Fz)i0 z|EJF!@V^3s!KcbiRDb+FE>5gBolbS;xr}z#0-lZ+B8)d(?Abn}5_eoXZNvHA=clyv zi6wuovMfKe+X)X&!`mP6Zt|bgr#NmDqq9D^vpOl0l8oNmYO*nL^{;>ZJt@W_=eY_; z4%k+zjx|^>MK(EPsu;SIt$D8tYCBxvoBjBqT*1fBZ};+aGpnt$g3%8;jo?2irJruS zqQkrA>0%9{X@crYzs|ZDRrix2=6e=)zk#9Uam_-1R7kJ)Y&}M2ZKcLj66Meb!-$2m zO~Zeo9juFI+48{?Md{aJP8#oYRFdg%#C1cZ_F+TR?l88pIji5J+IwiN;7omEVRe$a zbai-qv2)!*We$81!C94ggDqM$-ckFDKiX=uLGY47*RvTr0Y9HdZZ$So*evI(j>2gW@r!Q*fsKe2sB!kw>T=6h!*p3I!Hjk!7L%U)Az0JMz4yN)U1*do^fv4e>v(9yDdq~f#D2*DEs{_@U@C+Y3 z>4BwD=m?5m4NA77@T-idfUt|492Ye%7()tDaB)0mrA@>GwtW&|0VKI7o4r&_4aMO4 zdThhYLKjm-8c&TgW@8%9J2~}{c@?h>b>O1?hE!xQsU+-GTjN4#x)|j&Or-l^2HC_! zQ$8wb2^gH7sm7I!lbStL<>41Q#}X>^f>w%){eO=Y8Qg*R|2>?H!JlW>13~7S)nt`sfScSn2d?<{uU_Mb_=pN^cRP8&nPv-Awz&Y@cfix*2rcULZ* zU=JmJl1+AA$1;03+p|d7Qr#B34GU3L5PIuC$-|xi2Z`AG$rnJ&ZliDQb|dP>X2k=N zeryuI)z1(zVdUJ^w1f9E?P6yPlaY&v#C|UO<5TU_w|dT`2&0YS{;a}4^5sJdt^^7X za5ehu(gjRb(RhT{vxQ0jr$+klJaU_k%#&MMWf?ki8M1KkXaSrVyYAMLTvsvvVf7Wv zQ>;v3s<(ZQK|(z;H!Po3+Jhds3f<|oXd$n$S!?;+|ZwA0G?w;Mf{wPQqLeFMspy`U=#q_EgMqu6ewDq(@2S@xEY(jE31-IYOX22wwkw3P_UV5(mx?m;-Y!g2 zpYb{@mT+&eRm%PyzgpMFG)~I@d){)NqmTcLb6DLx6g{Frw+JX#tGFVOh}iX6$94~8K3|~8#kFa@ zQk}OtnAx=F)jqp`WSeUa##&kEeaZo`aps~tDR?vM)~6O@9lJjowLFY*u~KGtuzN~a zw!N|IzVU83V=Db|C=QZ%sqM#nf7U{8M3cz460CLnf+hb)NSHK$p7Qo~gXZxb%(Dp1 zCs5C4*~|XnXzfC5Ws!kddZpHWk6&C|3_FDs$7M0I3f#z74YzpnL@6bFu|fYkV3hQ|9ejVENp#{h+d1#z_46ly z`_D^tzNs}$TA?ABnc)B(=ZUD9KNjdkEf1r+6LD|z)#0px>K=f%xGJEDmP%tm>uW*l zRvLQ?^*J)n3)9OXAaa)e#vi1C*-Zz>)Yv{zJ@iP2M}mO3H=EtM_?^3{DeZCkOV;h5 zPYOd!!TAG;SALkhI7*m{a~-{RWR84t-I_+AF_@S@8!YCZMj)@qW-;32N>= zCW;{14L7yDy0W3fm7^fp&-BI43DM?4TXbDPQa?Rp4=*L>JE~j%i2Zu6@u;&GFbn_e zPcP;<<#YUMO$wJ-YvZe~)N>Jy*3sdct^5YpPs_`pA;CoSpZ{;FRVn<3j3IkAI11~>bYwB11jir6dB;?Phg zq!|ku6;b>Xhj!h&?933)dHWl`hJ!+YmZ*l;}ko3P+!!O+Flia@Sxzu1W0mn+ji1TWC#ETy)V~*A$E*R zL!vPRY}AV#`DgWVO7^_qFKY7c?woyNIY~(36@;ao1XKs2)|#DvB;!ldbVw?v+;%?1re27)-bd(RHqTVNQB zC~&yiX719v~vd?@I>g+a`yA!uZHr~XI zWBOFO?OHai(<}S9a=#+M_oS=pI>tBBcucVU#~q#*@G^_uLdbzQd- zs-ZI(L|i6#%z*qQ+_(C2?O<&%Lg)|p?JI;cUE;t{3mZ>joAzeJwV~i$<>NR|*qFk5 z0#PtSfZpRxiF%C?bN7;8Q*Z-6WvPY|eqS7mSKz^k2jMtqH*jVoR*P1*#XiZ2i8$`+~Oiii()IZn>hWhD$pVYvJ zSgeq(S2Kxe`Dxm`alq!(NU!77|g=vPHw2yOdxbv*Gx5O z`tTSmjb9Y;wP&_3rjA|xtg|1>Zn}yKn?+#OogL|esP}}g6;CD~h#rG)_ub32=Zzqx zSbA|jQsUCGIOJZI|0E2+k58_|rdflF4(n@Z86jQmPtbOQb^j3RZ?t@>Sq@96@>jOx z&Y6VDeWGUOGV8+SZZKs`I>;(sXD}%CD`l)PHKdORDq|aWJhS@ZN8@NPp*ug`(*GzH zz3m>cF`7Vy7>G+>*4JvZG{+>r?j1inu+ZxS-LwSl)8htCWcvP)Jl0a>j=UmY!hnt@ z3=6LL7;wMnTqCX!7PSive=k7n5(M>zI4o>ODIKK ze$6%lncAAf?1$j9GN65I%ErAX%oOh4&4e-hy9^Q+gLx4GIF0}B6Bx1H0Y=6MtE|eY zHcSV{*@%n<4KHznpcaY^7i9+@ILn)-T13(sO2aFm%SRroGMr`n%T~SUWzHVUA(mq}AGt1nN_65pqI z{TYTQD@|=?wm$}oFD0I?JZ*6;KFleG7ext8eahH+(j z{`{5hlmFxS`tD^5Dc^MmWJmAZqVGYI_H#>p*-w#;>38;49QPcrdsxM{>EBYx_%w_b z5J-X`5_P}Enc&~S3l0YNx64rdU#`tDpu(X;AK}w`hbAqSxlxx5=~J68MPcdNMx03Z zs2st};n!Uru~HsusBDI8rhUJ-vGY5jR7yIMrmEtL9E~8JXk0}1j4XK#H&kC&^6=1b zgl6`IO%8shq@-l4Y&%g^;C_ySvWq~yTtNM!+k#rg5&TkJ)uwH2-?#bj5-K@S;oI|n}~T>yoByRABwLHJ^`heS23U4$x+_dj64 zfx^#Q=#OJ9-Z}IpLs{nDh!qfD7xWT(=~DHjz!TjnWSiESwEk)2a1%7GEU;R^)Pjf&V)$JI&U*0?aHe z}4ss2fzQ=H_MI#+iGiq zvt8%WNZ)nr(;?>nE==ryx1N@GJf&3R>ZWtS^#j*kJGR|Bl#bT(?6-+FYBzp+^&2d4 zm^EQEpt(ClC&}jw%rXdA6@6E8DZoXEP}TFXNPBjd9=8sgG-Z)c&MsxU18GJwk_4dZ z@eQ_nLdu*&+MElwT)5z9L)5p_e>p!}dQSocQM6PZY#0Wjp-YcSdkcMK9#aVc#dJL$ zSc5cqR?Si66XTE7iW?6f@~8U~_7881Fm8Sv#q48|AT*w*CY?4DFUM0T@l*Oul$FvKav{XSmMo-S+CAO zQT(hU1+UeCbq$%X@dJoo8DHhfC>pSJz?4sHV4?p2Ka1*Kz!MB{@>W_MQ6}k;Zru^H zBpI-EKNEHdsc_CQ@cf<^QdvH@B9^K+S>3iiSf}1#&o#s49V$(OAj7jonh^W0l~6ee z;rgwziWqm&Ph;adIm@(hvA2A)j@b@Yl&lr%znT4a2axUQ7+7si>6UWQyNO`O{wa0~ zy-#hX{yx2Cb91#<^6)_^Y6VO&zFhOQy0k~SqMAt)20oDG~lAk57(<|@_hvk6o?XCUlXUB`DQ+ zz+PCG8C>OS7fYP%=37v6dY3eWu#F!U5lXRu6_`MZ;(OJ_TwF~5zu}O$R)@vZ-~H)C zB{p)*oX1I#>0%Z*O}Zw#kqN7Qo#yO2)>vXE9~P`$=7u0&TACSVcKX z5Vq=`rL&s9h+3)SaC!x>bi#12U6u6?(ee8dG$XSJ`L^DhIc4qv| z*m_)om3mV?oD9=z|8Bm03(9k^r!il$Vu_tVo=Urs8ehqWEf(*PuW>X8`IxHS56~6B zduVIsr2b&^<8dSICL5gK$uk*ID75@}fGWzcJJ94V8jySGt~H;khiog)Mu{rPqM<0G zj_e^vY7DJ7#^(@+x-*8n)vS0s!=p2ICVHBhqpuAj%H*crbdyn$7`DY41M9)gw$Fy2 z24gu17zm{Dcm+lf6Jv)ci_FS=42A8lj)oXVkMj-3j821!oiZN_TU zmMz}jQFGIy$V^4oHIP`6b2buV{T=cv51Ql}M`5M!q4)9+F zjHTL5IB~Rc%q3PwMd?oIKW%jH(I4+BUUpW*4l$V+$Upry;So_V-thLudI0Cs0bQs5 zR;sMF)0V?Wvz3XDXThYEW93&w(^z8fe^aGbRXTYR3f(p$pz5jn@;o=mS|>JUn)#C* z_nV$wQsoCmV}D||T1%&vIj5D2+2O>$s#}BcXeBB9j9_1+TKaGs*|7-lvM>mBT@3W^ z^%JD>YyoQEt(NzG5iKQNc~H6qMt*Jshe{YlntAsV=HtjpG_LH&Pu$Bkm{gL|UG9|% zxn|25a4%zz475lN*{q#*=W05(Nuhz9g`tx=1g%=3Y9Yr1`Jj_q6S(4ReM``Qjab9l zySIulRixjUoFPJ5wTP)j29vdRUz~qWOr-2@Q{XjW$Urc?Hk}6yHNS{?c*0sSEWlla z(iQ(4dRrQpF3WTUlk0XIi5OKqR#8i9mqjd`w3&G^ZeuwW6t06e8E7&uUGdztlnY@ zO`7ZjK%qtP0+oFXt>TIO=Y!SR?zwPkUphtKFE{6U0~)j&;nR9u_1D(;ewc9WB}et$R&#*nbQ> zJzsfqug|Ng8CZ&;q4&8!Eu5;M3ssJxhJmwR8FcKP$t;>YYUw z${b~LAlyor;$k$I8}*h8#ru9Lv;KkmI`1#Fo=lJP5ba#^R6w5D;njNxbLlZ+Rrl=< zKg-(5SUY1u2#i~e=@S5h(`}eyT!1?fhrvgLy8f8 zy-Ut&-CA~6GN(5p^gR;CY4i-W0M6Px#+OhUNaiic{3s(0IX{e>vKV)Q zU);t`582sgGRHERcS*JNE|@iw;?r{|>hlziDO4Ga|BIdY7UZ9%r@J>F{eazk_&v_m zPqebI@39+rUAB=&i2LVLzdSn1S;wlZyxUB6cP*{ECry`GzVe1Rfpid89(G9;l#{dN z_0L7-U3b#$<_v=FqMTNqP+z^zGJ_Ued44<8Mwtk;`*>6v_n3DKjKDuFo$JiX2SM5{ zmO3uC6M(T&X^@HXwfhir`}KY(R$q8HMarPTUTB2NO*guFb*V~yX_R&FU?pGj9fQTX zdVWg6?&2xU!VDvd<-X1Hj;3@nD+Q}3Yx7=y+GCmUS&vZ_^w=HlOVSdDqB2`DMHv5y zmpn!^&NVQ>jommADIsM;(Uc&yk37N@Ka-8~CBI`DewaG*#`EXI&u>f}tS2LCc?kKW z&!*J9D>Y@KoTT(FOyk?z<%?T$g&I zL7y6Av`~Gp4v8iqn={l(Z|r-V`q{nWd+wemNiu8>1#+(F`g`V%yf-vIiY?%#kS2fe zIy_3cUrrQMI))(c*|cLlZPT%z-qkhj3~+lG48~Hs0Qe$q_b7YX>+X}M)rUFfOqK*o zbMEP%5t%PCWRK!T*CGR$=%N0O%4&h~TBM2IfnxVg{D@(yTca+Y1GmjBdPLHaNp>rr zH~8To89WX&+ruB3fFD~6>`15UwnzQ)M%!b;^;M2-DZ6EWs$*?kd6(dgz^WV{ux^J9 zL*J#LLm3WrQ>PTE!27wE7C60i%Tl4Ul$qbSBWE`fTUc~O&vMLi@KGM`Ms*aCUYazw zMAS>4bU9gKqF$GHVk^^?SlFtcf0m_h5&?p>5-rlm4L`jqoM#o113NE{Va32#Um0KW zL$o)G4DItjFETXJ8}iSG?$4~1qaA2geja{c5L;#Uu)5L6XjaiCkdzKlztsFNC>yKvKG3su8r@dJg(9=1cj; z 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 z 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

    0(_dm6jod%4pc?yW#A$yDo0VvB{(H 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%0AErt`Cg1+~Dr2aXLM&{$D8-l3_ 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

    vlFLcerW+MCZzb}F=Cf%$1LdyJEV1s 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

  • (0{1>VViH2(HO&DOKC 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 qYg+&Q%V+k(dvE>yR4p}K)zXKSAO9bik2)g& literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable/ic_logo_ba.png b/opensrp-chw/src/nacp/res/drawable/ic_logo_ba.png new file mode 100644 index 0000000000000000000000000000000000000000..c075e49c194be8eda864b7b9a4429dfc225e34d7 GIT binary patch literal 736484 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%0D=NHg~6Xd)b50 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 z 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

    00*jC{wS&M|a&_YXD*2J7;4u<|eNv&R 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/hhBSf((-qj$|fwxwM(Yy{f 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

    Bw`)i#19&!~q}ql27g;v-Mf)7S0q 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 h$MK058siE=>@Ko#1 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

    + + + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 2b9ab91f48..c83fffff70 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -26,4 +26,5 @@ Ufuatiliaji wa VVU UWANYU (%2$s)

    yIyH^Gvr&gbv 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 mbiGgO8dTH#UdT)%&$MF_kpE~v|=NF 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 HjDr3TS+MPT literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/values-fr/strings.xml b/opensrp-chw/src/nacp/res/values-fr/strings.xml new file mode 100644 index 0000000000..08f929f09c --- /dev/null +++ b/opensrp-chw/src/nacp/res/values-fr/strings.xml @@ -0,0 +1,6 @@ + + + Ministry of Health + Ministry of Health \n WAJA app + Ministry of Health Community App + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml new file mode 100644 index 0000000000..c5b522cbf2 --- /dev/null +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -0,0 +1,23 @@ + + WAJA + Wizara ya Afya \n Mfumo wa WAJA + Mfumo wa Jamii wa Wizara ya Afya + Wajawazito + Baada ya Kujifungua + Kliniki ya Tiba na matunzo (CTC) + Ushauri nasaha na kupima + Kliniki ya TB + Huduma ya kuzuia ukatili wa kijinsia (dawati la jinsia) + Huduma ya kuzuia ukatili wa kijinsia (dawati la jinsia) + Imeumbwa: %s + UWANYU (CBHS) + Rudi kwenye wateja wa UWANYU + Wateja wa UWANYU + Mabadiliko uliyoyafanya yatafutika + Rekodi ziara ya ufuatiliaji wa UWANYU + Ufuatiliaji + Jaza fomu ya ufuatiliaji + Taarifa za Kimaeneo + Huru + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml new file mode 100644 index 0000000000..b8ff5a3021 --- /dev/null +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -0,0 +1,23 @@ + + WAJA + Ministry of Health \n WAJA app + Ministry of Health Community App + ANC + PNC + SICK CHILD FORM + Clinic of Treatment and Care + HIV Testing Services + TB Clinic + Gender Based Violence Referral + Pregnancy Confirmation Referral + Child Gender Based Violence Referral + Created: %s + SAVE + PENDING + SUCCESSFUL + NOT COMPLETED + CBHS + Return to all CBHS clients + CBHS Clients + Any Changes You Made Will Be Discarded + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/xml/captured_images_path.xml b/opensrp-chw/src/nacp/res/xml/captured_images_path.xml new file mode 100644 index 0000000000..099072c0a1 --- /dev/null +++ b/opensrp-chw/src/nacp/res/xml/captured_images_path.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/opensrp-chw/src/testNacp/java/org/smartregister/chw/util/ChildUtilsTest.java b/opensrp-chw/src/testNacp/java/org/smartregister/chw/util/ChildUtilsTest.java new file mode 100644 index 0000000000..19b830ece8 --- /dev/null +++ b/opensrp-chw/src/testNacp/java/org/smartregister/chw/util/ChildUtilsTest.java @@ -0,0 +1,95 @@ +package org.smartregister.chw.util; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.smartregister.chw.BaseUnitTest; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.family.util.DBConstants; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class ChildUtilsTest extends BaseUnitTest { + + + @Mock + private ChildUtils.Flavor childUtilsFlv; + + private static void setFinalStatic(Field field, Object newValue) throws Exception { + field.setAccessible(true); + Field modifiersField = Field.class.getDeclaredField("modifiers"); + modifiersField.setAccessible(true); + modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); + field.set(null, newValue); + } + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + childUtilsFlv = Mockito.spy(ChildUtilsFlv.class); + } + + @Test + public void isFullyImmunizedForEmpty() { + String[] list = {"OPV0".toLowerCase(), "BCG".toLowerCase(), "OPV1".toLowerCase(), "OPV2".toLowerCase()}; + List receivedVaccine = Arrays.asList(list); + Assert.assertEquals("", ChildUtils.isFullyImmunized(receivedVaccine)); + } + + @Test + public void lowerCaseVaccineName() { + Assert.assertEquals("MenA", ChildUtils.fixVaccineCasing("MENA")); + Assert.assertEquals("Rubella 1", ChildUtils.fixVaccineCasing("RUBELLA 1")); + Assert.assertEquals("Rubella 2", ChildUtils.fixVaccineCasing("RUBELLA 2")); + } + + @Test + public void threeTextAfterNewlineSplit() { + String str = "Developmental warning signs:no" + "\n" + "Caregiver stimulation skills:no" + "\n" + "Early learning program:yes"; + String[] strings = ChildUtils.splitStringByNewline(str); + List list = Arrays.asList(strings); + Assert.assertEquals(3, list.size()); + + } + + @Test + public void durationWithTwoDate() { + CommonPersonObjectClient childClient = new CommonPersonObjectClient("", null, ""); + Map map = new HashMap<>(); + map.put(DBConstants.KEY.DOB, "2019-03-01T03:00:00.000+03:00"); + childClient.setColumnmaps(map); + String dateOfBirth = org.smartregister.family.util.Utils.getValue(childClient.getColumnmaps(), DBConstants.KEY.DOB, false); + Date date1 = Utils.dobStringToDate(dateOfBirth); + Date date2 = Utils.dobStringToDate("2019-06-01T03:00:00.000+03:00"); + String str2 = ChildUtils.getDurationFromTwoDate(date1, date2); + Assert.assertEquals("13w 1d", str2); + } + + /* + @Test + public void daysAway_awayTest(){ + //2019-04-08 + //20 days away + SpannableString spannableString = ChildUtils.daysAway("2019-04-08"); + ForegroundColorSpan[] colorSpans =spannableString.getSpans(0, spannableString.length(), ForegroundColorSpan.class); + Assert.assertTrue(colorSpans[0].getForegroundColor() == Color.GRAY); + } + @Test + public void daysAway_overdueTest(){ + //2015-03-20 + //1460 days overdue color code= -1030586 + SpannableString spannableString = ChildUtils.daysAway("2015-03-20"); + ForegroundColorSpan[] colorSpans =spannableString.getSpans(0, spannableString.length(), ForegroundColorSpan.class); + Assert.assertTrue(colorSpans[0].getForegroundColor() == -1030586); + } +*/ +} From 8835bbd88b78a255906edde542d95d1e49a2bd37 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 10 Feb 2022 17:14:17 +0300 Subject: [PATCH 255/915] Fixed: edd note to show only when lnmp is known --- .../nacp/assets/json.form-sw/anc_member_registration.json | 7 +++++++ .../nacp/assets/json.form/anc_member_registration.json | 7 +++++++ .../assets/rule/anc_member_registration_calculation.yml | 2 +- .../assets/rule/anc_member_registration_relevance.yml | 8 ++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index a6d2b1efa9..4caeaeb336 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -161,6 +161,13 @@ "rules-file": "anc_member_registration_calculation.yml" } } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json index 9ed91ace3f..e950df8142 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -161,6 +161,13 @@ "rules-file": "anc_member_registration_calculation.yml" } } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml index ad416dd381..1be3229d2e 100644 --- a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml @@ -43,4 +43,4 @@ description: Edd calculated priority: 1 condition: "true" actions: - - "calculation = step1_edd != '' ? step1_edd : helper.addDuration(step1_last_menstrual_period,'280d')" + - "calculation = helper.addDuration(step1_last_menstrual_period,'280d')" diff --git a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_relevance.yml b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_relevance.yml index d1e24b7548..8b4e88690d 100644 --- a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_relevance.yml @@ -48,5 +48,13 @@ name: step1_no_surv_children description: no_surv_children relevance priority: 1 condition: "step1_no_prev_preg >= 1" +actions: + - "isRelevant = true" + +--- +name: step1_edd_note +description: edd note relevance +priority: 1 +condition: "!step1_last_menstrual_period_unknown.contains('lmp_unknown')" actions: - "isRelevant = true" \ No newline at end of file From c5091185837c0f0e1714ea66f5d0f724da5e9922 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 10 Feb 2022 17:15:01 +0300 Subject: [PATCH 256/915] Fixed: hid add family tab from ANC module --- .../java/org/smartregister/chw/activity/AncRegisterActivity.java | 1 + 1 file changed, 1 insertion(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java index 9345158aeb..c5b785a0e7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java @@ -50,6 +50,7 @@ protected void registerBottomNavigation() { bottomNavigationHelper = new BottomNavigationHelper(); bottomNavigationView = findViewById(R.id.bottom_navigation); FamilyRegisterActivity.registerBottomNavigation(bottomNavigationHelper, bottomNavigationView, this); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_register); } @Override From c8aa11ca5b4d225d221a6fa9531fe820abf6d665 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 10 Feb 2022 17:15:27 +0300 Subject: [PATCH 257/915] Fixed: independent client label --- opensrp-chw/src/main/res/values/strings.xml | 2 +- opensrp-chw/src/nacp/res/values/strings.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 947a79c4af..4f44072939 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -418,5 +418,5 @@ Created: %s - Independent + diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index b8ff5a3021..39bb0ec900 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -20,4 +20,5 @@ Return to all CBHS clients CBHS Clients Any Changes You Made Will Be Discarded + Independent \ No newline at end of file From f47285544ff4ca52d74302f3de5fab4478f6ea48 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 14 Feb 2022 07:08:14 +0300 Subject: [PATCH 258/915] Disabled android budles language resource split and updated tartget and compile sdk versions --- build.gradle | 4 ++-- opensrp-chw/build.gradle | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index fcb10e3502..e924b14a08 100644 --- a/build.gradle +++ b/build.gradle @@ -66,8 +66,8 @@ subprojects { ext.androidToolsBuildGradle = '4.0.1' ext.androidBuildToolsVersion = '29.0.3' ext.androidMinSdkVersion = 19 - ext.androidCompileSdkVersion = 29 - ext.androidTargetSdkVersion = 29 + ext.androidCompileSdkVersion = 30 + ext.androidTargetSdkVersion = 30 ext.androidAnnotationsVersion = '3.0.1' ext.androidAnnotationsAPIVersion = '3.0.1' diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index ffe8af28ba..873f536680 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -174,8 +174,8 @@ android { nacp { dimension = 'baseDimension' applicationIdSuffix ".nacp" - versionCode 9 - versionName "1.0.9" + versionCode 1 + versionName "1.0.1" buildConfigField "String", 'opensrp_url', '"https://boresha-afya.smartregister.org/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' buildConfigField "String", 'opensrp_url_debug', '"http://50.116.15.4:8082/opensrp/"' @@ -307,6 +307,16 @@ android { dataBinding { enabled = true } + + bundle { + language { + // Specifies that the app bundle should not support + // configuration APKs for language resources. These + // resources are instead packaged with each base and + // dynamic feature APK. + enableSplit = false + } + } } dependencies { From 89d11e2584328c4ab45ad70d7cffa76d8319a8e3 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 14 Feb 2022 13:37:21 +0300 Subject: [PATCH 259/915] Added updated swahili translations --- opensrp-chw/src/nacp/res/values-sw/strings.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index c5b522cbf2..5b7d5824ec 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -14,10 +14,16 @@ Rudi kwenye wateja wa UWANYU Wateja wa UWANYU Mabadiliko uliyoyafanya yatafutika - Rekodi ziara ya ufuatiliaji wa UWANYU + Rekodi za ufuatiliaji unaofanywa na UWANYU Ufuatiliaji Jaza fomu ya ufuatiliaji Taarifa za Kimaeneo Huru + siku ya + Mteja amesajiliwa %s %s + Siku %1$s mpaka kufikia muda + Ziara inayofuata ya ufuatiliaji wa + Ufuatiliaji wa VVU + UWANYU (%2$s)]]> \ No newline at end of file From 71dfdd37390447655d97e4edd37b3d7ced37a890 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 14 Feb 2022 17:14:32 +0300 Subject: [PATCH 260/915] Ctc number option disappears when followup status option selection is changed --- .../src/nacp/assets/json.form/male_hiv_followup_visit.json | 2 +- opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json index 037fbfe12e..a7d69af067 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json @@ -230,7 +230,7 @@ } ], "required_status": "yes:Please specify client's CTC Number", - "subjects": "client_hiv_status_after_testing:text" + "subjects": "client_hiv_status_after_testing:text, registration_or_followup_status:map" }, { "name": "client_condition", diff --git a/opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml index 63cd5fb583..3008159a86 100644 --- a/opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml @@ -16,7 +16,7 @@ actions: name: "ctc_number_visibility" description: "ctc_number visibility" priority: 1 -condition: "client_hiv_status_after_testing.value == 'Positive' || client_hiv_status_after_testing.value == 'Chanya'" +condition: "(registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.') && (client_hiv_status_after_testing.value == 'Positive' || client_hiv_status_after_testing.value == 'Chanya')" actions: - "ctc_number_visibility = true" --- From d2a8a70c52024c54684c3e5a372906200e5d0aee Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 14 Feb 2022 18:41:48 +0300 Subject: [PATCH 261/915] fixed: disappearing menu after registration --- .../chw/presenter/ChwAllClientRegisterPresenter.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAllClientRegisterPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAllClientRegisterPresenter.java index f117ba9b3b..b09a7919c7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAllClientRegisterPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAllClientRegisterPresenter.java @@ -50,11 +50,6 @@ public void onRegistrationSaved(boolean inEditMode) { if (getView() != null) { getView().refreshList(FetchStatus.fetched); getView().hideProgressDialog(); - NavigationMenu navigationMenu = NavigationMenu.getInstance((Activity) viewReference.get(), - null, null); - if (navigationMenu != null) { - navigationMenu.refreshCount(); - } } } From 917f68aa43f1e0dd5b1f9d9a8b8c25a0073828f8 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 17 Feb 2022 13:23:02 +0300 Subject: [PATCH 262/915] fixed registration form translation --- .../activity/AllClientsRegisterActivity.java | 2 +- .../chw/model/ChwAllClientsRegisterModel.java | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsRegisterActivity.java index 065361220f..2c366dfc79 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsRegisterActivity.java @@ -93,6 +93,6 @@ public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { } public OpdRegisterActivityContract.Model createActivityModel() { - return new ChwAllClientsRegisterModel(); + return new ChwAllClientsRegisterModel(this); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwAllClientsRegisterModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwAllClientsRegisterModel.java index 79903b7a46..a68af227cb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwAllClientsRegisterModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwAllClientsRegisterModel.java @@ -1,6 +1,8 @@ package org.smartregister.chw.model; -import androidx.annotation.Nullable; +import android.content.Context; + +import com.vijay.jsonwizard.utils.FormUtils; import org.apache.commons.lang3.StringUtils; import org.json.JSONObject; @@ -14,6 +16,7 @@ import java.util.List; +import androidx.annotation.Nullable; import timber.log.Timber; import static com.vijay.jsonwizard.utils.FormUtils.fields; @@ -25,11 +28,23 @@ public class ChwAllClientsRegisterModel extends OpdRegisterActivityModel { + Context context; + + public ChwAllClientsRegisterModel(Context context) { + this.context = context; + } + @Nullable @Override public JSONObject getFormAsJson(String formName, String entityId, String currentLocationId) { try { - JSONObject form = OpdUtils.getJsonFormToJsonObject(formName); + JSONObject form; + if (context != null) { + form = (new FormUtils()).getFormJsonFromRepositoryOrAssets(context, formName); + } else { + form = OpdUtils.getJsonFormToJsonObject(formName); + } + if (form == null) { return null; } From ec9ccda2f6a698753e0d27430635c54b565e1422 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 17 Feb 2022 13:50:58 +0300 Subject: [PATCH 263/915] Removed edit type from landmark fields --- .../nacp/assets/json.form-sw/all_clients_registration_form.json | 1 - opensrp-chw/src/nacp/assets/json.form-sw/family_register.json | 1 - .../src/nacp/assets/json.form/all_clients_registration_form.json | 1 - opensrp-chw/src/nacp/assets/json.form/family_register.json | 1 - 4 files changed, 4 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index 0a2f40aa12..263725216b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -146,7 +146,6 @@ "openmrs_entity": "person_address", "openmrs_entity_id": "landmark", "type": "edit_text", - "edit_type": "name", "hint": "Alama ya eneo la makazi", "v_required": { "value": true, diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index 26a2d30393..cde081e390 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -146,7 +146,6 @@ "openmrs_entity": "person_address", "openmrs_entity_id": "landmark", "type": "edit_text", - "edit_type": "name", "hint": "Alama/Maelezo ya eneo la nyumba", "v_required": { "value": true, diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index def1a165ab..a51734555c 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -146,7 +146,6 @@ "openmrs_entity": "person_address", "openmrs_entity_id": "landmark", "type": "edit_text", - "edit_type": "name", "hint": "Landmark/Description of house location", "v_required": { "value": true, diff --git a/opensrp-chw/src/nacp/assets/json.form/family_register.json b/opensrp-chw/src/nacp/assets/json.form/family_register.json index 33d17a4ec5..f87d11349d 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_register.json @@ -146,7 +146,6 @@ "openmrs_entity": "person_address", "openmrs_entity_id": "landmark", "type": "edit_text", - "edit_type": "name", "hint": "Landmark/Description of house location", "v_required": { "value": true, From 13e180a97a10470e0566f0d781193db7558a18f7 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 17 Feb 2022 13:51:11 +0300 Subject: [PATCH 264/915] updated release build --- opensrp-chw/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 873f536680..43b376e384 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -109,7 +109,7 @@ android { buildConfigField "int", "SCHEDULE_SERVICE_MINUTES", '720' buildConfigField "int", "STOCK_USAGE_REPORT_MINUTES", '1440' buildConfigField "boolean", "USE_UNIFIED_REFERRAL_APPROACH", "true" - buildConfigField "boolean", "BUILD_FOR_BORESHA_AFYA_SOUTH", "false" + buildConfigField "boolean", "BUILD_FOR_BORESHA_AFYA_SOUTH", "true" } debug { @@ -176,7 +176,7 @@ android { applicationIdSuffix ".nacp" versionCode 1 versionName "1.0.1" - buildConfigField "String", 'opensrp_url', '"https://boresha-afya.smartregister.org/opensrp/"' + buildConfigField "String", 'opensrp_url', '"http://50.116.15.4:8082/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' buildConfigField "String", 'opensrp_url_debug', '"http://50.116.15.4:8082/opensrp/"' buildConfigField "String[]", "LOCATION_HIERACHY", '{"Country","Region","District","Ward" , "MOH Jhpiego Facility Name", "Health Facility", "Village", "Village Sublocations"}' From c6c4f12d5cb98fef478824e2a3fec074653df07a Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 18 Feb 2022 08:59:52 +0300 Subject: [PATCH 265/915] Fix: Added regex for caregiver's name --- .../assets/json.form-sw/all_clients_registration_form.json | 4 ++++ .../all_clients_update_registration_info_form.json | 6 +++++- .../assets/json.form/all_clients_registration_form.json | 4 ++++ .../all_clients_update_registration_info_form.json | 4 ++++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index 263725216b..11dd8a6fb6 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -946,6 +946,10 @@ "openmrs_entity_id": "Primary_Caregiver_Name", "type": "edit_text", "hint": "Jina la mlezi", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + }, "v_required": { "value": "true", "err": "Tafadhali taja jina la mlezi." diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 30e010ca01..5a2acecf97 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -770,7 +770,7 @@ "type": "spinner", "hint": "Je, una mlezi/msaidizi wa Tiba?", "values": [ - "Ndiyo", + "Ndio", "Hapana" ], "keys": [ @@ -793,6 +793,10 @@ "openmrs_entity_id": "Primary_Caregiver_Name", "type": "edit_text", "hint": "Jina la mlezi", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + }, "v_required": { "value": "true", "err": "Tafadhali taja jina la mlezi" diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index a51734555c..0ec25de4d1 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -951,6 +951,10 @@ "openmrs_entity_id": "Primary_Caregiver_Name", "type": "edit_text", "hint": "Name of caregiver", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, "v_required": { "value": "true", "err": "Please specify the name of the caregiver." diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index 54fc863863..c092f7f90e 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -798,6 +798,10 @@ "openmrs_entity_id": "Primary_Caregiver_Name", "type": "edit_text", "hint": "Name of caregiver", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, "v_required": { "value": "true", "err": "Please specify the name of the caregiver." From 555be8e42574f1e9136be44a10e1f39fe5df9076 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 18 Feb 2022 11:27:45 +0300 Subject: [PATCH 266/915] Fix: Added input type for ctc and cbhs number fields --- .../src/nacp/assets/json.form-sw/female_hiv_followup_visit.json | 1 + .../src/nacp/assets/json.form-sw/female_hiv_registration.json | 2 ++ .../src/nacp/assets/json.form-sw/male_hiv_followup_visit.json | 1 + .../src/nacp/assets/json.form-sw/male_hiv_registration.json | 2 ++ .../src/nacp/assets/json.form/female_hiv_followup_visit.json | 1 + .../src/nacp/assets/json.form/female_hiv_registration.json | 2 ++ .../src/nacp/assets/json.form/male_hiv_followup_visit.json | 1 + .../src/nacp/assets/json.form/male_hiv_registration.json | 2 ++ 8 files changed, 12 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json index 422939db15..e5b4d1951f 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json @@ -216,6 +216,7 @@ "type": "Namba ya CTC mfano: 12-34-5678-912345", "mask": "##-##-####-######", "mask_hint": "12345678912345", + "input_type": "number", "allowed_chars": "0123456789" }, "meta_data": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json index 0a532ebf87..03668bfcb0 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json @@ -65,6 +65,7 @@ "type": "Namba ya HUWANYU mfano: 1234/56/78/912", "mask": "####/##/##/###", "mask_hint": "12345678912", + "input_type": "number", "allowed_chars": "0123456789" }, "meta_data": { @@ -132,6 +133,7 @@ "type": "Namba ya CTC mfano: 12-34-5678-912345", "mask": "##-##-####-######", "mask_hint": "12345678912345", + "input_type": "number", "allowed_chars": "0123456789" }, "meta_data": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json index b4738cf6ec..7aae72c322 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json @@ -216,6 +216,7 @@ "type": "Namba ya CTC mfano: 12-34-5678-912345", "mask": "##-##-####-######", "mask_hint": "12345678912345", + "input_type": "number", "allowed_chars": "0123456789" }, "meta_data": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json index 76a753dc77..5c4bed2561 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json @@ -65,6 +65,7 @@ "type": "Namba ya HUWANYU mfano: 1234/56/78/912", "mask": "####/##/##/###", "mask_hint": "12345678912", + "input_type": "number", "allowed_chars": "0123456789" }, "meta_data": { @@ -132,6 +133,7 @@ "type": "Namba ya CTC mfano: 12-34-5678-912345", "mask": "##-##-####-######", "mask_hint": "12345678912345", + "input_type": "number", "allowed_chars": "0123456789" }, "meta_data": { diff --git a/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json index b84b2b1a22..c983efcafb 100644 --- a/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json @@ -216,6 +216,7 @@ "type": "Clinic of Treatment and Care registration number (CTC Number)", "mask": "##-##-####-######", "mask_hint": "12345678912345", + "input_type": "number", "allowed_chars": "0123456789" }, "meta_data": { diff --git a/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json index 588f5ec34d..b38197685c 100644 --- a/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json @@ -65,6 +65,7 @@ "type": "CBHS Number e.g 1234/56/78/912", "mask": "####/##/##/###", "mask_hint": "12345678912", + "input_type": "number", "allowed_chars": "0123456789" }, "meta_data": { @@ -132,6 +133,7 @@ "type": "CTC Number e.g 12-34-5678-912345", "mask": "##-##-####-######", "mask_hint": "12345678912345", + "input_type": "number", "allowed_chars": "0123456789" }, "meta_data": { diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json index a7d69af067..889a28a641 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json @@ -216,6 +216,7 @@ "type": "Clinic of Treatment and Care registration number (CTC Number)", "mask": "##-##-####-######", "mask_hint": "12345678912345", + "input_type": "number", "allowed_chars": "0123456789" }, "meta_data": { diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json index 5e7478ac78..b39084f8e3 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json @@ -65,6 +65,7 @@ "type": "CBHS Number e.g 1234/56/78/912", "mask": "####/##/##/###", "mask_hint": "12345678912", + "input_type": "number", "allowed_chars": "0123456789" }, "meta_data": { @@ -132,6 +133,7 @@ "type": "CTC Number e.g 12-34-5678-912345", "mask": "##-##-####-######", "mask_hint": "12345678912345", + "input_type": "number", "allowed_chars": "0123456789" }, "meta_data": { From e2fb9869b888be1cb4cca05b1781b29c9ae57fbb Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 18 Feb 2022 13:58:52 +0300 Subject: [PATCH 267/915] updated manifest permissions --- opensrp-chw/build.gradle | 4 ++-- opensrp-chw/src/main/AndroidManifest.xml | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 43b376e384..cf83001814 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -174,8 +174,8 @@ android { nacp { dimension = 'baseDimension' applicationIdSuffix ".nacp" - versionCode 1 - versionName "1.0.1" + versionCode 3 + versionName "1.0.3" buildConfigField "String", 'opensrp_url', '"http://50.116.15.4:8082/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' buildConfigField "String", 'opensrp_url_debug', '"http://50.116.15.4:8082/opensrp/"' diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 9d934b85d2..f7aebba02f 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -23,6 +23,9 @@ + + + Date: Sat, 19 Feb 2022 14:51:14 +0300 Subject: [PATCH 268/915] fixed: hiv followup visit --- .../smartregister/chw/fragment/HivRegisterFragment.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index 5555861334..671b93f5ee 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -51,18 +51,13 @@ protected void openProfile(CommonPersonObjectClient client) { @Override protected void openFollowUpVisit(@Nullable HivMemberObject hivMemberObject) { if (getActivity() != null) { - String formName; - if (hivMemberObject.getGender().equalsIgnoreCase("male")) { - formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); - } else { - formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); - } try { - HivRegisterActivity.startHIVFormActivity(getActivity(), hivMemberObject.getBaseEntityId(), formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(getActivity(), formName).toString()); + HivProfileActivity.startHivFollowupActivity(getActivity(), hivMemberObject.getBaseEntityId()); } catch (JSONException e) { Timber.e(e); } } + } } From a38dca901881ba06c88683a3d5c4100e09e2b2e4 Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 19 Feb 2022 14:51:59 +0300 Subject: [PATCH 269/915] code fixes --- .../org/smartregister/chw/fragment/HivRegisterFragment.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java index 671b93f5ee..47645d19c8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivRegisterFragment.java @@ -1,14 +1,11 @@ package org.smartregister.chw.fragment; -import com.vijay.jsonwizard.utils.FormUtils; - import org.jetbrains.annotations.Nullable; import org.json.JSONException; import org.smartregister.chw.R; import org.smartregister.chw.activity.HivProfileActivity; import org.smartregister.chw.activity.HivRegisterActivity; import org.smartregister.chw.core.fragment.CoreHivRegisterFragment; -import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.domain.HivMemberObject; import org.smartregister.chw.model.HivRegisterFragmentModel; From e25dca87053c77ac6de438af36a7aaea6ee4c611 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 21 Feb 2022 12:13:42 +0300 Subject: [PATCH 270/915] Fix: removed phone number fields from anc registration --- .../json.form-sw/anc_member_registration.json | 20 ------------------- .../json.form/anc_member_registration.json | 19 ------------------ 2 files changed, 39 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index 4caeaeb336..61cf7331ae 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -335,26 +335,6 @@ "err": "Number must be less than or equal to Number of Previous Pregnancies" } }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Namba ya simu", - "v_numeric": { - "value": "true", - "err": "Namba lazima iwe na jumla ya tarakimu 10 kwa urefu" - }, - "v_regex": { - "value": "(0[0-9]{9})|\\s*", - "err": "Namba lazima iwe na tarakimu 10 na ianze na 0" - }, - "v_required": { - "value": false, - "err": "Haijafafanuliwa" - } - }, { "key": "person_assist", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json index e950df8142..cd98469650 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -335,25 +335,6 @@ "err": "Number must be less than or equal to Number of Previous Pregnancies" } }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Phone number", - "v_numeric": { - "value": "true", - "err": "Number must be a total of 10 digits in length" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." - }, - "v_required": { - "value": false - } - }, { "key": "person_assist", "openmrs_entity_parent": "", From 34a8a9452e1459f972361050518a564a1ffc86b2 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 22 Feb 2022 12:15:49 +0300 Subject: [PATCH 271/915] Removed passport number and revamped occupation options in registration forms --- .../all_clients_registration_form.json | 159 ++---------------- ...clients_update_registration_info_form.json | 159 ++---------------- .../json.form/family_member_register.json | 159 ++---------------- .../assets/json.form/family_register.json | 159 ++---------------- .../assets/rule/family_register_relevance.yml | 8 - 5 files changed, 52 insertions(+), 592 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index 0ec25de4d1..d7db3c5475 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -496,13 +496,6 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, - { - "key": "chk_passport", - "text": "Passport", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_passport" - }, { "key": "chk_none", "text": "None", @@ -627,42 +620,6 @@ } } }, - { - "key": "passport", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Passport number e.g TAE-123456", - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid passport number" - }, - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Passport Number should be in the format (TAE-XXXXXX)" - }, - "v_required": { - "value": true, - "err": "Please enter a valid passport number" - }, - "edit_type": "number", - "relevance": { - "step2:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_passport" - ] - } - ] - } - } - }, { "key": "insurance_provider", "openmrs_entity_parent": "", @@ -995,104 +952,38 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "service_provider", - "type": "check_box", + "type": "native_radio", "label": "Occupation of the Client", "label_text_style": "normal", "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], "options": [ { - "key": "chk_farmer", - "text": "Farmer", + "key": "chk_self_employed", + "text": "Self-Employed", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" + "openmrs_entity_id": "chk_self_employed" }, { - "key": "chk_cs", - "text": "Civil Servant", + "key": "chk_employed", + "text": "Employed", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" + "openmrs_entity_id": "chk_employed" }, { - "key": "chk_nurse", - "text": "Nurse", + "key": "chk_unemployed", + "text": "Unemployed", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" + "openmrs_entity_id": "chk_unemployed" }, { - "key": "chk_teacher", - "text": "Teacher", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" - }, - { - "key": "chk_th", - "text": "Traditional Healer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" - }, - { - "key": "chk_chw", - "text": "Community Health Worker (CHW)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" - }, - { - "key": "chk_tba", - "text": "Traditional Birth Attendant", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" - }, - { - "key": "chk_chmis", - "text": "Community HMIS (cHMIS)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" - }, - { - "key": "chk_cbd", - "text": "Community Based Distributor", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" - }, - { - "key": "chk_hbc", - "text": "Home Based Care (HBC)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" - }, - { - "key": "chk_cimmci", - "text": "Community IMCI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" - }, - { - "key": "chk_other", - "text": "Other", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" - }, - { - "key": "chk_none", - "text": "None", + "key": "chk_farmer", + "text": "Farmer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "chk_farmer" } ], "v_required": { @@ -1107,30 +998,6 @@ } } }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Mention other Occupation", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please specify the occupation" - }, - "relevance": { - "step2:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, { "key": "leader", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index c092f7f90e..9f3509acdf 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -343,13 +343,6 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, - { - "key": "chk_passport", - "text": "Passport", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_passport" - }, { "key": "chk_none", "text": "None", @@ -474,42 +467,6 @@ } } }, - { - "key": "passport", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Passport number e.g TAE-123456", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Passport Number should be in the format (TAE-XXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid passport number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid passport number" - }, - "edit_type": "number", - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_passport" - ] - } - ] - } - } - }, { "key": "insurance_provider", "openmrs_entity_parent": "", @@ -842,104 +799,38 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "service_provider", - "type": "check_box", + "type": "native_radio", "label": "Occupation of the Client", "label_text_style": "normal", "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], "options": [ { - "key": "chk_farmer", - "text": "Farmer", + "key": "chk_self_employed", + "text": "Self-Employed", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" + "openmrs_entity_id": "chk_self_employed" }, { - "key": "chk_cs", - "text": "Civil Servant", + "key": "chk_employed", + "text": "Employed", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" + "openmrs_entity_id": "chk_employed" }, { - "key": "chk_nurse", - "text": "Nurse", + "key": "chk_unemployed", + "text": "Unemployed", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" + "openmrs_entity_id": "chk_unemployed" }, { - "key": "chk_teacher", - "text": "Teacher", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" - }, - { - "key": "chk_th", - "text": "Traditional Healer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" - }, - { - "key": "chk_chw", - "text": "Community Health Worker (CHW)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" - }, - { - "key": "chk_tba", - "text": "Traditional Birth Attendant", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" - }, - { - "key": "chk_chmis", - "text": "Community HMIS (cHMIS)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" - }, - { - "key": "chk_cbd", - "text": "Community Based Distributor", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" - }, - { - "key": "chk_hbc", - "text": "Home Based Care (HBC)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" - }, - { - "key": "chk_cimmci", - "text": "Community IMCI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" - }, - { - "key": "chk_other", - "text": "Other", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" - }, - { - "key": "chk_none", - "text": "None", + "key": "chk_farmer", + "text": "Farmer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "chk_farmer" } ], "v_required": { @@ -954,30 +845,6 @@ } } }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Mention other Occupation", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please specify the occupation" - }, - "relevance": { - "step1:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, { "key": "leader", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json index 7a3fc58a4e..204e18c6f7 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json @@ -389,13 +389,6 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, - { - "key": "chk_passport", - "text": "Passport", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_passport" - }, { "key": "chk_none", "text": "None", @@ -520,42 +513,6 @@ } } }, - { - "key": "passport", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Passport number e.g TAE-123456", - "edit_type": "number", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Passport Number should be in the format (TAE-XXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid passport number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid passport number" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_passport" - ] - } - ] - } - } - }, { "key": "insurance_provider", "openmrs_entity_parent": "", @@ -854,104 +811,38 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "service_provider", - "type": "check_box", + "type": "native_radio", "label": "Occupation of the family member", "label_text_style": "normal", "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], "options": [ { - "key": "chk_farmer", - "text": "Farmer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" - }, - { - "key": "chk_cs", - "text": "Civil Servant", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" - }, - { - "key": "chk_nurse", - "text": "Nurse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" - }, - { - "key": "chk_teacher", - "text": "Teacher", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" - }, - { - "key": "chk_th", - "text": "Traditional Healer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" - }, - { - "key": "chk_chw", - "text": "Community Health Worker (CHW)", + "key": "chk_self_employed", + "text": "Self-Employed", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" + "openmrs_entity_id": "chk_self_employed" }, { - "key": "chk_tba", - "text": "Traditional Birth Attendant", + "key": "chk_employed", + "text": "Employed", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" + "openmrs_entity_id": "chk_employed" }, { - "key": "chk_chmis", - "text": "Community HMIS (cHMIS)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" - }, - { - "key": "chk_cbd", - "text": "Community Based Distributor", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" - }, - { - "key": "chk_hbc", - "text": "Home Based Care (HBC)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" - }, - { - "key": "chk_cimmci", - "text": "Community IMCI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" - }, - { - "key": "chk_other", - "text": "Other", + "key": "chk_unemployed", + "text": "Unemployed", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" + "openmrs_entity_id": "chk_unemployed" }, { - "key": "chk_none", - "text": "None", + "key": "chk_farmer", + "text": "Farmer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "chk_farmer" } ], "v_required": { @@ -966,30 +857,6 @@ } } }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Mention other Occupation", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please specify the occupation" - }, - "relevance": { - "step1:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, { "key": "leader", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/family_register.json b/opensrp-chw/src/nacp/assets/json.form/family_register.json index f87d11349d..310ad9ad59 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_register.json @@ -493,13 +493,6 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, - { - "key": "chk_passport", - "text": "Passport", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_passport" - }, { "key": "chk_none", "text": "None", @@ -624,42 +617,6 @@ } } }, - { - "key": "passport", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Passport number e.g TAE-123456", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Passport Number should be in the format (TAE-XXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid passport number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid passport number" - }, - "edit_type": "number", - "relevance": { - "step2:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_passport" - ] - } - ] - } - } - }, { "key": "insurance_provider", "openmrs_entity_parent": "", @@ -932,104 +889,38 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "service_provider", - "type": "check_box", + "type": "native_radio", "label": "Occupation of the family head", "label_text_style": "normal", "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], "options": [ { - "key": "chk_farmer", - "text": "Farmer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" - }, - { - "key": "chk_cs", - "text": "Civil Servant", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" - }, - { - "key": "chk_nurse", - "text": "Nurse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" - }, - { - "key": "chk_teacher", - "text": "Teacher", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" - }, - { - "key": "chk_th", - "text": "Traditional Healer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" - }, - { - "key": "chk_chw", - "text": "Community Health Worker (CHW)", + "key": "chk_self_employed", + "text": "Self-Employed", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" + "openmrs_entity_id": "chk_self_employed" }, { - "key": "chk_tba", - "text": "Traditional Birth Attendant", + "key": "chk_employed", + "text": "Employed", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" + "openmrs_entity_id": "chk_employed" }, { - "key": "chk_chmis", - "text": "Community HMIS (cHMIS)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" - }, - { - "key": "chk_cbd", - "text": "Community Based Distributor", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" - }, - { - "key": "chk_hbc", - "text": "Home Based Care (HBC)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" - }, - { - "key": "chk_cimmci", - "text": "Community IMCI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" - }, - { - "key": "chk_other", - "text": "Other", + "key": "chk_unemployed", + "text": "Unemployed", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" + "openmrs_entity_id": "chk_unemployed" }, { - "key": "chk_none", - "text": "None", + "key": "chk_farmer", + "text": "Farmer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "chk_farmer" } ], "v_required": { @@ -1044,30 +935,6 @@ } } }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Mention other Occupation", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please specify the occupation" - }, - "relevance": { - "step2:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, { "key": "leader", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml b/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml index 0d48b39234..7d4a467685 100644 --- a/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml @@ -73,14 +73,6 @@ condition: "step2_id_avail.equals('Driver\\'s license')" actions: - "isRelevant = true" ---- -name: step2_passport -description: passport relevance -priority: 1 -condition: "step2_id_avail.equals('Passport')" -actions: - - "isRelevant = true" - --- name: step2_insurance_provider_other description: insurance_provider_other relevance From 0ef2d3a7667810f09dfcfdb0388a80af8986fe68 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 22 Feb 2022 12:44:58 +0300 Subject: [PATCH 272/915] Removed passport number and revamped occupation options in swahili registration forms --- .../all_clients_registration_form.json | 159 ++---------------- ...clients_update_registration_info_form.json | 159 ++---------------- .../json.form-sw/family_member_register.json | 135 ++------------- .../assets/json.form-sw/family_register.json | 159 ++---------------- 4 files changed, 52 insertions(+), 560 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index 11dd8a6fb6..806633bc60 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -491,13 +491,6 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, - { - "key": "chk_passport", - "text": "Hati ya kusafiria", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_passport" - }, { "key": "chk_none", "text": "Hakuna", @@ -622,42 +615,6 @@ } } }, - { - "key": "passport", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Namba ya hati ya kusafiria", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Namba ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" - }, - "edit_type": "number", - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, - "relevance": { - "step2:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_passport" - ] - } - ] - } - } - }, { "key": "insurance_provider", "openmrs_entity_parent": "", @@ -990,104 +947,38 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "service_provider", - "type": "check_box", + "type": "native_radio", "label": "Kazi ya Mteja", "label_text_style": "normal", "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], "options": [ { - "key": "chk_farmer", - "text": "Mkulima", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" - }, - { - "key": "chk_cs", - "text": "Mtumishi wa Serikali", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" - }, - { - "key": "chk_nurse", - "text": "Muuguzi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" - }, - { - "key": "chk_teacher", - "text": "Mwalimu", + "key": "chk_self_employed", + "text": "Amejiajiri", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" + "openmrs_entity_id": "chk_self_employed" }, { - "key": "chk_th", - "text": "Mganga wa tiba asili", + "key": "chk_employed", + "text": "Ameajiriwa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" + "openmrs_entity_id": "chk_employed" }, { - "key": "chk_chw", - "text": "Muhudumu wa afya ngazi ya jamii (WAJA)", + "key": "chk_unemployed", + "text": "Hajaajiriwa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" + "openmrs_entity_id": "chk_unemployed" }, { - "key": "chk_tba", - "text": "Mkunga wa Jadi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" - }, - { - "key": "chk_chmis", - "text": "Wakusanyaji takrimu za afya ngazi ya jamii", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" - }, - { - "key": "chk_cbd", - "text": "Msambazaji wa dawa na vifaa vya uzazi wa mpango ngazi ya Jamii ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" - }, - { - "key": "chk_hbc", - "text": "Watoa huduma kwa wagonjwa majumbani", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" - }, - { - "key": "chk_cimmci", - "text": "Watoa huduma za udhibiti wa magonjwa ya watoto ngazi ya jamii", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" - }, - { - "key": "chk_other", - "text": "Nyinginezo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" - }, - { - "key": "chk_none", - "text": "Hakuna ", + "key": "chk_farmer", + "text": "Mkulima", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "chk_farmer" } ], "v_required": { @@ -1102,30 +993,6 @@ } } }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Taja Kazi nyingine", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja kazi" - }, - "relevance": { - "step2:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, { "key": "leader", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 5a2acecf97..5d47f625be 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -338,13 +338,6 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, - { - "key": "chk_passport", - "text": "Hati ya kusafiria", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_passport" - }, { "key": "chk_none", "text": "Hakuna", @@ -469,42 +462,6 @@ } } }, - { - "key": "passport", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Namba ya hati ya kusafiria", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Namba ya hati ya kusafiria inapaswa kuwa katika muundo (TAE-XXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, - "edit_type": "number", - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_passport" - ] - } - ] - } - } - }, { "key": "insurance_provider", "openmrs_entity_parent": "", @@ -837,104 +794,38 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "service_provider", - "type": "check_box", + "type": "native_radio", "label": "Kazi ya Mteja", "label_text_style": "normal", "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], "options": [ { - "key": "chk_farmer", - "text": "Mkulima", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" - }, - { - "key": "chk_cs", - "text": "Mtumishi wa Serikali", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" - }, - { - "key": "chk_nurse", - "text": "Muuguzi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" - }, - { - "key": "chk_teacher", - "text": "Mwalimu", + "key": "chk_self_employed", + "text": "Amejiajiri", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" + "openmrs_entity_id": "chk_self_employed" }, { - "key": "chk_th", - "text": "Mganga wa tiba asili", + "key": "chk_employed", + "text": "Ameajiriwa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" + "openmrs_entity_id": "chk_employed" }, { - "key": "chk_chw", - "text": "Muhudumu wa afya ngazi ya jamii(WAJA)", + "key": "chk_unemployed", + "text": "Hajaajiriwa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" + "openmrs_entity_id": "chk_unemployed" }, { - "key": "chk_tba", - "text": "Mkunga wa Jadi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" - }, - { - "key": "chk_chmis", - "text": "Wakusanyaji takrimu za afya ngazi ya jamii", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" - }, - { - "key": "chk_cbd", - "text": "Msambazaji wa dawa na vifaa vya uzazi wa mpango ngazi ya Jamii", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" - }, - { - "key": "chk_hbc", - "text": "Watoa huduma kwa wagonjwa majumbani", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" - }, - { - "key": "chk_cimmci", - "text": "Watoa huduma za udhibiti wa magonjwa ya watoto ngazi ya jamii", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" - }, - { - "key": "chk_other", - "text": "Nyinginezo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" - }, - { - "key": "chk_none", - "text": "Hakuna", + "key": "chk_farmer", + "text": "Mkulima", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "chk_farmer" } ], "v_required": { @@ -949,30 +840,6 @@ } } }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Taja kazi nyingine", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja Kazi" - }, - "relevance": { - "step1:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, { "key": "leader", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json index c9b1f03029..7c8a1833af 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json @@ -384,13 +384,6 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, - { - "key": "chk_passport", - "text": "Pasipoti", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_passport" - }, { "key": "chk_none", "text": "Hakuna", @@ -515,42 +508,6 @@ } } }, - { - "key": "passport", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Nambari ya pasipoti", - "edit_type": "number", - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_passport" - ] - } - ] - } - } - }, { "key": "insurance_provider", "openmrs_entity_parent": "", @@ -849,104 +806,38 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "service_provider", - "type": "check_box", + "type": "native_radio", "label": "Kazi ya mwanafamilia", "label_text_style": "normal", "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], "options": [ { - "key": "chk_farmer", - "text": "Farmer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" - }, - { - "key": "chk_cs", - "text": "Mtumishi wa Serikali", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" - }, - { - "key": "chk_nurse", - "text": "Muuguzi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" - }, - { - "key": "chk_teacher", - "text": "Mwalimu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" - }, - { - "key": "chk_th", - "text": "Mganga wa Kienyeji", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" - }, - { - "key": "chk_chw", - "text": "Mhudumu wa Afya ya Jamii (CHW)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" - }, - { - "key": "chk_tba", - "text": "Mkunga wa Jadi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" - }, - { - "key": "chk_chmis", - "text": "Mkusanya takrimu za afya ngazi ya jami", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" - }, - { - "key": "chk_cbd", - "text": "Msambazaji wa vifaa vya uzazi wa mpango ngazi ja jami", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" - }, - { - "key": "chk_hbc", - "text": "Utunzaji wa Nyumbani (HBC)", + "key": "chk_self_employed", + "text": "Amejiajiri", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" + "openmrs_entity_id": "chk_self_employed" }, { - "key": "chk_cimmci", - "text": "Watoa huduma huduma za kuzuia magonjwa ya watoto kwa uwiano ngazi ya jamii", + "key": "chk_employed", + "text": "Ameajiriwa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" + "openmrs_entity_id": "chk_employed" }, { - "key": "chk_other", - "text": "Nyinginezo", + "key": "chk_unemployed", + "text": "Hajaajiriwa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" + "openmrs_entity_id": "chk_unemployed" }, { - "key": "chk_none", - "text": "Hakuna", + "key": "chk_farmer", + "text": "Mkulima", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "chk_farmer" } ], "v_required": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index cde081e390..0797dabf7d 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -490,13 +490,6 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, - { - "key": "chk_passport", - "text": "pasipoti", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_passport" - }, { "key": "chk_none", "text": "Hakuna", @@ -621,42 +614,6 @@ } } }, - { - "key": "passport", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Nambari ya pasipoti", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Tafadhali jaza namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali jaza namba sahihi" - }, - "edit_type": "number", - "relevance": { - "step2:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_passport" - ] - } - ] - } - } - }, { "key": "insurance_provider", "openmrs_entity_parent": "", @@ -929,104 +886,38 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "service_provider", - "type": "check_box", + "type": "native_radio", "label": "Kazi ya kichwa cha familia", "label_text_style": "normal", "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], "options": [ { - "key": "chk_farmer", - "text": "Mkulima", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" - }, - { - "key": "chk_cs", - "text": "Mtumishi wa Serikali", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" - }, - { - "key": "chk_nurse", - "text": "Muuguzi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" - }, - { - "key": "chk_teacher", - "text": "Mwalimu", + "key": "chk_self_employed", + "text": "Amejiajiri", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" + "openmrs_entity_id": "chk_self_employed" }, { - "key": "chk_th", - "text": "Mganga wa tiba asili", + "key": "chk_employed", + "text": "Ameajiriwa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" + "openmrs_entity_id": "chk_employed" }, { - "key": "chk_chw", - "text": "Muhudumu wa afya ngazi ya jamii(WAJA)", + "key": "chk_unemployed", + "text": "Hajaajiriwa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" + "openmrs_entity_id": "chk_unemployed" }, { - "key": "chk_tba", - "text": "Mkunga wa Jadi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" - }, - { - "key": "chk_chmis", - "text": "Wakusanyaji takrimu za afya ngazi ya jamii\"", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" - }, - { - "key": "chk_cbd", - "text": "Msambazaji wa dawa na vifaa vya uzazi wa mpango ngazi ya Jamii ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" - }, - { - "key": "chk_hbc", - "text": "Watoa huduma kwa wagonjwa majumbani", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" - }, - { - "key": "chk_cimmci", - "text": "Watoa huduma za udhibiti wa magonjwa ya watoto ngazi ya jamii", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" - }, - { - "key": "chk_other", - "text": "Nyinginezo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" - }, - { - "key": "chk_none", - "text": "Hakuna", + "key": "chk_farmer", + "text": "Mkulima", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "chk_farmer" } ], "v_required": { @@ -1041,30 +932,6 @@ } } }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Taja Kazi nyingine", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja kazi" - }, - "relevance": { - "step2:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, { "key": "leader", "openmrs_entity_parent": "", From 79a1bf2b0a1243f6d135bb4b113a33d206a04bfa Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 22 Feb 2022 15:26:20 +0300 Subject: [PATCH 273/915] implemented referral cancellation --- opensrp-chw/src/main/AndroidManifest.xml | 2 + .../ChwReferralDetailsViewActivity.java | 83 +++++++++++++++++++ .../smartregister/chw/dao/ReferralDao.java | 21 +++++ .../fragment/ReferralRegisterFragment.java | 3 +- .../ReferralRegisterFragmentPresenter.java | 3 +- opensrp-chw/src/main/res/values/strings.xml | 4 + 6 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/dao/ReferralDao.java diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index f7aebba02f..c4455903c7 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -300,6 +300,8 @@ android:label="@string/upcoming_services" android:theme="@style/ChwTheme.NoActionBar" /> + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java new file mode 100644 index 0000000000..027032d88d --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java @@ -0,0 +1,83 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.app.AlertDialog; +import android.content.Intent; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.Toast; + +import org.smartregister.chw.R; +import org.smartregister.chw.application.ChwApplication; +import org.smartregister.chw.core.utils.CoreReferralUtils; +import org.smartregister.chw.dao.ReferralDao; +import org.smartregister.chw.referral.domain.MemberObject; +import org.smartregister.chw.referral.activity.ReferralDetailsViewActivity; +import org.smartregister.chw.referral.util.Constants; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.domain.Task; +import org.smartregister.view.customcontrols.CustomFontTextView; + +import timber.log.Timber; + +public class ChwReferralDetailsViewActivity extends ReferralDetailsViewActivity { + private CommonPersonObjectClient client; + @Override + protected void onCreation() { + super.onCreation(); + String taskId = ReferralDao.getTaskIdByReasonReference(getMemberObject().getBaseEntityId()); + Task task = ChwApplication.getInstance().getTaskRepository().getTaskByIdentifier(taskId); + if(!task.getBusinessStatus().equalsIgnoreCase("Complete")){ + createCancelReferral(task); + } + + } + + public static void startChwReferralDetailsViewActivity(Activity activity, MemberObject memberObject, CommonPersonObjectClient client){ + Intent intent = new Intent(activity, ChwReferralDetailsViewActivity.class); + intent.putExtra(Constants.ReferralMemberObject.MEMBER_OBJECT, memberObject); + activity.startActivity(intent); + } + + private void createCancelReferral(Task task) { + LinearLayout referralVisitBar = findViewById(R.id.record_visit_bar); + referralVisitBar.setVisibility(View.VISIBLE); + + CustomFontTextView markAsDone = findViewById(R.id.mark_ask_done); + markAsDone.setText(R.string.cancel_referral); + + markAsDone.setOnClickListener(view -> { + closeReferralDialog(task); + }); + + } + + private void cancelReferral(Task task) { + MemberObject memberObject = getMemberObject(); + assert memberObject != null; + task.setForEntity(memberObject.getBaseEntityId()); + + CoreReferralUtils.cancelTask(task); + } + + private void closeReferralDialog(Task task) { + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(getString(R.string.cancel_referral_title)); + builder.setMessage(getString(R.string.cancel_referral_message)); + builder.setCancelable(true); + + builder.setPositiveButton(this.getString(R.string.cancel_referral), (dialog, id) -> { + try { + cancelReferral(task); + finish(); + } catch (Exception e) { + Timber.e(e, "ReferralTaskViewActivity --> closeReferralDialog"); + } + }); + builder.setNegativeButton(this.getString(R.string.exit), ((dialog, id) -> dialog.cancel())); + + AlertDialog alertDialog = builder.create(); + alertDialog.show(); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReferralDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReferralDao.java new file mode 100644 index 0000000000..be538caaf3 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReferralDao.java @@ -0,0 +1,21 @@ +package org.smartregister.chw.dao; + +import org.smartregister.dao.AbstractDao; + +import java.util.List; + +public class ReferralDao extends AbstractDao { + public static String getTaskIdByReasonReference(String formId){ + DataMap dataMap = cursor -> getCursorValue(cursor,"_id"); + + String sql = String.format( + "SELECT _id FROM %s WHERE reason_reference = '%s' ", + "task", + formId + ); + + List res = readData(sql,dataMap); + return res.size() > 0 ? res.get(0) : ""; + + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ReferralRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ReferralRegisterFragment.java index acedeb0c88..34b6c444e1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ReferralRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ReferralRegisterFragment.java @@ -13,6 +13,7 @@ import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; import org.smartregister.chw.R; +import org.smartregister.chw.activity.ChwReferralDetailsViewActivity; import org.smartregister.chw.activity.MalariaFollowUpVisitActivity; import org.smartregister.chw.anc.util.DBConstants; import org.smartregister.chw.core.custom_views.NavigationMenu; @@ -155,7 +156,7 @@ private void switchViews(View dueOnlyLayout, boolean isPress) { @Override protected void openProfile(CommonPersonObjectClient client) { - ReferralDetailsViewActivity.startReferralDetailsViewActivity(getActivity(), new MemberObject(client)); + ChwReferralDetailsViewActivity.startChwReferralDetailsViewActivity(getActivity(), new MemberObject(client), client); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java index 6f572e630f..f39f3ca4e5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java @@ -22,7 +22,8 @@ public ReferralRegisterFragmentPresenter(BaseReferralRegisterFragmentContract.Vi @NotNull public String getMainCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND " + Tables.REFERRAL + "." + DBConstants.Key.REFERRAL_TYPE + " = '" + ReferralType.COMMUNITY_TO_FACILITY_REFERRAL + "' "; + "AND " + Tables.REFERRAL + "." + DBConstants.Key.REFERRAL_TYPE + " = '" + ReferralType.COMMUNITY_TO_FACILITY_REFERRAL + "' " + + "AND " + CoreConstants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " <> '" + CoreConstants.BUSINESS_STATUS.CANCELLED + "' "; } diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 4f44072939..7ab90140af 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -417,6 +417,10 @@ Family has nothing else due Created: %s + Cancel Referral + Cancel Referral? + Referral will be closed and disappear from app. + Exit From 6482a81a2dd7da1fe9e256ca2629ecc0d14c8c49 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 22 Feb 2022 15:53:35 +0300 Subject: [PATCH 274/915] code fixes --- opensrp-chw/src/main/AndroidManifest.xml | 56 ++++++++++--------- .../ChwReferralDetailsViewActivity.java | 14 +++-- .../activity/ReferralRegisterActivity.java | 3 +- .../smartregister/chw/dao/ReferralDao.java | 8 +-- .../fragment/ReferralRegisterFragment.java | 8 +-- 5 files changed, 45 insertions(+), 44 deletions(-) diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index c4455903c7..b3a195e9fb 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -3,36 +3,12 @@ xmlns:tools="http://schemas.android.com/tools" package="org.smartregister.chw"> - - - - - - - - - - - - - - - - - - - + + @@ -338,5 +316,29 @@ android:name="org.apache.http.legacy" android:required="false" /> + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java index 027032d88d..e5ba2c70b7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java @@ -5,15 +5,13 @@ import android.content.Intent; import android.view.View; import android.widget.LinearLayout; -import android.widget.RelativeLayout; -import android.widget.Toast; import org.smartregister.chw.R; import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.utils.CoreReferralUtils; import org.smartregister.chw.dao.ReferralDao; -import org.smartregister.chw.referral.domain.MemberObject; import org.smartregister.chw.referral.activity.ReferralDetailsViewActivity; +import org.smartregister.chw.referral.domain.MemberObject; import org.smartregister.chw.referral.util.Constants; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.domain.Task; @@ -23,18 +21,19 @@ public class ChwReferralDetailsViewActivity extends ReferralDetailsViewActivity { private CommonPersonObjectClient client; + @Override protected void onCreation() { super.onCreation(); String taskId = ReferralDao.getTaskIdByReasonReference(getMemberObject().getBaseEntityId()); Task task = ChwApplication.getInstance().getTaskRepository().getTaskByIdentifier(taskId); - if(!task.getBusinessStatus().equalsIgnoreCase("Complete")){ + if (!task.getBusinessStatus().equalsIgnoreCase("Complete")) { createCancelReferral(task); } } - public static void startChwReferralDetailsViewActivity(Activity activity, MemberObject memberObject, CommonPersonObjectClient client){ + public static void startChwReferralDetailsViewActivity(Activity activity, MemberObject memberObject, CommonPersonObjectClient client) { Intent intent = new Intent(activity, ChwReferralDetailsViewActivity.class); intent.putExtra(Constants.ReferralMemberObject.MEMBER_OBJECT, memberObject); activity.startActivity(intent); @@ -47,6 +46,9 @@ private void createCancelReferral(Task task) { CustomFontTextView markAsDone = findViewById(R.id.mark_ask_done); markAsDone.setText(R.string.cancel_referral); + View viewReferralRow = findViewById(R.id.view_referal_row); + viewReferralRow.setVisibility(View.GONE); + markAsDone.setOnClickListener(view -> { closeReferralDialog(task); }); @@ -69,7 +71,7 @@ private void closeReferralDialog(Task task) { builder.setPositiveButton(this.getString(R.string.cancel_referral), (dialog, id) -> { try { - cancelReferral(task); + cancelReferral(task); finish(); } catch (Exception e) { Timber.e(e, "ReferralTaskViewActivity --> closeReferralDialog"); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ReferralRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ReferralRegisterActivity.java index 4cbcd72f6e..21db254e55 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ReferralRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ReferralRegisterActivity.java @@ -4,8 +4,6 @@ import android.content.Intent; import android.os.Bundle; -import androidx.fragment.app.Fragment; - import com.google.android.material.bottomnavigation.LabelVisibilityMode; import org.apache.commons.lang3.tuple.Triple; @@ -25,6 +23,7 @@ import java.util.Collections; import java.util.List; +import androidx.fragment.app.Fragment; import timber.log.Timber; import static org.smartregister.chw.core.utils.CoreConstants.ENTITY_ID; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReferralDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReferralDao.java index be538caaf3..7d304d1df0 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReferralDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReferralDao.java @@ -5,8 +5,8 @@ import java.util.List; public class ReferralDao extends AbstractDao { - public static String getTaskIdByReasonReference(String formId){ - DataMap dataMap = cursor -> getCursorValue(cursor,"_id"); + public static String getTaskIdByReasonReference(String formId) { + DataMap dataMap = cursor -> getCursorValue(cursor, "_id"); String sql = String.format( "SELECT _id FROM %s WHERE reason_reference = '%s' ", @@ -14,8 +14,8 @@ public static String getTaskIdByReasonReference(String formId){ formId ); - List res = readData(sql,dataMap); - return res.size() > 0 ? res.get(0) : ""; + List res = readData(sql, dataMap); + return res.size() > 0 ? res.get(0) : ""; } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ReferralRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ReferralRegisterFragment.java index 34b6c444e1..4d76f6cf2d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ReferralRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ReferralRegisterFragment.java @@ -6,10 +6,6 @@ import android.widget.LinearLayout; import android.widget.TextView; -import androidx.appcompat.widget.Toolbar; -import androidx.loader.content.CursorLoader; -import androidx.loader.content.Loader; - import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; import org.smartregister.chw.R; @@ -20,7 +16,6 @@ import org.smartregister.chw.core.utils.QueryBuilder; import org.smartregister.chw.model.ReferralRegisterFragmentModel; import org.smartregister.chw.presenter.ReferralRegisterFragmentPresenter; -import org.smartregister.chw.referral.activity.ReferralDetailsViewActivity; import org.smartregister.chw.referral.domain.MemberObject; import org.smartregister.chw.referral.fragment.BaseReferralRegisterFragment; import org.smartregister.chw.referral.provider.ReferralRegisterProvider; @@ -38,6 +33,9 @@ import java.util.List; import java.util.Set; +import androidx.appcompat.widget.Toolbar; +import androidx.loader.content.CursorLoader; +import androidx.loader.content.Loader; import timber.log.Timber; public class ReferralRegisterFragment extends BaseReferralRegisterFragment { From 267a9cb99c62b3643f38713d2b2c086caa08548c Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 23 Feb 2022 13:27:48 +0300 Subject: [PATCH 275/915] added swahili translation --- opensrp-chw/src/nacp/res/values-sw/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 5b7d5824ec..2b9ab91f48 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -25,5 +25,5 @@ Ziara inayofuata ya ufuatiliaji wa Ufuatiliaji wa VVU UWANYU (%2$s)]]> - + Hiari \ No newline at end of file From 759eaf15ddc625979f4f4e55833ad2f0a427fc75 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 23 Feb 2022 13:46:27 +0300 Subject: [PATCH 276/915] fixed pregnancy confirmation updates --- opensrp-chw/src/nacp/assets/ec_client_fields.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index afda0c1fe1..12391f384e 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -3191,6 +3191,14 @@ "concept": "end" } }, + { + "column_name": "confirmation_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "pregnancy_confirmation_status" + } + }, { "column_name": "date_marked_as_done", "type": "Event", From fac52c025b2082b4c9ffc58f27ee009211c321bd Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 23 Feb 2022 13:55:33 +0300 Subject: [PATCH 277/915] code fixes --- .../chw/activity/ChwReferralDetailsViewActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java index e5ba2c70b7..f4df1c14bf 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java @@ -20,7 +20,7 @@ import timber.log.Timber; public class ChwReferralDetailsViewActivity extends ReferralDetailsViewActivity { - private CommonPersonObjectClient client; + @Override protected void onCreation() { From a180b86e98904f4a17fd3ffc19517b8360597935 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 2 Mar 2022 09:21:44 +0300 Subject: [PATCH 278/915] implement:ANC Partner followup tab in anc register --- .../chw/activity/AncRegisterActivity.java | 42 +++++++++++++--- .../fragment/AncFollowupRegisterFragment.java | 48 +++++++++++++++++++ .../provider/AncFollowupRegisterProvider.java | 26 ++++++++++ .../src/main/res/menu/anc_bottom_nav_menu.xml | 17 +++++++ .../src/nacp/res/values-sw/strings.xml | 1 + opensrp-chw/src/nacp/res/values/strings.xml | 1 + 6 files changed, 128 insertions(+), 7 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncFollowupRegisterFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/provider/AncFollowupRegisterProvider.java create mode 100644 opensrp-chw/src/main/res/menu/anc_bottom_nav_menu.xml diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java index c5b785a0e7..dd9c9acde9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java @@ -1,26 +1,34 @@ package org.smartregister.chw.activity; +import static org.smartregister.chw.core.utils.CoreConstants.EventType.ANC_REGISTRATION; + import android.app.Activity; import android.content.Intent; +import android.view.MenuItem; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; + +import com.google.android.material.bottomnavigation.BottomNavigationView; import org.json.JSONObject; import org.smartregister.chw.R; import org.smartregister.chw.anc.util.Constants; import org.smartregister.chw.core.activity.CoreAncRegisterActivity; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.fragment.AncFollowupRegisterFragment; import org.smartregister.chw.fragment.AncRegisterFragment; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; import org.smartregister.helper.BottomNavigationHelper; import org.smartregister.job.SyncServiceJob; +import org.smartregister.listener.BottomNavigationListener; import org.smartregister.view.fragment.BaseRegisterFragment; import java.util.Date; import timber.log.Timber; -import static org.smartregister.chw.core.utils.CoreConstants.EventType.ANC_REGISTRATION; - -public class AncRegisterActivity extends CoreAncRegisterActivity { +public class AncRegisterActivity extends CoreAncRegisterActivity implements BottomNavigationView.OnNavigationItemSelectedListener { public static void startAncRegistrationActivity(Activity activity, String memberBaseEntityID, String phoneNumber, String formName, String uniqueId, String familyBaseID, String family_name) { @@ -46,11 +54,12 @@ public Class getRegisterActivity(String register) { @Override protected void registerBottomNavigation() { - super.registerBottomNavigation(); bottomNavigationHelper = new BottomNavigationHelper(); bottomNavigationView = findViewById(R.id.bottom_navigation); - FamilyRegisterActivity.registerBottomNavigation(bottomNavigationHelper, bottomNavigationView, this); - bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_register); + bottomNavigationView.getMenu().clear(); + + bottomNavigationView.inflateMenu(R.menu.anc_bottom_nav_menu); + bottomNavigationView.setOnNavigationItemSelectedListener(this); } @Override @@ -60,11 +69,18 @@ protected BaseRegisterFragment getRegisterFragment() { @Override public void switchToBaseFragment() { - Intent intent = new Intent(this, FamilyRegisterActivity.class); + Intent intent = new Intent(this, AncRegisterActivity.class); startActivity(intent); this.finish(); } + @Override + protected Fragment[] getOtherFragments() { + return new AncFollowupRegisterFragment[]{ + new AncFollowupRegisterFragment()}; + } + + protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == Activity.RESULT_OK && requestCode == Constants.REQUEST_CODE_GET_JSON) { @@ -88,4 +104,16 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { finish(); } } + + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { + if(menuItem.getItemId() == R.id.action_anc){ + switchToFragment(0); + return true; + } else if (menuItem.getItemId() == R.id.action_received_referrals){ + switchToFragment(1); + return true; + } + return false; + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncFollowupRegisterFragment.java new file mode 100644 index 0000000000..f42374ad3d --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncFollowupRegisterFragment.java @@ -0,0 +1,48 @@ +package org.smartregister.chw.fragment; + +import android.app.Activity; + +import org.smartregister.chw.activity.AncHomeVisitActivity; +import org.smartregister.chw.activity.AncMemberProfileActivity; +import org.smartregister.chw.core.fragment.CoreAncRegisterFragment; +import org.smartregister.chw.core.provider.ChwAncRegisterProvider; +import org.smartregister.chw.model.AncRegisterFragmentModel; +import org.smartregister.chw.presenter.ChwAncRegisterFragmentPresenter; +import org.smartregister.chw.provider.AncFollowupRegisterProvider; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.configurableviews.model.View; +import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; + +import java.util.Set; + +public class AncFollowupRegisterFragment extends CoreAncRegisterFragment { + @Override + public void initializeAdapter(Set visibleColumns) { + ChwAncRegisterProvider provider = new AncFollowupRegisterProvider(getActivity(), commonRepository(), visibleColumns, registerActionHandler, paginationViewHandler); + clientAdapter = new RecyclerViewPaginatedAdapter(null, provider, context().commonrepository(this.tablename)); + clientAdapter.setCurrentlimit(20); + clientsView.setAdapter(clientAdapter); + } + + @Override + protected void initializePresenter() { + if (getActivity() == null) { + return; + } + presenter = new ChwAncRegisterFragmentPresenter(this, new AncRegisterFragmentModel(), null); + } + + @Override + protected void openProfile(CommonPersonObjectClient client) { + AncMemberProfileActivity.startMe(getActivity(), client.getCaseId()); + } + + @Override + protected void openHomeVisit(CommonPersonObjectClient client) { + Activity activity = getActivity(); + if (activity == null) + return; + + AncHomeVisitActivity.startMe(activity, client.getCaseId(), false); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/AncFollowupRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/AncFollowupRegisterProvider.java new file mode 100644 index 0000000000..192231aa9b --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/AncFollowupRegisterProvider.java @@ -0,0 +1,26 @@ +package org.smartregister.chw.provider; + +import android.content.Context; +import android.database.Cursor; +import android.view.View; + +import org.smartregister.chw.anc.provider.AncRegisterProvider; +import org.smartregister.chw.core.provider.ChwAncRegisterProvider; +import org.smartregister.commonregistry.CommonRepository; +import org.smartregister.view.contract.SmartRegisterClient; + +import java.util.Set; + +public class AncFollowupRegisterProvider extends ChwAncRegisterProvider { + + + public AncFollowupRegisterProvider(Context context, CommonRepository commonRepository, Set visibleColumns, View.OnClickListener onClickListener, View.OnClickListener paginationClickListener) { + super(context, commonRepository, visibleColumns, onClickListener, paginationClickListener); + } + + @Override + public void getView(Cursor cursor, SmartRegisterClient client, AncRegisterProvider.RegisterViewHolder viewHolder) { + super.getView(cursor, client, viewHolder); + viewHolder.dueWrapper.setVisibility(View.GONE); + } +} diff --git a/opensrp-chw/src/main/res/menu/anc_bottom_nav_menu.xml b/opensrp-chw/src/main/res/menu/anc_bottom_nav_menu.xml new file mode 100644 index 0000000000..a514129655 --- /dev/null +++ b/opensrp-chw/src/main/res/menu/anc_bottom_nav_menu.xml @@ -0,0 +1,17 @@ + +

    ]]> Hiari + Partner Followup \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 39bb0ec900..58a28d5da9 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -21,4 +21,5 @@ CBHS Clients Any Changes You Made Will Be Discarded Independent + Partner Followup \ No newline at end of file From cad6e01e4deed856e71a4f552cbdea265a285e4e Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 2 Mar 2022 12:55:20 +0300 Subject: [PATCH 279/915] implemented:ec_anc_partner community followup referral table --- .../nacp/assets/ec_client_classification.json | 7 +++ .../src/nacp/assets/ec_client_fields.json | 50 +++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index 424e6c3cf6..fdaa41f0f5 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -458,6 +458,13 @@ "closes_case": [ "ec_anc_register" ] + }, + { + "field":"eventType", + "field_value": "ANC Partner Community Followup Referral", + "closes_case": [ + "ec_anc_partner_community_followup" + ] } ] } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 12391f384e..43d79b69cb 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -765,6 +765,56 @@ } ] }, + { + "name": "ec_anc_partner_community_followup", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment_hiv_community_followup" + } + }, + { + "column_name": "anc_partner_community_referral_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "anc_partner_community_referral_date" + } + } + ] + }, { "name": "ec_anc_log", "columns": [ From 17db5917c7fdda1527edd77bcbe9d85d56662c13 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 2 Mar 2022 14:48:17 +0300 Subject: [PATCH 280/915] fix:processing of anc partner community referrals into ec_client_fields --- opensrp-chw/src/nacp/assets/ec_client_classification.json | 2 +- opensrp-chw/src/nacp/assets/ec_client_fields.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index fdaa41f0f5..97ecdad090 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -462,7 +462,7 @@ { "field":"eventType", "field_value": "ANC Partner Community Followup Referral", - "closes_case": [ + "creates_case": [ "ec_anc_partner_community_followup" ] } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 43d79b69cb..8394230727 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -802,7 +802,7 @@ "type": "Event", "json_mapping": { "field": "obs.formSubmissionField", - "concept": "comment_hiv_community_followup" + "concept": "anc_partner_followup_comment" } }, { From 8c23e175cf781e08fab8decbd224edde4a375de3 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 2 Mar 2022 15:06:54 +0300 Subject: [PATCH 281/915] Code refactoring --- .../smartregister/chw/activity/AncRegisterActivity.java | 7 +++---- ...agment.java => AncPartnerFollowupRegisterFragment.java} | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) rename opensrp-chw/src/main/java/org/smartregister/chw/fragment/{AncFollowupRegisterFragment.java => AncPartnerFollowupRegisterFragment.java} (95%) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java index dd9c9acde9..efe85865cf 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java @@ -16,12 +16,11 @@ import org.smartregister.chw.anc.util.Constants; import org.smartregister.chw.core.activity.CoreAncRegisterActivity; import org.smartregister.chw.core.utils.CoreConstants; -import org.smartregister.chw.fragment.AncFollowupRegisterFragment; +import org.smartregister.chw.fragment.AncPartnerFollowupRegisterFragment; import org.smartregister.chw.fragment.AncRegisterFragment; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; import org.smartregister.helper.BottomNavigationHelper; import org.smartregister.job.SyncServiceJob; -import org.smartregister.listener.BottomNavigationListener; import org.smartregister.view.fragment.BaseRegisterFragment; import java.util.Date; @@ -76,8 +75,8 @@ public void switchToBaseFragment() { @Override protected Fragment[] getOtherFragments() { - return new AncFollowupRegisterFragment[]{ - new AncFollowupRegisterFragment()}; + return new AncPartnerFollowupRegisterFragment[]{ + new AncPartnerFollowupRegisterFragment()}; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java similarity index 95% rename from opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncFollowupRegisterFragment.java rename to opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java index f42374ad3d..b6b5cc5a24 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java @@ -15,7 +15,7 @@ import java.util.Set; -public class AncFollowupRegisterFragment extends CoreAncRegisterFragment { +public class AncPartnerFollowupRegisterFragment extends CoreAncRegisterFragment { @Override public void initializeAdapter(Set visibleColumns) { ChwAncRegisterProvider provider = new AncFollowupRegisterProvider(getActivity(), commonRepository(), visibleColumns, registerActionHandler, paginationViewHandler); From e052db530eebbe70f2622905557bb8967227d442 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 2 Mar 2022 16:47:26 +0300 Subject: [PATCH 282/915] refactored:listing of referred partners referrals --- .../AncPartnerFollowupRegisterFragment.java | 43 ++++++++++++- ...cPartnerFollowupRegisterFragmentModel.java | 60 +++++++++++++++++++ ...tnerFollowupRegisterFragmentPresenter.java | 30 ++++++++++ 3 files changed, 130 insertions(+), 3 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/AncPartnerFollowupRegisterFragmentModel.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java index b6b5cc5a24..6c09f66f23 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java @@ -1,13 +1,17 @@ package org.smartregister.chw.fragment; import android.app.Activity; +import android.database.Cursor; +import org.apache.commons.lang3.StringUtils; import org.smartregister.chw.activity.AncHomeVisitActivity; import org.smartregister.chw.activity.AncMemberProfileActivity; +import org.smartregister.chw.anc.util.DBConstants; import org.smartregister.chw.core.fragment.CoreAncRegisterFragment; import org.smartregister.chw.core.provider.ChwAncRegisterProvider; -import org.smartregister.chw.model.AncRegisterFragmentModel; -import org.smartregister.chw.presenter.ChwAncRegisterFragmentPresenter; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.model.AncPartnerFollowupRegisterFragmentModel; +import org.smartregister.chw.presenter.ChwAncPartnerFollowupRegisterFragmentPresenter; import org.smartregister.chw.provider.AncFollowupRegisterProvider; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.configurableviews.model.View; @@ -15,6 +19,8 @@ import java.util.Set; +import timber.log.Timber; + public class AncPartnerFollowupRegisterFragment extends CoreAncRegisterFragment { @Override public void initializeAdapter(Set visibleColumns) { @@ -29,7 +35,7 @@ protected void initializePresenter() { if (getActivity() == null) { return; } - presenter = new ChwAncRegisterFragmentPresenter(this, new AncRegisterFragmentModel(), null); + presenter = new ChwAncPartnerFollowupRegisterFragmentPresenter(this, new AncPartnerFollowupRegisterFragmentModel(), null); } @Override @@ -45,4 +51,35 @@ protected void openHomeVisit(CommonPersonObjectClient client) { AncHomeVisitActivity.startMe(activity, client.getCaseId(), false); } + + @Override + public void countExecute() { + Cursor cursor = null; + try { + + String query = "select count(*) from " + presenter().getMainTable() + + " inner join " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + " on " + presenter().getMainTable() + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + + " inner join " + CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP + " on " + presenter().getMainTable() + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP + ".entity_id" + + " where " + presenter().getMainCondition(); + + if (StringUtils.isNotBlank(filters)) + query = query + getFilterString(); + + cursor = commonRepository().rawCustomQueryForAdapter(query); + cursor.moveToFirst(); + clientAdapter.setTotalcount(cursor.getInt(0)); + Timber.v("total count here %d", clientAdapter.getTotalcount()); + + clientAdapter.setCurrentlimit(20); + clientAdapter.setCurrentoffset(0); + + + } catch (Exception e) { + Timber.e(e); + } finally { + if (cursor != null) { + cursor.close(); + } + } + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/AncPartnerFollowupRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/AncPartnerFollowupRegisterFragmentModel.java new file mode 100644 index 0000000000..e33ce26b49 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/AncPartnerFollowupRegisterFragmentModel.java @@ -0,0 +1,60 @@ +package org.smartregister.chw.model; + +import org.smartregister.chw.core.model.CoreAncRegisterFragmentModel; +import org.smartregister.chw.core.utils.ChildDBConstants; +import org.smartregister.chw.core.utils.ChwDBConstants; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.family.util.DBConstants; + +import java.util.HashSet; +import java.util.Set; + +public class AncPartnerFollowupRegisterFragmentModel extends CoreAncRegisterFragmentModel { + + public AncPartnerFollowupRegisterFragmentModel() { + setFlavor(new AncRegisterFragmentModelFlv()); + } + + @Override + protected String[] mainColumns(String tableName) { + Set columnList = new HashSet<>(); + + columnList.add(tableName + "." + DBConstants.KEY.LAST_INTERACTED_WITH); + columnList.add(tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); + columnList.add(tableName + "." + ChwDBConstants.LMP); + columnList.add(CoreConstants.TABLE_NAME.ANC_MEMBER_LOG + "." + org.smartregister.chw.anc.util.DBConstants.KEY.DATE_CREATED); + columnList.add(tableName + "." + org.smartregister.chw.anc.util.DBConstants.KEY.CONFIRMED_VISITS); + columnList.add(tableName + "." + org.smartregister.chw.anc.util.DBConstants.KEY.LAST_HOME_VISIT); + columnList.add(tableName + "." + ChwDBConstants.VISIT_NOT_DONE); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); + columnList.add(tableName + "." + org.smartregister.chw.anc.util.DBConstants.KEY.LAST_MENSTRUAL_PERIOD); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.FIRST_NAME); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.LAST_NAME); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DOB); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); + columnList.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER); + columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); + + columnList.addAll(getFlavor().mainColumns(tableName)); + + return columnList.toArray(new String[0]); + } + + @Override + public String mainSelect(String tableName, String mainCondition) { + SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); + queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.ANC_MEMBER_LOG + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.ANC_MEMBER_LOG + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); + queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.FAMILY + " ON " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); + queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP + ".entity_id" + " COLLATE NOCASE "); + queryBuilder.customJoin("LEFT JOIN (select base_entity_id , max(visit_date) visit_date from visits GROUP by base_entity_id) VISIT_SUMMARY ON VISIT_SUMMARY.base_entity_id = " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); + return queryBuilder.mainCondition(mainCondition); + } + +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java new file mode 100644 index 0000000000..59de112dd1 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java @@ -0,0 +1,30 @@ +package org.smartregister.chw.presenter; + +import org.smartregister.chw.anc.contract.BaseAncRegisterFragmentContract; +import org.smartregister.chw.anc.util.DBConstants; +import org.smartregister.chw.core.presenter.AncRegisterFragmentPresenter; +import org.smartregister.chw.core.utils.CoreConstants; + +public class ChwAncPartnerFollowupRegisterFragmentPresenter extends AncRegisterFragmentPresenter { + + public ChwAncPartnerFollowupRegisterFragmentPresenter(BaseAncRegisterFragmentContract.View view, BaseAncRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { + super(view, model, viewConfigurationIdentifier); + } + + @Override + public String getDefaultSortQuery() { + return " MAX(ec_anc_register.last_interacted_with , ifnull(VISIT_SUMMARY.visit_date,0)) DESC "; + } + + + @Override + public String getMainCondition() { + return " " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DATE_REMOVED + " is null " + + "AND " + CoreConstants.TABLE_NAME.ANC_MEMBER + "." + DBConstants.KEY.IS_CLOSED + " is 0 "; + } + + @Override + public String getMainTable() { + return CoreConstants.TABLE_NAME.ANC_MEMBER; + } +} From 54770b1508881329548f8ca1505ac360bb4520da Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 3 Mar 2022 09:57:13 +0300 Subject: [PATCH 283/915] added record partner followup feedback --- opensrp-chw/src/main/AndroidManifest.xml | 3 + ...artnerFollowupReferralProfileActivity.java | 437 ++++++++++++++++++ .../AncPartnerFollowupRegisterFragment.java | 4 +- .../src/main/res/values-sw/strings.xml | 1 + opensrp-chw/src/main/res/values/strings.xml | 1 + 5 files changed, 444 insertions(+), 2 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index b3a195e9fb..e6836c894f 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -29,6 +29,9 @@ + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java new file mode 100644 index 0000000000..485ff8541a --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -0,0 +1,437 @@ +package org.smartregister.chw.activity; + +import static android.view.View.GONE; +import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + +import android.app.Activity; +import android.content.ContentValues; +import android.content.Intent; +import android.os.Bundle; +import android.util.Pair; +import android.view.Gravity; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.LinearLayout; + +import com.vijay.jsonwizard.utils.FormUtils; + +import org.apache.commons.lang3.StringUtils; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.anc.domain.MemberObject; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.util.Constants; +import org.smartregister.chw.anc.util.DBConstants; +import org.smartregister.chw.anc.util.NCUtils; +import org.smartregister.chw.application.ChwApplication; +import org.smartregister.chw.contract.AncMemberProfileContract; +import org.smartregister.chw.core.activity.CoreAncMemberProfileActivity; +import org.smartregister.chw.core.adapter.NotificationListAdapter; +import org.smartregister.chw.core.application.CoreChwApplication; +import org.smartregister.chw.core.form_data.NativeFormsDataBinder; +import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.utils.ChwNotificationUtil; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.CoreJsonFormUtils; +import org.smartregister.chw.custom_view.AncFloatingMenu; +import org.smartregister.chw.dataloader.AncMemberDataLoader; +import org.smartregister.chw.dataloader.FamilyMemberDataLoader; +import org.smartregister.chw.interactor.AncMemberProfileInteractor; +import org.smartregister.chw.model.FamilyProfileModel; +import org.smartregister.chw.model.ReferralTypeModel; +import org.smartregister.chw.presenter.AncMemberProfilePresenter; +import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; +import org.smartregister.chw.util.UtilsFlv; +import org.smartregister.clientandeventmodel.Event; +import org.smartregister.commonregistry.AllCommonsRepository; +import org.smartregister.commonregistry.CommonPersonObject; +import org.smartregister.commonregistry.CommonRepository; +import org.smartregister.domain.AlertStatus; +import org.smartregister.domain.Task; +import org.smartregister.family.domain.FamilyEventClient; +import org.smartregister.family.interactor.FamilyProfileInteractor; +import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.family.util.Utils; +import org.smartregister.repository.AllSharedPreferences; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Set; + +import io.reactivex.Observable; +import io.reactivex.Observer; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; +import timber.log.Timber; + +public class AncPartnerFollowupReferralProfileActivity extends CoreAncMemberProfileActivity implements AncMemberProfileContract.View { + + private List referralTypeModels = new ArrayList<>(); + private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); + + public static void startMe(Activity activity, String baseEntityID) { + Intent intent = new Intent(activity, AncPartnerFollowupReferralProfileActivity.class); + passToolbarTitle(activity, intent); + intent.putExtra(Constants.ANC_MEMBER_OBJECTS.BASE_ENTITY_ID, baseEntityID); + activity.startActivity(intent); + } + + private void checkPhoneNumberProvided() { + ((AncFloatingMenu) baseAncFloatingMenu).redraw(!StringUtils.isBlank(memberObject.getPhoneNumber()) + || !StringUtils.isBlank(getFamilyHeadPhoneNumber())); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + notificationAndReferralRecyclerView.setAdapter(notificationListAdapter); + notificationListAdapter.setOnClickListener(this); + } + + @Override + public void setupViews() { + super.setupViews(); + layoutRecordView.setVisibility(View.VISIBLE); + textViewAncVisitNot.setVisibility(GONE); + tvEdit.setVisibility(View.GONE); + textview_record_visit.setText(R.string.record_followup_feedback); + textview_record_visit.setOnClickListener(view -> { + JSONObject formJsonObject = null; + try { + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getAncPartnerCommunityFollowupReferral()); + startFormActivity(formJsonObject); + } catch (JSONException e) { + e.printStackTrace(); + } + }); + } + + @Override + protected void onResume() { + super.onResume(); + notificationListAdapter.canOpen = true; + ChwNotificationUtil.retrieveNotifications(ChwApplication.getApplicationFlavor().hasReferrals(), + memberObject.getBaseEntityId(), this); + } + + @Override + protected void onCreation() { + super.onCreation(); + } + + @Override + public void initializeFloatingMenu() { + baseAncFloatingMenu = new AncFloatingMenu(this, getAncWomanName(), + memberObject.getPhoneNumber(), getFamilyHeadName(), getFamilyHeadPhoneNumber(), getProfileType()); + + baseAncFloatingMenu.findViewById(R.id.refer_to_facility_layout).setVisibility(GONE); + + OnClickFloatingMenu onClickFloatingMenu = viewId -> { + switch (viewId) { + case R.id.anc_fab: + checkPhoneNumberProvided(); + ((AncFloatingMenu) baseAncFloatingMenu).animateFAB(); + break; + case R.id.call_layout: + ((AncFloatingMenu) baseAncFloatingMenu).launchCallWidget(); + ((AncFloatingMenu) baseAncFloatingMenu).animateFAB(); + break; + case R.id.refer_to_facility_layout: + ((AncMemberProfilePresenter) ancMemberProfilePresenter()).referToFacility(); + ((AncFloatingMenu) baseAncFloatingMenu).animateFAB(); + break; + default: + Timber.d("Unknown fab action"); + break; + } + + }; + + ((AncFloatingMenu) baseAncFloatingMenu).setFloatMenuClickListener(onClickFloatingMenu); + baseAncFloatingMenu.setGravity(Gravity.BOTTOM | Gravity.END); + LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.MATCH_PARENT); + addContentView(baseAncFloatingMenu, linearLayoutParams); + } + + @Override + protected void onResumption() { + super.onResumption(); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int itemId = item.getItemId(); + if (itemId == R.id.action_cbhs_registration) { + CommonRepository commonRepository = Utils.context().commonrepository(Utils.metadata().familyMemberRegister.tableName); + + final CommonPersonObject commonPersonObject = commonRepository.findByBaseEntityId(memberObject.getBaseEntityId()); + startCBHSRegister(commonPersonObject); + return true; + } + return super.onOptionsItemSelected(item); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + super.onCreateOptionsMenu(menu); + menu.findItem(R.id.anc_danger_signs_outcome).setVisible(false); + menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); + menu.findItem(R.id.action_pregnancy_out_come).setVisible(false); + menu.findItem(R.id.action_anc_registration).setVisible(false); + menu.findItem(R.id.action_remove_member).setVisible(false); + menu.findItem(R.id.action_cbhs_registration).setVisible(false); + UtilsFlv.updateHivMenuItems(baseEntityID, menu); + return true; + } + + @Override // to chw + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode != RESULT_OK) return; + + if (requestCode == JsonFormUtils.REQUEST_CODE_GET_JSON) { + try { + String jsonString = data.getStringExtra(org.smartregister.family.util.Constants.JSON_FORM_EXTRA.JSON); + JSONObject form = new JSONObject(jsonString); + if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(Utils.metadata().familyMemberRegister.updateEventType)) { + FamilyEventClient familyEventClient = + new FamilyProfileModel(memberObject.getFamilyName()).processUpdateMemberRegistration(jsonString, memberObject.getBaseEntityId()); + new FamilyProfileInteractor().saveRegistration(familyEventClient, jsonString, true, ancMemberProfilePresenter()); + } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(CoreConstants.EventType.UPDATE_ANC_REGISTRATION)) { + AllSharedPreferences allSharedPreferences = org.smartregister.util.Utils.getAllSharedPreferences(); + Event baseEvent = org.smartregister.chw.anc.util.JsonFormUtils.processJsonForm(allSharedPreferences, jsonString, Constants.TABLES.ANC_MEMBERS); + NCUtils.processEvent(baseEvent.getBaseEntityId(), new JSONObject(org.smartregister.chw.anc.util.JsonFormUtils.gson.toJson(baseEvent))); + AllCommonsRepository commonsRepository = CoreChwApplication.getInstance().getAllCommonsRepository(CoreConstants.TABLE_NAME.ANC_MEMBER); + + JSONArray field = org.smartregister.util.JsonFormUtils.fields(form); + JSONObject phoneNumberObject = org.smartregister.util.JsonFormUtils.getFieldJSONObject(field, DBConstants.KEY.PHONE_NUMBER); + String phoneNumber = phoneNumberObject.getString(CoreJsonFormUtils.VALUE); + String baseEntityId = baseEvent.getBaseEntityId(); + if (commonsRepository != null) { + ContentValues values = new ContentValues(); + values.put(DBConstants.KEY.PHONE_NUMBER, phoneNumber); + CoreChwApplication.getInstance().getRepository().getWritableDatabase().update(CoreConstants.TABLE_NAME.ANC_MEMBER, values, DBConstants.KEY.BASE_ENTITY_ID + " = ? ", new String[]{baseEntityId}); + } + + } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(CoreConstants.EventType.ANC_REFERRAL)) { + ancMemberProfilePresenter().createReferralEvent(Utils.getAllSharedPreferences(), jsonString); + showToast(this.getString(R.string.referral_submitted)); + } + + } catch (Exception e) { + Timber.e(e, "AncMemberProfileActivity -- > onActivityResult"); + } + } else if (requestCode == Constants.REQUEST_CODE_HOME_VISIT) { + refreshViewOnHomeVisitResult(); + } else if (requestCode == CoreConstants.ProfileActivityResults.CHANGE_COMPLETED) { + ChwScheduleTaskExecutor.getInstance().execute(memberObject.getBaseEntityId(), CoreConstants.EventType.ANC_HOME_VISIT, new Date()); + finish(); + } + } + + @Override + public void startFormForEdit(Integer title_resource, String formName) { + try { + JSONObject form = null; + boolean isPrimaryCareGiver = memberObject.getPrimaryCareGiver().equals(memberObject.getBaseEntityId()); + String titleString = title_resource != null ? getResources().getString(title_resource) : null; + + if (formName.equals(CoreConstants.JSON_FORM.getAncRegistration())) { + + NativeFormsDataBinder binder = new NativeFormsDataBinder(this, memberObject.getBaseEntityId()); + binder.setDataLoader(new AncMemberDataLoader(titleString)); + form = binder.getPrePopulatedForm(formName); + if (form != null) { + form.put(JsonFormUtils.ENCOUNTER_TYPE, CoreConstants.EventType.UPDATE_ANC_REGISTRATION); + } + + } else if (formName.equals(CoreConstants.JSON_FORM.getFamilyMemberRegister())) { + + String eventName = org.smartregister.chw.util.Utils.metadata().familyMemberRegister.updateEventType; + + NativeFormsDataBinder binder = new NativeFormsDataBinder(this, memberObject.getBaseEntityId()); + binder.setDataLoader(new FamilyMemberDataLoader(memberObject.getFamilyName(), isPrimaryCareGiver, titleString, eventName, memberObject.getChwMemberId())); + + form = binder.getPrePopulatedForm(CoreConstants.JSON_FORM.getFamilyMemberRegister()); + } + + startActivityForResult(org.smartregister.chw.util.JsonFormUtils.getAncPncStartFormIntent(form, this), JsonFormUtils.REQUEST_CODE_GET_JSON); + } catch (Exception e) { + Timber.e(e); + } + } + + @Override + protected void registerPresenter() { + presenter = new AncMemberProfilePresenter(this, new AncMemberProfileInteractor(this), memberObject); + } + + @Override + public boolean usesPregnancyRiskProfileLayout() { + return false; + } + + public void openMedicalHistory() { + AncMedicalHistoryActivity.startMe(this, memberObject); + } + + @Override + public void openUpcomingService() { + AncUpcomingServicesActivity.startMe(this, memberObject); + } + + @Override + public void openFamilyDueServices() { + Intent intent = new Intent(this, FamilyProfileActivity.class); + + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_BASE_ENTITY_ID, memberObject.getFamilyBaseEntityId()); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_HEAD, memberObject.getFamilyHead()); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.PRIMARY_CAREGIVER, memberObject.getPrimaryCareGiver()); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_NAME, memberObject.getFamilyName()); + + intent.putExtra(CoreConstants.INTENT_KEY.SERVICE_DUE, hasDueServices); + startActivity(intent); + } + + @Override + public void setFamilyLocation() { + if (ChwApplication.getApplicationFlavor().flvSetFamilyLocation()) { + view_family_location_row.setVisibility(View.VISIBLE); + rlFamilyLocation.setVisibility(View.VISIBLE); + } + } + + protected String getMemberGPS() { + return memberObject.getGps(); + } + + @Override + public void onClick(View view) { + super.onClick(view); + int id = view.getId(); + if (id == R.id.textview_record_visit || id == R.id.textview_record_reccuring_visit) { + AncHomeVisitActivity.startMe(this, memberObject.getBaseEntityId(), false); + } else if (id == R.id.textview_edit) { + AncHomeVisitActivity.startMe(this, memberObject.getBaseEntityId(), true); + } + handleNotificationRowClick(this, view, notificationListAdapter, memberObject.getBaseEntityId()); + } + + @Override + public void setClientTasks(Set taskList) { + //overridden + } + + @Override + public void onMemberDetailsReloaded(MemberObject memberObject) { + this.memberObject = memberObject; + super.onMemberDetailsReloaded(memberObject); + } + + private void refreshViewOnHomeVisitResult() { + Observable observable = Observable.create(visitObservableEmitter -> { + Visit lastVisit = getVisit(CoreConstants.EventType.ANC_HOME_VISIT); + visitObservableEmitter.onNext(lastVisit); + visitObservableEmitter.onComplete(); + }); + + final Disposable[] disposable = new Disposable[1]; + observable.subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + disposable[0] = d; + } + + @Override + public void onNext(Visit visit) { + displayView(); + setLastVisit(visit.getDate()); + onMemberDetailsReloaded(memberObject); + } + + @Override + public void onError(Throwable e) { + Timber.e(e); + } + + @Override + public void onComplete() { + disposable[0].dispose(); + disposable[0] = null; + } + }); + } + + @Override + public void startFormActivity(JSONObject formJson) { + startActivityForResult(CoreJsonFormUtils.getJsonIntent(this, formJson, Utils.metadata().familyMemberFormActivity), + JsonFormUtils.REQUEST_CODE_GET_JSON); + } + + + protected void startCBHSRegister(CommonPersonObject commonPersonObject) { + String gender = org.smartregister.chw.util.Utils.getValue(commonPersonObject.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); + String formName; + if (gender.equalsIgnoreCase("male")) { + formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); + } else { + formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); + } + + try { + HivRegisterActivity.startHIVFormActivity(AncPartnerFollowupReferralProfileActivity.this, baseEntityID, formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public void openFamilyLocation() { + Intent intent = new Intent(this, AncMemberMapActivity.class); + this.startActivity(intent); + } + + + @Override + public List getReferralTypeModels() { + return referralTypeModels; + } + + @Override + public void onReceivedNotifications(List> notifications) { + handleReceivedNotifications(this, notifications, notificationListAdapter); + } + + public interface Flavor { + Boolean hasFamilyLocationRow(); + + Boolean hasEmergencyTransport(); + } + + @Override + public void setUpComingServicesStatus(String service, AlertStatus status, Date date) { + this.rlUpcomingServices.setVisibility(GONE); + } + + @Override + public void setFamilyStatus(AlertStatus status) { + this.rlFamilyServicesDue.setVisibility(GONE); + } + + @Override + protected void displayView() { + layoutRecordView.setVisibility(View.VISIBLE); + textViewAncVisitNot.setVisibility(GONE); + tvEdit.setVisibility(View.GONE); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java index 6c09f66f23..e57cd6a744 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java @@ -5,7 +5,7 @@ import org.apache.commons.lang3.StringUtils; import org.smartregister.chw.activity.AncHomeVisitActivity; -import org.smartregister.chw.activity.AncMemberProfileActivity; +import org.smartregister.chw.activity.AncPartnerFollowupReferralProfileActivity; import org.smartregister.chw.anc.util.DBConstants; import org.smartregister.chw.core.fragment.CoreAncRegisterFragment; import org.smartregister.chw.core.provider.ChwAncRegisterProvider; @@ -40,7 +40,7 @@ protected void initializePresenter() { @Override protected void openProfile(CommonPersonObjectClient client) { - AncMemberProfileActivity.startMe(getActivity(), client.getCaseId()); + AncPartnerFollowupReferralProfileActivity.startMe(getActivity(), client.getCaseId()); } @Override diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index c551e7674b..cc07d0fc8f 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -420,4 +420,5 @@ Hapana Nzuri Mbaya + Record Followup Feedback diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 7ab90140af..98220f89b6 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -421,6 +421,7 @@ Cancel Referral? Referral will be closed and disappear from app. Exit + Record Followup Feedback From 998be2ee8619a6028aec35747f79e391bac84982 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 3 Mar 2022 10:11:27 +0300 Subject: [PATCH 284/915] code refactoring --- ...artnerFollowupReferralProfileActivity.java | 36 ++++--------------- 1 file changed, 6 insertions(+), 30 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index 485ff8541a..e44a5f9534 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -274,31 +274,19 @@ protected void registerPresenter() { presenter = new AncMemberProfilePresenter(this, new AncMemberProfileInteractor(this), memberObject); } - @Override - public boolean usesPregnancyRiskProfileLayout() { - return false; - } - - public void openMedicalHistory() { - AncMedicalHistoryActivity.startMe(this, memberObject); - } - @Override public void openUpcomingService() { - AncUpcomingServicesActivity.startMe(this, memberObject); + Timber.i("openUpcomingService"); } @Override public void openFamilyDueServices() { - Intent intent = new Intent(this, FamilyProfileActivity.class); - - intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_BASE_ENTITY_ID, memberObject.getFamilyBaseEntityId()); - intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_HEAD, memberObject.getFamilyHead()); - intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.PRIMARY_CAREGIVER, memberObject.getPrimaryCareGiver()); - intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_NAME, memberObject.getFamilyName()); + Timber.i("openFamilyDueServices"); + } - intent.putExtra(CoreConstants.INTENT_KEY.SERVICE_DUE, hasDueServices); - startActivity(intent); + @Override + public boolean usesPregnancyRiskProfileLayout() { + return false; } @Override @@ -412,12 +400,6 @@ public void onReceivedNotifications(List> notifications) { handleReceivedNotifications(this, notifications, notificationListAdapter); } - public interface Flavor { - Boolean hasFamilyLocationRow(); - - Boolean hasEmergencyTransport(); - } - @Override public void setUpComingServicesStatus(String service, AlertStatus status, Date date) { this.rlUpcomingServices.setVisibility(GONE); @@ -428,10 +410,4 @@ public void setFamilyStatus(AlertStatus status) { this.rlFamilyServicesDue.setVisibility(GONE); } - @Override - protected void displayView() { - layoutRecordView.setVisibility(View.VISIBLE); - textViewAncVisitNot.setVisibility(GONE); - tvEdit.setVisibility(View.GONE); - } } From 30c9fabfa961af96fd8ad610938582b792c8d8d2 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 3 Mar 2022 12:51:38 +0300 Subject: [PATCH 285/915] Created partner followup feedback form --- ...c_partner_community_followup_referral.json | 247 ++++++++++++++++++ ...c_partner_community_followup_referral.json | 247 ++++++++++++++++++ 2 files changed, 494 insertions(+) create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_referral.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_referral.json diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_referral.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_referral.json new file mode 100644 index 0000000000..f8269d85d3 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_referral.json @@ -0,0 +1,247 @@ +{ + "count": "1", + "encounter_type": "ANC Partner Community Followup Feedback", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Partner Followup Feedback", + "fields": [ + { + "key": "is_partner_found", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "is_partner_found", + "type": "native_radio", + "label": "Was the client's partner found?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "yes", + "text": "Yes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an option" + } + }, + { + "key": "partner_agree_attending_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "partner_agree_attending_hf", + "type": "native_radio", + "label": "Did the partner agree to attend the HF?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "yes", + "text": "Yes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an option" + }, + "relevance": { + "step1:is_partner_found": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "register_to_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Register the client to HF", + "toaster_type": "info", + "relevance": { + "step1:partner_agree_attending_hf": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "reason_for_not_attending_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reason_for_not_attending_hf", + "type": "check_box", + "label": "Reason(s) why the partner did not agree to attend the HF", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "chk_negative_attitude", + "text": "Negative attitudes towards ANC services-Men think clinics are for women", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_negative_attitude" + }, + { + "key": "chk_fear_hiv_test", + "text": " Fear of men to be tested for HIV (most men don’t like to be tested)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_fear_hiv_test" + }, + { + "key": "chk_unattractive_env", + "text": "The environment at RCH clinics is not attractive to men e.g.,long waiting and lack of privacy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_unattractive_env" + }, + { + "key": "chk_poor_attitude", + "text": "Poor attitude from some RCH staff to men", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_poor_attitude" + }, + { + "key": "chk_cultural_beliefs", + "text": "Cultural beliefs and norms-men are not supposed to go to clinics, it is shame for a man to accompany his wife to RCH clinic", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cultural_beliefs" + }, + { + "key": "chk_fatherhood_resp", + "text": "Fear of fatherhood responsibilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_fatherhood_resp" + }, + { + "key": "chk_polygamy", + "text": "Polygamy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_polygamy" + }, + { + "key": "chk_ignorance", + "text": "Ignorance and inadequate knowledge on the importance of Male involvement to ANC service", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_ignorance" + }, + { + "key": "chk_busy", + "text": "Busy with day-to-day earnings for the family", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_busy" + }, + { + "key": "chk_other", + "text": "Others (Specify)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other" + } + ], + "v_required": { + "value": "true", + "err": "Please select a reason(s)" + }, + "relevance": { + "step1:partner_agree_attending_hf": { + "type": "string", + "ex": "equalTo(., \"no\")" + } + } + }, + { + "key": "other_reason_not_attend_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_not_attend_hf", + "type": "edit_text", + "hint": "Other reason", + "edit_type": "name", + "relevance": { + "step1:reason_for_not_attending_hf": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_referral.json b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_referral.json new file mode 100644 index 0000000000..f8269d85d3 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_referral.json @@ -0,0 +1,247 @@ +{ + "count": "1", + "encounter_type": "ANC Partner Community Followup Feedback", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Partner Followup Feedback", + "fields": [ + { + "key": "is_partner_found", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "is_partner_found", + "type": "native_radio", + "label": "Was the client's partner found?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "yes", + "text": "Yes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an option" + } + }, + { + "key": "partner_agree_attending_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "partner_agree_attending_hf", + "type": "native_radio", + "label": "Did the partner agree to attend the HF?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "yes", + "text": "Yes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an option" + }, + "relevance": { + "step1:is_partner_found": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "register_to_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Register the client to HF", + "toaster_type": "info", + "relevance": { + "step1:partner_agree_attending_hf": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "reason_for_not_attending_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reason_for_not_attending_hf", + "type": "check_box", + "label": "Reason(s) why the partner did not agree to attend the HF", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "chk_negative_attitude", + "text": "Negative attitudes towards ANC services-Men think clinics are for women", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_negative_attitude" + }, + { + "key": "chk_fear_hiv_test", + "text": " Fear of men to be tested for HIV (most men don’t like to be tested)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_fear_hiv_test" + }, + { + "key": "chk_unattractive_env", + "text": "The environment at RCH clinics is not attractive to men e.g.,long waiting and lack of privacy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_unattractive_env" + }, + { + "key": "chk_poor_attitude", + "text": "Poor attitude from some RCH staff to men", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_poor_attitude" + }, + { + "key": "chk_cultural_beliefs", + "text": "Cultural beliefs and norms-men are not supposed to go to clinics, it is shame for a man to accompany his wife to RCH clinic", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_cultural_beliefs" + }, + { + "key": "chk_fatherhood_resp", + "text": "Fear of fatherhood responsibilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_fatherhood_resp" + }, + { + "key": "chk_polygamy", + "text": "Polygamy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_polygamy" + }, + { + "key": "chk_ignorance", + "text": "Ignorance and inadequate knowledge on the importance of Male involvement to ANC service", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_ignorance" + }, + { + "key": "chk_busy", + "text": "Busy with day-to-day earnings for the family", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_busy" + }, + { + "key": "chk_other", + "text": "Others (Specify)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other" + } + ], + "v_required": { + "value": "true", + "err": "Please select a reason(s)" + }, + "relevance": { + "step1:partner_agree_attending_hf": { + "type": "string", + "ex": "equalTo(., \"no\")" + } + } + }, + { + "key": "other_reason_not_attend_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_not_attend_hf", + "type": "edit_text", + "hint": "Other reason", + "edit_type": "name", + "relevance": { + "step1:reason_for_not_attending_hf": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file From 4e3fdc09b6dd8bab5975f26d55b02788fdb3bfd0 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 3 Mar 2022 12:53:14 +0300 Subject: [PATCH 286/915] Generating event and adding data to new table --- ...artnerFollowupReferralProfileActivity.java | 6 +++ .../nacp/assets/ec_client_classification.json | 7 ++++ .../src/nacp/assets/ec_client_fields.json | 42 +++++++++++++++++++ 3 files changed, 55 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index e44a5f9534..d19270c7ed 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -224,6 +224,12 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(CoreConstants.EventType.ANC_REFERRAL)) { ancMemberProfilePresenter().createReferralEvent(Utils.getAllSharedPreferences(), jsonString); showToast(this.getString(R.string.referral_submitted)); + } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equalsIgnoreCase(CoreConstants.EventType.ANC_PARTNER_COMMUNITY_FOLLOWUP_FEEDBACK)){ + AllSharedPreferences allSharedPreferences = org.smartregister.util.Utils.getAllSharedPreferences(); + Event baseEvent = org.smartregister.chw.anc.util.JsonFormUtils.processJsonForm(allSharedPreferences, jsonString, CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP_FEEDBACK); + org.smartregister.chw.anc.util.JsonFormUtils.tagEvent(allSharedPreferences,baseEvent); + baseEvent.setBaseEntityId(baseEntityID); + NCUtils.processEvent(baseEvent.getBaseEntityId(), new JSONObject(org.smartregister.chw.anc.util.JsonFormUtils.gson.toJson(baseEvent))); } } catch (Exception e) { diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index 97ecdad090..177a34a274 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -465,6 +465,13 @@ "creates_case": [ "ec_anc_partner_community_followup" ] + }, + { + "field": "eventType", + "field_value": "ANC Partner Community Followup Feedback", + "creates_case": [ + "ec_anc_partner_community_feedback" + ] } ] } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 8394230727..906ebf9c51 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -815,6 +815,48 @@ } ] }, + { + "name": "ec_anc_partner_community_feedback", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "partner_agree_attending_hf", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "partner_agree_attending_hf" + } + } + ] + }, { "name": "ec_anc_log", "columns": [ From 1ff39830be471a92a3a8bcf016091f2bd911eab4 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 3 Mar 2022 15:51:42 +0300 Subject: [PATCH 287/915] added implementation to register partner --- opensrp-chw/src/main/AndroidManifest.xml | 33 +- .../chw/activity/AllMaleClientsActivity.java | 45 + ...artnerFollowupReferralProfileActivity.java | 11 + .../activity/PartnerRegistrationActivity.java | 350 +++++ .../AllMaleClientsRegisterFragment.java | 62 + .../ChwAllMaleClientsQueryProvider.java | 14 + .../ChwMaleClientRegisterProvider.java | 90 ++ .../chw/util/ChwQueryForMaleClients.java | 258 ++++ .../org/smartregister/chw/util/Constants.java | 17 + .../res/layout/activity_all_male_clients.xml | 71 + .../layout/activity_partner_registration.xml | 174 +++ opensrp-chw/src/main/res/values/strings.xml | 21 - .../male_partner_registration_form.json | 1318 +++++++++++++++++ .../male_partner_registration_form.json | 1317 ++++++++++++++++ .../assets/rule/male_partner_calculation.yml | 49 + .../assets/rule/male_partner_relevance.yml | 126 ++ .../src/nacp/res/values-sw/strings.xml | 1 + opensrp-chw/src/nacp/res/values/strings.xml | 7 + 18 files changed, 3922 insertions(+), 42 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/AllMaleClientsActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllMaleClientsRegisterFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwAllMaleClientsQueryProvider.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMaleClientRegisterProvider.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryForMaleClients.java create mode 100644 opensrp-chw/src/main/res/layout/activity_all_male_clients.xml create mode 100644 opensrp-chw/src/main/res/layout/activity_partner_registration.xml create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json create mode 100644 opensrp-chw/src/nacp/assets/rule/male_partner_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index e6836c894f..fd82a141bf 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -10,6 +10,14 @@ android:theme="@style/ChwTheme" android:usesCleartextTraffic="true" tools:replace="android:theme"> + + + @@ -182,7 +191,6 @@ android:name=".core.activity.ServiceJsonFormActivity" android:label="@string/stock_usage_report" android:theme="@style/ChwTheme.NoActionBar" /> - - - @@ -204,50 +210,41 @@ - - - - - - - - - @@ -255,30 +252,24 @@ android:name=".core.activity.CoreTbUpcomingServicesActivity" android:label="@string/upcoming_services" android:theme="@style/ChwTheme.NoActionBar" /> - - - - - - @@ -312,7 +303,7 @@ - + opdEventClientList = processRegistration(jsonString); + if (opdEventClientList == null || opdEventClientList.isEmpty()) { + return; + } + saveRegistration(opdEventClientList, jsonString, registerParam); + } catch (Exception e) { + Timber.e(e); + } + } + + public List processRegistration(String jsonString) { + return AllClientsUtils.getOpdEventClients(jsonString); + } + + public void saveRegistration(@NonNull List allClientEventList, @NonNull String jsonString, + @NonNull RegisterParams params) { + try { + List currentFormSubmissionIds = new ArrayList<>(); + + for (int i = 0; i < allClientEventList.size(); i++) { + try { + + OpdEventClient allClientEvent = allClientEventList.get(i); + Client baseClient = allClientEvent.getClient(); + Event baseEvent = allClientEvent.getEvent(); + addClient(params, baseClient); + addEvent(params, currentFormSubmissionIds, baseEvent); + updateOpenSRPId(jsonString, params, baseClient); + addImageLocation(jsonString, baseClient, baseEvent); + savePartnerDetails(baseEvent.getBaseEntityId(), clientBaseEntityId); + } catch (Exception e) { + Timber.e(e, "ChwAllClientRegisterInteractor --> saveRegistration"); + } + } + + long lastSyncTimeStamp = getAllSharedPreferences().fetchLastUpdatedAtDate(0); + Date lastSyncDate = new Date(lastSyncTimeStamp); + getClientProcessorForJava().processClient(getSyncHelper().getEvents(currentFormSubmissionIds)); + getAllSharedPreferences().saveLastUpdatedAtDate(lastSyncDate.getTime()); + } catch (Exception e) { + Timber.e(e, "OpdRegisterInteractor --> saveRegistration"); + } + } + + private void addClient(@NonNull RegisterParams params, Client baseClient) throws JSONException { + JSONObject clientJson = new JSONObject(OpdJsonFormUtils.gson.toJson(baseClient)); + if (params.isEditMode()) { + try { + org.smartregister.family.util.JsonFormUtils.mergeAndSaveClient(getSyncHelper(), baseClient); + } catch (Exception e) { + Timber.e(e, "ChwAllClientRegisterInteractor --> mergeAndSaveClient"); + } + } else { + getSyncHelper().addClient(baseClient.getBaseEntityId(), clientJson); + } + } + + private void addImageLocation(String jsonString, Client baseClient, Event baseEvent) { + if (baseClient != null || baseEvent != null) { + String imageLocation = OpdJsonFormUtils.getFieldValue(jsonString, Constants.KEY.PHOTO); + if (StringUtils.isNotBlank(imageLocation)) { + org.smartregister.family.util.JsonFormUtils.saveImage(baseEvent.getProviderId(), baseClient.getBaseEntityId(), imageLocation); + } + } + } + + private void updateOpenSRPId(String jsonString, RegisterParams params, Client baseClient) { + if (params.isEditMode()) { + // UnAssign current OpenSRP ID + if (baseClient != null) { + String newOpenSrpId = baseClient.getIdentifier(Utils.metadata().uniqueIdentifierKey).replace("-", ""); + String currentOpenSrpId = org.smartregister.family.util.JsonFormUtils.getString(jsonString, org.smartregister.family.util.JsonFormUtils.CURRENT_OPENSRP_ID).replace("-", ""); + if (!newOpenSrpId.equals(currentOpenSrpId)) { + //OpenSRP ID was changed + getUniqueIdRepository().open(currentOpenSrpId); + } + } + + } else { + if (baseClient != null) { + String openSrpId = baseClient.getIdentifier(Utils.metadata().uniqueIdentifierKey); + if (StringUtils.isNotBlank(openSrpId) && !openSrpId.contains(Constants.IDENTIFIER.FAMILY_SUFFIX)) { + //Mark OpenSRP ID as used + getUniqueIdRepository().close(openSrpId); + } + } + } + } + + private void addEvent(RegisterParams params, List currentFormSubmissionIds, Event baseEvent) throws JSONException { + if (baseEvent != null) { + JSONObject eventJson = new JSONObject(OpdJsonFormUtils.gson.toJson(baseEvent)); + getSyncHelper().addEvent(baseEvent.getBaseEntityId(), eventJson, params.getStatus()); + currentFormSubmissionIds.add(eventJson.getString(EventClientRepository.event_column.formSubmissionId.toString())); + } + } + + protected void savePartnerDetails(String partnerBaseEntityId, String clientBaseEntityId) { + AllSharedPreferences sharedPreferences = getAllSharedPreferences(); + Event baseEvent = (Event) new Event() + .withBaseEntityId(clientBaseEntityId) + .withEventDate(new Date()) + .withEventType(PARTNER_REGISTRATION_EVENT) + .withFormSubmissionId(JsonFormUtils.generateRandomUUIDString()) + .withEntityType(CoreConstants.TABLE_NAME.ANC_MEMBER) + .withProviderId(sharedPreferences.fetchRegisteredANM()) + .withLocationId(sharedPreferences.fetchDefaultLocalityId(sharedPreferences.fetchRegisteredANM())) + .withTeamId(sharedPreferences.fetchDefaultTeamId(sharedPreferences.fetchRegisteredANM())) + .withTeam(sharedPreferences.fetchDefaultTeam(sharedPreferences.fetchRegisteredANM())) + .withClientDatabaseVersion(BuildConfig.DATABASE_VERSION) + .withClientApplicationVersion(BuildConfig.VERSION_CODE) + .withDateCreated(new Date()); + + baseEvent.addObs( + (new Obs()) + .withFormSubmissionField(PARTNER_BASE_ENTITY_ID) + .withValue(partnerBaseEntityId) + .withFieldCode(PARTNER_BASE_ENTITY_ID) + .withFieldType("formsubmissionField") + .withFieldDataType("text") + .withParentCode("") + .withHumanReadableValues(new ArrayList<>())); + // tag docs + org.smartregister.chw.util.JsonFormUtils.tagSyncMetadata(Utils.context().allSharedPreferences(), baseEvent); + try { + NCUtils.processEvent(baseEvent.getBaseEntityId(), new JSONObject(org.smartregister.chw.anc.util.JsonFormUtils.gson.toJson(baseEvent))); + } catch (Exception e) { + e.printStackTrace(); + } + + } +} \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllMaleClientsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllMaleClientsRegisterFragment.java new file mode 100644 index 0000000000..33abab4044 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllMaleClientsRegisterFragment.java @@ -0,0 +1,62 @@ +package org.smartregister.chw.fragment; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import org.smartregister.chw.R; +import org.smartregister.chw.configs.AllClientsRegisterRowOptions; +import org.smartregister.chw.core.fragment.CoreAllClientsRegisterFragment; +import org.smartregister.chw.provider.ChwAllMaleClientsQueryProvider; +import org.smartregister.chw.provider.ChwMaleClientRegisterProvider; + +import org.smartregister.commonregistry.CommonRepository; +import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; +import org.smartregister.opd.configuration.OpdConfiguration; +import org.smartregister.opd.utils.ConfigurationInstancesHelper; + +import androidx.annotation.Nullable; +import androidx.appcompat.widget.Toolbar; + + + + +public class AllMaleClientsRegisterFragment extends CoreAllClientsRegisterFragment { + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + super.onCreateView(inflater, container, savedInstanceState); + OpdConfiguration opdConfiguration = new OpdConfiguration.Builder(ChwAllMaleClientsQueryProvider.class) + .setBottomNavigationEnabled(true) + .setOpdRegisterRowOptions(AllClientsRegisterRowOptions.class) + .build(); + + setOpdRegisterQueryProvider(ConfigurationInstancesHelper.newInstance(opdConfiguration.getOpdRegisterQueryProvider())); + return rootView; + } + + @Override + public void setupViews(View view) { + super.setupViews(view); + View dueOnlyLayout = view.findViewById(R.id.due_only_layout); + Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); + toolbar.setVisibility(View.INVISIBLE); + ViewGroup.LayoutParams layoutParams = toolbar.getLayoutParams(); + layoutParams.height = 20; + toolbar.setLayoutParams(layoutParams); + + dueOnlyLayout.setVisibility(View.GONE); + } + + + @Override + public void initializeAdapter() { + ChwMaleClientRegisterProvider maleClientRegisterProvider = new ChwMaleClientRegisterProvider(getActivity(), registerActionHandler, paginationViewHandler); + CommonRepository commonRepository = context().commonrepository(this.tablename); + clientAdapter = new RecyclerViewPaginatedAdapter(null, maleClientRegisterProvider, commonRepository); + clientAdapter.setCurrentlimit(20); + clientsView.setAdapter(clientAdapter); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwAllMaleClientsQueryProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwAllMaleClientsQueryProvider.java new file mode 100644 index 0000000000..645b6057f7 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwAllMaleClientsQueryProvider.java @@ -0,0 +1,14 @@ +package org.smartregister.chw.provider; + +import org.smartregister.chw.core.provider.CoreAllClientsRegisterQueryProvider; +import org.smartregister.chw.util.ChwQueryForMaleClients; + +import androidx.annotation.NonNull; + +public class ChwAllMaleClientsQueryProvider extends CoreAllClientsRegisterQueryProvider { + @NonNull + @Override + public String mainSelectWhereIDsIn() { + return ChwQueryForMaleClients.ALL_MALE_CLIENTS_SELECT_QUERY; + } +} \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMaleClientRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMaleClientRegisterProvider.java new file mode 100644 index 0000000000..83c8abad3e --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMaleClientRegisterProvider.java @@ -0,0 +1,90 @@ +package org.smartregister.chw.provider; + +import android.app.Activity; +import android.app.AlertDialog; +import android.content.Context; +import android.content.Intent; +import android.view.View; + +import org.apache.commons.text.WordUtils; +import org.joda.time.DateTime; +import org.joda.time.Period; +import org.smartregister.chw.R; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.family.util.DBConstants; +import org.smartregister.family.util.Utils; +import org.smartregister.opd.OpdLibrary; +import org.smartregister.opd.configuration.OpdRegisterProviderMetadata; +import org.smartregister.opd.holders.OpdRegisterViewHolder; +import org.smartregister.opd.utils.ConfigurationInstancesHelper; + +import java.util.Map; + +import androidx.annotation.NonNull; + +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; + +public class ChwMaleClientRegisterProvider extends OpdRegisterProvider { + private final Context context; + + private OpdRegisterProviderMetadata opdRegisterProviderMetadata; + + public ChwMaleClientRegisterProvider(@NonNull Context context, @NonNull View.OnClickListener onClickListener, @NonNull View.OnClickListener paginationClickListener) { + super(context, onClickListener, paginationClickListener); + this.context = context; + this.opdRegisterProviderMetadata = ConfigurationInstancesHelper + .newInstance(OpdLibrary.getInstance() + .getOpdConfiguration() + .getOpdRegisterProviderMetadata()); + } + + @Override + public void populatePatientColumn(CommonPersonObjectClient commonPersonObjectClient, OpdRegisterViewHolder viewHolder) { + int age_val = new Period(new DateTime(opdRegisterProviderMetadata.getDob(commonPersonObjectClient.getColumnmaps())), new DateTime()).getYears(); + + Map patientColumnMaps = commonPersonObjectClient.getColumnmaps(); + + viewHolder.hideRegisterType(); + viewHolder.removeCareGiverName(); + String firstName = opdRegisterProviderMetadata.getClientFirstName(patientColumnMaps); + String middleName = opdRegisterProviderMetadata.getClientMiddleName(patientColumnMaps); + String lastName = opdRegisterProviderMetadata.getClientLastName(patientColumnMaps); + String fullName = org.smartregister.util.Utils.getName(firstName, middleName + " " + lastName); + String baseEntityId = commonPersonObjectClient.entityId(); + String age = String.valueOf(age_val); + + fillValue(viewHolder.textViewChildName, WordUtils.capitalize(fullName) + ", " + + WordUtils.capitalize(age)); + setAddressAndGender(commonPersonObjectClient, viewHolder); + viewHolder.itemView.findViewById(R.id.go_to_profile_image_view).setVisibility(View.GONE); + viewHolder.itemView.setOnClickListener(v -> { + AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext()); + builder.setTitle(R.string.register_partner_dialog_title); + builder.setMessage(WordUtils.capitalize(fullName) + ", " + WordUtils.capitalize(age)); + builder.setCancelable(true); + builder.setPositiveButton(v.getContext().getString(R.string.yes), (dialog, id) -> { + Activity parentActivity = (Activity) context; + Intent intent = new Intent(); + intent.putExtra(INTENT_BASE_ENTITY_ID, baseEntityId); + parentActivity.setResult(Activity.RESULT_OK, intent); + parentActivity.finish(); + }); + builder.setNegativeButton(v.getContext().getString(R.string.cancel), ((dialog, id) -> dialog.cancel())); + + AlertDialog alertDialog = builder.create(); + alertDialog.show(); + }); + } + + + @Override + public void setAddressAndGender(CommonPersonObjectClient pc, OpdRegisterViewHolder viewHolder) { + super.setAddressAndGender(pc, viewHolder); + String gender_key = Utils.getValue(pc.getColumnmaps(), DBConstants.KEY.GENDER, true); + String gender = ""; + if (gender_key.equalsIgnoreCase("Male")) { + gender = context.getString(org.smartregister.chw.core.R.string.male); + } + fillValue(viewHolder.textViewGender, gender); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryForMaleClients.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryForMaleClients.java new file mode 100644 index 0000000000..abb08320d3 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryForMaleClients.java @@ -0,0 +1,258 @@ +package org.smartregister.chw.util; + +public interface ChwQueryForMaleClients { + String ALL_MALE_CLIENTS_SELECT_QUERY = "" + + "/*INDEPENDENT MEMBERS*/\n" + + "SELECT ec_family_member.first_name,\n" + + " ec_family_member.middle_name,\n" + + " ec_family_member.last_name,\n" + + " ec_family_member.gender,\n" + + " ec_family_member.dob,\n" + + " ec_family_member.base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'Independent' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name,\n" + + " ec_family_member.last_interacted_with AS last_interacted_with\n" + + "FROM ec_family_member\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + "where ec_family_member.date_removed is null\n" + + " AND ec_family.entity_type = 'ec_independent_client'\n" + + " AND ec_family_member.gender = 'Male' " + + " AND ec_family_member.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register where ec_anc_register.is_closed is 0\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome where ec_pregnancy_outcome.delivery_date is not null\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + " UNION ALL\n" + + " SELECT ec_malaria_confirmation.base_entity_id AS base_entity_id\n" + + " FROM ec_malaria_confirmation\n" + + " UNION ALL\n" + + " SELECT ec_family_planning.base_entity_id AS base_entity_id\n" + + " FROM ec_family_planning\n" + + " UNION ALL\n" + + " SELECT ec_tb_register.base_entity_id AS base_entity_id\n" + + " FROM ec_tb_register\n" + + " WHERE ec_tb_register.tb_case_closure_date is null\n" + + " UNION ALL\n" + + " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + + " FROM ec_hiv_register\n" + + ")" + + "UNION ALL" + + "/* CBHS REGISTER */\n" + + "\n" + + "SELECT ec_family_member.first_name AS first_name,\n" + + " ec_family_member.middle_name AS middle_name,\n" + + " ec_family_member.last_name AS last_name,\n" + + " ec_family_member.gender AS gender,\n" + + " ec_family_member.dob AS dob,\n" + + " ec_family_member.base_entity_id AS base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'CBHS' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " ec_hiv_register.last_interacted_with AS last_interacted_with,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name\n" + + "FROM ec_hiv_register\n" + + " inner join ec_family_member on ec_family_member.base_entity_id = ec_hiv_register.base_entity_id\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + "where ec_family_member.date_removed is null\n" + + " AND ec_family_member.gender = 'Male' " + + " and ec_hiv_register.is_closed is 0\n" + + " AND ec_hiv_register.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + " UNION ALL\n" + + " SELECT ec_tb_register.base_entity_id AS base_entity_id\n" + + " FROM ec_tb_register\n" + + " WHERE ec_tb_register.tb_case_closure_date is null\n" + + ")\n" + + "\n" + + "UNION ALL\n" + + "/*OTHER FAMILY MEMBERS*/\n" + + "SELECT ec_family_member.first_name,\n" + + " ec_family_member.middle_name,\n" + + " ec_family_member.last_name,\n" + + " ec_family_member.gender,\n" + + " ec_family_member.dob,\n" + + " ec_family_member.base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " NULL AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name,\n" + + " ec_family_member.last_interacted_with AS last_interacted_with\n" + + "FROM ec_family_member\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + "where ec_family_member.date_removed is null\n" + + " AND ec_family_member.gender = 'Male' " + + " AND (ec_family.entity_type = 'ec_family' OR ec_family.entity_type is null)\n" + + " AND ec_family_member.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register where ec_anc_register.is_closed is 0\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome where ec_pregnancy_outcome.delivery_date is not null\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + " UNION ALL\n" + + " SELECT ec_malaria_confirmation.base_entity_id AS base_entity_id\n" + + " FROM ec_malaria_confirmation\n" + + " UNION ALL\n" + + " SELECT ec_family_planning.base_entity_id AS base_entity_id\n" + + " FROM ec_family_planning\n" + + " UNION ALL\n" + + " SELECT ec_tb_register.base_entity_id AS base_entity_id\n" + + " FROM ec_tb_register\n" + + " WHERE ec_tb_register.tb_case_closure_date is null\n" + + " UNION ALL\n" + + " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + + " FROM ec_hiv_register\n" + + ")\n" + + "UNION ALL\n" + + "/* TB REGISTER */\n" + + "\n" + + "SELECT ec_family_member.first_name AS first_name,\n" + + " ec_family_member.middle_name AS middle_name,\n" + + " ec_family_member.last_name AS last_name,\n" + + " ec_family_member.gender AS gender,\n" + + " ec_family_member.dob AS dob,\n" + + " ec_family_member.base_entity_id AS base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'TB' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " ec_tb_register.last_interacted_with AS last_interacted_with,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name\n" + + "FROM ec_tb_register\n" + + " inner join ec_family_member on ec_family_member.base_entity_id = ec_tb_register.base_entity_id\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + "where ec_family_member.date_removed is null\n" + + " AND ec_family_member.gender = 'Male' " + + " and ec_tb_register.is_closed is 0\n" + + " and ec_tb_register.tb_case_closure_date is null\n" + + " AND ec_tb_register.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + ")\n" + + "\n" + + "UNION ALL\n" + + "/*ONLY MALARIA PATIENTS*/\n" + + "SELECT ec_family_member.first_name,\n" + + " ec_family_member.middle_name,\n" + + " ec_family_member.last_name,\n" + + " ec_family_member.gender,\n" + + " ec_family_member.dob,\n" + + " ec_family_member.base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'Malaria' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name,\n" + + " ec_malaria_confirmation.last_interacted_with AS last_interacted_with\n" + + "FROM ec_family_member\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + " inner join ec_malaria_confirmation\n" + + " on ec_family_member.base_entity_id = ec_malaria_confirmation.base_entity_id\n" + + "where ec_family_member.date_removed is null\n" + + " AND ec_family_member.gender = 'Male' " + + " AND ec_family_member.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + " UNION ALL\n" + + " SELECT ec_family_planning.base_entity_id AS base_entity_id\n" + + " FROM ec_family_planning\n" + + " UNION ALL\n" + + " SELECT ec_tb_register.base_entity_id AS base_entity_id\n" + + " FROM ec_tb_register\n" + + " WHERE ec_tb_register.tb_case_closure_date is null\n" + + " UNION ALL\n" + + " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + + " FROM ec_hiv_register\n" + + ")\n" + + "UNION ALL\n" + + "\n" + + "/*ONLY FAMILY PLANNING PATIENTS*/\n" + + "SELECT ec_family_member.first_name,\n" + + " ec_family_member.middle_name,\n" + + " ec_family_member.last_name,\n" + + " ec_family_member.gender,\n" + + " ec_family_member.dob,\n" + + " ec_family_member.base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'Family Planning' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name,\n" + + " ec_family_planning.last_interacted_with AS last_interacted_with\n" + + "FROM ec_family_member\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + " inner join ec_family_planning\n" + + " on ec_family_member.base_entity_id = ec_family_planning.base_entity_id\n" + + "where ec_family_member.date_removed is null\n" + + " AND ec_family_member.gender = 'Male' " + + " AND ec_family_planning.is_closed is 0\n" + + " AND ec_family_member.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + " UNION ALL\n" + + " SELECT ec_malaria_confirmation.base_entity_id AS base_entity_id\n" + + " FROM ec_malaria_confirmation\n" + + " UNION ALL\n" + + " SELECT ec_tb_register.base_entity_id AS base_entity_id\n" + + " FROM ec_tb_register\n" + + " WHERE ec_tb_register.tb_case_closure_date is null\n" + + " UNION ALL\n" + + " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + + " FROM ec_hiv_register\n" + + ")\n" + + "ORDER BY last_interacted_with DESC;"; +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index 73ceeb3bc5..ec0c812e61 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -3,6 +3,9 @@ import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.Utils; +import static org.smartregister.chw.core.utils.CoreConstants.JSON_FORM.assetManager; +import static org.smartregister.chw.core.utils.CoreConstants.JSON_FORM.locale; + public class Constants extends CoreConstants { public static final String REFERRAL_TASK_FOCUS = "referral_task_focus"; public static final String REFERRAL_TYPES = "ReferralTypes"; @@ -57,7 +60,21 @@ public static String getDeliveryKitReceived() { } } + public interface PartnerRegistrationConstants { + String PARTNER_REGISTRATION_EVENT = "Partner Registration"; + int EXISTING_PARTNER_REQUEST_CODE = 12344; + int NEW_PARTNER_REQUEST_CODE = 12345; + String INTENT_BASE_ENTITY_ID = "BASE_ENTITY_ID"; + String PARTNER_BASE_ENTITY_ID = "partner_base_entity_id"; + } + + public static final class JsonForm{ + private static final String PARTNER_REGISTRATION_FORM = "male_partner_registration_form"; + public static String getPartnerRegistrationForm() { + return Utils.getLocalForm(PARTNER_REGISTRATION_FORM, locale, assetManager); + } + } public static final class Events { public static final String UPDATE_MALARIA_CONFIGURATION = "Update Malaria Confirmation"; diff --git a/opensrp-chw/src/main/res/layout/activity_all_male_clients.xml b/opensrp-chw/src/main/res/layout/activity_all_male_clients.xml new file mode 100644 index 0000000000..8da7a2b341 --- /dev/null +++ b/opensrp-chw/src/main/res/layout/activity_all_male_clients.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-chw/src/main/res/layout/activity_partner_registration.xml b/opensrp-chw/src/main/res/layout/activity_partner_registration.xml new file mode 100644 index 0000000000..ce8e63b540 --- /dev/null +++ b/opensrp-chw/src/main/res/layout/activity_partner_registration.xml @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 98220f89b6..24917ef243 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -123,27 +123,6 @@ Children (6–23 months) who did not receive Vitamin A in the last 6 months - - - - - - - - - - - - - - - - - - - - - OPV 0 not included Yes diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json new file mode 100644 index 0000000000..13c7c030b1 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json @@ -0,0 +1,1318 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "2", + "encounter_type": "Family Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Taarifa za mteja", + "next": "step2", + "fields": [ + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "fam_name", + "type": "edit_text", + "hint": "Jina la Ukoo", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la ukoo" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina la ukoo" + } + }, + { + "key": "client_first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + } + }, + { + "key": "client_middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la kati", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la kati" + } + }, + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "hidden": "true", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Nambari ya utambulisho", + "scanButtonText": "Scan QR Code", + "v_numeric": { + "value": "true", + "err": "Tafadhali weka kitambulisho halali" + } + }, + { + "key": "fam_village", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "type": "edit_text", + "edit_type": "name", + "hint": "Jina la eneo", + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la eneo au mji" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali weka jina halali la kijiji" + } + }, + { + "key": "landmark", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "landmark", + "type": "edit_text", + "hint": "Alama/Maelezo ya eneo la nyumba", + "v_required": { + "value": true, + "err": "Tafadhali weka alama/maelezo ya eneo." + } + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "15dp" + }, + { + "key": "nearest_facility", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nearest_facility", + "openmrs_data_type": "text", + "type": "tree", + "hint": "Kijiji/Mtaa", + "tree": [], + "v_required": { + "value": true, + "err": "Tafadhali chagua kijiji au mtaa" + } + } + ] + }, + "step2": { + "title": "Taarifa za mteja", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": true, + "hint": "Kituoni ID", + "v_numeric": { + "value": "true", + "err": "Tafadhali weka kitambulisho halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka kitambulisho cha KIPEKEE" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "last_name", + "type": "edit_text", + "hint": "Jina la ukoo", + "edit_type": "name", + "read_only": true, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la ukoo" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "Jina la kwanza", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la kwanza" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Jina la kati", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina halali" + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la kati" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Tarehe ya kuzaliwa (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-11y", + "v_required": { + "value": "true", + "err": "Tarehe ya kuzaliwa (DOB)" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "Tarehe ya kuzaliwa haijulikani", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Umri", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Please enter a valid age" + }, + "v_numeric": { + "value": "true", + "err": "Lazima iwe namba kamili" + }, + "v_min": { + "value": "11", + "err": "Umri lazima uwe sawa au zaidi ya 11" + }, + "v_max": { + "value": "120", + "err": "Umri lazima uwe sawa au chini ya 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafadhali weka umri" + } + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Hali ya Ndoa ya Mteja?", + "values": [ + "Hajaowa/Kuolewa", + "Ameowa/Kuolewa", + "Wameachwa", + "Ndoa ya mke/mume moja", + "Ndoa za wake wengi", + "Mjane/Mgane", + "Kuishi pamoja bila ndoa" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "edit_text", + "hint": "Namba ya simu ya mteja", + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "Kitambulisho cha Taifa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Kitambulisho cha usajili wa mpiga kura", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Leseni ya udereva", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", + "hint": "Namba ya kitambulisho cha taifa k.m 12345678-91234-56789-12", + "edit_type": "name", + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err":"Tafadhali weka namba sahihi" + }, + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "Namba ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", + "hint": "Namba ya kitambulisho cha mpiga kura k.m T-1234-5678-912-3", + "edit_type": "name", + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Namba ya kitambulosho cha mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", + "hint": "Namba ya leseni ya udereva k.m 1234567891", + "edit_type": "name", + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Tafadhali weka namba sahihi" + }, + "v_required": { + "value": true, + "err": "Tafadhali weka namba sahihi" + }, + "v_regex": { + "value": "^([0-9]{10})", + "err": "Namba ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Mtoa huduma ya bima ya afya", + "values": [ + "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", + "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", + "Mfuko wa Taifa wa Bima ya Afya (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Bima ya Strategies", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Bima ya afya ya Britam", + "Bima ya afya ya Jubilee", + "Bima ya afya ya resolution", + "Bima ya afya ya reliance", + "Nyinginezo", + "Hakuna" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Tafadhali ingiza mtoa huduma wa bima" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Mtoa huduma mwingine wa bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha mtoa huduma wa bima" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Namba ya mtoa huduma ya bima ya afya", + "v_required": { + "value": "true", + "err": "Tafadhali ongeza Namba ya kitambulisho ya mtoa huduma wa bima ya afya" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_1yr", + "type": "spinner", + "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", + "values": [ + "Ndio", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Ulemavu wa kimwili", + "values": [ + "Ndio ", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Aina ya ulemavu", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Ulemavu wa kimwili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Ulemavu wa Uti wa Mgongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Ulemavu wa Maono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Ulemavu wa Kusikia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Ulemavu wa Utambuzi au Kujifunza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Matatizo ya Kisaikolojia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Ulemavu Usioonekana", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Tafadhali chagua aina ya ulemavu wa kimwili" + } + }, + { + "key": "has_primary_caregiver", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Has_Primary_Caregiver", + "type": "spinner", + "hint": "Je, una mlezi/msaidizi wa Tiba?", + "values": [ + "Ndio", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "primary_caregiver_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Primary_Caregiver_Name", + "type": "edit_text", + "hint": "Jina la mlezi", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali taja jina la mlezi." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Namba ya simu ya mlezi mkuu", + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider", + "type": "native_radio", + "label": "Kazi ya Mteja", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "chk_self_employed", + "text": "Amejiajiri", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_self_employed" + }, + { + "key": "chk_employed", + "text": "Ameajiriwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_employed" + }, + { + "key": "chk_unemployed", + "text": "Hajaajiriwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_unemployed" + }, + { + "key": "chk_farmer", + "text": "Mkulima", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_farmer" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Kuna nafasi yoyote ya uongozi katika jamii?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Kiongozi wa dini", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Kiongozi wa jadi", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Kiongozi wa kisiasa", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Kiongozi mwenye ushawishi", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Nyingine", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Taja nafasi nyingine katika jamii", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali bainisha jukumu" + }, + "relevance": { + "step2:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "reasons_for_registration", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Registration_Reason", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "reasons_for_registration_male_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_15", + "type": "native_radio", + "label": "Sababu za Usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "homosexual", + "text": "Wanaume wanaofanya mapenzi na wanaume", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Ukatili wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya usajili inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_under_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_under_15", + "type": "native_radio", + "label": "Sababu za Usajili", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "Mtoto mwenye vilio vya uzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "Mtoto mwenye homa za mara kwa mara", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Unyanyasaji wa mtoto", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Ukatili wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Mtoto anayeishi katika mazingira hatarishi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Sababu ya usajili inahitajika" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json new file mode 100644 index 0000000000..bd8ce53767 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json @@ -0,0 +1,1317 @@ +{ + "validate_on_submit": true, + "show_errors_on_submit": false, + "count": "2", + "encounter_type": "Family Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Location details", + "next": "step2", + "fields": [ + { + "key": "fam_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "fam_name", + "type": "edit_text", + "hint": "Surname", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the surname" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter the surname" + } + }, + { + "key": "client_first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + } + }, + { + "key": "client_middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Middle name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the middle name" + } + }, + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "hidden": "true", + "type": "edit_text", + "barcode_type": "qrcode", + "hint": "ID", + "scanButtonText": "Scan QR Code", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + } + }, + { + "key": "fam_village", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "type": "edit_text", + "edit_type": "name", + "hint": "Area name", + "v_required": { + "value": "true", + "err": "Please enter the name of area or town" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Please enter a valid village name" + } + }, + { + "key": "landmark", + "openmrs_entity_parent": "", + "openmrs_entity": "person_address", + "openmrs_entity_id": "landmark", + "type": "edit_text", + "hint": "Landmark/Description of house location", + "v_required": { + "value": true, + "err": "Please enter the landmark/description of location." + } + }, + { + "key": "spacer", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "spacer", + "spacer_height": "15dp" + }, + { + "key": "nearest_facility", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "nearest_facility", + "openmrs_data_type": "text", + "type": "tree", + "hint": "Village/Street", + "tree": [], + "v_required": { + "value": true, + "err": "Please select the village or street" + } + } + ] + }, + "step2": { + "title": "Client details", + "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": true, + "hint": "Kituoni ID", + "v_numeric": { + "value": "true", + "err": "Please enter a valid ID" + }, + "v_required": { + "value": "true", + "err": "Please enter the UNIQUE ID" + } + }, + { + "key": "surname", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "last_name", + "type": "edit_text", + "hint": "Surname", + "edit_type": "name", + "read_only": true, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the surname" + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "first_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "first_name", + "type": "edit_text", + "hint": "First name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the first name" + }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "middle_name", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "middle_name", + "type": "edit_text", + "hint": "Middle name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the middle name" + }, + "read_only": true, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "dob", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdate", + "type": "date_picker", + "hint": "Date of birth (DOB)", + "expanded": false, + "duration": { + "label": "Age" + }, + "min_date": "today-120y", + "max_date": "today-11y", + "v_required": { + "value": "true", + "err": "Please enter the date of birth" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "age_calculated", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "dob_unknown", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "birthdateApprox", + "type": "check_box", + "label": "", + "options": [ + { + "key": "dob_unknown", + "text": "DOB unknown?", + "text_size": "18px", + "value": "false" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "age", + "type": "edit_text", + "hint": "Age", + "v_numeric_integer": { + "value": "true", + "err": "Must be a rounded number" + }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Please enter a valid age" + }, + "v_numeric": { + "value": "true", + "err": "Please enter a valid age" + }, + "v_min": { + "value": "11", + "err": "Age must be equal or greater than 11" + }, + "v_max": { + "value": "120", + "err": "Age must be equal or less than 120" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Please enter the age" + } + }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "marital_status", + "type": "spinner", + "hint": "Client's Marital Status?", + "values": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "keys": [ + "Single", + "Married", + "Divorced", + "Monogamy", + "Polygamy", + "Widowed", + "Cohabitation" + ], + "openmrs_choice_ids": { + "Single": "Single", + "Married": "Married", + "Divorced": "Divorced", + "Monogamy": "Monogamy", + "Polygamy": "Polygamy", + "Widowed": "Widowed", + "Cohabitation": "Cohabitation" + }, + "v_required": { + "value": "true", + "err": "Please select one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "phone_number", + "type": "edit_text", + "hint": "Client phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, + { + "key": "id_avail", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "id_avail", + "type": "check_box", + "label": "Do you have any of the following IDs?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_national_id", + "text": "National ID", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_national_id" + }, + { + "key": "chk_voters_id", + "text": "Voter's registration ID", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_voters_id" + }, + { + "key": "chk_drivers_license", + "text": "Driver's license", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_drivers_license" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "chk_none" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "national_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "National_ID", + "type": "mask_edit_text", + "mask": "########-#####-#####-##", + "mask_hint": "12345678912345678912", + "allowed_chars": "0123456789", + "hint": "National ID number e.g 12345678-91234-56789-12", + "edit_type": "number", + "v_max_length": { + "value": "23", + "is_fixed_size": "true", + "err": "Please enter a valid national id" + }, + "v_regex": { + "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", + "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" + }, + "v_required": { + "value": true, + "err": "Please enter a valid national ID" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_national_id" + ] + } + ] + } + } + }, + { + "key": "voter_id", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Voter_Registration_Number", + "type": "mask_edit_text", + "mask": "T-####-####-###-#", + "mask_hint": "123456789123", + "allowed_chars": "0123456789", + "hint": "Voter's registration number e.g T-1234-5678-912-3", + "edit_type": "number", + "v_max_length": { + "value": "17", + "is_fixed_size": "true", + "err": "Please enter a valid voters registration" + }, + "v_regex": { + "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", + "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" + }, + "v_required": { + "value": true, + "err": "Please enter a valid voters registration number" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_voters_id" + ] + } + ] + } + } + }, + { + "key": "driver_license", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Driver_License_Number", + "type": "mask_edit_text", + "mask": "##########", + "mask_hint": "1234567891", + "allowed_chars": "0123456789", + "hint": "Driver's license number e.g 1234567891", + "edit_type": "number", + "v_max_length": { + "value": "10", + "is_fixed_size": "true", + "err": "Please enter a valid drivers license number" + }, + "v_regex": { + "value": "^([0-9]{10})", + "err": "Driver's license number should be of the format (XXXXXXXXXX)" + }, + "v_required": { + "value": true, + "err": "Please enter a valid driver's license number" + }, + "relevance": { + "step2:id_avail": { + "ex-checkbox": [ + { + "or": [ + "chk_drivers_license" + ] + } + ] + } + } + }, + { + "key": "insurance_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Type", + "type": "spinner", + "hint": "Health insurance provider", + "values": [ + "Community Health Fund (CHF)/(iCHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "keys": [ + "Community Health Fund (CHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", + "National Health Insurance Fund (NHIF)", + "Tiba Kwa Kadi (TIKA)", + "AAR Healthcare", + "Strategies Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Other", + "None" + ], + "openmrs_choice_ids": { + "Community Health Fund (CHF)": "Community_Health_Fund", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", + "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", + "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", + "AAR Healthcare": "AAR_Healthcare", + "AAR Strategies Insurance": "Strategies_Insurance", + "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", + "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", + "Jubilee Insurance": "Jubilee_Insurance", + "Resolutions Insurance": "Resolutions_Insurance", + "Reliance Insurance": "Reliance_Insurance", + "Other": "Other_Health_Insurance_Type", + "None": "No_Health_Insurance" + }, + "v_required": { + "value": "true", + "err": "Please enter the insurance provider" + } + }, + { + "key": "insurance_provider_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Health_Insurance_Type", + "type": "edit_text", + "hint": "Other health insurance provider", + "v_required": { + "value": "true", + "err": "Please specify the insurance provider" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "insurance_provider_number", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Health_Insurance_Number", + "type": "edit_text", + "hint": "Health insurance provider number", + "v_required": { + "value": "true", + "err": "Please add the health insurance provider iD Number" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "wra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "mra", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "preg_1yr", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "preg_1yr", + "type": "spinner", + "hint": "Has the woman delivered in the last 1 year?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select if the woman has delivered in the last 1 year" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "disabilities", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disabilities", + "type": "spinner", + "hint": "Physical disabilities", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "type_of_disability", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_disability", + "type": "check_box", + "label": "Type of disability", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Mobility and Physical Impairments", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Spinal Cord Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Head Injuries - Brain Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Vision Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Hearing Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Cognitive or Learning Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Psychological Disorders", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Invisible Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + }, + "v_required": { + "value": true, + "err": "Please select the type of physical disabilities" + } + }, + { + "key": "has_primary_caregiver", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Has_Primary_Caregiver", + "type": "spinner", + "hint": " Do you have a primary caregiver/Treatment supporter?", + "values": [ + "Yes", + "No" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "Yes", + "No": "No" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "primary_caregiver_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "Primary_Caregiver_Name", + "type": "edit_text", + "hint": "Name of caregiver", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please specify the name of the caregiver." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Primary caregiver phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "service_provider", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "service_provider", + "type": "native_radio", + "label": "Occupation of the Client", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "chk_self_employed", + "text": "Self-Employed", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_self_employed" + }, + { + "key": "chk_employed", + "text": "Employed", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_employed" + }, + { + "key": "chk_unemployed", + "text": "Unemployed", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_unemployed" + }, + { + "key": "chk_farmer", + "text": "Farmer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_farmer" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "leader", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Community_Leader", + "type": "check_box", + "label": "Any leadership role in the community?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_religious", + "text": "Religious leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Religious_Leader" + }, + { + "key": "chk_traditional", + "text": "Traditional leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Traditional_leader" + }, + { + "key": "chk_political", + "text": "Political leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Political_leader" + }, + { + "key": "chk_influential", + "text": "Influential leader", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Influential_Leader" + }, + { + "key": "chk_other", + "text": "Other", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Not_a_Community_Leader" + } + ], + "v_required": { + "value": "true", + "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "leader_other", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Other_Community_Leader_Type_Name", + "type": "edit_text", + "hint": "Mention other role in the community", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please specify role" + }, + "relevance": { + "step2:leader": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + }, + { + "key": "reasons_for_registration", + "openmrs_entity_parent": "", + "openmrs_entity": "person_attribute", + "openmrs_entity_id": "Registration_Reason", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_calculation.yml" + } + } + } + }, + { + "key": "reasons_for_registration_male_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_15", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "homosexual", + "text": "Men who have sex with men", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_under_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_under_15", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "A child with stagnation in weight", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "A child with frequent fevers", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Abused child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Child living in a risky environment", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "male_partner_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/male_partner_calculation.yml b/opensrp-chw/src/nacp/assets/rule/male_partner_calculation.yml new file mode 100644 index 0000000000..84cccba33a --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/male_partner_calculation.yml @@ -0,0 +1,49 @@ +--- +name: step2_age_calculated +description: Age calculated +priority: 1 +condition: "true" +actions: + - "calculation = (!step2_dob_unknown.isEmpty() && step2_dob_unknown.contains('dob_unknown')) ? step2_age : helper.getDifferenceDays(step2_dob) / 365.25" +--- +name: step2_wra +description: wra calculation +priority: 1 +condition: "step2_sex == 'Female' && (step2_age_calculated >= 10 && step2_age_calculated <= 49)" +actions: + - "calculation = 1" +--- +name: step2_surname +description: set surname as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_fam_name" +--- +name: step2_first_name +description: set surname as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_client_first_name" +--- +name: step2_middle_name +description: set surname as the one added in step one +priority: 1 +condition: "true" +actions: + - "calculation = step1_client_middle_name" +--- +name: step2_reasons_for_registration +description: set reasons for registration +priority: 1 +condition: "true" +actions: + - "calculation = ((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15)) ? step2_reasons_for_registration_under_15 : step2_reasons_for_registration_male_15)" +--- +name: step2_sex +description: set sex as male by default +priority: 1 +condition: "true" +actions: + - "calculation = 'Male'" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml b/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml new file mode 100644 index 0000000000..4caa0589ee --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml @@ -0,0 +1,126 @@ +--- +name: step2_dob +description: dob relevance +priority: 1 +condition: "!step2_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step2_dob_unknown +description: dob unknown relevance +priority: 1 +condition: "step2_dob.isEmpty()" +actions: + - "isRelevant = true" +--- +name: step2_age +description: age relevance +priority: 1 +condition: "step2_dob_unknown.contains('dob_unknown')" +actions: + - "isRelevant = true" +--- +name: step2_phone_number +description: phone number relevance +priority: 1 +condition: "step2_is_primary_caregiver == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step2_id_avail +description: identity relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step2_service_provider +description: service_provider relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step2_leader +description: leader relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step2_marital_status +description: marital_status relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 14) || (step2_age != '' && step2_age >= 14)" +actions: + - "isRelevant = true" +--- +name: step2_preg_1yr +description: pregnance 1yr relevance +priority: 1 +condition: "step2_wra == 1" +actions: + - "isRelevant = true" +--- +name: step2_insurance_provider_other +description: insurance_provider_other relevance +priority: 1 +condition: "!step2_insurance_provider.isEmpty() && step2_insurance_provider.equals('Other')" +actions: + - "isRelevant = true" +--- +name: step2_insurance_provider_number +descripltion: insurance number relevance +priority: 1 +condition: "!step2_insurance_provider.isEmpty() && !step2_insurance_provider.contains('None')" +actions: + - "isRelevant = true" +--- +name: step2_type_of_disability +description: type_of_disability relevance +priority: 1 +condition: "step2_disabilities.equals('Yes')" +actions: + - "isRelevant = true" +--- +name: step2_preg_1yr +description: pregnance 1yr relevance +priority: 1 +condition: "step2_wra == 1" +actions: + - "isRelevant = true" +--- +name: step2_primary_caregiver_name +description: ask primary caregiver name +priority: 1 +condition: "step2_has_primary_caregiver == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step2_other_phone_number +description: as primary caregiver phone number +priority: 1 +condition: "step2_has_primary_caregiver == 'Yes'" +actions: + - "isRelevant = true" +--- +name: step2_reasons_for_registration_male_15 +description: Show up if client is male and age 15 above +priority: 1 +condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 15) || (step2_age != '' && step2_age >= 15)) && step2_sex.equals('Male') " +actions: + - "isRelevant = true" +--- +name: step2_reasons_for_registration_female_15 +description: Show up if client is female and age 15 above +priority: 1 +condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 15) || (step2_age != '' && step2_age >= 15))&& step2_sex.equals('Female')" +actions: + - "isRelevant = true" +--- +name: step2_reasons_for_registration_under_15 +description: Show up if client is below 15 +priority: 1 +condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15))" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index c83fffff70..c42ef4ce22 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -27,4 +27,5 @@ UWANYU (%2$s)
    ]]> Hiari Partner Followup + Usajili wa Mwenza \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 58a28d5da9..0741e5343c 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -22,4 +22,11 @@ Any Changes You Made Will Be Discarded Independent Partner Followup + + Partner Registration + New Client + Existing Client + All Male Clients + Register this client as Partner? + View Partner Profile \ No newline at end of file From c0cc9265dc327c2a74ee35a0467014cd850655eb Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 3 Mar 2022 16:30:29 +0300 Subject: [PATCH 288/915] Fixed: family services crash in anc --- .../chw/activity/AncMemberProfileActivity.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index 0c49b8e21d..aa9d2e31b9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -10,6 +10,8 @@ import android.view.MenuItem; import android.view.View; import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.Toast; import com.vijay.jsonwizard.utils.FormUtils; @@ -50,6 +52,7 @@ import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.commonregistry.CommonRepository; +import org.smartregister.domain.AlertStatus; import org.smartregister.domain.Task; import org.smartregister.family.domain.FamilyEventClient; import org.smartregister.family.interactor.FamilyProfileInteractor; @@ -428,4 +431,11 @@ public interface Flavor { Boolean hasEmergencyTransport(); } + @Override + public void setFamilyStatus(AlertStatus status) { + super.setFamilyStatus(status); + if (memberObject.getFamilyBaseEntityId().isEmpty()) { + rlFamilyServicesDue.setVisibility(View.GONE); + } + } } From 10d666aa73f3e40017bafd5e742f405d1dc36d2c Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 3 Mar 2022 16:34:48 +0300 Subject: [PATCH 289/915] Optimized imports --- .../chw/activity/AncMemberProfileActivity.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index aa9d2e31b9..15cd2ba9d9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -1,5 +1,9 @@ package org.smartregister.chw.activity; +import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + import android.app.Activity; import android.content.ContentValues; import android.content.Intent; @@ -10,8 +14,6 @@ import android.view.MenuItem; import android.view.View; import android.widget.LinearLayout; -import android.widget.RelativeLayout; -import android.widget.Toast; import com.vijay.jsonwizard.utils.FormUtils; @@ -72,10 +74,6 @@ import io.reactivex.schedulers.Schedulers; import timber.log.Timber; -import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; -import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; -import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; - public class AncMemberProfileActivity extends CoreAncMemberProfileActivity implements AncMemberProfileContract.View { private List referralTypeModels = new ArrayList<>(); From 6926e9791eef977c5ee2faab28c62e040e1a9344 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 3 Mar 2022 18:54:32 +0300 Subject: [PATCH 290/915] implemented checking partner followup status --- ...artnerFollowupReferralProfileActivity.java | 43 +++++++++---- .../smartregister/chw/dao/AncPartnerDao.java | 61 +++++++++++++++++++ .../AncPartnerFollowupRegisterFragment.java | 3 +- ...cPartnerFollowupRegisterFragmentModel.java | 2 +- .../org/smartregister/chw/util/Constants.java | 3 + .../nacp/assets/ec_client_classification.json | 7 +++ .../src/nacp/assets/ec_client_fields.json | 24 ++++++++ 7 files changed, 130 insertions(+), 13 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index 9e83922752..30cbcaefa8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -1,11 +1,5 @@ package org.smartregister.chw.activity; -import static android.view.View.GONE; -import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; -import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; -import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; -import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; - import android.app.Activity; import android.content.ContentValues; import android.content.Intent; @@ -41,6 +35,7 @@ import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.CoreJsonFormUtils; import org.smartregister.chw.custom_view.AncFloatingMenu; +import org.smartregister.chw.dao.AncPartnerDao; import org.smartregister.chw.dataloader.AncMemberDataLoader; import org.smartregister.chw.dataloader.FamilyMemberDataLoader; import org.smartregister.chw.interactor.AncMemberProfileInteractor; @@ -73,15 +68,25 @@ import io.reactivex.schedulers.Schedulers; import timber.log.Timber; +import static android.view.View.GONE; +import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_FORM_SUBMISSION_ID; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.ReferralFormId; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + public class AncPartnerFollowupReferralProfileActivity extends CoreAncMemberProfileActivity implements AncMemberProfileContract.View { private List referralTypeModels = new ArrayList<>(); private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); + private String formSubmissionId; - public static void startMe(Activity activity, String baseEntityID) { + public static void startMe(Activity activity, String baseEntityID, String formSubmissionId) { Intent intent = new Intent(activity, AncPartnerFollowupReferralProfileActivity.class); passToolbarTitle(activity, intent); intent.putExtra(Constants.ANC_MEMBER_OBJECTS.BASE_ENTITY_ID, baseEntityID); + intent.putExtra(INTENT_FORM_SUBMISSION_ID, formSubmissionId); activity.startActivity(intent); } @@ -95,15 +100,20 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); notificationAndReferralRecyclerView.setAdapter(notificationListAdapter); notificationListAdapter.setOnClickListener(this); + this.formSubmissionId = getIntent().getStringExtra(INTENT_FORM_SUBMISSION_ID); } @Override public void setupViews() { super.setupViews(); layoutRecordView.setVisibility(View.VISIBLE); + if (AncPartnerDao.wasClientFound(formSubmissionId)) { + textview_record_visit.setVisibility(View.GONE); + } textViewAncVisitNot.setVisibility(GONE); tvEdit.setVisibility(View.GONE); textview_record_visit.setText(R.string.record_followup_feedback); + textview_record_visit.setBackgroundResource(org.smartregister.chw.core.R.drawable.record_btn_anc_selector); textview_record_visit.setOnClickListener(view -> { JSONObject formJsonObject = null; try { @@ -115,7 +125,9 @@ public void setupViews() { }); RelativeLayout partnerView = findViewById(R.id.rlPartnerView); - partnerView.setVisibility(View.VISIBLE); + if(AncPartnerDao.wasClientFound(formSubmissionId) && AncPartnerDao.hasPartnerAgreeForRegistration(formSubmissionId) && !AncPartnerDao.isPartnerRegistered(formSubmissionId)){ + partnerView.setVisibility(View.VISIBLE); + } partnerView.setOnClickListener(this); } @@ -231,10 +243,11 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(CoreConstants.EventType.ANC_REFERRAL)) { ancMemberProfilePresenter().createReferralEvent(Utils.getAllSharedPreferences(), jsonString); showToast(this.getString(R.string.referral_submitted)); - } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equalsIgnoreCase(CoreConstants.EventType.ANC_PARTNER_COMMUNITY_FOLLOWUP_FEEDBACK)){ + } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equalsIgnoreCase(CoreConstants.EventType.ANC_PARTNER_COMMUNITY_FOLLOWUP_FEEDBACK)) { + tagReferralFormId(jsonString, formSubmissionId); AllSharedPreferences allSharedPreferences = org.smartregister.util.Utils.getAllSharedPreferences(); Event baseEvent = org.smartregister.chw.anc.util.JsonFormUtils.processJsonForm(allSharedPreferences, jsonString, CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP_FEEDBACK); - org.smartregister.chw.anc.util.JsonFormUtils.tagEvent(allSharedPreferences,baseEvent); + org.smartregister.chw.anc.util.JsonFormUtils.tagEvent(allSharedPreferences, baseEvent); baseEvent.setBaseEntityId(baseEntityID); NCUtils.processEvent(baseEvent.getBaseEntityId(), new JSONObject(org.smartregister.chw.anc.util.JsonFormUtils.gson.toJson(baseEvent))); } @@ -250,6 +263,14 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { } } + private void tagReferralFormId(String jsonString, String formSubmissionId) throws JSONException { + JSONObject form = new JSONObject(jsonString); + JSONArray fields = org.smartregister.util.JsonFormUtils.fields(form); + JSONObject referralFormId = org.smartregister.util.JsonFormUtils.getFieldJSONObject(fields, ReferralFormId); + assert referralFormId != null; + referralFormId.put(JsonFormUtils.VALUE, formSubmissionId); + } + @Override public void startFormForEdit(Integer title_resource, String formName) { try { @@ -322,7 +343,7 @@ public void onClick(View view) { AncHomeVisitActivity.startMe(this, memberObject.getBaseEntityId(), false); } else if (id == R.id.textview_edit) { AncHomeVisitActivity.startMe(this, memberObject.getBaseEntityId(), true); - }else if(id == R.id.rlPartnerView){ + } else if (id == R.id.rlPartnerView) { Intent intent = new Intent(this, PartnerRegistrationActivity.class); intent.putExtra(INTENT_BASE_ENTITY_ID, memberObject.getBaseEntityId()); startActivity(intent); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java new file mode 100644 index 0000000000..a1fd099cf7 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java @@ -0,0 +1,61 @@ +package org.smartregister.chw.dao; + +import org.smartregister.dao.AbstractDao; + +import java.util.List; + +public class AncPartnerDao extends AbstractDao { + + public static boolean isPartnerRegistered(String formSubmissionId) { + DataMap dataMap = cursor -> getCursorValue(cursor, "partner_base_entity_id"); + + String sql = String.format( + "SELECT partner_base_entity_id FROM %s WHERE referral_form_id = '%s' " + + "AND partner_base_entity_id is not null " + + "AND is_closed = 0", + "ec_anc_partner_community_feedback", + formSubmissionId + ); + + List res = readData(sql, dataMap); + + return res.size() == 1; + } + + public static boolean hasPartnerAgreeForRegistration(String formSubmissionId){ + DataMap dataMap = cursor -> getCursorValue(cursor, "partner_agree_attending_hf"); + + String sql = String.format( + "SELECT partner_agree_attending_hf FROM %s WHERE referral_form_id = '%s' " + + "AND partner_agree_attending_hf is not null " + + "AND is_closed = 0", + "ec_anc_partner_community_feedback", + formSubmissionId + ); + + List res = readData(sql, dataMap); + + if(res.size() > 0){ + return res.get(0).equalsIgnoreCase("yes"); + } + return false; + } + public static boolean wasClientFound(String formSubmissionId){ + DataMap dataMap = cursor -> getCursorValue(cursor, "client_found"); + + String sql = String.format( + "SELECT client_found FROM %s WHERE referral_form_id = '%s' " + + "AND client_found is not null " + + "AND is_closed = 0", + "ec_anc_partner_community_feedback", + formSubmissionId + ); + + List res = readData(sql, dataMap); + + if(res.size() > 0){ + return res.get(0).equalsIgnoreCase("yes"); + } + return false; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java index e57cd6a744..5dc294404c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java @@ -13,6 +13,7 @@ import org.smartregister.chw.model.AncPartnerFollowupRegisterFragmentModel; import org.smartregister.chw.presenter.ChwAncPartnerFollowupRegisterFragmentPresenter; import org.smartregister.chw.provider.AncFollowupRegisterProvider; +import org.smartregister.chw.util.Constants; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.configurableviews.model.View; import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; @@ -40,7 +41,7 @@ protected void initializePresenter() { @Override protected void openProfile(CommonPersonObjectClient client) { - AncPartnerFollowupReferralProfileActivity.startMe(getActivity(), client.getCaseId()); + AncPartnerFollowupReferralProfileActivity.startMe(getActivity(), client.getCaseId(),client.getColumnmaps().get(Constants.PartnerRegistrationConstants.FormSubmissionId)); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/AncPartnerFollowupRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/AncPartnerFollowupRegisterFragmentModel.java index e33ce26b49..e30a018574 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/AncPartnerFollowupRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/AncPartnerFollowupRegisterFragmentModel.java @@ -39,7 +39,7 @@ protected String[] mainColumns(String tableName) { columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD); columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER); columnList.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); - + columnList.add(CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP + "." + DBConstants.KEY.BASE_ENTITY_ID + " as " + org.smartregister.chw.util.Constants.PartnerRegistrationConstants.FormSubmissionId); columnList.addAll(getFlavor().mainColumns(tableName)); return columnList.toArray(new String[0]); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index ec0c812e61..43c61f553e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -66,6 +66,9 @@ public interface PartnerRegistrationConstants { int NEW_PARTNER_REQUEST_CODE = 12345; String INTENT_BASE_ENTITY_ID = "BASE_ENTITY_ID"; String PARTNER_BASE_ENTITY_ID = "partner_base_entity_id"; + String FormSubmissionId = "formSubmissionId"; + String INTENT_FORM_SUBMISSION_ID = "form_submission_id"; + String ReferralFormId = "referral_form_id"; } public static final class JsonForm{ diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index 177a34a274..f187cad2da 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -472,6 +472,13 @@ "creates_case": [ "ec_anc_partner_community_feedback" ] + }, + { + "field": "eventType", + "field_value": "Partner Registration", + "creates_case": [ + "ec_anc_partner_community_feedback" + ] } ] } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 906ebf9c51..cc14426af4 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -847,6 +847,14 @@ "field": "version" } }, + { + "column_name": "referral_form_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "referral_form_id" + } + }, { "column_name": "partner_agree_attending_hf", "type": "Event", @@ -854,6 +862,22 @@ "field": "obs.fieldCode", "concept": "partner_agree_attending_hf" } + }, + { + "column_name": "client_found", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "is_partner_found" + } + }, + { + "column_name": "partner_base_entity_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "partner_base_entity_id" + } } ] }, From 387985923725336d245a25cc9770da53661d2d6b Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 3 Mar 2022 19:05:52 +0300 Subject: [PATCH 291/915] Refactored form and form name --- .../AncPartnerFollowupReferralProfileActivity.java | 2 +- ...l.json => anc_partner_community_followup_feedback.json} | 7 +++++++ ...l.json => anc_partner_community_followup_feedback.json} | 7 +++++++ 3 files changed, 15 insertions(+), 1 deletion(-) rename opensrp-chw/src/nacp/assets/json.form-sw/{anc_partner_community_followup_referral.json => anc_partner_community_followup_feedback.json} (97%) rename opensrp-chw/src/nacp/assets/json.form/{anc_partner_community_followup_referral.json => anc_partner_community_followup_feedback.json} (97%) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index 30cbcaefa8..946152a282 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -117,7 +117,7 @@ public void setupViews() { textview_record_visit.setOnClickListener(view -> { JSONObject formJsonObject = null; try { - formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getAncPartnerCommunityFollowupReferral()); + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getAncPartnerCommunityFollowupFeedback()); startFormActivity(formJsonObject); } catch (JSONException e) { e.printStackTrace(); diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_referral.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json similarity index 97% rename from opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_referral.json rename to opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json index f8269d85d3..a97c6b7407 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_referral.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json @@ -241,6 +241,13 @@ ] } } + }, + { + "key": "referral_form_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_form_id", + "type": "hidden" } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_referral.json b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json similarity index 97% rename from opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_referral.json rename to opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json index f8269d85d3..a97c6b7407 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_referral.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json @@ -241,6 +241,13 @@ ] } } + }, + { + "key": "referral_form_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_form_id", + "type": "hidden" } ] } From 4228964df50d1747f82c19e463d8189199b64eca Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 3 Mar 2022 19:26:46 +0300 Subject: [PATCH 292/915] fixed: tagging referral form id --- .../AncPartnerFollowupReferralProfileActivity.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index 946152a282..27793bcf50 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -244,12 +244,12 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { ancMemberProfilePresenter().createReferralEvent(Utils.getAllSharedPreferences(), jsonString); showToast(this.getString(R.string.referral_submitted)); } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equalsIgnoreCase(CoreConstants.EventType.ANC_PARTNER_COMMUNITY_FOLLOWUP_FEEDBACK)) { - tagReferralFormId(jsonString, formSubmissionId); AllSharedPreferences allSharedPreferences = org.smartregister.util.Utils.getAllSharedPreferences(); - Event baseEvent = org.smartregister.chw.anc.util.JsonFormUtils.processJsonForm(allSharedPreferences, jsonString, CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP_FEEDBACK); + Event baseEvent = org.smartregister.chw.anc.util.JsonFormUtils.processJsonForm(allSharedPreferences,tagReferralFormId(jsonString, formSubmissionId) , CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP_FEEDBACK); org.smartregister.chw.anc.util.JsonFormUtils.tagEvent(allSharedPreferences, baseEvent); baseEvent.setBaseEntityId(baseEntityID); NCUtils.processEvent(baseEvent.getBaseEntityId(), new JSONObject(org.smartregister.chw.anc.util.JsonFormUtils.gson.toJson(baseEvent))); + setupViews(); } } catch (Exception e) { @@ -263,12 +263,13 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { } } - private void tagReferralFormId(String jsonString, String formSubmissionId) throws JSONException { + private String tagReferralFormId(String jsonString, String formSubmissionId) throws JSONException { JSONObject form = new JSONObject(jsonString); JSONArray fields = org.smartregister.util.JsonFormUtils.fields(form); JSONObject referralFormId = org.smartregister.util.JsonFormUtils.getFieldJSONObject(fields, ReferralFormId); assert referralFormId != null; referralFormId.put(JsonFormUtils.VALUE, formSubmissionId); + return form.toString(); } @Override From 72dd06b3e1a611597c91106b252fbb9fbf7a5720 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 4 Mar 2022 12:04:38 +0300 Subject: [PATCH 293/915] implemented updating partner followups --- ...artnerFollowupReferralProfileActivity.java | 14 ++++---- .../activity/PartnerRegistrationActivity.java | 7 ++-- .../smartregister/chw/dao/AncPartnerDao.java | 34 +++++++++++++------ ...tnerFollowupRegisterFragmentPresenter.java | 9 ++++- 4 files changed, 45 insertions(+), 19 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index 27793bcf50..4f302cb728 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -69,6 +69,7 @@ import timber.log.Timber; import static android.view.View.GONE; +import static org.smartregister.chw.core.utils.Utils.getRandomGeneratedId; import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_FORM_SUBMISSION_ID; @@ -80,7 +81,7 @@ public class AncPartnerFollowupReferralProfileActivity extends CoreAncMemberProf private List referralTypeModels = new ArrayList<>(); private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); - private String formSubmissionId; + private String referralFormSubmissionId; public static void startMe(Activity activity, String baseEntityID, String formSubmissionId) { Intent intent = new Intent(activity, AncPartnerFollowupReferralProfileActivity.class); @@ -100,14 +101,14 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); notificationAndReferralRecyclerView.setAdapter(notificationListAdapter); notificationListAdapter.setOnClickListener(this); - this.formSubmissionId = getIntent().getStringExtra(INTENT_FORM_SUBMISSION_ID); + this.referralFormSubmissionId = getIntent().getStringExtra(INTENT_FORM_SUBMISSION_ID); } @Override public void setupViews() { super.setupViews(); layoutRecordView.setVisibility(View.VISIBLE); - if (AncPartnerDao.wasClientFound(formSubmissionId)) { + if (AncPartnerDao.isPartnerFollowedUp(referralFormSubmissionId)) { textview_record_visit.setVisibility(View.GONE); } textViewAncVisitNot.setVisibility(GONE); @@ -125,7 +126,7 @@ public void setupViews() { }); RelativeLayout partnerView = findViewById(R.id.rlPartnerView); - if(AncPartnerDao.wasClientFound(formSubmissionId) && AncPartnerDao.hasPartnerAgreeForRegistration(formSubmissionId) && !AncPartnerDao.isPartnerRegistered(formSubmissionId)){ + if(AncPartnerDao.hasPartnerAgreeForRegistration(referralFormSubmissionId) && !AncPartnerDao.isPartnerRegistered(referralFormSubmissionId)){ partnerView.setVisibility(View.VISIBLE); } @@ -245,7 +246,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { showToast(this.getString(R.string.referral_submitted)); } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equalsIgnoreCase(CoreConstants.EventType.ANC_PARTNER_COMMUNITY_FOLLOWUP_FEEDBACK)) { AllSharedPreferences allSharedPreferences = org.smartregister.util.Utils.getAllSharedPreferences(); - Event baseEvent = org.smartregister.chw.anc.util.JsonFormUtils.processJsonForm(allSharedPreferences,tagReferralFormId(jsonString, formSubmissionId) , CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP_FEEDBACK); + Event baseEvent = org.smartregister.chw.anc.util.JsonFormUtils.processJsonForm(allSharedPreferences,tagReferralFormId(jsonString, referralFormSubmissionId) , CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP_FEEDBACK); org.smartregister.chw.anc.util.JsonFormUtils.tagEvent(allSharedPreferences, baseEvent); baseEvent.setBaseEntityId(baseEntityID); NCUtils.processEvent(baseEvent.getBaseEntityId(), new JSONObject(org.smartregister.chw.anc.util.JsonFormUtils.gson.toJson(baseEvent))); @@ -346,7 +347,8 @@ public void onClick(View view) { AncHomeVisitActivity.startMe(this, memberObject.getBaseEntityId(), true); } else if (id == R.id.rlPartnerView) { Intent intent = new Intent(this, PartnerRegistrationActivity.class); - intent.putExtra(INTENT_BASE_ENTITY_ID, memberObject.getBaseEntityId()); + intent.putExtra(INTENT_FORM_SUBMISSION_ID, AncPartnerDao.getFeedbackFormId(referralFormSubmissionId)); + intent.putExtra(INTENT_BASE_ENTITY_ID, baseEntityID); startActivity(intent); } handleNotificationRowClick(this, view, notificationListAdapter, memberObject.getBaseEntityId()); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java index f3b2e903db..5379e38eff 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java @@ -52,6 +52,7 @@ import static org.smartregister.chw.util.Constants.JsonForm.getPartnerRegistrationForm; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.EXISTING_PARTNER_REQUEST_CODE; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_FORM_SUBMISSION_ID; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.NEW_PARTNER_REQUEST_CODE; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.PARTNER_BASE_ENTITY_ID; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.PARTNER_REGISTRATION_EVENT; @@ -64,12 +65,13 @@ public class PartnerRegistrationActivity extends SecuredActivity implements View.OnClickListener { private String clientBaseEntityId; - + private String formSubmissionId; @Override protected void onCreation() { setContentView(R.layout.activity_partner_registration); this.clientBaseEntityId = getIntent().getStringExtra(INTENT_BASE_ENTITY_ID); + this.formSubmissionId = getIntent().getStringExtra(INTENT_FORM_SUBMISSION_ID); setupView(); } @@ -315,11 +317,12 @@ private void addEvent(RegisterParams params, List currentFormSubmissionI protected void savePartnerDetails(String partnerBaseEntityId, String clientBaseEntityId) { AllSharedPreferences sharedPreferences = getAllSharedPreferences(); + //Switched baseEntityId and formSubmissionId to update on the correct referral sent Event baseEvent = (Event) new Event() .withBaseEntityId(clientBaseEntityId) .withEventDate(new Date()) .withEventType(PARTNER_REGISTRATION_EVENT) - .withFormSubmissionId(JsonFormUtils.generateRandomUUIDString()) + .withFormSubmissionId(formSubmissionId) .withEntityType(CoreConstants.TABLE_NAME.ANC_MEMBER) .withProviderId(sharedPreferences.fetchRegisteredANM()) .withLocationId(sharedPreferences.fetchDefaultLocalityId(sharedPreferences.fetchRegisteredANM())) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java index a1fd099cf7..701f74c9f6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java @@ -6,7 +6,7 @@ public class AncPartnerDao extends AbstractDao { - public static boolean isPartnerRegistered(String formSubmissionId) { + public static boolean isPartnerRegistered(String referralFormSubmissionId) { DataMap dataMap = cursor -> getCursorValue(cursor, "partner_base_entity_id"); String sql = String.format( @@ -14,7 +14,7 @@ public static boolean isPartnerRegistered(String formSubmissionId) { "AND partner_base_entity_id is not null " + "AND is_closed = 0", "ec_anc_partner_community_feedback", - formSubmissionId + referralFormSubmissionId ); List res = readData(sql, dataMap); @@ -22,7 +22,7 @@ public static boolean isPartnerRegistered(String formSubmissionId) { return res.size() == 1; } - public static boolean hasPartnerAgreeForRegistration(String formSubmissionId){ + public static boolean hasPartnerAgreeForRegistration(String referralFormSubmissionId){ DataMap dataMap = cursor -> getCursorValue(cursor, "partner_agree_attending_hf"); String sql = String.format( @@ -30,7 +30,7 @@ public static boolean hasPartnerAgreeForRegistration(String formSubmissionId){ "AND partner_agree_attending_hf is not null " + "AND is_closed = 0", "ec_anc_partner_community_feedback", - formSubmissionId + referralFormSubmissionId ); List res = readData(sql, dataMap); @@ -40,7 +40,7 @@ public static boolean hasPartnerAgreeForRegistration(String formSubmissionId){ } return false; } - public static boolean wasClientFound(String formSubmissionId){ + public static boolean isPartnerFollowedUp(String referralFormSubmissionId){ DataMap dataMap = cursor -> getCursorValue(cursor, "client_found"); String sql = String.format( @@ -48,14 +48,28 @@ public static boolean wasClientFound(String formSubmissionId){ "AND client_found is not null " + "AND is_closed = 0", "ec_anc_partner_community_feedback", - formSubmissionId + referralFormSubmissionId ); List res = readData(sql, dataMap); - if(res.size() > 0){ - return res.get(0).equalsIgnoreCase("yes"); - } - return false; + return res.size() > 0; } + + public static String getFeedbackFormId(String referralFormSubmissionId) { + DataMap dataMap = cursor -> getCursorValue(cursor, "base_entity_id"); + + String sql = String.format( + "SELECT base_entity_id FROM %s WHERE referral_form_id = '%s' " + + "AND base_entity_id is not null " + + "AND is_closed = 0", + "ec_anc_partner_community_feedback", + referralFormSubmissionId + ); + + List res = readData(sql, dataMap); + + return res.size() > 0 ? res.get(0) : ""; + } + } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java index 59de112dd1..9a080e1beb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java @@ -20,7 +20,14 @@ public String getDefaultSortQuery() { @Override public String getMainCondition() { return " " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DATE_REMOVED + " is null " + - "AND " + CoreConstants.TABLE_NAME.ANC_MEMBER + "." + DBConstants.KEY.IS_CLOSED + " is 0 "; + "AND " + CoreConstants.TABLE_NAME.ANC_MEMBER + "." + DBConstants.KEY.IS_CLOSED + " is 0 " + + "AND " + CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP + "." + org.smartregister.chw.hiv.util.DBConstants.Key.BASE_ENTITY_ID + " NOT IN "+ + "(SELECT referral_form_id" + + " FROM ec_anc_partner_community_feedback" + + " WHERE client_found = 'no'" + + " or (client_found = 'yes'" + + " and partner_agree_attending_hf is not null" + + " and (partner_agree_attending_hf = 'no' or partner_base_entity_id is not null))) "; } @Override From 11f6d6e5e7a160afbb449aee30eb1cc0bde10fb8 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 4 Mar 2022 12:05:54 +0300 Subject: [PATCH 294/915] code fixes --- .../AncPartnerFollowupReferralProfileActivity.java | 7 +++---- .../chw/activity/PartnerRegistrationActivity.java | 2 -- .../main/java/org/smartregister/chw/dao/AncPartnerDao.java | 7 ++++--- .../ChwAncPartnerFollowupRegisterFragmentPresenter.java | 2 +- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index 4f302cb728..bc507c7930 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -69,7 +69,6 @@ import timber.log.Timber; import static android.view.View.GONE; -import static org.smartregister.chw.core.utils.Utils.getRandomGeneratedId; import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_FORM_SUBMISSION_ID; @@ -126,7 +125,7 @@ public void setupViews() { }); RelativeLayout partnerView = findViewById(R.id.rlPartnerView); - if(AncPartnerDao.hasPartnerAgreeForRegistration(referralFormSubmissionId) && !AncPartnerDao.isPartnerRegistered(referralFormSubmissionId)){ + if (AncPartnerDao.hasPartnerAgreeForRegistration(referralFormSubmissionId) && !AncPartnerDao.isPartnerRegistered(referralFormSubmissionId)) { partnerView.setVisibility(View.VISIBLE); } @@ -246,7 +245,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { showToast(this.getString(R.string.referral_submitted)); } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equalsIgnoreCase(CoreConstants.EventType.ANC_PARTNER_COMMUNITY_FOLLOWUP_FEEDBACK)) { AllSharedPreferences allSharedPreferences = org.smartregister.util.Utils.getAllSharedPreferences(); - Event baseEvent = org.smartregister.chw.anc.util.JsonFormUtils.processJsonForm(allSharedPreferences,tagReferralFormId(jsonString, referralFormSubmissionId) , CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP_FEEDBACK); + Event baseEvent = org.smartregister.chw.anc.util.JsonFormUtils.processJsonForm(allSharedPreferences, tagReferralFormId(jsonString, referralFormSubmissionId), CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP_FEEDBACK); org.smartregister.chw.anc.util.JsonFormUtils.tagEvent(allSharedPreferences, baseEvent); baseEvent.setBaseEntityId(baseEntityID); NCUtils.processEvent(baseEvent.getBaseEntityId(), new JSONObject(org.smartregister.chw.anc.util.JsonFormUtils.gson.toJson(baseEvent))); @@ -265,7 +264,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { } private String tagReferralFormId(String jsonString, String formSubmissionId) throws JSONException { - JSONObject form = new JSONObject(jsonString); + JSONObject form = new JSONObject(jsonString); JSONArray fields = org.smartregister.util.JsonFormUtils.fields(form); JSONObject referralFormId = org.smartregister.util.JsonFormUtils.getFieldJSONObject(fields, ReferralFormId); assert referralFormId != null; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java index 5379e38eff..dcf0c6fd05 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java @@ -33,7 +33,6 @@ import org.smartregister.repository.AllSharedPreferences; import org.smartregister.repository.EventClientRepository; import org.smartregister.repository.UniqueIdRepository; -import org.smartregister.util.JsonFormUtils; import org.smartregister.view.activity.SecuredActivity; import java.util.ArrayList; @@ -46,7 +45,6 @@ import static com.vijay.jsonwizard.utils.FormUtils.fields; import static com.vijay.jsonwizard.utils.FormUtils.getFieldJSONObject; - import static org.smartregister.chw.anc.util.NCUtils.getClientProcessorForJava; import static org.smartregister.chw.anc.util.NCUtils.getSyncHelper; import static org.smartregister.chw.util.Constants.JsonForm.getPartnerRegistrationForm; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java index 701f74c9f6..e786696f99 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java @@ -22,7 +22,7 @@ public static boolean isPartnerRegistered(String referralFormSubmissionId) { return res.size() == 1; } - public static boolean hasPartnerAgreeForRegistration(String referralFormSubmissionId){ + public static boolean hasPartnerAgreeForRegistration(String referralFormSubmissionId) { DataMap dataMap = cursor -> getCursorValue(cursor, "partner_agree_attending_hf"); String sql = String.format( @@ -35,12 +35,13 @@ public static boolean hasPartnerAgreeForRegistration(String referralFormSubmissi List res = readData(sql, dataMap); - if(res.size() > 0){ + if (res.size() > 0) { return res.get(0).equalsIgnoreCase("yes"); } return false; } - public static boolean isPartnerFollowedUp(String referralFormSubmissionId){ + + public static boolean isPartnerFollowedUp(String referralFormSubmissionId) { DataMap dataMap = cursor -> getCursorValue(cursor, "client_found"); String sql = String.format( diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java index 9a080e1beb..ac89cfa855 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java @@ -21,7 +21,7 @@ public String getDefaultSortQuery() { public String getMainCondition() { return " " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DATE_REMOVED + " is null " + "AND " + CoreConstants.TABLE_NAME.ANC_MEMBER + "." + DBConstants.KEY.IS_CLOSED + " is 0 " + - "AND " + CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP + "." + org.smartregister.chw.hiv.util.DBConstants.Key.BASE_ENTITY_ID + " NOT IN "+ + "AND " + CoreConstants.TABLE_NAME.ANC_PARTNER_FOLLOWUP + "." + org.smartregister.chw.hiv.util.DBConstants.Key.BASE_ENTITY_ID + " NOT IN " + "(SELECT referral_form_id" + " FROM ec_anc_partner_community_feedback" + " WHERE client_found = 'no'" + From c1d2acad601fd113aabfefaa83e15133fd00756b Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 4 Mar 2022 12:35:38 +0300 Subject: [PATCH 295/915] Made field required --- .../json.form/anc_partner_community_followup_feedback.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json index a97c6b7407..91b4526110 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json @@ -230,6 +230,10 @@ "type": "edit_text", "hint": "Other reason", "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter other reason(s)" + }, "relevance": { "step1:reason_for_not_attending_hf": { "ex-checkbox": [ From eaf2faaec5f70d54d644c2e14414fd85d6626c90 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 4 Mar 2022 17:09:30 +0300 Subject: [PATCH 296/915] Implemented listing of pmtct community referrals in pmtct register --- opensrp-chw/build.gradle | 2 +- opensrp-chw/src/main/AndroidManifest.xml | 4 + .../chw/activity/PmtctProfileActivity.java | 232 ++++++++++++++++++ .../chw/activity/PmtctRegisterActivity.java | 31 +++ .../chw/application/ChwApplication.java | 15 ++ .../chw/custom_view/PmtctFloatingMenu.java | 12 + .../chw/fragment/PmtctRegisterFragment.java | 37 +++ .../chw/model/PmtctRegisterFragmentModel.java | 52 ++++ .../chw/presenter/PmtctProfilePresenter.java | 40 +++ .../PmtctRegisterFragmentPresenter.java | 22 ++ .../nacp/assets/ec_client_classification.json | 9 +- .../src/nacp/assets/ec_client_fields.json | 66 +++++ .../chw/application/ChwApplicationFlv.java | 7 +- .../chw/model/NavigationModelFlv.java | 5 +- 14 files changed, 529 insertions(+), 5 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctProfileActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/custom_view/PmtctFloatingMenu.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/PmtctRegisterFragmentModel.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctProfilePresenter.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctRegisterFragmentPresenter.java diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index cf83001814..88cdf9472a 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -320,7 +320,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.30.6-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.30.7-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index b3a195e9fb..04579a9dde 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -280,6 +280,10 @@ android:name=".activity.ChwReferralDetailsViewActivity" android:theme="@style/ChwTheme.NoActionBar" /> + + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctProfileActivity.java new file mode 100644 index 0000000000..ff97c45985 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctProfileActivity.java @@ -0,0 +1,232 @@ +package org.smartregister.chw.activity; + + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.view.Gravity; +import android.view.Menu; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.Toast; + +import androidx.annotation.NonNull; + +import org.apache.commons.lang3.StringUtils; +import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; +import org.smartregister.chw.core.activity.CorePmtctProfileActivity; +import org.smartregister.chw.core.custom_views.CorePmtctFloatingMenu; +import org.smartregister.chw.core.interactor.CorePmtctProfileInteractor; +import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.custom_view.PmtctFloatingMenu; +import org.smartregister.chw.model.FamilyProfileModel; +import org.smartregister.chw.pmtct.PmtctLibrary; +import org.smartregister.chw.pmtct.dao.PmtctDao; +import org.smartregister.chw.pmtct.domain.Visit; +import org.smartregister.chw.pmtct.util.Constants; +import org.smartregister.chw.presenter.FamilyOtherMemberActivityPresenter; +import org.smartregister.chw.presenter.PmtctProfilePresenter; +import org.smartregister.domain.AlertStatus; +import org.smartregister.family.contract.FamilyProfileContract; +import org.smartregister.family.domain.FamilyEventClient; +import org.smartregister.family.interactor.FamilyProfileInteractor; +import org.smartregister.family.model.BaseFamilyOtherMemberProfileActivityModel; +import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.family.util.Utils; + +import javax.annotation.Nullable; + +import timber.log.Timber; + +public class PmtctProfileActivity extends CorePmtctProfileActivity { + private static String baseEntityId; + + public static void startPmtctActivity(Activity activity, String baseEntityId) { + PmtctProfileActivity.baseEntityId = baseEntityId; + Intent intent = new Intent(activity, PmtctProfileActivity.class); + intent.putExtra(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID, baseEntityId); + activity.startActivity(intent); + } + + @Override + protected void initializePresenter() { + showProgressBar(true); + String baseEntityId = getIntent().getStringExtra(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID); + memberObject = PmtctDao.getMember(baseEntityId); + profilePresenter = new PmtctProfilePresenter(this, new CorePmtctProfileInteractor(), memberObject); + fetchProfileData(); + profilePresenter.refreshProfileBottom(); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + super.onCreateOptionsMenu(menu); + menu.findItem(R.id.action_remove_member).setVisible(false); + return true; + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == Constants.REQUEST_CODE_GET_JSON && resultCode == RESULT_OK) { + try { + String jsonString = data.getStringExtra(org.smartregister.family.util.Constants.JSON_FORM_EXTRA.JSON); + JSONObject form = new JSONObject(jsonString); + String encounterType = form.getString(JsonFormUtils.ENCOUNTER_TYPE); + if (encounterType.equals(Utils.metadata().familyMemberRegister.updateEventType)) { + FamilyEventClient familyEventClient = + new FamilyProfileModel(memberObject.getFamilyName()).processUpdateMemberRegistration(jsonString, memberObject.getBaseEntityId()); + new FamilyProfileInteractor().saveRegistration(familyEventClient, jsonString, true, (FamilyProfileContract.InteractorCallBack) profilePresenter); + } else { + profilePresenter.saveForm(data.getStringExtra(Constants.JSON_FORM_EXTRA.JSON)); + finish(); + } + } catch (Exception e) { + Timber.e(e, "PmtctProfileActivity -- > onActivityResult"); + } + } + } + + + @Override + public void initializeFloatingMenu() { + basePmtctFloatingMenu = new PmtctFloatingMenu(this, memberObject); + checkPhoneNumberProvided(StringUtils.isNotBlank(memberObject.getPhoneNumber())); + OnClickFloatingMenu onClickFloatingMenu = viewId -> { + switch (viewId) { + case R.id.pmtct_fab: + ((CorePmtctFloatingMenu) basePmtctFloatingMenu).animateFAB(); + break; + case R.id.call_layout: + ((CorePmtctFloatingMenu) basePmtctFloatingMenu).launchCallWidget(); + ((CorePmtctFloatingMenu) basePmtctFloatingMenu).animateFAB(); + break; + default: + Timber.d("Unknown fab action"); + break; + } + + }; + + ((CorePmtctFloatingMenu) basePmtctFloatingMenu).setFloatMenuClickListener(onClickFloatingMenu); + basePmtctFloatingMenu.setGravity(Gravity.BOTTOM | Gravity.END); + LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.MATCH_PARENT); + addContentView(basePmtctFloatingMenu, linearLayoutParams); + } + + @Override + public void refreshFamilyStatus(AlertStatus status) { + super.refreshFamilyStatus(status); + rlFamilyServicesDue.setVisibility(View.GONE); + } + + @NonNull + @Override + public FamilyOtherMemberActivityPresenter presenter() { + return new FamilyOtherMemberActivityPresenter(this, new BaseFamilyOtherMemberProfileActivityModel(), null, memberObject.getRelationalId(), memberObject.getBaseEntityId(), memberObject.getFamilyHead(), memberObject.getPrimaryCareGiver(), memberObject.getAddress(), memberObject.getLastName()); + } + + @Override + protected void removeMember() { + IndividualProfileRemoveActivity.startIndividualProfileActivity(this, + getClientDetailsByBaseEntityID(memberObject.getBaseEntityId()), + memberObject.getFamilyBaseEntityId(), memberObject.getFamilyHead(), + memberObject.getPrimaryCareGiver(), FpRegisterActivity.class.getCanonicalName()); + } + + @Override + public void setProfileImage(String s, String s1) { + //implement + } + + @Override + public void onClick(View view) { + super.onClick(view); + int id = view.getId(); + if (id == R.id.textview_edit) { + Toast.makeText(this, "Action Not Defined", Toast.LENGTH_SHORT).show(); + } + + } + + + public @Nullable + Visit getVisit(String eventType) { + return PmtctLibrary.getInstance().visitRepository().getLatestVisit(memberObject.getBaseEntityId(), eventType); + } + + @Override + public void setProfileDetailThree(String s) { + //implement + } + + @Override + public void toggleFamilyHead(boolean b) { + //implement + } + + @Override + public void togglePrimaryCaregiver(boolean b) { + //implement + } + + @Override + public void refreshList() { + //implement + } + + @Override + public void updateHasPhone(boolean hasPhone) { + //implement + } + + @Override + public void setFamilyServiceStatus(String status) { + //implement + } + + @Override + public Context getContext() { + return this; + } + + @Override + public void openUpcomingService() { + // executeOnLoaded(memberType -> MalariaUpcomingServicesActivity.startMe(PmtctProfileActivity.this, memberType.getMemberObject())); + } + + @Override + public void openFamilyDueServices() { + Intent intent = new Intent(this, FamilyProfileActivity.class); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_BASE_ENTITY_ID, memberObject.getFamilyBaseEntityId()); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_HEAD, memberObject.getFamilyHead()); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.PRIMARY_CAREGIVER, memberObject.getPrimaryCareGiver()); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_NAME, memberObject.getFamilyName()); + + intent.putExtra(CoreConstants.INTENT_KEY.SERVICE_DUE, true); + startActivity(intent); + } + + @Override + protected Class getFamilyProfileActivityClass() { + return FamilyProfileActivity.class; + } + + @Override + public void verifyHasPhone() { +// TODO implement check if has phone number + } + + @Override + public void notifyHasPhone(boolean b) { +// TODO notify if it has phone number + } + + private void checkPhoneNumberProvided(boolean hasPhoneNumber) { + ((CorePmtctFloatingMenu) basePmtctFloatingMenu).redraw(hasPhoneNumber); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java new file mode 100644 index 0000000000..ab9934ed1e --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java @@ -0,0 +1,31 @@ +package org.smartregister.chw.activity; + + +import android.os.Bundle; + +import org.smartregister.chw.core.activity.CorePmtctRegisterActivity; +import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.fragment.PmtctRegisterFragment; +import org.smartregister.helper.BottomNavigationHelper; +import org.smartregister.view.fragment.BaseRegisterFragment; + +public class PmtctRegisterActivity extends CorePmtctRegisterActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + NavigationMenu.getInstance(this, null, null); + } + + @Override + protected BaseRegisterFragment getRegisterFragment() { + return new PmtctRegisterFragment(); + } + + @Override + protected void registerBottomNavigation() { + bottomNavigationHelper = new BottomNavigationHelper(); + bottomNavigationView = findViewById(org.smartregister.R.id.bottom_navigation); + FamilyRegisterActivity.registerBottomNavigation(bottomNavigationHelper, bottomNavigationView, this); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index 5c7fb45b07..e585f3ac70 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -36,6 +36,7 @@ import org.smartregister.chw.activity.HivRegisterActivity; import org.smartregister.chw.activity.LoginActivity; import org.smartregister.chw.activity.MalariaRegisterActivity; +import org.smartregister.chw.activity.PmtctRegisterActivity; import org.smartregister.chw.activity.PncRegisterActivity; import org.smartregister.chw.activity.ReferralRegisterActivity; import org.smartregister.chw.activity.UpdatesRegisterActivity; @@ -54,6 +55,7 @@ import org.smartregister.chw.job.ChwJobCreator; import org.smartregister.chw.malaria.MalariaLibrary; import org.smartregister.chw.model.NavigationModelFlv; +import org.smartregister.chw.pmtct.PmtctLibrary; import org.smartregister.chw.pnc.PncLibrary; import org.smartregister.chw.provider.ChwAllClientsRegisterQueryProvider; import org.smartregister.chw.referral.ReferralLibrary; @@ -264,6 +266,11 @@ private void initializeLibraries() { TbLibrary.getInstance().setDatabaseVersion(BuildConfig.DATABASE_VERSION); } + if(hasPmtct()) { + //Setup pmtct library + PmtctLibrary.init(context, getRepository(), BuildConfig.VERSION_CODE, BuildConfig.DATABASE_VERSION); + } + OpdLibrary.init(context, getRepository(), new OpdConfiguration.Builder(ChwAllClientsRegisterQueryProvider.class) .setBottomNavigationEnabled(true) @@ -353,6 +360,7 @@ public Map getRegisteredActivities() { } registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.UPDATES_REGISTER_ACTIVITY, UpdatesRegisterActivity.class); + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.PMTCT_REGISTER_ACTIVITY, PmtctRegisterActivity.class); return registeredActivities; } @@ -387,6 +395,11 @@ public boolean hasTB() { return flavor.hasTB(); } + + public boolean hasPmtct() { + return flavor.hasPmtct(); + } + @Subscribe(threadMode = ThreadMode.MAIN) public void onVisitEvent(Visit visit) { if (visit != null) { @@ -463,6 +476,8 @@ public interface Flavor { boolean hasTB(); + boolean hasPmtct(); + boolean hasJobAidsDewormingGraph(); boolean hasChildrenMNPSupplementationGraph(); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/PmtctFloatingMenu.java b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/PmtctFloatingMenu.java new file mode 100644 index 0000000000..b407f627bc --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/PmtctFloatingMenu.java @@ -0,0 +1,12 @@ +package org.smartregister.chw.custom_view; + +import android.content.Context; + +import org.smartregister.chw.core.custom_views.CorePmtctFloatingMenu; +import org.smartregister.chw.pmtct.domain.MemberObject; + +public class PmtctFloatingMenu extends CorePmtctFloatingMenu { + public PmtctFloatingMenu(Context context, MemberObject MEMBER_OBJECT) { + super(context, MEMBER_OBJECT); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java new file mode 100644 index 0000000000..a8c3f8b4b9 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java @@ -0,0 +1,37 @@ +package org.smartregister.chw.fragment; + +import org.smartregister.chw.core.fragment.CorePmtctRegisterFragment; +import org.smartregister.chw.activity.PmtctProfileActivity; +import org.smartregister.chw.activity.PmtctRegisterActivity; +import org.smartregister.chw.model.PmtctRegisterFragmentModel; +import org.smartregister.chw.presenter.PmtctRegisterFragmentPresenter; + +import timber.log.Timber; + +public class PmtctRegisterFragment extends CorePmtctRegisterFragment { + @Override + protected void initializePresenter() { + if (getActivity() == null) { + return; + } + String viewConfigurationIdentifier = null; + try { + viewConfigurationIdentifier = ((PmtctRegisterActivity) getActivity()).getViewIdentifiers().get(0); + } catch (Exception e) { + Timber.e(e); + } + + presenter = new PmtctRegisterFragmentPresenter(this, new PmtctRegisterFragmentModel(), viewConfigurationIdentifier); + + } + + @Override + protected void openProfile(String baseEntityId) { + PmtctProfileActivity.startPmtctActivity(getActivity(), baseEntityId); + } + + @Override + protected void openFollowUpVisit(String baseEntityId) { + // PmtctFollowUpVisitActivity.startPmtctFollowUpActivity(getActivity(),baseEntityId); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/PmtctRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/PmtctRegisterFragmentModel.java new file mode 100644 index 0000000000..6e19315208 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/PmtctRegisterFragmentModel.java @@ -0,0 +1,52 @@ +package org.smartregister.chw.model; + +import androidx.annotation.NonNull; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.core.utils.ChildDBConstants; +import org.smartregister.chw.pmtct.model.BasePmtctRegisterFragmentModel; +import org.smartregister.chw.util.Constants; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.family.util.DBConstants; + +import java.util.HashSet; +import java.util.Set; + +public class PmtctRegisterFragmentModel extends BasePmtctRegisterFragmentModel { + @NonNull + @Override + public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { + SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + ".entity_id" + " = " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); + queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T1 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER + " = T1." + DBConstants.KEY.BASE_ENTITY_ID); + queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T2 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD + " = T2." + DBConstants.KEY.BASE_ENTITY_ID); + return queryBuilder.mainCondition(mainCondition); + } + + @Override + @NotNull + public String[] mainColumns(String tableName) { + Set columnList = new HashSet<>(); + + columnList.add(tableName + ".entity_id AS " + DBConstants.KEY.BASE_ENTITY_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.FIRST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.LAST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DOB); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.GENDER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.OTHER_PHONE_NUMBER); + columnList.add("T2." + DBConstants.KEY.PHONE_NUMBER + " AS " + org.smartregister.chw.tb.util.DBConstants.Key.FAMILY_HEAD_PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); + columnList.add("T1." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.PRIMARY_CAREGIVER); + columnList.add("T2." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.FAMILY_HEAD); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); + + return columnList.toArray(new String[columnList.size()]); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctProfilePresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctProfilePresenter.java new file mode 100644 index 0000000000..e8933db0bc --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctProfilePresenter.java @@ -0,0 +1,40 @@ +package org.smartregister.chw.presenter; + +import org.apache.commons.lang3.tuple.Triple; +import org.smartregister.chw.core.contract.CorePmtctProfileContract; +import org.smartregister.chw.core.presenter.CorePmtctMemberProfilePresenter; +import org.smartregister.chw.pmtct.domain.MemberObject; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.family.contract.FamilyProfileContract; +import org.smartregister.family.domain.FamilyEventClient; + +public class PmtctProfilePresenter extends CorePmtctMemberProfilePresenter implements FamilyProfileContract.InteractorCallBack { + public PmtctProfilePresenter(CorePmtctProfileContract.View view, CorePmtctProfileContract.Interactor interactor, MemberObject memberObject) { + super(view, interactor, memberObject); + } + + @Override + public void startFormForEdit(CommonPersonObjectClient commonPersonObjectClient) { + //implement + } + + @Override + public void refreshProfileTopSection(CommonPersonObjectClient commonPersonObjectClient) { + //implement + } + + @Override + public void onUniqueIdFetched(Triple triple, String s) { + //implement + } + + @Override + public void onNoUniqueId() { + //implement + } + + @Override + public void onRegistrationSaved(boolean b, boolean b1, FamilyEventClient familyEventClient) { + //implement + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctRegisterFragmentPresenter.java new file mode 100644 index 0000000000..7132549284 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctRegisterFragmentPresenter.java @@ -0,0 +1,22 @@ +package org.smartregister.chw.presenter; + +import static org.smartregister.chw.core.utils.CoreConstants.TABLE_NAME; + +import org.smartregister.chw.pmtct.contract.PmtctRegisterFragmentContract; +import org.smartregister.chw.pmtct.presenter.BasePmtctRegisterFragmentPresenter; + +public class PmtctRegisterFragmentPresenter extends BasePmtctRegisterFragmentPresenter { + public PmtctRegisterFragmentPresenter(PmtctRegisterFragmentContract.View view, PmtctRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { + super(view, model, viewConfigurationIdentifier); + } + + @Override + public String getMainCondition() { + return " ec_family_member.date_removed is null"; + } + + @Override + public String getMainTable() { + return TABLE_NAME.PMTCT_COMMUNITY_FOLLOWUP; + } +} diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index 424e6c3cf6..8ad0231768 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -453,11 +453,18 @@ ] }, { - "field":"eventType", + "field": "eventType", "field_value": "Pregnancy Unconfirmed", "closes_case": [ "ec_anc_register" ] + }, + { + "field": "eventType", + "field_value": "PMTCT Community Followup", + "creates_case": [ + "ec_pmtct_community_followup" + ] } ] } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 12391f384e..69efe2347a 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -3382,6 +3382,72 @@ } } ] + }, + { + "name": "ec_pmtct_community_followup", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "last_client_visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "last_client_visit_date" + } + }, + { + "column_name": "pmtct_community_referral_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "pmtct_community_referral_date" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment_pmtct_community_followup" + } + }, + { + "column_name": "reasons_for_issuing_community_referral", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "reasons_for_issuing_community_referral" + } + } + ] } ] } \ No newline at end of file diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java index cd7337442d..9ca97240b8 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java @@ -90,7 +90,12 @@ public boolean hasFamilyLocationRow() { @Override public boolean hasTB() { - return true; + return true; + } + + @Override + public boolean hasPmtct() { + return true; } @Override diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java index c2dbd46a7c..ff90bca9b5 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -31,12 +31,13 @@ public List getNavigationItems() { NavigationOption op10 = new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0); NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.CBHS_CLIENTS, 0); NavigationOption op12 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_index_contacts, CoreConstants.DrawerMenu.HIV_INDEX_CLIENTS, 0); - NavigationOption op13 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); + NavigationOption op13 = new NavigationOption(R.drawable.sidemenu_pmtct,R.drawable.sidemenu_pmtct_active,R.string.menu_pmtct,CoreConstants.DrawerMenu.PMTCT,0); + NavigationOption op14 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); //Reordered the Items as requested by Ministry of Health National AIDS Control Program (NACP) if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { - navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op6, op8, op2, op7, op13, op9)); + navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3,op14, op5, op6, op8, op2, op7, op13, op9)); } else { navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) From 16929937e34b95b6723c7a1e951313ba2d31f18f Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sat, 5 Mar 2022 10:38:38 +0300 Subject: [PATCH 297/915] refactored pmtct register provider --- .../chw/fragment/PmtctRegisterFragment.java | 14 ++++++++++++ .../chw/provider/PmtctRegisterProvider.java | 22 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/provider/PmtctRegisterProvider.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java index a8c3f8b4b9..dbd13e3725 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java @@ -3,8 +3,14 @@ import org.smartregister.chw.core.fragment.CorePmtctRegisterFragment; import org.smartregister.chw.activity.PmtctProfileActivity; import org.smartregister.chw.activity.PmtctRegisterActivity; +import org.smartregister.chw.core.provider.CorePmtctRegisterProvider; import org.smartregister.chw.model.PmtctRegisterFragmentModel; import org.smartregister.chw.presenter.PmtctRegisterFragmentPresenter; +import org.smartregister.chw.provider.PmtctRegisterProvider; +import org.smartregister.configurableviews.model.View; +import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; + +import java.util.Set; import timber.log.Timber; @@ -30,6 +36,14 @@ protected void openProfile(String baseEntityId) { PmtctProfileActivity.startPmtctActivity(getActivity(), baseEntityId); } + @Override + public void initializeAdapter(Set visibleColumns) { + PmtctRegisterProvider pmtctRegisterProvider = new PmtctRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); + clientAdapter = new RecyclerViewPaginatedAdapter(null, pmtctRegisterProvider, context().commonrepository(this.tablename)); + clientAdapter.setCurrentlimit(20); + clientsView.setAdapter(clientAdapter); + } + @Override protected void openFollowUpVisit(String baseEntityId) { // PmtctFollowUpVisitActivity.startPmtctFollowUpActivity(getActivity(),baseEntityId); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/PmtctRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/PmtctRegisterProvider.java new file mode 100644 index 0000000000..6607603135 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/PmtctRegisterProvider.java @@ -0,0 +1,22 @@ +package org.smartregister.chw.provider; + +import android.content.Context; +import android.database.Cursor; +import android.view.View; + +import org.smartregister.chw.core.provider.CorePmtctRegisterProvider; +import org.smartregister.view.contract.SmartRegisterClient; + +import java.util.Set; + +public class PmtctRegisterProvider extends CorePmtctRegisterProvider { + public PmtctRegisterProvider(Context context, View.OnClickListener paginationClickListener, View.OnClickListener onClickListener, Set visibleColumns) { + super(context, paginationClickListener, onClickListener, visibleColumns); + } + + @Override + public void getView(Cursor cursor, SmartRegisterClient smartRegisterClient, RegisterViewHolder registerViewHolder) { + super.getView(cursor, smartRegisterClient, registerViewHolder); + registerViewHolder.dueWrapper.setVisibility(View.GONE); + } +} From 88b57edef06f21a5341cf478b4f20c41a4fdba25 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sat, 5 Mar 2022 14:58:19 +0300 Subject: [PATCH 298/915] Implemented pmtct followup details activity --- opensrp-chw/src/main/AndroidManifest.xml | 77 ++- .../chw/activity/PmtctProfileActivity.java | 232 --------- .../chw/activity/PmtctcDetailsActivity.java | 154 ++++++ .../org/smartregister/chw/dao/PmtctDao.java | 94 ++++ .../chw/domain/PmtctReferralMemberObject.java | 44 ++ .../chw/fragment/PmtctRegisterFragment.java | 9 +- .../chw/presenter/PmtctProfilePresenter.java | 40 -- .../res/layout/activity_pmtctc_details.xml | 486 ++++++++++++++++++ opensrp-chw/src/main/res/values/strings.xml | 21 - .../chw/model/NavigationModelFlv.java | 4 +- .../src/nacp/res/values-sw/strings.xml | 1 + opensrp-chw/src/nacp/res/values/strings.xml | 1 + 12 files changed, 816 insertions(+), 347 deletions(-) delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctProfileActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/domain/PmtctReferralMemberObject.java delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctProfilePresenter.java create mode 100644 opensrp-chw/src/main/res/layout/activity_pmtctc_details.xml diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 04579a9dde..4f3d68453c 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -3,6 +3,30 @@ xmlns:tools="http://schemas.android.com/tools" package="org.smartregister.chw"> + + + + + + + + + + + + + + + + + + + @@ -179,7 +204,6 @@ android:name=".core.activity.ServiceJsonFormActivity" android:label="@string/stock_usage_report" android:theme="@style/ChwTheme.NoActionBar" /> - - - @@ -201,50 +223,41 @@ - - - - - - - - - @@ -252,37 +265,33 @@ android:name=".core.activity.CoreTbUpcomingServicesActivity" android:label="@string/upcoming_services" android:theme="@style/ChwTheme.NoActionBar" /> - - - - - - - + - + - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctProfileActivity.java deleted file mode 100644 index ff97c45985..0000000000 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctProfileActivity.java +++ /dev/null @@ -1,232 +0,0 @@ -package org.smartregister.chw.activity; - - -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.view.Gravity; -import android.view.Menu; -import android.view.View; -import android.widget.LinearLayout; -import android.widget.Toast; - -import androidx.annotation.NonNull; - -import org.apache.commons.lang3.StringUtils; -import org.json.JSONObject; -import org.smartregister.chw.R; -import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; -import org.smartregister.chw.core.activity.CorePmtctProfileActivity; -import org.smartregister.chw.core.custom_views.CorePmtctFloatingMenu; -import org.smartregister.chw.core.interactor.CorePmtctProfileInteractor; -import org.smartregister.chw.core.listener.OnClickFloatingMenu; -import org.smartregister.chw.core.utils.CoreConstants; -import org.smartregister.chw.custom_view.PmtctFloatingMenu; -import org.smartregister.chw.model.FamilyProfileModel; -import org.smartregister.chw.pmtct.PmtctLibrary; -import org.smartregister.chw.pmtct.dao.PmtctDao; -import org.smartregister.chw.pmtct.domain.Visit; -import org.smartregister.chw.pmtct.util.Constants; -import org.smartregister.chw.presenter.FamilyOtherMemberActivityPresenter; -import org.smartregister.chw.presenter.PmtctProfilePresenter; -import org.smartregister.domain.AlertStatus; -import org.smartregister.family.contract.FamilyProfileContract; -import org.smartregister.family.domain.FamilyEventClient; -import org.smartregister.family.interactor.FamilyProfileInteractor; -import org.smartregister.family.model.BaseFamilyOtherMemberProfileActivityModel; -import org.smartregister.family.util.JsonFormUtils; -import org.smartregister.family.util.Utils; - -import javax.annotation.Nullable; - -import timber.log.Timber; - -public class PmtctProfileActivity extends CorePmtctProfileActivity { - private static String baseEntityId; - - public static void startPmtctActivity(Activity activity, String baseEntityId) { - PmtctProfileActivity.baseEntityId = baseEntityId; - Intent intent = new Intent(activity, PmtctProfileActivity.class); - intent.putExtra(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID, baseEntityId); - activity.startActivity(intent); - } - - @Override - protected void initializePresenter() { - showProgressBar(true); - String baseEntityId = getIntent().getStringExtra(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID); - memberObject = PmtctDao.getMember(baseEntityId); - profilePresenter = new PmtctProfilePresenter(this, new CorePmtctProfileInteractor(), memberObject); - fetchProfileData(); - profilePresenter.refreshProfileBottom(); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - super.onCreateOptionsMenu(menu); - menu.findItem(R.id.action_remove_member).setVisible(false); - return true; - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (requestCode == Constants.REQUEST_CODE_GET_JSON && resultCode == RESULT_OK) { - try { - String jsonString = data.getStringExtra(org.smartregister.family.util.Constants.JSON_FORM_EXTRA.JSON); - JSONObject form = new JSONObject(jsonString); - String encounterType = form.getString(JsonFormUtils.ENCOUNTER_TYPE); - if (encounterType.equals(Utils.metadata().familyMemberRegister.updateEventType)) { - FamilyEventClient familyEventClient = - new FamilyProfileModel(memberObject.getFamilyName()).processUpdateMemberRegistration(jsonString, memberObject.getBaseEntityId()); - new FamilyProfileInteractor().saveRegistration(familyEventClient, jsonString, true, (FamilyProfileContract.InteractorCallBack) profilePresenter); - } else { - profilePresenter.saveForm(data.getStringExtra(Constants.JSON_FORM_EXTRA.JSON)); - finish(); - } - } catch (Exception e) { - Timber.e(e, "PmtctProfileActivity -- > onActivityResult"); - } - } - } - - - @Override - public void initializeFloatingMenu() { - basePmtctFloatingMenu = new PmtctFloatingMenu(this, memberObject); - checkPhoneNumberProvided(StringUtils.isNotBlank(memberObject.getPhoneNumber())); - OnClickFloatingMenu onClickFloatingMenu = viewId -> { - switch (viewId) { - case R.id.pmtct_fab: - ((CorePmtctFloatingMenu) basePmtctFloatingMenu).animateFAB(); - break; - case R.id.call_layout: - ((CorePmtctFloatingMenu) basePmtctFloatingMenu).launchCallWidget(); - ((CorePmtctFloatingMenu) basePmtctFloatingMenu).animateFAB(); - break; - default: - Timber.d("Unknown fab action"); - break; - } - - }; - - ((CorePmtctFloatingMenu) basePmtctFloatingMenu).setFloatMenuClickListener(onClickFloatingMenu); - basePmtctFloatingMenu.setGravity(Gravity.BOTTOM | Gravity.END); - LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, - LinearLayout.LayoutParams.MATCH_PARENT); - addContentView(basePmtctFloatingMenu, linearLayoutParams); - } - - @Override - public void refreshFamilyStatus(AlertStatus status) { - super.refreshFamilyStatus(status); - rlFamilyServicesDue.setVisibility(View.GONE); - } - - @NonNull - @Override - public FamilyOtherMemberActivityPresenter presenter() { - return new FamilyOtherMemberActivityPresenter(this, new BaseFamilyOtherMemberProfileActivityModel(), null, memberObject.getRelationalId(), memberObject.getBaseEntityId(), memberObject.getFamilyHead(), memberObject.getPrimaryCareGiver(), memberObject.getAddress(), memberObject.getLastName()); - } - - @Override - protected void removeMember() { - IndividualProfileRemoveActivity.startIndividualProfileActivity(this, - getClientDetailsByBaseEntityID(memberObject.getBaseEntityId()), - memberObject.getFamilyBaseEntityId(), memberObject.getFamilyHead(), - memberObject.getPrimaryCareGiver(), FpRegisterActivity.class.getCanonicalName()); - } - - @Override - public void setProfileImage(String s, String s1) { - //implement - } - - @Override - public void onClick(View view) { - super.onClick(view); - int id = view.getId(); - if (id == R.id.textview_edit) { - Toast.makeText(this, "Action Not Defined", Toast.LENGTH_SHORT).show(); - } - - } - - - public @Nullable - Visit getVisit(String eventType) { - return PmtctLibrary.getInstance().visitRepository().getLatestVisit(memberObject.getBaseEntityId(), eventType); - } - - @Override - public void setProfileDetailThree(String s) { - //implement - } - - @Override - public void toggleFamilyHead(boolean b) { - //implement - } - - @Override - public void togglePrimaryCaregiver(boolean b) { - //implement - } - - @Override - public void refreshList() { - //implement - } - - @Override - public void updateHasPhone(boolean hasPhone) { - //implement - } - - @Override - public void setFamilyServiceStatus(String status) { - //implement - } - - @Override - public Context getContext() { - return this; - } - - @Override - public void openUpcomingService() { - // executeOnLoaded(memberType -> MalariaUpcomingServicesActivity.startMe(PmtctProfileActivity.this, memberType.getMemberObject())); - } - - @Override - public void openFamilyDueServices() { - Intent intent = new Intent(this, FamilyProfileActivity.class); - intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_BASE_ENTITY_ID, memberObject.getFamilyBaseEntityId()); - intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_HEAD, memberObject.getFamilyHead()); - intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.PRIMARY_CAREGIVER, memberObject.getPrimaryCareGiver()); - intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.FAMILY_NAME, memberObject.getFamilyName()); - - intent.putExtra(CoreConstants.INTENT_KEY.SERVICE_DUE, true); - startActivity(intent); - } - - @Override - protected Class getFamilyProfileActivityClass() { - return FamilyProfileActivity.class; - } - - @Override - public void verifyHasPhone() { -// TODO implement check if has phone number - } - - @Override - public void notifyHasPhone(boolean b) { -// TODO notify if it has phone number - } - - private void checkPhoneNumberProvided(boolean hasPhoneNumber) { - ((CorePmtctFloatingMenu) basePmtctFloatingMenu).redraw(hasPhoneNumber); - } -} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java new file mode 100644 index 0000000000..978ece7545 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java @@ -0,0 +1,154 @@ +package org.smartregister.chw.activity; + +import android.annotation.SuppressLint; +import android.app.Activity; +import android.content.Intent; +import android.graphics.PorterDuff; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.view.View; + +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.widget.Toolbar; + +import com.google.android.material.appbar.AppBarLayout; + +import org.apache.commons.lang3.StringUtils; +import org.smartregister.chw.R; +import org.smartregister.chw.dao.PmtctDao; +import org.smartregister.chw.domain.PmtctReferralMemberObject; +import org.smartregister.view.activity.SecuredActivity; +import org.smartregister.view.customcontrols.CustomFontTextView; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Locale; + +public class PmtctcDetailsActivity extends SecuredActivity implements View.OnClickListener { + private CustomFontTextView clientName; + private CustomFontTextView careGiverName; + private CustomFontTextView careGiverPhone; + private CustomFontTextView comments; + private CustomFontTextView referralDate; + private CustomFontTextView lastFacilityVisitDate; + private CustomFontTextView referralType; + private CustomFontTextView locationName; + private CustomFontTextView markAsDone; + private String baseEntityId; + private PmtctReferralMemberObject memberObject; + public static final String PMTCT_MEMBER_OBJECT = "PMTCT_MEMBER_OBJECT"; + + public static void startPmtctDetailsActivity(Activity activity, String baseEntityId) { + Intent intent = new Intent(activity, PmtctcDetailsActivity.class); + intent.putExtra(PMTCT_MEMBER_OBJECT, baseEntityId); + activity.startActivity(intent); + } + + @Override + protected void onCreation() { + setContentView(R.layout.activity_pmtctc_details); + inflateToolbar(); + + baseEntityId = getIntent().getStringExtra(PMTCT_MEMBER_OBJECT); + memberObject = PmtctDao.getPmtctReferralMemberObject(baseEntityId); + setUpViews(); + } + + @Override + protected void onResumption() { + + } + + protected AppBarLayout appBarLayout; + + private void inflateToolbar() { + Toolbar toolbar = findViewById(R.id.back_pmtct_toolbar); + CustomFontTextView toolBarTextView = toolbar.findViewById(R.id.toolbar_title); + setSupportActionBar(toolbar); + + ActionBar supportActionBar = getSupportActionBar(); + supportActionBar.setDisplayHomeAsUpEnabled(true); + + Drawable upArrow = getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp); + + upArrow.setColorFilter(getResources().getColor(R.color.text_blue), PorterDuff.Mode.SRC_ATOP); + supportActionBar.setHomeAsUpIndicator(upArrow); + supportActionBar.setElevation(0f); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + toolbar.setNavigationOnClickListener(view -> finish()); + } + + toolBarTextView.setText(R.string.back_to_pmtct); + appBarLayout = findViewById(R.id.app_bar); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) + appBarLayout.setOutlineProvider(null); + } + + private void setUpViews() { + clientName = findViewById(R.id.client_name); + careGiverName = findViewById(R.id.care_giver_name); + careGiverPhone = findViewById(R.id.care_giver_phone); + comments = findViewById(R.id.comments); + referralDate = findViewById(R.id.referral_date); + lastFacilityVisitDate = findViewById(R.id.last_facility_visit_date); + referralType = findViewById(R.id.referral_type); + locationName = findViewById(R.id.location_name); + markAsDone = findViewById(R.id.mark_ask_done); + markAsDone.setOnClickListener(this); + obtainReferralDetails(); + } + + + @SuppressLint("SetTextI18n") + private void obtainReferralDetails() { + clientName.setText(memberObject.getFirstName() + " " + memberObject.getMiddleName() + " " + memberObject.getLastName() + ", " + memberObject.getAge()); + SimpleDateFormat dateFormatter = new SimpleDateFormat("dd MMM yyyy", Locale.getDefault()); + Calendar referralDateCalendar = Calendar.getInstance(); + referralDateCalendar.setTimeInMillis(memberObject.getPmtctCommunityReferralDate().getTime()); + referralDate.setText(dateFormatter.format(referralDateCalendar.getTime())); + + referralDateCalendar.setTimeInMillis(memberObject.getLastFacilityVisitDate().getTime()); + lastFacilityVisitDate.setText(dateFormatter.format(referralDateCalendar.getTime())); + locationName.setText(memberObject.getAddress()); + + referralType.setText(memberObject.getReasonsForIssuingCommunityFollowupReferral()); + if (memberObject.getPrimaryCareGiver() != null) + careGiverName.setText(String.format("CG : %s", memberObject.getPrimaryCareGiverName())); + else + careGiverName.setVisibility(View.GONE); + + + if (StringUtils.isBlank(getFamilyMemberContacts()) && StringUtils.isEmpty(getFamilyMemberContacts())) { + careGiverPhone.setText(getString(R.string.phone_not_provided)); + } else { + careGiverPhone.setText(getFamilyMemberContacts()); + } + + if (StringUtils.isNotBlank(memberObject.getComments()) && StringUtils.isNotEmpty(memberObject.getComments())) { + comments.setText(memberObject.getComments()); + } + } + + + private String getFamilyMemberContacts() { + String phoneNumber = ""; + String familyPhoneNumber = memberObject.getPhoneNumber(); + String familyHeadPhoneNumber = memberObject.getFamilyHeadPhoneNumber(); + String primaryCareGiverPhoneNumber = memberObject.getFamilyHeadPhoneNumber(); + + if (StringUtils.isNoneEmpty(familyPhoneNumber)) { + phoneNumber = familyPhoneNumber; + } else if (StringUtils.isEmpty(familyHeadPhoneNumber) && StringUtils.isNoneEmpty()) { + phoneNumber = familyHeadPhoneNumber; + } else if (StringUtils.isEmpty(primaryCareGiverPhoneNumber) && StringUtils.isNoneEmpty()) { + phoneNumber = primaryCareGiverPhoneNumber; + } + return phoneNumber; + } + + @Override + public void onClick(View view) { + + } +} \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java new file mode 100644 index 0000000000..e9d2c8d600 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java @@ -0,0 +1,94 @@ +package org.smartregister.chw.dao; + +import org.smartregister.chw.domain.PmtctReferralMemberObject; + +import java.text.SimpleDateFormat; +import java.util.List; +import java.util.Locale; + +public class PmtctDao extends org.smartregister.chw.pmtct.dao.PmtctDao { + public static PmtctReferralMemberObject getPmtctReferralMemberObject(String baseEntityId) { + String sql = "select m.base_entity_id,\n" + + " m.unique_id,\n" + + " m.relational_id,\n" + + " m.dob,\n" + + " m.first_name,\n" + + " m.middle_name,\n" + + " m.last_name,\n" + + " m.gender,\n" + + " m.phone_number,\n" + + " m.other_phone_number,\n" + + " f.first_name family_name,\n" + + " f.primary_caregiver,\n" + + " f.family_head,\n" + + " f.village_town,\n" + + " fh.first_name family_head_first_name,\n" + + " fh.middle_name family_head_middle_name,\n" + + " fh.last_name family_head_last_name,\n" + + " fh.phone_number family_head_phone_number,\n" + + " ancr.is_closed anc_is_closed,\n" + + " pncr.is_closed pnc_is_closed,\n" + + " pcg.first_name pcg_first_name,\n" + + " pcg.last_name pcg_last_name,\n" + + " pcg.middle_name pcg_middle_name,\n" + + " pcg.phone_number pcg_phone_number,\n" + + " mr.*\n" + + "from ec_family_member m\n" + + " inner join ec_family f on m.relational_id = f.base_entity_id\n" + + " inner join ec_pmtct_community_followup mr on mr.entity_id = m.base_entity_id\n" + + " left join ec_family_member fh on fh.base_entity_id = f.family_head\n" + + " left join ec_family_member pcg on pcg.base_entity_id = f.primary_caregiver\n" + + " left join ec_anc_register ancr on ancr.base_entity_id = m.base_entity_id\n" + + " left join ec_pregnancy_outcome pncr on pncr.base_entity_id = m.base_entity_id\n" + + " where mr.base_entity_id ='" + baseEntityId + "' "; + SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()); + + DataMap dataMap = cursor -> { + PmtctReferralMemberObject memberObject = new PmtctReferralMemberObject(); + + memberObject.setFirstName(getCursorValue(cursor, "first_name", "")); + memberObject.setMiddleName(getCursorValue(cursor, "middle_name", "")); + memberObject.setLastName(getCursorValue(cursor, "last_name", "")); + memberObject.setAddress(getCursorValue(cursor, "village_town")); + memberObject.setGender(getCursorValue(cursor, "gender")); + memberObject.setUniqueId(getCursorValue(cursor, "unique_id", "")); + memberObject.setAge(getCursorValue(cursor, "dob")); + memberObject.setFamilyBaseEntityId(getCursorValue(cursor, "relational_id", "")); + memberObject.setRelationalId(getCursorValue(cursor, "relational_id", "")); + memberObject.setPrimaryCareGiver(getCursorValue(cursor, "primary_caregiver")); + memberObject.setFamilyName(getCursorValue(cursor, "family_name", "")); + memberObject.setPhoneNumber(getCursorValue(cursor, "phone_number", "")); + memberObject.setBaseEntityId(getCursorValue(cursor, "base_entity_id", "")); + memberObject.setFamilyHead(getCursorValue(cursor, "family_head", "")); + memberObject.setFamilyHeadPhoneNumber(getCursorValue(cursor, "pcg_phone_number", "")); + memberObject.setFamilyHeadPhoneNumber(getCursorValue(cursor, "family_head_phone_number", "")); + + memberObject.setPmtctCommunityReferralDate(getCursorValueAsDate(cursor, "pmtct_community_referral_date", getNativeFormsDateFormat())); + memberObject.setLastFacilityVisitDate(getCursorValueAsDate(cursor, "last_client_visit_date", getNativeFormsDateFormat())); + memberObject.setReasonsForIssuingCommunityFollowupReferral(getCursorValue(cursor, "pmtct_community_referral_date", "")); + memberObject.setComments(getCursorValue(cursor, "comment", "")); + + String familyHeadName = getCursorValue(cursor, "family_head_first_name", "") + " " + + getCursorValue(cursor, "family_head_middle_name", ""); + + familyHeadName = + (familyHeadName.trim() + " " + getCursorValue(cursor, "family_head_last_name", "")).trim(); + memberObject.setFamilyHeadName(familyHeadName); + + String familyPcgName = getCursorValue(cursor, "pcg_first_name", "") + " " + + getCursorValue(cursor, "pcg_middle_name", ""); + + familyPcgName = + (familyPcgName.trim() + " " + getCursorValue(cursor, "pcg_last_name", "")).trim(); + memberObject.setPrimaryCareGiverName(familyPcgName); + + return memberObject; + }; + + List res = readData(sql, dataMap); + if (res == null || res.size() != 1) + return null; + + return res.get(0); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/PmtctReferralMemberObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/PmtctReferralMemberObject.java new file mode 100644 index 0000000000..703392eba3 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/PmtctReferralMemberObject.java @@ -0,0 +1,44 @@ +package org.smartregister.chw.domain; + +import org.smartregister.chw.pmtct.domain.MemberObject; + +import java.util.Date; + +public class PmtctReferralMemberObject extends MemberObject { + private Date pmtctCommunityReferralDate; + private Date lastFacilityVisitDate; + private String reasonsForIssuingCommunityFollowupReferral; + private String comments; + + public String getReasonsForIssuingCommunityFollowupReferral() { + return reasonsForIssuingCommunityFollowupReferral; + } + + public void setReasonsForIssuingCommunityFollowupReferral(String reasonsForIssuingCommunityFollowupReferral) { + this.reasonsForIssuingCommunityFollowupReferral = reasonsForIssuingCommunityFollowupReferral; + } + + public Date getPmtctCommunityReferralDate() { + return pmtctCommunityReferralDate; + } + + public void setPmtctCommunityReferralDate(Date pmtctCommunityReferralDate) { + this.pmtctCommunityReferralDate = pmtctCommunityReferralDate; + } + + public Date getLastFacilityVisitDate() { + return lastFacilityVisitDate; + } + + public void setLastFacilityVisitDate(Date lastFacilityVisitDate) { + this.lastFacilityVisitDate = lastFacilityVisitDate; + } + + public String getComments() { + return comments; + } + + public void setComments(String comments) { + this.comments = comments; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java index dbd13e3725..55e6c06c8f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java @@ -1,9 +1,8 @@ package org.smartregister.chw.fragment; -import org.smartregister.chw.core.fragment.CorePmtctRegisterFragment; -import org.smartregister.chw.activity.PmtctProfileActivity; import org.smartregister.chw.activity.PmtctRegisterActivity; -import org.smartregister.chw.core.provider.CorePmtctRegisterProvider; +import org.smartregister.chw.activity.PmtctcDetailsActivity; +import org.smartregister.chw.core.fragment.CorePmtctRegisterFragment; import org.smartregister.chw.model.PmtctRegisterFragmentModel; import org.smartregister.chw.presenter.PmtctRegisterFragmentPresenter; import org.smartregister.chw.provider.PmtctRegisterProvider; @@ -33,7 +32,7 @@ protected void initializePresenter() { @Override protected void openProfile(String baseEntityId) { - PmtctProfileActivity.startPmtctActivity(getActivity(), baseEntityId); + PmtctcDetailsActivity.startPmtctDetailsActivity(getActivity(), baseEntityId); } @Override @@ -46,6 +45,6 @@ public void initializeAdapter(Set visibleColumns) { @Override protected void openFollowUpVisit(String baseEntityId) { - // PmtctFollowUpVisitActivity.startPmtctFollowUpActivity(getActivity(),baseEntityId); + // PmtctFollowUpVisitActivity.startPmtctFollowUpActivity(getActivity(),baseEntityId); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctProfilePresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctProfilePresenter.java deleted file mode 100644 index e8933db0bc..0000000000 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctProfilePresenter.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.smartregister.chw.presenter; - -import org.apache.commons.lang3.tuple.Triple; -import org.smartregister.chw.core.contract.CorePmtctProfileContract; -import org.smartregister.chw.core.presenter.CorePmtctMemberProfilePresenter; -import org.smartregister.chw.pmtct.domain.MemberObject; -import org.smartregister.commonregistry.CommonPersonObjectClient; -import org.smartregister.family.contract.FamilyProfileContract; -import org.smartregister.family.domain.FamilyEventClient; - -public class PmtctProfilePresenter extends CorePmtctMemberProfilePresenter implements FamilyProfileContract.InteractorCallBack { - public PmtctProfilePresenter(CorePmtctProfileContract.View view, CorePmtctProfileContract.Interactor interactor, MemberObject memberObject) { - super(view, interactor, memberObject); - } - - @Override - public void startFormForEdit(CommonPersonObjectClient commonPersonObjectClient) { - //implement - } - - @Override - public void refreshProfileTopSection(CommonPersonObjectClient commonPersonObjectClient) { - //implement - } - - @Override - public void onUniqueIdFetched(Triple triple, String s) { - //implement - } - - @Override - public void onNoUniqueId() { - //implement - } - - @Override - public void onRegistrationSaved(boolean b, boolean b1, FamilyEventClient familyEventClient) { - //implement - } -} diff --git a/opensrp-chw/src/main/res/layout/activity_pmtctc_details.xml b/opensrp-chw/src/main/res/layout/activity_pmtctc_details.xml new file mode 100644 index 0000000000..eee44a7b0a --- /dev/null +++ b/opensrp-chw/src/main/res/layout/activity_pmtctc_details.xml @@ -0,0 +1,486 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 7ab90140af..8a3caadaae 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -123,27 +123,6 @@ Children (6–23 months) who did not receive Vitamin A in the last 6 months - - - - - - - - - - - - - - - - - - - - - OPV 0 not included Yes diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java index ff90bca9b5..a2ebb5eceb 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -34,10 +34,8 @@ public List getNavigationItems() { NavigationOption op13 = new NavigationOption(R.drawable.sidemenu_pmtct,R.drawable.sidemenu_pmtct_active,R.string.menu_pmtct,CoreConstants.DrawerMenu.PMTCT,0); NavigationOption op14 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); - - //Reordered the Items as requested by Ministry of Health National AIDS Control Program (NACP) if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { - navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3,op14, op5, op6, op8, op2, op7, op13, op9)); + navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5,op2,op13, op8,op9,op7,op6,op14)); } else { navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 2b9ab91f48..e853bd1a84 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -26,4 +26,5 @@ Ufuatiliaji wa VVU UWANYU (%2$s)
    ]]> Hiari + Back to PMTCT Clients \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 39bb0ec900..cd99677be2 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -21,4 +21,5 @@ CBHS Clients Any Changes You Made Will Be Discarded Independent + Back to PMTCT Clients \ No newline at end of file From a1fccbed6ad416804836d4cc6979dba8cde0056a Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sat, 5 Mar 2022 15:41:14 +0300 Subject: [PATCH 299/915] fixed issues in refreshSyncProgressSpinner in pmtct register --- .../chw/fragment/PmtctRegisterFragment.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java index 55e6c06c8f..cb37380fc3 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java @@ -47,4 +47,23 @@ public void initializeAdapter(Set visibleColumns) { protected void openFollowUpVisit(String baseEntityId) { // PmtctFollowUpVisitActivity.startPmtctFollowUpActivity(getActivity(),baseEntityId); } + + @Override + protected void refreshSyncProgressSpinner() { + if (isSyncing()) { + if (syncProgressBar != null) { + syncProgressBar.setVisibility(android.view.View.VISIBLE); + } + if (syncButton != null) { + syncButton.setVisibility(android.view.View.GONE); + } + } else { + if (syncProgressBar != null) { + syncProgressBar.setVisibility(android.view.View.GONE); + } + if (syncButton != null) { + syncButton.setVisibility(android.view.View.GONE); + } + } + } } From aee2eb0cf3017ba604175b0ebdf81f992f946156 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 8 Mar 2022 14:10:07 +0300 Subject: [PATCH 300/915] Created pmtct followup feedback form --- opensrp-chw/src/main/res/values/strings.xml | 1 + .../pmtct_community_followup_feedback.json | 151 ++++++++++++++++++ ...ommunity_followup_feedback_calculation.yml | 7 + ..._community_followup_feedback_relevance.yml | 7 + 4 files changed, 166 insertions(+) create mode 100644 opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json create mode 100644 opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_relevance.yml diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 24917ef243..ed06de2f85 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -401,6 +401,7 @@ Referral will be closed and disappear from app. Exit Record Followup Feedback + PMTCT Followup Feedback diff --git a/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json new file mode 100644 index 0000000000..7357dc1231 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json @@ -0,0 +1,151 @@ +{ + "count": "1", + "encounter_type": "PMTCT Community Followup Feedback", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "PMTCT Community Followup Feedback", + "fields": [ + { + "key": "followup_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "followup_status", + "type": "spinner", + "hint": "Followup Feedback", + "values": [ + "Continuing with services", + "Deceased", + "Client not found", + "Client has relocated to another location", + "Client has moved", + "Client has absconded", + "Client continues with clinic from elsewhere" + ], + "keys": [ + "continuing_with_services", + "deceased", + "client_not_found", + "client_has_relocated_to_another_location", + "client_has_moved", + "client_has_absconded", + "client_continues_with_clinic_from_elsewhere" + ], + "openmrs_choice_ids": { + "continuing_with_services": "continuing_with_services", + "deceased": "deceased", + "client_not_found": "client_not_found", + "client_has_relocated_to_another_location": "client_has_relocated_to_another_location", + "client_has_moved": "client_has_moved", + "client_has_absconded": "client_has_absconded", + "client_continues_with_clinic_from_elsewhere": "client_continues_with_clinic_from_elsewhere" + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "name_of_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "name_of_hf", + "type": "spinner", + "hint": "Choose moved to Facility", + "v_required": { + "value": true, + "err": "Please select the health facility" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_relevance.yml" + } + } + } + }, + { + "key": "other_facility", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_facility", + "type": "edit_text", + "hint": "Other Facility", + "v_required": { + "value": true, + "err": "Please specify the other health facility" + }, + "relevance": { + "step1:name_of_hf": { + "type": "String", + "ex": "equalTo(.,\"Other\")" + } + } + }, + { + "key": "pmtct_community_followup_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pmtct_community_followup_visit_date", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_calculation.yml" + } + } + } + }, + { + "key": "community_referral_form_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "community_referral_form_id", + "type": "hidden" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml new file mode 100644 index 0000000000..992bcd6b50 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml @@ -0,0 +1,7 @@ +--- +name: step1_pmtct_community_followup_visit_date +description: pmtct community followup visit date calculation +priority: 1 +condition: "true" +actions: + - "calculation = helper.getDateToday()" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_relevance.yml b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_relevance.yml new file mode 100644 index 0000000000..b17872a0dc --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_relevance.yml @@ -0,0 +1,7 @@ +--- +name: step1_name_of_hf +description: health facility option relevance +priority: 1 +condition: "step1_followup_status.contains('client_has_relocated_to_another_location') || step1_followup_status.contains('client_continues_with_clinic_from_elsewhere')" +actions: + - "isRelevant = true" \ No newline at end of file From 543be2a823fe0cf2b6970b4e54b3898baf55fe07 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 8 Mar 2022 14:10:54 +0300 Subject: [PATCH 301/915] Add: PMTCT constants --- .../org/smartregister/chw/util/Constants.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index 43c61f553e..074d4e1513 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -27,12 +27,15 @@ public static class FORM_SUBMISSION_FIELD { } public static class JsonFormConstants{ public static String CLIENT_MOVED_LOCATION = "client_moved_location"; + public static final String NAME_OF_HF = "name_of_hf"; + public static final String STEP1 = "step1"; } public static class EncounterType { public static final String SICK_CHILD = "Sick Child Referral"; public static final String PNC_REFERRAL = "PNC Referral"; public static final String ANC_REFERRAL = "ANC Referral"; + public static final String PMTCT_COMMUNITY_FOLLOWUP_FEEDBACK = "PMTCT Community Followup Feedback"; } public static class ChildIllnessViewType { @@ -73,6 +76,11 @@ public interface PartnerRegistrationConstants { public static final class JsonForm{ private static final String PARTNER_REGISTRATION_FORM = "male_partner_registration_form"; + private static final String PMTCT_COMMUNITY_FOLLOWUP_FEEDBACK = "pmtct_community_followup_feedback"; + + public static String getPmtctCommunityFollowupFeedback() { + return PMTCT_COMMUNITY_FOLLOWUP_FEEDBACK; + } public static String getPartnerRegistrationForm() { return Utils.getLocalForm(PARTNER_REGISTRATION_FORM, locale, assetManager); @@ -83,4 +91,16 @@ public static final class Events { public static final String UPDATE_MALARIA_CONFIGURATION = "Update Malaria Confirmation"; public static final String MALARIA_CONFIRMATION = "malaria_confirmation"; } + + public static final class ActionList { + public static final String PMTCT_FOLLOWUP_FEEDBACK = "Pmtct_followup_action"; + } + + public static final class TableName { + public static final String PMTCT_COMMUNITY_FEEDBACK = "ec_pmtct_community_feedback"; + } + + public interface PmtctFollowupFeedbackConstants { + String referralFormId = "community_referral_form_id"; + } } From 8b7e2bc59776318403bec556e129d5e7009ee258 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 8 Mar 2022 14:11:46 +0300 Subject: [PATCH 302/915] Generating and saving event --- .../chw/activity/PmtctRegisterActivity.java | 72 +++++++++++++++++++ .../chw/activity/PmtctcDetailsActivity.java | 59 ++++++++++++++- .../org/smartregister/chw/dao/PmtctDao.java | 2 +- .../nacp/assets/ec_client_classification.json | 7 ++ .../src/nacp/assets/ec_client_fields.json | 58 +++++++++++++++ 5 files changed, 196 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java index ab9934ed1e..8ad56c7015 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java @@ -1,15 +1,32 @@ package org.smartregister.chw.activity; +import android.annotation.SuppressLint; +import android.app.Activity; +import android.content.Intent; import android.os.Bundle; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CorePmtctRegisterActivity; import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.core.utils.FormUtils; import org.smartregister.chw.fragment.PmtctRegisterFragment; +import org.smartregister.chw.pmtct.util.NCUtils; +import org.smartregister.chw.util.Constants; +import org.smartregister.clientandeventmodel.Event; +import org.smartregister.family.util.JsonFormUtils; import org.smartregister.helper.BottomNavigationHelper; +import org.smartregister.repository.AllSharedPreferences; import org.smartregister.view.fragment.BaseRegisterFragment; +import timber.log.Timber; + public class PmtctRegisterActivity extends CorePmtctRegisterActivity { + private static String referralFormSubmissionId; + private static String baseEntityId; @Override protected void onCreate(Bundle savedInstanceState) { @@ -28,4 +45,59 @@ protected void registerBottomNavigation() { bottomNavigationView = findViewById(org.smartregister.R.id.bottom_navigation); FamilyRegisterActivity.registerBottomNavigation(bottomNavigationHelper, bottomNavigationView, this); } + + public static void startPmtctFollowupFeedbackActivity(Activity activity, String baseEntityID, String jsonString, String formSubmissionId) { + Intent intent = new Intent(activity, PmtctRegisterActivity.class); + baseEntityId = baseEntityID; + referralFormSubmissionId = formSubmissionId; + intent.putExtra(org.smartregister.chw.pmtct.util.Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID, baseEntityID); + intent.putExtra(org.smartregister.chw.pmtct.util.Constants.ACTIVITY_PAYLOAD.PMTCT_FORM_NAME, Constants.JsonForm.getPmtctCommunityFollowupFeedback()); + intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.JSON, jsonString); + intent.putExtra(org.smartregister.chw.pmtct.util.Constants.ACTIVITY_PAYLOAD.ACTION, Constants.ActionList.PMTCT_FOLLOWUP_FEEDBACK); + activity.startActivity(intent); + } + + @Override + public void startFormActivity(JSONObject jsonForm) { + if (ACTION.equalsIgnoreCase(Constants.ActionList.PMTCT_FOLLOWUP_FEEDBACK)) { + String jsonString = getIntent().getStringExtra(org.smartregister.family.util.Constants.INTENT_KEY.JSON); + try { + JSONObject form = new JSONObject(jsonString); + startActivityForResult(FormUtils.getStartFormActivity(form, getString(R.string.pmtct_followup_feedback_title), this), JsonFormUtils.REQUEST_CODE_GET_JSON); + } catch (JSONException e) { + e.printStackTrace(); + } + } + } + + @SuppressLint("MissingSuperCall") + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + if (requestCode == org.smartregister.chw.pmtct.util.Constants.REQUEST_CODE_GET_JSON && resultCode == RESULT_OK) { + try { + String jsonString = data.getStringExtra(org.smartregister.family.util.Constants.JSON_FORM_EXTRA.JSON); + JSONObject form = new JSONObject(jsonString); + String encounterType = form.getString(JsonFormUtils.ENCOUNTER_TYPE); + if (encounterType.equals(Constants.EncounterType.PMTCT_COMMUNITY_FOLLOWUP_FEEDBACK)) { + AllSharedPreferences allSharedPreferences = org.smartregister.util.Utils.getAllSharedPreferences(); + Event baseEvent = org.smartregister.chw.pmtct.util.JsonFormUtils.processJsonForm(allSharedPreferences, tagReferralFormId(jsonString, referralFormSubmissionId), Constants.TableName.PMTCT_COMMUNITY_FEEDBACK); + org.smartregister.chw.pmtct.util.JsonFormUtils.tagEvent(allSharedPreferences, baseEvent); + baseEvent.setBaseEntityId(baseEntityId); + NCUtils.processEvent(baseEvent.getBaseEntityId(), new JSONObject(org.smartregister.chw.pmtct.util.JsonFormUtils.gson.toJson(baseEvent))); + } + } catch (Exception e) { + Timber.e(e, "PmtctRegisterActivity -- > onActivityResult"); + } + } + } + + private String tagReferralFormId(String jsonString, String formSubmissionId) throws JSONException { + JSONObject form = new JSONObject(jsonString); + JSONArray fields = org.smartregister.util.JsonFormUtils.fields(form); + JSONObject referralFormId = org.smartregister.util.JsonFormUtils.getFieldJSONObject(fields, Constants.PmtctFollowupFeedbackConstants.referralFormId); + assert referralFormId != null; + referralFormId.put(JsonFormUtils.VALUE, formSubmissionId); + return form.toString(); + } + } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java index 978ece7545..03831cd79f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java @@ -14,16 +14,28 @@ import com.google.android.material.appbar.AppBarLayout; import org.apache.commons.lang3.StringUtils; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; import org.smartregister.chw.R; +import org.smartregister.chw.core.utils.FormUtils; import org.smartregister.chw.dao.PmtctDao; import org.smartregister.chw.domain.PmtctReferralMemberObject; +import org.smartregister.chw.referral.util.JsonFormConstants; +import org.smartregister.chw.util.Constants; +import org.smartregister.domain.Location; +import org.smartregister.repository.LocationRepository; import org.smartregister.view.activity.SecuredActivity; import org.smartregister.view.customcontrols.CustomFontTextView; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Calendar; +import java.util.List; import java.util.Locale; +import timber.log.Timber; + public class PmtctcDetailsActivity extends SecuredActivity implements View.OnClickListener { private CustomFontTextView clientName; private CustomFontTextView careGiverName; @@ -35,7 +47,7 @@ public class PmtctcDetailsActivity extends SecuredActivity implements View.OnCli private CustomFontTextView locationName; private CustomFontTextView markAsDone; private String baseEntityId; - private PmtctReferralMemberObject memberObject; + private static PmtctReferralMemberObject memberObject; public static final String PMTCT_MEMBER_OBJECT = "PMTCT_MEMBER_OBJECT"; public static void startPmtctDetailsActivity(Activity activity, String baseEntityId) { @@ -149,6 +161,51 @@ private String getFamilyMemberContacts() { @Override public void onClick(View view) { + if (view.getId() == R.id.mark_ask_done) { + JSONObject form = initializeHealthFacilitiesList(FormUtils.getFormUtils().getFormJson(Constants.JsonForm.getPmtctCommunityFollowupFeedback())); + PmtctRegisterActivity.startPmtctFollowupFeedbackActivity(this, memberObject.getBaseEntityId(), form.toString(), baseEntityId); + } + } + private static JSONObject initializeHealthFacilitiesList(JSONObject form) { + LocationRepository locationRepository = new LocationRepository(); + List locations = locationRepository.getAllLocations(); + if (locations != null && form != null) { + + try { + JSONArray fields = form.getJSONObject(Constants.JsonFormConstants.STEP1) + .getJSONArray(JsonFormConstants.FIELDS); + JSONObject referralHealthFacilities = null; + for (int i = 0; i < fields.length(); i++) { + if (fields.getJSONObject(i) + .getString(JsonFormConstants.KEY).equals(Constants.JsonFormConstants.NAME_OF_HF) + ) { + referralHealthFacilities = fields.getJSONObject(i); + break; + } + } + ArrayList healthFacilitiesOptions = new ArrayList<>(); + ArrayList healthFacilitiesIds = new ArrayList<>(); + for (Location location : locations) { + healthFacilitiesOptions.add(location.getProperties().getName()); + healthFacilitiesIds.add(location.getProperties().getUid()); + } + healthFacilitiesOptions.add("Other"); + healthFacilitiesIds.add("Other"); + + JSONObject openmrsChoiceIds = new JSONObject(); + for (int i = 0; i < healthFacilitiesOptions.size(); i++) { + openmrsChoiceIds.put(healthFacilitiesOptions.get(i), healthFacilitiesIds.get(i)); + } + if (referralHealthFacilities != null) { + referralHealthFacilities.put("values", new JSONArray(healthFacilitiesOptions)); + referralHealthFacilities.put("keys", new JSONArray(healthFacilitiesOptions)); + referralHealthFacilities.put("openmrs_choice_ids", openmrsChoiceIds); + } + } catch (JSONException e) { + Timber.e(e); + } + } + return form; } } \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java index e9d2c8d600..39b38577b6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java @@ -58,7 +58,7 @@ public static PmtctReferralMemberObject getPmtctReferralMemberObject(String base memberObject.setPrimaryCareGiver(getCursorValue(cursor, "primary_caregiver")); memberObject.setFamilyName(getCursorValue(cursor, "family_name", "")); memberObject.setPhoneNumber(getCursorValue(cursor, "phone_number", "")); - memberObject.setBaseEntityId(getCursorValue(cursor, "base_entity_id", "")); + memberObject.setBaseEntityId(getCursorValue(cursor, "entity_id", "")); memberObject.setFamilyHead(getCursorValue(cursor, "family_head", "")); memberObject.setFamilyHeadPhoneNumber(getCursorValue(cursor, "pcg_phone_number", "")); memberObject.setFamilyHeadPhoneNumber(getCursorValue(cursor, "family_head_phone_number", "")); diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index db5298bd04..19a42bfb5c 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -486,6 +486,13 @@ "creates_case": [ "ec_pmtct_community_followup" ] + }, + { + "field": "eventType", + "field_value": "PMTCT Community Followup Feedback", + "creates_case": [ + "ec_pmtct_community_feedback" + ] } ] } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index aa6780872b..fdedbb94fc 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -3564,6 +3564,64 @@ } } ] + }, + { + "name": "ec_pmtct_community_feedback", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "pmtct_community_followup_visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "pmtct_community_followup_visit_date" + } + }, + { + "column_name": "followup_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "followup_status" + } + }, + { + "column_name": "community_referral_form_id", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "community_referral_form_id" + } + } + ] } ] } \ No newline at end of file From eafa4a38f8ab8e49ceb4d9c4b23a541777fbaefd Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 8 Mar 2022 14:13:48 +0300 Subject: [PATCH 303/915] added onclick listener for register btn --- .../activity/AncPartnerFollowupReferralProfileActivity.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index bc507c7930..135c93928b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -12,6 +12,7 @@ import android.widget.LinearLayout; import android.widget.RelativeLayout; +import com.rey.material.widget.Button; import com.vijay.jsonwizard.utils.FormUtils; import org.apache.commons.lang3.StringUtils; @@ -125,11 +126,13 @@ public void setupViews() { }); RelativeLayout partnerView = findViewById(R.id.rlPartnerView); + Button registerBtn = findViewById(R.id.register_partner_btn); if (AncPartnerDao.hasPartnerAgreeForRegistration(referralFormSubmissionId) && !AncPartnerDao.isPartnerRegistered(referralFormSubmissionId)) { partnerView.setVisibility(View.VISIBLE); } partnerView.setOnClickListener(this); + registerBtn.setOnClickListener(this); } @Override @@ -344,7 +347,7 @@ public void onClick(View view) { AncHomeVisitActivity.startMe(this, memberObject.getBaseEntityId(), false); } else if (id == R.id.textview_edit) { AncHomeVisitActivity.startMe(this, memberObject.getBaseEntityId(), true); - } else if (id == R.id.rlPartnerView) { + } else if (id == R.id.rlPartnerView ||id == R.id.register_partner_btn) { Intent intent = new Intent(this, PartnerRegistrationActivity.class); intent.putExtra(INTENT_FORM_SUBMISSION_ID, AncPartnerDao.getFeedbackFormId(referralFormSubmissionId)); intent.putExtra(INTENT_BASE_ENTITY_ID, baseEntityID); From e28160fe910c19d50c5b74d1cd48efd1cea9a61e Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 8 Mar 2022 14:15:13 +0300 Subject: [PATCH 304/915] refactor: saving partner details in a separate table --- .../activity/PartnerRegistrationActivity.java | 12 +++++- ...tnerFollowupRegisterFragmentPresenter.java | 3 +- .../org/smartregister/chw/util/Constants.java | 1 + .../nacp/assets/ec_client_classification.json | 2 +- .../src/nacp/assets/ec_client_fields.json | 41 +++++++++++++++++++ 5 files changed, 56 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java index dcf0c6fd05..7ba5cd9552 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java @@ -49,6 +49,7 @@ import static org.smartregister.chw.anc.util.NCUtils.getSyncHelper; import static org.smartregister.chw.util.Constants.JsonForm.getPartnerRegistrationForm; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.EXISTING_PARTNER_REQUEST_CODE; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.FEEDBACK_FORM_ID; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_FORM_SUBMISSION_ID; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.NEW_PARTNER_REQUEST_CODE; @@ -58,6 +59,7 @@ import static org.smartregister.family.util.JsonFormUtils.STEP2; import static org.smartregister.util.JsonFormUtils.ENCOUNTER_LOCATION; import static org.smartregister.util.JsonFormUtils.STEP1; +import static org.smartregister.util.JsonFormUtils.generateRandomUUIDString; import static org.smartregister.util.Utils.getAllSharedPreferences; public class PartnerRegistrationActivity extends SecuredActivity implements View.OnClickListener { @@ -320,7 +322,7 @@ protected void savePartnerDetails(String partnerBaseEntityId, String clientBaseE .withBaseEntityId(clientBaseEntityId) .withEventDate(new Date()) .withEventType(PARTNER_REGISTRATION_EVENT) - .withFormSubmissionId(formSubmissionId) + .withFormSubmissionId(generateRandomUUIDString()) .withEntityType(CoreConstants.TABLE_NAME.ANC_MEMBER) .withProviderId(sharedPreferences.fetchRegisteredANM()) .withLocationId(sharedPreferences.fetchDefaultLocalityId(sharedPreferences.fetchRegisteredANM())) @@ -339,6 +341,14 @@ protected void savePartnerDetails(String partnerBaseEntityId, String clientBaseE .withFieldDataType("text") .withParentCode("") .withHumanReadableValues(new ArrayList<>())); + baseEvent.addObs((new Obs()) + .withFormSubmissionField(FEEDBACK_FORM_ID) + .withValue(formSubmissionId) + .withFieldCode(FEEDBACK_FORM_ID) + .withFieldType("formsubmissionField") + .withFieldDataType("text") + .withParentCode("") + .withHumanReadableValues(new ArrayList<>())); // tag docs org.smartregister.chw.util.JsonFormUtils.tagSyncMetadata(Utils.context().allSharedPreferences(), baseEvent); try { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java index ac89cfa855..127ad69cf5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChwAncPartnerFollowupRegisterFragmentPresenter.java @@ -27,7 +27,8 @@ public String getMainCondition() { " WHERE client_found = 'no'" + " or (client_found = 'yes'" + " and partner_agree_attending_hf is not null" + - " and (partner_agree_attending_hf = 'no' or partner_base_entity_id is not null))) "; + " and (partner_agree_attending_hf = 'no' or " + + " ec_anc_partner_community_feedback.base_entity_id in (select feedback_form_id from ec_anc_partners)))) "; } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index 43c61f553e..d66536449e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -66,6 +66,7 @@ public interface PartnerRegistrationConstants { int NEW_PARTNER_REQUEST_CODE = 12345; String INTENT_BASE_ENTITY_ID = "BASE_ENTITY_ID"; String PARTNER_BASE_ENTITY_ID = "partner_base_entity_id"; + String FEEDBACK_FORM_ID = "feedback_form_id"; String FormSubmissionId = "formSubmissionId"; String INTENT_FORM_SUBMISSION_ID = "form_submission_id"; String ReferralFormId = "referral_form_id"; diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index db5298bd04..7ff4bc05a0 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -477,7 +477,7 @@ "field": "eventType", "field_value": "Partner Registration", "creates_case": [ - "ec_anc_partner_community_feedback" + "ec_anc_partners" ] }, { diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index aa6780872b..b70be2ff09 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -880,6 +880,47 @@ } } ] + },{ + "name": "ec_anc_partners", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "partner_base_entity_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "partner_base_entity_id" + } + }, + { + "column_name": "feedback_form_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "feedback_form_id" + } + } + ] }, { "name": "ec_anc_log", From 0ff960458880af9bd987b64c369ce5e6243cf525 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 8 Mar 2022 14:44:19 +0300 Subject: [PATCH 305/915] Removed choices from marital status --- .../json.form-sw/all_clients_registration_form.json | 6 ------ .../all_clients_update_registration_info_form.json | 12 +++--------- .../assets/json.form-sw/family_member_register.json | 8 +------- .../nacp/assets/json.form-sw/family_register.json | 12 +++--------- .../json.form/all_clients_registration_form.json | 6 ------ .../all_clients_update_registration_info_form.json | 6 ------ .../assets/json.form/family_member_register.json | 6 ------ .../src/nacp/assets/json.form/family_register.json | 6 ------ 8 files changed, 7 insertions(+), 55 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index 806633bc60..dc4699972f 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -406,8 +406,6 @@ "Hajaoa/Hajaolewa", "Ameoa/Ameolewa", "Ameachwa", - "Ndoa ya mke/mume moja", - "Mitala", "Mjane", "Kuishi pamoja bila ndoa" ], @@ -415,8 +413,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -424,8 +420,6 @@ "Single": "Single", "Married": "Married", "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", "Widowed": "Widowed", "Cohabitation": "Cohabitation" }, diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 5d47f625be..326ff9cd03 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -250,20 +250,16 @@ "type": "spinner", "hint": "Hali ya ndoa ya mteja?", "values": [ - "Hajaoa/hajaolewa", - "Ameoa/ameolewa", + "Hajaoa/Hajaolewa", + "Ameoa/Ameolewa", "Ameachwa", - "Ndoa ya mke mmoja", - "Ndoa ya wake wengi", - "Amefiwa na mwenza", + "Mjane", "Kuishi pamoja bila ndoa" ], "keys": [ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -271,8 +267,6 @@ "Single": "Single", "Married": "Married", "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", "Widowed": "Widowed", "Cohabitation": "Cohabitation" }, diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json index 7c8a1833af..c895191867 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json @@ -298,9 +298,7 @@ "values": [ "Hajaoa/Hajaolewa", "Ameoa/Ameolewa", - "Wameachwa", - "Ndoa ya mke mmoja", - "Ndoa za wake wengi", + "Ameachwa", "Mjane", "Kuishi pamoja bila ndoa" ], @@ -308,8 +306,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -317,8 +313,6 @@ "Single": "Single", "Married": "Married", "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", "Widowed": "Widowed", "Cohabitation": "Cohabitation" }, diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index 0797dabf7d..bec9b5669b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -402,11 +402,9 @@ "type": "spinner", "hint": "Hali ya Ndoa ya Mteja?", "values": [ - "Hajaolewa", - "Ameolewa", - "Ameachika", - "Ndoa ya mke au mume moja", - "Mitara", + "Hajaoa/Hajaolewa", + "Ameoa/Ameolewa", + "Ameachwa", "Mjane", "Kuishi pamoja bila ndoa" ], @@ -414,8 +412,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -423,8 +419,6 @@ "Single": "Single", "Married": "Married", "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", "Widowed": "Widowed", "Cohabitation": "Cohabitation" }, diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index d7db3c5475..1662efe7d2 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -411,8 +411,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -420,8 +418,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -429,8 +425,6 @@ "Single": "Single", "Married": "Married", "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", "Widowed": "Widowed", "Cohabitation": "Cohabitation" }, diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index 9f3509acdf..3cd4da31de 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -258,8 +258,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -267,8 +265,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -276,8 +272,6 @@ "Single": "Single", "Married": "Married", "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", "Widowed": "Widowed", "Cohabitation": "Cohabitation" }, diff --git a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json index 204e18c6f7..132c3b3fbf 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json @@ -304,8 +304,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -313,8 +311,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -322,8 +318,6 @@ "Single": "Single", "Married": "Married", "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", "Widowed": "Widowed", "Cohabitation": "Cohabitation" }, diff --git a/opensrp-chw/src/nacp/assets/json.form/family_register.json b/opensrp-chw/src/nacp/assets/json.form/family_register.json index 310ad9ad59..3a082ebaba 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_register.json @@ -408,8 +408,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -417,8 +415,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -426,8 +422,6 @@ "Single": "Single", "Married": "Married", "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", "Widowed": "Widowed", "Cohabitation": "Cohabitation" }, From 9d9a752fb4a40468bb19dd204c9fce900a38dfc1 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 8 Mar 2022 15:16:53 +0300 Subject: [PATCH 306/915] Renamed choices from marital status --- .../nacp/assets/json.form-sw/all_clients_registration_form.json | 2 +- .../json.form-sw/all_clients_update_registration_info_form.json | 2 +- .../src/nacp/assets/json.form-sw/family_member_register.json | 2 +- opensrp-chw/src/nacp/assets/json.form-sw/family_register.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index dc4699972f..ac59792ca2 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -406,7 +406,7 @@ "Hajaoa/Hajaolewa", "Ameoa/Ameolewa", "Ameachwa", - "Mjane", + "Mjane/Mgane", "Kuishi pamoja bila ndoa" ], "keys": [ diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 326ff9cd03..8957051d6a 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -253,7 +253,7 @@ "Hajaoa/Hajaolewa", "Ameoa/Ameolewa", "Ameachwa", - "Mjane", + "Mjane/Mgane", "Kuishi pamoja bila ndoa" ], "keys": [ diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json index c895191867..1399938f6f 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json @@ -299,7 +299,7 @@ "Hajaoa/Hajaolewa", "Ameoa/Ameolewa", "Ameachwa", - "Mjane", + "Mjane/Mgane", "Kuishi pamoja bila ndoa" ], "keys": [ diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index bec9b5669b..7526a3857f 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -405,7 +405,7 @@ "Hajaoa/Hajaolewa", "Ameoa/Ameolewa", "Ameachwa", - "Mjane", + "Mjane/Mgane", "Kuishi pamoja bila ndoa" ], "keys": [ From 8e1618a51a7f3f93fb076db6e6928abfe20f2251 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 8 Mar 2022 17:12:44 +0300 Subject: [PATCH 307/915] Fixed pmtct register navigation drawer counter --- .../java/org/smartregister/chw/application/ChwApplication.java | 2 +- .../chw/presenter/PmtctRegisterFragmentPresenter.java | 2 +- .../java/org/smartregister/chw/model/NavigationModelFlv.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index e585f3ac70..25c353ac4d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -360,7 +360,7 @@ public Map getRegisteredActivities() { } registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.UPDATES_REGISTER_ACTIVITY, UpdatesRegisterActivity.class); - registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.PMTCT_REGISTER_ACTIVITY, PmtctRegisterActivity.class); + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.PMTCT_FOLLOWUP_REGISTER_ACTIVITY, PmtctRegisterActivity.class); return registeredActivities; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctRegisterFragmentPresenter.java index 7132549284..e62063465a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctRegisterFragmentPresenter.java @@ -12,7 +12,7 @@ public PmtctRegisterFragmentPresenter(PmtctRegisterFragmentContract.View view, P @Override public String getMainCondition() { - return " ec_family_member.date_removed is null"; + return " ec_family_member.date_removed is null AND ec_pmtct_community_followup.base_entity_id NOT IN (SELECT community_referral_form_id FROM ec_pmtct_community_feedback)"; } @Override diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java index a2ebb5eceb..93f14ee196 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -31,7 +31,7 @@ public List getNavigationItems() { NavigationOption op10 = new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0); NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.CBHS_CLIENTS, 0); NavigationOption op12 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_index_contacts, CoreConstants.DrawerMenu.HIV_INDEX_CLIENTS, 0); - NavigationOption op13 = new NavigationOption(R.drawable.sidemenu_pmtct,R.drawable.sidemenu_pmtct_active,R.string.menu_pmtct,CoreConstants.DrawerMenu.PMTCT,0); + NavigationOption op13 = new NavigationOption(R.drawable.sidemenu_pmtct,R.drawable.sidemenu_pmtct_active,R.string.menu_pmtct,CoreConstants.DrawerMenu.PMTCT_FOLLOWUP,0); NavigationOption op14 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { From 8cd573238415845f125e35866a910663632e8ddb Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 8 Mar 2022 17:16:40 +0300 Subject: [PATCH 308/915] fixed issues in showing reasons for issuing pmtct community referral in pmtct community followup details activity --- .../src/main/java/org/smartregister/chw/dao/PmtctDao.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java index 39b38577b6..2a3721c762 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java @@ -65,7 +65,7 @@ public static PmtctReferralMemberObject getPmtctReferralMemberObject(String base memberObject.setPmtctCommunityReferralDate(getCursorValueAsDate(cursor, "pmtct_community_referral_date", getNativeFormsDateFormat())); memberObject.setLastFacilityVisitDate(getCursorValueAsDate(cursor, "last_client_visit_date", getNativeFormsDateFormat())); - memberObject.setReasonsForIssuingCommunityFollowupReferral(getCursorValue(cursor, "pmtct_community_referral_date", "")); + memberObject.setReasonsForIssuingCommunityFollowupReferral(getCursorValue(cursor, "reasons_for_issuing_community_referral", "")); memberObject.setComments(getCursorValue(cursor, "comment", "")); String familyHeadName = getCursorValue(cursor, "family_head_first_name", "") + " " From e99a41a6e58ff8774839b89f0613d0895bb55ce5 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 8 Mar 2022 17:22:16 +0300 Subject: [PATCH 309/915] refactor: pmtct_community_followup_feedback_form to include chw name --- .../chw/activity/PmtctcDetailsActivity.java | 9 +++++++++ .../pmtct_community_followup_feedback.json | 15 +++++++++++++++ ...ct_community_followup_feedback_calculation.yml | 9 ++++++++- 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java index 03831cd79f..ce00113c74 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java @@ -23,7 +23,9 @@ import org.smartregister.chw.domain.PmtctReferralMemberObject; import org.smartregister.chw.referral.util.JsonFormConstants; import org.smartregister.chw.util.Constants; +import org.smartregister.chw.util.Utils; import org.smartregister.domain.Location; +import org.smartregister.repository.AllSharedPreferences; import org.smartregister.repository.LocationRepository; import org.smartregister.view.activity.SecuredActivity; import org.smartregister.view.customcontrols.CustomFontTextView; @@ -163,6 +165,13 @@ private String getFamilyMemberContacts() { public void onClick(View view) { if (view.getId() == R.id.mark_ask_done) { JSONObject form = initializeHealthFacilitiesList(FormUtils.getFormUtils().getFormJson(Constants.JsonForm.getPmtctCommunityFollowupFeedback())); + AllSharedPreferences preferences = Utils.getAllSharedPreferences(); + + try { + form.getJSONObject("global").put("chw_name", preferences.getANMPreferredName(preferences.fetchRegisteredANM())); + } catch (JSONException e) { + e.printStackTrace(); + } PmtctRegisterActivity.startPmtctFollowupFeedbackActivity(this, memberObject.getBaseEntityId(), form.toString(), baseEntityId); } } diff --git a/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json index 7357dc1231..e0edd82961 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json @@ -46,6 +46,7 @@ }, "encounter_location": "" }, + "global": {}, "step1": { "title": "PMTCT Community Followup Feedback", "fields": [ @@ -145,6 +146,20 @@ "openmrs_entity": "concept", "openmrs_entity_id": "community_referral_form_id", "type": "hidden" + }, + { + "key": "chw_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_name", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_calculation.yml" + } + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml index 992bcd6b50..fe7a8ac93c 100644 --- a/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml @@ -4,4 +4,11 @@ description: pmtct community followup visit date calculation priority: 1 condition: "true" actions: - - "calculation = helper.getDateToday()" \ No newline at end of file + - "calculation = helper.getDateToday()" +--- +name: step1_chw_name +description: chw name calculation +priority: 1 +condition: "true" +actions: + - "calculation = global_chw_name" \ No newline at end of file From d1a58b312367a32da9b48a6981800a3669af427a Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 8 Mar 2022 18:48:51 +0300 Subject: [PATCH 310/915] Code cleaning --- .../org/smartregister/chw/activity/PmtctRegisterActivity.java | 3 ++- .../src/main/java/org/smartregister/chw/util/Constants.java | 4 ---- .../rule/pmtct_community_followup_feedback_calculation.yml | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java index 8ad56c7015..b5a9701670 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java @@ -12,6 +12,7 @@ import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CorePmtctRegisterActivity; import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.FormUtils; import org.smartregister.chw.fragment.PmtctRegisterFragment; import org.smartregister.chw.pmtct.util.NCUtils; @@ -80,7 +81,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { String encounterType = form.getString(JsonFormUtils.ENCOUNTER_TYPE); if (encounterType.equals(Constants.EncounterType.PMTCT_COMMUNITY_FOLLOWUP_FEEDBACK)) { AllSharedPreferences allSharedPreferences = org.smartregister.util.Utils.getAllSharedPreferences(); - Event baseEvent = org.smartregister.chw.pmtct.util.JsonFormUtils.processJsonForm(allSharedPreferences, tagReferralFormId(jsonString, referralFormSubmissionId), Constants.TableName.PMTCT_COMMUNITY_FEEDBACK); + Event baseEvent = org.smartregister.chw.pmtct.util.JsonFormUtils.processJsonForm(allSharedPreferences, tagReferralFormId(jsonString, referralFormSubmissionId), CoreConstants.TABLE_NAME.PMTCT_COMMUNITY_FEEDBACK); org.smartregister.chw.pmtct.util.JsonFormUtils.tagEvent(allSharedPreferences, baseEvent); baseEvent.setBaseEntityId(baseEntityId); NCUtils.processEvent(baseEvent.getBaseEntityId(), new JSONObject(org.smartregister.chw.pmtct.util.JsonFormUtils.gson.toJson(baseEvent))); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index 074d4e1513..e81e74a313 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -96,10 +96,6 @@ public static final class ActionList { public static final String PMTCT_FOLLOWUP_FEEDBACK = "Pmtct_followup_action"; } - public static final class TableName { - public static final String PMTCT_COMMUNITY_FEEDBACK = "ec_pmtct_community_feedback"; - } - public interface PmtctFollowupFeedbackConstants { String referralFormId = "community_referral_form_id"; } diff --git a/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml index fe7a8ac93c..16268da447 100644 --- a/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml @@ -4,7 +4,7 @@ description: pmtct community followup visit date calculation priority: 1 condition: "true" actions: - - "calculation = helper.getDateToday()" + - "calculation = System.currentTimeMillis()" --- name: step1_chw_name description: chw name calculation From f45e57467c74e1fdfc9edbf1ba1fc242dbf0a65e Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 9 Mar 2022 12:40:10 +0300 Subject: [PATCH 311/915] minor bugs fixes in PMTCT Details Activity --- .../smartregister/chw/activity/PmtctcDetailsActivity.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java index ce00113c74..d9204b5628 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java @@ -122,8 +122,12 @@ private void obtainReferralDetails() { referralDateCalendar.setTimeInMillis(memberObject.getPmtctCommunityReferralDate().getTime()); referralDate.setText(dateFormatter.format(referralDateCalendar.getTime())); - referralDateCalendar.setTimeInMillis(memberObject.getLastFacilityVisitDate().getTime()); - lastFacilityVisitDate.setText(dateFormatter.format(referralDateCalendar.getTime())); + if (memberObject.getLastFacilityVisitDate() != null) { + referralDateCalendar.setTimeInMillis(memberObject.getLastFacilityVisitDate().getTime()); + lastFacilityVisitDate.setText(dateFormatter.format(referralDateCalendar.getTime())); + } else { + lastFacilityVisitDate.setVisibility(View.GONE); + } locationName.setText(memberObject.getAddress()); referralType.setText(memberObject.getReasonsForIssuingCommunityFollowupReferral()); From 6da7913ec71ccb9d5b704ea297b11393653dca52 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 9 Mar 2022 15:33:33 +0300 Subject: [PATCH 312/915] fixed: processing and saving for feedback form --- .../chw/activity/PmtctRegisterActivity.java | 72 --------- .../chw/activity/PmtctcDetailsActivity.java | 141 +++++++++++------- opensrp-chw/src/main/res/values/strings.xml | 1 + .../pmtct_community_followup_feedback.json | 9 +- ...ommunity_followup_feedback_calculation.yml | 9 +- 5 files changed, 94 insertions(+), 138 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java index b5a9701670..b1af503b63 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java @@ -1,33 +1,15 @@ package org.smartregister.chw.activity; -import android.annotation.SuppressLint; -import android.app.Activity; -import android.content.Intent; import android.os.Bundle; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; -import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CorePmtctRegisterActivity; import org.smartregister.chw.core.custom_views.NavigationMenu; -import org.smartregister.chw.core.utils.CoreConstants; -import org.smartregister.chw.core.utils.FormUtils; import org.smartregister.chw.fragment.PmtctRegisterFragment; -import org.smartregister.chw.pmtct.util.NCUtils; -import org.smartregister.chw.util.Constants; -import org.smartregister.clientandeventmodel.Event; -import org.smartregister.family.util.JsonFormUtils; import org.smartregister.helper.BottomNavigationHelper; -import org.smartregister.repository.AllSharedPreferences; import org.smartregister.view.fragment.BaseRegisterFragment; -import timber.log.Timber; - public class PmtctRegisterActivity extends CorePmtctRegisterActivity { - private static String referralFormSubmissionId; - private static String baseEntityId; @Override protected void onCreate(Bundle savedInstanceState) { @@ -47,58 +29,4 @@ protected void registerBottomNavigation() { FamilyRegisterActivity.registerBottomNavigation(bottomNavigationHelper, bottomNavigationView, this); } - public static void startPmtctFollowupFeedbackActivity(Activity activity, String baseEntityID, String jsonString, String formSubmissionId) { - Intent intent = new Intent(activity, PmtctRegisterActivity.class); - baseEntityId = baseEntityID; - referralFormSubmissionId = formSubmissionId; - intent.putExtra(org.smartregister.chw.pmtct.util.Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID, baseEntityID); - intent.putExtra(org.smartregister.chw.pmtct.util.Constants.ACTIVITY_PAYLOAD.PMTCT_FORM_NAME, Constants.JsonForm.getPmtctCommunityFollowupFeedback()); - intent.putExtra(org.smartregister.family.util.Constants.INTENT_KEY.JSON, jsonString); - intent.putExtra(org.smartregister.chw.pmtct.util.Constants.ACTIVITY_PAYLOAD.ACTION, Constants.ActionList.PMTCT_FOLLOWUP_FEEDBACK); - activity.startActivity(intent); - } - - @Override - public void startFormActivity(JSONObject jsonForm) { - if (ACTION.equalsIgnoreCase(Constants.ActionList.PMTCT_FOLLOWUP_FEEDBACK)) { - String jsonString = getIntent().getStringExtra(org.smartregister.family.util.Constants.INTENT_KEY.JSON); - try { - JSONObject form = new JSONObject(jsonString); - startActivityForResult(FormUtils.getStartFormActivity(form, getString(R.string.pmtct_followup_feedback_title), this), JsonFormUtils.REQUEST_CODE_GET_JSON); - } catch (JSONException e) { - e.printStackTrace(); - } - } - } - - @SuppressLint("MissingSuperCall") - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - if (requestCode == org.smartregister.chw.pmtct.util.Constants.REQUEST_CODE_GET_JSON && resultCode == RESULT_OK) { - try { - String jsonString = data.getStringExtra(org.smartregister.family.util.Constants.JSON_FORM_EXTRA.JSON); - JSONObject form = new JSONObject(jsonString); - String encounterType = form.getString(JsonFormUtils.ENCOUNTER_TYPE); - if (encounterType.equals(Constants.EncounterType.PMTCT_COMMUNITY_FOLLOWUP_FEEDBACK)) { - AllSharedPreferences allSharedPreferences = org.smartregister.util.Utils.getAllSharedPreferences(); - Event baseEvent = org.smartregister.chw.pmtct.util.JsonFormUtils.processJsonForm(allSharedPreferences, tagReferralFormId(jsonString, referralFormSubmissionId), CoreConstants.TABLE_NAME.PMTCT_COMMUNITY_FEEDBACK); - org.smartregister.chw.pmtct.util.JsonFormUtils.tagEvent(allSharedPreferences, baseEvent); - baseEvent.setBaseEntityId(baseEntityId); - NCUtils.processEvent(baseEvent.getBaseEntityId(), new JSONObject(org.smartregister.chw.pmtct.util.JsonFormUtils.gson.toJson(baseEvent))); - } - } catch (Exception e) { - Timber.e(e, "PmtctRegisterActivity -- > onActivityResult"); - } - } - } - - private String tagReferralFormId(String jsonString, String formSubmissionId) throws JSONException { - JSONObject form = new JSONObject(jsonString); - JSONArray fields = org.smartregister.util.JsonFormUtils.fields(form); - JSONObject referralFormId = org.smartregister.util.JsonFormUtils.getFieldJSONObject(fields, Constants.PmtctFollowupFeedbackConstants.referralFormId); - assert referralFormId != null; - referralFormId.put(JsonFormUtils.VALUE, formSubmissionId); - return form.toString(); - } - } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java index d9204b5628..a05b5dcc9a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java @@ -7,9 +7,7 @@ import android.graphics.drawable.Drawable; import android.os.Build; import android.view.View; - -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.widget.Toolbar; +import android.widget.Toast; import com.google.android.material.appbar.AppBarLayout; @@ -18,15 +16,20 @@ import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; +import org.smartregister.chw.application.ChwApplication; +import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.FormUtils; import org.smartregister.chw.dao.PmtctDao; import org.smartregister.chw.domain.PmtctReferralMemberObject; +import org.smartregister.chw.pmtct.util.NCUtils; import org.smartregister.chw.referral.util.JsonFormConstants; import org.smartregister.chw.util.Constants; -import org.smartregister.chw.util.Utils; +import org.smartregister.clientandeventmodel.Event; import org.smartregister.domain.Location; +import org.smartregister.family.util.JsonFormUtils; import org.smartregister.repository.AllSharedPreferences; import org.smartregister.repository.LocationRepository; +import org.smartregister.util.Utils; import org.smartregister.view.activity.SecuredActivity; import org.smartregister.view.customcontrols.CustomFontTextView; @@ -36,9 +39,19 @@ import java.util.List; import java.util.Locale; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.widget.Toolbar; import timber.log.Timber; +import static com.vijay.jsonwizard.utils.FormUtils.fields; +import static com.vijay.jsonwizard.utils.FormUtils.getFieldJSONObject; +import static org.smartregister.util.JsonFormUtils.STEP1; +import static org.smartregister.util.JsonFormUtils.VALUE; + public class PmtctcDetailsActivity extends SecuredActivity implements View.OnClickListener { + public static final String PMTCT_MEMBER_OBJECT = "PMTCT_MEMBER_OBJECT"; + private static PmtctReferralMemberObject memberObject; + protected AppBarLayout appBarLayout; private CustomFontTextView clientName; private CustomFontTextView careGiverName; private CustomFontTextView careGiverPhone; @@ -49,8 +62,6 @@ public class PmtctcDetailsActivity extends SecuredActivity implements View.OnCli private CustomFontTextView locationName; private CustomFontTextView markAsDone; private String baseEntityId; - private static PmtctReferralMemberObject memberObject; - public static final String PMTCT_MEMBER_OBJECT = "PMTCT_MEMBER_OBJECT"; public static void startPmtctDetailsActivity(Activity activity, String baseEntityId) { Intent intent = new Intent(activity, PmtctcDetailsActivity.class); @@ -58,6 +69,48 @@ public static void startPmtctDetailsActivity(Activity activity, String baseEntit activity.startActivity(intent); } + private static JSONObject initializeHealthFacilitiesList(JSONObject form) { + LocationRepository locationRepository = new LocationRepository(); + List locations = locationRepository.getAllLocations(); + if (locations != null && form != null) { + + try { + JSONArray fields = form.getJSONObject(Constants.JsonFormConstants.STEP1) + .getJSONArray(JsonFormConstants.FIELDS); + JSONObject referralHealthFacilities = null; + for (int i = 0; i < fields.length(); i++) { + if (fields.getJSONObject(i) + .getString(JsonFormConstants.KEY).equals(Constants.JsonFormConstants.NAME_OF_HF) + ) { + referralHealthFacilities = fields.getJSONObject(i); + break; + } + } + ArrayList healthFacilitiesOptions = new ArrayList<>(); + ArrayList healthFacilitiesIds = new ArrayList<>(); + for (Location location : locations) { + healthFacilitiesOptions.add(location.getProperties().getName()); + healthFacilitiesIds.add(location.getProperties().getUid()); + } + healthFacilitiesOptions.add("Other"); + healthFacilitiesIds.add("Other"); + + JSONObject openmrsChoiceIds = new JSONObject(); + for (int i = 0; i < healthFacilitiesOptions.size(); i++) { + openmrsChoiceIds.put(healthFacilitiesOptions.get(i), healthFacilitiesIds.get(i)); + } + if (referralHealthFacilities != null) { + referralHealthFacilities.put("values", new JSONArray(healthFacilitiesOptions)); + referralHealthFacilities.put("keys", new JSONArray(healthFacilitiesOptions)); + referralHealthFacilities.put("openmrs_choice_ids", openmrsChoiceIds); + } + } catch (JSONException e) { + Timber.e(e); + } + } + return form; + } + @Override protected void onCreation() { setContentView(R.layout.activity_pmtctc_details); @@ -73,8 +126,6 @@ protected void onResumption() { } - protected AppBarLayout appBarLayout; - private void inflateToolbar() { Toolbar toolbar = findViewById(R.id.back_pmtct_toolbar); CustomFontTextView toolBarTextView = toolbar.findViewById(R.id.toolbar_title); @@ -113,7 +164,6 @@ private void setUpViews() { obtainReferralDetails(); } - @SuppressLint("SetTextI18n") private void obtainReferralDetails() { clientName.setText(memberObject.getFirstName() + " " + memberObject.getMiddleName() + " " + memberObject.getLastName() + ", " + memberObject.getAge()); @@ -148,7 +198,6 @@ private void obtainReferralDetails() { } } - private String getFamilyMemberContacts() { String phoneNumber = ""; String familyPhoneNumber = memberObject.getPhoneNumber(); @@ -169,56 +218,48 @@ private String getFamilyMemberContacts() { public void onClick(View view) { if (view.getId() == R.id.mark_ask_done) { JSONObject form = initializeHealthFacilitiesList(FormUtils.getFormUtils().getFormJson(Constants.JsonForm.getPmtctCommunityFollowupFeedback())); - AllSharedPreferences preferences = Utils.getAllSharedPreferences(); + AllSharedPreferences preferences = ChwApplication.getInstance().getContext().allSharedPreferences(); try { - form.getJSONObject("global").put("chw_name", preferences.getANMPreferredName(preferences.fetchRegisteredANM())); + JSONObject chwName = getFieldJSONObject(fields(form, STEP1), "chw_name"); + chwName.put(VALUE, preferences.getANMPreferredName(preferences.fetchRegisteredANM())); } catch (JSONException e) { - e.printStackTrace(); + Timber.e(e); } - PmtctRegisterActivity.startPmtctFollowupFeedbackActivity(this, memberObject.getBaseEntityId(), form.toString(), baseEntityId); + startActivityForResult(FormUtils.getStartFormActivity(form, getString(R.string.pmtct_followup_feedback_title), this), JsonFormUtils.REQUEST_CODE_GET_JSON); } } - private static JSONObject initializeHealthFacilitiesList(JSONObject form) { - LocationRepository locationRepository = new LocationRepository(); - List locations = locationRepository.getAllLocations(); - if (locations != null && form != null) { - + @SuppressLint("MissingSuperCall") + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + if (requestCode == org.smartregister.chw.pmtct.util.Constants.REQUEST_CODE_GET_JSON && resultCode == RESULT_OK) { try { - JSONArray fields = form.getJSONObject(Constants.JsonFormConstants.STEP1) - .getJSONArray(JsonFormConstants.FIELDS); - JSONObject referralHealthFacilities = null; - for (int i = 0; i < fields.length(); i++) { - if (fields.getJSONObject(i) - .getString(JsonFormConstants.KEY).equals(Constants.JsonFormConstants.NAME_OF_HF) - ) { - referralHealthFacilities = fields.getJSONObject(i); - break; - } - } - ArrayList healthFacilitiesOptions = new ArrayList<>(); - ArrayList healthFacilitiesIds = new ArrayList<>(); - for (Location location : locations) { - healthFacilitiesOptions.add(location.getProperties().getName()); - healthFacilitiesIds.add(location.getProperties().getUid()); - } - healthFacilitiesOptions.add("Other"); - healthFacilitiesIds.add("Other"); - - JSONObject openmrsChoiceIds = new JSONObject(); - for (int i = 0; i < healthFacilitiesOptions.size(); i++) { - openmrsChoiceIds.put(healthFacilitiesOptions.get(i), healthFacilitiesIds.get(i)); - } - if (referralHealthFacilities != null) { - referralHealthFacilities.put("values", new JSONArray(healthFacilitiesOptions)); - referralHealthFacilities.put("keys", new JSONArray(healthFacilitiesOptions)); - referralHealthFacilities.put("openmrs_choice_ids", openmrsChoiceIds); + String jsonString = data.getStringExtra(org.smartregister.family.util.Constants.JSON_FORM_EXTRA.JSON); + JSONObject form = new JSONObject(jsonString); + String encounterType = form.getString(JsonFormUtils.ENCOUNTER_TYPE); + if (encounterType.equals(Constants.EncounterType.PMTCT_COMMUNITY_FOLLOWUP_FEEDBACK)) { + AllSharedPreferences allSharedPreferences = Utils.getAllSharedPreferences(); + Event baseEvent = org.smartregister.chw.pmtct.util.JsonFormUtils.processJsonForm(allSharedPreferences, tagReferralFormId(jsonString, baseEntityId), CoreConstants.TABLE_NAME.PMTCT_COMMUNITY_FEEDBACK); + org.smartregister.chw.pmtct.util.JsonFormUtils.tagEvent(allSharedPreferences, baseEvent); + baseEvent.setBaseEntityId(memberObject.getBaseEntityId()); + NCUtils.processEvent(baseEvent.getBaseEntityId(), new JSONObject(org.smartregister.chw.pmtct.util.JsonFormUtils.gson.toJson(baseEvent))); + Toast.makeText(this, R.string.followup_feedback_recorded, Toast.LENGTH_SHORT).show(); + Intent intent = new Intent(this, PmtctRegisterActivity.class); + startActivity(intent); } - } catch (JSONException e) { - Timber.e(e); + } catch (Exception e) { + Timber.e(e, "PmtctRegisterActivity -- > onActivityResult"); } } - return form; + } + + private String tagReferralFormId(String jsonString, String formSubmissionId) throws JSONException { + JSONObject form = new JSONObject(jsonString); + JSONArray fields = org.smartregister.util.JsonFormUtils.fields(form); + JSONObject referralFormId = org.smartregister.util.JsonFormUtils.getFieldJSONObject(fields, Constants.PmtctFollowupFeedbackConstants.referralFormId); + assert referralFormId != null; + referralFormId.put(JsonFormUtils.VALUE, formSubmissionId); + return form.toString(); } } \ No newline at end of file diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index ed06de2f85..183a31136b 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -402,6 +402,7 @@ Exit Record Followup Feedback PMTCT Followup Feedback + Followup Feedback Recorded diff --git a/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json index e0edd82961..a542197bc1 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json @@ -152,14 +152,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "chw_name", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "pmtct_community_followup_feedback_calculation.yml" - } - } - } + "type": "hidden" } ] } diff --git a/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml index 16268da447..38bbccdafe 100644 --- a/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml @@ -4,11 +4,4 @@ description: pmtct community followup visit date calculation priority: 1 condition: "true" actions: - - "calculation = System.currentTimeMillis()" ---- -name: step1_chw_name -description: chw name calculation -priority: 1 -condition: "true" -actions: - - "calculation = global_chw_name" \ No newline at end of file + - "calculation = System.currentTimeMillis()" \ No newline at end of file From 63dd2d143ca94ac3d61f3f235ebc99cc175e313c Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 10 Mar 2022 09:54:35 +0300 Subject: [PATCH 313/915] Renamed choices from marital status --- .../json.form-sw/male_partner_registration_form.json | 12 +++--------- .../json.form/male_partner_registration_form.json | 6 ------ 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json index 13c7c030b1..dd9ad22d35 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json @@ -396,11 +396,9 @@ "type": "spinner", "hint": "Hali ya Ndoa ya Mteja?", "values": [ - "Hajaowa/Kuolewa", - "Ameowa/Kuolewa", - "Wameachwa", - "Ndoa ya mke/mume moja", - "Ndoa za wake wengi", + "Hajaoa/Hajaolewa", + "Ameoa/Ameolewa", + "Ameachwa", "Mjane/Mgane", "Kuishi pamoja bila ndoa" ], @@ -408,8 +406,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -417,8 +413,6 @@ "Single": "Single", "Married": "Married", "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", "Widowed": "Widowed", "Cohabitation": "Cohabitation" }, diff --git a/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json index bd8ce53767..46adfb0334 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json @@ -398,8 +398,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -407,8 +405,6 @@ "Single", "Married", "Divorced", - "Monogamy", - "Polygamy", "Widowed", "Cohabitation" ], @@ -416,8 +412,6 @@ "Single": "Single", "Married": "Married", "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", "Widowed": "Widowed", "Cohabitation": "Cohabitation" }, From 0274a1529c8d77baa79c430063567698c5a0b414 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 10 Mar 2022 12:02:08 +0300 Subject: [PATCH 314/915] Fix: active status for pmtct drawer menu --- .../chw/activity/PmtctRegisterActivity.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java index b1af503b63..0a361fa207 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java @@ -5,6 +5,7 @@ import org.smartregister.chw.core.activity.CorePmtctRegisterActivity; import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.fragment.PmtctRegisterFragment; import org.smartregister.helper.BottomNavigationHelper; import org.smartregister.view.fragment.BaseRegisterFragment; @@ -29,4 +30,13 @@ protected void registerBottomNavigation() { FamilyRegisterActivity.registerBottomNavigation(bottomNavigationHelper, bottomNavigationView, this); } + @Override + protected void onResumption() { + super.onResumption(); + NavigationMenu menu = NavigationMenu.getInstance(this, null, null); + if (menu != null) { + menu.getNavigationAdapter().setSelectedView(CoreConstants.DrawerMenu.PMTCT_FOLLOWUP); + } + } + } From 938a18cad0d52891908e36582d940b1c5306dd11 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 14 Mar 2022 10:42:20 +0300 Subject: [PATCH 315/915] refactored ec_hiv_outcome ec_client_fields --- .../chw/activity/PmtctcDetailsActivity.java | 2 +- .../src/nacp/assets/ec_client_fields.json | 17 ----------------- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java index d9204b5628..b4190e1dfb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctcDetailsActivity.java @@ -126,7 +126,7 @@ private void obtainReferralDetails() { referralDateCalendar.setTimeInMillis(memberObject.getLastFacilityVisitDate().getTime()); lastFacilityVisitDate.setText(dateFormatter.format(referralDateCalendar.getTime())); } else { - lastFacilityVisitDate.setVisibility(View.GONE); + findViewById(R.id.referral_facility_layout).setVisibility(View.GONE); } locationName.setText(memberObject.getAddress()); diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 21dfc2118d..a536151536 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -3164,23 +3164,6 @@ "concept": "hiv_facility_visit_date" } }, - { - "column_name": "problem", - "type": "Event", - "save_format": "json_array", - "json_mapping": { - "field": "obs.fieldCode", - "formSubmissionField": "problem" - } - }, - { - "column_name": "problem_other", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "problem_other" - } - }, { "column_name": "action_taken", "type": "Event", From cf3295f8fcabf7b77337629b87ddfc18d8620a0d Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 19 Mar 2022 14:31:01 +0300 Subject: [PATCH 316/915] added: second fragment to handle mother champions clients and followups --- .../chw/activity/PmtctRegisterActivity.java | 44 ++++++++++- .../MotherChampionRegisterFragment.java | 77 +++++++++++++++++++ .../chw/fragment/PmtctRegisterFragment.java | 8 ++ .../ChwPmtctBottomNavigationListener.java | 32 ++++++++ ...therChampionRegisterFragmentPresenter.java | 22 ++++++ .../main/res/menu/pmtct_bottom_nav_menu.xml | 16 ++++ opensrp-chw/src/main/res/values/strings.xml | 1 + .../chw/model/NavigationModelFlv.java | 2 +- 8 files changed, 199 insertions(+), 3 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwPmtctBottomNavigationListener.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/MotherChampionRegisterFragmentPresenter.java create mode 100644 opensrp-chw/src/main/res/menu/pmtct_bottom_nav_menu.xml diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java index 0a361fa207..e9584c78e1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctRegisterActivity.java @@ -1,15 +1,24 @@ package org.smartregister.chw.activity; +import android.app.Activity; import android.os.Bundle; +import com.google.android.material.bottomnavigation.LabelVisibilityMode; + +import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CorePmtctRegisterActivity; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.fragment.MotherChampionRegisterFragment; import org.smartregister.chw.fragment.PmtctRegisterFragment; +import org.smartregister.chw.listener.ChwPmtctBottomNavigationListener; import org.smartregister.helper.BottomNavigationHelper; +import org.smartregister.listener.BottomNavigationListener; import org.smartregister.view.fragment.BaseRegisterFragment; +import androidx.fragment.app.Fragment; + public class PmtctRegisterActivity extends CorePmtctRegisterActivity { @Override @@ -20,14 +29,45 @@ protected void onCreate(Bundle savedInstanceState) { @Override protected BaseRegisterFragment getRegisterFragment() { - return new PmtctRegisterFragment(); + return new MotherChampionRegisterFragment(); } @Override protected void registerBottomNavigation() { bottomNavigationHelper = new BottomNavigationHelper(); bottomNavigationView = findViewById(org.smartregister.R.id.bottom_navigation); - FamilyRegisterActivity.registerBottomNavigation(bottomNavigationHelper, bottomNavigationView, this); + + if (bottomNavigationView != null) { + bottomNavigationView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_clients); + bottomNavigationView.getMenu().removeItem(org.smartregister.chw.hiv.R.id.action_register); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_search); + bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_library); + + bottomNavigationView.inflateMenu(getMenuResource()); + bottomNavigationHelper.disableShiftMode(bottomNavigationView); + + BottomNavigationListener pmtctBottomNavigationListener = getBottomNavigation(this); + bottomNavigationView.setOnNavigationItemSelectedListener(pmtctBottomNavigationListener); + + } + } + + public BottomNavigationListener getBottomNavigation(Activity activity) { + return new ChwPmtctBottomNavigationListener(activity); + } + + @Override + protected Fragment[] getOtherFragments() { + return new PmtctRegisterFragment[]{ + new PmtctRegisterFragment() + }; + } + + + @Override + public int getMenuResource() { + return R.menu.pmtct_bottom_nav_menu; } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java new file mode 100644 index 0000000000..dcdf7e44f3 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java @@ -0,0 +1,77 @@ +package org.smartregister.chw.fragment; + +import org.smartregister.chw.R; +import org.smartregister.chw.activity.PmtctRegisterActivity; +import org.smartregister.chw.activity.PmtctcDetailsActivity; +import org.smartregister.chw.core.fragment.CorePmtctRegisterFragment; +import org.smartregister.chw.model.PmtctRegisterFragmentModel; +import org.smartregister.chw.presenter.PmtctRegisterFragmentPresenter; +import org.smartregister.chw.provider.PmtctRegisterProvider; +import org.smartregister.configurableviews.model.View; +import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; +import org.smartregister.view.customcontrols.CustomFontTextView; + +import java.util.Set; + +import timber.log.Timber; + +public class MotherChampionRegisterFragment extends CorePmtctRegisterFragment { + @Override + protected void initializePresenter() { + if (getActivity() == null) { + return; + } + String viewConfigurationIdentifier = null; + try { + viewConfigurationIdentifier = ((PmtctRegisterActivity) getActivity()).getViewIdentifiers().get(0); + } catch (Exception e) { + Timber.e(e); + } + + presenter = new PmtctRegisterFragmentPresenter(this, new PmtctRegisterFragmentModel(), viewConfigurationIdentifier); + + } + + @Override + protected void openProfile(String baseEntityId) { + PmtctcDetailsActivity.startPmtctDetailsActivity(getActivity(), baseEntityId); + } + + @Override + public void setupViews(android.view.View view) { + super.setupViews(view); + titleLabelView.setText(R.string.mother_champion); + } + + @Override + public void initializeAdapter(Set visibleColumns) { + PmtctRegisterProvider pmtctRegisterProvider = new PmtctRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); + clientAdapter = new RecyclerViewPaginatedAdapter(null, pmtctRegisterProvider, context().commonrepository(this.tablename)); + clientAdapter.setCurrentlimit(20); + clientsView.setAdapter(clientAdapter); + } + + @Override + protected void openFollowUpVisit(String baseEntityId) { + // PmtctFollowUpVisitActivity.startPmtctFollowUpActivity(getActivity(),baseEntityId); + } + + @Override + protected void refreshSyncProgressSpinner() { + if (isSyncing()) { + if (syncProgressBar != null) { + syncProgressBar.setVisibility(android.view.View.VISIBLE); + } + if (syncButton != null) { + syncButton.setVisibility(android.view.View.GONE); + } + } else { + if (syncProgressBar != null) { + syncProgressBar.setVisibility(android.view.View.GONE); + } + if (syncButton != null) { + syncButton.setVisibility(android.view.View.GONE); + } + } + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java index cb37380fc3..bfdd5a0d38 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java @@ -1,5 +1,6 @@ package org.smartregister.chw.fragment; +import org.smartregister.chw.R; import org.smartregister.chw.activity.PmtctRegisterActivity; import org.smartregister.chw.activity.PmtctcDetailsActivity; import org.smartregister.chw.core.fragment.CorePmtctRegisterFragment; @@ -8,6 +9,7 @@ import org.smartregister.chw.provider.PmtctRegisterProvider; import org.smartregister.configurableviews.model.View; import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; +import org.smartregister.view.customcontrols.CustomFontTextView; import java.util.Set; @@ -35,6 +37,12 @@ protected void openProfile(String baseEntityId) { PmtctcDetailsActivity.startPmtctDetailsActivity(getActivity(), baseEntityId); } + @Override + public void setupViews(android.view.View view) { + super.setupViews(view); + titleLabelView.setText(R.string.action_received_hiv_followup_referrals); + } + @Override public void initializeAdapter(Set visibleColumns) { PmtctRegisterProvider pmtctRegisterProvider = new PmtctRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwPmtctBottomNavigationListener.java b/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwPmtctBottomNavigationListener.java new file mode 100644 index 0000000000..b4864c24d1 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwPmtctBottomNavigationListener.java @@ -0,0 +1,32 @@ +package org.smartregister.chw.listener; + +import android.app.Activity; +import android.view.MenuItem; + +import org.smartregister.chw.R; +import org.smartregister.chw.activity.PmtctRegisterActivity; +import org.smartregister.chw.pmtct.listener.PmtctBottomNavigationListener; + +import androidx.annotation.NonNull; + +public class ChwPmtctBottomNavigationListener extends PmtctBottomNavigationListener { + + private final PmtctRegisterActivity baseRegisterActivity; + + public ChwPmtctBottomNavigationListener(Activity context) { + super(context); + this.baseRegisterActivity = (PmtctRegisterActivity) context; + } + + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem item) { + if (item.getItemId() == R.id.action_home) { + baseRegisterActivity.switchToFragment(0); + return true; + }else if (item.getItemId() == R.id.action_followup) { + baseRegisterActivity.switchToFragment(1); + return true; + } else + return super.onNavigationItemSelected(item); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/MotherChampionRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/MotherChampionRegisterFragmentPresenter.java new file mode 100644 index 0000000000..ee4115d05d --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/MotherChampionRegisterFragmentPresenter.java @@ -0,0 +1,22 @@ +package org.smartregister.chw.presenter; + +import org.smartregister.chw.pmtct.contract.PmtctRegisterFragmentContract; +import org.smartregister.chw.pmtct.presenter.BasePmtctRegisterFragmentPresenter; + +import static org.smartregister.chw.core.utils.CoreConstants.TABLE_NAME; + +public class MotherChampionRegisterFragmentPresenter extends BasePmtctRegisterFragmentPresenter { + public MotherChampionRegisterFragmentPresenter(PmtctRegisterFragmentContract.View view, PmtctRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { + super(view, model, viewConfigurationIdentifier); + } + + @Override + public String getMainCondition() { + return " ec_family_member.date_removed is null AND ec_pmtct_community_followup.base_entity_id NOT IN (SELECT community_referral_form_id FROM ec_pmtct_community_feedback)"; + } + + @Override + public String getMainTable() { + return TABLE_NAME.PMTCT_COMMUNITY_FOLLOWUP; + } +} diff --git a/opensrp-chw/src/main/res/menu/pmtct_bottom_nav_menu.xml b/opensrp-chw/src/main/res/menu/pmtct_bottom_nav_menu.xml new file mode 100644 index 0000000000..c168e13100 --- /dev/null +++ b/opensrp-chw/src/main/res/menu/pmtct_bottom_nav_menu.xml @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 183a31136b..bb553702fd 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -403,6 +403,7 @@ Record Followup Feedback PMTCT Followup Feedback Followup Feedback Recorded + Mother Champion diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java index 93f14ee196..da5b974e34 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -31,7 +31,7 @@ public List getNavigationItems() { NavigationOption op10 = new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0); NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.CBHS_CLIENTS, 0); NavigationOption op12 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_index_contacts, CoreConstants.DrawerMenu.HIV_INDEX_CLIENTS, 0); - NavigationOption op13 = new NavigationOption(R.drawable.sidemenu_pmtct,R.drawable.sidemenu_pmtct_active,R.string.menu_pmtct,CoreConstants.DrawerMenu.PMTCT_FOLLOWUP,0); + NavigationOption op13 = new NavigationOption(R.drawable.sidemenu_pmtct,R.drawable.sidemenu_pmtct_active,R.string.mother_champion,CoreConstants.DrawerMenu.PMTCT_FOLLOWUP,0); NavigationOption op14 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { From 49281e981ad32fd356f3ad25f035cd4239368ea4 Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 19 Mar 2022 15:10:30 +0300 Subject: [PATCH 317/915] fixed: loading referred clients to mother champion services --- .../MotherChampionRegisterFragment.java | 7 +- .../MotherChampionRegisterFragmentModel.java | 52 +++++++++++++++ ...therChampionRegisterFragmentPresenter.java | 4 +- .../nacp/assets/ec_client_classification.json | 7 ++ .../src/nacp/assets/ec_client_fields.json | 66 +++++++++++++++++++ 5 files changed, 130 insertions(+), 6 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/MotherChampionRegisterFragmentModel.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java index dcdf7e44f3..b0cfea14d9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java @@ -4,12 +4,11 @@ import org.smartregister.chw.activity.PmtctRegisterActivity; import org.smartregister.chw.activity.PmtctcDetailsActivity; import org.smartregister.chw.core.fragment.CorePmtctRegisterFragment; -import org.smartregister.chw.model.PmtctRegisterFragmentModel; -import org.smartregister.chw.presenter.PmtctRegisterFragmentPresenter; +import org.smartregister.chw.model.MotherChampionRegisterFragmentModel; +import org.smartregister.chw.presenter.MotherChampionRegisterFragmentPresenter; import org.smartregister.chw.provider.PmtctRegisterProvider; import org.smartregister.configurableviews.model.View; import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; -import org.smartregister.view.customcontrols.CustomFontTextView; import java.util.Set; @@ -28,7 +27,7 @@ protected void initializePresenter() { Timber.e(e); } - presenter = new PmtctRegisterFragmentPresenter(this, new PmtctRegisterFragmentModel(), viewConfigurationIdentifier); + presenter = new MotherChampionRegisterFragmentPresenter(this, new MotherChampionRegisterFragmentModel(), viewConfigurationIdentifier); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/MotherChampionRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/MotherChampionRegisterFragmentModel.java new file mode 100644 index 0000000000..07a5199ba6 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/MotherChampionRegisterFragmentModel.java @@ -0,0 +1,52 @@ +package org.smartregister.chw.model; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.core.utils.ChildDBConstants; +import org.smartregister.chw.pmtct.model.BasePmtctRegisterFragmentModel; +import org.smartregister.chw.util.Constants; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.family.util.DBConstants; + +import java.util.HashSet; +import java.util.Set; + +import androidx.annotation.NonNull; + +public class MotherChampionRegisterFragmentModel extends BasePmtctRegisterFragmentModel { + @NonNull + @Override + public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { + SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName+ "." +DBConstants.KEY.BASE_ENTITY_ID + " = " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); + queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T1 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER + " = T1." + DBConstants.KEY.BASE_ENTITY_ID); + queryBuilder.customJoin("LEFT JOIN " + Constants.TABLE_NAME.FAMILY_MEMBER + " as T2 ON " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD + " = T2." + DBConstants.KEY.BASE_ENTITY_ID); + return queryBuilder.mainCondition(mainCondition); + } + + @Override + @NotNull + public String[] mainColumns(String tableName) { + Set columnList = new HashSet<>(); + + columnList.add(tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.FIRST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.LAST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DOB); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.GENDER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.OTHER_PHONE_NUMBER); + columnList.add("T2." + DBConstants.KEY.PHONE_NUMBER + " AS " + org.smartregister.chw.tb.util.DBConstants.Key.FAMILY_HEAD_PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); + columnList.add("T1." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.PRIMARY_CAREGIVER); + columnList.add("T2." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.FAMILY_HEAD); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); + + return columnList.toArray(new String[columnList.size()]); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/MotherChampionRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/MotherChampionRegisterFragmentPresenter.java index ee4115d05d..2832995e23 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/MotherChampionRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/MotherChampionRegisterFragmentPresenter.java @@ -12,11 +12,11 @@ public MotherChampionRegisterFragmentPresenter(PmtctRegisterFragmentContract.Vie @Override public String getMainCondition() { - return " ec_family_member.date_removed is null AND ec_pmtct_community_followup.base_entity_id NOT IN (SELECT community_referral_form_id FROM ec_pmtct_community_feedback)"; + return " ec_family_member.date_removed is null "; } @Override public String getMainTable() { - return TABLE_NAME.PMTCT_COMMUNITY_FOLLOWUP; + return TABLE_NAME.MOTHER_CHAMPION; } } diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index e27dc318d4..4d819cfd93 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -493,6 +493,13 @@ "creates_case": [ "ec_pmtct_community_feedback" ] + }, + { + "field": "eventType", + "field_value": "Mother Champion Community Services Referral", + "creates_case": [ + "ec_mother_champion" + ] } ] } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index a536151536..d6fc0e2e3a 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -3589,6 +3589,72 @@ } ] }, + { + "name": "ec_mother_champion", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "last_client_visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "last_client_visit_date" + } + }, + { + "column_name": "pmtct_community_referral_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "pmtct_community_referral_date" + } + }, + { + "column_name": "comment", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "comment_pmtct_community_followup" + } + }, + { + "column_name": "reasons_for_issuing_community_referral", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "reasons_for_issuing_community_referral" + } + } + ] + }, { "name": "ec_pmtct_community_feedback", "columns": [ From d5cb9decb2cacf899720589fa4f8172c5b99340e Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 19 Mar 2022 15:30:50 +0300 Subject: [PATCH 318/915] refactor: perform proper naming of files --- opensrp-chw/src/main/AndroidManifest.xml | 4 ++-- ...va => MotherChampionRegisterActivity.java} | 12 +++++----- ...java => PmtctFollowupDetailsActivity.java} | 8 +++---- .../chw/application/ChwApplication.java | 4 ++-- .../MotherChampionRegisterFragment.java | 14 +++++------ ...ava => PmtctFollowupRegisterFragment.java} | 23 +++++++++---------- ...therChampionBottomNavigationListener.java} | 10 ++++---- ...> PmtctFollowupRegisterFragmentModel.java} | 2 +- ...tctFollowupRegisterFragmentPresenter.java} | 4 ++-- ...va => MotherChampionRegisterProvider.java} | 4 ++-- 10 files changed, 42 insertions(+), 43 deletions(-) rename opensrp-chw/src/main/java/org/smartregister/chw/activity/{PmtctRegisterActivity.java => MotherChampionRegisterActivity.java} (86%) rename opensrp-chw/src/main/java/org/smartregister/chw/activity/{PmtctcDetailsActivity.java => PmtctFollowupDetailsActivity.java} (97%) rename opensrp-chw/src/main/java/org/smartregister/chw/fragment/{PmtctRegisterFragment.java => PmtctFollowupRegisterFragment.java} (61%) rename opensrp-chw/src/main/java/org/smartregister/chw/listener/{ChwPmtctBottomNavigationListener.java => ChwMotherChampionBottomNavigationListener.java} (64%) rename opensrp-chw/src/main/java/org/smartregister/chw/model/{PmtctRegisterFragmentModel.java => PmtctFollowupRegisterFragmentModel.java} (97%) rename opensrp-chw/src/main/java/org/smartregister/chw/presenter/{PmtctRegisterFragmentPresenter.java => PmtctFollowupRegisterFragmentPresenter.java} (71%) rename opensrp-chw/src/main/java/org/smartregister/chw/provider/{PmtctRegisterProvider.java => MotherChampionRegisterProvider.java} (72%) diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 3fd36b4754..5e53e3c25b 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -298,10 +298,10 @@ android:name=".activity.ChwReferralDetailsViewActivity" android:theme="@style/ChwTheme.NoActionBar" /> onActivityResult"); + Timber.e(e, "MotherChampionRegisterActivity -- > onActivityResult"); } } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index 25c353ac4d..b265c71c42 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -36,7 +36,7 @@ import org.smartregister.chw.activity.HivRegisterActivity; import org.smartregister.chw.activity.LoginActivity; import org.smartregister.chw.activity.MalariaRegisterActivity; -import org.smartregister.chw.activity.PmtctRegisterActivity; +import org.smartregister.chw.activity.MotherChampionRegisterActivity; import org.smartregister.chw.activity.PncRegisterActivity; import org.smartregister.chw.activity.ReferralRegisterActivity; import org.smartregister.chw.activity.UpdatesRegisterActivity; @@ -360,7 +360,7 @@ public Map getRegisteredActivities() { } registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.UPDATES_REGISTER_ACTIVITY, UpdatesRegisterActivity.class); - registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.PMTCT_FOLLOWUP_REGISTER_ACTIVITY, PmtctRegisterActivity.class); + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.PMTCT_FOLLOWUP_REGISTER_ACTIVITY, MotherChampionRegisterActivity.class); return registeredActivities; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java index b0cfea14d9..db1b268583 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java @@ -1,12 +1,12 @@ package org.smartregister.chw.fragment; import org.smartregister.chw.R; -import org.smartregister.chw.activity.PmtctRegisterActivity; -import org.smartregister.chw.activity.PmtctcDetailsActivity; +import org.smartregister.chw.activity.MotherChampionRegisterActivity; +import org.smartregister.chw.activity.PmtctFollowupDetailsActivity; import org.smartregister.chw.core.fragment.CorePmtctRegisterFragment; import org.smartregister.chw.model.MotherChampionRegisterFragmentModel; import org.smartregister.chw.presenter.MotherChampionRegisterFragmentPresenter; -import org.smartregister.chw.provider.PmtctRegisterProvider; +import org.smartregister.chw.provider.MotherChampionRegisterProvider; import org.smartregister.configurableviews.model.View; import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; @@ -22,7 +22,7 @@ protected void initializePresenter() { } String viewConfigurationIdentifier = null; try { - viewConfigurationIdentifier = ((PmtctRegisterActivity) getActivity()).getViewIdentifiers().get(0); + viewConfigurationIdentifier = ((MotherChampionRegisterActivity) getActivity()).getViewIdentifiers().get(0); } catch (Exception e) { Timber.e(e); } @@ -33,7 +33,7 @@ protected void initializePresenter() { @Override protected void openProfile(String baseEntityId) { - PmtctcDetailsActivity.startPmtctDetailsActivity(getActivity(), baseEntityId); + PmtctFollowupDetailsActivity.startPmtctDetailsActivity(getActivity(), baseEntityId); } @Override @@ -44,8 +44,8 @@ public void setupViews(android.view.View view) { @Override public void initializeAdapter(Set visibleColumns) { - PmtctRegisterProvider pmtctRegisterProvider = new PmtctRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); - clientAdapter = new RecyclerViewPaginatedAdapter(null, pmtctRegisterProvider, context().commonrepository(this.tablename)); + MotherChampionRegisterProvider motherChampionRegisterProvider = new MotherChampionRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); + clientAdapter = new RecyclerViewPaginatedAdapter(null, motherChampionRegisterProvider, context().commonrepository(this.tablename)); clientAdapter.setCurrentlimit(20); clientsView.setAdapter(clientAdapter); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctFollowupRegisterFragment.java similarity index 61% rename from opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java rename to opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctFollowupRegisterFragment.java index bfdd5a0d38..2dcbcdc616 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctFollowupRegisterFragment.java @@ -1,21 +1,20 @@ package org.smartregister.chw.fragment; import org.smartregister.chw.R; -import org.smartregister.chw.activity.PmtctRegisterActivity; -import org.smartregister.chw.activity.PmtctcDetailsActivity; +import org.smartregister.chw.activity.MotherChampionRegisterActivity; +import org.smartregister.chw.activity.PmtctFollowupDetailsActivity; import org.smartregister.chw.core.fragment.CorePmtctRegisterFragment; -import org.smartregister.chw.model.PmtctRegisterFragmentModel; -import org.smartregister.chw.presenter.PmtctRegisterFragmentPresenter; -import org.smartregister.chw.provider.PmtctRegisterProvider; +import org.smartregister.chw.model.PmtctFollowupRegisterFragmentModel; +import org.smartregister.chw.presenter.PmtctFollowupRegisterFragmentPresenter; +import org.smartregister.chw.provider.MotherChampionRegisterProvider; import org.smartregister.configurableviews.model.View; import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; -import org.smartregister.view.customcontrols.CustomFontTextView; import java.util.Set; import timber.log.Timber; -public class PmtctRegisterFragment extends CorePmtctRegisterFragment { +public class PmtctFollowupRegisterFragment extends CorePmtctRegisterFragment { @Override protected void initializePresenter() { if (getActivity() == null) { @@ -23,18 +22,18 @@ protected void initializePresenter() { } String viewConfigurationIdentifier = null; try { - viewConfigurationIdentifier = ((PmtctRegisterActivity) getActivity()).getViewIdentifiers().get(0); + viewConfigurationIdentifier = ((MotherChampionRegisterActivity) getActivity()).getViewIdentifiers().get(0); } catch (Exception e) { Timber.e(e); } - presenter = new PmtctRegisterFragmentPresenter(this, new PmtctRegisterFragmentModel(), viewConfigurationIdentifier); + presenter = new PmtctFollowupRegisterFragmentPresenter(this, new PmtctFollowupRegisterFragmentModel(), viewConfigurationIdentifier); } @Override protected void openProfile(String baseEntityId) { - PmtctcDetailsActivity.startPmtctDetailsActivity(getActivity(), baseEntityId); + PmtctFollowupDetailsActivity.startPmtctDetailsActivity(getActivity(), baseEntityId); } @Override @@ -45,8 +44,8 @@ public void setupViews(android.view.View view) { @Override public void initializeAdapter(Set visibleColumns) { - PmtctRegisterProvider pmtctRegisterProvider = new PmtctRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); - clientAdapter = new RecyclerViewPaginatedAdapter(null, pmtctRegisterProvider, context().commonrepository(this.tablename)); + MotherChampionRegisterProvider motherChampionRegisterProvider = new MotherChampionRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); + clientAdapter = new RecyclerViewPaginatedAdapter(null, motherChampionRegisterProvider, context().commonrepository(this.tablename)); clientAdapter.setCurrentlimit(20); clientsView.setAdapter(clientAdapter); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwPmtctBottomNavigationListener.java b/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java similarity index 64% rename from opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwPmtctBottomNavigationListener.java rename to opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java index b4864c24d1..115a5db2a0 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwPmtctBottomNavigationListener.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java @@ -4,18 +4,18 @@ import android.view.MenuItem; import org.smartregister.chw.R; -import org.smartregister.chw.activity.PmtctRegisterActivity; +import org.smartregister.chw.activity.MotherChampionRegisterActivity; import org.smartregister.chw.pmtct.listener.PmtctBottomNavigationListener; import androidx.annotation.NonNull; -public class ChwPmtctBottomNavigationListener extends PmtctBottomNavigationListener { +public class ChwMotherChampionBottomNavigationListener extends PmtctBottomNavigationListener { - private final PmtctRegisterActivity baseRegisterActivity; + private final MotherChampionRegisterActivity baseRegisterActivity; - public ChwPmtctBottomNavigationListener(Activity context) { + public ChwMotherChampionBottomNavigationListener(Activity context) { super(context); - this.baseRegisterActivity = (PmtctRegisterActivity) context; + this.baseRegisterActivity = (MotherChampionRegisterActivity) context; } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/PmtctRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/PmtctFollowupRegisterFragmentModel.java similarity index 97% rename from opensrp-chw/src/main/java/org/smartregister/chw/model/PmtctRegisterFragmentModel.java rename to opensrp-chw/src/main/java/org/smartregister/chw/model/PmtctFollowupRegisterFragmentModel.java index 6e19315208..76925cc30f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/PmtctRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/PmtctFollowupRegisterFragmentModel.java @@ -12,7 +12,7 @@ import java.util.HashSet; import java.util.Set; -public class PmtctRegisterFragmentModel extends BasePmtctRegisterFragmentModel { +public class PmtctFollowupRegisterFragmentModel extends BasePmtctRegisterFragmentModel { @NonNull @Override public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctFollowupRegisterFragmentPresenter.java similarity index 71% rename from opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctRegisterFragmentPresenter.java rename to opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctFollowupRegisterFragmentPresenter.java index e62063465a..febf2ada1c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctFollowupRegisterFragmentPresenter.java @@ -5,8 +5,8 @@ import org.smartregister.chw.pmtct.contract.PmtctRegisterFragmentContract; import org.smartregister.chw.pmtct.presenter.BasePmtctRegisterFragmentPresenter; -public class PmtctRegisterFragmentPresenter extends BasePmtctRegisterFragmentPresenter { - public PmtctRegisterFragmentPresenter(PmtctRegisterFragmentContract.View view, PmtctRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { +public class PmtctFollowupRegisterFragmentPresenter extends BasePmtctRegisterFragmentPresenter { + public PmtctFollowupRegisterFragmentPresenter(PmtctRegisterFragmentContract.View view, PmtctRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { super(view, model, viewConfigurationIdentifier); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/PmtctRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/MotherChampionRegisterProvider.java similarity index 72% rename from opensrp-chw/src/main/java/org/smartregister/chw/provider/PmtctRegisterProvider.java rename to opensrp-chw/src/main/java/org/smartregister/chw/provider/MotherChampionRegisterProvider.java index 6607603135..bdcccc5429 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/provider/PmtctRegisterProvider.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/MotherChampionRegisterProvider.java @@ -9,8 +9,8 @@ import java.util.Set; -public class PmtctRegisterProvider extends CorePmtctRegisterProvider { - public PmtctRegisterProvider(Context context, View.OnClickListener paginationClickListener, View.OnClickListener onClickListener, Set visibleColumns) { +public class MotherChampionRegisterProvider extends CorePmtctRegisterProvider { + public MotherChampionRegisterProvider(Context context, View.OnClickListener paginationClickListener, View.OnClickListener onClickListener, Set visibleColumns) { super(context, paginationClickListener, onClickListener, visibleColumns); } From 91c661413d1ebf0a57904b6404e6f3f8266766f8 Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 19 Mar 2022 15:56:17 +0300 Subject: [PATCH 319/915] add: mother champion profile activity --- opensrp-chw/src/main/AndroidManifest.xml | 3 + .../MotherChampionProfileActivity.java | 115 ++++++++++++++++++ .../chw/dao/MotherChampionDao.java | 58 +++++++++ .../MotherChampionRegisterFragment.java | 3 +- opensrp-chw/src/main/res/values/strings.xml | 1 + 5 files changed, 179 insertions(+), 1 deletion(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/dao/MotherChampionDao.java diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 5e53e3c25b..165bb0138f 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -303,6 +303,9 @@ + getFamilyProfileActivityClass() { + return null; + } + + @Override + protected void removeMember() { + + } + + @NonNull + @Override + public CoreFamilyOtherMemberActivityPresenter presenter() { + return null; + } + + @Override + public void setProfileImage(String s, String s1) { + + } + + @Override + public void setProfileDetailThree(String s) { + + } + + @Override + public void toggleFamilyHead(boolean b) { + + } + + @Override + public void togglePrimaryCaregiver(boolean b) { + + } + + @Override + public void refreshList() { + + } + + @Override + public void updateHasPhone(boolean b) { + + } + + @Override + public void setFamilyServiceStatus(String s) { + + } + + @Override + public void verifyHasPhone() { + + } + + @Override + public void notifyHasPhone(boolean b) { + + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/MotherChampionDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/MotherChampionDao.java new file mode 100644 index 0000000000..71ae748a16 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/MotherChampionDao.java @@ -0,0 +1,58 @@ +package org.smartregister.chw.dao; + +import org.smartregister.chw.pmtct.domain.MemberObject; +import org.smartregister.dao.AbstractDao; + +import java.util.List; + +public class MotherChampionDao extends AbstractDao { + public static MemberObject getMember(String baseEntityID) { + String sql = "select m.base_entity_id , m.unique_id , m.relational_id , m.dob , m.first_name , m.middle_name , m.last_name , m.gender , m.phone_number , m.other_phone_number , f.first_name family_name ,f.primary_caregiver , f.family_head , f.village_town ,fh.first_name family_head_first_name , fh.middle_name family_head_middle_name , fh.last_name family_head_last_name, fh.phone_number family_head_phone_number , ancr.is_closed anc_is_closed, pncr.is_closed pnc_is_closed, pcg.first_name pcg_first_name , pcg.last_name pcg_last_name , pcg.middle_name pcg_middle_name , pcg.phone_number pcg_phone_number , mr.* from ec_family_member m inner join ec_family f on m.relational_id = f.base_entity_id inner join ec_mother_champion mr on mr.base_entity_id = m.base_entity_id left join ec_family_member fh on fh.base_entity_id = f.family_head left join ec_family_member pcg on pcg.base_entity_id = f.primary_caregiver left join ec_anc_register ancr on ancr.base_entity_id = m.base_entity_id left join ec_pregnancy_outcome pncr on pncr.base_entity_id = m.base_entity_id where m.base_entity_id ='" + baseEntityID + "' "; + + + DataMap dataMap = cursor -> { + MemberObject memberObject = new MemberObject(); + + memberObject.setFirstName(getCursorValue(cursor, "first_name", "")); + memberObject.setMiddleName(getCursorValue(cursor, "middle_name", "")); + memberObject.setLastName(getCursorValue(cursor, "last_name", "")); + memberObject.setAddress(getCursorValue(cursor, "village_town")); + memberObject.setGender(getCursorValue(cursor, "gender")); + memberObject.setUniqueId(getCursorValue(cursor, "unique_id", "")); + memberObject.setAge(getCursorValue(cursor, "dob")); + memberObject.setFamilyBaseEntityId(getCursorValue(cursor, "relational_id", "")); + memberObject.setRelationalId(getCursorValue(cursor, "relational_id", "")); + memberObject.setPrimaryCareGiver(getCursorValue(cursor, "primary_caregiver")); + memberObject.setFamilyName(getCursorValue(cursor, "family_name", "")); + memberObject.setPhoneNumber(getCursorValue(cursor, "phone_number", "")); + memberObject.setBaseEntityId(getCursorValue(cursor, "base_entity_id", "")); + memberObject.setFamilyHead(getCursorValue(cursor, "family_head", "")); + memberObject.setFamilyHeadPhoneNumber(getCursorValue(cursor, "pcg_phone_number", "")); + memberObject.setFamilyHeadPhoneNumber(getCursorValue(cursor, "family_head_phone_number", "")); + memberObject.setAncMember(getCursorValue(cursor, "anc_is_closed", "")); + memberObject.setPncMember(getCursorValue(cursor, "pnc_is_closed", "")); + + String familyHeadName = getCursorValue(cursor, "family_head_first_name", "") + " " + + getCursorValue(cursor, "family_head_middle_name", ""); + + familyHeadName = + (familyHeadName.trim() + " " + getCursorValue(cursor, "family_head_last_name", "")).trim(); + memberObject.setFamilyHeadName(familyHeadName); + + String familyPcgName = getCursorValue(cursor, "pcg_first_name", "") + " " + + getCursorValue(cursor, "pcg_middle_name", ""); + + familyPcgName = + (familyPcgName.trim() + " " + getCursorValue(cursor, "pcg_last_name", "")).trim(); + memberObject.setPrimaryCareGiverName(familyPcgName); + + return memberObject; + }; + + List res = readData(sql, dataMap); + if (res == null || res.size() != 1) + return null; + + return res.get(0); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java index db1b268583..4ca5a6bcec 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java @@ -1,6 +1,7 @@ package org.smartregister.chw.fragment; import org.smartregister.chw.R; +import org.smartregister.chw.activity.MotherChampionProfileActivity; import org.smartregister.chw.activity.MotherChampionRegisterActivity; import org.smartregister.chw.activity.PmtctFollowupDetailsActivity; import org.smartregister.chw.core.fragment.CorePmtctRegisterFragment; @@ -33,7 +34,7 @@ protected void initializePresenter() { @Override protected void openProfile(String baseEntityId) { - PmtctFollowupDetailsActivity.startPmtctDetailsActivity(getActivity(), baseEntityId); + MotherChampionProfileActivity.startProfile(getActivity(),baseEntityId); } @Override diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index bb553702fd..8a20d35ab7 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -404,6 +404,7 @@ PMTCT Followup Feedback Followup Feedback Recorded Mother Champion + Return to Mother Champion\'s clients From 261103d1e3b02c58a3bc5de383a4b9830c197230 Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 19 Mar 2022 16:05:51 +0300 Subject: [PATCH 320/915] code fixes --- .../MotherChampionProfileActivity.java | 22 +++++++++---------- .../MotherChampionRegisterFragment.java | 3 +-- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java index 92c66cc09a..6abc1c3c6b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java @@ -18,10 +18,8 @@ import androidx.annotation.NonNull; public class MotherChampionProfileActivity extends CorePmtctProfileActivity { - private static String baseEntityId; public static void startProfile(Activity activity, String baseEntityId) { - MotherChampionProfileActivity.baseEntityId = baseEntityId; Intent intent = new Intent(activity, MotherChampionProfileActivity.class); intent.putExtra(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID, baseEntityId); activity.startActivity(intent); @@ -59,7 +57,7 @@ protected Class getFamilyProfileActivityCla @Override protected void removeMember() { - + //implement } @NonNull @@ -70,46 +68,46 @@ public CoreFamilyOtherMemberActivityPresenter presenter() { @Override public void setProfileImage(String s, String s1) { - + //implement } @Override public void setProfileDetailThree(String s) { - + //implement } @Override public void toggleFamilyHead(boolean b) { - + //implement } @Override public void togglePrimaryCaregiver(boolean b) { - + //implement } @Override public void refreshList() { - + //implement } @Override public void updateHasPhone(boolean b) { - + //implement } @Override public void setFamilyServiceStatus(String s) { - + //implement } @Override public void verifyHasPhone() { - + //implement } @Override public void notifyHasPhone(boolean b) { - + //implement } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java index 4ca5a6bcec..3ca0ace3f9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java @@ -3,7 +3,6 @@ import org.smartregister.chw.R; import org.smartregister.chw.activity.MotherChampionProfileActivity; import org.smartregister.chw.activity.MotherChampionRegisterActivity; -import org.smartregister.chw.activity.PmtctFollowupDetailsActivity; import org.smartregister.chw.core.fragment.CorePmtctRegisterFragment; import org.smartregister.chw.model.MotherChampionRegisterFragmentModel; import org.smartregister.chw.presenter.MotherChampionRegisterFragmentPresenter; @@ -34,7 +33,7 @@ protected void initializePresenter() { @Override protected void openProfile(String baseEntityId) { - MotherChampionProfileActivity.startProfile(getActivity(),baseEntityId); + MotherChampionProfileActivity.startProfile(getActivity(), baseEntityId); } @Override From fd89ae576ede76b90a674c7ad42790f4bd6f382d Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 19 Mar 2022 16:40:13 +0300 Subject: [PATCH 321/915] updated the navigation counter --- .../chw/activity/MotherChampionRegisterActivity.java | 2 +- .../org/smartregister/chw/application/ChwApplication.java | 2 +- .../java/org/smartregister/chw/model/NavigationModelFlv.java | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionRegisterActivity.java index 8cea50c114..8f83c3364d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionRegisterActivity.java @@ -75,7 +75,7 @@ protected void onResumption() { super.onResumption(); NavigationMenu menu = NavigationMenu.getInstance(this, null, null); if (menu != null) { - menu.getNavigationAdapter().setSelectedView(CoreConstants.DrawerMenu.PMTCT_FOLLOWUP); + menu.getNavigationAdapter().setSelectedView(CoreConstants.DrawerMenu.MOTHER_CHAMPION); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index b265c71c42..1b07205d04 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -360,7 +360,7 @@ public Map getRegisteredActivities() { } registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.UPDATES_REGISTER_ACTIVITY, UpdatesRegisterActivity.class); - registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.PMTCT_FOLLOWUP_REGISTER_ACTIVITY, MotherChampionRegisterActivity.class); + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.MOTHER_CHAMPION_ACTIVITY, MotherChampionRegisterActivity.class); return registeredActivities; } diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java index da5b974e34..79ddbcfc81 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -31,11 +31,11 @@ public List getNavigationItems() { NavigationOption op10 = new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0); NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.CBHS_CLIENTS, 0); NavigationOption op12 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_index_contacts, CoreConstants.DrawerMenu.HIV_INDEX_CLIENTS, 0); - NavigationOption op13 = new NavigationOption(R.drawable.sidemenu_pmtct,R.drawable.sidemenu_pmtct_active,R.string.mother_champion,CoreConstants.DrawerMenu.PMTCT_FOLLOWUP,0); + NavigationOption op13 = new NavigationOption(R.drawable.sidemenu_pmtct, R.drawable.sidemenu_pmtct_active, R.string.mother_champion, CoreConstants.DrawerMenu.MOTHER_CHAMPION, 0); NavigationOption op14 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { - navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5,op2,op13, op8,op9,op7,op6,op14)); + navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op2, op13, op8, op9, op7, op6, op14)); } else { navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) From e9f3314470172c5f2074d51ee3dd4561ddc20e05 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 21 Mar 2022 11:26:02 +0300 Subject: [PATCH 322/915] Created mother champion followup form --- .../json.form/mother_champion_followup.json | 246 ++++++++++++++++++ 1 file changed, 246 insertions(+) create mode 100644 opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json diff --git a/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json new file mode 100644 index 0000000000..f28a58902b --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json @@ -0,0 +1,246 @@ +{ + "count": "1", + "encounter_type": "Mother Champion Followup", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Record Followup", + "fields": [ + { + "key": "type_of_service", + "type": "native_radio", + "label": "Type of Service", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_service", + "openmrs_entity_parent": "", + "options": [ + { + "key": "mother_support_group", + "text": "Facilitation of mother support group", + "openmrs_entity": "concept", + "openmrs_entity_id": "mother_support_group", + "openmrs_entity_parent": "" + }, + { + "key": "counselling", + "text": "Counselling", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling" + } + ], + "v_required": { + "value": true, + "err": "Please answer this question" + } + }, + { + "key": "linked_to_psychosocial_group", + "type": "native_radio", + "label": "Was the Client Linked to Psychosocial Groups?", + "openmrs_entity": "concept", + "openmrs_entity_id": "linked_to_psychosocial_group", + "openmrs_entity_parent": "", + "options": [ + { + "key": "yes", + "text": "Yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please answer this question" + }, + "relevance": { + "step1:type_of_service": { + "type": "string", + "ex": "equalTo(.,\"mother_support_group\")" + } + } + }, + { + "key": "counselling_given", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling_given", + "type": "check_box", + "label": "Select the type of Counselling provided", + "options": [ + { + "key": "chk_hiv_syphilis_testing", + "text": "HIV syphilis testing", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hiv_syphilis_testing", + "value": "false" + }, + { + "key": "chk_partner_testing", + "text": "Partner Testing", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_partner_testing", + "value": "false" + }, + { + "key": "chk_disclosure", + "text": "Disclosure", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_disclosure", + "value": "false" + }, + { + "key": "chk_male_involvement", + "text": "Male Involvement", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_male_involvement", + "value": "false" + }, + { + "key": "chk_infant_test", + "text": "Infant Scheduling Test", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_infant_test", + "value": "false" + }, + { + "key": "chk_arv_adherence", + "text": "ARV adherence", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_arv_adherence", + "value": "false" + }, + { + "key": "chk_prophylaxis_scheduling", + "text": "Prophylaxis Scheduling", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_prophylaxis_scheduling", + "value": "false" + }, + { + "key": "chk_feeding_option", + "text": "Infant feeding practice option", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_feeding_option", + "value": "false" + }, + { + "key": "chk_maternal_nutrition", + "text": "Maternal Nutrition", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_maternal_nutrition", + "value": "false" + }, + { + "key": "chk_family_planning", + "text": "Family Planning", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_family_planning", + "value": "false" + } + ], + "v_required": { + "value": "true", + "err": "Please answer this question" + }, + "relevance": { + "step1:type_of_service": { + "type": "string", + "ex": "equalTo(.,\"counselling\")" + } + } + }, + { + "key": "referrals_issued_other_services", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_other_services", + "type": "check_box", + "label": "Pick Referrals Issued to the Client for Other Services", + "options": [ + { + "key": "chk_gender_based_violence", + "text": "Gender-Based Violence", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_gender_based_violence", + "value": "false" + }, + { + "key": "chk_legal_support", + "text": "Legal Support", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_legal_support", + "value": "false" + }, + { + "key": "chk_nutritional_support", + "text": "Nutritional Support", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nutritional_support", + "value": "false" + }, + { + "key": "chk_support_groups", + "text": "Support Groups", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_support_groups", + "value": "false" + } + ], + "v_required": { + "value": "true", + "err": "Please answer this question" + } + } + ] + } +} \ No newline at end of file From ed8fff4fa18e8bdf1e11beede237a3110f8a7817 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 21 Mar 2022 11:26:42 +0300 Subject: [PATCH 323/915] Processing of followup event --- .../MotherChampionProfileActivity.java | 64 ++++++++++++++++++- .../org/smartregister/chw/util/Constants.java | 10 +++ 2 files changed, 73 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java index 6abc1c3c6b..44b6627c3b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java @@ -1,10 +1,18 @@ package org.smartregister.chw.activity; +import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; +import android.view.Menu; import android.view.View; import android.widget.TextView; +import androidx.annotation.NonNull; + +import com.vijay.jsonwizard.utils.FormUtils; + +import org.json.JSONException; +import org.json.JSONObject; import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; import org.smartregister.chw.core.activity.CorePmtctProfileActivity; @@ -13,13 +21,19 @@ import org.smartregister.chw.core.presenter.CorePmtctMemberProfilePresenter; import org.smartregister.chw.dao.MotherChampionDao; import org.smartregister.chw.pmtct.util.Constants; +import org.smartregister.chw.pmtct.util.NCUtils; +import org.smartregister.clientandeventmodel.Event; import org.smartregister.domain.AlertStatus; +import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.repository.AllSharedPreferences; -import androidx.annotation.NonNull; +import timber.log.Timber; public class MotherChampionProfileActivity extends CorePmtctProfileActivity { + private static String baseEntityId; public static void startProfile(Activity activity, String baseEntityId) { + MotherChampionProfileActivity.baseEntityId = baseEntityId; Intent intent = new Intent(activity, MotherChampionProfileActivity.class); intent.putExtra(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID, baseEntityId); activity.startActivity(intent); @@ -35,6 +49,21 @@ protected void initializePresenter() { profilePresenter.refreshProfileBottom(); } + @Override + public void onClick(View view) { + super.onClick(view); + int id = view.getId(); + if (id == R.id.textview_record_pmtct) { + JSONObject formJsonObject = null; + try { + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JsonForm.getMotherChampionFollowupForm()); + } catch (JSONException e) { + e.printStackTrace(); + } + startFormActivity(formJsonObject); + } + } + @Override protected void setupViews() { super.setupViews(); @@ -44,6 +73,39 @@ protected void setupViews() { textViewRecordPmtct.setText(R.string.record_followup); } + @Override + public boolean onCreateOptionsMenu(Menu menu) { + super.onCreateOptionsMenu(menu); + menu.findItem(R.id.action_remove_member).setVisible(false); + menu.findItem(R.id.action_issue_pmtct_followup_referral).setVisible(false); + return true; + } + + @SuppressLint("MissingSuperCall") + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + if (requestCode == Constants.REQUEST_CODE_GET_JSON && resultCode == RESULT_OK) { + try { + String jsonString = data.getStringExtra(org.smartregister.family.util.Constants.JSON_FORM_EXTRA.JSON); + JSONObject form = new JSONObject(jsonString); + String encounterType = form.getString(JsonFormUtils.ENCOUNTER_TYPE); + if (encounterType.equals(org.smartregister.chw.util.Constants.EncounterType.MOTHER_CHAMPION_FOLLOWUP)) { + AllSharedPreferences allSharedPreferences = org.smartregister.util.Utils.getAllSharedPreferences(); + Event baseEvent = org.smartregister.chw.pmtct.util.JsonFormUtils.processJsonForm(allSharedPreferences, jsonString, org.smartregister.chw.util.Constants.TableName.MOTHER_CHAMPION_FOLLOWUP); + org.smartregister.chw.pmtct.util.JsonFormUtils.tagEvent(allSharedPreferences, baseEvent); + baseEvent.setBaseEntityId(baseEntityId); + try { + NCUtils.processEvent(baseEvent.getBaseEntityId(), new JSONObject(org.smartregister.chw.pmtct.util.JsonFormUtils.gson.toJson(baseEvent))); + } catch (Exception e) { + Timber.e(e); + } + } + } catch (Exception e) { + Timber.e(e, "MotherChampionProfileActivity -- > onActivityResult"); + } + } + } + @Override public void refreshFamilyStatus(AlertStatus status) { super.refreshFamilyStatus(status); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index 42a1daadf6..36fd961ded 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -36,6 +36,7 @@ public static class EncounterType { public static final String PNC_REFERRAL = "PNC Referral"; public static final String ANC_REFERRAL = "ANC Referral"; public static final String PMTCT_COMMUNITY_FOLLOWUP_FEEDBACK = "PMTCT Community Followup Feedback"; + public static final String MOTHER_CHAMPION_FOLLOWUP = "Mother Champion Followup"; } public static class ChildIllnessViewType { @@ -78,6 +79,11 @@ public interface PartnerRegistrationConstants { public static final class JsonForm{ private static final String PARTNER_REGISTRATION_FORM = "male_partner_registration_form"; private static final String PMTCT_COMMUNITY_FOLLOWUP_FEEDBACK = "pmtct_community_followup_feedback"; + private static final String MOTHER_CHAMPION_FOLLOWUP_FORM = "mother_champion_followup"; + + public static String getMotherChampionFollowupForm() { + return MOTHER_CHAMPION_FOLLOWUP_FORM; + } public static String getPmtctCommunityFollowupFeedback() { return PMTCT_COMMUNITY_FOLLOWUP_FEEDBACK; @@ -97,6 +103,10 @@ public static final class ActionList { public static final String PMTCT_FOLLOWUP_FEEDBACK = "Pmtct_followup_action"; } + public static class TableName { + public static final String MOTHER_CHAMPION_FOLLOWUP = "ec_mother_champion_followup"; + } + public interface PmtctFollowupFeedbackConstants { String referralFormId = "community_referral_form_id"; } From c6ed7df49fd9764d0b063f24ebb6d2d473b454ed Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 21 Mar 2022 11:27:12 +0300 Subject: [PATCH 324/915] add: table for mother champion followup --- .../nacp/assets/ec_client_classification.json | 7 ++ .../src/nacp/assets/ec_client_fields.json | 66 +++++++++++++++++++ 2 files changed, 73 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index 4d819cfd93..21e8624ba9 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -500,6 +500,13 @@ "creates_case": [ "ec_mother_champion" ] + }, + { + "field": "eventType", + "field_value": "Mother Champion Followup", + "creates_case": [ + "ec_mother_champion_followup" + ] } ] } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index d6fc0e2e3a..5389e3aff3 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -3655,6 +3655,72 @@ } ] }, + { + "name": "ec_mother_champion_followup", + "columns": [ + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "type_of_service", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "type_of_service" + } + }, + { + "column_name": "linked_to_psychosocial_group", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "linked_to_psychosocial_group" + } + }, + { + "column_name": "counselling_given", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "counselling_given" + } + }, + { + "column_name": "referrals_issued_other_services", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "referrals_issued_other_services" + } + } + ] + }, { "name": "ec_pmtct_community_feedback", "columns": [ From 40309824fdab5a5124c024d3a1e3fb1a0cc525ff Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 21 Mar 2022 11:43:18 +0300 Subject: [PATCH 325/915] Removed menu item from pmtct followup --- .../chw/activity/PmtctFollowupDetailsActivity.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java index cdbf565d77..1104ff1893 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java @@ -6,6 +6,7 @@ import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.os.Build; +import android.view.Menu; import android.view.View; import android.widget.Toast; @@ -126,6 +127,11 @@ protected void onResumption() { } + @Override + public boolean onCreateOptionsMenu(Menu menu) { + return false; + } + private void inflateToolbar() { Toolbar toolbar = findViewById(R.id.back_pmtct_toolbar); CustomFontTextView toolBarTextView = toolbar.findViewById(R.id.toolbar_title); From 91d8397c9379e120042ac30ab0f74164763813f1 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 21 Mar 2022 14:48:16 +0300 Subject: [PATCH 326/915] Fixed mother champion followup form --- .../json.form/mother_champion_followup.json | 92 +++++++++++++++++-- 1 file changed, 82 insertions(+), 10 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json index f28a58902b..1fb63536f9 100644 --- a/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json +++ b/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json @@ -1,5 +1,5 @@ { - "count": "1", + "count": "2", "encounter_type": "Mother Champion Followup", "entity_id": "", "metadata": { @@ -47,11 +47,12 @@ "encounter_location": "" }, "step1": { - "title": "Record Followup", + "title": "Services", + "next": "step2", "fields": [ { "key": "type_of_service", - "type": "native_radio", + "type": "check_box", "label": "Type of Service", "openmrs_entity": "concept", "openmrs_entity_id": "type_of_service", @@ -62,12 +63,12 @@ "text": "Facilitation of mother support group", "openmrs_entity": "concept", "openmrs_entity_id": "mother_support_group", - "openmrs_entity_parent": "" + "openmrs_entity_parent": "type_of_service" }, { "key": "counselling", "text": "Counselling", - "openmrs_entity_parent": "", + "openmrs_entity_parent": "type_of_service", "openmrs_entity": "concept", "openmrs_entity_id": "counselling" } @@ -104,8 +105,13 @@ }, "relevance": { "step1:type_of_service": { - "type": "string", - "ex": "equalTo(.,\"mother_support_group\")" + "ex-checkbox": [ + { + "or": [ + "mother_support_group" + ] + } + ] } } }, @@ -194,11 +200,21 @@ }, "relevance": { "step1:type_of_service": { - "type": "string", - "ex": "equalTo(.,\"counselling\")" + "ex-checkbox": [ + { + "or": [ + "counselling" + ] + } + ] } } - }, + } + ] + }, + "step2": { + "title": "Referrals", + "fields": [ { "key": "referrals_issued_other_services", "openmrs_entity_parent": "", @@ -234,6 +250,62 @@ "openmrs_entity": "concept", "openmrs_entity_id": "chk_support_groups", "value": "false" + }, + { + "key": "chk_none", + "text": "None", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none", + "value": "false" + } + ], + "v_required": { + "value": "true", + "err": "Please answer this question" + } + }, + { + "key": "referrals_completed_by_the_client", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_completed_by_the_client", + "type": "check_box", + "label": "Pick Referrals to other Services Completed by the Client", + "options": [ + { + "key": "chk_gender_based_violence", + "text": "Gender-Based Violence", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_gender_based_violence", + "value": "false" + }, + { + "key": "chk_legal_support", + "text": "Legal Support", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_legal_support", + "value": "false" + }, + { + "key": "chk_nutritional_support", + "text": "Nutritional Support", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nutritional_support", + "value": "false" + }, + { + "key": "chk_support_groups", + "text": "Support Groups", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_support_groups", + "value": "false" + }, + { + "key": "chk_none", + "text": "None", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none", + "value": "false" } ], "v_required": { From 1951a9e2ed349a2bd883a601fd787d9ed07782e2 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 21 Mar 2022 14:48:58 +0300 Subject: [PATCH 327/915] Allowing next and previous step for form --- .../MotherChampionProfileActivity.java | 35 +++++++++++++++++++ .../src/main/res/values-sw/strings.xml | 1 + opensrp-chw/src/main/res/values/strings.xml | 1 + 3 files changed, 37 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java index 44b6627c3b..39282a5a73 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java @@ -9,24 +9,33 @@ import androidx.annotation.NonNull; +import com.vijay.jsonwizard.constants.JsonFormConstants; +import com.vijay.jsonwizard.domain.Form; import com.vijay.jsonwizard.utils.FormUtils; +import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; +import org.smartregister.chw.anc.util.DBConstants; import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; import org.smartregister.chw.core.activity.CorePmtctProfileActivity; import org.smartregister.chw.core.interactor.CorePmtctProfileInteractor; import org.smartregister.chw.core.presenter.CoreFamilyOtherMemberActivityPresenter; import org.smartregister.chw.core.presenter.CorePmtctMemberProfilePresenter; +import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.dao.MotherChampionDao; import org.smartregister.chw.pmtct.util.Constants; import org.smartregister.chw.pmtct.util.NCUtils; import org.smartregister.clientandeventmodel.Event; import org.smartregister.domain.AlertStatus; import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.family.util.Utils; import org.smartregister.repository.AllSharedPreferences; +import java.util.HashMap; +import java.util.Map; + import timber.log.Timber; public class MotherChampionProfileActivity extends CorePmtctProfileActivity { @@ -64,6 +73,32 @@ public void onClick(View view) { } } + @Override + public void startFormActivity(JSONObject jsonForm) { + try { + + Intent intent = new Intent(this, Utils.metadata().familyMemberFormActivity); + intent.putExtra(org.smartregister.family.util.Constants.JSON_FORM_EXTRA.JSON, jsonForm.toString()); + + Form form = new Form(); + form.setActionBarBackground(org.smartregister.chw.core.R.color.family_actionbar); + form.setWizard(false); + intent.putExtra(JsonFormConstants.JSON_FORM_KEY.FORM, form); + + if (jsonForm.getString("encounter_type").equals(org.smartregister.chw.util.Constants.EncounterType.MOTHER_CHAMPION_FOLLOWUP)) { + form.setWizard(true); + form.setNavigationBackground(org.smartregister.chw.core.R.color.family_navigation); + form.setName(getString(R.string.record_followup_visit_mother_champion)); + form.setNextLabel(this.getResources().getString(org.smartregister.chw.core.R.string.next)); + form.setPreviousLabel(this.getResources().getString(org.smartregister.chw.core.R.string.back)); + } + + startActivityForResult(intent, org.smartregister.family.util.JsonFormUtils.REQUEST_CODE_GET_JSON); + } catch (JSONException e) { + Timber.e(e); + } + } + @Override protected void setupViews() { super.setupViews(); diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index cc07d0fc8f..91100c7c7d 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -421,4 +421,5 @@ Nzuri Mbaya Record Followup Feedback + Record Followup Visit diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 8a20d35ab7..bc7e10d08d 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -405,6 +405,7 @@ Followup Feedback Recorded Mother Champion Return to Mother Champion\'s clients + Record Followup Visit From 57b22d220cb522fc9556fdf214b2e81d3c1e825f Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 21 Mar 2022 14:49:23 +0300 Subject: [PATCH 328/915] Optimized imports --- .../chw/activity/MotherChampionProfileActivity.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java index 39282a5a73..8d4e637bb1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java @@ -13,17 +13,14 @@ import com.vijay.jsonwizard.domain.Form; import com.vijay.jsonwizard.utils.FormUtils; -import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; -import org.smartregister.chw.anc.util.DBConstants; import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; import org.smartregister.chw.core.activity.CorePmtctProfileActivity; import org.smartregister.chw.core.interactor.CorePmtctProfileInteractor; import org.smartregister.chw.core.presenter.CoreFamilyOtherMemberActivityPresenter; import org.smartregister.chw.core.presenter.CorePmtctMemberProfilePresenter; -import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.dao.MotherChampionDao; import org.smartregister.chw.pmtct.util.Constants; import org.smartregister.chw.pmtct.util.NCUtils; @@ -33,9 +30,6 @@ import org.smartregister.family.util.Utils; import org.smartregister.repository.AllSharedPreferences; -import java.util.HashMap; -import java.util.Map; - import timber.log.Timber; public class MotherChampionProfileActivity extends CorePmtctProfileActivity { From e8e49c679e41123e649e47a88757e4f07318ba14 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 21 Mar 2022 16:26:10 +0300 Subject: [PATCH 329/915] Implemented Mother Champion PMTCT Referrals --- .../MotherChampionProfileActivity.java | 65 ++++++- .../application/DefaultChwApplicationFlv.java | 8 +- .../MotherChampionFloatingMenu.java | 114 ++++++++++++ .../chw/dao/MotherChampionDao.java | 6 +- .../PmtctMemberProfilePresenter.java | 23 +++ .../referrals/pmtct_referral_form.json | 165 ++++++++++++++++++ .../chw/application/ChwApplicationFlv.java | 12 ++ .../src/nacp/res/values-sw/strings.xml | 1 + opensrp-chw/src/nacp/res/values/strings.xml | 1 + 9 files changed, 386 insertions(+), 9 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/custom_view/MotherChampionFloatingMenu.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctMemberProfilePresenter.java create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java index 44b6627c3b..0da7c62f4e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java @@ -3,8 +3,10 @@ import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; +import android.view.Gravity; import android.view.Menu; import android.view.View; +import android.widget.LinearLayout; import android.widget.TextView; import androidx.annotation.NonNull; @@ -13,24 +15,33 @@ import org.json.JSONException; import org.json.JSONObject; +import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; import org.smartregister.chw.core.activity.CorePmtctProfileActivity; import org.smartregister.chw.core.interactor.CorePmtctProfileInteractor; +import org.smartregister.chw.core.listener.OnClickFloatingMenu; import org.smartregister.chw.core.presenter.CoreFamilyOtherMemberActivityPresenter; -import org.smartregister.chw.core.presenter.CorePmtctMemberProfilePresenter; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.custom_view.MotherChampionFloatingMenu; import org.smartregister.chw.dao.MotherChampionDao; +import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.pmtct.util.Constants; import org.smartregister.chw.pmtct.util.NCUtils; +import org.smartregister.chw.presenter.PmtctMemberProfilePresenter; import org.smartregister.clientandeventmodel.Event; import org.smartregister.domain.AlertStatus; import org.smartregister.family.util.JsonFormUtils; import org.smartregister.repository.AllSharedPreferences; +import java.util.ArrayList; +import java.util.List; + import timber.log.Timber; public class MotherChampionProfileActivity extends CorePmtctProfileActivity { private static String baseEntityId; + private List referralTypeModels = new ArrayList<>(); public static void startProfile(Activity activity, String baseEntityId) { MotherChampionProfileActivity.baseEntityId = baseEntityId; @@ -44,7 +55,7 @@ protected void initializePresenter() { showProgressBar(true); String baseEntityId = getIntent().getStringExtra(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID); memberObject = MotherChampionDao.getMember(baseEntityId); - profilePresenter = new CorePmtctMemberProfilePresenter(this, new CorePmtctProfileInteractor(), memberObject); + profilePresenter = new PmtctMemberProfilePresenter(this, new CorePmtctProfileInteractor(), memberObject); fetchProfileData(); profilePresenter.refreshProfileBottom(); } @@ -64,6 +75,12 @@ public void onClick(View view) { } } + @Override + protected void onCreation() { + super.onCreation(); + addPmtctReferralTypes(); + } + @Override protected void setupViews() { super.setupViews(); @@ -172,4 +189,48 @@ public void verifyHasPhone() { public void notifyHasPhone(boolean b) { //implement } + + @Override + public void initializeFloatingMenu() { + basePmtctFloatingMenu = new MotherChampionFloatingMenu(this, memberObject); + + OnClickFloatingMenu onClickFloatingMenu = viewId -> { + switch (viewId) { + case R.id.anc_fab: + ((MotherChampionFloatingMenu) basePmtctFloatingMenu).animateFAB(); + break; + case R.id.call_layout: + ((MotherChampionFloatingMenu) basePmtctFloatingMenu).launchCallWidget(); + ((MotherChampionFloatingMenu) basePmtctFloatingMenu).animateFAB(); + break; + case R.id.refer_to_facility_layout: + ((PmtctMemberProfilePresenter) profilePresenter).referToFacility(); + ((MotherChampionFloatingMenu) basePmtctFloatingMenu).animateFAB(); + break; + default: + Timber.d("Unknown fab action"); + break; + } + + }; + + ((MotherChampionFloatingMenu) basePmtctFloatingMenu).setFloatMenuClickListener(onClickFloatingMenu); + basePmtctFloatingMenu.setGravity(Gravity.BOTTOM | Gravity.END); + LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.MATCH_PARENT); + addContentView(basePmtctFloatingMenu, linearLayoutParams); + } + + private void addPmtctReferralTypes() { + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { + referralTypeModels.add(new ReferralTypeModel(getString(R.string.pmtct_referral), + CoreConstants.JSON_FORM.getPmtctReferralForm(), CoreConstants.TASKS_FOCUS.PMTCT)); + + } + + } + + public List getReferralTypeModels() { + return referralTypeModels; + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/DefaultChwApplicationFlv.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/DefaultChwApplicationFlv.java index 5b1f2ccd91..d9e69a5a4e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/DefaultChwApplicationFlv.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/DefaultChwApplicationFlv.java @@ -70,12 +70,12 @@ public boolean hasRoutineVisit() { @Override public boolean hasServiceReport() { - return false; + return true; } @Override public boolean hasStockUsageReport() { - return false; + return true; } @Override @@ -85,7 +85,7 @@ public boolean hasPinLogin() { @Override public boolean hasReports() { - return false; + return true; } @Override @@ -139,7 +139,7 @@ public boolean hasSurname() { @Override public boolean showMyCommunityActivityReport() { - return false; + return true; } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/MotherChampionFloatingMenu.java b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/MotherChampionFloatingMenu.java new file mode 100644 index 0000000000..52eefb6eaf --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/custom_view/MotherChampionFloatingMenu.java @@ -0,0 +1,114 @@ +package org.smartregister.chw.custom_view; + +import static org.smartregister.chw.core.utils.Utils.redrawWithOption; + +import android.app.Activity; +import android.content.Context; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; + +import com.google.android.material.floatingactionbutton.FloatingActionButton; + +import org.smartregister.chw.core.fragment.FamilyCallDialogFragment; +import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.pmtct.custom_views.BasePmtctFloatingMenu; +import org.smartregister.chw.pmtct.domain.MemberObject; + +public class MotherChampionFloatingMenu extends BasePmtctFloatingMenu { + public FloatingActionButton fab; + protected View referLayout; + protected View callLayout; + protected RelativeLayout activityMain; + protected boolean isFabMenuOpen = false; + protected LinearLayout menuBar; + protected OnClickFloatingMenu onClickFloatingMenu; + private Animation fabOpen; + private Animation fabClose; + private Animation rotateForward; + private Animation rotateBack; + private MemberObject MEMBER_OBJECT; + + public MotherChampionFloatingMenu(Context context, MemberObject MEMBER_OBJECT) { + super(context, MEMBER_OBJECT); + this.MEMBER_OBJECT = MEMBER_OBJECT; + } + + public void setFloatMenuClickListener(OnClickFloatingMenu onClickFloatingMenu) { + this.onClickFloatingMenu = onClickFloatingMenu; + } + + @Override + protected void initUi() { + inflate(getContext(), org.smartregister.chw.core.R.layout.view_anc_call_woma_floating_menu, this); + fabOpen = AnimationUtils.loadAnimation(getContext(), org.smartregister.chw.core.R.anim.fab_open); + fabClose = AnimationUtils.loadAnimation(getContext(), org.smartregister.chw.core.R.anim.fab_close); + rotateForward = AnimationUtils.loadAnimation(getContext(), org.smartregister.chw.core.R.anim.rotate_forward); + rotateBack = AnimationUtils.loadAnimation(getContext(), org.smartregister.chw.core.R.anim.rotate_back); + + activityMain = findViewById(org.smartregister.chw.core.R.id.activity_main); + menuBar = findViewById(org.smartregister.chw.core.R.id.menu_bar); + + fab = findViewById(org.smartregister.chw.core.R.id.anc_fab); + fab.setOnClickListener(this); + + callLayout = findViewById(org.smartregister.chw.core.R.id.call_layout); + callLayout.setOnClickListener(this); + callLayout.setClickable(false); + + referLayout = findViewById(org.smartregister.chw.core.R.id.refer_to_facility_layout); + referLayout.setOnClickListener(this); + referLayout.setClickable(false); + + menuBar.setVisibility(GONE); + } + + @Override + public void onClick(View view) { + onClickFloatingMenu.onClickMenu(view.getId()); + } + + public void animateFAB() { + if (menuBar.getVisibility() == GONE) { + menuBar.setVisibility(VISIBLE); + } + + if (isFabMenuOpen) { + activityMain.setBackgroundResource(org.smartregister.chw.core.R.color.transparent); + fab.startAnimation(rotateBack); + fab.setImageResource(org.smartregister.chw.core.R.drawable.ic_edit_white); + + callLayout.startAnimation(fabClose); + callLayout.setClickable(false); + + referLayout.startAnimation(fabClose); + referLayout.setClickable(false); + isFabMenuOpen = false; + } else { + activityMain.setBackgroundResource(org.smartregister.chw.core.R.color.grey_tranparent_50); + fab.startAnimation(rotateForward); + fab.setImageResource(org.smartregister.chw.core.R.drawable.ic_input_add); + + callLayout.startAnimation(fabOpen); + callLayout.setClickable(true); + + referLayout.startAnimation(fabOpen); + referLayout.setClickable(true); + isFabMenuOpen = true; + } + } + + public void launchCallWidget() { + FamilyCallDialogFragment.launchDialog((Activity) this.getContext(), MEMBER_OBJECT.getFamilyBaseEntityId()); + } + + public void redraw(boolean hasPhoneNumber) { + redrawWithOption(this, hasPhoneNumber); + } + + public View getCallLayout() { + return callLayout; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/MotherChampionDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/MotherChampionDao.java index 71ae748a16..9f02487bde 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/MotherChampionDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/MotherChampionDao.java @@ -7,7 +7,7 @@ public class MotherChampionDao extends AbstractDao { public static MemberObject getMember(String baseEntityID) { - String sql = "select m.base_entity_id , m.unique_id , m.relational_id , m.dob , m.first_name , m.middle_name , m.last_name , m.gender , m.phone_number , m.other_phone_number , f.first_name family_name ,f.primary_caregiver , f.family_head , f.village_town ,fh.first_name family_head_first_name , fh.middle_name family_head_middle_name , fh.last_name family_head_last_name, fh.phone_number family_head_phone_number , ancr.is_closed anc_is_closed, pncr.is_closed pnc_is_closed, pcg.first_name pcg_first_name , pcg.last_name pcg_last_name , pcg.middle_name pcg_middle_name , pcg.phone_number pcg_phone_number , mr.* from ec_family_member m inner join ec_family f on m.relational_id = f.base_entity_id inner join ec_mother_champion mr on mr.base_entity_id = m.base_entity_id left join ec_family_member fh on fh.base_entity_id = f.family_head left join ec_family_member pcg on pcg.base_entity_id = f.primary_caregiver left join ec_anc_register ancr on ancr.base_entity_id = m.base_entity_id left join ec_pregnancy_outcome pncr on pncr.base_entity_id = m.base_entity_id where m.base_entity_id ='" + baseEntityID + "' "; + String sql = "select m.base_entity_id , m.unique_id , m.relational_id as family_relational_id , m.dob , m.first_name , m.middle_name , m.last_name , m.gender , m.phone_number , m.other_phone_number , f.first_name family_name ,f.primary_caregiver , f.family_head , f.village_town ,fh.first_name family_head_first_name , fh.middle_name family_head_middle_name , fh.last_name family_head_last_name, fh.phone_number family_head_phone_number , ancr.is_closed anc_is_closed, pncr.is_closed pnc_is_closed, pcg.first_name pcg_first_name , pcg.last_name pcg_last_name , pcg.middle_name pcg_middle_name , pcg.phone_number pcg_phone_number , mr.* from ec_family_member m inner join ec_family f on m.relational_id = f.base_entity_id inner join ec_mother_champion mr on mr.base_entity_id = m.base_entity_id left join ec_family_member fh on fh.base_entity_id = f.family_head left join ec_family_member pcg on pcg.base_entity_id = f.primary_caregiver left join ec_anc_register ancr on ancr.base_entity_id = m.base_entity_id left join ec_pregnancy_outcome pncr on pncr.base_entity_id = m.base_entity_id where m.base_entity_id ='" + baseEntityID + "' "; DataMap dataMap = cursor -> { @@ -20,8 +20,8 @@ public static MemberObject getMember(String baseEntityID) { memberObject.setGender(getCursorValue(cursor, "gender")); memberObject.setUniqueId(getCursorValue(cursor, "unique_id", "")); memberObject.setAge(getCursorValue(cursor, "dob")); - memberObject.setFamilyBaseEntityId(getCursorValue(cursor, "relational_id", "")); - memberObject.setRelationalId(getCursorValue(cursor, "relational_id", "")); + memberObject.setFamilyBaseEntityId(getCursorValue(cursor, "family_relational_id", "")); + memberObject.setRelationalId(getCursorValue(cursor, "family_relational_id", "")); memberObject.setPrimaryCareGiver(getCursorValue(cursor, "primary_caregiver")); memberObject.setFamilyName(getCursorValue(cursor, "family_name", "")); memberObject.setPhoneNumber(getCursorValue(cursor, "phone_number", "")); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctMemberProfilePresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctMemberProfilePresenter.java new file mode 100644 index 0000000000..dd62d54412 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PmtctMemberProfilePresenter.java @@ -0,0 +1,23 @@ +package org.smartregister.chw.presenter; + +import android.app.Activity; + +import org.smartregister.chw.activity.MotherChampionProfileActivity; +import org.smartregister.chw.core.contract.CorePmtctProfileContract; +import org.smartregister.chw.core.presenter.CorePmtctMemberProfilePresenter; +import org.smartregister.chw.model.ReferralTypeModel; +import org.smartregister.chw.pmtct.domain.MemberObject; +import org.smartregister.chw.util.Utils; + +import java.util.List; + +public class PmtctMemberProfilePresenter extends CorePmtctMemberProfilePresenter { + public PmtctMemberProfilePresenter(CorePmtctProfileContract.View view, CorePmtctProfileContract.Interactor interactor, MemberObject memberObject) { + super(view, interactor, memberObject); + } + + public void referToFacility() { + List referralTypeModels = ((MotherChampionProfileActivity) getView()).getReferralTypeModels(); + Utils.launchClientReferralActivity((Activity) getView(), referralTypeModels, memberObject.getBaseEntityId()); + } +} diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json new file mode 100644 index 0000000000..749027de2a --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json @@ -0,0 +1,165 @@ +{ + "form": "PMTCT Referral", + "encounter_type": "PMTCT Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "PMTCT referral form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick problem/condition associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "lactating_hiv_positive_mother", + "text": "Lactating HIV positive mother", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "lactating_hiv_positive_mother", + "openmrs_entity_parent": "" + } + }, + { + "name": "poor_art_adherence", + "text": "Poor ART adherence during Pregnancy and after Birth", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "poor_art_adherence", + "openmrs_entity_parent": "" + } + }, + { + "name": "treatment_side_effects", + "text": "Treatment side effects during pregnancy and after child birth", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "treatment_side_effects", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Others", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Problems", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java index 9ca97240b8..6c639d9528 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java @@ -141,4 +141,16 @@ public Map getFTSSearchMap() { }); return map; } + + + @Override + public boolean hasReports() { + return true; + } + + + @Override + public boolean showMyCommunityActivityReport() { + return true; + } } diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 9d9341969f..3851d8b2df 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -7,6 +7,7 @@ Kliniki ya Tiba na matunzo (CTC) Ushauri nasaha na kupima Kliniki ya TB + Kliniki ya PMTCT Huduma ya kuzuia ukatili wa kijinsia (dawati la jinsia) Huduma ya kuzuia ukatili wa kijinsia (dawati la jinsia) Imeumbwa: %s diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index a48c47ec34..148683b1c5 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -8,6 +8,7 @@ Clinic of Treatment and Care HIV Testing Services TB Clinic + PMTCT Clinic Gender Based Violence Referral Pregnancy Confirmation Referral Child Gender Based Violence Referral From dccb791d6e3ba9d329186ebb1735cf14ffbcfdc9 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 21 Mar 2022 17:41:27 +0300 Subject: [PATCH 330/915] Fixed a typo in pmtct referral form --- .../nacp/assets/json.form/referrals/pmtct_referral_form.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json index 749027de2a..fa99c11eee 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json @@ -79,7 +79,7 @@ }, { "name": "poor_art_adherence", - "text": "Poor ART adherence during Pregnancy and after Birth", + "text": "Poor ART adherence during Pregnancy and after child birth", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "poor_art_adherence", From e9ca258d9b81aee850ac2ea2a44bc7a20b783102 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 22 Mar 2022 08:22:28 +0300 Subject: [PATCH 331/915] added partner followup to mother champion --- .../chw/activity/MotherChampionRegisterActivity.java | 4 +++- .../chw/fragment/AncPartnerFollowupRegisterFragment.java | 7 +++++++ .../ChwMotherChampionBottomNavigationListener.java | 5 ++++- opensrp-chw/src/main/res/menu/pmtct_bottom_nav_menu.xml | 6 ++++++ 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionRegisterActivity.java index 8f83c3364d..1ff94db907 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionRegisterActivity.java @@ -10,6 +10,7 @@ import org.smartregister.chw.core.activity.CorePmtctRegisterActivity; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.fragment.AncPartnerFollowupRegisterFragment; import org.smartregister.chw.fragment.MotherChampionRegisterFragment; import org.smartregister.chw.fragment.PmtctFollowupRegisterFragment; import org.smartregister.chw.listener.ChwMotherChampionBottomNavigationListener; @@ -59,7 +60,8 @@ public BottomNavigationListener getBottomNavigation(Activity activity) { @Override protected Fragment[] getOtherFragments() { - return new PmtctFollowupRegisterFragment[]{ + return new Fragment[]{ + new AncPartnerFollowupRegisterFragment(), new PmtctFollowupRegisterFragment() }; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java index 5dc294404c..b24a28664e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AncPartnerFollowupRegisterFragment.java @@ -4,6 +4,7 @@ import android.database.Cursor; import org.apache.commons.lang3.StringUtils; +import org.smartregister.chw.R; import org.smartregister.chw.activity.AncHomeVisitActivity; import org.smartregister.chw.activity.AncPartnerFollowupReferralProfileActivity; import org.smartregister.chw.anc.util.DBConstants; @@ -83,4 +84,10 @@ public void countExecute() { } } } + + @Override + public void setupViews(android.view.View view) { + super.setupViews(view); + titleLabelView.setText(R.string.action_received_anc_partner_followup_referrals); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java b/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java index 115a5db2a0..5a2337a535 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java @@ -23,9 +23,12 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) { if (item.getItemId() == R.id.action_home) { baseRegisterActivity.switchToFragment(0); return true; - }else if (item.getItemId() == R.id.action_followup) { + }else if (item.getItemId() == R.id.action_received_referrals) { baseRegisterActivity.switchToFragment(1); return true; + }else if (item.getItemId() == R.id.action_followup) { + baseRegisterActivity.switchToFragment(2); + return true; } else return super.onNavigationItemSelected(item); } diff --git a/opensrp-chw/src/main/res/menu/pmtct_bottom_nav_menu.xml b/opensrp-chw/src/main/res/menu/pmtct_bottom_nav_menu.xml index c168e13100..b8410c8045 100644 --- a/opensrp-chw/src/main/res/menu/pmtct_bottom_nav_menu.xml +++ b/opensrp-chw/src/main/res/menu/pmtct_bottom_nav_menu.xml @@ -7,6 +7,12 @@ android:icon="@mipmap/ic_home" android:title="@string/home" app:showAsAction="ifRoom" /> + Date: Tue, 22 Mar 2022 11:07:58 +0300 Subject: [PATCH 332/915] Disabled in-app reports for NACP flavor --- .../org/smartregister/chw/application/ChwApplicationFlv.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java index 6c639d9528..f638daa41c 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java @@ -145,7 +145,7 @@ public Map getFTSSearchMap() { @Override public boolean hasReports() { - return true; + return false; } From 2d66a4cbf9273fe3e813f8ed6d15bd194b1c8824 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 22 Mar 2022 13:21:51 +0300 Subject: [PATCH 333/915] Added SBCC form --- .../mother_champion_sbcc_sessions.json | 206 ++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json diff --git a/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json b/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json new file mode 100644 index 0000000000..ff7f61b4bc --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json @@ -0,0 +1,206 @@ +{ + "count": "1", + "encounter_type": "Mother Champion SBCC Sessions", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "SBCC Session", + "fields": [ + { + "key": "location_type", + "type": "native_radio", + "label": "Where was the Session conducted?", + "openmrs_entity": "concept", + "openmrs_entity_id": "location_type", + "openmrs_entity_parent": "", + "options": [ + { + "key": "facility", + "text": "Facility", + "openmrs_entity": "concept", + "openmrs_entity_id": "facility", + "openmrs_entity_parent": "" + }, + { + "key": "community", + "text": "Community", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "community" + } + ], + "v_required": { + "value": true, + "err": "Please answer this question" + } + }, + { + "key": "participants_number", + "type": "edit_text", + "hint": "Total Number of Participants who attended the Session", + "openmrs_entity_id": "participants_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "v_numeric": { + "value": "true", + "err": "Please enter the number of participants" + }, + "v_required": { + "value": true, + "err": "Please enter the number of participants" + } + }, + { + "key": "health_education_topic", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "health_education_topic", + "type": "check_box", + "label": "The Health Education Topic provided", + "options": [ + { + "key": "chk_early_anc_initiation", + "text": "Early ANC initiation", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_early_anc_initiation", + "value": "false" + }, + { + "key": "chk_hiv_testing", + "text": "HIV testing", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hiv_testing", + "value": "false" + }, + { + "key": "chk_hiv_education", + "text": "HIV/AIDS education", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hiv_education", + "value": "false" + }, + { + "key": "chk_mother_child_health", + "text": "Mother and child health", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_mother_child_health", + "value": "false" + }, + { + "key": "chk_education_positive_infant", + "text": "Breastfeeding education for positive infected infant", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_education_positive_infant", + "value": "false" + }, + { + "key": "chk_hvl_testing", + "text": "HVL testing", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hvl_testing", + "value": "false" + }, + { + "key": "chk_hei_testing", + "text": "HEI scheduling testing", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hei_testing", + "value": "false" + }, + { + "key": "chk_nutrition", + "text": "Nutrition", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nutrition", + "value": "false" + }, + { + "key": "chk_arv_adherence", + "text": "ARV adherence", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_arv_adherence", + "value": "false" + }, + { + "key": "chk_other", + "text": "Other (Specify)", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other", + "value": "false" + } + ], + "v_required": { + "value": "true", + "err": "Please answer this question" + } + }, + { + "key": "other_health_education_topic", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_education_topic", + "type": "edit_text", + "hint": "Other Health Education Topic provided", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the other topic(s)" + }, + "relevance": { + "step1:health_education_topic": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file From 554596bc02c845f7e264fd40b7496a79e8b9b9a6 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 22 Mar 2022 14:14:11 +0300 Subject: [PATCH 334/915] added pregnancy outcome for eligible clients --- .../AllClientsMemberProfileActivity.java | 20 +- .../activity/AncMemberProfileActivity.java | 27 +- .../FamilyOtherMemberProfileActivity.java | 19 +- .../chw/activity/HivProfileActivity.java | 27 +- .../chw/fragment/PncRegisterFragment.java | 58 ++++ .../model/ChwPncRegisterFragmentModel.java | 2 +- .../src/main/res/menu/hiv_profile_menu.xml | 5 + .../main/res/menu/pmtct_bottom_nav_menu.xml | 6 + opensrp-chw/src/main/res/values/strings.xml | 1 + .../json.form/anc_pregnancy_outcome.json | 249 ++++++++++-------- 10 files changed, 277 insertions(+), 137 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 9f40fa42b6..0d47beb17d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -3,8 +3,6 @@ import android.content.Context; import android.view.Menu; -import androidx.viewpager.widget.ViewPager; - import com.vijay.jsonwizard.utils.FormUtils; import org.json.JSONException; @@ -31,13 +29,15 @@ import org.smartregister.family.util.DBConstants; import org.smartregister.view.contract.BaseProfileContract; +import androidx.viewpager.widget.ViewPager; import timber.log.Timber; public class AllClientsMemberProfileActivity extends CoreAllClientsMemberProfileActivity { + private final FamilyOtherMemberProfileActivity.Flavor flavor = new FamilyOtherMemberProfileActivityFlv(); private FamilyMemberFloatingMenu familyFloatingMenu; private CoreAllClientsMemberContract.Presenter allClientsMemberPresenter; - private final FamilyOtherMemberProfileActivity.Flavor flavor = new FamilyOtherMemberProfileActivityFlv(); + @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); @@ -53,6 +53,12 @@ public boolean onCreateOptionsMenu(Menu menu) { } else { menu.findItem(R.id.action_anc_registration).setVisible(false); } + if (flavor.hasANC() && flavor.isOfReproductiveAge(commonPersonObject, "Female") && gender.equalsIgnoreCase("Female")) { + flavor.updateFpMenuItems(baseEntityId, menu); + menu.findItem(R.id.action_pregnancy_out_come).setVisible(true); + } else { + menu.findItem(R.id.action_pregnancy_out_come).setVisible(false); + } menu.findItem(R.id.action_sick_child_follow_up).setVisible(false); menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); return true; @@ -70,6 +76,12 @@ protected void startAncRegister() { Constants.JSON_FORM.getAncRegistration(), null, familyBaseEntityId, familyName); } + @Override + protected void startPncRegister() { + PncRegisterActivity.startPncRegistrationActivity(AllClientsMemberProfileActivity.this, baseEntityId, PhoneNumber, + CoreConstants.JSON_FORM.getPregnancyOutcome(), null, familyBaseEntityId, familyName, null); + } + @Override protected void startMalariaRegister() { MalariaRegisterActivity.startMalariaRegistrationActivity(AllClientsMemberProfileActivity.this, baseEntityId, familyBaseEntityId); @@ -219,7 +231,7 @@ public void onClickMenu(int viewId) { FamilyCallDialogFragment.launchDialog(this, familyBaseEntityId); break; case R.id.refer_to_facility_layout: - Utils.launchClientReferralActivity(this, Utils.getCommonReferralTypes(this,baseEntityId), baseEntityId); + Utils.launchClientReferralActivity(this, Utils.getCommonReferralTypes(this, baseEntityId), baseEntityId); break; default: break; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index 15cd2ba9d9..ea69302d2b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -1,9 +1,5 @@ package org.smartregister.chw.activity; -import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; -import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; -import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; - import android.app.Activity; import android.content.ContentValues; import android.content.Intent; @@ -74,6 +70,10 @@ import io.reactivex.schedulers.Schedulers; import timber.log.Timber; +import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + public class AncMemberProfileActivity extends CoreAncMemberProfileActivity implements AncMemberProfileContract.View { private List referralTypeModels = new ArrayList<>(); @@ -183,7 +183,7 @@ public boolean onOptionsItemSelected(MenuItem item) { PncRegisterActivity.startPncRegistrationActivity(AncMemberProfileActivity.this, memberObject.getBaseEntityId(), null, CoreConstants.JSON_FORM.getPregnancyOutcome(), AncLibrary.getInstance().getUniqueIdRepository().getNextUniqueId().getOpenmrsId(), memberObject.getFamilyBaseEntityId(), memberObject.getFamilyName(), memberObject.getLastMenstrualPeriod()); return true; } - if(itemId == R.id.action_cbhs_registration){ + if (itemId == R.id.action_cbhs_registration) { CommonRepository commonRepository = Utils.context().commonrepository(Utils.metadata().familyMemberRegister.tableName); final CommonPersonObject commonPersonObject = commonRepository.findByBaseEntityId(memberObject.getBaseEntityId()); @@ -198,9 +198,9 @@ public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.findItem(R.id.anc_danger_signs_outcome).setVisible(false); menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); - menu.findItem(R.id.action_pregnancy_out_come).setVisible(false); + menu.findItem(R.id.action_pregnancy_out_come).setVisible(true); menu.findItem(R.id.action_anc_registration).setVisible(false); - UtilsFlv.updateHivMenuItems(baseEntityID,menu); + UtilsFlv.updateHivMenuItems(baseEntityID, menu); return true; } @@ -406,6 +406,7 @@ protected void startCBHSRegister(CommonPersonObject commonPersonObject) { Timber.e(e); } } + @Override public void openFamilyLocation() { Intent intent = new Intent(this, AncMemberMapActivity.class); @@ -423,12 +424,6 @@ public void onReceivedNotifications(List> notifications) { handleReceivedNotifications(this, notifications, notificationListAdapter); } - public interface Flavor { - Boolean hasFamilyLocationRow(); - - Boolean hasEmergencyTransport(); - } - @Override public void setFamilyStatus(AlertStatus status) { super.setFamilyStatus(status); @@ -436,4 +431,10 @@ public void setFamilyStatus(AlertStatus status) { rlFamilyServicesDue.setVisibility(View.GONE); } } + + public interface Flavor { + Boolean hasFamilyLocationRow(); + + Boolean hasEmergencyTransport(); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index f13ea0905a..9785673b70 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -4,9 +4,6 @@ import android.content.Context; import android.view.Menu; -import androidx.annotation.Nullable; -import androidx.viewpager.widget.ViewPager; - import com.vijay.jsonwizard.utils.FormUtils; import org.json.JSONException; @@ -32,6 +29,8 @@ import org.smartregister.family.util.DBConstants; import org.smartregister.view.contract.BaseProfileContract; +import androidx.annotation.Nullable; +import androidx.viewpager.widget.ViewPager; import timber.log.Timber; import static org.smartregister.chw.core.utils.Utils.updateToolbarTitle; @@ -58,6 +57,12 @@ public boolean onCreateOptionsMenu(Menu menu) { } else { menu.findItem(R.id.action_anc_registration).setVisible(false); } + if (flavor.hasANC() && flavor.isOfReproductiveAge(commonPersonObject, "Female") && gender.equalsIgnoreCase("Female")) { + flavor.updateFpMenuItems(baseEntityId, menu); + menu.findItem(R.id.action_pregnancy_out_come).setVisible(true); + } else { + menu.findItem(R.id.action_pregnancy_out_come).setVisible(false); + } menu.findItem(R.id.action_sick_child_follow_up).setVisible(false); menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); @@ -92,7 +97,13 @@ public FamilyOtherMemberActivityPresenter presenter() { @Override protected void startAncRegister() { AncRegisterActivity.startAncRegistrationActivity(FamilyOtherMemberProfileActivity.this, baseEntityId, PhoneNumber, - org.smartregister.chw.util.Constants.JSON_FORM.getAncRegistration(), null, familyBaseEntityId, familyName); + Constants.JSON_FORM.getAncRegistration(), null, familyBaseEntityId, familyName); + } + + @Override + protected void startPncRegister() { + PncRegisterActivity.startPncRegistrationActivity(FamilyOtherMemberProfileActivity.this, baseEntityId, PhoneNumber, + CoreConstants.JSON_FORM.getPregnancyOutcome(), null, familyBaseEntityId, familyName, null); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index bebfea5627..5ddb253ec5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -20,6 +20,7 @@ import org.json.JSONObject; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; +import org.smartregister.chw.anc.AncLibrary; import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.activity.CoreHivProfileActivity; import org.smartregister.chw.core.activity.CoreHivUpcomingServicesActivity; @@ -58,7 +59,6 @@ import java.util.List; import java.util.Objects; -import io.reactivex.annotations.Nullable; import timber.log.Timber; import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; @@ -115,7 +115,7 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity activity.startActivityForResult(intent, CoreConstants.ProfileActivityResults.CHANGE_COMPLETED); } - public static void startHivCommunityFollowupFeedbackActivity(Activity activity, String baseEntityID) throws JSONException{ + public static void startHivCommunityFollowupFeedbackActivity(Activity activity, String baseEntityID) throws JSONException { Intent intent = new Intent(activity, BaseHivFormsActivity.class); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); @@ -356,7 +356,7 @@ public void openUpcomingServices() { @Override public void setFamilyStatus(@androidx.annotation.Nullable AlertStatus status) { super.setFamilyStatus(status); - if(getHivMemberObject().getFamilyMemberEntityType().equals(Constants.FamilyMemberEntityType.EC_INDEPENDENT_CLIENT)){ + if (getHivMemberObject().getFamilyMemberEntityType().equals(Constants.FamilyMemberEntityType.EC_INDEPENDENT_CLIENT)) { findViewById(R.id.rlFamilyServicesDue).setVisibility(View.GONE); } } @@ -400,14 +400,14 @@ private void addHivReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.tb_referral), CoreConstants.JSON_FORM.getTbReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_TB)); - if(isClientEligibleForAnc(getHivMemberObject())){ + if (isClientEligibleForAnc(getHivMemberObject())) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.anc_danger_signs), org.smartregister.chw.util.Constants.JSON_FORM.getAncUnifiedReferralForm(), CoreConstants.TASKS_FOCUS.ANC_DANGER_SIGNS)); referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_danger_signs), CoreConstants.JSON_FORM.getPncReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); - if(!AncDao.isANCMember(getHivMemberObject().getBaseEntityId())){ + if (!AncDao.isANCMember(getHivMemberObject().getBaseEntityId())) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.pregnancy_confirmation), - CoreConstants.JSON_FORM.getPregnancyConfirmationReferralForm(),CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION)); + CoreConstants.JSON_FORM.getPregnancyConfirmationReferralForm(), CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION)); } } referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), @@ -460,8 +460,8 @@ public void onReceivedNotifications(List> notifications) { public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(org.smartregister.chw.core.R.menu.hiv_profile_menu, menu); menu.findItem(R.id.action_anc_registration).setVisible(isClientEligibleForAnc(getHivMemberObject()) && !AncDao.isANCMember(getHivMemberObject().getBaseEntityId())); - - // flavor.updateTbMenuItems(getHivMemberObject().getBaseEntityId(), menu); + menu.findItem(R.id.action_pregnancy_out_come).setVisible(isClientEligibleForAnc(getHivMemberObject())); + // flavor.updateTbMenuItems(getHivMemberObject().getBaseEntityId(), menu); return true; } @@ -472,9 +472,12 @@ public boolean onOptionsItemSelected(MenuItem item) { startTbRegister(); return true; } - if (itemId == R.id.action_anc_registration){ + if (itemId == R.id.action_anc_registration) { startAncRegister(); return true; + } else if (itemId == R.id.action_pregnancy_out_come) { + PncRegisterActivity.startPncRegistrationActivity(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), null, CoreConstants.JSON_FORM.getPregnancyOutcome(), AncLibrary.getInstance().getUniqueIdRepository().getNextUniqueId().getOpenmrsId(), getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyName(), null); + return true; } return super.onOptionsItemSelected(item); } @@ -488,7 +491,7 @@ protected void startTbRegister() { } protected void startAncRegister() { - AncRegisterActivity.startAncRegistrationActivity(HivProfileActivity.this, Objects.requireNonNull(getHivMemberObject()).getBaseEntityId() , getHivMemberObject().getPhoneNumber(), + AncRegisterActivity.startAncRegistrationActivity(HivProfileActivity.this, Objects.requireNonNull(getHivMemberObject()).getBaseEntityId(), getHivMemberObject().getPhoneNumber(), org.smartregister.chw.util.Constants.JSON_FORM.getAncRegistration(), null, getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyName()); } @@ -543,7 +546,7 @@ public void startHivRegistrationDetailsActivity() { this.startActivityForResult(intent, org.smartregister.chw.anc.util.Constants.REQUEST_CODE_HOME_VISIT); } - protected boolean isClientEligibleForAnc(HivMemberObject hivMemberObject){ + protected boolean isClientEligibleForAnc(HivMemberObject hivMemberObject) { if (hivMemberObject.getGender().equalsIgnoreCase("Female")) { //Obtaining the clients CommonPersonObjectClient used for checking is the client is Of Reproductive Age CommonRepository commonRepository = Utils.context().commonrepository(Utils.metadata().familyMemberRegister.tableName); @@ -558,7 +561,7 @@ protected boolean isClientEligibleForAnc(HivMemberObject hivMemberObject){ } public interface Flavor { - // void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); + // void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PncRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PncRegisterFragment.java index b2128c2648..01ce3f2379 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PncRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PncRegisterFragment.java @@ -1,13 +1,23 @@ package org.smartregister.chw.fragment; +import android.database.Cursor; + +import org.apache.commons.lang3.StringUtils; import org.smartregister.chw.activity.PncHomeVisitActivity; import org.smartregister.chw.activity.PncMemberProfileActivity; import org.smartregister.chw.anc.domain.MemberObject; +import org.smartregister.chw.anc.util.DBConstants; import org.smartregister.chw.core.fragment.CorePncRegisterFragment; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.QueryGenerator; import org.smartregister.chw.model.ChwPncRegisterFragmentModel; import org.smartregister.chw.presenter.PncRegisterFragmentPresenter; import org.smartregister.commonregistry.CommonPersonObjectClient; +import java.text.MessageFormat; + +import timber.log.Timber; + public class PncRegisterFragment extends CorePncRegisterFragment { @Override @@ -29,4 +39,52 @@ protected void initializePresenter() { presenter = new PncRegisterFragmentPresenter(this, new ChwPncRegisterFragmentModel(), null); } + + @Override + public void countExecute() { + Cursor cursor = null; + try { + String mainTable = presenter().getMainTable(); + + QueryGenerator generator = new QueryGenerator() + .withMainTable(mainTable) + .withColumn("count(*)") + .withJoinClause("INNER JOIN " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + " ON " + + mainTable + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID) + + .withWhereClause(getCountMainCondition()); + + if (dueFilterActive) + generator.withWhereClause(getDueCondition()); + + if (StringUtils.isNotBlank(filters)) + generator.withWhereClause(getSearchFilter(filters)); + + cursor = commonRepository().rawCustomQueryForAdapter(generator.generateQuery()); + cursor.moveToFirst(); + clientAdapter.setTotalcount(cursor.getInt(0)); + Timber.v("total count here %d", clientAdapter.getTotalcount()); + + clientAdapter.setCurrentlimit(20); + clientAdapter.setCurrentoffset(0); + } catch (Exception e) { + Timber.e(e); + } finally { + if (cursor != null) { + cursor.close(); + } + } + } + + private String getSearchFilter(String search) { + return MessageFormat.format(" {0}.{1} like ''%{2}%'' ", CoreConstants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.FIRST_NAME, search) + + MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", CoreConstants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.LAST_NAME, search) + + MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", CoreConstants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.MIDDLE_NAME, search) + + MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", CoreConstants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.UNIQUE_ID, search); + } + + private String getCountMainCondition() { + return " " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DATE_REMOVED + " is null "; + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java index 346a3638e5..755fb8977c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/ChwPncRegisterFragmentModel.java @@ -39,7 +39,7 @@ public String mainSelect(String tableName, String mainCondition) { queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " AND " + tableName + "." + ChwDBConstants.IS_CLOSED + " IS " + 0 + " AND " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + ChwDBConstants.IS_CLOSED + " IS " + 0 + " AND " + tableName + "." + ChwDBConstants.DELIVERY_DATE + " IS NOT NULL COLLATE NOCASE "); queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.FAMILY + " ON " + CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID + " COLLATE NOCASE "); - queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.ANC_MEMBER + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.ANC_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " AND " + tableName + "." + ChwDBConstants.IS_CLOSED + " IS " + 0 + " AND " + tableName + "." + ChwDBConstants.DELIVERY_DATE + " IS NOT NULL COLLATE NOCASE "); +// queryBuilder.customJoin("INNER JOIN " + CoreConstants.TABLE_NAME.ANC_MEMBER + " ON " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + CoreConstants.TABLE_NAME.ANC_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + " AND " + tableName + "." + ChwDBConstants.IS_CLOSED + " IS " + 0 + " AND " + tableName + "." + ChwDBConstants.DELIVERY_DATE + " IS NOT NULL COLLATE NOCASE "); queryBuilder.customJoin("LEFT JOIN (select base_entity_id , max(visit_date) visit_date from visits GROUP by base_entity_id) VISIT_SUMMARY ON VISIT_SUMMARY.base_entity_id = " + tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); return queryBuilder.mainCondition(mainCondition); diff --git a/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml b/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml index cf93fde711..af1b6aa301 100644 --- a/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml +++ b/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml @@ -34,6 +34,11 @@ android:visible="false" android:title="@string/anc_registration" app:showAsAction="never" /> + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/menu/pmtct_bottom_nav_menu.xml b/opensrp-chw/src/main/res/menu/pmtct_bottom_nav_menu.xml index b8410c8045..b4c8edf356 100644 --- a/opensrp-chw/src/main/res/menu/pmtct_bottom_nav_menu.xml +++ b/opensrp-chw/src/main/res/menu/pmtct_bottom_nav_menu.xml @@ -19,4 +19,10 @@ android:icon="@drawable/ic_trending_down_black_24dp" android:title="@string/action_received_hiv_followup_referrals" app:showAsAction="ifRoom" /> + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index bc7e10d08d..89b7ce2b9d 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -406,6 +406,7 @@ Mother Champion Return to Mother Champion\'s clients Record Followup Visit + SBCC diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json index 5ddd5dc49c..dd37fe386a 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json @@ -172,22 +172,19 @@ "type": "spinner", "hint": "The place the mother gave birth", "values": [ + "Birth before Arrival (BBA)", "At home", - "At a health facility", - "On the way to the health facility", - "Other" + "Traditional birth attendant" ], "keys": [ + "Birth before Arrival (BBA)", "At home", - "At a health facility", - "On the way to the health facility", - "Other" + "Traditional birth attendant" ], "openmrs_choice_ids": { + "Birth before Arrival (BBA)": "Birth before Arrival (BBA)", "At home": "At home", - "At a health facility": "At a health facility", - "On the way to the health facility": "On the way to the health facility", - "Other": "Other" + "Traditional birth attendant": "Traditional birth attendant" }, "v_required": { "value": "true", @@ -224,7 +221,7 @@ "options": [ { "key": "gave_birth_alone", - "text": "She gave birth at home alone", + "text": "She gave birth alone", "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", @@ -232,7 +229,7 @@ }, { "key": "gave_birth_with_help", - "text": "She gave birth at home with the help of a family member/friend/neighbor", + "text": "She gave birth with the help of a family member/friend/neighbor", "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", @@ -240,7 +237,7 @@ }, { "key": "midwife_help", - "text": "She gave birth at home with the help of a traditional midwife", + "text": "She gave birth with the help of a traditional midwife", "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", @@ -248,69 +245,6 @@ } ] }, - { - "key": "delivery_hf", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_hf", - "type": "native_radio", - "label": "The mother gave birth in a health facility. Who accompanied the mother to the health facility?", - "label_text_style": "bold", - "text_color": "#C0C0C0", - "v_required": { - "value": "true", - "err": "Please select" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_pregnancy_outcome_relevance.yml" - } - } - }, - "options": [ - { - "key": "facility_family_member", - "text": "She gave birth in a health facility, and she was accompanied by family member(s)", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "facility_family_member" - }, - { - "key": "facility_midwife", - "text": "She gave birth in a health facility, and she was accompanied by a traditional midwife", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "facility_midwife" - }, - { - "key": "alone", - "text": "She gave birth in a health facility, and she came by herself", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "alone" - }, - { - "key": "other_pple", - "text": "She gave birth in a health facility, and she was accompanied by other people", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_pple" - }, - { - "key": "other_chw", - "text": "She gave birth in a health facility, and she was accompanied by the CHW", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_chw" - } - ] - }, { "key": "baby_label", "type": "label", @@ -322,7 +256,6 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "", - "relevance": { "rules-engine": { "ex-rules": { @@ -346,7 +279,8 @@ "openmrs_entity_parent": "", "openmrs_entity": "", "openmrs_entity_id": "", - "repeating_group_max": "10", + "repeating_group_max": "4", + "expand_on_text_change": "true", "relevance": { "rules-engine": { "ex-rules": { @@ -354,7 +288,6 @@ } } }, - "value": [ { "key": "surname", @@ -379,7 +312,6 @@ } } } - }, { "key": "same_as_fam_name_chk", @@ -425,6 +357,10 @@ "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the middle name" } }, { @@ -454,6 +390,30 @@ "err": "Gender required" } }, + { + "key": "weight", + "type": "edit_text", + "hint": "Weight (KG)", + "openmrs_entity": "concept", + "openmrs_entity_id": "weight", + "openmrs_entity_parent": "", + "v_numeric": { + "value": "true", + "err": "Please enter the weight" + }, + "v_min": { + "value": "0", + "err": "The weight must be equal or greater than 0 (KG)" + }, + "v_max": { + "value": "30", + "err": "The weight must be equal or less than 30 (KG)" + }, + "v_required": { + "value": true, + "err": "Please enter the weight" + } + }, { "key": "disabilities", "openmrs_entity_parent": "", @@ -483,9 +443,68 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", - "type": "edit_text", - "hint": "Type of physical disabilities", - "edit_type": "name", + "type": "check_box", + "label": "Type of disability", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Mobility and Physical Impairments", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Spinal Cord Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Head Injuries - Brain Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Vision Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Hearing Disability", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Cognitive or Learning Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Psychological Disorders", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Invisible Disabilities", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], "relevance": { "rules-engine": { "ex-rules": { @@ -500,7 +519,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "early_bf_1hr", "type": "spinner", - "hint": "Early initiation of breastfeeding (1 hr)?", + "hint": "Breastfed within 1 hour?", "values": [ "Yes", "No" @@ -515,46 +534,70 @@ } }, { - "key": "vacc_birth", + "key": "child_bcg_vaccination", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "vacc_birth", - "type": "check_box", - "label": "Which vaccinations were given?", + "openmrs_entity_id": "child_bcg_vaccination", + "type": "native_radio", + "label": "Was BCG vaccination given?", "label_text_style": "normal", "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], "options": [ { - "key": "chk_none", - "text": "None", - "value": false, + "key": "yes", + "text": "Yes", "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "yes" }, { - "key": "chk_opv_0", - "text": "OPV 0", - "value": false, + "key": "no", + "text": "No", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select one" + } + }, + { + "key": "child_opv0_vaccination", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "child_opv0_vaccination", + "type": "native_radio", + "label": "Was OPV 0 vaccination given?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "yes", + "text": "Yes", "openmrs_entity": "concept", - "openmrs_entity_id": "chk_opv_0" + "openmrs_entity_id": "yes" }, { - "key": "chk_bcg", - "text": "BCG", - "value": false, + "key": "no", + "text": "No", "openmrs_entity": "concept", - "openmrs_entity_id": "chk_bcg" + "openmrs_entity_id": "no" } ], "v_required": { "value": "true", - "err": "vaccinations given required" + "err": "Please select one" } } ] + }, + { + "key": "hiv_status", + "type": "hidden", + "openmrs_entity_id": "hiv_status", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "value": "negative" } ] } From a9bc5597f3f10673ff067a0fc7665ab0402091e3 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 22 Mar 2022 16:05:39 +0300 Subject: [PATCH 335/915] fix: loading mother champion sbcc sessions form --- ...otherChampionBottomNavigationListener.java | 27 +++++++++++++++++-- .../org/smartregister/chw/util/Constants.java | 5 ++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java b/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java index 5a2337a535..b79a8ea38e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java @@ -3,11 +3,21 @@ import android.app.Activity; import android.view.MenuItem; +import com.vijay.jsonwizard.utils.FormUtils; + +import org.json.JSONException; +import org.json.JSONObject; import org.smartregister.chw.R; import org.smartregister.chw.activity.MotherChampionRegisterActivity; import org.smartregister.chw.pmtct.listener.PmtctBottomNavigationListener; +import org.smartregister.family.util.JsonFormUtils; import androidx.annotation.NonNull; +import timber.log.Timber; + +import static org.smartregister.util.JsonFormUtils.ENTITY_ID; +import static org.smartregister.util.JsonFormUtils.VALUE; +import static org.smartregister.util.JsonFormUtils.generateRandomUUIDString; public class ChwMotherChampionBottomNavigationListener extends PmtctBottomNavigationListener { @@ -23,12 +33,25 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) { if (item.getItemId() == R.id.action_home) { baseRegisterActivity.switchToFragment(0); return true; - }else if (item.getItemId() == R.id.action_received_referrals) { + } else if (item.getItemId() == R.id.action_received_referrals) { baseRegisterActivity.switchToFragment(1); return true; - }else if (item.getItemId() == R.id.action_followup) { + } else if (item.getItemId() == R.id.action_followup) { baseRegisterActivity.switchToFragment(2); return true; + } else if (item.getItemId() == R.id.action_sbcc) { + JSONObject form; + try { + form = (new FormUtils()).getFormJsonFromRepositoryOrAssets(baseRegisterActivity, org.smartregister.chw.util.Constants.JsonForm.getMotherChampionSbccForm()); + if (form != null) { + String randomId = generateRandomUUIDString(); + form.put(ENTITY_ID,randomId); + baseRegisterActivity.startActivityForResult(org.smartregister.chw.core.utils.FormUtils.getStartFormActivity(form, baseRegisterActivity.getString(R.string.sbcc), baseRegisterActivity), JsonFormUtils.REQUEST_CODE_GET_JSON); + } + } catch (JSONException e) { + Timber.e(e); + } + return true; } else return super.onNavigationItemSelected(item); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index 36fd961ded..1f62005683 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -80,6 +80,7 @@ public static final class JsonForm{ private static final String PARTNER_REGISTRATION_FORM = "male_partner_registration_form"; private static final String PMTCT_COMMUNITY_FOLLOWUP_FEEDBACK = "pmtct_community_followup_feedback"; private static final String MOTHER_CHAMPION_FOLLOWUP_FORM = "mother_champion_followup"; + private static final String MOTHER_CHAMPION_SBCC_FORM = "mother_champion_sbcc_sessions"; public static String getMotherChampionFollowupForm() { return MOTHER_CHAMPION_FOLLOWUP_FORM; @@ -92,6 +93,10 @@ public static String getPmtctCommunityFollowupFeedback() { public static String getPartnerRegistrationForm() { return Utils.getLocalForm(PARTNER_REGISTRATION_FORM, locale, assetManager); } + + public static String getMotherChampionSbccForm() { + return MOTHER_CHAMPION_SBCC_FORM; + } } public static final class Events { From 88b632c1ee3eb14ddf7e22cbc98dcb9bcbc632b7 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 24 Mar 2022 15:21:46 +0300 Subject: [PATCH 336/915] fixed: NavigationMenuFlv to implement correct methods --- .../chw/custom_view/NavigationMenuFlv.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java index 61ba6450bd..4d85bcdeed 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java @@ -63,4 +63,14 @@ public String childNavigationMenuCountString() { public Intent getHIA2ReportActivityIntent(Activity activity) { return new Intent(activity, HIA2ReportsActivity.class); } + + @Override + public boolean hasInAppReports() { + return false; + } + + @Override + public Intent getInAppReportsActivityIntent(Activity activity) { + return null; + } } From 33f262d9570a9e118fcc085088fd5bab5a774540 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 25 Mar 2022 09:43:21 +0300 Subject: [PATCH 337/915] Added child dbs test option in pmtct referral form --- .../assets/json.form/referrals/pmtct_referral_form.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json index fa99c11eee..e1034d5c2d 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json @@ -95,6 +95,15 @@ "openmrs_entity_parent": "" } }, + { + "name": "child_receive_dbs_test", + "text": "Child to receive DBS test", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "child_receive_dbs_test", + "openmrs_entity_parent": "" + } + }, { "name": "Other_symptom", "text": "Others", From 1ec28189f575e2581c8896820e1ac4f8b84dd00b Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 25 Mar 2022 10:26:11 +0300 Subject: [PATCH 338/915] removed: hiv_status hidden field --- .../src/nacp/assets/json.form/anc_pregnancy_outcome.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json index dd37fe386a..904a964236 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json @@ -590,14 +590,6 @@ } } ] - }, - { - "key": "hiv_status", - "type": "hidden", - "openmrs_entity_id": "hiv_status", - "openmrs_entity": "concept", - "openmrs_entity_parent": "", - "value": "negative" } ] } From 1ee90b29febe5fbdad959e96da0cc66ec7c0d5f2 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sat, 26 Mar 2022 19:20:43 +0300 Subject: [PATCH 339/915] Receiving and displaying hei community follow up referral --- .../PmtctFollowupDetailsActivity.java | 57 +++++++++++++++---- .../org/smartregister/chw/dao/PmtctDao.java | 1 + .../chw/domain/PmtctReferralMemberObject.java | 9 +++ .../res/layout/activity_pmtctc_details.xml | 3 +- .../src/main/res/values-sw/strings.xml | 1 + opensrp-chw/src/main/res/values/strings.xml | 6 ++ .../nacp/assets/ec_client_classification.json | 7 +++ .../src/nacp/assets/ec_client_fields.json | 8 +++ 8 files changed, 79 insertions(+), 13 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java index 1104ff1893..5a0717487d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java @@ -1,5 +1,10 @@ package org.smartregister.chw.activity; +import static com.vijay.jsonwizard.utils.FormUtils.fields; +import static com.vijay.jsonwizard.utils.FormUtils.getFieldJSONObject; +import static org.smartregister.util.JsonFormUtils.STEP1; +import static org.smartregister.util.JsonFormUtils.VALUE; + import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; @@ -10,6 +15,9 @@ import android.view.View; import android.widget.Toast; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.widget.Toolbar; + import com.google.android.material.appbar.AppBarLayout; import org.apache.commons.lang3.StringUtils; @@ -40,15 +48,8 @@ import java.util.List; import java.util.Locale; -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.widget.Toolbar; import timber.log.Timber; -import static com.vijay.jsonwizard.utils.FormUtils.fields; -import static com.vijay.jsonwizard.utils.FormUtils.getFieldJSONObject; -import static org.smartregister.util.JsonFormUtils.STEP1; -import static org.smartregister.util.JsonFormUtils.VALUE; - public class PmtctFollowupDetailsActivity extends SecuredActivity implements View.OnClickListener { public static final String PMTCT_MEMBER_OBJECT = "PMTCT_MEMBER_OBJECT"; private static PmtctReferralMemberObject memberObject; @@ -186,12 +187,13 @@ private void obtainReferralDetails() { } locationName.setText(memberObject.getAddress()); - referralType.setText(memberObject.getReasonsForIssuingCommunityFollowupReferral()); - if (memberObject.getPrimaryCareGiver() != null) - careGiverName.setText(String.format("CG : %s", memberObject.getPrimaryCareGiverName())); - else + if (StringUtils.isNotEmpty(memberObject.getChildName())) { + careGiverName.setText(String.format(getString(R.string.child_name), memberObject.getChildName())); + referralType.setText(context().getStringResource(getReasonsForReferralResource(true))); + } else { careGiverName.setVisibility(View.GONE); - + referralType.setText(context().getStringResource(getReasonsForReferralResource(false))); + } if (StringUtils.isBlank(getFamilyMemberContacts()) && StringUtils.isEmpty(getFamilyMemberContacts())) { careGiverPhone.setText(getString(R.string.phone_not_provided)); @@ -204,6 +206,37 @@ private void obtainReferralDetails() { } } + private int getReasonsForReferralResource(boolean isChildReason) { + int resourceId; + if (isChildReason) { + switch (memberObject.getReasonsForIssuingCommunityFollowupReferral()) { + case "missed_appointment": + resourceId = R.string.missed_appointment_child; + break; + case "lost_to_followup": + resourceId = R.string.lost_to_followup_child; + break; + default: + resourceId = -1; + } + } else { + switch (memberObject.getReasonsForIssuingCommunityFollowupReferral()) { + case "missed_appointment": + resourceId = R.string.missed_appointment; + break; + case "lost_to_followup": + resourceId = R.string.lost_to_followup; + break; + case "mother_champion_services": + resourceId = R.string.mother_champion_services; + break; + default: + resourceId = -1; + } + } + return resourceId; + } + private String getFamilyMemberContacts() { String phoneNumber = ""; String familyPhoneNumber = memberObject.getPhoneNumber(); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java index 2a3721c762..ebc6aad7d3 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/PmtctDao.java @@ -67,6 +67,7 @@ public static PmtctReferralMemberObject getPmtctReferralMemberObject(String base memberObject.setLastFacilityVisitDate(getCursorValueAsDate(cursor, "last_client_visit_date", getNativeFormsDateFormat())); memberObject.setReasonsForIssuingCommunityFollowupReferral(getCursorValue(cursor, "reasons_for_issuing_community_referral", "")); memberObject.setComments(getCursorValue(cursor, "comment", "")); + memberObject.setChildName(getCursorValue(cursor, "child_name", "")); String familyHeadName = getCursorValue(cursor, "family_head_first_name", "") + " " + getCursorValue(cursor, "family_head_middle_name", ""); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/PmtctReferralMemberObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/PmtctReferralMemberObject.java index 703392eba3..1d7d6fbd02 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/PmtctReferralMemberObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/PmtctReferralMemberObject.java @@ -9,6 +9,15 @@ public class PmtctReferralMemberObject extends MemberObject { private Date lastFacilityVisitDate; private String reasonsForIssuingCommunityFollowupReferral; private String comments; + private String childName; + + public String getChildName() { + return childName; + } + + public void setChildName(String childName) { + this.childName = childName; + } public String getReasonsForIssuingCommunityFollowupReferral() { return reasonsForIssuingCommunityFollowupReferral; diff --git a/opensrp-chw/src/main/res/layout/activity_pmtctc_details.xml b/opensrp-chw/src/main/res/layout/activity_pmtctc_details.xml index eee44a7b0a..716de0aa28 100644 --- a/opensrp-chw/src/main/res/layout/activity_pmtctc_details.xml +++ b/opensrp-chw/src/main/res/layout/activity_pmtctc_details.xml @@ -3,6 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" + xmlns:tools="http://schemas.android.com/tools" android:background="@color/white" android:orientation="vertical" android:weightSum="1"> @@ -99,7 +100,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" - android:text="CG: Emily Emma" + tools:text="CG: Emily Emma" android:textAppearance="@style/TextAppearance.AppCompat.Large" android:textColor="@color/text_black" android:textSize="22sp" diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index 91100c7c7d..ebbca96892 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -422,4 +422,5 @@ Mbaya Record Followup Feedback Record Followup Visit + Child : %s diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 89b7ce2b9d..51ac5303ff 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -407,6 +407,12 @@ Return to Mother Champion\'s clients Record Followup Visit SBCC + Missed Appointment + Lost To Followup + Mother Champion Services + Child lost to followup + Child Missed appointment + Child : %s diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index 21e8624ba9..777c7f2494 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -507,6 +507,13 @@ "creates_case": [ "ec_mother_champion_followup" ] + }, + { + "field": "eventType", + "field_value": "HEI Community Followup", + "creates_case": [ + "ec_pmtct_community_followup" + ] } ] } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 5389e3aff3..8b9e7145ed 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -3586,6 +3586,14 @@ "field": "obs.formSubmissionField", "concept": "reasons_for_issuing_community_referral" } + }, + { + "column_name": "child_name", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "child_name" + } } ] }, From 5b09a2a909c8d513b80610ca797e712f26965425 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sun, 27 Mar 2022 09:37:40 +0300 Subject: [PATCH 340/915] Added break statements --- .../chw/activity/PmtctFollowupDetailsActivity.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java index 5a0717487d..a7004dae25 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java @@ -218,6 +218,7 @@ private int getReasonsForReferralResource(boolean isChildReason) { break; default: resourceId = -1; + break; } } else { switch (memberObject.getReasonsForIssuingCommunityFollowupReferral()) { @@ -232,6 +233,7 @@ private int getReasonsForReferralResource(boolean isChildReason) { break; default: resourceId = -1; + break; } } return resourceId; From 19cccaebe8748345fa800cac7eded9ec7e3e5c39 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 28 Mar 2022 10:55:41 +0300 Subject: [PATCH 341/915] renamed: the menu item to pnc registration --- opensrp-chw/src/main/res/menu/hiv_profile_menu.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml b/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml index af1b6aa301..997a6cc92f 100644 --- a/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml +++ b/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml @@ -37,7 +37,7 @@ From b510bff9ac8c53de097a798e38c61f2add663a87 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 29 Mar 2022 08:52:46 +0300 Subject: [PATCH 342/915] Implemented Swahili translations --- .../src/main/res/values-sw/strings.xml | 11 +- ...c_partner_community_followup_feedback.json | 50 +++--- .../pmtct_community_followup_feedback.json | 159 ++++++++++++++++++ .../pmtct_community_followup_feedback.json | 2 +- .../src/nacp/res/values-sw/strings.xml | 6 +- opensrp-chw/src/nacp/res/values/strings.xml | 2 +- 6 files changed, 200 insertions(+), 30 deletions(-) create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index ebbca96892..436724f6df 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -420,7 +420,12 @@ Hapana Nzuri Mbaya - Record Followup Feedback - Record Followup Visit - Child : %s + Rekodi Mrejesho wa Ufuatiliaji + Jaza Ufuatiliaji wa Mahudhurio + Amekosa Miadi + Mteja Aliyepotea + Huduma za Mama Kinara + Mtoto Aliyepotea + Mtoto Amekosa Miadi + Mtoto : %s diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json index a97c6b7407..e17a3cfee3 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Partner Followup Feedback", + "title": "Mrejesho wa Ufuatiliaji wa Mwenza", "fields": [ { "key": "is_partner_found", @@ -55,20 +55,20 @@ "openmrs_entity": "concept", "openmrs_entity_id": "is_partner_found", "type": "native_radio", - "label": "Was the client's partner found?", + "label": "Je, Mwenza wa Mama amepatikana?", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ { "key": "yes", - "text": "Yes", + "text": "Ndio", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "yes" }, { "key": "no", - "text": "No", + "text": "Hapana", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "no" @@ -76,7 +76,7 @@ ], "v_required": { "value": "true", - "err": "Please select an option" + "err": "Tafadhari Chagua mojawapo" } }, { @@ -85,20 +85,20 @@ "openmrs_entity": "concept", "openmrs_entity_id": "partner_agree_attending_hf", "type": "native_radio", - "label": "Did the partner agree to attend the HF?", + "label": "Je, mwenza alikubali kuja Kituo cha Afya (Kliniki)?", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ { "key": "yes", - "text": "Yes", + "text": "Ndio", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "yes" }, { "key": "no", - "text": "No", + "text": "Hapana", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "no" @@ -106,7 +106,7 @@ ], "v_required": { "value": "true", - "err": "Please select an option" + "err": "Tafadhari chagua mojawapo:" }, "relevance": { "step1:is_partner_found": { @@ -121,7 +121,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "", "type": "toaster_notes", - "text": "Register the client to HF", + "text": "Msajili Mteja kwenye Kituo cha Afya", "toaster_type": "info", "relevance": { "step1:partner_agree_attending_hf": { @@ -136,76 +136,76 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reason_for_not_attending_hf", "type": "check_box", - "label": "Reason(s) why the partner did not agree to attend the HF", + "label": "Sababu kwanini Mwenza amekataa kuja kituo cha Afya (Kliniki)", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ { "key": "chk_negative_attitude", - "text": "Negative attitudes towards ANC services-Men think clinics are for women", + "text": "Wanaume wana mtizamo hasi kwenye huduma za Afya ya Mama na Mtoto, wanadhani huduma hizi nin kwa ajili ya Mama tu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_negative_attitude" }, { "key": "chk_fear_hiv_test", - "text": " Fear of men to be tested for HIV (most men don’t like to be tested)", + "text": "Uwoga wa Wanaume kupima virusi vya VVU (Wanaume wengi hawapendi kupimwa)", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_fear_hiv_test" }, { "key": "chk_unattractive_env", - "text": "The environment at RCH clinics is not attractive to men e.g.,long waiting and lack of privacy", + "text": "Mazingira ya Kliniki ya Mama na Mtoto hayawapendezi wanaume wengi k.m., mda mrefu wa kusubiri na kutokuwa na faraga", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unattractive_env" }, { "key": "chk_poor_attitude", - "text": "Poor attitude from some RCH staff to men", + "text": "Mtazamo hafifu wa baadhi ya Watumishi wa Afya wa RCH kwa wanaume", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_poor_attitude" }, { "key": "chk_cultural_beliefs", - "text": "Cultural beliefs and norms-men are not supposed to go to clinics, it is shame for a man to accompany his wife to RCH clinic", + "text": "Tamaduni za zamani wanaume hawatakiwi kwenda kliniki, ni aibu kwa mwanaume kumsindikiza mke wake Kliniki", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cultural_beliefs" }, { "key": "chk_fatherhood_resp", - "text": "Fear of fatherhood responsibilities", + "text": "Uwoga wa majukumu ya Baba", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_fatherhood_resp" }, { "key": "chk_polygamy", - "text": "Polygamy", + "text": "Ndo ya Wake wengi", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_polygamy" }, { "key": "chk_ignorance", - "text": "Ignorance and inadequate knowledge on the importance of Male involvement to ANC service", + "text": "Kutokuwa na Elimu ya umuhimu ya wanaume katika huduma za Kliniki", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_ignorance" }, { "key": "chk_busy", - "text": "Busy with day-to-day earnings for the family", + "text": "Kutokuwa na muda kutokana na majukumu ya kifamilia", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_busy" }, { "key": "chk_other", - "text": "Others (Specify)", + "text": "Nyingine", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_other" @@ -213,7 +213,7 @@ ], "v_required": { "value": "true", - "err": "Please select a reason(s)" + "err": "Tafadhari Chagua sababu" }, "relevance": { "step1:partner_agree_attending_hf": { @@ -228,8 +228,12 @@ "openmrs_entity": "concept", "openmrs_entity_id": "other_reason_not_attend_hf", "type": "edit_text", - "hint": "Other reason", + "hint": "Sababu nyingine", "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhari ingiza sababu nyingine" + }, "relevance": { "step1:reason_for_not_attending_hf": { "ex-checkbox": [ diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json new file mode 100644 index 0000000000..86983ccc63 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json @@ -0,0 +1,159 @@ +{ + "count": "1", + "encounter_type": "PMTCT Community Followup Feedback", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "global": {}, + "step1": { + "title": "Mrejesho wa Ufuatiliji wa Mama Kinara", + "fields": [ + { + "key": "followup_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "followup_status", + "type": "spinner", + "hint": "Mrejesho wa Ufuatiliaji", + "values": [ + "Anaendelea na Huduma", + "Amefariki", + "Hapatikani", + "Amehamishiwa mahali pengine", + "Amehama", + "Amejitoa", + "Anaendelea na huduma akitokea mahali pengine" + ], + "keys": [ + "continuing_with_services", + "deceased", + "client_not_found", + "client_has_relocated_to_another_location", + "client_has_moved", + "client_has_absconded", + "client_continues_with_clinic_from_elsewhere" + ], + "openmrs_choice_ids": { + "continuing_with_services": "continuing_with_services", + "deceased": "deceased", + "client_not_found": "client_not_found", + "client_has_relocated_to_another_location": "client_has_relocated_to_another_location", + "client_has_moved": "client_has_moved", + "client_has_absconded": "client_has_absconded", + "client_continues_with_clinic_from_elsewhere": "client_continues_with_clinic_from_elsewhere" + }, + "v_required": { + "value": "true", + "err": "Tafadhari chagua mojawapo" + } + }, + { + "key": "name_of_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "name_of_hf", + "type": "spinner", + "hint": "Chagua Kituo cha Afya alichohamia", + "v_required": { + "value": true, + "err": "Tafadhali chagua Kituo cha Afya alichohamia" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_relevance.yml" + } + } + } + }, + { + "key": "other_facility", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_facility", + "type": "edit_text", + "hint": "Kituo cha Afya kingine", + "v_required": { + "value": true, + "err": "Tafadhari bainisha Kituo cha Afaya kingine" + }, + "relevance": { + "step1:name_of_hf": { + "type": "String", + "ex": "equalTo(.,\"Other\")" + } + } + }, + { + "key": "pmtct_community_followup_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pmtct_community_followup_visit_date", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_calculation.yml" + } + } + } + }, + { + "key": "community_referral_form_id", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "community_referral_form_id", + "type": "hidden" + }, + { + "key": "chw_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_name", + "type": "hidden" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json index a542197bc1..c5713a027b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json @@ -48,7 +48,7 @@ }, "global": {}, "step1": { - "title": "PMTCT Community Followup Feedback", + "title": "Mother Champion Community Followup Feedback", "fields": [ { "key": "followup_status", diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 3851d8b2df..7ca2d24044 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -27,7 +27,9 @@ Ufuatiliaji wa VVU UWANYU (%2$s)
    ]]> Hiari - Partner Followup + Ufuatiliji wa Mwenza Usajili wa Mwenza - Back to PMTCT Clients + Rudi kwa Wateja wa Ufufatiliaji wa Mama Kinara + Mama Kinara + Rudi kwa Wateja wa Mama Kinara \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 148683b1c5..cfe15a910e 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -30,5 +30,5 @@ All Male Clients Register this client as Partner? View Partner Profile - Back to PMTCT Clients + Back to Mother Champion\'s Followup Clients \ No newline at end of file From 66ad762e98bb9065b818d40241272d5148f6f0e6 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 29 Mar 2022 12:46:05 +0300 Subject: [PATCH 343/915] Implemented Swahili translations --- .../MotherChampionProfileActivity.java | 1 + opensrp-chw/src/main/res/values/strings.xml | 2 +- .../referrals/pmtct_referral_form.json | 174 ++++++++++++++++++ .../src/nacp/res/values-sw/strings.xml | 3 +- 4 files changed, 178 insertions(+), 2 deletions(-) create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java index 47b1afa7fc..5808e4951d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java @@ -124,6 +124,7 @@ public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.findItem(R.id.action_remove_member).setVisible(false); menu.findItem(R.id.action_issue_pmtct_followup_referral).setVisible(false); + menu.findItem(R.id.action_mark_as_deceased).setVisible(false); return true; } diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 51ac5303ff..d690579a0c 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -401,7 +401,7 @@ Referral will be closed and disappear from app. Exit Record Followup Feedback - PMTCT Followup Feedback + Mother Champion Followup Feedback Followup Feedback Recorded Mother Champion Return to Mother Champion\'s clients diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json new file mode 100644 index 0000000000..abc4d9d31d --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json @@ -0,0 +1,174 @@ +{ + "form": "PMTCT Referral", + "encounter_type": "PMTCT Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "PMTCT referral form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick problem/condition associated with the client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "lactating_hiv_positive_mother", + "text": "Lactating HIV positive mother", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "lactating_hiv_positive_mother", + "openmrs_entity_parent": "" + } + }, + { + "name": "poor_art_adherence", + "text": "Poor ART adherence during Pregnancy and after child birth", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "poor_art_adherence", + "openmrs_entity_parent": "" + } + }, + { + "name": "treatment_side_effects", + "text": "Treatment side effects during pregnancy and after child birth", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "treatment_side_effects", + "openmrs_entity_parent": "" + } + }, + { + "name": "child_receive_dbs_test", + "text": "Child to receive DBS test", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "child_receive_dbs_test", + "openmrs_entity_parent": "" + } + }, + { + "name": "Other_symptom", + "text": "Nyingine", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "Other_symptom", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Problems", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Please specify other symptoms", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 7ca2d24044..7534c31d02 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -29,7 +29,8 @@ Hiari Ufuatiliji wa Mwenza Usajili wa Mwenza - Rudi kwa Wateja wa Ufufatiliaji wa Mama Kinara + Rudi kwa Wateja wa Ufuatiliaji wa Mama Kinara Mama Kinara Rudi kwa Wateja wa Mama Kinara + Mrejesho wa Ufuatiliji wa Mama Kinara \ No newline at end of file From b16eb909dc09123bd3dafb9f9d87868e2f85e516 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 29 Mar 2022 14:37:56 +0300 Subject: [PATCH 344/915] Added mother champion swahili forms --- .../mother_champion_followup.json | 318 ++++++++++++++++++ .../mother_champion_sbcc_sessions.json | 206 ++++++++++++ .../referrals/pmtct_referral_form.json | 26 +- 3 files changed, 537 insertions(+), 13 deletions(-) create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json new file mode 100644 index 0000000000..27f3096829 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json @@ -0,0 +1,318 @@ +{ + "count": "2", + "encounter_type": "Mother Champion Followup", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Huduma", + "next": "step2", + "fields": [ + { + "key": "type_of_service", + "type": "check_box", + "label": "Aina ya Huduma", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_service", + "openmrs_entity_parent": "", + "options": [ + { + "key": "mother_support_group", + "text": "Uwezeshaji wa kikundi cha msaada wa Mama", + "openmrs_entity": "concept", + "openmrs_entity_id": "mother_support_group", + "openmrs_entity_parent": "type_of_service" + }, + { + "key": "counselling", + "text": "Kumsahuri Mteja", + "openmrs_entity_parent": "type_of_service", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling" + } + ], + "v_required": { + "value": true, + "err": "Tafadhari jibu swali hili" + } + }, + { + "key": "linked_to_psychosocial_group", + "type": "native_radio", + "label": "Je, Mteja huyu aliunganishwa kwenye kikundi cha msaada wa Kisaikolojia?", + "openmrs_entity": "concept", + "openmrs_entity_id": "linked_to_psychosocial_group", + "openmrs_entity_parent": "", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhari jibu swali hili" + }, + "relevance": { + "step1:type_of_service": { + "ex-checkbox": [ + { + "or": [ + "mother_support_group" + ] + } + ] + } + } + }, + { + "key": "counselling_given", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling_given", + "type": "check_box", + "label": "Chagua aina ya ushauri uliotolewa", + "options": [ + { + "key": "chk_hiv_syphilis_testing", + "text": "HIV syphilis testing", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hiv_syphilis_testing", + "value": "false" + }, + { + "key": "chk_partner_testing", + "text": "Pimaji wa Wenza", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_partner_testing", + "value": "false" + }, + { + "key": "chk_disclosure", + "text": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_disclosure", + "value": "false" + }, + { + "key": "chk_male_involvement", + "text": "Ushiriki wa Wanaumwe katika huduma za ANC-PMTCT", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_male_involvement", + "value": "false" + }, + { + "key": "chk_infant_test", + "text": "Ratiba ya Vipimo vya mtoto Mchanga", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_infant_test", + "value": "false" + }, + { + "key": "chk_arv_adherence", + "text": "Ufuasi wa ARV", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_arv_adherence", + "value": "false" + }, + { + "key": "chk_prophylaxis_scheduling", + "text": "Ratiba ya Prophylaxis", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_prophylaxis_scheduling", + "value": "false" + }, + { + "key": "chk_feeding_option", + "text": "Jinsi ya kulisha watoto wachanga", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_feeding_option", + "value": "false" + }, + { + "key": "chk_maternal_nutrition", + "text": "Lishe ya Mama", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_maternal_nutrition", + "value": "false" + }, + { + "key": "chk_family_planning", + "text": "Uzazi wa Mpango", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_family_planning", + "value": "false" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhari jibu swali hili" + }, + "relevance": { + "step1:type_of_service": { + "ex-checkbox": [ + { + "or": [ + "counselling" + ] + } + ] + } + } + } + ] + }, + "step2": { + "title": "Rufaa", + "fields": [ + { + "key": "referrals_issued_other_services", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_other_services", + "type": "check_box", + "label": "Chagua rufaa aliyopewa mteja kwa ajili ya huduma nyingine", + "options": [ + { + "key": "chk_gender_based_violence", + "text": "Unyanyasaji wa Kijinsia", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_gender_based_violence", + "value": "false" + }, + { + "key": "chk_legal_support", + "text": "Msaada wa Kishria", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_legal_support", + "value": "false" + }, + { + "key": "chk_nutritional_support", + "text": "Msaada wa Lishe", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nutritional_support", + "value": "false" + }, + { + "key": "chk_support_groups", + "text": "makundi ya msaada", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_support_groups", + "value": "false" + }, + { + "key": "chk_none", + "text": "Hakuan", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none", + "value": "false" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhari jibu swali hili" + } + }, + { + "key": "referrals_completed_by_the_client", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_completed_by_the_client", + "type": "check_box", + "label": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na Mteja", + "options": [ + { + "key": "chk_gender_based_violence", + "text": "Unyanyasaji wa Kijinsia", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_gender_based_violence", + "value": "false" + }, + { + "key": "chk_legal_support", + "text": "Msaada wa Kisheria", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_legal_support", + "value": "false" + }, + { + "key": "chk_nutritional_support", + "text": "Msaada wa Lishe", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nutritional_support", + "value": "false" + }, + { + "key": "chk_support_groups", + "text": "Makundi ya Msaada", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_support_groups", + "value": "false" + }, + { + "key": "chk_none", + "text": "Hakuna", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none", + "value": "false" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhari jibu swali hili" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json new file mode 100644 index 0000000000..fa5c4cfe3a --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json @@ -0,0 +1,206 @@ +{ + "count": "1", + "encounter_type": "Mother Champion SBCC Sessions", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "SBCC Session", + "fields": [ + { + "key": "location_type", + "type": "native_radio", + "label": "Je, tukio hili lilifanyika wapi?", + "openmrs_entity": "concept", + "openmrs_entity_id": "location_type", + "openmrs_entity_parent": "", + "options": [ + { + "key": "facility", + "text": "Kwenye Kituo cha Afya", + "openmrs_entity": "concept", + "openmrs_entity_id": "facility", + "openmrs_entity_parent": "" + }, + { + "key": "community", + "text": "Kwenye ngazi ya Jamii", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "community" + } + ], + "v_required": { + "value": true, + "err": "Tafadhari jibu swali hili" + } + }, + { + "key": "participants_number", + "type": "edit_text", + "hint": "Idadi ya watu walihudhulia katika tukio hili", + "openmrs_entity_id": "participants_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "v_numeric": { + "value": "true", + "err": "Tafadhari ingiza idadi ya watu walihudhulia tukio hili" + }, + "v_required": { + "value": true, + "err": "Tafadhari ingiza idadi ya watu walihudhulia tukio hili" + } + }, + { + "key": "health_education_topic", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "health_education_topic", + "type": "check_box", + "label": "Mada iliyojadiliwa katika tukio la utoaji wa elimu kwa umma", + "options": [ + { + "key": "chk_early_anc_initiation", + "text": "Kuanza huduma za ANC mapema", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_early_anc_initiation", + "value": "false" + }, + { + "key": "chk_hiv_testing", + "text": "Upimaji wa VVU", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hiv_testing", + "value": "false" + }, + { + "key": "chk_hiv_education", + "text": "Elimu ya Ukimwi", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hiv_education", + "value": "false" + }, + { + "key": "chk_mother_child_health", + "text": "Afya ya Mama na Mtoto", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_mother_child_health", + "value": "false" + }, + { + "key": "chk_education_positive_infant", + "text": "Elimu ya unyonyeshaji kwa Mtoto mchanga mwenye maambukizi ya VVU", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_education_positive_infant", + "value": "false" + }, + { + "key": "chk_hvl_testing", + "text": "Kipimo cha HVL", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hvl_testing", + "value": "false" + }, + { + "key": "chk_hei_testing", + "text": "Ratiba ya upimaji kwa mtoto aliyezaliwa na Mama anayeishi na VVU", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_hei_testing", + "value": "false" + }, + { + "key": "chk_nutrition", + "text": "Lishe", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_nutrition", + "value": "false" + }, + { + "key": "chk_arv_adherence", + "text": "Ufuasi wa dawa za ARV", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_arv_adherence", + "value": "false" + }, + { + "key": "chk_other", + "text": "Nyingine", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_other", + "value": "false" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhari jibu swali hili" + } + }, + { + "key": "other_health_education_topic", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_education_topic", + "type": "edit_text", + "hint": "Mada nyingine zilizojadiliwa katika tukio hili", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhari ingiza mada nyingine zilizojadiliwa" + }, + "relevance": { + "step1:health_education_topic": { + "ex-checkbox": [ + { + "or": [ + "chk_other" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json index abc4d9d31d..8d0d3d9c7e 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json @@ -54,13 +54,13 @@ }, "steps": [ { - "title": "PMTCT referral form", + "title": "Fomu ya Rufaa ya PMTCT", "fields": [ { "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick problem/condition associated with the client." + "text": "Chagua tatizo linaloendana na hali ya mgonjwa" }, "meta_data": { "openmrs_entity_parent": "", @@ -70,7 +70,7 @@ "options": [ { "name": "lactating_hiv_positive_mother", - "text": "Lactating HIV positive mother", + "text": "Mama anayenyonyesha anaishi na VVU", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "lactating_hiv_positive_mother", @@ -79,7 +79,7 @@ }, { "name": "poor_art_adherence", - "text": "Poor ART adherence during Pregnancy and after child birth", + "text": "Mama mwenye ufuasi mbaya wa dawa za ARV wakati wa ujauzito na baada ya kujifungua", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "poor_art_adherence", @@ -88,7 +88,7 @@ }, { "name": "treatment_side_effects", - "text": "Treatment side effects during pregnancy and after child birth", + "text": "Madhira madogo madogo ya dawa wakati wa ujauzito na baada ya kujifungua", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "treatment_side_effects", @@ -97,7 +97,7 @@ }, { "name": "child_receive_dbs_test", - "text": "Child to receive DBS test", + "text": "Mtoto atafanyiwa kipimo cha DBS", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "child_receive_dbs_test", @@ -126,7 +126,7 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Problems", + "hint": "Tatizo nyingine", "type": "name" }, "meta_data": { @@ -134,7 +134,7 @@ "openmrs_entity_id": "problem_other", "openmrs_entity_parent": "problem" }, - "required_status": "true:Please specify other symptoms", + "required_status": "true:Tafadhali bainisha dalili nyingine", "subjects": "problem:map" }, { @@ -146,17 +146,17 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Choose referral facility", - "searchable": "Choose referral facility" + "text": "Chagua Kituo cha Afya cha kupeleka Rufaa", + "searchable": "Chagua Kituo cha Afya cha kupeleka Rufaa" }, "options": [], - "required_status": "yes:Please specify referral facility" + "required_status": "yes:Tafadhali bainisha Kituo cha Afya cha kupeleka Rufaa" }, { "name": "referral_appointment_date", "type": "datetime_picker", "properties": { - "hint": "Please select the appointment date", + "hint": "Tafadhali chagua tarehe ya miadi", "type": "date_picker", "display_format": "dd/MM/yyyy", "min_date": "today" @@ -166,7 +166,7 @@ "openmrs_entity_id": "referral_appointment_date", "openmrs_entity_parent": "" }, - "required_status": "true:Please specify the appointment date" + "required_status": "true:Tafadhali chagua tarehe ya miadi" } ] } From c0b28a21c38c02250b0816a734de78ae61dbbf35 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:29:55 +0300 Subject: [PATCH 345/915] Fixed checkbox fields --- .../assets/json.form-sw/all_clients_registration_form.json | 3 +++ .../all_clients_update_registration_info_form.json | 3 +++ .../src/nacp/assets/json.form-sw/anc_hv_counselling.json | 1 + .../src/nacp/assets/json.form-sw/anc_hv_danger_signs.json | 1 + .../src/nacp/assets/json.form-sw/anc_hv_observations.json | 1 + .../nacp/assets/json.form-sw/anc_hv_pregnancy_risk_form.json | 1 + .../src/nacp/assets/json.form-sw/anc_member_registration.json | 1 + .../json.form-sw/anc_partner_community_followup_feedback.json | 1 + .../src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json | 1 + .../src/nacp/assets/json.form-sw/child_enrollment.json | 1 + .../src/nacp/assets/json.form-sw/family_member_register.json | 3 +++ opensrp-chw/src/nacp/assets/json.form-sw/family_register.json | 3 +++ .../assets/json.form-sw/male_partner_registration_form.json | 3 +++ .../nacp/assets/json.form-sw/mother_champion_followup.json | 4 ++++ .../assets/json.form-sw/mother_champion_sbcc_sessions.json | 1 + opensrp-chw/src/nacp/assets/json.form-sw/pnc_counselling.json | 1 + .../src/nacp/assets/json.form-sw/pnc_family_planning.json | 1 + .../nacp/assets/json.form-sw/pnc_hv_observations_mother.json | 1 + .../nacp/assets/json.form/all_clients_registration_form.json | 3 +++ .../json.form/all_clients_update_registration_info_form.json | 3 +++ opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json | 1 + .../src/nacp/assets/json.form/anc_hv_danger_signs.json | 1 + .../src/nacp/assets/json.form/anc_hv_observations.json | 1 + .../src/nacp/assets/json.form/anc_hv_pregnancy_risk_form.json | 1 + .../src/nacp/assets/json.form/anc_member_registration.json | 1 + .../json.form/anc_partner_community_followup_feedback.json | 1 + .../src/nacp/assets/json.form/anc_pregnancy_outcome.json | 1 + opensrp-chw/src/nacp/assets/json.form/child_enrollment.json | 1 + .../src/nacp/assets/json.form/family_member_register.json | 3 +++ opensrp-chw/src/nacp/assets/json.form/family_register.json | 3 +++ .../nacp/assets/json.form/male_partner_registration_form.json | 3 +++ .../src/nacp/assets/json.form/mother_champion_followup.json | 4 ++++ .../nacp/assets/json.form/mother_champion_sbcc_sessions.json | 1 + opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json | 1 + .../src/nacp/assets/json.form/pnc_family_planning.json | 1 + .../src/nacp/assets/json.form/pnc_hv_observations_mother.json | 1 + 36 files changed, 62 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index ac59792ca2..2306efa7bf 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -457,6 +457,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -793,6 +794,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Aina ya ulemavu ", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -993,6 +995,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Community_Leader", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Kuna nafasi yoyote ya uongozi katika jamii?", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 8957051d6a..4760bfae59 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -304,6 +304,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -640,6 +641,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Aina ya ulemavu wa kimwili", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -840,6 +842,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Community_Leader", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Nafasi yoyote ya uongozi katika jamii?", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json index bbb8b62db1..4b2b14157d 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json @@ -55,6 +55,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "counselling_given", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Ushauri uliyotolewa kwa Mama na wanafamilia", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json index 4238d3dfe9..67cadc4520 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json @@ -55,6 +55,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "danger_signs_present", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Je, Mama ana dalili zozote za hatari?", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json index d1d8f37a21..21207cb2ae 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json @@ -82,6 +82,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "action_taken", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Hatua iliyochukuliwa", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_pregnancy_risk_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_pregnancy_risk_form.json index f72532d3b3..7ddd3d7b44 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_pregnancy_risk_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_pregnancy_risk_form.json @@ -55,6 +55,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "preg_risk", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Hatari ya ujauzito kwa mwanamke", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index 61cf7331ae..d970cd4a97 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -225,6 +225,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "delivery_method", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Je, umejifungua mtoto/watoto wako kwa njia ya kawaida au kwa njia ya upasuaji?", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json index e17a3cfee3..b362127f48 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json @@ -136,6 +136,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reason_for_not_attending_hf", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Sababu kwanini Mwenza amekataa kuja kituo cha Afya (Kliniki)", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json index e994fccc5f..ce764872b1 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json @@ -517,6 +517,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "vacc_birth", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Which vaccinations were given?", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json index 6c750d5466..190df355f1 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json @@ -400,6 +400,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Aina ya ulemavu wa kimwili", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json index 1399938f6f..4d5d5afa4c 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json @@ -350,6 +350,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -686,6 +687,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Aina ya ulemavu wa mwili", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -876,6 +878,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Community_Leader", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Kuna nafasi yoyote ya uongozi katika jamii?", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index 7526a3857f..42d35523ea 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -456,6 +456,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Je, ana kitambulisho chochote kati ya vifuatavyo?", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -786,6 +787,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Aina ya ulemavu wa mteja", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -932,6 +934,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Community_Leader", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Kuna nafasi yoyote ya uongozi katika jamii?", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json index dd9ad22d35..cf765e78b0 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json @@ -450,6 +450,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -786,6 +787,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Aina ya ulemavu", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -986,6 +988,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Community_Leader", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Kuna nafasi yoyote ya uongozi katika jamii?", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json index 27f3096829..dba91f180c 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json @@ -53,6 +53,7 @@ { "key": "type_of_service", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Aina ya Huduma", "openmrs_entity": "concept", "openmrs_entity_id": "type_of_service", @@ -121,6 +122,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "counselling_given", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Chagua aina ya ushauri uliotolewa", "options": [ { @@ -221,6 +223,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "referrals_issued_other_services", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Chagua rufaa aliyopewa mteja kwa ajili ya huduma nyingine", "options": [ { @@ -270,6 +273,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "referrals_completed_by_the_client", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na Mteja", "options": [ { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json index fa5c4cfe3a..6029ac36aa 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json @@ -99,6 +99,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "health_education_topic", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Mada iliyojadiliwa katika tukio la utoaji wa elimu kwa umma", "options": [ { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_counselling.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_counselling.json index 7b31620510..874314f5c2 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_counselling.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_counselling.json @@ -55,6 +55,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Ushauri uliyotolewa", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json index f08d8cb91c..39ef78bccc 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json @@ -80,6 +80,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Alishauriwa katika kipindi gani?", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json index 3374f90efa..7b782d6f8a 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json @@ -82,6 +82,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Hatua iliyochukuliwa", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index 1662efe7d2..ac4c2a2e17 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -463,6 +463,7 @@ "openmrs_entity_id": "id_avail", "type": "check_box", "label": "Do you have any of the following IDs?", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -799,6 +800,7 @@ "openmrs_entity_id": "type_of_disability", "type": "check_box", "label": "Type of physical disabilities", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -999,6 +1001,7 @@ "openmrs_entity_id": "Community_Leader", "type": "check_box", "label": "Any leadership role in the community?", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index 3cd4da31de..6dab35b401 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -310,6 +310,7 @@ "openmrs_entity_id": "id_avail", "type": "check_box", "label": "Do you have any of the following IDs?", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -646,6 +647,7 @@ "openmrs_entity_id": "type_of_disability", "type": "check_box", "label": "Type of physical disabilities", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -846,6 +848,7 @@ "openmrs_entity_id": "Community_Leader", "type": "check_box", "label": "Any leadership role in the community?", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json index 99046d4865..60665d8eaa 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json @@ -56,6 +56,7 @@ "openmrs_entity_id": "counselling_given", "type": "check_box", "label": "Counselling provided to the mother and family members ", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json index 086a5717f1..70627ae077 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json @@ -56,6 +56,7 @@ "openmrs_entity_id": "danger_signs_present", "type": "check_box", "label": "Does the mother have any danger signs?", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json index b588f4fe80..33199b90a9 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json @@ -82,6 +82,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "action_taken", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Action taken", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_pregnancy_risk_form.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_pregnancy_risk_form.json index fac30c092b..03627ae00b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_pregnancy_risk_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_pregnancy_risk_form.json @@ -55,6 +55,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "preg_risk", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Pregnancy risk for the woman ", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json index cd98469650..4f772665cc 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -226,6 +226,7 @@ "openmrs_entity_id": "delivery_method", "type": "check_box", "label": "Have you delivered your child(ren) vaginally or by cesarean section?", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "relevance": { diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json index 91b4526110..163828aa81 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json @@ -137,6 +137,7 @@ "openmrs_entity_id": "reason_for_not_attending_hf", "type": "check_box", "label": "Reason(s) why the partner did not agree to attend the HF", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json index 904a964236..5cdc2033b2 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json @@ -445,6 +445,7 @@ "openmrs_entity_id": "type_of_disability", "type": "check_box", "label": "Type of disability", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ diff --git a/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json b/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json index 16420bc3a6..8fc7d95d77 100644 --- a/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json @@ -401,6 +401,7 @@ "openmrs_entity_id": "type_of_disability", "type": "check_box", "label": "Type of physical disabilities", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ diff --git a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json index 132c3b3fbf..c3af1823c4 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json @@ -356,6 +356,7 @@ "openmrs_entity_id": "id_avail", "type": "check_box", "label": "Do you have any of the following IDs?", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -692,6 +693,7 @@ "openmrs_entity_id": "type_of_disability", "type": "check_box", "label": "Type of physical disabilities", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -858,6 +860,7 @@ "openmrs_entity_id": "Community_Leader", "type": "check_box", "label": "Any leadership role in the community?", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/nacp/assets/json.form/family_register.json b/opensrp-chw/src/nacp/assets/json.form/family_register.json index 3a082ebaba..fa8b45f352 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_register.json @@ -460,6 +460,7 @@ "openmrs_entity_id": "id_avail", "type": "check_box", "label": "Does he/she have any of the following IDs?", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -790,6 +791,7 @@ "openmrs_entity_id": "type_of_disability", "type": "check_box", "label": "Type of physical disabilities", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -936,6 +938,7 @@ "openmrs_entity_id": "Community_Leader", "type": "check_box", "label": "Any leadership role in the community?", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json index 46adfb0334..84204b83bb 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json @@ -450,6 +450,7 @@ "openmrs_entity_id": "id_avail", "type": "check_box", "label": "Do you have any of the following IDs?", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -786,6 +787,7 @@ "openmrs_entity_id": "type_of_disability", "type": "check_box", "label": "Type of disability", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -986,6 +988,7 @@ "openmrs_entity_id": "Community_Leader", "type": "check_box", "label": "Any leadership role in the community?", + "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json index 1fb63536f9..f42073fe22 100644 --- a/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json +++ b/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json @@ -54,6 +54,7 @@ "key": "type_of_service", "type": "check_box", "label": "Type of Service", + "combine_checkbox_option_values": "true", "openmrs_entity": "concept", "openmrs_entity_id": "type_of_service", "openmrs_entity_parent": "", @@ -121,6 +122,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "counselling_given", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Select the type of Counselling provided", "options": [ { @@ -221,6 +223,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "referrals_issued_other_services", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Pick Referrals Issued to the Client for Other Services", "options": [ { @@ -270,6 +273,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "referrals_completed_by_the_client", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Pick Referrals to other Services Completed by the Client", "options": [ { diff --git a/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json b/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json index ff7f61b4bc..382853e403 100644 --- a/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json +++ b/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json @@ -99,6 +99,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "health_education_topic", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "The Health Education Topic provided", "options": [ { diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json b/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json index 8152a973a4..2c65882d23 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json @@ -55,6 +55,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Counselling provided", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json b/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json index 4dd8f75ffe..8bf2eb34ca 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json @@ -80,6 +80,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "During what period was she counselled?", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json index fc45b38dca..9d6e4f9591 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json @@ -82,6 +82,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", + "combine_checkbox_option_values": "true", "label": "Action taken", "label_text_style": "normal", "text_color": "#C0C0C0", From c1e353a922db000af0e7b805b58646912047b664 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:48:34 +0300 Subject: [PATCH 346/915] Swahili translation for pregnancy outcome form --- .../json.form-sw/anc_pregnancy_outcome.json | 340 +++++++++++------- .../json.form/anc_pregnancy_outcome.json | 36 +- 2 files changed, 237 insertions(+), 139 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json index ce764872b1..d11f31ca66 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json @@ -49,7 +49,7 @@ "encounter_location": "" }, "step1": { - "title": "Pregnancy Outcome", + "title": "Matokeo ya Ujauzito", "fields": [ { "key": "relational_id", @@ -70,7 +70,7 @@ "options": [ { "key": "born_alive", - "text": "Mtoto alizaliwa akiwa hai", + "text": "Mtoto alizaliwa mzima", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "born_alive", @@ -78,7 +78,7 @@ }, { "key": "born_alive_died", - "text": "Mtoto alizaliwa akiwa hai, lakini akafa", + "text": "Mtoto alizaliwa hai, lakini akafariki baadaye", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "born_alive_died", @@ -86,7 +86,7 @@ }, { "key": "still_born", - "text": "Mtoto alizaliwa mfu", + "text": "Mtoto alizaliwa akiwa amekwisha fariki", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "still_born", @@ -94,7 +94,7 @@ }, { "key": "alive_with_problem", - "text": "Mtoto alizaliwa akiwa hai, lakini wana tatizo (yaani ulemavu, matatizo ya kupumua, n.k.)", + "text": "Mtoto alizaliwa hai, lakini aamekutwa na matatizo (i.e: ulemavu, matatizo ya kupumua)", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "alive_with_problem", @@ -102,7 +102,7 @@ }, { "key": "miscarriage", - "text": "Iliharibika", + "text": "Mimba iliharibika", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "miscarriage", @@ -120,12 +120,12 @@ "openmrs_entity": "concept", "openmrs_entity_id": "miscarriage_date", "type": "date_picker", - "hint": "Tarehe ya kuharibika kwa mimba", + "hint": "Tarehe ya mimba kuharibika", "expanded": false, "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhali ingiza tarehe ya kuharibika kwa mimba ya mwanamke" + "err": "Tafadhari jaza tarehe ambayo Mimba ya Mama iliharibika/ilitoka" }, "relevance": { "rules-engine": { @@ -141,12 +141,12 @@ "openmrs_entity": "concept", "openmrs_entity_id": "delivery_date", "type": "date_picker", - "hint": "Tarehe ya kujifungua", + "hint": "Tarehe ya Mama ya kujifungua", "expanded": false, "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhali ingiza tarehe ya kujifungua kwa mwanamke huyo" + "err": "Tafadhari ingiza tarehe ya kujifungua ya Mama" }, "relevance": { "rules-engine": { @@ -170,24 +170,21 @@ "openmrs_entity_id": "delivery_place", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Mahali ambapo mama alijifungulia", + "hint": "Mahali ambapo Mama alijifungulia", "values": [ - "Nyumbani", - "Katika kituo cha afya", - "Njiani kuelekea kituo cha afya", - "Nyingine" + "Amejifungua Njiani kabla ya kufika kwenye Kituo", + "Amejifungulia Nyumbani", + "Amejifungulia kwa Mkunga wa Jadi" ], "keys": [ + "Birth before Arrival (BBA)", "At home", - "At a health facility", - "On the way to the health facility", - "Other" + "Traditional birth attendant" ], "openmrs_choice_ids": { + "Birth before Arrival (BBA)": "Birth before Arrival (BBA)", "At home": "At home", - "At a health facility": "At a health facility", - "On the way to the health facility": "On the way to the health facility", - "Other": "Other" + "Traditional birth attendant": "Traditional birth attendant" }, "v_required": { "value": "true", @@ -224,7 +221,7 @@ "options": [ { "key": "gave_birth_alone", - "text": "Alijifungua nyumbani peke yake", + "text": "Alijifungua nyumbani akiwa peke yake", "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", @@ -240,7 +237,7 @@ }, { "key": "midwife_help", - "text": "Alijifungulia nyumbani kwa msaada wa mkunga wa jadi", + "text": "Alijifungua nyumbani akisaidiwa na mkunga wa jadi", "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", @@ -248,73 +245,10 @@ } ] }, - { - "key": "delivery_hf", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_hf", - "type": "native_radio", - "label": "Mama alijifungua katika kituo cha afya. Nani aliongozana na mama hadi kituo cha afya?", - "label_text_style": "bold", - "text_color": "#C0C0C0", - "v_required": { - "value": "true", - "err": "Tafadhali cchagua" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_pregnancy_outcome_relevance.yml" - } - } - }, - "options": [ - { - "key": "facility_family_member", - "text": "Alijifungua katika kituo cha afya, na alisindikizwa na wanafamilia.", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "facility_family_member" - }, - { - "key": "facility_midwife", - "text": "Alijifungua katika kituo cha afya, na alisindikizwa na mkunga wa jadi", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "facility_midwife" - }, - { - "key": "alone", - "text": "Alijifungua katika kituo cha afya, na alikuja peke yake", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "alone" - }, - { - "key": "other_pple", - "text": "Alijifungua katika kituo cha afya, na alisindikizwa na watu wengine", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_pple" - }, - { - "key": "other_chw", - "text": "Alijifungua katika kituo cha afya, na aliandamana na mfanyakazi wa afya ya jamii (CHW)", - "value": false, - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_chw" - } - ] - }, { "key": "baby_label", "type": "label", - "text": "BABY DETAILS", + "text": "Taarifa za Mtoto", "left_padding": "20dp", "right_padding": "20dp", "text_size": "7sp", @@ -340,12 +274,13 @@ { "key": "no_children_no", "type": "repeating_group", - "reference_edit_text_hint": "Number of children born alive", - "repeating_group_label": "Baby Details #", + "reference_edit_text_hint": "Idadi ya Wototo waliozaliwa", + "repeating_group_label": "Taarifa za Mtoto #", "openmrs_entity_parent": "", "openmrs_entity": "", "openmrs_entity_id": "", - "repeating_group_max": "10", + "repeating_group_max": "4", + "expand_on_text_change": "true", "relevance": { "rules-engine": { "ex-rules": { @@ -360,15 +295,15 @@ "openmrs_entity": "concept", "openmrs_entity_id": "", "type": "edit_text", - "hint": "Surname", + "hint": "Jina la ukoo", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Please enter a valid name" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali weka jina la ukoo" }, "v_required": { "value": "true", - "err": "Please enter the surname" + "err": "Tafadhali weka jina la ukoo" }, "relevance": { "rules-engine": { @@ -388,7 +323,7 @@ "options": [ { "key": "same_as_fam_name", - "text": "Surname same as family name", + "text": "Jina la mwisho ni sawa na jina la ukoo", "text_size": "18px", "value": "false" } @@ -400,15 +335,15 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "First name", + "hint": "Jina la kwanza", "edit_type": "name", "v_required": { "value": "true", - "err": "Please enter the first name" + "err": "Tafadhali weka jina la kwanza" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Please enter a valid name" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Ingiza jina sahihi" } }, { @@ -417,11 +352,15 @@ "openmrs_entity": "person", "openmrs_entity_id": "middle_name", "type": "edit_text", - "hint": "Middle name", + "hint": "Jina la kati", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Please enter a valid name" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Ingiza jina sahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka jina la kati" } }, { @@ -436,11 +375,11 @@ "openmrs_entity_parent": "", "openmrs_entity": "person", "openmrs_entity_id": "gender", - "type": "spinner", + "type": "Jinsi", "hint": "Sex", "values": [ - "Male", - "Female" + "Me", + "Ke" ], "keys": [ "Male", @@ -451,16 +390,40 @@ "err": "Gender required" } }, + { + "key": "weight", + "type": "edit_text", + "hint": "Uzito (KG)", + "openmrs_entity": "concept", + "openmrs_entity_id": "weight", + "openmrs_entity_parent": "", + "v_numeric": { + "value": "true", + "err": "Tafadhali ingiza uzito" + }, + "v_min": { + "value": "1.5", + "err": "Uzito lazima uwe sawasawa au zaidi ya 1.5 (KG)" + }, + "v_max": { + "value": "6", + "err": "Uzito lazima uwe sawasawa au chini ya 6 (KG)" + }, + "v_required": { + "value": true, + "err": "Tafadhali ingiza uzito" + } + }, { "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "disabilities", "type": "spinner", - "hint": "Physical disabilities", + "hint": "Ulemavu wa kimwili", "values": [ - "Yes", - "No" + "Ndio", + "Hapana" ], "keys": [ "Yes", @@ -472,7 +435,7 @@ }, "v_required": { "value": "true", - "err": "Required" + "err": "Tafadhali chagua moja" } }, { @@ -480,9 +443,69 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "type_of_disability", - "type": "edit_text", - "hint": "Type of physical disabilities", - "edit_type": "name", + "type": "check_box", + "label": "Aina ya ulemavu wa kimwili", + "combine_checkbox_option_values": "true", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "physical_impairments", + "text": "Ulemavu wa Kimwili na utembeaji", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "physical_impairments" + }, + { + "key": "spinal_cord_disability", + "text": "Ulemavu wa uti wa mgongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "spinal_cord_disability" + }, + { + "key": "brain_disability", + "text": "Majeraha ya kichwa - Ulemavu wa Ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "brain_disability" + }, + { + "key": "vision_disability", + "text": "Ulemavu wa Maono", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "vision_disability" + }, + { + "key": "hearing_disability", + "text": "Ulemavu wa Kusikia ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hearing_disability" + }, + { + "key": "learning_disabilities", + "text": "Ulemavu wa Utambuzi au Kujifunza", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "learning_disabilities" + }, + { + "key": "psychological_disorders", + "text": "Matatizo ya Kisaikolojia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "psychological_disorders" + }, + { + "key": "invisible_disabilities", + "text": "Ulemavu usioonekana", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "invisible_disabilities" + } + ], "relevance": { "rules-engine": { "ex-rules": { @@ -497,10 +520,10 @@ "openmrs_entity": "concept", "openmrs_entity_id": "early_bf_1hr", "type": "spinner", - "hint": "Early initiation of breastfeeding (1 hr)?", + "hint": "Kuanza kunyonya/kunyonyeshwa mapema (Saa 1)?", "values": [ - "Yes", - "No" + "Ndio", + "Hapana" ], "keys": [ "Yes", @@ -512,44 +535,89 @@ } }, { - "key": "vacc_birth", + "key": "child_bcg_vaccination", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "vacc_birth", - "type": "check_box", - "combine_checkbox_option_values": "true", - "label": "Which vaccinations were given?", + "openmrs_entity_id": "child_bcg_vaccination", + "type": "native_radio", + "label": "Je, Mtoto amepata chanjo ya BCG?", "label_text_style": "normal", "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], "options": [ { - "key": "chk_none", - "text": "None", - "value": false, + "key": "yes", + "text": "Ndio", "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "yes" }, { - "key": "chk_opv_0", - "text": "OPV 0", - "value": false, + "key": "no", + "text": "Hapana", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhari chagua mojawapo" + } + }, + { + "key": "prompt_for_bcg_vacc_not_provided", + "type": "toaster_notes", + "text": "Mpatie Mtoto chanjo ya BCG wakati wa udhulio la kwanza la PNC, au mara tuu chanjo ya BCG ikiwepo. BCG haiwezi kutolewa kwa Mtoto ambaye amezidi miezi 12", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:child_bcg_vaccination": { + "type": "string", + "ex": "equalTo(., \"no\")" + } + } + }, + { + "key": "child_opv0_vaccination", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "child_opv0_vaccination", + "type": "native_radio", + "label": "Je, Mtoto amepata chanjo ya OPV0?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "yes", + "text": "Ndio", "openmrs_entity": "concept", - "openmrs_entity_id": "chk_opv_0" + "openmrs_entity_id": "yes" }, { - "key": "chk_bcg", - "text": "BCG", - "value": false, + "key": "no", + "text": "Hapana", "openmrs_entity": "concept", - "openmrs_entity_id": "chk_bcg" + "openmrs_entity_id": "no" } ], "v_required": { "value": "true", - "err": "vaccinations given required" + "err": "Tafadhari chagua mojwapo" + } + }, + { + "key": "prompt_for_opv0_vacc_not_provided", + "type": "toaster_notes", + "text": "Mtoto amepoteza nafasi ya kupata OPV-0, Mpatie OPV-1 katika udhulio la kwanza la PNC", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:child_opv0_vaccination": { + "type": "string", + "ex": "equalTo(., \"no\")" + } } } ] diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json index 5cdc2033b2..a1422f5f0e 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json @@ -298,7 +298,7 @@ "hint": "Surname", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "v_required": { @@ -342,7 +342,7 @@ "err": "Please enter the first name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" } }, @@ -355,7 +355,7 @@ "hint": "Middle name", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" }, "v_required": { @@ -562,6 +562,21 @@ "err": "Please select one" } }, + { + "key": "prompt_for_bcg_vacc_not_provided", + "type": "toaster_notes", + "text": "Provide BCG vaccination to the infant at the first Postnatal care visit or as soon as the BCG vaccine will be available. BCG should not be provided beyond 12-months of infant age", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:child_bcg_vaccination": { + "type": "string", + "ex": "equalTo(., \"no\")" + } + } + }, { "key": "child_opv0_vaccination", "openmrs_entity_parent": "", @@ -589,6 +604,21 @@ "value": "true", "err": "Please select one" } + }, + { + "key": "prompt_for_opv0_vacc_not_provided", + "type": "toaster_notes", + "text": "Missed opportunity for OPV-0, provide OPV-1 at first postnatal care visit", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:child_opv0_vaccination": { + "type": "string", + "ex": "equalTo(., \"no\")" + } + } } ] } From 489ce89433bd5bc45f8a9ae6fd6fea6892be1fd3 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 31 Mar 2022 14:19:16 +0300 Subject: [PATCH 347/915] fixed: sbcc register to list conducted sessions --- .../MotherChampionRegisterActivity.java | 10 +- .../chw/adapter/SbccRegisterAdapter.java | 65 ++++++ .../org/smartregister/chw/dao/ChwSbccDao.java | 31 +++ .../chw/fragment/SbccRegisterFragment.java | 193 ++++++++++++++++++ ...otherChampionBottomNavigationListener.java | 23 ++- .../chw/model/SbccRegisterFragmentModel.java | 32 +++ .../chw/model/SbccSessionModel.java | 51 +++++ .../SbccRegisterFragmentPresenter.java | 21 ++ .../MotherChampionRegisterProvider.java | 4 +- .../chw/provider/SbccRegisterProvider.java | 49 +++++ .../org/smartregister/chw/util/Constants.java | 5 + .../src/main/res/drawable/ic_add_white_24.xml | 5 + .../res/layout/sbcc_session_card_view.xml | 108 ++++++++++ opensrp-chw/src/main/res/values/strings.xml | 3 + .../nacp/assets/ec_client_classification.json | 7 + .../src/nacp/assets/ec_client_fields.json | 51 +++++ .../mother_champion_sbcc_sessions.json | 14 ++ .../mother_champion_sbcc_sessions.json | 14 ++ 18 files changed, 672 insertions(+), 14 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/adapter/SbccRegisterAdapter.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwSbccDao.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/SbccRegisterFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/SbccRegisterFragmentModel.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/SbccSessionModel.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/SbccRegisterFragmentPresenter.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/provider/SbccRegisterProvider.java create mode 100644 opensrp-chw/src/main/res/drawable/ic_add_white_24.xml create mode 100644 opensrp-chw/src/main/res/layout/sbcc_session_card_view.xml diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionRegisterActivity.java index 1ff94db907..fd5e1955da 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionRegisterActivity.java @@ -2,6 +2,7 @@ import android.app.Activity; +import android.content.Intent; import android.os.Bundle; import com.google.android.material.bottomnavigation.LabelVisibilityMode; @@ -13,6 +14,7 @@ import org.smartregister.chw.fragment.AncPartnerFollowupRegisterFragment; import org.smartregister.chw.fragment.MotherChampionRegisterFragment; import org.smartregister.chw.fragment.PmtctFollowupRegisterFragment; +import org.smartregister.chw.fragment.SbccRegisterFragment; import org.smartregister.chw.listener.ChwMotherChampionBottomNavigationListener; import org.smartregister.helper.BottomNavigationHelper; import org.smartregister.listener.BottomNavigationListener; @@ -62,7 +64,8 @@ public BottomNavigationListener getBottomNavigation(Activity activity) { protected Fragment[] getOtherFragments() { return new Fragment[]{ new AncPartnerFollowupRegisterFragment(), - new PmtctFollowupRegisterFragment() + new PmtctFollowupRegisterFragment(), + new SbccRegisterFragment() }; } @@ -81,4 +84,9 @@ protected void onResumption() { } } + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + finish(); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/adapter/SbccRegisterAdapter.java b/opensrp-chw/src/main/java/org/smartregister/chw/adapter/SbccRegisterAdapter.java new file mode 100644 index 0000000000..4e9c521ea7 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/adapter/SbccRegisterAdapter.java @@ -0,0 +1,65 @@ +package org.smartregister.chw.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import org.smartregister.chw.R; +import org.smartregister.chw.model.SbccSessionModel; + +import java.util.List; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +public class SbccRegisterAdapter extends RecyclerView.Adapter { + private static Context context; + private final List sbccSessionModels; + + + public SbccRegisterAdapter(List sbccSessionModels, Context context) { + this.sbccSessionModels = sbccSessionModels; + SbccRegisterAdapter.context = context; + } + + @NonNull + @Override + public SbccViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) { + View followupLayout = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.sbcc_session_card_view, viewGroup, false); + return new SbccViewHolder(followupLayout); + } + + @Override + public void onBindViewHolder(@NonNull SbccViewHolder holder, int position) { + SbccSessionModel sbccSessionModel = sbccSessionModels.get(position); + holder.bindData(sbccSessionModel); + } + + + @Override + public int getItemCount() { + return sbccSessionModels.size(); + } + + protected static class SbccViewHolder extends RecyclerView.ViewHolder { + public TextView sbccSessionDate; + public TextView sbccSessionParticipants; + public TextView sbccSessionLocation; + + public SbccViewHolder(@NonNull View itemView) { + super(itemView); + } + + public void bindData(SbccSessionModel sbccSessionModel) { + sbccSessionDate = itemView.findViewById(R.id.sbcc_session_date); + sbccSessionParticipants = itemView.findViewById(R.id.sbcc_session_participants); + sbccSessionLocation = itemView.findViewById(R.id.sbcc_session_location); + + sbccSessionDate.setText(context.getString(R.string.sbcc_session_date, sbccSessionModel.getSessionDate())); + sbccSessionParticipants.setText(context.getString(R.string.sbcc_participants, sbccSessionModel.getSessionParticipants())); + sbccSessionLocation.setText(context.getString(R.string.sbcc_location, sbccSessionModel.getSessionLocation())); + } + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwSbccDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwSbccDao.java new file mode 100644 index 0000000000..b4e3196779 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwSbccDao.java @@ -0,0 +1,31 @@ +package org.smartregister.chw.dao; + +import org.smartregister.chw.core.dao.SbccDao; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.model.SbccSessionModel; +import org.smartregister.chw.util.Constants; +import org.smartregister.family.util.DBConstants; + +import java.util.List; + +public class ChwSbccDao extends SbccDao { + + public static List getSbccSessions() { + String sql = "SELECT * FROM " + Constants.TableName.SBCC; + + DataMap dataMap = cursor -> { + SbccSessionModel sbccSessionModel = new SbccSessionModel(); + sbccSessionModel.setSessionId(cursor.getString(cursor.getColumnIndex(DBConstants.KEY.BASE_ENTITY_ID))); + sbccSessionModel.setSessionParticipants(cursor.getString(cursor.getColumnIndex(CoreConstants.FORM_CONSTANTS.FORM_SUBMISSION_FIELD.SBCC_PARTICIPANTS_NUMBER))); + sbccSessionModel.setSessionLocation(cursor.getString(cursor.getColumnIndex(CoreConstants.FORM_CONSTANTS.FORM_SUBMISSION_FIELD.SBCC_LOCATION_TYPE))); + sbccSessionModel.setSessionDate(cursor.getString(cursor.getColumnIndex(CoreConstants.FORM_CONSTANTS.FORM_SUBMISSION_FIELD.SBCC_DATE))); + + return sbccSessionModel; + }; + + List res = readData(sql, dataMap); + if (res == null || res.size() == 0) + return null; + return res; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/SbccRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/SbccRegisterFragment.java new file mode 100644 index 0000000000..98d39f9b3f --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/SbccRegisterFragment.java @@ -0,0 +1,193 @@ +package org.smartregister.chw.fragment; + +import android.database.Cursor; +import android.os.Bundle; + +import com.vijay.jsonwizard.utils.FormUtils; + +import org.apache.commons.lang3.StringUtils; +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.adapter.SbccRegisterAdapter; +import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.dao.ChwSbccDao; +import org.smartregister.chw.model.SbccRegisterFragmentModel; +import org.smartregister.chw.model.SbccSessionModel; +import org.smartregister.chw.pmtct.fragment.BasePmtctRegisterFragment; +import org.smartregister.chw.presenter.SbccRegisterFragmentPresenter; +import org.smartregister.chw.provider.SbccRegisterProvider; +import org.smartregister.configurableviews.model.View; +import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; +import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.view.activity.BaseRegisterActivity; +import org.smartregister.view.customcontrols.CustomFontTextView; + +import java.util.List; +import java.util.Set; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.widget.Toolbar; +import timber.log.Timber; + +import static org.smartregister.util.JsonFormUtils.ENTITY_ID; +import static org.smartregister.util.JsonFormUtils.generateRandomUUIDString; + +public class SbccRegisterFragment extends BasePmtctRegisterFragment { + + private android.view.View view; + + @Override + public void initializeAdapter(Set visibleColumns) { + SbccRegisterProvider sbccRegisterProvider = new SbccRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); + List sbccSessionModels = ChwSbccDao.getSbccSessions(); + clientAdapter = new RecyclerViewPaginatedAdapter(null, sbccRegisterProvider, null); + clientAdapter.setTotalcount(0); + clientAdapter.setCurrentlimit(20); + clientsView.setAdapter(new SbccRegisterAdapter(sbccSessionModels, requireActivity())); + } + + @Override + public void setupViews(android.view.View view) { + initializePresenter(); + super.setupViews(view); + this.view = view; + + Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); + toolbar.setContentInsetsAbsolute(0, 0); + toolbar.setContentInsetsRelative(0, 0); + toolbar.setContentInsetStartWithNavigation(0); + + try { + NavigationMenu.getInstance(getActivity(), null, toolbar); + } catch (NullPointerException e) { + Timber.e(e); + } + android.view.View navbarContainer = view.findViewById(org.smartregister.chw.core.R.id.register_nav_bar_container); + navbarContainer.setFocusable(false); + + CustomFontTextView titleView = view.findViewById(org.smartregister.chw.core.R.id.txt_title_label); + if (titleView != null) { + titleView.setText(getString(R.string.sbcc)); + titleView.setPadding(0, titleView.getTop(), titleView.getPaddingRight(), titleView.getPaddingBottom()); + } + + android.view.View searchBarLayout = view.findViewById(org.smartregister.chw.core.R.id.search_bar_layout); + searchBarLayout.setVisibility(android.view.View.GONE); + + android.view.View topLeftLayout = view.findViewById(org.smartregister.chw.core.R.id.top_left_layout); + topLeftLayout.setVisibility(android.view.View.GONE); + + android.view.View topRightLayout = view.findViewById(org.smartregister.chw.core.R.id.top_right_layout); + topRightLayout.setVisibility(android.view.View.VISIBLE); + + android.view.View sortFilterBarLayout = view.findViewById(org.smartregister.chw.core.R.id.register_sort_filter_bar_layout); + sortFilterBarLayout.setVisibility(android.view.View.GONE); + + android.view.View filterSortLayout = view.findViewById(org.smartregister.chw.core.R.id.filter_sort_layout); + filterSortLayout.setVisibility(android.view.View.GONE); + + android.view.View dueOnlyLayout = view.findViewById(org.smartregister.chw.core.R.id.due_only_layout); + dueOnlyLayout.setVisibility(android.view.View.GONE); + dueOnlyLayout.setOnClickListener(registerActionHandler); + if (getSearchView() != null) { + getSearchView().setVisibility(android.view.View.GONE); + } + } + + + @Override + protected void initializePresenter() { + if (getActivity() == null) { + return; + } + String viewConfigurationIdentifier = null; + try { + viewConfigurationIdentifier = ((BaseRegisterActivity) getActivity()).getViewIdentifiers().get(0); + } catch (NullPointerException e) { + Timber.e(e); + } + presenter = new SbccRegisterFragmentPresenter(this, new SbccRegisterFragmentModel(), viewConfigurationIdentifier); + } + + @Override + public void onViewCreated(@NonNull android.view.View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + clientsView.getAdapter().notifyDataSetChanged(); + } + + + @Override + public void onResume() { + super.onResume(); + + Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); + toolbar.setContentInsetsAbsolute(0, 0); + toolbar.setContentInsetsRelative(0, 0); + toolbar.setContentInsetStartWithNavigation(0); + NavigationMenu.getInstance(getActivity(), null, toolbar); + clientsView.getAdapter().notifyDataSetChanged(); + } + + @Override + public void countExecute() { + Cursor c = null; + try { + + String query = "select count(*) from " + presenter().getMainTable() + " where " + presenter().getMainCondition(); + + if (StringUtils.isNotBlank(filters)) { + query = query + " and ( " + filters + " ) "; + } + + + c = commonRepository().rawCustomQueryForAdapter(query); + c.moveToFirst(); + clientAdapter.setTotalcount(c.getInt(0)); + Timber.v("total count here %s", clientAdapter.getTotalcount()); + + clientAdapter.setCurrentlimit(20); + clientAdapter.setCurrentoffset(0); + + } catch (Exception e) { + Timber.e(e); + } finally { + if (c != null) { + c.close(); + } + } + } + + + @Override + protected void openProfile(String baseEntityId) { + //implement when needed + } + + + @Override + protected void refreshSyncProgressSpinner() { + if (syncProgressBar != null) { + syncProgressBar.setVisibility(android.view.View.GONE); + } + if (syncButton != null) { + syncButton.setVisibility(android.view.View.VISIBLE); + syncButton.setPadding(0, 0, 10, 0); + syncButton.setImageDrawable(context().getDrawable(R.drawable.ic_add_white_24)); + syncButton.setOnClickListener(view -> { + JSONObject form; + try { + form = (new FormUtils()).getFormJsonFromRepositoryOrAssets(requireActivity(), org.smartregister.chw.util.Constants.JsonForm.getMotherChampionSbccForm()); + if (form != null) { + String randomId = generateRandomUUIDString(); + form.put(ENTITY_ID, randomId); + requireActivity().startActivityForResult(org.smartregister.chw.core.utils.FormUtils.getStartFormActivity(form, requireActivity().getString(R.string.sbcc), requireActivity()), JsonFormUtils.REQUEST_CODE_GET_JSON); + } + } catch (JSONException e) { + Timber.e(e); + } + }); + } + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java b/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java index b79a8ea38e..66005c1e07 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/listener/ChwMotherChampionBottomNavigationListener.java @@ -40,17 +40,18 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) { baseRegisterActivity.switchToFragment(2); return true; } else if (item.getItemId() == R.id.action_sbcc) { - JSONObject form; - try { - form = (new FormUtils()).getFormJsonFromRepositoryOrAssets(baseRegisterActivity, org.smartregister.chw.util.Constants.JsonForm.getMotherChampionSbccForm()); - if (form != null) { - String randomId = generateRandomUUIDString(); - form.put(ENTITY_ID,randomId); - baseRegisterActivity.startActivityForResult(org.smartregister.chw.core.utils.FormUtils.getStartFormActivity(form, baseRegisterActivity.getString(R.string.sbcc), baseRegisterActivity), JsonFormUtils.REQUEST_CODE_GET_JSON); - } - } catch (JSONException e) { - Timber.e(e); - } +// JSONObject form; +// try { +// form = (new FormUtils()).getFormJsonFromRepositoryOrAssets(baseRegisterActivity, org.smartregister.chw.util.Constants.JsonForm.getMotherChampionSbccForm()); +// if (form != null) { +// String randomId = generateRandomUUIDString(); +// form.put(ENTITY_ID,randomId); +// baseRegisterActivity.startActivityForResult(org.smartregister.chw.core.utils.FormUtils.getStartFormActivity(form, baseRegisterActivity.getString(R.string.sbcc), baseRegisterActivity), JsonFormUtils.REQUEST_CODE_GET_JSON); +// } +// } catch (JSONException e) { +// Timber.e(e); +// } + baseRegisterActivity.switchToFragment(3); return true; } else return super.onNavigationItemSelected(item); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/SbccRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/SbccRegisterFragmentModel.java new file mode 100644 index 0000000000..0d69314788 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/SbccRegisterFragmentModel.java @@ -0,0 +1,32 @@ +package org.smartregister.chw.model; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.core.utils.ChildDBConstants; +import org.smartregister.chw.pmtct.model.BasePmtctRegisterFragmentModel; +import org.smartregister.chw.util.Constants; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.family.util.DBConstants; + +import java.util.HashSet; +import java.util.Set; + +import androidx.annotation.NonNull; + +public class SbccRegisterFragmentModel extends BasePmtctRegisterFragmentModel { + + @NonNull + @Override + public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { + SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); + return queryBuilder.mainCondition(mainCondition); + } + + @Override + @NotNull + public String[] mainColumns(String tableName) { + Set columnList = new HashSet<>(); + + return columnList.toArray(new String[columnList.size()]); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/SbccSessionModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/SbccSessionModel.java new file mode 100644 index 0000000000..b11efc7077 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/SbccSessionModel.java @@ -0,0 +1,51 @@ +package org.smartregister.chw.model; + +public class SbccSessionModel { + private String sessionDate; + private String sessionLocation; + private String sessionId; + + public String getSessionParticipants() { + return sessionParticipants; + } + + public void setSessionParticipants(String sessionParticipants) { + this.sessionParticipants = sessionParticipants; + } + + private String sessionParticipants; + + public SbccSessionModel() { + } + + public SbccSessionModel(String sessionDate, String sessionLocation, String sessionId) { + this.sessionDate = sessionDate; + this.sessionLocation = sessionLocation; + this.sessionId = sessionId; + } + + public String getSessionDate() { + return sessionDate; + } + + + public void setSessionDate(String sessionDate) { + this.sessionDate = sessionDate; + } + + public String getSessionLocation() { + return sessionLocation; + } + + public void setSessionLocation(String sessionLocation) { + this.sessionLocation = sessionLocation; + } + + public String getSessionId() { + return sessionId; + } + + public void setSessionId(String sessionId) { + this.sessionId = sessionId; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/SbccRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/SbccRegisterFragmentPresenter.java new file mode 100644 index 0000000000..4eb9688113 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/SbccRegisterFragmentPresenter.java @@ -0,0 +1,21 @@ +package org.smartregister.chw.presenter; + +import org.smartregister.chw.pmtct.contract.PmtctRegisterFragmentContract; +import org.smartregister.chw.pmtct.presenter.BasePmtctRegisterFragmentPresenter; +import org.smartregister.chw.util.Constants; + +public class SbccRegisterFragmentPresenter extends BasePmtctRegisterFragmentPresenter { + public SbccRegisterFragmentPresenter(PmtctRegisterFragmentContract.View view, PmtctRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { + super(view, model, viewConfigurationIdentifier); + } + + @Override + public String getMainTable() { + return Constants.TableName.SBCC; + } + + @Override + public String getMainCondition() { + return Constants.TableName.SBCC + "." + "is_closed is 0"; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/MotherChampionRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/MotherChampionRegisterProvider.java index bdcccc5429..5edddddb6c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/provider/MotherChampionRegisterProvider.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/MotherChampionRegisterProvider.java @@ -4,12 +4,12 @@ import android.database.Cursor; import android.view.View; -import org.smartregister.chw.core.provider.CorePmtctRegisterProvider; +import org.smartregister.provider.PmtctRegisterProvider; import org.smartregister.view.contract.SmartRegisterClient; import java.util.Set; -public class MotherChampionRegisterProvider extends CorePmtctRegisterProvider { +public class MotherChampionRegisterProvider extends PmtctRegisterProvider { public MotherChampionRegisterProvider(Context context, View.OnClickListener paginationClickListener, View.OnClickListener onClickListener, Set visibleColumns) { super(context, paginationClickListener, onClickListener, visibleColumns); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/SbccRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/SbccRegisterProvider.java new file mode 100644 index 0000000000..77a4471d70 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/SbccRegisterProvider.java @@ -0,0 +1,49 @@ +package org.smartregister.chw.provider; + +import android.content.Context; +import android.database.Cursor; +import android.view.View; + +import org.smartregister.chw.util.Constants; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.provider.HvlResultsViewProvider; +import org.smartregister.util.Utils; +import org.smartregister.view.contract.SmartRegisterClient; + +import java.util.Set; + +import timber.log.Timber; + +public class SbccRegisterProvider extends HvlResultsViewProvider { + private Set visibleColumns; + + public SbccRegisterProvider(Context context, View.OnClickListener paginationClickListener, View.OnClickListener onClickListener, java.util.Set visibleColumns) { + super(context, paginationClickListener, onClickListener, visibleColumns); + this.visibleColumns = visibleColumns; + } + + public void getView(Cursor cursor, SmartRegisterClient smartRegisterClient, RegisterViewHolder registerViewHolder) { ; + if (visibleColumns.isEmpty()) { + populatePatientColumn(registerViewHolder); + } + } + + private void populatePatientColumn(final RegisterViewHolder viewHolder) { + try { + +// String sampleId = Utils.getValue(pc.getColumnmaps(), Constants.DBConstants.SBCC_DATE, false); +// String collectionDate = Utils.getValue(pc.getColumnmaps(), Constants.DBConstants.SBCC_DATE, false); + + + + viewHolder.hvlWrapper.setVisibility(View.GONE); + viewHolder.dueWrapper.setVisibility(View.VISIBLE); + + // viewHolder.sampleId.setText(sampleId); + // viewHolder.collectionDate.setText(collectionDate); + + } catch (Exception e) { + Timber.e(e); + } + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index 1f62005683..52c6a5af3c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -110,6 +110,11 @@ public static final class ActionList { public static class TableName { public static final String MOTHER_CHAMPION_FOLLOWUP = "ec_mother_champion_followup"; + public static final String SBCC = "ec_sbcc"; + } + + public static class DBConstants{ + public static final String SBCC_DATE = "sbcc_date"; } public interface PmtctFollowupFeedbackConstants { diff --git a/opensrp-chw/src/main/res/drawable/ic_add_white_24.xml b/opensrp-chw/src/main/res/drawable/ic_add_white_24.xml new file mode 100644 index 0000000000..70046c48fe --- /dev/null +++ b/opensrp-chw/src/main/res/drawable/ic_add_white_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/opensrp-chw/src/main/res/layout/sbcc_session_card_view.xml b/opensrp-chw/src/main/res/layout/sbcc_session_card_view.xml new file mode 100644 index 0000000000..abe2adb171 --- /dev/null +++ b/opensrp-chw/src/main/res/layout/sbcc_session_card_view.xml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index d690579a0c..d0655ece28 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -413,6 +413,9 @@ Child lost to followup Child Missed appointment Child : %s + Location: %s + Participants: %s + Date: %s diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index 777c7f2494..a4c3fee01e 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -514,6 +514,13 @@ "creates_case": [ "ec_pmtct_community_followup" ] + }, + { + "field": "eventType", + "field_value": "Mother Champion SBCC Sessions", + "creates_case": [ + "ec_sbcc" + ] } ] } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 8b9e7145ed..15533c2600 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -3786,6 +3786,57 @@ } } ] + }, + { + "name": "ec_sbcc", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "sbcc_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "sbcc_date" + } + }, + { + "column_name": "location_type", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "location_type" + } + }, + { + "column_name": "participants_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "participants_number" + } + } + ] } ] } \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json index 6029ac36aa..1c4a6aa4c2 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json @@ -49,6 +49,20 @@ "step1": { "title": "SBCC Session", "fields": [ + { + "key": "sbcc_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sbcc_date", + "type": "date_picker", + "hint": "Chagua tarehe ya tukio hili", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali jaza tarehe ya tukio" + } + }, { "key": "location_type", "type": "native_radio", diff --git a/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json b/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json index 382853e403..f24374255d 100644 --- a/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json +++ b/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json @@ -49,6 +49,20 @@ "step1": { "title": "SBCC Session", "fields": [ + { + "key": "sbcc_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sbcc_date", + "type": "date_picker", + "hint": "Date of the Session", + "expanded": false, + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please select a date" + } + }, { "key": "location_type", "type": "native_radio", From 3b94059324d74a775ec595973a9b54a729e8333a Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 31 Mar 2022 14:27:04 +0300 Subject: [PATCH 348/915] bumped: core version --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 88cdf9472a..a71733f571 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -320,7 +320,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.30.7-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.30.8-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From 6ca4bc574d3e42a963561cbcb9b32a518f8e2213 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 6 Apr 2022 11:17:13 +0300 Subject: [PATCH 349/915] Fixed texts in cbhs followup forms --- .../src/nacp/assets/json.form/female_hiv_followup_visit.json | 2 +- .../female_hiv_followup_visit_for_clients_with_ctc_numbers.json | 2 +- .../src/nacp/assets/json.form/male_hiv_followup_visit.json | 2 +- .../male_hiv_followup_visit_for_clients_with_ctc_numbers.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json index c983efcafb..aeaa6d9db4 100644 --- a/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json @@ -61,7 +61,7 @@ "name": "registration_or_followup_status", "type": "spinner", "properties": { - "text": "Registration/Followup status" + "text": "Followup status" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index da2c3c0648..439a1f9c71 100644 --- a/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -61,7 +61,7 @@ "name": "registration_or_followup_status", "type": "spinner", "properties": { - "text": "Registration/Followup status" + "text": "Followup status" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json index 889a28a641..0c1984b1f5 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json @@ -61,7 +61,7 @@ "name": "registration_or_followup_status", "type": "spinner", "properties": { - "text": "Registration/Followup status" + "text": "Followup status" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 421728c96a..f46ea8c2af 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -61,7 +61,7 @@ "name": "registration_or_followup_status", "type": "spinner", "properties": { - "text": "Registration/Followup status" + "text": "Followup status" }, "meta_data": { "openmrs_entity": "concept", From ff08e733bccb44f8f0654d7d64e0169379afc884 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 6 Apr 2022 11:18:32 +0300 Subject: [PATCH 350/915] Fixed texts in swahili cbhs followup forms --- .../src/nacp/assets/json.form-sw/female_hiv_followup_visit.json | 2 +- .../female_hiv_followup_visit_for_clients_with_ctc_numbers.json | 2 +- .../src/nacp/assets/json.form-sw/male_hiv_followup_visit.json | 2 +- .../male_hiv_followup_visit_for_clients_with_ctc_numbers.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json index e5b4d1951f..aef657c335 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json @@ -61,7 +61,7 @@ "name": "registration_or_followup_status", "type": "spinner", "properties": { - "text": "Hali ya usajili/ ufuatiliaji" + "text": "Hali ya ufuatiliaji" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index e18ded93ce..d7d762413e 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -61,7 +61,7 @@ "name": "registration_or_followup_status", "type": "spinner", "properties": { - "text": "Hali ya usajili/ ufuatiliaji" + "text": "Hali ya ufuatiliaji" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json index 7aae72c322..006186caee 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json @@ -61,7 +61,7 @@ "name": "registration_or_followup_status", "type": "spinner", "properties": { - "text": "Hali ya usajili/ ufuatiliaji" + "text": "Hali ya ufuatiliaji" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index e1c7c0b213..0387dd56b1 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -61,7 +61,7 @@ "name": "registration_or_followup_status", "type": "spinner", "properties": { - "text": "Hali ya usajili/ ufuatiliaji" + "text": "Hali ya ufuatiliaji" }, "meta_data": { "openmrs_entity": "concept", From 3b57d4701b97c0211674953b6a6e2d7e58f58dcd Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 13 Apr 2022 15:35:47 +0300 Subject: [PATCH 351/915] fix: adapter being null on empty sbcc sessions --- .../chw/fragment/SbccRegisterFragment.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/SbccRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/SbccRegisterFragment.java index 98d39f9b3f..bb25e14a23 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/SbccRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/SbccRegisterFragment.java @@ -45,7 +45,9 @@ public void initializeAdapter(Set visibleColumns) { clientAdapter = new RecyclerViewPaginatedAdapter(null, sbccRegisterProvider, null); clientAdapter.setTotalcount(0); clientAdapter.setCurrentlimit(20); - clientsView.setAdapter(new SbccRegisterAdapter(sbccSessionModels, requireActivity())); + if (sbccSessionModels != null && !sbccSessionModels.isEmpty()) { + clientsView.setAdapter(new SbccRegisterAdapter(sbccSessionModels, requireActivity())); + } } @Override @@ -114,7 +116,9 @@ protected void initializePresenter() { @Override public void onViewCreated(@NonNull android.view.View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - clientsView.getAdapter().notifyDataSetChanged(); + if (clientsView.getAdapter() != null) { + clientsView.getAdapter().notifyDataSetChanged(); + } } @@ -127,7 +131,9 @@ public void onResume() { toolbar.setContentInsetsRelative(0, 0); toolbar.setContentInsetStartWithNavigation(0); NavigationMenu.getInstance(getActivity(), null, toolbar); - clientsView.getAdapter().notifyDataSetChanged(); + if (clientsView.getAdapter() != null) { + clientsView.getAdapter().notifyDataSetChanged(); + } } @Override From 5d97a98d4cde90ddc98e8e76c9a04ddab20c54ab Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 14 Apr 2022 12:02:09 +0300 Subject: [PATCH 352/915] Fixing ID fields edit type to number --- .../assets/json.form-sw/male_partner_registration_form.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json index cf765e78b0..66788cadc9 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json @@ -505,7 +505,7 @@ "mask_hint": "12345678912345678912", "allowed_chars": "0123456789", "hint": "Namba ya kitambulisho cha taifa k.m 12345678-91234-56789-12", - "edit_type": "name", + "edit_type": "number", "v_max_length": { "value": "23", "is_fixed_size": "true", @@ -541,7 +541,7 @@ "mask_hint": "123456789123", "allowed_chars": "0123456789", "hint": "Namba ya kitambulisho cha mpiga kura k.m T-1234-5678-912-3", - "edit_type": "name", + "edit_type": "number", "v_max_length": { "value": "17", "is_fixed_size": "true", @@ -577,7 +577,7 @@ "mask_hint": "1234567891", "allowed_chars": "0123456789", "hint": "Namba ya leseni ya udereva k.m 1234567891", - "edit_type": "name", + "edit_type": "number", "v_max_length": { "value": "10", "is_fixed_size": "true", From d3c8651118ced2b17abbe1e6225faa155cd53455 Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 16 Apr 2022 10:25:44 +0300 Subject: [PATCH 353/915] fix: age calculated calculation --- .../src/nacp/assets/rule/all_clients_member_calculation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml index 5c7b0ac535..e20cc7b49f 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml @@ -4,7 +4,7 @@ description: Age calculated priority: 1 condition: "true" actions: - - "calculation = (!step2_dob_unknown.isEmpty() && step2_dob_unknown.contains('dob_unknown')) ? step2_age : helper.getDifferenceDays(step2_dob) / 365.25" + - "calculation = (!step2_dob_unknown.isEmpty() && step2_dob_unknown.contains('dob_unknown')) ? step2_age : helper.formatDate(step2_dob,'y')" --- name: step2_wra description: wra calculation From 18d807961704b2e8f9c6efe2d4080bdb76877a3c Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 19 Apr 2022 08:48:12 +0300 Subject: [PATCH 354/915] fix: paused GBV referrals --- .../chw/activity/AncMemberProfileActivity.java | 8 ++++---- .../chw/activity/HivIndexContactProfileActivity.java | 4 ++-- .../smartregister/chw/activity/HivProfileActivity.java | 4 ++-- .../chw/activity/PncMemberProfileActivity.java | 8 ++++---- .../src/main/java/org/smartregister/chw/util/Utils.java | 4 ++-- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index ea69302d2b..68e7a007fa 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -156,10 +156,10 @@ private void addAncReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.anc_danger_signs), BuildConfig.USE_UNIFIED_REFERRAL_APPROACH ? org.smartregister.chw.util.Constants.JSON_FORM.getAncUnifiedReferralForm() : org.smartregister.chw.util.Constants.JSON_FORM.getAncReferralForm(), CoreConstants.TASKS_FOCUS.ANC_DANGER_SIGNS)); - if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { - referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), - org.smartregister.chw.util.Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); - } + // if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { +// referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), +// org.smartregister.chw.util.Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + // } if (MalariaDao.isRegisteredForMalaria(baseEntityID)) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.client_malaria_follow_up), null, null)); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java index 5698d4689e..9c75dbed99 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java @@ -170,8 +170,8 @@ private void addHivReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.hts_referral), CoreConstants.JSON_FORM.getHtsReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_HIV)); - referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), - CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); +// referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), +// CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 5ddb253ec5..c444d1ae5d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -410,8 +410,8 @@ private void addHivReferralTypes() { CoreConstants.JSON_FORM.getPregnancyConfirmationReferralForm(), CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION)); } } - referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), - CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); +// referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), +// CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index aee11966b8..e5bc4d926a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -378,10 +378,10 @@ private void addPncReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_danger_signs), BuildConfig.USE_UNIFIED_REFERRAL_APPROACH ? JSON_FORM.getPncUnifiedReferralForm() : JSON_FORM.getPncReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); - if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { - referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), - CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); - } + // if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { +// referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), +// CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + // } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java index b3beb50c4c..f9a8258142 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java @@ -46,8 +46,8 @@ public static List getCommonReferralTypes(Activity activity, List referralTypeModels = new ArrayList<>(); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { - referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.gbv_referral), - Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); +// referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.gbv_referral), +// Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); if(gender.equalsIgnoreCase("Female") && isMemberOfReproductiveAge(client, 10, 49)){ referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.pregnancy_confirmation_referral), CoreConstants.JSON_FORM.getPregnancyConfirmationReferralForm(), CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION)); From b86aea3226f6e4f43f0f3e82dadea85e6ceb6fc3 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 19 Apr 2022 14:54:37 +0300 Subject: [PATCH 355/915] Updated toolbar title for ANC partner followup clients --- .../activity/AncPartnerFollowupReferralProfileActivity.java | 6 ++++++ opensrp-chw/src/main/res/values-sw/strings.xml | 1 + opensrp-chw/src/main/res/values/strings.xml | 1 + 3 files changed, 8 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index 135c93928b..8b053338eb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -4,6 +4,7 @@ import android.content.ContentValues; import android.content.Intent; import android.os.Bundle; +import android.text.TextUtils; import android.util.Pair; import android.view.Gravity; import android.view.Menu; @@ -56,6 +57,7 @@ import org.smartregister.family.util.JsonFormUtils; import org.smartregister.family.util.Utils; import org.smartregister.repository.AllSharedPreferences; +import org.smartregister.view.customcontrols.CustomFontTextView; import java.util.ArrayList; import java.util.Date; @@ -71,6 +73,7 @@ import static android.view.View.GONE; import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; +import static org.smartregister.chw.core.utils.Utils.updateToolbarTitle; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_FORM_SUBMISSION_ID; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.ReferralFormId; @@ -107,6 +110,9 @@ protected void onCreate(Bundle savedInstanceState) { @Override public void setupViews() { super.setupViews(); + CustomFontTextView titleView = findViewById(R.id.toolbar_title); + String titleText = TextUtils.isEmpty(getTitleViewText()) ? getString(R.string.return_to_all_partner_followup_clients) : getTitleViewText(); + titleView.setText(titleText); layoutRecordView.setVisibility(View.VISIBLE); if (AncPartnerDao.isPartnerFollowedUp(referralFormSubmissionId)) { textview_record_visit.setVisibility(View.GONE); diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index 436724f6df..544f59a64d 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -428,4 +428,5 @@ Mtoto Aliyepotea Mtoto Amekosa Miadi Mtoto : %s + Rudi kwa Wateja wote wa Ufuatiliaji wa Mwenza diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index d0655ece28..f7fa5468e8 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -416,6 +416,7 @@ Location: %s Participants: %s Date: %s + Return to All Partner Follow-up clients From 1152889426f11b35532508d0d0943c5de486bd99 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 19 Apr 2022 14:55:25 +0300 Subject: [PATCH 356/915] Optimized imports --- ...artnerFollowupReferralProfileActivity.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index 8b053338eb..e983cf1fe1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -1,5 +1,13 @@ package org.smartregister.chw.activity; +import static android.view.View.GONE; +import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_FORM_SUBMISSION_ID; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.ReferralFormId; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + import android.app.Activity; import android.content.ContentValues; import android.content.Intent; @@ -71,15 +79,6 @@ import io.reactivex.schedulers.Schedulers; import timber.log.Timber; -import static android.view.View.GONE; -import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; -import static org.smartregister.chw.core.utils.Utils.updateToolbarTitle; -import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; -import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_FORM_SUBMISSION_ID; -import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.ReferralFormId; -import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; -import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; - public class AncPartnerFollowupReferralProfileActivity extends CoreAncMemberProfileActivity implements AncMemberProfileContract.View { private List referralTypeModels = new ArrayList<>(); @@ -353,7 +352,7 @@ public void onClick(View view) { AncHomeVisitActivity.startMe(this, memberObject.getBaseEntityId(), false); } else if (id == R.id.textview_edit) { AncHomeVisitActivity.startMe(this, memberObject.getBaseEntityId(), true); - } else if (id == R.id.rlPartnerView ||id == R.id.register_partner_btn) { + } else if (id == R.id.rlPartnerView || id == R.id.register_partner_btn) { Intent intent = new Intent(this, PartnerRegistrationActivity.class); intent.putExtra(INTENT_FORM_SUBMISSION_ID, AncPartnerDao.getFeedbackFormId(referralFormSubmissionId)); intent.putExtra(INTENT_BASE_ENTITY_ID, baseEntityID); From 6d39406f865b82af4f33e6020e5de0b54216cbd8 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 22 Apr 2022 09:25:05 +0300 Subject: [PATCH 357/915] fix: remove check for referralTypeModels in pnc --- .../chw/presenter/PncMemberProfilePresenter.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PncMemberProfilePresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PncMemberProfilePresenter.java index 9ee178ea35..a3e6ba1305 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PncMemberProfilePresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/PncMemberProfilePresenter.java @@ -81,11 +81,9 @@ public void startPncReferralForm() { @Override public void referToFacility() { List referralTypeModels = getView().getReferralTypeModels(); - if (referralTypeModels.size() == 1) { - startPncReferralForm(); - } else { - org.smartregister.chw.util.Utils.launchClientReferralActivity((Activity) getView(), referralTypeModels, getEntityId()); - } + + org.smartregister.chw.util.Utils.launchClientReferralActivity((Activity) getView(), referralTypeModels, getEntityId()); + } @Override From b0dfc8de190f512683d3d775ef64b480939a98a2 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 22 Apr 2022 18:12:10 +0300 Subject: [PATCH 358/915] Removed caregiver and added field in partner registration reasons --- .../male_partner_registration_form.json | 236 +----------------- .../male_partner_registration_form.json | 235 +---------------- .../assets/rule/male_partner_calculation.yml | 2 +- .../assets/rule/male_partner_relevance.yml | 49 ---- 4 files changed, 7 insertions(+), 515 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json index 66788cadc9..11622b08cf 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json @@ -386,7 +386,6 @@ } } } - }, { "key": "marital_status", @@ -726,37 +725,6 @@ } } }, - { - "key": "preg_1yr", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "preg_1yr", - "type": "spinner", - "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", - "values": [ - "Ndio", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } - } - }, { "key": "disabilities", "openmrs_entity_parent": "", @@ -861,76 +829,6 @@ "err": "Tafadhali chagua aina ya ulemavu wa kimwili" } }, - { - "key": "has_primary_caregiver", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "Has_Primary_Caregiver", - "type": "spinner", - "hint": "Je, una mlezi/msaidizi wa Tiba?", - "values": [ - "Ndio", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - } - }, - { - "key": "primary_caregiver_name", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "Primary_Caregiver_Name", - "type": "edit_text", - "hint": "Jina la mlezi", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina sahihi" - }, - "v_required": { - "value": "true", - "err": "Tafadhali taja jina la mlezi." - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } - } - }, - { - "key": "other_phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", - "type": "edit_text", - "hint": "Namba ya simu ya mlezi mkuu", - "v_numeric": { - "value": "true", - "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } - } - }, { "key": "service_provider", "openmrs_entity_parent": "", @@ -1168,146 +1066,18 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_under_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "native_radio", - "label": "Sababu za Usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" }, { - "key": "diabetes", - "text": "Kisukari", + "key": "male_engagement", + "text": "Male engagement", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "saratani", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "weight_stagnation_child", - "text": "Mtoto mwenye vilio vya uzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "Mtoto mwenye homa za mara kwa mara", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "abused_child", - "text": "Unyanyasaji wa mtoto", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Ukatili wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_in_risky_environment", - "text": "Mtoto anayeishi katika mazingira hatarishi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "male_engagement" } ], "v_required": { "value": "true", "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } } } ] diff --git a/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json index 84204b83bb..d086e24e4a 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json @@ -725,37 +725,6 @@ } } }, - { - "key": "preg_1yr", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "preg_1yr", - "type": "spinner", - "hint": "Has the woman delivered in the last 1 year?", - "values": [ - "Yes", - "No" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Please select if the woman has delivered in the last 1 year" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } - } - }, { "key": "disabilities", "openmrs_entity_parent": "", @@ -860,76 +829,6 @@ "err": "Please select the type of physical disabilities" } }, - { - "key": "has_primary_caregiver", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "Has_Primary_Caregiver", - "type": "spinner", - "hint": " Do you have a primary caregiver/Treatment supporter?", - "values": [ - "Yes", - "No" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Please select one" - } - }, - { - "key": "primary_caregiver_name", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "Primary_Caregiver_Name", - "type": "edit_text", - "hint": "Name of caregiver", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Please enter a valid name" - }, - "v_required": { - "value": "true", - "err": "Please specify the name of the caregiver." - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } - } - }, - { - "key": "other_phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", - "type": "edit_text", - "hint": "Primary caregiver phone number", - "v_numeric": { - "value": "true", - "err": "Number must be a total of 10 digits in length" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } - } - }, { "key": "service_provider", "openmrs_entity_parent": "", @@ -1161,127 +1060,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "" }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_under_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "native_radio", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "hiv_infected_child", - "text": "A child born from a mother with HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "untested_hiv_infected_child", - "text": "Untested HIV/AIDs child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "weight_stagnation_child", - "text": "A child with stagnation in weight", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "A child with frequent fevers", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "abused_child", - "text": "Abused child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, { "key": "drug_abuse", "text": "Drug abuse", @@ -1290,23 +1068,16 @@ "openmrs_entity_id": "" }, { - "key": "child_in_risky_environment", - "text": "Child living in a risky environment", + "key": "male_engagement", + "text": "Male engagement", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "male_engagement" } ], "v_required": { "value": "true", "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } } } ] diff --git a/opensrp-chw/src/nacp/assets/rule/male_partner_calculation.yml b/opensrp-chw/src/nacp/assets/rule/male_partner_calculation.yml index 84cccba33a..f60ad56bf6 100644 --- a/opensrp-chw/src/nacp/assets/rule/male_partner_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/male_partner_calculation.yml @@ -39,7 +39,7 @@ description: set reasons for registration priority: 1 condition: "true" actions: - - "calculation = ((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15)) ? step2_reasons_for_registration_under_15 : step2_reasons_for_registration_male_15)" + - "calculation = step2_reasons_for_registration_male_15" --- name: step2_sex description: set sex as male by default diff --git a/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml b/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml index 4caa0589ee..b378a39201 100644 --- a/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml @@ -55,13 +55,6 @@ condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 14) || (step actions: - "isRelevant = true" --- -name: step2_preg_1yr -description: pregnance 1yr relevance -priority: 1 -condition: "step2_wra == 1" -actions: - - "isRelevant = true" ---- name: step2_insurance_provider_other description: insurance_provider_other relevance priority: 1 @@ -80,47 +73,5 @@ name: step2_type_of_disability description: type_of_disability relevance priority: 1 condition: "step2_disabilities.equals('Yes')" -actions: - - "isRelevant = true" ---- -name: step2_preg_1yr -description: pregnance 1yr relevance -priority: 1 -condition: "step2_wra == 1" -actions: - - "isRelevant = true" ---- -name: step2_primary_caregiver_name -description: ask primary caregiver name -priority: 1 -condition: "step2_has_primary_caregiver == 'Yes'" -actions: - - "isRelevant = true" ---- -name: step2_other_phone_number -description: as primary caregiver phone number -priority: 1 -condition: "step2_has_primary_caregiver == 'Yes'" -actions: - - "isRelevant = true" ---- -name: step2_reasons_for_registration_male_15 -description: Show up if client is male and age 15 above -priority: 1 -condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 15) || (step2_age != '' && step2_age >= 15)) && step2_sex.equals('Male') " -actions: - - "isRelevant = true" ---- -name: step2_reasons_for_registration_female_15 -description: Show up if client is female and age 15 above -priority: 1 -condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 15) || (step2_age != '' && step2_age >= 15))&& step2_sex.equals('Female')" -actions: - - "isRelevant = true" ---- -name: step2_reasons_for_registration_under_15 -description: Show up if client is below 15 -priority: 1 -condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15))" actions: - "isRelevant = true" \ No newline at end of file From e1966e45125663526d4ccc18ac07c78e49c091b8 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 22 Apr 2022 18:13:31 +0300 Subject: [PATCH 359/915] added field in registration info --- .../all_clients_update_registration_info_form.json | 7 +++++++ .../all_clients_update_registration_info_form.json | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 4760bfae59..9a7f58090b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -1022,6 +1022,13 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" + }, + { + "key": "male_engagement", + "text": "Male engagement", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "male_engagement" } ], "v_required": { diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index 6dab35b401..41b4897775 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -1027,6 +1027,13 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" + }, + { + "key": "male_engagement", + "text": "Male engagement", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "male_engagement" } ], "v_required": { From 124cb75d10e5f5d8ca353a81b97feed413f11259 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 22 Apr 2022 18:15:34 +0300 Subject: [PATCH 360/915] Fixed registration info form --- .../all_clients_update_registration_info_form.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 9a7f58090b..8464cc111f 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -198,6 +198,11 @@ "value": "true", "err": "Must be a rounded number" }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Tafadhali ingiza umri sahihi" + }, "v_numeric": { "value": "true", "err": "Lazima iwe namba kamili" @@ -219,7 +224,7 @@ }, "v_required": { "value": true, - "err": "Tafahdhali ingiza umri" + "err": "Tafadhali ingiza umri" } }, { From fb4dbf9c799ee60c95b770e658cbd9abd9e75e58 Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 23 Apr 2022 11:41:03 +0300 Subject: [PATCH 361/915] fix: changed implementation of getting timestamp --- .../rule/pmtct_community_followup_feedback_calculation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml index 38bbccdafe..71ad3d94b7 100644 --- a/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_calculation.yml @@ -4,4 +4,4 @@ description: pmtct community followup visit date calculation priority: 1 condition: "true" actions: - - "calculation = System.currentTimeMillis()" \ No newline at end of file + - "calculation = helper.getTimeInMillis()" \ No newline at end of file From 1127e3d4d98c6b7e8b3b0c72709835feacad37c1 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sat, 23 Apr 2022 11:49:48 +0300 Subject: [PATCH 362/915] Updated swahili hints --- .../json.form-sw/all_clients_update_registration_info_form.json | 2 +- .../assets/json.form-sw/male_partner_registration_form.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 8464cc111f..d32411af44 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -1030,7 +1030,7 @@ }, { "key": "male_engagement", - "text": "Male engagement", + "text": "Uwepo wa mwanaume husika", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "male_engagement" diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json index 11622b08cf..de6d99aed4 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json @@ -1069,7 +1069,7 @@ }, { "key": "male_engagement", - "text": "Male engagement", + "text": "Uwepo wa mwanaume husika", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "male_engagement" From 389eda555f8a6652850d5ea50e5e5073c48b7d78 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sat, 23 Apr 2022 11:51:07 +0300 Subject: [PATCH 363/915] Delivery date to date back to only 1 month --- .../src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json | 1 + opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json | 1 + 2 files changed, 2 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json index d11f31ca66..09d8726c17 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json @@ -143,6 +143,7 @@ "type": "date_picker", "hint": "Tarehe ya Mama ya kujifungua", "expanded": false, + "min_date": "today-1m", "max_date": "today", "v_required": { "value": "true", diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json index a1422f5f0e..143c566423 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json @@ -143,6 +143,7 @@ "type": "date_picker", "hint": "Delivery date", "expanded": false, + "min_date": "today-1m", "max_date": "today", "v_required": { "value": "true", From a10b8270d1e67fd6d5b1bd87d67769b06095016d Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 25 Apr 2022 11:49:32 +0300 Subject: [PATCH 364/915] Updated mother champion followup feedback form --- .../mother_champion_followup.json | 35 +++++++++++++------ .../json.form/mother_champion_followup.json | 29 +++++++++++---- 2 files changed, 47 insertions(+), 17 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json index dba91f180c..00a520e651 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json @@ -64,14 +64,14 @@ "text": "Uwezeshaji wa kikundi cha msaada wa Mama", "openmrs_entity": "concept", "openmrs_entity_id": "mother_support_group", - "openmrs_entity_parent": "type_of_service" + "value": "false" }, { - "key": "counselling", - "text": "Kumsahuri Mteja", - "openmrs_entity_parent": "type_of_service", + "key": "health_education", + "text": "Elimu ya Afya", "openmrs_entity": "concept", - "openmrs_entity_id": "counselling" + "openmrs_entity_id": "health_education", + "value": "false" } ], "v_required": { @@ -89,7 +89,7 @@ "options": [ { "key": "yes", - "text": "Ndiyo", + "text": "Ndio", "openmrs_entity": "concept", "openmrs_entity_id": "yes" }, @@ -116,6 +116,21 @@ } } }, + { + "key": "prompt_for_linked_to_psychosocial_group", + "type": "toaster_notes", + "text": "Mpatie rufaa ya kwenda kwenye makundi ya kisaikolojia", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:linked_to_psychosocial_group": { + "type": "String", + "ex": "equalTo(.,\"no\")" + } + } + }, { "key": "counselling_given", "openmrs_entity_parent": "", @@ -123,11 +138,11 @@ "openmrs_entity_id": "counselling_given", "type": "check_box", "combine_checkbox_option_values": "true", - "label": "Chagua aina ya ushauri uliotolewa", + "label": "Chagua aina ya Elimu ya Afya iliyotolewa", "options": [ { "key": "chk_hiv_syphilis_testing", - "text": "HIV syphilis testing", + "text": "Upimaji wa VVU/Kaswende", "openmrs_entity": "concept", "openmrs_entity_id": "chk_hiv_syphilis_testing", "value": "false" @@ -141,7 +156,7 @@ }, { "key": "chk_disclosure", - "text": "", + "text": "Disclosure", "openmrs_entity": "concept", "openmrs_entity_id": "chk_disclosure", "value": "false" @@ -205,7 +220,7 @@ "ex-checkbox": [ { "or": [ - "counselling" + "health_education" ] } ] diff --git a/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json index f42073fe22..9d0b6e65c7 100644 --- a/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json +++ b/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json @@ -64,14 +64,14 @@ "text": "Facilitation of mother support group", "openmrs_entity": "concept", "openmrs_entity_id": "mother_support_group", - "openmrs_entity_parent": "type_of_service" + "value": "false" }, { - "key": "counselling", - "text": "Counselling", - "openmrs_entity_parent": "type_of_service", + "key": "health_education", + "text": "Health Education", "openmrs_entity": "concept", - "openmrs_entity_id": "counselling" + "openmrs_entity_id": "health_education", + "value": "false" } ], "v_required": { @@ -116,6 +116,21 @@ } } }, + { + "key": "prompt_for_linked_to_psychosocial_group", + "type": "toaster_notes", + "text": "Refer the client to psychosocial groups", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:linked_to_psychosocial_group": { + "type": "String", + "ex": "equalTo(.,\"no\")" + } + } + }, { "key": "counselling_given", "openmrs_entity_parent": "", @@ -123,7 +138,7 @@ "openmrs_entity_id": "counselling_given", "type": "check_box", "combine_checkbox_option_values": "true", - "label": "Select the type of Counselling provided", + "label": "Select the type of Health Education provided", "options": [ { "key": "chk_hiv_syphilis_testing", @@ -205,7 +220,7 @@ "ex-checkbox": [ { "or": [ - "counselling" + "health_education" ] } ] From 213d4e29ee00ab7a0f9b745f668c1bb54950ce58 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 25 Apr 2022 11:58:32 +0300 Subject: [PATCH 365/915] Added field in anc partner feedback form --- ...nc_partner_community_followup_feedback.json | 18 ++++++++++++++++++ .../json.form-sw/mother_champion_followup.json | 2 +- ...nc_partner_community_followup_feedback.json | 18 ++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json index b362127f48..b914bbb94c 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json @@ -79,6 +79,24 @@ "err": "Tafadhari Chagua mojawapo" } }, + { + "key": "reason_partner_is_not_found", + "type": "edit_text", + "hint": "Sababu ya mwenza kutopatikana", + "openmrs_entity_id": "reason_partner_is_not_found", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "v_required": { + "value": true, + "err": "Tafadhali bainisha sababu ya mwenza kutopatikana" + }, + "relevance": { + "step1:is_partner_found": { + "type": "string", + "ex": "equalTo(., \"no\")" + } + } + }, { "key": "partner_agree_attending_hf", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json index 00a520e651..5688f79175 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json @@ -156,7 +156,7 @@ }, { "key": "chk_disclosure", - "text": "Disclosure", + "text": "Ufunuzi", "openmrs_entity": "concept", "openmrs_entity_id": "chk_disclosure", "value": "false" diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json index 163828aa81..3780a3d98c 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json @@ -79,6 +79,24 @@ "err": "Please select an option" } }, + { + "key": "reason_partner_is_not_found", + "type": "edit_text", + "hint": "Reason why the partner was not found", + "openmrs_entity_id": "reason_partner_is_not_found", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "v_required": { + "value": true, + "err": "Please specify the reason why the partner was not found" + }, + "relevance": { + "step1:is_partner_found": { + "type": "string", + "ex": "equalTo(., \"no\")" + } + } + }, { "key": "partner_agree_attending_hf", "openmrs_entity_parent": "", From 9d0e69962136404adf87b20f98c68bb8967ff59b Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 25 Apr 2022 14:01:12 +0300 Subject: [PATCH 366/915] Added prompt in ANC nutrition form --- .../json.form-sw/anc_hv_nutrition_status.json | 16 ++++++++++++++++ .../json.form/anc_hv_nutrition_status.json | 16 ++++++++++++++++ .../rule/anc_hv_nutrition_status_relevance.yml | 7 +++++++ 3 files changed, 39 insertions(+) create mode 100644 opensrp-chw/src/nacp/assets/rule/anc_hv_nutrition_status_relevance.yml diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_nutrition_status.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_nutrition_status.json index 7e3907bba9..377bd4cc9b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_nutrition_status.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_nutrition_status.json @@ -76,6 +76,22 @@ "value": "true", "err": "Tafadhali chagua chaguo moja" } + }, + { + "key": "prompt_for_nutrition_status", + "type": "toaster_notes", + "text": "Toa rufaa kwa huduma zaidi", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_nutrition_status_relevance.yml" + } + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_nutrition_status.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_nutrition_status.json index 5e69f5da23..1612b77ee1 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_nutrition_status.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_nutrition_status.json @@ -76,6 +76,22 @@ "value": "true", "err": "Please select one option" } + }, + { + "key": "prompt_for_nutrition_status", + "type": "toaster_notes", + "text": "Refer for further management", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_nutrition_status_relevance.yml" + } + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/rule/anc_hv_nutrition_status_relevance.yml b/opensrp-chw/src/nacp/assets/rule/anc_hv_nutrition_status_relevance.yml new file mode 100644 index 0000000000..fe4e1f7c93 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/anc_hv_nutrition_status_relevance.yml @@ -0,0 +1,7 @@ +--- +name: step1_prompt_for_nutrition_status +description: prompt_for_nutrition_status +priority: 1 +condition: "step1_nutrition_status.contains('Moderate') || step1_nutrition_status.contains('Severe')" +actions: + - "isRelevant = true" \ No newline at end of file From af59d520d8924aeb78cf4e75d6c6ad6bebd7f65a Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 26 Apr 2022 12:35:59 +0300 Subject: [PATCH 367/915] Edited the ANC facility visit form --- .../json.form-sw/anc_hv_health_facility_visit.json | 6 +++--- .../assets/json.form/anc_hv_health_facility_visit.json | 10 +++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_health_facility_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_health_facility_visit.json index ab9c2abd85..08341669a9 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_health_facility_visit.json @@ -55,10 +55,10 @@ "openmrs_entity": "concept", "openmrs_entity_id": "anc_hf_visit", "openmrs_data_type": "select one", - "label_info_title": "Je, Mwanamke huyu amehudhuria kliniki ya wajawazito mara {0} ?", - "label_info_text": "Je, Mwanamke huyu amehudhuria kliniki ya wajawazito?", + "label_info_title": "Hudhurio la ANC kituoni", + "label_info_text": "Je, Mwanamke alihudhuria tembeleo lake la mwisho la ANC kituoni?", "type": "spinner", - "hint": "Je, Mwanamke huyu amehudhuria kliniki ya wajawazito mara {0} ? Tarehe ya kukamilisha hudhurio: {1}", + "hint": "Je, Mwanamke alihudhuria tembeleo lake la mwisho la ANC kituoni?\n\n Tarehe ya kukamilisha hudhurio: {1}", "values": [ "Ndiyo", "Hapana" diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_health_facility_visit.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_health_facility_visit.json index e94434a07d..934aa81b89 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_health_facility_visit.json @@ -55,14 +55,18 @@ "openmrs_entity": "concept", "openmrs_entity_id": "anc_hf_visit", "openmrs_data_type": "select one", - "label_info_title": "Did the woman attend her ANC {0} visit at the health facility?", - "label_info_text": "Did the woman attend her ANC visit at the health facility?", + "label_info_title": "ANC facility visit", + "label_info_text": "Did the woman attend her last scheduled ANC visit at the facility?", "type": "spinner", - "hint": "Did the woman attend her ANC {0} visit at the health facility?\n\nVisit due date: {1}", + "hint": "Did the woman attend her last scheduled ANC visit at the facility?\n\nVisit due date: {1}", "values": [ "Yes", "No" ], + "keys": [ + "Yes", + "No" + ], "openmrs_choice_ids": { "Yes": "Yes", "No": "No" From 35a20137293155f5425734ce16bed9df37b94e5f Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 26 Apr 2022 13:52:02 +0300 Subject: [PATCH 368/915] fix: stop visit if, dangersigns found --- .../chw/activity/AncHomeVisitActivity.java | 8 ++ .../json.form-sw/anc_hv_danger_signs.json | 11 ++ .../assets/json.form/anc_hv_danger_signs.json | 11 ++ .../interactor/AncHomeVisitInteractorFlv.java | 122 +++++++++++------- 4 files changed, 104 insertions(+), 48 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHomeVisitActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHomeVisitActivity.java index fa4a415d93..4b0082b070 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHomeVisitActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHomeVisitActivity.java @@ -9,6 +9,7 @@ import org.json.JSONObject; import org.smartregister.chw.anc.activity.BaseAncHomeVisitActivity; +import org.smartregister.chw.anc.model.BaseAncHomeVisitAction; import org.smartregister.chw.anc.presenter.BaseAncHomeVisitPresenter; import org.smartregister.chw.core.R; import org.smartregister.chw.core.task.RunnableTask; @@ -21,6 +22,7 @@ import org.smartregister.util.LangUtils; import java.util.Date; +import java.util.LinkedHashMap; import timber.log.Timber; @@ -78,4 +80,10 @@ public void onDestroy() { Timber.e(e); } } + + @Override + public void initializeActions(LinkedHashMap map) { + actionList.clear(); + super.initializeActions(map); + } } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json index 67cadc4520..c02df6c30c 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json @@ -217,6 +217,17 @@ "v_required": { "value": "true", "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "step1:danger_signs_present": { + "ex-checkbox": [ + { + "or": [ + "chk_none" + ] + } + ] + } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json index 70627ae077..c480ac0783 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json @@ -217,6 +217,17 @@ "v_required": { "value": "true", "err": "Please select one option" + }, + "relevance": { + "step1:danger_signs_present": { + "ex-checkbox": [ + { + "or": [ + "chk_none" + ] + } + ] + } } }, { diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java index f021803394..6ad6304cb8 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java @@ -16,6 +16,7 @@ import org.smartregister.chw.anc.domain.Visit; import org.smartregister.chw.anc.domain.VisitDetail; import org.smartregister.chw.anc.model.BaseAncHomeVisitAction; +import org.smartregister.chw.anc.util.AppExecutors; import org.smartregister.chw.anc.util.VisitUtils; import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.ContactUtil; @@ -32,13 +33,19 @@ import timber.log.Timber; public class AncHomeVisitInteractorFlv implements AncHomeVisitInteractor.Flavor { + private final LinkedHashMap actionList = new LinkedHashMap<>(); + private Context context; + private Map> details = null; + private MemberObject memberObject; + private Map dateMap = new LinkedHashMap<>(); + private BaseAncHomeVisitContract.InteractorCallBack callBack; + private String visit_title; + @Override public LinkedHashMap calculateActions(BaseAncHomeVisitContract.View view, MemberObject memberObject, BaseAncHomeVisitContract.InteractorCallBack callBack) throws BaseAncHomeVisitAction.ValidationException { - LinkedHashMap actionList = new LinkedHashMap<>(); - - Context context = view.getContext(); - - Map> details = null; + context = view.getContext(); + this.memberObject = memberObject; + this.callBack = callBack; // get the preloaded data if (view.getEditMode()) { Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(memberObject.getBaseEntityId(), Constants.EventType.ANC_HOME_VISIT); @@ -62,7 +69,6 @@ public LinkedHashMap calculateActions(BaseAncHom lastContact = DateTimeFormat.forPattern("dd-MM-yyyy").parseLocalDate(memberObject.getLastContactVisit()); } - Map dateMap = new LinkedHashMap<>(); // today is the due date for the very first visit if (isFirst) { @@ -71,20 +77,13 @@ public LinkedHashMap calculateActions(BaseAncHom dateMap.putAll(ContactUtil.getContactWeeks(isFirst, lastContact, lastMenstrualPeriod)); - evaluateDangerSigns(actionList, details, context); - evaluateHealthFacilityVisit(actionList, details, memberObject, dateMap, context); - evaluateFamilyPlanning(actionList, details, context); - evaluateNutritionStatus(actionList, details, context); - evaluateCounsellingStatus(actionList, details, context); - evaluateMalaria(actionList, details, context); - evaluateObservation(actionList, details, context); - evaluateRemarks(actionList, details, context); + evaluateDangerSigns(details, context); + return actionList; } - private void evaluateDangerSigns(LinkedHashMap actionList, - Map> details, + private void evaluateDangerSigns(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { BaseAncHomeVisitAction danger_signs = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_danger_signs)) .withOptional(false) @@ -95,12 +94,11 @@ private void evaluateDangerSigns(LinkedHashMap a actionList.put(context.getString(R.string.anc_home_visit_danger_signs), danger_signs); } - private void evaluateHealthFacilityVisit(LinkedHashMap actionList, - Map> details, + private void evaluateHealthFacilityVisit(Map> details, final MemberObject memberObject, Map dateMap, final Context context) throws BaseAncHomeVisitAction.ValidationException { - String visit_title = MessageFormat.format(context.getString(R.string.anc_home_visit_facility_visit), memberObject.getConfirmedContacts() + 1); + visit_title = MessageFormat.format(context.getString(R.string.anc_home_visit_facility_visit), memberObject.getConfirmedContacts() + 1); BaseAncHomeVisitAction facility_visit = new BaseAncHomeVisitAction.Builder(context, visit_title) .withOptional(false) .withDetails(details) @@ -111,8 +109,7 @@ private void evaluateHealthFacilityVisit(LinkedHashMap actionList, - Map> details, + private void evaluateFamilyPlanning(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { BaseAncHomeVisitAction family_planning_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_family_planning)) .withOptional(false) @@ -123,8 +120,7 @@ private void evaluateFamilyPlanning(LinkedHashMap actionList, - Map> details, + private void evaluateNutritionStatus(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { BaseAncHomeVisitAction nutrition_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_nutrition_status)) .withOptional(true) @@ -135,8 +131,7 @@ private void evaluateNutritionStatus(LinkedHashMap actionList, - Map> details, + private void evaluateCounsellingStatus(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { BaseAncHomeVisitAction counselling_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_counselling_task)) .withOptional(false) @@ -147,8 +142,7 @@ private void evaluateCounsellingStatus(LinkedHashMap actionList, - Map> details, + private void evaluateMalaria(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { BaseAncHomeVisitAction malaria_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_malaria_prevention)) .withOptional(false) @@ -159,8 +153,7 @@ private void evaluateMalaria(LinkedHashMap actio actionList.put(context.getString(R.string.anc_home_visit_malaria_prevention), malaria_ba); } - private void evaluateObservation(LinkedHashMap actionList, - Map> details, + private void evaluateObservation(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { BaseAncHomeVisitAction remark_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_observations_n_illnes)) .withOptional(true) @@ -171,8 +164,7 @@ private void evaluateObservation(LinkedHashMap a actionList.put(context.getString(R.string.anc_home_visit_observations_n_illnes), remark_ba); } - private void evaluateRemarks(LinkedHashMap actionList, - Map> details, + private void evaluateRemarks(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { BaseAncHomeVisitAction remark_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_remarks_and_comments)) .withOptional(true) @@ -222,27 +214,61 @@ public String getPreProcessedSubTitle() { @Override public String postProcess(String s) { + try { + if (danger_signs_present.contains("None") || danger_signs_present.contains("Hakuna")) { + evaluateHealthFacilityVisit(details, memberObject, dateMap, context); + evaluateFamilyPlanning(details, context); + evaluateNutritionStatus(details, context); + evaluateCounsellingStatus(details, context); + evaluateMalaria(details, context); + evaluateObservation(details, context); + evaluateRemarks(details, context); + } else { + Timber.d(actionList.toString()); + actionList.remove(context.getString(R.string.anc_home_visit_family_planning)); + actionList.remove(context.getString(R.string.anc_home_visit_nutrition_status)); + actionList.remove(context.getString(R.string.anc_home_visit_counselling_task)); + actionList.remove(context.getString(R.string.anc_home_visit_malaria_prevention)); + actionList.remove(context.getString(R.string.anc_home_visit_observations_n_illnes)); + actionList.remove(context.getString(R.string.anc_home_visit_remarks_and_comments)); + actionList.remove(visit_title); + } + } catch (BaseAncHomeVisitAction.ValidationException e) { + Timber.e(e); + } + new AppExecutors().mainThread().execute(() -> callBack.preloadActions(actionList)); return null; } @Override public String evaluateSubTitle() { - return MessageFormat.format(context.getString(R.string.anc_home_visit_danger_signs) + ": " + "{0}", danger_signs_present) + - "\n" + - MessageFormat.format( context.getString(R.string.anc_health_facility_counselling_subtitle) + " " + "{0}", - (danger_signs_counseling.equalsIgnoreCase("Yes") ? context.getString(R.string.done).toLowerCase() : context.getString(R.string.not_done).toLowerCase()) - ); + if (danger_signs_present.contains("None") || danger_signs_present.contains("Hakuna")) { + return MessageFormat.format(context.getString(R.string.anc_home_visit_danger_signs) + ": " + "{0}", danger_signs_present) + + "\n" + + MessageFormat.format(context.getString(R.string.anc_health_facility_counselling_subtitle) + " " + "{0}", + (danger_signs_counseling.equalsIgnoreCase("Yes") ? context.getString(R.string.done).toLowerCase() : context.getString(R.string.not_done).toLowerCase()) + ); + } else { + return MessageFormat.format(context.getString(R.string.anc_home_visit_danger_signs) + ": " + "{0}", danger_signs_present) + + "\n" + context.getString(R.string.refer_to_facility); + } } @Override public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { - if (StringUtils.isBlank(danger_signs_counseling)) { - return BaseAncHomeVisitAction.Status.PENDING; - } - - if (danger_signs_counseling.equalsIgnoreCase("Yes")) { - return BaseAncHomeVisitAction.Status.COMPLETED; - } else if (danger_signs_counseling.equalsIgnoreCase("No")) { + if (danger_signs_present.contains("None") || danger_signs_present.contains("Hakuna")) { + if (StringUtils.isBlank(danger_signs_counseling)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + if (danger_signs_counseling.equalsIgnoreCase("Yes")) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else if (danger_signs_counseling.equalsIgnoreCase("No")) { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PENDING; + } + } else if (StringUtils.isNotBlank(danger_signs_present)) { return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; } else { return BaseAncHomeVisitAction.Status.PENDING; @@ -558,11 +584,11 @@ public String evaluateSubTitle() { return MessageFormat.format(context.getString(R.string.uses_net) + ": " + "{0}", context.getString(R.string.anc_malaria_field_no)); else return MessageFormat.format(context.getString(R.string.uses_net) + ": " + "{0}", - (fam_llin.equalsIgnoreCase("Yes") ? context.getString(R.string.anc_malaria_field_yes) : context.getString(R.string.anc_malaria_field_no)) - + "\n" + MessageFormat.format(context.getString(R.string.slept_under_net) + ": " + "{0}", - (llin_2days.equalsIgnoreCase("Yes") ? context.getString(R.string.anc_malaria_field_yes) : context.getString(R.string.anc_malaria_field_no)) - + "\n" + MessageFormat.format(context.getString(R.string.net_condition) + ": " + "{0}", - (llin_condition.equalsIgnoreCase("Good") ? context.getString(R.string.anc_malaria_net_condition_good) : context.getString(R.string.anc_malaria_net_condition_bad))))); + (fam_llin.equalsIgnoreCase("Yes") ? context.getString(R.string.anc_malaria_field_yes) : context.getString(R.string.anc_malaria_field_no)) + + "\n" + MessageFormat.format(context.getString(R.string.slept_under_net) + ": " + "{0}", + (llin_2days.equalsIgnoreCase("Yes") ? context.getString(R.string.anc_malaria_field_yes) : context.getString(R.string.anc_malaria_field_no)) + + "\n" + MessageFormat.format(context.getString(R.string.net_condition) + ": " + "{0}", + (llin_condition.equalsIgnoreCase("Good") ? context.getString(R.string.anc_malaria_net_condition_good) : context.getString(R.string.anc_malaria_net_condition_bad))))); } @Override From d54387c389de5db484be2cc87d6ba19f234e1a79 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 26 Apr 2022 14:00:08 +0300 Subject: [PATCH 369/915] fix: paused nutrition status on anc home visit --- .../smartregister/chw/interactor/AncHomeVisitInteractorFlv.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java index 6ad6304cb8..17d5434905 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java @@ -218,7 +218,7 @@ public String postProcess(String s) { if (danger_signs_present.contains("None") || danger_signs_present.contains("Hakuna")) { evaluateHealthFacilityVisit(details, memberObject, dateMap, context); evaluateFamilyPlanning(details, context); - evaluateNutritionStatus(details, context); + // evaluateNutritionStatus(details, context); evaluateCounsellingStatus(details, context); evaluateMalaria(details, context); evaluateObservation(details, context); From 8c70e81dd77177251788eebc386c0456c6566e54 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 26 Apr 2022 14:22:26 +0300 Subject: [PATCH 370/915] code fixes --- .../interactor/AncHomeVisitInteractorFlv.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java index 17d5434905..89bee3c5ee 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java @@ -34,7 +34,6 @@ public class AncHomeVisitInteractorFlv implements AncHomeVisitInteractor.Flavor { private final LinkedHashMap actionList = new LinkedHashMap<>(); - private Context context; private Map> details = null; private MemberObject memberObject; private Map dateMap = new LinkedHashMap<>(); @@ -43,7 +42,7 @@ public class AncHomeVisitInteractorFlv implements AncHomeVisitInteractor.Flavor @Override public LinkedHashMap calculateActions(BaseAncHomeVisitContract.View view, MemberObject memberObject, BaseAncHomeVisitContract.InteractorCallBack callBack) throws BaseAncHomeVisitAction.ValidationException { - context = view.getContext(); + Context context = view.getContext(); this.memberObject = memberObject; this.callBack = callBack; // get the preloaded data @@ -120,16 +119,16 @@ private void evaluateFamilyPlanning(Map> details, actionList.put(context.getString(R.string.anc_home_visit_family_planning), family_planning_ba); } - private void evaluateNutritionStatus(Map> details, - final Context context) throws BaseAncHomeVisitAction.ValidationException { - BaseAncHomeVisitAction nutrition_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_nutrition_status)) - .withOptional(true) - .withDetails(details) - .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getNutritionStatus()) - .withHelper(new NutritionAction()) - .build(); - actionList.put(context.getString(R.string.anc_home_visit_nutrition_status), nutrition_ba); - } +// private void evaluateNutritionStatus(Map> details, +// final Context context) throws BaseAncHomeVisitAction.ValidationException { +// BaseAncHomeVisitAction nutrition_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_nutrition_status)) +// .withOptional(true) +// .withDetails(details) +// .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getNutritionStatus()) +// .withHelper(new NutritionAction()) +// .build(); +// actionList.put(context.getString(R.string.anc_home_visit_nutrition_status), nutrition_ba); +// } private void evaluateCounsellingStatus(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { From deccb5135944408bfafe2b47c68e59c646309a65 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 26 Apr 2022 15:11:40 +0300 Subject: [PATCH 371/915] fix: paused observation and illness action --- .../interactor/AncHomeVisitInteractorFlv.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java index 89bee3c5ee..9271777893 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java @@ -152,16 +152,16 @@ private void evaluateMalaria(Map> details, actionList.put(context.getString(R.string.anc_home_visit_malaria_prevention), malaria_ba); } - private void evaluateObservation(Map> details, - final Context context) throws BaseAncHomeVisitAction.ValidationException { - BaseAncHomeVisitAction remark_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_observations_n_illnes)) - .withOptional(true) - .withDetails(details) - .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getObservationAndIllness()) - .withHelper(new ObservationAction()) - .build(); - actionList.put(context.getString(R.string.anc_home_visit_observations_n_illnes), remark_ba); - } +// private void evaluateObservation(Map> details, +// final Context context) throws BaseAncHomeVisitAction.ValidationException { +// BaseAncHomeVisitAction remark_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_observations_n_illnes)) +// .withOptional(true) +// .withDetails(details) +// .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getObservationAndIllness()) +// .withHelper(new ObservationAction()) +// .build(); +// actionList.put(context.getString(R.string.anc_home_visit_observations_n_illnes), remark_ba); + // } private void evaluateRemarks(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { @@ -220,7 +220,7 @@ public String postProcess(String s) { // evaluateNutritionStatus(details, context); evaluateCounsellingStatus(details, context); evaluateMalaria(details, context); - evaluateObservation(details, context); + //evaluateObservation(details, context); evaluateRemarks(details, context); } else { Timber.d(actionList.toString()); From a84b8b92ea6a5d5de189d54682f4f0c3fbfa73c9 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Apr 2022 16:22:24 +0300 Subject: [PATCH 372/915] Updated PNC Member register and profile to only leave PNC Referrals. This removes the PNC followup visits per NACP Request --- opensrp-chw/build.gradle | 2 +- .../activity/PncMemberProfileActivity.java | 69 +++----- .../chw/fragment/PncRegisterFragment.java | 12 ++ .../chw/provider/ChwPncRegisterProvider.java | 20 +++ .../res/layout/view_chw_anc_record_visit.xml | 150 ++++++++++++++++++ .../referrals/pnc_referral_form.json | 9 ++ .../referrals/pnc_referral_form.json | 9 ++ 7 files changed, 227 insertions(+), 44 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwPncRegisterProvider.java create mode 100644 opensrp-chw/src/main/res/layout/view_chw_anc_record_visit.xml diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index a71733f571..f6f983b37f 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -320,7 +320,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.30.8-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.30.10-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index e5bc4d926a..86deeab9f9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -1,5 +1,13 @@ package org.smartregister.chw.activity; +import static android.view.View.GONE; +import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; +import static org.smartregister.chw.util.Constants.EventType; +import static org.smartregister.chw.util.Constants.JSON_FORM; +import static org.smartregister.chw.util.Constants.ProfileActivityResults; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + import android.app.Activity; import android.content.Intent; import android.util.Pair; @@ -12,8 +20,6 @@ import com.vijay.jsonwizard.utils.FormUtils; import org.apache.commons.lang3.StringUtils; -import org.joda.time.DateTime; -import org.joda.time.Days; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.BuildConfig; @@ -35,7 +41,6 @@ import org.smartregister.chw.core.utils.CoreJsonFormUtils; import org.smartregister.chw.custom_view.AncFloatingMenu; import org.smartregister.chw.fp.util.FamilyPlanningConstants; -import org.smartregister.chw.interactor.ChildProfileInteractor; import org.smartregister.chw.interactor.FamilyProfileInteractor; import org.smartregister.chw.interactor.PncMemberProfileInteractor; import org.smartregister.chw.model.ChildRegisterModel; @@ -48,6 +53,7 @@ import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.commonregistry.CommonRepository; +import org.smartregister.domain.AlertStatus; import org.smartregister.family.contract.FamilyProfileContract; import org.smartregister.family.domain.FamilyEventClient; import org.smartregister.family.util.JsonFormUtils; @@ -68,13 +74,6 @@ import io.reactivex.schedulers.Schedulers; import timber.log.Timber; -import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; -import static org.smartregister.chw.util.Constants.EventType; -import static org.smartregister.chw.util.Constants.JSON_FORM; -import static org.smartregister.chw.util.Constants.ProfileActivityResults; -import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; -import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; - public class PncMemberProfileActivity extends CorePncMemberProfileActivity implements PncMemberProfileContract.View { private Flavor flavor = new PncMemberProfileActivityFlv(); @@ -148,33 +147,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { @Override public void setupViews() { super.setupViews(); - PncVisitAlertRule summaryVisit = getVisitDetails(); - String statusVisit = summaryVisit.getButtonStatus(); - if (statusVisit.equals("OVERDUE")) { - textview_record_visit.setVisibility(View.VISIBLE); - textview_record_visit.setBackgroundResource(R.drawable.rounded_red_btn); - } else if (statusVisit.equals("DUE")) { - textview_record_visit.setVisibility(View.VISIBLE); - textview_record_visit.setBackgroundResource(R.drawable.rounded_blue_btn); - } else if (ChildProfileInteractor.VisitType.VISIT_DONE.name().equals(statusVisit)) { - Visit lastVisit = getVisit(Constants.EVENT_TYPE.PNC_HOME_VISIT); - if (lastVisit != null) { - if ((Days.daysBetween(new DateTime(lastVisit.getCreatedAt()), new DateTime()).getDays() < 1) && - (Days.daysBetween(new DateTime(lastVisit.getDate()), new DateTime()).getDays() <= 1)) { - setEditViews(true, true, lastVisit.getDate().getTime()); - } else { - textview_record_visit.setVisibility(View.GONE); - layoutRecordView.setVisibility(View.GONE); - } - - } else { - textview_record_visit.setVisibility(View.VISIBLE); - textview_record_visit.setBackgroundResource(R.drawable.rounded_blue_btn); - } - } else { - textview_record_visit.setVisibility(View.GONE); - layoutRecordView.setVisibility(View.GONE); - } + textview_record_visit.setVisibility(GONE); } private void refreshOnHomeVisitResult() { @@ -243,6 +216,16 @@ protected void onCreation() { notificationListAdapter.setOnClickListener(this); } + @Override + public void setUpComingServicesStatus(String service, AlertStatus status, Date date) { + findViewById(R.id.rlUpcomingServices).setVisibility(GONE); + } + + @Override + public void setFamilyStatus(AlertStatus status) { + findViewById(R.id.view_family_row).setVisibility(GONE); + } + @Override public void registerPresenter() { presenter = new PncMemberProfilePresenter(this, new PncMemberProfileInteractor(this), memberObject); @@ -339,17 +322,17 @@ private void setEditViews(boolean enable, boolean within24Hours, Long longDate) String pncDay = pncMemberProfileInteractor.getPncDay(memberObject.getBaseEntityId()); layoutNotRecordView.setVisibility(View.VISIBLE); tvEdit.setVisibility(View.VISIBLE); - textViewUndo.setVisibility(View.GONE); + textViewUndo.setVisibility(GONE); textViewNotVisitMonth.setVisibility(View.VISIBLE); textViewNotVisitMonth.setText(MessageFormat.format(getContext().getString(R.string.pnc_visit_done), pncDay)); imageViewCross.setImageResource(R.drawable.activityrow_visited); - textview_record_visit.setVisibility(View.GONE); + textview_record_visit.setVisibility(GONE); } else { - layoutNotRecordView.setVisibility(View.GONE); + layoutNotRecordView.setVisibility(GONE); } } else { - layoutNotRecordView.setVisibility(View.GONE); + layoutNotRecordView.setVisibility(GONE); } } @@ -378,10 +361,10 @@ private void addPncReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_danger_signs), BuildConfig.USE_UNIFIED_REFERRAL_APPROACH ? JSON_FORM.getPncUnifiedReferralForm() : JSON_FORM.getPncReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); - // if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { + // if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { // referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), // CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); - // } + // } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PncRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PncRegisterFragment.java index 01ce3f2379..a14e37c881 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PncRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PncRegisterFragment.java @@ -12,14 +12,26 @@ import org.smartregister.chw.core.utils.QueryGenerator; import org.smartregister.chw.model.ChwPncRegisterFragmentModel; import org.smartregister.chw.presenter.PncRegisterFragmentPresenter; +import org.smartregister.chw.provider.ChwPncRegisterProvider; import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.configurableviews.model.View; +import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; import java.text.MessageFormat; +import java.util.Set; import timber.log.Timber; public class PncRegisterFragment extends CorePncRegisterFragment { + @Override + public void initializeAdapter(Set visibleColumns) { + ChwPncRegisterProvider provider = new ChwPncRegisterProvider(getActivity(), commonRepository(), visibleColumns, registerActionHandler, paginationViewHandler); + clientAdapter = new RecyclerViewPaginatedAdapter(null, provider, context().commonrepository(this.tablename)); + clientAdapter.setCurrentlimit(20); + clientsView.setAdapter(clientAdapter); + } + @Override protected void openHomeVisit(CommonPersonObjectClient client) { PncHomeVisitActivity.startMe(getActivity(), new MemberObject(client), false); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwPncRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwPncRegisterProvider.java new file mode 100644 index 0000000000..b67d1ebf15 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwPncRegisterProvider.java @@ -0,0 +1,20 @@ +package org.smartregister.chw.provider; + +import android.content.Context; +import android.view.View; + +import org.smartregister.chw.core.rule.PncVisitAlertRule; +import org.smartregister.commonregistry.CommonRepository; + +import java.util.Set; + +public class ChwPncRegisterProvider extends org.smartregister.chw.core.provider.ChwPncRegisterProvider { + public ChwPncRegisterProvider(Context context, CommonRepository commonRepository, Set visibleColumns, View.OnClickListener onClickListener, View.OnClickListener paginationClickListener) { + super(context, commonRepository, visibleColumns, onClickListener, paginationClickListener); + } + + @Override + protected void updateDueColumn(Context context, RegisterViewHolder viewHolder, PncVisitAlertRule pncVisitAlertRule) { + viewHolder.dueWrapper.setVisibility(View.GONE); + } +} diff --git a/opensrp-chw/src/main/res/layout/view_chw_anc_record_visit.xml b/opensrp-chw/src/main/res/layout/view_chw_anc_record_visit.xml new file mode 100644 index 0000000000..9eb339ca3e --- /dev/null +++ b/opensrp-chw/src/main/res/layout/view_chw_anc_record_visit.xml @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json index fa562fc126..6c6e5b01fb 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json @@ -68,6 +68,15 @@ "openmrs_entity_parent": "" }, "options": [ + { + "name": "home_delivery", + "text": "Mama kajifungulia nyumbani", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "home_delivery", + "openmrs_entity_parent": "" + } + }, { "name": "Vaginal_bleeding", "text": "Kutoka damu ukenig", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json index 6cc0407f1c..acf5e291b9 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json @@ -68,6 +68,15 @@ "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "options": [ + { + "name": "home_delivery", + "text": "Home delivery", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "home_delivery", + "openmrs_entity_parent": "" + } + }, { "name": "Vaginal_bleeding", "text": "Vaginal bleeding", From 42057d9f2e467c54cbd8154fdedfc72c8785153a Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Apr 2022 16:40:15 +0300 Subject: [PATCH 373/915] Refactored referrals register due only to only show successful referrals --- .../chw/presenter/ReferralRegisterFragmentPresenter.java | 2 +- opensrp-chw/src/nacp/res/values-sw/strings.xml | 1 + opensrp-chw/src/nacp/res/values/strings.xml | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java index f39f3ca4e5..2cae203451 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java @@ -31,7 +31,7 @@ public String getMainCondition() { @NotNull public String getDueFilterCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND " + Constants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " = '" + CoreConstants.BUSINESS_STATUS.REFERRED + "' " + + "AND " + Constants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " = '" + CoreConstants.BUSINESS_STATUS.COMPLETE + "' " + "AND " + Tables.REFERRAL + "." + DBConstants.Key.REFERRAL_TYPE + " = '" + ReferralType.COMMUNITY_TO_FACILITY_REFERRAL + "' "; } diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 7534c31d02..acbf623c4e 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -33,4 +33,5 @@ Mama Kinara Rudi kwa Wateja wa Mama Kinara Mrejesho wa Ufuatiliji wa Mama Kinara + Rufaa zilizokamilika tu \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index cfe15a910e..3148d0abaf 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -31,4 +31,5 @@ Register this client as Partner? View Partner Profile Back to Mother Champion\'s Followup Clients + Successful Referrals only \ No newline at end of file From a9b9c9ad9c49c16271f5ff50acfe1307bce38bea Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Apr 2022 16:44:33 +0300 Subject: [PATCH 374/915] Disabled updates register from the navigation menu --- .../java/org/smartregister/chw/model/NavigationModelFlv.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java index 79ddbcfc81..a315a4e8f8 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -35,7 +35,7 @@ public List getNavigationItems() { NavigationOption op14 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { - navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op2, op13, op8, op9, op7, op6, op14)); + navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op2, op13, op8, op7, op6, op14)); } else { navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) From a1ea1077586ef5a01a1cdc2eebae2084b37b7768 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Apr 2022 16:55:45 +0300 Subject: [PATCH 375/915] refactor/updated all clients query constant to sort clients by last interacted with --- .../java/org/smartregister/chw/util/ChwQueryConstant.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java index 4012fcb0ee..17233e5a20 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java @@ -1,7 +1,7 @@ package org.smartregister.chw.util; public interface ChwQueryConstant { - String ALL_CLIENTS_SELECT_QUERY = "" + + String ALL_CLIENTS_SELECT_QUERY = "SELECT * FROM (" + "/*INDEPENDENT MEMBERS*/\n" + "SELECT ec_family_member.first_name,\n" + " ec_family_member.middle_name,\n" + @@ -329,7 +329,7 @@ public interface ChwQueryConstant { " WHERE ec_tb_register.tb_case_closure_date is null\n" + " UNION ALL\n" + " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + - " FROM ec_hiv_register\n" + + " FROM ec_hiv_register)\n" + ")\n" + "ORDER BY last_interacted_with DESC;"; } From e2cff275d822fc1d840849f66b89583e09ceb113 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Apr 2022 16:59:11 +0300 Subject: [PATCH 376/915] refactor/Navigation Model FLv to disable tb, fp and children --- .../java/org/smartregister/chw/model/NavigationModelFlv.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java index a315a4e8f8..7ade0ce3e2 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -35,7 +35,7 @@ public List getNavigationItems() { NavigationOption op14 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { - navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op2, op13, op8, op7, op6, op14)); + navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op13, op8)); } else { navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) From ed59c801ff889025a76b740a8b6c7b7a2d80466e Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 26 Apr 2022 16:59:39 +0300 Subject: [PATCH 377/915] update: menu icons for all clients --- .../java/org/smartregister/chw/model/NavigationModelFlv.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java index a315a4e8f8..9f0ff3a632 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -28,7 +28,7 @@ public List getNavigationItems() { NavigationOption op7 = new NavigationOption(R.mipmap.sidemenu_malaria, R.mipmap.sidemenu_malaria_active, R.string.menu_malaria, Constants.DrawerMenu.MALARIA, 0); NavigationOption op8 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.menu_referrals, Constants.DrawerMenu.REFERRALS, 0); NavigationOption op9 = new NavigationOption(R.mipmap.sidemenu_updates, R.mipmap.sidemenu_updates_active, R.string.updates, CoreConstants.DrawerMenu.UPDATES, 0); - NavigationOption op10 = new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0); + NavigationOption op10 = new NavigationOption(R.drawable.sidemenu_all_clients, R.drawable.sidemenu_all_clients_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0); NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.CBHS_CLIENTS, 0); NavigationOption op12 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_index_contacts, CoreConstants.DrawerMenu.HIV_INDEX_CLIENTS, 0); NavigationOption op13 = new NavigationOption(R.drawable.sidemenu_pmtct, R.drawable.sidemenu_pmtct_active, R.string.mother_champion, CoreConstants.DrawerMenu.MOTHER_CHAMPION, 0); From fcd7b174c661c50e7902b7a34eef4eb3f1f64c47 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Apr 2022 17:07:34 +0300 Subject: [PATCH 378/915] refactor/disabled service reports and community responders for NACP flavour --- .../smartregister/chw/application/ChwApplicationFlv.java | 4 ++-- .../smartregister/chw/custom_view/NavigationMenuFlv.java | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java index f638daa41c..4213ad9695 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java @@ -56,7 +56,7 @@ public boolean hasMalaria() { @Override public boolean hasServiceReport() { - return true; + return false; } public boolean hasQR() { @@ -75,7 +75,7 @@ public boolean hasTasks() { @Override public boolean hasStockUsageReport() { - return true; + return false; } @Override diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java index 4d85bcdeed..27613209f7 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java @@ -31,17 +31,17 @@ public HashMap getTableMapValues() { @Override public boolean hasServiceReport() { - return true; + return false; } @Override public boolean hasStockReport() { - return true; + return false; } @Override public boolean hasCommunityResponders() { - return true; + return false; } @Override From a5d8846a4041405df7e03fffeb7fa295a025109b Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Apr 2022 17:29:51 +0300 Subject: [PATCH 379/915] refactor/ referral register due button text --- .../chw/presenter/ReferralRegisterFragmentPresenter.java | 2 +- opensrp-chw/src/nacp/res/values-sw/strings.xml | 2 +- opensrp-chw/src/nacp/res/values/strings.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java index 2cae203451..58243cce2d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java @@ -31,7 +31,7 @@ public String getMainCondition() { @NotNull public String getDueFilterCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND " + Constants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " = '" + CoreConstants.BUSINESS_STATUS.COMPLETE + "' " + + "AND " + Constants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " = '" + CoreConstants.BUSINESS_STATUS.EXPIRED + "' " + "AND " + Tables.REFERRAL + "." + DBConstants.Key.REFERRAL_TYPE + " = '" + ReferralType.COMMUNITY_TO_FACILITY_REFERRAL + "' "; } diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index acbf623c4e..19788dd943 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -33,5 +33,5 @@ Mama Kinara Rudi kwa Wateja wa Mama Kinara Mrejesho wa Ufuatiliji wa Mama Kinara - Rufaa zilizokamilika tu + Rufaa hazikukamilika tu \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 3148d0abaf..cfb1a89b3e 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -31,5 +31,5 @@ Register this client as Partner? View Partner Profile Back to Mother Champion\'s Followup Clients - Successful Referrals only + Not Completed only \ No newline at end of file From c5b51d7c0a9d27746e75359813074a661fe44e17 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Apr 2022 17:31:47 +0300 Subject: [PATCH 380/915] refactor/ referral register revert due button --- opensrp-chw/src/nacp/res/values-sw/strings.xml | 1 - opensrp-chw/src/nacp/res/values/strings.xml | 1 - 2 files changed, 2 deletions(-) diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 19788dd943..7534c31d02 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -33,5 +33,4 @@ Mama Kinara Rudi kwa Wateja wa Mama Kinara Mrejesho wa Ufuatiliji wa Mama Kinara - Rufaa hazikukamilika tu \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index cfb1a89b3e..cfe15a910e 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -31,5 +31,4 @@ Register this client as Partner? View Partner Profile Back to Mother Champion\'s Followup Clients - Not Completed only \ No newline at end of file From 27ff5ae1357b26dcc9635183c1968ab702f32609 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Apr 2022 17:33:21 +0300 Subject: [PATCH 381/915] refactor/ referral register revert due button --- opensrp-chw/src/nacp/res/values-sw/strings.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 7534c31d02..0df5adc245 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -32,5 +32,4 @@ Rudi kwa Wateja wa Ufuatiliaji wa Mama Kinara Mama Kinara Rudi kwa Wateja wa Mama Kinara - Mrejesho wa Ufuatiliji wa Mama Kinara \ No newline at end of file From ddf58a6de8afb6856f602719e03d7b73c1324984 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 26 Apr 2022 21:23:20 +0300 Subject: [PATCH 382/915] add: sucessful referral page for referrence --- .../activity/ReferralRegisterActivity.java | 39 ++- .../CompletedReferralRegisterFragment.java | 308 ++++++++++++++++++ ...etedReferralRegisterFragmentPresenter.java | 49 +++ .../ReferralRegisterFragmentPresenter.java | 3 +- .../res/menu/referrals_bottom_nav_menu.xml | 17 + opensrp-chw/src/main/res/values/strings.xml | 1 + 6 files changed, 398 insertions(+), 19 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/CompletedReferralRegisterFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/CompletedReferralRegisterFragmentPresenter.java create mode 100644 opensrp-chw/src/main/res/menu/referrals_bottom_nav_menu.xml diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ReferralRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ReferralRegisterActivity.java index 21db254e55..620041fda6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ReferralRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ReferralRegisterActivity.java @@ -3,8 +3,9 @@ import android.app.Activity; import android.content.Intent; import android.os.Bundle; +import android.view.MenuItem; -import com.google.android.material.bottomnavigation.LabelVisibilityMode; +import com.google.android.material.bottomnavigation.BottomNavigationView; import org.apache.commons.lang3.tuple.Triple; import org.jetbrains.annotations.NotNull; @@ -13,16 +14,17 @@ import org.json.JSONObject; import org.smartregister.chw.R; import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.fragment.CompletedReferralRegisterFragment; import org.smartregister.chw.fragment.ReferralRegisterFragment; import org.smartregister.chw.malaria.util.MalariaJsonFormUtils; import org.smartregister.chw.referral.activity.BaseReferralRegisterActivity; import org.smartregister.chw.util.Constants; import org.smartregister.helper.BottomNavigationHelper; -import org.smartregister.listener.BottomNavigationListener; import java.util.Collections; import java.util.List; +import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import timber.log.Timber; @@ -33,7 +35,7 @@ import static org.smartregister.util.JsonFormUtils.VALUE; import static org.smartregister.util.JsonFormUtils.getFieldJSONObject; -public class ReferralRegisterActivity extends BaseReferralRegisterActivity { +public class ReferralRegisterActivity extends BaseReferralRegisterActivity implements BottomNavigationView.OnNavigationItemSelectedListener { public static void startReferralRegistrationActivity(Activity activity, String baseEntityID) { Intent intent = new Intent(activity, ReferralRegisterActivity.class); @@ -46,7 +48,7 @@ public static void startReferralRegistrationActivity(Activity activity, String b @NotNull @Override protected Fragment[] getOtherFragments() { - return new Fragment[]{}; + return new CompletedReferralRegisterFragment[]{new CompletedReferralRegisterFragment()}; } @NotNull @@ -70,21 +72,10 @@ protected void onCreate(Bundle savedInstanceState) { protected void registerBottomNavigation() { bottomNavigationHelper = new BottomNavigationHelper(); bottomNavigationView = findViewById(org.smartregister.R.id.bottom_navigation); + bottomNavigationView.getMenu().clear(); - if (bottomNavigationView != null) { - bottomNavigationView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED); - bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_clients); - bottomNavigationView.getMenu().removeItem(org.smartregister.chw.referral.R.id.action_register); - bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_search); - bottomNavigationView.getMenu().removeItem(org.smartregister.R.id.action_library); - - bottomNavigationView.inflateMenu(getMenuResource()); - bottomNavigationHelper.disableShiftMode(bottomNavigationView); - - BottomNavigationListener referralBottomNavigationListener = getBottomNavigation(this); - bottomNavigationView.setOnNavigationItemSelectedListener(referralBottomNavigationListener); - - } + bottomNavigationView.inflateMenu(R.menu.referrals_bottom_nav_menu); + bottomNavigationView.setOnNavigationItemSelectedListener(this); } @Override @@ -137,5 +128,17 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { } } + + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { + if (menuItem.getItemId() == R.id.action_home) { + switchToFragment(0); + return true; + } else if (menuItem.getItemId() == R.id.action_completed_referrals) { + switchToFragment(1); + return true; + } else + return false; + } } \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/CompletedReferralRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/CompletedReferralRegisterFragment.java new file mode 100644 index 0000000000..ae466552de --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/CompletedReferralRegisterFragment.java @@ -0,0 +1,308 @@ +package org.smartregister.chw.fragment; + +import android.database.Cursor; +import android.os.Bundle; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.TextView; + +import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; +import org.smartregister.chw.R; +import org.smartregister.chw.activity.ChwReferralDetailsViewActivity; +import org.smartregister.chw.activity.MalariaFollowUpVisitActivity; +import org.smartregister.chw.anc.util.DBConstants; +import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.core.utils.QueryBuilder; +import org.smartregister.chw.model.ReferralRegisterFragmentModel; +import org.smartregister.chw.presenter.CompletedReferralRegisterFragmentPresenter; +import org.smartregister.chw.referral.contract.BaseReferralRegisterFragmentContract; +import org.smartregister.chw.referral.domain.MemberObject; +import org.smartregister.chw.referral.fragment.BaseReferralRegisterFragment; +import org.smartregister.chw.referral.provider.ReferralRegisterProvider; +import org.smartregister.chw.util.Constants; +import org.smartregister.chw.util.Utils; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.commonregistry.CommonRepository; +import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.view.activity.BaseRegisterActivity; +import org.smartregister.view.contract.BaseRegisterFragmentContract; +import org.smartregister.view.customcontrols.CustomFontTextView; + +import java.text.MessageFormat; +import java.util.HashMap; +import java.util.List; +import java.util.Set; + +import androidx.appcompat.widget.Toolbar; +import androidx.loader.content.CursorLoader; +import androidx.loader.content.Loader; +import timber.log.Timber; + +public class CompletedReferralRegisterFragment extends BaseReferralRegisterFragment { + + private static final String DUE_FILTER_TAG = "PRESSED"; + private View view; + private View dueOnlyLayout; + private boolean dueFilterActive = false; + + @Override + public void initializeAdapter(@Nullable Set visibleColumns) { + ReferralRegisterProvider referralRegisterProvider = new ReferralRegisterProvider(getActivity(), paginationViewHandler, registerActionHandler, visibleColumns); + clientAdapter = new RecyclerViewPaginatedAdapter(null, referralRegisterProvider, context().commonrepository(this.tablename)); + clientAdapter.setCurrentlimit(20); + clientsView.setAdapter(clientAdapter); + } + + @Override + public void setupViews(View view) { + super.setupViews(view); + this.view = view; + + Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); + toolbar.setContentInsetsAbsolute(0, 0); + toolbar.setContentInsetsRelative(0, 0); + toolbar.setContentInsetStartWithNavigation(0); + + NavigationMenu.getInstance(getActivity(), null, toolbar); + + View navbarContainer = view.findViewById(R.id.register_nav_bar_container); + navbarContainer.setFocusable(false); + + LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); + View searchBarLayout = view.findViewById(R.id.search_bar_layout); + searchBarLayout.setLayoutParams(params); + searchBarLayout.setBackgroundResource(R.color.chw_primary); + searchBarLayout.setPadding(searchBarLayout.getPaddingLeft(), searchBarLayout.getPaddingTop(), searchBarLayout.getPaddingRight(), (int) Utils.convertDpToPixel(10, getActivity())); + + CustomFontTextView titleView = view.findViewById(R.id.txt_title_label); + if (titleView != null) { + titleView.setPadding(0, titleView.getTop(), titleView.getPaddingRight(), titleView.getPaddingBottom()); + } + + View topLeftLayout = view.findViewById(R.id.top_left_layout); + topLeftLayout.setVisibility(View.GONE); + + View topRightLayout = view.findViewById(R.id.top_right_layout); + topRightLayout.setVisibility(View.VISIBLE); + + View sortFilterBarLayout = view.findViewById(R.id.register_sort_filter_bar_layout); + sortFilterBarLayout.setVisibility(View.GONE); + + View filterSortLayout = view.findViewById(R.id.filter_sort_layout); + filterSortLayout.setVisibility(View.GONE); + + dueOnlyLayout = view.findViewById(R.id.due_only_layout); + dueOnlyLayout.setVisibility(View.GONE); + + if (getSearchView() != null) { + getSearchView().setBackgroundResource(org.smartregister.family.R.color.white); + getSearchView().setCompoundDrawablesWithIntrinsicBounds(org.smartregister.family.R.drawable.ic_action_search, 0, 0, 0); + getSearchView().setTextColor(getResources().getColor(R.color.text_black)); + } + } + + @Override + protected void initializePresenter() { + if (getActivity() == null) { + return; + } + String viewConfigurationIdentifier = ((BaseRegisterActivity) getActivity()).getViewIdentifiers().get(0); + presenter = (BaseRegisterFragmentContract.Presenter) new CompletedReferralRegisterFragmentPresenter((BaseReferralRegisterFragmentContract.View) this, (BaseReferralRegisterFragmentContract.Model) new ReferralRegisterFragmentModel(), viewConfigurationIdentifier); + } + + @Override + public void setAdvancedSearchFormData(HashMap hashMap) { + //TODO + //Log.d(TAG, "setAdvancedSearchFormData unimplemented"); + } + + @Override + protected void onViewClicked(View view) { + super.onViewClicked(view); + + if (view.getId() == R.id.due_only_layout) { + toggleFilterSelection(view); + } + } + + protected void toggleFilterSelection(View dueOnlyLayout) { + if (dueOnlyLayout != null) { + if (dueOnlyLayout.getTag() == null) { + dueFilterActive = true; + dueFilter(dueOnlyLayout); + } else if (dueOnlyLayout.getTag().toString().equals(DUE_FILTER_TAG)) { + dueFilterActive = false; + normalFilter(dueOnlyLayout); + } + } + } + + protected String searchText() { + return (getSearchView() == null) ? "" : getSearchView().getText().toString(); + } + + private void switchViews(View dueOnlyLayout, boolean isPress) { + TextView dueOnlyTextView = dueOnlyLayout.findViewById(R.id.due_only_text_view); + if (isPress) { + dueOnlyTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_due_filter_on, 0); + } else { + dueOnlyTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_due_filter_off, 0); + + } + } + + @Override + protected void openProfile(CommonPersonObjectClient client) { + ChwReferralDetailsViewActivity.startChwReferralDetailsViewActivity(getActivity(), new MemberObject(client), client); + } + + @Override + protected void openFollowUpVisit(CommonPersonObjectClient client) { + MalariaFollowUpVisitActivity.startMalariaRegistrationActivity(getActivity(), client.getCaseId(), null); + } + + @Override + protected void onResumption() { + if (dueFilterActive && dueOnlyLayout != null) { + dueFilter(dueOnlyLayout); + } else { + super.onResumption(); + } + } + + @Override + public void onResume() { + super.onResume(); + + Toolbar toolbar = view.findViewById(org.smartregister.R.id.register_toolbar); + toolbar.setContentInsetsAbsolute(0, 0); + toolbar.setContentInsetsRelative(0, 0); + toolbar.setContentInsetStartWithNavigation(0); + NavigationMenu.getInstance(getActivity(), null, toolbar); + } + + @Override + protected void refreshSyncProgressSpinner() { + if (syncProgressBar != null) { + syncProgressBar.setVisibility(View.GONE); + } + if (syncButton != null) { + syncButton.setVisibility(View.GONE); + } + } + + private String defaultFilterAndSortQuery() { + SmartRegisterQueryBuilder sqb = new SmartRegisterQueryBuilder(mainSelect); + + String query = ""; + StringBuilder customFilter = new StringBuilder(); + if (StringUtils.isNotBlank(filters)) { + customFilter.append(MessageFormat.format(" and ( {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.FIRST_NAME, filters)); + customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.LAST_NAME, filters)); + customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.MIDDLE_NAME, filters)); + customFilter.append(MessageFormat.format(" or {0}.{1} like ''%{2}%'' ) ", Constants.TABLE_NAME.FAMILY_MEMBER, DBConstants.KEY.UNIQUE_ID, filters)); + + } + if (dueFilterActive) { + customFilter.append(MessageFormat.format(" and ( {0}) ", presenter().getDueFilterCondition())); + } + try { + if (isValidFilterForFts(commonRepository())) { + + String myquery = QueryBuilder.getQuery(joinTables, mainCondition, tablename, customFilter.toString(), clientAdapter, Sortqueries); + List ids = commonRepository().findSearchIds(myquery); + query = sqb.toStringFts(ids, tablename, CommonRepository.ID_COLUMN, + Sortqueries); + query = sqb.Endquery(query); + } else { + sqb.addCondition(customFilter.toString()); + query = sqb.orderbyCondition(Sortqueries); + query = sqb.Endquery(sqb.addlimitandOffset(query, clientAdapter.getCurrentlimit(), clientAdapter.getCurrentoffset())); + + } + } catch (Exception e) { + Timber.e(e); + } + + return query; + } + + + @Override + public void countExecute() { + Cursor c = null; + try { + + String query = "select count(*) from " + presenter().getMainTable() + " inner join " + Constants.TABLE_NAME.FAMILY_MEMBER + + " on " + presenter().getMainTable() + "." + DBConstants.KEY.BASE_ENTITY_ID + " = " + + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.BASE_ENTITY_ID + + " where " + presenter().getMainCondition(); + + if (StringUtils.isNotBlank(filters)) { + query = query + " and ( " + filters + " ) "; + } + + if (dueFilterActive) { + query = query + " and ( " + presenter().getDueFilterCondition() + " ) "; + } + + c = commonRepository().rawCustomQueryForAdapter(query); + c.moveToFirst(); + clientAdapter.setTotalcount(c.getInt(0)); + Timber.v("total count here %s", clientAdapter.getTotalcount()); + + clientAdapter.setCurrentlimit(20); + clientAdapter.setCurrentoffset(0); + + } catch (Exception e) { + Timber.e(e); + } finally { + if (c != null) { + c.close(); + } + } + } + + @Override + public Loader onCreateLoader(int id, final Bundle args) { + if (id == LOADER_ID) { + return new CursorLoader(getActivity()) { + @Override + public Cursor loadInBackground() { + // Count query + final String COUNT = "count_execute"; + if (args != null && args.getBoolean(COUNT)) { + countExecute(); + } + String query = defaultFilterAndSortQuery(); + return commonRepository().rawCustomQueryForAdapter(query); + } + }; + } + return super.onCreateLoader(id, args); + } + + protected void dueFilter(View dueOnlyLayout) { + filterDue(searchText(), "", presenter().getDueFilterCondition()); + dueOnlyLayout.setTag(DUE_FILTER_TAG); + switchViews(dueOnlyLayout, true); + } + + protected void normalFilter(View dueOnlyLayout) { + filterDue(searchText(), "", presenter().getMainCondition()); + dueOnlyLayout.setTag(null); + switchViews(dueOnlyLayout, false); + } + + protected void filterDue(String filterString, String joinTableString, String mainConditionString) { + filters = filterString; + joinTable = joinTableString; + mainCondition = mainConditionString; + filterandSortExecute(countBundle()); + } + +} + + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/CompletedReferralRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/CompletedReferralRegisterFragmentPresenter.java new file mode 100644 index 0000000000..8b5f855031 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/CompletedReferralRegisterFragmentPresenter.java @@ -0,0 +1,49 @@ +package org.smartregister.chw.presenter; + +import org.jetbrains.annotations.NotNull; +import org.smartregister.chw.R; +import org.smartregister.chw.core.utils.ChwDBConstants; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.referral.contract.BaseReferralRegisterFragmentContract; +import org.smartregister.chw.referral.presenter.BaseReferralRegisterFragmentPresenter; +import org.smartregister.chw.referral.util.DBConstants; +import org.smartregister.chw.util.Constants; + +import static org.smartregister.chw.referral.util.Constants.ReferralType; +import static org.smartregister.chw.referral.util.Constants.Tables; + +public class CompletedReferralRegisterFragmentPresenter extends BaseReferralRegisterFragmentPresenter { + + public CompletedReferralRegisterFragmentPresenter(BaseReferralRegisterFragmentContract.View view, BaseReferralRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { + super(view, model, viewConfigurationIdentifier); + } + + @Override + @NotNull + public String getMainCondition() { + return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + + "AND " + Tables.REFERRAL + "." + DBConstants.Key.REFERRAL_TYPE + " = '" + ReferralType.COMMUNITY_TO_FACILITY_REFERRAL + "' " + + "AND " + CoreConstants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " = '" + CoreConstants.BUSINESS_STATUS.COMPLETE + "' "; + + } + + @Override + @NotNull + public String getDueFilterCondition() { + return " "; + + } + + @Override + public void processViewConfigurations() { + super.processViewConfigurations(); + if (getConfig().getSearchBarText() != null && getView() != null) { + getView().updateSearchBarHint(getView().getContext().getString(R.string.search_name_or_id)); + } + } + + @Override + public String getMainTable() { + return Tables.REFERRAL; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java index 58243cce2d..080b55b59d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ReferralRegisterFragmentPresenter.java @@ -23,7 +23,8 @@ public ReferralRegisterFragmentPresenter(BaseReferralRegisterFragmentContract.Vi public String getMainCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + "AND " + Tables.REFERRAL + "." + DBConstants.Key.REFERRAL_TYPE + " = '" + ReferralType.COMMUNITY_TO_FACILITY_REFERRAL + "' " + - "AND " + CoreConstants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " <> '" + CoreConstants.BUSINESS_STATUS.CANCELLED + "' "; + "AND " + CoreConstants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " <> '" + CoreConstants.BUSINESS_STATUS.CANCELLED + "' " + + "AND " + CoreConstants.TABLE_NAME.TASK + "." + ChwDBConstants.TaskTable.BUSINESS_STATUS + " <> '" + CoreConstants.BUSINESS_STATUS.COMPLETE + "' "; } diff --git a/opensrp-chw/src/main/res/menu/referrals_bottom_nav_menu.xml b/opensrp-chw/src/main/res/menu/referrals_bottom_nav_menu.xml new file mode 100644 index 0000000000..bf7a116bab --- /dev/null +++ b/opensrp-chw/src/main/res/menu/referrals_bottom_nav_menu.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index f7fa5468e8..eaa20fcd51 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -417,6 +417,7 @@ Participants: %s Date: %s Return to All Partner Follow-up clients + Successful Referrals From 2d41bd05d12ddfefe533f27d8726dd49e322cf71 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 27 Apr 2022 11:49:09 +0300 Subject: [PATCH 383/915] Edited ANC facility visit form and action title --- .../chw/actionhelper/HealthFacilityVisitAction.java | 3 --- opensrp-chw/src/main/res/values-sw/strings.xml | 2 +- opensrp-chw/src/main/res/values/strings.xml | 2 +- .../assets/json.form-sw/anc_hv_health_facility_visit.json | 6 ++---- .../nacp/assets/json.form/anc_hv_health_facility_visit.json | 6 ++---- 5 files changed, 6 insertions(+), 13 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/actionhelper/HealthFacilityVisitAction.java b/opensrp-chw/src/main/java/org/smartregister/chw/actionhelper/HealthFacilityVisitAction.java index 4393475af3..decda4b68a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/actionhelper/HealthFacilityVisitAction.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/actionhelper/HealthFacilityVisitAction.java @@ -67,9 +67,6 @@ public String getPreProcessed() { LocalDate visitDate = dateList.get(0); scheduleStatus = (visitDate.isBefore(LocalDate.now())) ? BaseAncHomeVisitAction.ScheduleStatus.OVERDUE : BaseAncHomeVisitAction.ScheduleStatus.DUE; - String due = (visitDate.isBefore(LocalDate.now())) ? context.getString(R.string.overdue) : context.getString(R.string.due); - - subTitle = MessageFormat.format("{0}{1}", due, DateTimeFormat.forPattern("dd MMM yyyy").print(visitDate)); String title = jsonObject.getJSONObject(JsonFormConstants.STEP1).getString(JsonFormConstants.STEP_TITLE); jsonObject.getJSONObject(JsonFormConstants.STEP1).put("title", MessageFormat.format(title, memberObject.getConfirmedContacts() + 1)); diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index 544f59a64d..fce20143fb 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -179,7 +179,7 @@ Dalili za hatari - Hudhurio la {0} la kliniki ya wajawazito katika kituo cha kutolea huduma za afya + Hudhurio la kliniki ya wajawazito katika kituo cha afya Uzazi wa Mpango Hali ya lishe Ushauri diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index eaa20fcd51..c8152b81e8 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -158,7 +158,7 @@ Danger signs - ANC {0} health facility visit + ANC health facility visit Family planning Nutrition status Counselling diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_health_facility_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_health_facility_visit.json index 08341669a9..fa7a35fa40 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_health_facility_visit.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Hudhurio la {0} Kituo cha Afya", + "title": "Hudhurio katika Kituo cha Afya", "fields": [ { "key": "anc_hf_visit", @@ -55,10 +55,8 @@ "openmrs_entity": "concept", "openmrs_entity_id": "anc_hf_visit", "openmrs_data_type": "select one", - "label_info_title": "Hudhurio la ANC kituoni", - "label_info_text": "Je, Mwanamke alihudhuria tembeleo lake la mwisho la ANC kituoni?", "type": "spinner", - "hint": "Je, Mwanamke alihudhuria tembeleo lake la mwisho la ANC kituoni?\n\n Tarehe ya kukamilisha hudhurio: {1}", + "hint": "Je, Mwanamke alihudhuria tembeleo lake la mwisho la ANC kituoni?", "values": [ "Ndiyo", "Hapana" diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_health_facility_visit.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_health_facility_visit.json index 934aa81b89..42f6d10cf4 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_health_facility_visit.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "ANC {0} health facility visit", + "title": "ANC health facility visit", "fields": [ { "key": "anc_hf_visit", @@ -55,10 +55,8 @@ "openmrs_entity": "concept", "openmrs_entity_id": "anc_hf_visit", "openmrs_data_type": "select one", - "label_info_title": "ANC facility visit", - "label_info_text": "Did the woman attend her last scheduled ANC visit at the facility?", "type": "spinner", - "hint": "Did the woman attend her last scheduled ANC visit at the facility?\n\nVisit due date: {1}", + "hint": "Did the woman attend her last scheduled ANC visit at the facility?", "values": [ "Yes", "No" From 9848fc69c104c73ab4a4397d3a5f2ae10f0e2082 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 27 Apr 2022 11:50:15 +0300 Subject: [PATCH 384/915] Refactored and edited ANC member registration form --- .../json.form-sw/anc_member_registration.json | 88 ++++++------------- .../json.form/anc_member_registration.json | 81 +++++------------ .../anc_member_registration_calculation.yml | 2 +- .../anc_member_registration_relevance.yml | 22 +---- 4 files changed, 50 insertions(+), 143 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index d970cd4a97..b0720112ba 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -71,64 +71,20 @@ "v_required": { "value": "true", "err": "Tarehe ya mwisho ya hedhi ya kawaida" - }, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_calculation.yml" - } - } - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } } }, - { - "key": "last_menstrual_period_unknown", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "last_menstrual_period_unknown", - "openmrs_data_type": "text", - "type": "check_box", - "options": [ - { - "key": "lmp_unknown", - "text": "Kipindi cha mwisho cha hedhi hakijulikani", - "text_size": "18px", - "value": "false" - } - ] - }, { "key": "edd", "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "edd", - "type": "date_picker", - "hint": "Tarehe ya Kujifungua inayotarajiwa (EDD)", - "max_date": "today+50w", - "min_date": "today", + "type": "hidden", "calculation": { "rules-engine": { "ex-rules": { "rules-file": "anc_member_registration_calculation.yml" } } - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } - }, - "v_required": { - "value": "true", - "err": "Inahitajika" } }, { @@ -161,13 +117,6 @@ "rules-file": "anc_member_registration_calculation.yml" } } - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } } }, { @@ -191,7 +140,7 @@ "openmrs_entity_id": "no_prev_preg", "type": "edit_text", "edit_type": "number", - "hint": "Idadi ya mimba zilizopita", + "hint": "Idadi ya mimba (Ikiwa ni pamoja na mimba ya sasa)", "v_required": { "value": "true", "err": "Sawa na au zaidi ya 0" @@ -226,7 +175,7 @@ "openmrs_entity_id": "delivery_method", "type": "check_box", "combine_checkbox_option_values": "true", - "label": "Je, umejifungua mtoto/watoto wako kwa njia ya kawaida au kwa njia ya upasuaji?", + "label": "Njia ya kujifungua kwa mimba za awali", "label_text_style": "normal", "text_color": "#C0C0C0", "relevance": { @@ -261,7 +210,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhali chagua moja" + "err": "Tafadhali chagua zote zinazotumika" } }, { @@ -270,7 +219,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "delivery_method_one", "type": "native_radio", - "label": "Je, umejifungua mtoto/watoto wako kwa njia ya kawaida au kwa njia ya upasuaji?", + "label": "Njia ya kujifungua kwa mimba ya awali", "label_text_style": "normal", "text_color": "#C0C0C0", "relevance": { @@ -305,7 +254,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhali chagua zote zinazotumika" + "err": "Tafadhali chagua moja" } }, { @@ -315,7 +264,7 @@ "openmrs_entity_id": "no_surv_children", "type": "edit_text", "edit_type": "number", - "hint": "Idadi ya watoto walio hai", + "hint": "Idadi watoto hai", "relevance": { "rules-engine": { "ex-rules": { @@ -331,9 +280,19 @@ "value": "true", "err": "Must be a rounded number" }, - "v_relative_max": { - "value": "no_prev_preg", - "err": "Number must be less than or equal to Number of Previous Pregnancies" + "constraints": [ + { + "type": "numeric", + "ex": "lessThan(., step1:no_prev_preg)", + "err": "Namba lazima iwe chini ya idadi ya mimba (ikiwa ni pamoja na mimba ya sasa)" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } } }, { @@ -376,6 +335,10 @@ } } }, + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Tafadhali ingiza jina sahihi" + }, "v_required": { "value": "true", "err": "Tafadhali ingiza jina la mtu huyo" @@ -389,8 +352,7 @@ "type": "edit_text", "hint": "Namba ya simu", "v_required": { - "value": false, - "err": "Haijafafanuliwa" + "value": false }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json index 4f772665cc..01d5e478be 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -71,64 +71,20 @@ "v_required": { "value": "true", "err": "LMP required" - }, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_calculation.yml" - } - } - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } } }, - { - "key": "last_menstrual_period_unknown", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "last_menstrual_period_unknown", - "openmrs_data_type": "text", - "type": "check_box", - "options": [ - { - "key": "lmp_unknown", - "text": "LNMP unknown?", - "text_size": "18px", - "value": "false" - } - ] - }, { "key": "edd", "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "edd", - "type": "date_picker", - "hint": "Expected Date of Delivery (EDD)", - "max_date": "today+50w", - "min_date": "today", + "type": "hidden", "calculation": { "rules-engine": { "ex-rules": { "rules-file": "anc_member_registration_calculation.yml" } } - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } - }, - "v_required": { - "value": "true", - "err": "Required" } }, { @@ -161,13 +117,6 @@ "rules-file": "anc_member_registration_calculation.yml" } } - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } } }, { @@ -191,7 +140,7 @@ "openmrs_entity_id": "no_prev_preg", "type": "edit_text", "edit_type": "number", - "hint": "No. of previous pregnancies", + "hint": "Number of pregnancies (Including current pregnancy)", "v_required": { "value": "true", "err": "Equal or greater than 0" @@ -225,7 +174,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "delivery_method", "type": "check_box", - "label": "Have you delivered your child(ren) vaginally or by cesarean section?", + "label": "Mode of delivery of previous pregnancies", "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -261,7 +210,7 @@ ], "v_required": { "value": "true", - "err": "Please select one" + "err": "Please select all that apply" } }, { @@ -270,7 +219,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "delivery_method_one", "type": "native_radio", - "label": "Have you delivered your child(ren) vaginally or by cesarean section?", + "label": "Mode of delivery of previous pregnancy", "label_text_style": "normal", "text_color": "#C0C0C0", "relevance": { @@ -305,7 +254,7 @@ ], "v_required": { "value": "true", - "err": "Please select all that apply" + "err": "Please select one" } }, { @@ -315,7 +264,7 @@ "openmrs_entity_id": "no_surv_children", "type": "edit_text", "edit_type": "number", - "hint": "No. of surviving children", + "hint": "Number of living children", "relevance": { "rules-engine": { "ex-rules": { @@ -331,9 +280,19 @@ "value": "true", "err": "Must be a rounded number" }, - "v_relative_max": { - "value": "no_prev_preg", - "err": "Number must be less than or equal to Number of Previous Pregnancies" + "constraints": [ + { + "type": "numeric", + "ex": "lessThan(., step1:no_prev_preg)", + "err": "Number must be less than Number of Pregnancies (Including current pregnancy)" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml index 1be3229d2e..b91c4cdbf7 100644 --- a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml @@ -20,7 +20,7 @@ description: Edd calculated priority: 1 condition: "true" actions: - - "calculation = step1_last_menstrual_period != '' ? helper.addDuration(step1_last_menstrual_period,'280d') : ''" + - "calculation = helper.addDuration(step1_last_menstrual_period,'280d')" --- name: step1_gravida diff --git a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_relevance.yml b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_relevance.yml index 8b4e88690d..3d3e57d34f 100644 --- a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_relevance.yml @@ -12,13 +12,7 @@ priority: 1 condition: "step1_person_assist == 'Yes'" actions: - "isRelevant = true" ---- -name: step1_last_menstrual_period -description: lmp_entered relevance -priority: 1 -condition: "!step1_last_menstrual_period_unknown.contains('lmp_unknown')" -actions: - - "isRelevant = true" + --- name: step1_edd description: edd relevance @@ -31,7 +25,7 @@ actions: name: step1_delivery_method description: delivery_method relevance priority: 1 -condition: "step1_no_prev_preg >= 2" +condition: "step1_no_prev_preg > 2" actions: - "isRelevant = true" @@ -39,7 +33,7 @@ actions: name: step1_delivery_method_one description: delivery_method relevance priority: 1 -condition: "step1_no_prev_preg == 1" +condition: "step1_no_prev_preg == 2" actions: - "isRelevant = true" @@ -47,14 +41,6 @@ actions: name: step1_no_surv_children description: no_surv_children relevance priority: 1 -condition: "step1_no_prev_preg >= 1" +condition: "step1_no_prev_preg >= 2" actions: - "isRelevant = true" - ---- -name: step1_edd_note -description: edd note relevance -priority: 1 -condition: "!step1_last_menstrual_period_unknown.contains('lmp_unknown')" -actions: - - "isRelevant = true" \ No newline at end of file From 031c45037915c71d33db12936f5cdcb74a7a491b Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 27 Apr 2022 12:27:20 +0300 Subject: [PATCH 385/915] Removed duplicate relevance --- .../assets/json.form-sw/anc_member_registration.json | 9 +-------- .../nacp/assets/json.form/anc_member_registration.json | 9 +-------- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index b0720112ba..64b102b0a7 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -286,14 +286,7 @@ "ex": "lessThan(., step1:no_prev_preg)", "err": "Namba lazima iwe chini ya idadi ya mimba (ikiwa ni pamoja na mimba ya sasa)" } - ], - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } - } + ] }, { "key": "person_assist", diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json index 01d5e478be..d08da6efae 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -286,14 +286,7 @@ "ex": "lessThan(., step1:no_prev_preg)", "err": "Number must be less than Number of Pregnancies (Including current pregnancy)" } - ], - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_relevance.yml" - } - } - } + ] }, { "key": "person_assist", From 9a18575690f20186bbfb081e348d0be3c62de70f Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 27 Apr 2022 12:40:39 +0300 Subject: [PATCH 386/915] Moved other phone number field position --- .../json.form-sw/family_member_register.json | 32 +++++++++---------- .../assets/json.form-sw/family_register.json | 32 +++++++++---------- .../json.form/family_member_register.json | 32 +++++++++---------- .../assets/json.form/family_register.json | 32 +++++++++---------- 4 files changed, 64 insertions(+), 64 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json index 4d5d5afa4c..2f4adc8711 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json @@ -344,6 +344,22 @@ "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." } }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Namba nyingine ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -781,22 +797,6 @@ "err": "Tafadhali chagua moja" } }, - { - "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", - "type": "edit_text", - "hint": "Namba nyingine ya simu", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." - } - }, { "key": "service_provider", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index 42d35523ea..c0634199c9 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -450,6 +450,22 @@ "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." } }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Namba nyingine ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -861,22 +877,6 @@ } } }, - { - "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", - "type": "edit_text", - "hint": "Namba nyingine ya simu", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." - } - }, { "key": "service_provider", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json index c3af1823c4..2f3b85e775 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json @@ -349,6 +349,22 @@ "err": "Number must be 10 digits and must start with 06 or 07." } }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Other phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -786,22 +802,6 @@ "err": "Please select one" } }, - { - "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", - "type": "edit_text", - "hint": "Other phone number", - "v_numeric": { - "value": "true", - "err": "Number must be a total of 10 digits in length" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." - } - }, { "key": "service_provider", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/family_register.json b/opensrp-chw/src/nacp/assets/json.form/family_register.json index fa8b45f352..bebc443273 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_register.json @@ -453,6 +453,22 @@ "err": "Number must be 10 digits and must start with 06 or 07." } }, + { + "key": "other_phone_number", + "openmrs_entity_parent": "phone_number", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_phone_number", + "type": "edit_text", + "hint": "Other phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -864,22 +880,6 @@ } } }, - { - "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", - "type": "edit_text", - "hint": "Other phone number", - "v_numeric": { - "value": "true", - "err": "Number must be a total of 10 digits in length" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." - } - }, { "key": "service_provider", "openmrs_entity_parent": "", From 4ab6665c616b951779c46771b8eebc3af8ac71d4 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 27 Apr 2022 17:17:38 +0300 Subject: [PATCH 387/915] Edited max age for child enrollment to 4 --- .../src/nacp/assets/json.form-sw/child_enrollment.json | 6 +++--- opensrp-chw/src/nacp/assets/json.form/child_enrollment.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json index 190df355f1..7948593404 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json @@ -187,7 +187,7 @@ "duration": { "label": "Age" }, - "min_date": "today-5y", + "min_date": "today-4y", "max_date": "today", "v_required": { "value": "true", @@ -240,8 +240,8 @@ "err": "Umri lazima uwe sawa au zaidi ya 0" }, "v_max": { - "value": "5", - "err": "Umri ni lazima uwe sawa au chini ya 5" + "value": "4", + "err": "Umri ni lazima uwe sawa au chini ya 4" }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json b/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json index 8fc7d95d77..ed8a8dff74 100644 --- a/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json @@ -187,7 +187,7 @@ "duration": { "label": "Age" }, - "min_date": "today-5y", + "min_date": "today-4y", "max_date": "today", "v_required": { "value": "true", @@ -240,8 +240,8 @@ "err": "Age must be equal or greater than 0" }, "v_max": { - "value": "5", - "err": "Age must be equal or less than 5" + "value": "4", + "err": "Age must be equal or less than 4" }, "relevance": { "rules-engine": { From c777d297fafe6dc35bc4715f8c23c26cacf0334e Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 27 Apr 2022 17:18:12 +0300 Subject: [PATCH 388/915] Edited hints --- .../src/nacp/assets/json.form/family_member_register.json | 2 +- opensrp-chw/src/nacp/assets/json.form/family_register.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json index 2f3b85e775..db24caab63 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json @@ -355,7 +355,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", "type": "edit_text", - "hint": "Other phone number", + "hint": "Alternative phone number", "v_numeric": { "value": "true", "err": "Number must be a total of 10 digits in length" diff --git a/opensrp-chw/src/nacp/assets/json.form/family_register.json b/opensrp-chw/src/nacp/assets/json.form/family_register.json index bebc443273..f55c98f450 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_register.json @@ -459,7 +459,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "other_phone_number", "type": "edit_text", - "hint": "Other phone number", + "hint": "Alternative phone number", "v_numeric": { "value": "true", "err": "Number must be a total of 10 digits in length" From 17289629b85344ea9275b2263aeeba29302728d3 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 27 Apr 2022 17:28:35 +0300 Subject: [PATCH 389/915] Marital status qn to show up if age is above 10 --- .../src/nacp/assets/rule/all_clients_member_relevance.yml | 2 +- .../nacp/assets/rule/all_clients_member_update_relevance.yml | 2 +- opensrp-chw/src/nacp/assets/rule/family_member_relevance.yml | 2 +- opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml index 480b3d2971..b3e478b796 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml @@ -44,7 +44,7 @@ actions: name: step2_marital_status description: marital_status relevance priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 14) || (step2_age != '' && step2_age >= 14)" +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') > 10) || (step2_age != '' && step2_age > 10)" actions: - "isRelevant = true" diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml index 51a4487ebf..95e5becea0 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml @@ -94,7 +94,7 @@ actions: name: step1_marital_status description: marital_status relevance priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 14) || (step1_age != '' && step1_age >= 14)" +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') > 10) || (step1_age != '' && step1_age > 10)" actions: - "isRelevant = true" --- diff --git a/opensrp-chw/src/nacp/assets/rule/family_member_relevance.yml b/opensrp-chw/src/nacp/assets/rule/family_member_relevance.yml index c14379bb4c..1143a4c886 100644 --- a/opensrp-chw/src/nacp/assets/rule/family_member_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/family_member_relevance.yml @@ -46,7 +46,7 @@ actions: name: step1_marital_status description: marital_status relevance priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 14) || (step1_age != '' && step1_age >= 14)" +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') > 10) || (step1_age != '' && step1_age > 10)" actions: - "isRelevant = true" --- diff --git a/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml b/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml index 7d4a467685..c2adda01e1 100644 --- a/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml @@ -30,7 +30,7 @@ actions: name: step2_marital_status description: marital_status relevance priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 14) || (step2_age != '' && step2_age >= 14)" +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') > 10) || (step2_age != '' && step2_age > 10)" actions: - "isRelevant = true" --- From 38fc57692cb8db24710186a30978faf8b10d711b Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 27 Apr 2022 17:32:43 +0300 Subject: [PATCH 390/915] Marital status qn to show up if age is above 10 --- opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml b/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml index b378a39201..74c32ff2f5 100644 --- a/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml @@ -51,7 +51,7 @@ actions: name: step2_marital_status description: marital_status relevance priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 14) || (step2_age != '' && step2_age >= 14)" +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') > 10) || (step2_age != '' && step2_age > 10)" actions: - "isRelevant = true" --- From 8b7856c3cec161fcb22deb6c0dcf58cf6e5158b9 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 27 Apr 2022 17:58:11 +0300 Subject: [PATCH 391/915] Edited hints --- opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json | 2 +- opensrp-chw/src/nacp/assets/json.form/anc_hv_malaria.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json index 9a09b32616..99106958b9 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json @@ -115,7 +115,7 @@ "hint": "Hali ya chandarua", "values": [ "Nzuri", - "Mbaya" + "Mbaya (Chandarua imechanika)" ], "keys": [ "Good", diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_malaria.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_malaria.json index b8132775b6..686516a96b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_malaria.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_malaria.json @@ -115,7 +115,7 @@ "hint": "LLIN condition", "values": [ "Good", - "Bad" + "Bad (Torn net)" ], "keys": [ "Good", From 442927f512c1a3bd8ecd38841706461a4bfd97fc Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 28 Apr 2022 10:21:13 +0300 Subject: [PATCH 392/915] refactor/partner followup and other mother champion register issues --- ...artnerFollowupReferralProfileActivity.java | 9 +- .../ChwReferralDetailsViewActivity.java | 3 + .../MotherChampionProfileActivity.java | 2 +- .../activity/PartnerRegistrationActivity.java | 173 +++++++++++++++--- .../smartregister/chw/dao/AncPartnerDao.java | 15 ++ .../MotherChampionRegisterFragment.java | 2 +- .../PmtctFollowupRegisterFragment.java | 2 +- .../org/smartregister/chw/util/Constants.java | 1 + opensrp-chw/src/main/res/values/strings.xml | 4 + .../src/nacp/assets/ec_client_fields.json | 8 + 10 files changed, 192 insertions(+), 27 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index e983cf1fe1..c72b81755b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -4,6 +4,7 @@ import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_FORM_SUBMISSION_ID; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.REFERRAL_FORM_SUBMISSION_ID; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.ReferralFormId; import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; @@ -84,6 +85,7 @@ public class AncPartnerFollowupReferralProfileActivity extends CoreAncMemberProf private List referralTypeModels = new ArrayList<>(); private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); private String referralFormSubmissionId; + private RelativeLayout partnerView; public static void startMe(Activity activity, String baseEntityID, String formSubmissionId) { Intent intent = new Intent(activity, AncPartnerFollowupReferralProfileActivity.class); @@ -130,12 +132,15 @@ public void setupViews() { } }); - RelativeLayout partnerView = findViewById(R.id.rlPartnerView); + partnerView = findViewById(R.id.rlPartnerView); Button registerBtn = findViewById(R.id.register_partner_btn); if (AncPartnerDao.hasPartnerAgreeForRegistration(referralFormSubmissionId) && !AncPartnerDao.isPartnerRegistered(referralFormSubmissionId)) { partnerView.setVisibility(View.VISIBLE); } + if (AncPartnerDao.isPartnerAlreadyRegistered(referralFormSubmissionId)) + partnerView.setVisibility(View.GONE); + partnerView.setOnClickListener(this); registerBtn.setOnClickListener(this); } @@ -191,6 +196,7 @@ public void initializeFloatingMenu() { @Override protected void onResumption() { super.onResumption(); + setupViews(); } @Override @@ -355,6 +361,7 @@ public void onClick(View view) { } else if (id == R.id.rlPartnerView || id == R.id.register_partner_btn) { Intent intent = new Intent(this, PartnerRegistrationActivity.class); intent.putExtra(INTENT_FORM_SUBMISSION_ID, AncPartnerDao.getFeedbackFormId(referralFormSubmissionId)); + intent.putExtra(REFERRAL_FORM_SUBMISSION_ID, referralFormSubmissionId); intent.putExtra(INTENT_BASE_ENTITY_ID, baseEntityID); startActivity(intent); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java index f4df1c14bf..50d5c0b21d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java @@ -31,6 +31,9 @@ protected void onCreation() { createCancelReferral(task); } + if(getMemberObject().getProblem().equals("anc_male_engagement")) + ((CustomFontTextView)findViewById(R.id.client_referral_problem)).setText(getResources().getString(R.string.anc_male_engagement)); + } public static void startChwReferralDetailsViewActivity(Activity activity, MemberObject memberObject, CommonPersonObjectClient client) { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java index 5808e4951d..56e4bc06ee 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java @@ -116,7 +116,7 @@ protected void setupViews() { TextView toolbarTitle = findViewById(R.id.toolbar_title); toolbarTitle.setText(R.string.return_to_mother_champion_clients); - textViewRecordPmtct.setText(R.string.record_followup); + textViewRecordPmtct.setText(R.string.record_mother_champion_follouwp_visit); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java index 7ba5cd9552..458d22251f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java @@ -1,11 +1,34 @@ package org.smartregister.chw.activity; +import static com.vijay.jsonwizard.utils.FormUtils.fields; +import static com.vijay.jsonwizard.utils.FormUtils.getFieldJSONObject; +import static org.smartregister.chw.anc.util.NCUtils.getClientProcessorForJava; +import static org.smartregister.chw.anc.util.NCUtils.getSyncHelper; +import static org.smartregister.chw.util.Constants.JsonForm.getPartnerRegistrationForm; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.EXISTING_PARTNER_REQUEST_CODE; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.FEEDBACK_FORM_ID; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_FORM_SUBMISSION_ID; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.REFERRAL_FORM_SUBMISSION_ID; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.NEW_PARTNER_REQUEST_CODE; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.PARTNER_BASE_ENTITY_ID; +import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.PARTNER_REGISTRATION_EVENT; +import static org.smartregister.chw.util.JsonFormUtils.METADATA; +import static org.smartregister.family.util.JsonFormUtils.STEP2; +import static org.smartregister.util.JsonFormUtils.ENCOUNTER_LOCATION; +import static org.smartregister.util.JsonFormUtils.STEP1; +import static org.smartregister.util.JsonFormUtils.generateRandomUUIDString; +import static org.smartregister.util.Utils.getAllSharedPreferences; + import android.app.Activity; import android.content.Intent; import android.view.View; import android.widget.ImageView; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.constraintlayout.widget.ConstraintLayout; + import com.vijay.jsonwizard.constants.JsonFormConstants; import com.vijay.jsonwizard.domain.Form; import com.vijay.jsonwizard.utils.FormUtils; @@ -17,10 +40,15 @@ import org.smartregister.chw.R; import org.smartregister.chw.anc.util.NCUtils; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.referral.ReferralLibrary; +import org.smartregister.chw.referral.domain.ReferralTask; +import org.smartregister.chw.referral.util.DBConstants; +import org.smartregister.chw.referral.util.ReferralUtil; import org.smartregister.chw.util.AllClientsUtils; import org.smartregister.clientandeventmodel.Client; import org.smartregister.clientandeventmodel.Event; import org.smartregister.clientandeventmodel.Obs; +import org.smartregister.domain.Location; import org.smartregister.domain.UniqueId; import org.smartregister.family.util.Constants; import org.smartregister.family.util.Utils; @@ -32,46 +60,32 @@ import org.smartregister.opd.utils.OpdUtils; import org.smartregister.repository.AllSharedPreferences; import org.smartregister.repository.EventClientRepository; +import org.smartregister.repository.LocationRepository; import org.smartregister.repository.UniqueIdRepository; +import org.smartregister.util.JsonFormUtils; import org.smartregister.view.activity.SecuredActivity; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Collections; import java.util.Date; import java.util.List; +import java.util.Locale; -import androidx.annotation.NonNull; -import androidx.constraintlayout.widget.ConstraintLayout; import timber.log.Timber; -import static com.vijay.jsonwizard.utils.FormUtils.fields; -import static com.vijay.jsonwizard.utils.FormUtils.getFieldJSONObject; -import static org.smartregister.chw.anc.util.NCUtils.getClientProcessorForJava; -import static org.smartregister.chw.anc.util.NCUtils.getSyncHelper; -import static org.smartregister.chw.util.Constants.JsonForm.getPartnerRegistrationForm; -import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.EXISTING_PARTNER_REQUEST_CODE; -import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.FEEDBACK_FORM_ID; -import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; -import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_FORM_SUBMISSION_ID; -import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.NEW_PARTNER_REQUEST_CODE; -import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.PARTNER_BASE_ENTITY_ID; -import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.PARTNER_REGISTRATION_EVENT; -import static org.smartregister.chw.util.JsonFormUtils.METADATA; -import static org.smartregister.family.util.JsonFormUtils.STEP2; -import static org.smartregister.util.JsonFormUtils.ENCOUNTER_LOCATION; -import static org.smartregister.util.JsonFormUtils.STEP1; -import static org.smartregister.util.JsonFormUtils.generateRandomUUIDString; -import static org.smartregister.util.Utils.getAllSharedPreferences; - public class PartnerRegistrationActivity extends SecuredActivity implements View.OnClickListener { private String clientBaseEntityId; private String formSubmissionId; + private String referralFormSubmissionId; @Override protected void onCreation() { setContentView(R.layout.activity_partner_registration); this.clientBaseEntityId = getIntent().getStringExtra(INTENT_BASE_ENTITY_ID); this.formSubmissionId = getIntent().getStringExtra(INTENT_FORM_SUBMISSION_ID); + this.referralFormSubmissionId = getIntent().getStringExtra(REFERRAL_FORM_SUBMISSION_ID); setupView(); } @@ -183,7 +197,8 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == EXISTING_PARTNER_REQUEST_CODE && resultCode == Activity.RESULT_OK) { String partner_id = data.getStringExtra(INTENT_BASE_ENTITY_ID); savePartnerDetails(partner_id, clientBaseEntityId); - startActivity(new Intent(this, AncRegisterActivity.class)); + generatePartnerReferral(partner_id); + finish(); } if (requestCode == NEW_PARTNER_REQUEST_CODE && resultCode == Activity.RESULT_OK) { @@ -205,7 +220,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { } catch (Exception e) { Timber.e(e); } - startActivity(new Intent(this, AncRegisterActivity.class)); + finish(); } } catch (JSONException e) { @@ -248,6 +263,7 @@ public void saveRegistration(@NonNull List allClientEventList, @ updateOpenSRPId(jsonString, params, baseClient); addImageLocation(jsonString, baseClient, baseEvent); savePartnerDetails(baseEvent.getBaseEntityId(), clientBaseEntityId); + generatePartnerReferral(baseEvent.getBaseEntityId()); } catch (Exception e) { Timber.e(e, "ChwAllClientRegisterInteractor --> saveRegistration"); } @@ -341,6 +357,16 @@ protected void savePartnerDetails(String partnerBaseEntityId, String clientBaseE .withFieldDataType("text") .withParentCode("") .withHumanReadableValues(new ArrayList<>())); + + baseEvent.addObs( + (new Obs()) + .withFormSubmissionField(REFERRAL_FORM_SUBMISSION_ID) + .withValue(referralFormSubmissionId) + .withFieldCode(REFERRAL_FORM_SUBMISSION_ID) + .withFieldType("formsubmissionField") + .withFieldDataType("text") + .withParentCode("") + .withHumanReadableValues(new ArrayList<>())); baseEvent.addObs((new Obs()) .withFormSubmissionField(FEEDBACK_FORM_ID) .withValue(formSubmissionId) @@ -358,4 +384,105 @@ protected void savePartnerDetails(String partnerBaseEntityId, String clientBaseE } } + + protected void generatePartnerReferral(String partnerBaseEntityId) { + AllSharedPreferences sharedPreferences = getAllSharedPreferences(); + //Switched baseEntityId and formSubmissionId to update on the correct referral sent + Event baseEvent = (Event) new Event() + .withBaseEntityId(partnerBaseEntityId) + .withEventDate(new Date()) + .withEventType(org.smartregister.chw.referral.util.Constants.EventType.REGISTRATION) + .withFormSubmissionId(generateRandomUUIDString()) + .withEntityType(org.smartregister.chw.referral.util.Constants.Tables.REFERRAL) + .withProviderId(sharedPreferences.fetchRegisteredANM()) + .withLocationId(sharedPreferences.fetchDefaultLocalityId(sharedPreferences.fetchRegisteredANM())) + .withTeamId(sharedPreferences.fetchDefaultTeamId(sharedPreferences.fetchRegisteredANM())) + .withTeam(sharedPreferences.fetchDefaultTeam(sharedPreferences.fetchRegisteredANM())) + .withClientDatabaseVersion(BuildConfig.DATABASE_VERSION) + .withClientApplicationVersion(BuildConfig.VERSION_CODE) + .withDateCreated(new Date()); + + baseEvent.addObs( + (new Obs()) + .withFormSubmissionField(DBConstants.Key.SERVICE_BEFORE_REFERRAL) + .withFieldType(JsonFormUtils.CONCEPT) + .withFieldCode(DBConstants.Key.SERVICE_BEFORE_REFERRAL) + .withValue("None")); + + baseEvent.addObs( + (new Obs()) + .withFormSubmissionField(DBConstants.Key.PROBLEM) + .withFieldType(JsonFormUtils.CONCEPT) + .withFieldCode(DBConstants.Key.PROBLEM) + .withValue("anc_male_engagement")); + + baseEvent.addObs( + (new Obs()) + .withFormSubmissionField(DBConstants.Key.REFERRAL_STATUS) + .withFieldType(JsonFormUtils.CONCEPT) + .withFieldCode(DBConstants.Key.REFERRAL_STATUS) + .withValue("PENDING")); + + baseEvent.addObs( + (new Obs()) + .withFormSubmissionField(DBConstants.Key.REFERRAL_SERVICE) + .withFieldType(JsonFormUtils.CONCEPT) + .withFieldCode(DBConstants.Key.REFERRAL_SERVICE) + .withValue("ANC Male Engagement Referral")); + + baseEvent.addObs( + (new Obs()) + .withFormSubmissionField(DBConstants.Key.REFERRAL_DATE) + .withFieldType(JsonFormUtils.CONCEPT) + .withFieldCode(DBConstants.Key.REFERRAL_DATE) + .withValue(new Date().getTime())); + + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("hh:mm:ss.SSS", Locale.getDefault()); + baseEvent.addObs( + (new Obs()) + .withFormSubmissionField(DBConstants.Key.REFERRAL_TIME) + .withFieldType(JsonFormUtils.CONCEPT) + .withFieldCode(DBConstants.Key.REFERRAL_TIME) + .withValue(simpleDateFormat.format(new Date()))); + + baseEvent.addObs( + (new Obs()) + .withFormSubmissionField(DBConstants.Key.REFERRAL_APPOINTMENT_DATE) + .withFieldType(JsonFormUtils.CONCEPT) + .withFieldCode(DBConstants.Key.REFERRAL_APPOINTMENT_DATE) + .withValue(new Date().getTime())); + + baseEvent.addObs( + (new Obs()) + .withFormSubmissionField(DBConstants.Key.REFERRAL_TYPE) + .withFieldType(JsonFormUtils.CONCEPT) + .withFieldCode(DBConstants.Key.REFERRAL_TYPE) + .withValue(org.smartregister.chw.referral.util.Constants.ReferralType.COMMUNITY_TO_FACILITY_REFERRAL)); + + String facilityLocationId = sharedPreferences.fetchDefaultLocalityId(sharedPreferences.fetchRegisteredANM()); + LocationRepository locationRepository = new LocationRepository(); + Location facility = locationRepository.getLocationById(facilityLocationId); + + baseEvent.addObs( + (new Obs()) + .withFormSubmissionField(DBConstants.Key.REFERRAL_HF) + .withFieldType(JsonFormUtils.CONCEPT) + .withFieldCode(DBConstants.Key.REFERRAL_HF) + .withHumanReadableValues(Collections.singletonList(facility.getProperties().getName())) + .withValue(facilityLocationId)); + + // tag event + org.smartregister.chw.util.JsonFormUtils.tagSyncMetadata(Utils.context().allSharedPreferences(), baseEvent); + try { + NCUtils.processEvent(baseEvent.getBaseEntityId(), new JSONObject(org.smartregister.chw.anc.util.JsonFormUtils.gson.toJson(baseEvent))); + } catch (Exception e) { + e.printStackTrace(); + } + + ReferralTask referralTask = new ReferralTask(baseEvent); + referralTask.setReferralDescription("partner_registration_referral"); + referralTask.setGroupId(facilityLocationId); + referralTask.setFocus(CoreConstants.TASKS_FOCUS.ANC_MALE_ENGAGEMENT); + ReferralUtil.createReferralTask(referralTask, ReferralLibrary.getInstance()); + } } \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java index e786696f99..2fbd3de70e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/AncPartnerDao.java @@ -22,6 +22,21 @@ public static boolean isPartnerRegistered(String referralFormSubmissionId) { return res.size() == 1; } + + public static boolean isPartnerAlreadyRegistered(String ancReferralFormSubmissionId) { + DataMap dataMap = cursor -> getCursorValue(cursor, "partner_base_entity_id"); + + String sql = "SELECT partner_base_entity_id FROM ec_anc_partners WHERE referral_form_submission_id = '" + ancReferralFormSubmissionId + "' " + + "AND partner_base_entity_id is not null " + + "AND is_closed = 0 LIMIT 1"; + + List res = readData(sql, dataMap); + + if (res != null) + return res.size() == 1; + return false; + } + public static boolean hasPartnerAgreeForRegistration(String referralFormSubmissionId) { DataMap dataMap = cursor -> getCursorValue(cursor, "partner_agree_attending_hf"); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java index 3ca0ace3f9..4438439d3a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/MotherChampionRegisterFragment.java @@ -39,7 +39,7 @@ protected void openProfile(String baseEntityId) { @Override public void setupViews(android.view.View view) { super.setupViews(view); - titleLabelView.setText(R.string.mother_champion); + titleLabelView.setText(R.string.mother_champion_community_services); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctFollowupRegisterFragment.java index 2dcbcdc616..87d678fa3a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctFollowupRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PmtctFollowupRegisterFragment.java @@ -39,7 +39,7 @@ protected void openProfile(String baseEntityId) { @Override public void setupViews(android.view.View view) { super.setupViews(view); - titleLabelView.setText(R.string.action_received_hiv_followup_referrals); + titleLabelView.setText(R.string.missap_and_ltf_followups); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index 52c6a5af3c..d881b436a0 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -73,6 +73,7 @@ public interface PartnerRegistrationConstants { String FEEDBACK_FORM_ID = "feedback_form_id"; String FormSubmissionId = "formSubmissionId"; String INTENT_FORM_SUBMISSION_ID = "form_submission_id"; + String REFERRAL_FORM_SUBMISSION_ID = "referral_form_submission_id"; String ReferralFormId = "referral_form_id"; } diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index f7fa5468e8..ca2b6b1aab 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -404,6 +404,7 @@ Mother Champion Followup Feedback Followup Feedback Recorded Mother Champion + Community Services Return to Mother Champion\'s clients Record Followup Visit SBCC @@ -417,6 +418,9 @@ Participants: %s Date: %s Return to All Partner Follow-up clients + ANC Client Male Engagement + Record Mother mentor community services visit + MISSAP/LTF Followups diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 15533c2600..acaf591570 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -912,6 +912,14 @@ "concept": "partner_base_entity_id" } }, + { + "column_name": "referral_form_submission_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "referral_form_submission_id" + } + }, { "column_name": "feedback_form_id", "type": "Event", From 08be7a794be0d10ecfaac42059d894c77d1df40f Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 28 Apr 2022 10:29:10 +0300 Subject: [PATCH 393/915] update version code --- opensrp-chw/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index f6f983b37f..9c19bde9cb 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -174,8 +174,8 @@ android { nacp { dimension = 'baseDimension' applicationIdSuffix ".nacp" - versionCode 3 - versionName "1.0.3" + versionCode 4 + versionName "1.0.4" buildConfigField "String", 'opensrp_url', '"http://50.116.15.4:8082/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' buildConfigField "String", 'opensrp_url_debug', '"http://50.116.15.4:8082/opensrp/"' From 47b5a97c60b42765501b3b28e16ce22af25111b5 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 28 Apr 2022 12:56:35 +0300 Subject: [PATCH 394/915] refactor/pnc referral form to remove pre-referral services, removed menu options from pnc member profile, and removed unused pnc register activity bottom navigation actions --- .../chw/activity/PncRegisterActivity.java | 26 ++++++- .../referrals/pnc_referral_form.json | 72 +------------------ .../referrals/pnc_referral_form.json | 72 +------------------ .../rule/general_neat_referral_form_rules.yml | 9 ++- .../activity/PncMemberProfileActivityFlv.java | 11 ++- 5 files changed, 39 insertions(+), 151 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncRegisterActivity.java index 750eee95a8..6ee047c540 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncRegisterActivity.java @@ -1,24 +1,32 @@ package org.smartregister.chw.activity; +import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; +import android.view.MenuItem; + +import androidx.annotation.NonNull; + +import com.google.android.material.bottomnavigation.BottomNavigationView; import org.apache.commons.lang3.EnumUtils; import org.json.JSONArray; import org.json.JSONObject; +import org.smartregister.chw.R; import org.smartregister.chw.anc.util.Constants; import org.smartregister.chw.anc.util.JsonFormUtils; import org.smartregister.chw.core.activity.CoreFamilyRegisterActivity; import org.smartregister.chw.core.activity.CorePncRegisterActivity; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.fragment.PncRegisterFragment; +import org.smartregister.helper.BottomNavigationHelper; import org.smartregister.job.SyncServiceJob; import org.smartregister.view.fragment.BaseRegisterFragment; import timber.log.Timber; -public class PncRegisterActivity extends CorePncRegisterActivity { +public class PncRegisterActivity extends CorePncRegisterActivity implements BottomNavigationView.OnNavigationItemSelectedListener { public static void startPncRegistrationActivity(Activity activity, String memberBaseEntityID, String phoneNumber, String formName, String uniqueId, String familyBaseID, String family_name, String last_menstrual_period) { @@ -46,8 +54,14 @@ public void onRegistrationSaved(String encounterType, boolean isEdit, boolean ha @Override protected void registerBottomNavigation() { - super.registerBottomNavigation(); - FamilyRegisterActivity.registerBottomNavigation(bottomNavigationHelper, bottomNavigationView, this); + bottomNavigationHelper = new BottomNavigationHelper(); + bottomNavigationView = findViewById(R.id.bottom_navigation); + bottomNavigationView.getMenu().clear(); + + bottomNavigationView.inflateMenu(R.menu.anc_bottom_nav_menu); + bottomNavigationView.getMenu().removeItem(R.id.action_received_referrals); + + bottomNavigationView.setOnNavigationItemSelectedListener(this); } @Override @@ -60,6 +74,7 @@ protected BaseRegisterFragment getRegisterFragment() { return new PncRegisterFragment(); } + @SuppressLint("MissingSuperCall") protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResultExtended(requestCode, resultCode, data); if (resultCode == Activity.RESULT_OK) { @@ -83,4 +98,9 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { } } } + + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { + return false; + } } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json index 6c6e5b01fb..e778c3ba88 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json @@ -407,7 +407,8 @@ "referral_date", "referral_time", "referral_type", - "referral_status" + "referral_status", + "service_before_referral" ] }, { @@ -425,75 +426,6 @@ "required_status": "true:Tafadhali jaza dalili nyingine", "subjects": "problem:map" }, - { - "name": "service_before_referral", - "type": "multi_choice_checkbox", - "properties": { - "text": "Huduma aliyopewa kabla ya rufaa." - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "ORS", - "text": "ORS", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - }, - { - "name": "Panadol", - "text": "Panadol", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - }, - { - "name": "Other_treatment", - "text": "Matibabu mengine", - "meta_data": { - "ignore": true, - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - }, - { - "name": "None", - "text": "Hajapata matibabu", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "True:Huduma aliyopewa kabla ya rufaa ni lazima", - "subjects": "service_before_referral:map" - }, - { - "name": "service_before_referral_other", - "type": "text_input_edit_text", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "properties": { - "hint": "Matibabu mengine", - "type": "name" - }, - "required_status": "true:Tafadhali taja matibabu mengine", - "subjects": "service_before_referral:map" - }, { "name": "chw_referral_hf", "type": "spinner", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json index acf5e291b9..df848f349f 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json @@ -407,7 +407,8 @@ "referral_date", "referral_time", "referral_type", - "referral_status" + "referral_status", + "service_before_referral" ] }, { @@ -425,75 +426,6 @@ "required_status": "true:Please specify other symptoms", "subjects": "problem:map" }, - { - "name": "service_before_referral", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pre-referral management given." - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "ORS", - "text": "ORS", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - }, - { - "name": "Panadol", - "text": "Panadol", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - }, - { - "name": "Other_treatment", - "text": "Other treatment", - "meta_data": { - "ignore": true, - "openmrs_entity": "", - "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - }, - { - "name": "None", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "Pre-referral management field is required", - "subjects": "problem:map" - }, - { - "name": "service_before_referral_other", - "type": "text_input_edit_text", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "properties": { - "hint": "Other Treatment", - "type": "name" - }, - "required_status": "true:Please specify other treatment given", - "subjects": "service_before_referral:map" - }, { "name": "chw_referral_hf", "type": "spinner", diff --git a/opensrp-chw/src/nacp/assets/rule/general_neat_referral_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/general_neat_referral_form_rules.yml index 87b1fe167c..08f88d91cc 100644 --- a/opensrp-chw/src/nacp/assets/rule/general_neat_referral_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/general_neat_referral_form_rules.yml @@ -44,4 +44,11 @@ description: "Referral type calculation" priority: 1 condition: "true" actions: - - "referral_status_calculation = 'PENDING'" \ No newline at end of file + - "referral_status_calculation = 'PENDING'" +--- +name: "service_before_referral_calculation" +description: "Service Before Referral" +condition: "true" +priority: 1 +actions: + - "service_before_referral_calculation = 'None'" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java index 878c2544d7..5fcec019ae 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java @@ -10,14 +10,11 @@ public class PncMemberProfileActivityFlv implements PncMemberProfileActivity.Fla @Override public Boolean onCreateOptionsMenu(Menu menu, String baseEntityId) { - UtilsFlv.updateMalariaMenuItems(baseEntityId, menu); - if (FpDao.isRegisteredForFp(baseEntityId)) { - menu.findItem(R.id.action_fp_change).setVisible(true); - } else { - menu.findItem(R.id.action_fp_initiation_pnc).setVisible(true); - } + menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); + menu.findItem(R.id.action_fp_initiation_pnc).setVisible(false); + menu.findItem(R.id.action_fp_change).setVisible(false); + menu.findItem(R.id.action_malaria_registration).setVisible(false); UtilsFlv.updateHivMenuItems(baseEntityId, menu); - UtilsFlv.updateTbMenuItems(baseEntityId, menu); return true; } } From 6391613bbcea043d59db694a0269a5e53f5b3235 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 28 Apr 2022 15:37:04 +0300 Subject: [PATCH 395/915] Refactor ec classification to include ANC Followup Client Registration --- opensrp-chw/src/nacp/assets/ec_client_classification.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index a4c3fee01e..071cc6a406 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -146,6 +146,14 @@ "ec_anc_log" ] }, + { + "field": "eventType", + "field_value": "ANC Followup Client Registration", + "creates_case": [ + "ec_anc_register", + "ec_anc_log" + ] + }, { "field": "eventType", "field_value": "ANC Home Visit", From 9043855d11eb3919836e5dc7498f3ae21a322ffb Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 28 Apr 2022 15:40:04 +0300 Subject: [PATCH 396/915] Refactor anc_partner_community_followup_feedback form --- .../json.form-sw/anc_partner_community_followup_feedback.json | 2 +- .../json.form/anc_partner_community_followup_feedback.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json index b914bbb94c..822c584f55 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json @@ -139,7 +139,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "", "type": "toaster_notes", - "text": "Msajili Mteja kwenye Kituo cha Afya", + "text": "Msajili Mwenzi", "toaster_type": "info", "relevance": { "step1:partner_agree_attending_hf": { diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json index 3780a3d98c..f943aebd51 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json @@ -139,7 +139,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "", "type": "toaster_notes", - "text": "Register the client to HF", + "text": "Register the partner", "toaster_type": "info", "relevance": { "step1:partner_agree_attending_hf": { From 3798b4cf6687df5c5142507317cc47a33492122d Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 28 Apr 2022 16:19:43 +0300 Subject: [PATCH 397/915] Removed bcg and opv0 questions from pregnancy outcome --- .../json.form-sw/anc_pregnancy_outcome.json | 86 ------------------- .../json.form/anc_pregnancy_outcome.json | 86 ------------------- 2 files changed, 172 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json index 09d8726c17..28211bb878 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json @@ -534,92 +534,6 @@ "Yes": "Yes", "No": "No" } - }, - { - "key": "child_bcg_vaccination", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "child_bcg_vaccination", - "type": "native_radio", - "label": "Je, Mtoto amepata chanjo ya BCG?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "yes", - "text": "Ndio", - "openmrs_entity": "concept", - "openmrs_entity_id": "yes" - }, - { - "key": "no", - "text": "Hapana", - "openmrs_entity": "concept", - "openmrs_entity_id": "no" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhari chagua mojawapo" - } - }, - { - "key": "prompt_for_bcg_vacc_not_provided", - "type": "toaster_notes", - "text": "Mpatie Mtoto chanjo ya BCG wakati wa udhulio la kwanza la PNC, au mara tuu chanjo ya BCG ikiwepo. BCG haiwezi kutolewa kwa Mtoto ambaye amezidi miezi 12", - "openmrs_entity_id": "", - "openmrs_entity": "", - "openmrs_entity_parent": "", - "toaster_type": "problem", - "relevance": { - "step1:child_bcg_vaccination": { - "type": "string", - "ex": "equalTo(., \"no\")" - } - } - }, - { - "key": "child_opv0_vaccination", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "child_opv0_vaccination", - "type": "native_radio", - "label": "Je, Mtoto amepata chanjo ya OPV0?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "yes", - "text": "Ndio", - "openmrs_entity": "concept", - "openmrs_entity_id": "yes" - }, - { - "key": "no", - "text": "Hapana", - "openmrs_entity": "concept", - "openmrs_entity_id": "no" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhari chagua mojwapo" - } - }, - { - "key": "prompt_for_opv0_vacc_not_provided", - "type": "toaster_notes", - "text": "Mtoto amepoteza nafasi ya kupata OPV-0, Mpatie OPV-1 katika udhulio la kwanza la PNC", - "openmrs_entity_id": "", - "openmrs_entity": "", - "openmrs_entity_parent": "", - "toaster_type": "problem", - "relevance": { - "step1:child_opv0_vaccination": { - "type": "string", - "ex": "equalTo(., \"no\")" - } - } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json index 143c566423..8f616e11ac 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json @@ -534,92 +534,6 @@ "Yes": "Yes", "No": "No" } - }, - { - "key": "child_bcg_vaccination", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "child_bcg_vaccination", - "type": "native_radio", - "label": "Was BCG vaccination given?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "yes", - "text": "Yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "yes" - }, - { - "key": "no", - "text": "No", - "openmrs_entity": "concept", - "openmrs_entity_id": "no" - } - ], - "v_required": { - "value": "true", - "err": "Please select one" - } - }, - { - "key": "prompt_for_bcg_vacc_not_provided", - "type": "toaster_notes", - "text": "Provide BCG vaccination to the infant at the first Postnatal care visit or as soon as the BCG vaccine will be available. BCG should not be provided beyond 12-months of infant age", - "openmrs_entity_id": "", - "openmrs_entity": "", - "openmrs_entity_parent": "", - "toaster_type": "problem", - "relevance": { - "step1:child_bcg_vaccination": { - "type": "string", - "ex": "equalTo(., \"no\")" - } - } - }, - { - "key": "child_opv0_vaccination", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "child_opv0_vaccination", - "type": "native_radio", - "label": "Was OPV 0 vaccination given?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "yes", - "text": "Yes", - "openmrs_entity": "concept", - "openmrs_entity_id": "yes" - }, - { - "key": "no", - "text": "No", - "openmrs_entity": "concept", - "openmrs_entity_id": "no" - } - ], - "v_required": { - "value": "true", - "err": "Please select one" - } - }, - { - "key": "prompt_for_opv0_vacc_not_provided", - "type": "toaster_notes", - "text": "Missed opportunity for OPV-0, provide OPV-1 at first postnatal care visit", - "openmrs_entity_id": "", - "openmrs_entity": "", - "openmrs_entity_parent": "", - "toaster_type": "problem", - "relevance": { - "step1:child_opv0_vaccination": { - "type": "string", - "ex": "equalTo(., \"no\")" - } - } } ] } From c95e63886918022039dc19c88ccf7791a9574359 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 28 Apr 2022 16:29:12 +0300 Subject: [PATCH 398/915] Occupation and leadership question to not be limited by age --- .../all_clients_registration_form.json | 14 ------- ...clients_update_registration_info_form.json | 14 ------- .../json.form-sw/family_member_register.json | 38 ------------------- .../assets/json.form-sw/family_register.json | 14 ------- .../male_partner_registration_form.json | 14 ------- .../all_clients_registration_form.json | 14 ------- ...clients_update_registration_info_form.json | 14 ------- .../json.form/family_member_register.json | 14 ------- .../assets/json.form/family_register.json | 14 ------- .../male_partner_registration_form.json | 14 ------- .../rule/all_clients_member_relevance.yml | 14 ------- .../all_clients_member_update_relevance.yml | 14 ------- .../assets/rule/family_member_relevance.yml | 14 ------- .../assets/rule/family_register_relevance.yml | 14 ------- .../assets/rule/male_partner_relevance.yml | 14 ------- 15 files changed, 234 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index 2306efa7bf..61cab6ab80 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -980,13 +980,6 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } } }, { @@ -1049,13 +1042,6 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index d32411af44..aa9d036974 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -832,13 +832,6 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } } }, { @@ -901,13 +894,6 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json index 2f4adc8711..69680f153c 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json @@ -839,37 +839,6 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Taja Kazi nyingine", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja kazi" - }, - "relevance": { - "step1:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } } }, { @@ -932,13 +901,6 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index c0634199c9..8c27aa98e8 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -919,13 +919,6 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } } }, { @@ -988,13 +981,6 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json index de6d99aed4..e5257a1bb8 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json @@ -871,13 +871,6 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } } }, { @@ -940,13 +933,6 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index ac4c2a2e17..1e05f82598 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -985,13 +985,6 @@ "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } } }, { @@ -1054,13 +1047,6 @@ "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index 41b4897775..396d59d6cc 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -832,13 +832,6 @@ "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } } }, { @@ -901,13 +894,6 @@ "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json index db24caab63..42ffab424a 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json @@ -844,13 +844,6 @@ "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } } }, { @@ -913,13 +906,6 @@ "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/family_register.json b/opensrp-chw/src/nacp/assets/json.form/family_register.json index f55c98f450..36f4022dd6 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_register.json @@ -922,13 +922,6 @@ "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } } }, { @@ -991,13 +984,6 @@ "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json index d086e24e4a..c867babcfa 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json @@ -871,13 +871,6 @@ "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } } }, { @@ -940,13 +933,6 @@ "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "male_partner_relevance.yml" - } - } } }, { diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml index b3e478b796..8c3dd0efea 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml @@ -27,20 +27,6 @@ condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step actions: - "isRelevant = true" --- -name: step2_service_provider -description: service_provider relevance -priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step2_leader -description: leader relevance -priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" -actions: - - "isRelevant = true" ---- name: step2_marital_status description: marital_status relevance priority: 1 diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml index 95e5becea0..5d176ec1ea 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml @@ -77,20 +77,6 @@ condition: "step1_has_primary_caregiver == 'Yes'" actions: - "isRelevant = true" --- -name: step1_service_provider -description: service_provider relevance -priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step1_leader -description: leader relevance -priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" -actions: - - "isRelevant = true" ---- name: step1_marital_status description: marital_status relevance priority: 1 diff --git a/opensrp-chw/src/nacp/assets/rule/family_member_relevance.yml b/opensrp-chw/src/nacp/assets/rule/family_member_relevance.yml index 1143a4c886..f7c5e8e7d3 100644 --- a/opensrp-chw/src/nacp/assets/rule/family_member_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/family_member_relevance.yml @@ -29,20 +29,6 @@ actions: - "isRelevant = true" --- -name: step1_service_provider -description: service_provider relevance -priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step1_leader -description: leader relevance -priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" -actions: - - "isRelevant = true" ---- name: step1_marital_status description: marital_status relevance priority: 1 diff --git a/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml b/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml index c2adda01e1..74194eb716 100644 --- a/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/family_register_relevance.yml @@ -13,20 +13,6 @@ condition: "!step2_dob_unknown.contains('dob_unknown')" actions: - "isRelevant = true" --- -name: step2_service_provider -description: service_provider relevance -priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step2_leader -description: leader relevance -priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" -actions: - - "isRelevant = true" ---- name: step2_marital_status description: marital_status relevance priority: 1 diff --git a/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml b/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml index 74c32ff2f5..9ec5519511 100644 --- a/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/male_partner_relevance.yml @@ -34,20 +34,6 @@ condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step actions: - "isRelevant = true" --- -name: step2_service_provider -description: service_provider relevance -priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step2_leader -description: leader relevance -priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" -actions: - - "isRelevant = true" ---- name: step2_marital_status description: marital_status relevance priority: 1 From 2d97f695bbb65c09a13e54365cf84cc050c59649 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 28 Apr 2022 16:31:56 +0300 Subject: [PATCH 399/915] Set male engagement as default registration reason for partner --- .../male_partner_registration_form.json | 93 ------------------- .../male_partner_registration_form.json | 93 ------------------- .../assets/rule/male_partner_calculation.yml | 2 +- 3 files changed, 1 insertion(+), 187 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json index e5257a1bb8..4a7e5209ee 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json @@ -972,99 +972,6 @@ } } } - }, - { - "key": "reasons_for_registration_male_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_male_15", - "type": "native_radio", - "label": "Sababu za Usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "homosexual", - "text": "Wanaume wanaofanya mapenzi na wanaume", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Ukatili wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "male_engagement", - "text": "Uwepo wa mwanaume husika", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "male_engagement" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json index c867babcfa..fc46d8d588 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json @@ -972,99 +972,6 @@ } } } - }, - { - "key": "reasons_for_registration_male_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_male_15", - "type": "native_radio", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "homosexual", - "text": "Men who have sex with men", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "male_engagement", - "text": "Male engagement", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "male_engagement" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - } } ] } diff --git a/opensrp-chw/src/nacp/assets/rule/male_partner_calculation.yml b/opensrp-chw/src/nacp/assets/rule/male_partner_calculation.yml index f60ad56bf6..c889a41e8c 100644 --- a/opensrp-chw/src/nacp/assets/rule/male_partner_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/male_partner_calculation.yml @@ -39,7 +39,7 @@ description: set reasons for registration priority: 1 condition: "true" actions: - - "calculation = step2_reasons_for_registration_male_15" + - "calculation = 'male_engagement'" --- name: step2_sex description: set sex as male by default From 14c07a0b4756cb4e6a97230dd6d6fabd06605c9b Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 29 Apr 2022 08:39:18 +0300 Subject: [PATCH 400/915] Bumped up version code --- opensrp-chw/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 9c19bde9cb..1a35a37b14 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -174,8 +174,8 @@ android { nacp { dimension = 'baseDimension' applicationIdSuffix ".nacp" - versionCode 4 - versionName "1.0.4" + versionCode 5 + versionName "1.0.5" buildConfigField "String", 'opensrp_url', '"http://50.116.15.4:8082/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' buildConfigField "String", 'opensrp_url_debug', '"http://50.116.15.4:8082/opensrp/"' From d563c81a2a29f0ed279b1168ce4e4cf3085015df Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 29 Apr 2022 09:50:15 +0300 Subject: [PATCH 401/915] Cleaned restricted permissions that require play store approval --- opensrp-chw/src/main/AndroidManifest.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 165bb0138f..f451efeb1a 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -23,9 +23,6 @@ - - - Date: Fri, 29 Apr 2022 09:51:11 +0300 Subject: [PATCH 402/915] updated gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index c16ed227ef..f29deebda6 100644 --- a/.gitignore +++ b/.gitignore @@ -20,4 +20,5 @@ project.properties .settings build/ jacoco.exec -opensrp-chw/ba/ \ No newline at end of file +opensrp-chw/ba/ +opensrp-chw/nacp/ \ No newline at end of file From f2eaab51e4c02479894b48bbe8988e83562c5c3b Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 29 Apr 2022 10:19:31 +0300 Subject: [PATCH 403/915] refactor:bumped up nacp flavor app version name and version codes --- opensrp-chw/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 1a35a37b14..69b9282080 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -174,8 +174,8 @@ android { nacp { dimension = 'baseDimension' applicationIdSuffix ".nacp" - versionCode 5 - versionName "1.0.5" + versionCode 6 + versionName "1.0.6" buildConfigField "String", 'opensrp_url', '"http://50.116.15.4:8082/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' buildConfigField "String", 'opensrp_url_debug', '"http://50.116.15.4:8082/opensrp/"' From 2196c97d0fd3a624550b92f8534ba23c52372a81 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 29 Apr 2022 11:01:41 +0300 Subject: [PATCH 404/915] update: reasons for registration to add pregnant children up to age of 10 --- .../all_clients_registration_form.json | 273 +++++++++++++++++- ...clients_update_registration_info_form.json | 270 +++++++++++++++++ .../all_clients_registration_form.json | 271 +++++++++++++++++ ...clients_update_registration_info_form.json | 271 +++++++++++++++++ .../rule/all_clients_member_calculation.yml | 2 +- .../rule/all_clients_member_relevance.yml | 16 +- .../all_clients_member_update_calculation.yml | 2 +- .../all_clients_member_update_relevance.yml | 16 +- 8 files changed, 1116 insertions(+), 5 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index 61cab6ab80..ec0a19bbe3 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -1371,7 +1371,7 @@ }, { "key": "abused_child", - "text": "Mtoto aliyedhulumiwa", + "text": "Unyanyasaji wa mtoto", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1409,6 +1409,277 @@ } } } + }, + { + "key": "reasons_for_registration_female_under_10", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_under_10", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "Mtoto mwenye vilio vya uzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "Mtoto mwenye homa za mara kwa mara", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Unyanyasaji wa mtoto", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Ukatili wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Mtoto anayeishi katika mazingira hatarishi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_female_10_to_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_10_to_15", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "Mtoto mwenye vilio vya uzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "Mtoto mwenye homa za mara kwa mara", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Unyanyasaji wa mtoto", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Ukatili wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Mtoto anayeishi katika mazingira hatarishi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "pregnant_mother", + "text": "Mama mjamzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "breastfeeding_mother", + "text": "Mama anayenyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index aa9d036974..4881a2d345 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -1268,6 +1268,276 @@ } } } + }, + { + "key": "reasons_for_registration_female_under_10", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_under_10", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "Mtoto mwenye vilio vya uzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "Mtoto mwenye homa za mara kwa mara", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Mtoto anayenyanyaswa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Ukatili wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya madawa ya kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Mtoto anayeishi katika mazingira hatarishi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_female_10_to_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_10_to_15", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "Maambukizi ya VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Ugonjwa wa kupooza kwa ubongo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Saratani", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI ", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "Mtoto mwenye vilio vya uzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "Mtoto mwenye homa za mara kwa mara", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Mtoto anayenyanyaswa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Ukatili wa kijinsia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Matumizi mabaya ya madawa ya kulevya", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Mtoto anayeishi katika mazingira hatarishi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "pregnant_mother", + "text": "Mama mjamzito", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "breastfeeding_mother", + "text": "Mama anayenyonyesha", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index 1e05f82598..996b78d2fb 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -1414,6 +1414,277 @@ } } } + }, + { + "key": "reasons_for_registration_female_under_10", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_under_10", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "A child with stagnation in weight", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "A child with frequent fevers", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Abused child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Child living in a risky environment", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_female_10_to_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_10_to_15", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "A child with stagnation in weight", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "A child with frequent fevers", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Abused child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Child living in a risky environment", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "pregnant_mother", + "text": "Pregnant mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "breastfeeding_mother", + "text": "Breastfeeding mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index 396d59d6cc..d9895e6616 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -1268,6 +1268,277 @@ } } } + }, + { + "key": "reasons_for_registration_female_under_10", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_under_10", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "A child with stagnation in weight", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "A child with frequent fevers", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Abused child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Child living in a risky environment", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } + }, + { + "key": "reasons_for_registration_female_10_to_15", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_10_to_15", + "type": "native_radio", + "label": "Reasons for Registration", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "hiv_aids_transmission", + "text": "HIV/AIDs transmission", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle cell disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "heart_disease", + "text": "Heart diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "diabetes", + "text": "Diabetes", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cerebral_palsy", + "text": "Cerebral palsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "cancer", + "text": "Cancer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "tuberculosis", + "text": "Tuberculosis", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "weight_stagnation_child", + "text": "A child with stagnation in weight", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_with_fever", + "text": "A child with frequent fevers", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "abused_child", + "text": "Abused child", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "gender_violence", + "text": "Gender violence", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "drug_abuse", + "text": "Drug abuse", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "child_in_risky_environment", + "text": "Child living in a risky environment", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "pregnant_mother", + "text": "Pregnant mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + }, + { + "key": "breastfeeding_mother", + "text": "Breastfeeding mother", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "" + } + + ], + "v_required": { + "value": "true", + "err": "Reason for registration is required" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml index e20cc7b49f..b4f6d69507 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml @@ -39,4 +39,4 @@ description: set reasons for registration priority: 1 condition: "true" actions: - - "calculation = ((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15)) ? step2_reasons_for_registration_under_15 : (step2_sex.equalsIgnoreCase('Female') ? step2_reasons_for_registration_female_15 : step2_reasons_for_registration_male_15)" \ No newline at end of file + - "calculation = step2_reasons_for_registration_male_15 != '' ? step2_reasons_for_registration_male_15 : step2_reasons_for_registration_female_15 != '' ? step2_reasons_for_registration_female_15 : step2_reasons_for_registration_under_15 != '' ? step2_reasons_for_registration_under_15 : step2_reasons_for_registration_female_under_10 != '' ? step2_reasons_for_registration_female_under_10 : step2_reasons_for_registration_female_10_to_15 != '' ? step2_reasons_for_registration_female_10_to_15 : '' " \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml index 8c3dd0efea..8695d0ca00 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml @@ -101,6 +101,20 @@ actions: name: step2_reasons_for_registration_under_15 description: Show up if client is below 15 priority: 1 -condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15))" +condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15)) && step2_sex.equals('Male')" +actions: + - "isRelevant = true" +--- +name: step2_reasons_for_registration_female_under_10 +description: Show up if client is female and under 10 +priority: 1 +condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') < 10) || (step2_age != '' && step2_age < 10))&& step2_sex.equals('Female')" +actions: + - "isRelevant = true" +--- +name: step2_reasons_for_registration_female_10_to_15 +description: Show up if client is female between 10 and 15 +priority: 1 +condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 10 && helper.formatDate(step2_dob,'y') < 15 ) || (step2_age != '' && step2_age >= 10 && step2_age < 15))&& step2_sex.equals('Female')" actions: - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_calculation.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_calculation.yml index 9fa01dc9be..39fe9f3178 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_calculation.yml @@ -18,4 +18,4 @@ description: set reasons for registration priority: 1 condition: "true" actions: - - "calculation = ((step1_dob != '' && helper.formatDate(step1_dob,'y') < 15) || (step1_age != '' && step1_age < 15)) ? step1_reasons_for_registration_under_15 : (step1_sex.equalsIgnoreCase('Female') ? step1_reasons_for_registration_female_15 : step1_reasons_for_registration_male_15)" + - "calculation = step2_reasons_for_registration_male_15 != '' ? step2_reasons_for_registration_male_15 : step2_reasons_for_registration_female_15 != '' ? step2_reasons_for_registration_female_15 : step2_reasons_for_registration_under_15 != '' ? step2_reasons_for_registration_under_15 : step2_reasons_for_registration_female_under_10 != '' ? step2_reasons_for_registration_female_under_10 : step2_reasons_for_registration_female_10_to_15 != '' ? step2_reasons_for_registration_female_10_to_15 : '' " diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml index 5d176ec1ea..59d8e3abad 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml @@ -101,7 +101,21 @@ actions: name: step1_reasons_for_registration_under_15 description: Show up if client is below 15 priority: 1 -condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') < 15) || (step1_age != '' && step1_age < 15))" +condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') < 15) || (step1_age != '' && step1_age < 15)) && step1_sex.equals('Male')" +actions: + - "isRelevant = true" +--- +name: step1_reasons_for_registration_female_under_10 +description: Show up if client is female and under 10 +priority: 1 +condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') < 10) || (step1_age != '' && step1_age < 10))&& step1_sex.equals('Female')" +actions: + - "isRelevant = true" +--- +name: step1_reasons_for_registration_female_10_to_15 +description: Show up if client is female between 10 and 15 +priority: 1 +condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') >= 10 && helper.formatDate(step1_dob,'y') < 15 ) || (step1_age != '' && step1_age >= 10 && step1_age < 15))&& step1_sex.equals('Female')" actions: - "isRelevant = true" From 9ce5d7f713bee34a72514d9beafeee09f39f78ae Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 29 Apr 2022 11:02:55 +0300 Subject: [PATCH 405/915] refactor:bumped up nacp flavor app version name and version codes --- opensrp-chw/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 69b9282080..08176923c9 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -174,8 +174,8 @@ android { nacp { dimension = 'baseDimension' applicationIdSuffix ".nacp" - versionCode 6 - versionName "1.0.6" + versionCode 7 + versionName "1.0.7" buildConfigField "String", 'opensrp_url', '"http://50.116.15.4:8082/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' buildConfigField "String", 'opensrp_url_debug', '"http://50.116.15.4:8082/opensrp/"' From 127076f7c71fd0f64b26ecb5bda85da09c148388 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 29 Apr 2022 11:03:57 +0300 Subject: [PATCH 406/915] refactor: anc family planning form questions --- opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json | 2 +- .../src/nacp/assets/json.form/anc_hv_family_planning.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json index c064f0b369..b3390a0590 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json @@ -56,7 +56,7 @@ "openmrs_entity_id": "fam_planning", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Was the mother advised on family planning when you visited the health visit?", + "hint": "Was the mother advised on family planning when she visited the health visit?", "values": [ "Yes", "No" diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_family_planning.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_family_planning.json index c064f0b369..b3390a0590 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_family_planning.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_family_planning.json @@ -56,7 +56,7 @@ "openmrs_entity_id": "fam_planning", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Was the mother advised on family planning when you visited the health visit?", + "hint": "Was the mother advised on family planning when she visited the health visit?", "values": [ "Yes", "No" From fef7e80a64f184654b680c9555d7cf5bef155966 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 29 Apr 2022 12:14:01 +0300 Subject: [PATCH 407/915] Bumped up version code --- opensrp-chw/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 08176923c9..56c87aae54 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -174,8 +174,8 @@ android { nacp { dimension = 'baseDimension' applicationIdSuffix ".nacp" - versionCode 7 - versionName "1.0.7" + versionCode 8 + versionName "1.0.8" buildConfigField "String", 'opensrp_url', '"http://50.116.15.4:8082/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' buildConfigField "String", 'opensrp_url_debug', '"http://50.116.15.4:8082/opensrp/"' From 3f92ff96b3fec5dff2f44e08a07c0e4a0565aad6 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 2 May 2022 10:05:28 +0300 Subject: [PATCH 408/915] Fixed loading of repeating group fields --- .../src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json index 28211bb878..c59910694f 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json @@ -376,8 +376,8 @@ "openmrs_entity_parent": "", "openmrs_entity": "person", "openmrs_entity_id": "gender", - "type": "Jinsi", - "hint": "Sex", + "type": "spinner", + "hint": "Jinsi", "values": [ "Me", "Ke" From 8acda70582a76a07ff1f1ab57ff139059003743c Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Sat, 7 May 2022 11:10:29 +0300 Subject: [PATCH 409/915] Removed constraint --- .../assets/json.form-sw/anc_member_registration.json | 9 +-------- .../nacp/assets/json.form/anc_member_registration.json | 9 +-------- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index 64b102b0a7..fd01338a1b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -279,14 +279,7 @@ "v_numeric_integer": { "value": "true", "err": "Must be a rounded number" - }, - "constraints": [ - { - "type": "numeric", - "ex": "lessThan(., step1:no_prev_preg)", - "err": "Namba lazima iwe chini ya idadi ya mimba (ikiwa ni pamoja na mimba ya sasa)" - } - ] + } }, { "key": "person_assist", diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json index d08da6efae..d792000db5 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -279,14 +279,7 @@ "v_numeric_integer": { "value": "true", "err": "Must be a rounded number" - }, - "constraints": [ - { - "type": "numeric", - "ex": "lessThan(., step1:no_prev_preg)", - "err": "Number must be less than Number of Pregnancies (Including current pregnancy)" - } - ] + } }, { "key": "person_assist", From 266f2bc656b92db2b2c5d4f11431580757828e34 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 9 May 2022 16:00:04 +0300 Subject: [PATCH 410/915] Updated Swahili translations --- .../all_clients_update_registration_info_form.json | 2 +- .../nacp/assets/json.form-sw/anc_member_registration.json | 2 +- .../nacp/assets/json.form-sw/family_member_register.json | 2 +- opensrp-chw/src/nacp/res/values-sw/strings.xml | 8 ++++++++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 4881a2d345..54009b7f07 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -141,7 +141,7 @@ "hint": "Tarehe ya kuzaliwa", "expanded": false, "duration": { - "label": "Age" + "label": "Umri" }, "min_date": "today-120y", "max_date": "today-5y", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index fd01338a1b..83a67e0741 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Usajili wa ANC", + "title": "Usajili wa Wajawazito", "fields": [ { "key": "relational_id", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json index 69680f153c..ea7f628da9 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json @@ -181,7 +181,7 @@ "hint": "Tarehe ya kuzaliwa (DOB)", "expanded": false, "duration": { - "label": "Age" + "label": "Umri" }, "min_date": "today-120y", "max_date": "today-5y", diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 0df5adc245..c046a2e736 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -32,4 +32,12 @@ Rudi kwa Wateja wa Ufuatiliaji wa Mama Kinara Mama Kinara Rudi kwa Wateja wa Mama Kinara + Usajili wa UWANYU + Usajili wa baada ya Kujifungua + Huduma za Kijamii + Rufaa Zilizofanikiwa + Ingiza Taarifa za Mwenza + Sajili Mwenza + Mteja Mpya + Mteja Aliyepo \ No newline at end of file From d5214f76ffafbdfc8e588c8bd130727b0b7ca656 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 10 May 2022 10:09:37 +0300 Subject: [PATCH 411/915] Updated Swahili translations --- opensrp-chw/src/main/res/values-sw/strings.xml | 2 +- .../assets/json.form-sw/anc_member_registration.json | 12 ++++++------ .../json.form-sw/mother_champion_followup.json | 2 +- .../assets/json.form/anc_member_registration.json | 2 +- .../rule/anc_member_registration_calculation.yml | 9 +-------- opensrp-chw/src/nacp/res/values-sw/strings.xml | 3 +++ 6 files changed, 13 insertions(+), 17 deletions(-) diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index fce20143fb..b4161bce55 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -415,7 +415,7 @@ Kawaida/Kijani Wastani/Njano Mbaya/Nyekundu - Rufaa Kwa Ajili ya Kuhakiki Ujauzito + Rufaa Kwa Ajili ya Kuhakiki Mimba Ndio Hapana Nzuri diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index 83a67e0741..42c09394cf 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -62,15 +62,15 @@ "openmrs_entity": "concept", "openmrs_entity_id": "last_menstrual_period", "type": "date_picker", - "hint": "Kipindi cha mwisho cha kuona alichoona hedhi yake (LNMP)", - "label_info_title": "LNMP", - "label_info_text": "LNMP = siku ya kwanza ya Kipindi cha Mwisho cha Kawaida cha Hedhi. Ikiwa tarehe kamili haijulikani, lakini kipindi cha mwezi kinajulikana, tumia siku ya 5 kuainisha mwanzo wa mwezi, siku ya 15 kuainisha katikati ya mwezi, na siku ya 25 kuainisha mwisho wa mwezi.", + "hint": "Tarehe ya kwanza ya hedhi ya mara ya mwisho (LNMP)", + "label_info_title": "Tarehe ya kwanza ya hedhi ya mara ya mwisho (LNMP)", + "label_info_text": "Tarehe ya kwanza ya hedhi ya mara ya mwisho = siku ya kwanza ya kipindi cha mwisho cha hedhi. Ikiwa tarehe halisi haijulikani, lakini kipindi cha mwezi kinajulikana, tumia siku ya 5 kwa mwanzo wa mwezi, siku ya 15 katikati ya mwezi na siku ya 25 kwa mwisho wa mwezi.", "expanded": false, "max_date": "today", "min_date": "today-50w", "v_required": { "value": "true", - "err": "Tarehe ya mwisho ya hedhi ya kawaida" + "err": "Tarehe ya kwanza ya hedhi ya mara ya mwisho inahitajika kujazwa" } }, { @@ -93,7 +93,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "", "type": "edit_text", - "hint": "Umri wa ujauzito (GA)", + "hint": "Umri wa Ujauzito (GA) kwa Wiki", "read_only": true, "calculation": { "rules-engine": { @@ -109,7 +109,7 @@ "openmrs_entity": "", "openmrs_entity_id": "", "type": "edit_text", - "hint": "Tarehe ya Kujifungua inayotarajiwa (EDD)", + "hint": "Tarehe anayotazamia Kujifungua", "read_only": true, "calculation": { "rules-engine": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json index 5688f79175..efbc9733ee 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json @@ -163,7 +163,7 @@ }, { "key": "chk_male_involvement", - "text": "Ushiriki wa Wanaumwe katika huduma za ANC-PMTCT", + "text": "Ushiriki wa mwanaume katika huduma za kliniki ya ujauzito na kliniki ya kuzuia maambukizi ya VVU kwa mtoto mchanga", "openmrs_entity": "concept", "openmrs_entity_id": "chk_male_involvement", "value": "false" diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json index d792000db5..8265789120 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -93,7 +93,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "", "type": "edit_text", - "hint": "Gestational Age (GA)", + "hint": "Gestational Age (GA) in Weeks", "read_only": true, "calculation": { "rules-engine": { diff --git a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml index b91c4cdbf7..2275db2ccd 100644 --- a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml @@ -12,7 +12,7 @@ description: Gestational age calculated priority: 1 condition: "true" actions: - - "calculation = step1_gest_age + ' weeks'" + - "calculation = step1_gest_age" --- name: step1_edd @@ -29,13 +29,6 @@ priority: 1 condition: "true" actions: - "calculation = step1_no_prev_preg + 1" ---- -name: step1_last_menstrual_period -description: last_menstrual_period calculated -priority: 1 -condition: "true" -actions: - - "calculation = helper.subtractDuration(step1_edd,'280d')" --- name: step1_edd_note diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index c046a2e736..30d225e859 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -40,4 +40,7 @@ Sajili Mwenza Mteja Mpya Mteja Aliyepo + Futa Rufaa + Futa Rufaa? + Rekodi hudhurio la Mama Kinara katika jamii \ No newline at end of file From 4b2dbbb005dcd9d746f6186af75ac3c2e6a96831 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 10 May 2022 10:57:33 +0300 Subject: [PATCH 412/915] Updated Swahili translations --- .../assets/json.form-sw/all_clients_registration_form.json | 4 ++-- .../all_clients_update_registration_info_form.json | 6 +++--- .../src/nacp/assets/json.form-sw/child_enrollment.json | 6 +++--- .../nacp/assets/json.form-sw/family_member_register.json | 6 +++--- .../src/nacp/assets/json.form-sw/family_register.json | 6 +++--- .../assets/json.form-sw/male_partner_registration_form.json | 6 +++--- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index ec0a19bbe3..63b794ea9c 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -622,10 +622,10 @@ "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", "Mfuko wa Taifa wa Bima ya Afya", "Tiba Kwa Kadi (TIKA)", - "Huduma ya Afya ya AAR", + "AAR Huduma ya Afya", "Bima ya afya ya Strategies", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Bima ya afya ya Britam", + "Bima ya afya ya Britam Tanzania", "Bima ya afya ya Jubilee", "Bima ya afya ya Resolutions", "Bima ya afya ya Reliance", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 54009b7f07..4ba66f350b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -474,10 +474,10 @@ "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", + "AAR Huduma ya Afya", + "Bima ya afya ya Strategies", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Bima ya afya Britam", + "Bima ya afya Britam Tanzania", "Bima ya afya Jubilee", "Bima ya afya Resolutions", "Bima ya afya Reliance", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json index 7948593404..74763faa02 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json @@ -267,10 +267,10 @@ "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", + "AAR Huduma ya Afya", + "Bima ya afya ya Strategies", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Bima ya afya ya Britam", + "Bima ya afya ya Britam Tanzania", "Bima ya afya ya Jubilee", "Bima ya afya ya Resolutions", "Bima ya afya ya Reliance", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json index ea7f628da9..13170c623b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json @@ -531,10 +531,10 @@ "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", - "Huduma ya Afya ya AAR", - "Strategies Insurance", + "AAR Huduma ya Afya", + "Bima ya afya ya Strategies", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Bima ya afya ya Britam", + "Bima ya afya ya Britam Tanzania", "Bima ya afya ya Jubilee", "Bima ya afya ya Resolutions", "Bima ya afya ya Reliance", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index 8c27aa98e8..34d382d0ac 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -637,10 +637,10 @@ "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", + "AAR Huduma ya Afya", + "Bima ya afya ya Strategies", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Bima ya afya ya Britam", + "Bima ya afya ya Britam Tanzania", "Bima ya afya ya Jubilee", "Bima ya afya ya Resolutions ", "Bima ya afya ya Reliance", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json index 4a7e5209ee..ff2bf33c7e 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json @@ -614,10 +614,10 @@ "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Bima ya Strategies", + "AAR Huduma ya Afya", + "Bima ya afya ya Strategies", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Bima ya afya ya Britam", + "Bima ya afya ya Britam Tanzania", "Bima ya afya ya Jubilee", "Bima ya afya ya resolution", "Bima ya afya ya reliance", From c94bedc94b6fb0737b18df374cf3f1a07ef51e1b Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 10 May 2022 12:08:09 +0300 Subject: [PATCH 413/915] Updated Swahili translations --- .../json.form-sw/child_hv_nutrition_status.json | 8 ++++---- .../mother_champion_sbcc_sessions.json | 2 +- .../json.form-sw/pnc_malaria_prevention.json | 16 ++++++++-------- .../json.form/child_hv_nutrition_status.json | 6 +++--- .../assets/json.form/pnc_malaria_prevention.json | 12 ++++++------ 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_nutrition_status.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_nutrition_status.json index f4f0938823..e71a92ebc3 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_nutrition_status.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_nutrition_status.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Nutrition status", + "title": "Hali ya Lishe", "fields": [ { "key": "nutrition_status_1m5yr", @@ -68,9 +68,9 @@ "Severe" ], "openmrs_choice_ids": { - "Normal": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Moderate": "1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Normal": "Normal", + "Moderate": "Moderate", + "Severe": "Severe" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json index 1c4a6aa4c2..97ad03647d 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json @@ -153,7 +153,7 @@ }, { "key": "chk_hvl_testing", - "text": "Kipimo cha HVL", + "text": "Kipimo cha kiwango cha Virusi vya Ukimwi (HVL)", "openmrs_entity": "concept", "openmrs_entity_id": "chk_hvl_testing", "value": "false" diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_malaria_prevention.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_malaria_prevention.json index 3ef9ba74ac..1838ef4c4b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_malaria_prevention.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_malaria_prevention.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Malaria Prevention", + "title": "Kinga dhidi ya Malaria", "fields": [ { "key": "fam_llin", @@ -58,7 +58,7 @@ "type": "spinner", "hint": "Je, ana chandarua chenye dawa inayodumu kwa muda mrefu (LLIN)?", "values": [ - "Ndiyo", + "Ndio", "Hapana" ], "keys": [ @@ -66,8 +66,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -91,8 +91,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -122,8 +122,8 @@ "Bad" ], "openmrs_choice_ids": { - "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Okay": "Okay", + "Bad": "Bad" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/nacp/assets/json.form/child_hv_nutrition_status.json b/opensrp-chw/src/nacp/assets/json.form/child_hv_nutrition_status.json index 2eb6067625..ee4f4a43d9 100644 --- a/opensrp-chw/src/nacp/assets/json.form/child_hv_nutrition_status.json +++ b/opensrp-chw/src/nacp/assets/json.form/child_hv_nutrition_status.json @@ -68,9 +68,9 @@ "Severe" ], "openmrs_choice_ids": { - "Normal": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Moderate": "1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Normal": "Normal", + "Moderate": "Moderate", + "Severe": "Severe" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_malaria_prevention.json b/opensrp-chw/src/nacp/assets/json.form/pnc_malaria_prevention.json index fe30139b0d..f091f94a29 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_malaria_prevention.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_malaria_prevention.json @@ -66,8 +66,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -91,8 +91,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Yes": "Yes", + "No": "No" }, "v_required": { "value": "true", @@ -122,8 +122,8 @@ "Bad" ], "openmrs_choice_ids": { - "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Okay": "Okay", + "Bad": "Bad" }, "v_required": { "value": "true", From 63b5def554a91156d99e30c795b0290d2119835c Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 10 May 2022 16:09:07 +0300 Subject: [PATCH 414/915] Updated Swahili translations --- .../nacp/assets/json.form-sw/female_hiv_registration.json | 6 +++--- .../src/nacp/assets/json.form-sw/male_hiv_registration.json | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json index 03668bfcb0..f1958ace53 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json @@ -153,7 +153,7 @@ "name": "tb_number", "type": "text_input_edit_text", "properties": { - "hint": "TB ID", + "hint": "Namba ya utambulisho wa Kifua Kikuu", "type": "TB Clinic ID" }, "meta_data": { @@ -166,7 +166,7 @@ "name": "rch_number", "type": "text_input_edit_text", "properties": { - "hint": "RCH ID", + "hint": "Namba ya utambulisho wa Kadi ya Kliniki (RCH)", "type": "RCH Clinic ID" }, "meta_data": { @@ -179,7 +179,7 @@ "name": "mat_number", "type": "text_input_edit_text", "properties": { - "hint": "MAT ID", + "hint": "Namba ya utambulisho ya MAT", "type": "MAT Clinic ID" }, "meta_data": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json index 5c4bed2561..5d7bb401c6 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json @@ -153,7 +153,7 @@ "name": "tb_number", "type": "text_input_edit_text", "properties": { - "hint": "TB ID", + "hint": "Namba ya utambulisho wa Kifua Kikuu", "type": "TB Clinic ID" }, "meta_data": { @@ -166,7 +166,7 @@ "name": "mat_number", "type": "text_input_edit_text", "properties": { - "hint": "MAT ID", + "hint": "Namba ya utambulisho ya MAT", "type": "MAT Clinic ID" }, "meta_data": { From 1866187e9b04716846483200626919a250dff224 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 10 May 2022 19:43:34 +0300 Subject: [PATCH 415/915] fix: checks for evaluating payload when empty --- .../chw/interactor/AncHomeVisitInteractorFlv.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java index 9271777893..506c426e84 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java @@ -255,11 +255,9 @@ public String evaluateSubTitle() { @Override public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { - if (danger_signs_present.contains("None") || danger_signs_present.contains("Hakuna")) { - if (StringUtils.isBlank(danger_signs_counseling)) { - return BaseAncHomeVisitAction.Status.PENDING; - } - + if (StringUtils.isBlank(danger_signs_present)) { + return BaseAncHomeVisitAction.Status.PENDING; + } else if (danger_signs_present.contains("None") || danger_signs_present.contains("Hakuna")) { if (danger_signs_counseling.equalsIgnoreCase("Yes")) { return BaseAncHomeVisitAction.Status.COMPLETED; } else if (danger_signs_counseling.equalsIgnoreCase("No")) { @@ -267,10 +265,8 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { } else { return BaseAncHomeVisitAction.Status.PENDING; } - } else if (StringUtils.isNotBlank(danger_signs_present)) { - return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; } else { - return BaseAncHomeVisitAction.Status.PENDING; + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; } } From 7e6747c05af4a0ebd4225ea6aecd69ea2a9ea113 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 11 May 2022 11:22:30 +0300 Subject: [PATCH 416/915] Updated Swahili translations --- .../src/nacp/assets/json.form-sw/mother_champion_followup.json | 2 +- .../nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json index efbc9733ee..510f4b9c31 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json @@ -184,7 +184,7 @@ }, { "key": "chk_prophylaxis_scheduling", - "text": "Ratiba ya Prophylaxis", + "text": "Ratiba ya Kinga", "openmrs_entity": "concept", "openmrs_entity_id": "chk_prophylaxis_scheduling", "value": "false" diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json index 97ad03647d..6ac371529c 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json @@ -118,7 +118,7 @@ "options": [ { "key": "chk_early_anc_initiation", - "text": "Kuanza huduma za ANC mapema", + "text": "Uanzaji mapema wa Kliniki ya Mama Mjamzito", "openmrs_entity": "concept", "openmrs_entity_id": "chk_early_anc_initiation", "value": "false" From 961b04234ed6f43c102e07629e99bbb479d3838c Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 11 May 2022 11:35:15 +0300 Subject: [PATCH 417/915] Disabled the sick child form menu item --- .../org/smartregister/chw/activity/ChildProfileActivity.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java index 343a88bdb1..cdfc427fab 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java @@ -165,9 +165,8 @@ public boolean onOptionsItemSelected(MenuItem item) { @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); - menu.findItem(R.id.action_sick_child_form).setVisible(ChwApplication.getApplicationFlavor().hasChildSickForm() - && flavor.isChildOverTwoMonths(((CoreChildProfilePresenter) presenter).getChildClient()) - && !ChwApplication.getApplicationFlavor().useThinkMd()); + menu.findItem(R.id.action_sick_child_form).setVisible(false); + menu.findItem(R.id.action_sick_child_follow_up).setVisible(false); menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); menu.findItem(R.id.action_malaria_followup_visit).setVisible(false); From 00e2e69c2b558488bc9d70196fe9e8eed962798e Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 11 May 2022 12:17:44 +0300 Subject: [PATCH 418/915] Made none option exclusive --- .../json.form-sw/mother_champion_followup.json | 12 +++++++++--- .../assets/json.form/mother_champion_followup.json | 6 ++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json index 510f4b9c31..e48aaab1af 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json @@ -240,6 +240,9 @@ "type": "check_box", "combine_checkbox_option_values": "true", "label": "Chagua rufaa aliyopewa mteja kwa ajili ya huduma nyingine", + "exclusive": [ + "chk_none" + ], "options": [ { "key": "chk_gender_based_violence", @@ -250,7 +253,7 @@ }, { "key": "chk_legal_support", - "text": "Msaada wa Kishria", + "text": "Msaada wa Kisheria", "openmrs_entity": "concept", "openmrs_entity_id": "chk_legal_support", "value": "false" @@ -264,14 +267,14 @@ }, { "key": "chk_support_groups", - "text": "makundi ya msaada", + "text": "Makundi ya msaada", "openmrs_entity": "concept", "openmrs_entity_id": "chk_support_groups", "value": "false" }, { "key": "chk_none", - "text": "Hakuan", + "text": "Hakuna", "openmrs_entity": "concept", "openmrs_entity_id": "chk_none", "value": "false" @@ -290,6 +293,9 @@ "type": "check_box", "combine_checkbox_option_values": "true", "label": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na Mteja", + "exclusive": [ + "chk_none" + ], "options": [ { "key": "chk_gender_based_violence", diff --git a/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json index 9d0b6e65c7..0b7aacf4d5 100644 --- a/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json +++ b/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json @@ -240,6 +240,9 @@ "type": "check_box", "combine_checkbox_option_values": "true", "label": "Pick Referrals Issued to the Client for Other Services", + "exclusive": [ + "chk_none" + ], "options": [ { "key": "chk_gender_based_violence", @@ -290,6 +293,9 @@ "type": "check_box", "combine_checkbox_option_values": "true", "label": "Pick Referrals to other Services Completed by the Client", + "exclusive": [ + "chk_none" + ], "options": [ { "key": "chk_gender_based_violence", From 547f31d306d14155cdbe42a89f67f6d8a39ac5d9 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 12 May 2022 10:01:37 +0300 Subject: [PATCH 419/915] Additional swahili translations --- opensrp-chw/src/main/res/layout/sbcc_session_card_view.xml | 2 +- opensrp-chw/src/main/res/values/strings.xml | 1 + .../nacp/assets/json.form-sw/referrals/hiv_referral_form.json | 2 +- opensrp-chw/src/nacp/res/values-sw/strings.xml | 4 ++++ 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/res/layout/sbcc_session_card_view.xml b/opensrp-chw/src/main/res/layout/sbcc_session_card_view.xml index abe2adb171..579910113b 100644 --- a/opensrp-chw/src/main/res/layout/sbcc_session_card_view.xml +++ b/opensrp-chw/src/main/res/layout/sbcc_session_card_view.xml @@ -69,7 +69,7 @@ android:layout_marginLeft="8dp" android:layout_toRightOf="@+id/iv_sbcc_session" android:gravity="center_horizontal" - android:text="SBCC Session" + android:text="@string/sbcc_session_title" android:textAlignment="textStart" android:textAppearance="@style/TextAppearance.AppCompat.Large" android:textColor="@android:color/black" diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 0a41f9c74a..3e3c642e8a 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -422,6 +422,7 @@ Record Mother mentor community services visit MISSAP/LTF Followups Successful Referrals + SBCC Session diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json index 56f95df328..b845306020 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json @@ -160,7 +160,7 @@ }, { "name": "none", - "text": "Hapana", + "text": "Hakuna", "is_exclusive": true, "meta_data": { "openmrs_entity": "", diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 30d225e859..3e8b097449 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -43,4 +43,8 @@ Futa Rufaa Futa Rufaa? Rekodi hudhurio la Mama Kinara katika jamii + Eneo: %s + Washiriki: %s + Tarehe: %s + SBCC Session \ No newline at end of file From 0ded6ac11b9985136551452dfdc88f236d77b2ca Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 12 May 2022 11:35:51 +0300 Subject: [PATCH 420/915] Additional swahili translations --- .../assets/json.form-sw/mother_champion_sbcc_sessions.json | 2 +- opensrp-chw/src/nacp/res/values-sw/strings.xml | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json index 6ac371529c..dab9a81607 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "SBCC Session", + "title": "Kipindi cha SBCC", "fields": [ { "key": "sbcc_date", diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 3e8b097449..a3618329f3 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -46,5 +46,6 @@ Eneo: %s Washiriki: %s Tarehe: %s - SBCC Session + Kipindi cha SBCC + Ufuatiliaji wa MISSAP/LTF \ No newline at end of file From b2f6206174e09f0e03021f016685a9d7869beeea Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 16 May 2022 08:41:53 +0300 Subject: [PATCH 421/915] rename: pnc danger signs to pnc referral --- .../smartregister/chw/activity/PncMemberProfileActivity.java | 2 +- opensrp-chw/src/main/res/values-sw/strings.xml | 1 + opensrp-chw/src/main/res/values/strings.xml | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index 86deeab9f9..8eac11208e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -358,7 +358,7 @@ public List getReferralTypeModels() { } private void addPncReferralTypes() { - referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_danger_signs), + referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_referral), BuildConfig.USE_UNIFIED_REFERRAL_APPROACH ? JSON_FORM.getPncUnifiedReferralForm() : JSON_FORM.getPncReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); // if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index b4161bce55..68e2f011d6 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -429,4 +429,5 @@ Mtoto Amekosa Miadi Mtoto : %s Rudi kwa Wateja wote wa Ufuatiliaji wa Mwenza + Rufaa ya PNC diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 3e3c642e8a..b937afb0b6 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -423,6 +423,7 @@ MISSAP/LTF Followups Successful Referrals SBCC Session + PNC Referral From c1c2cff090d7ea6c5f16f67182128a0235c0c723 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 17 May 2022 12:43:48 +0300 Subject: [PATCH 422/915] bumped: core version code --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 56c87aae54..53bc6d4483 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -320,7 +320,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.30.10-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.31.11-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From e0de88084d9a9fed22f5672272c09679cc8e027d Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 17 May 2022 12:44:11 +0300 Subject: [PATCH 423/915] fix: override methods --- .../chw/activity/AllClientsMemberProfileActivity.java | 5 +++++ .../smartregister/chw/activity/AncMemberProfileActivity.java | 5 +++++ .../activity/AncPartnerFollowupReferralProfileActivity.java | 5 +++++ .../chw/activity/FamilyOtherMemberProfileActivity.java | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 0d47beb17d..d173ae7909 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -219,6 +219,11 @@ protected void startPmtctRegisration() { //do nothing - implementation in hf } + @Override + protected void startLDRegistration() { + //do nothing - implementation in hf + } + @Override protected void setIndependentClient(boolean isIndependentClient) { super.isIndependent = isIndependentClient; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index 68e7a007fa..e78336b36f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -313,6 +313,11 @@ public void openFamilyDueServices() { startActivity(intent); } + @Override + protected void startLDRegistration() { + //do nothing + } + @Override public void setFamilyLocation() { if (ChwApplication.getApplicationFlavor().flvSetFamilyLocation()) { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index c72b81755b..fef0e6a109 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -333,6 +333,11 @@ public void openFamilyDueServices() { Timber.i("openFamilyDueServices"); } + @Override + protected void startLDRegistration() { + //implement + } + @Override public boolean usesPregnancyRiskProfileLayout() { return false; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index 9785673b70..bf8ca3b60a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -248,6 +248,11 @@ protected void startPmtctRegisration() { //do nothing - implementation in hf } + @Override + protected void startLDRegistration() { + //do nothing - implementation in hf + } + /** * build implementation differences file */ From 8b92ed686a21206543ed83fe26826ddad5dba990 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 19 May 2022 16:22:45 +0300 Subject: [PATCH 424/915] Swahili translations --- opensrp-chw/src/nacp/res/values-sw/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index a3618329f3..df33ca7c92 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -48,4 +48,8 @@ Tarehe: %s Kipindi cha SBCC Ufuatiliaji wa MISSAP/LTF + Rufaa itafutwa na kupotea kwenye mfumo + Toka + Rufaa imetumwa kituoni + Rufaa imetumwa kituoni \ No newline at end of file From 5bf6a8b6e0465b4e28ec0ce34c0535c422bd52fa Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 23 May 2022 12:03:44 +0300 Subject: [PATCH 425/915] :hammer: added github repositories for chw core --- opensrp-chw/build.gradle | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 53bc6d4483..94bc2eaeb6 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -10,12 +10,37 @@ buildscript { classpath 'com.android.tools.build:gradle:4.0.1' } } - +def githubProperties = new Properties() +if (rootProject.file("github.properties").exists()) { + githubProperties.load(new FileInputStream(rootProject.file("github.properties"))) +} allprojects { repositories { maven { url 'https://maven.google.com' } maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } maven { url 'https://maven.fabric.io/public' } + maven { + + name = "GitHubPackages" + + url = uri("https://maven.pkg.github.com/SoftmedTanzania/opensrp-client-chw-core") + credentials { + username = githubProperties['gpr.usr'] ?: System.getenv("GPR_USER") + password = githubProperties['gpr.key'] ?: System.getenv("GPR_API_KEY") + } + + } + + maven { + + name = "GitHubPackages" + + url = uri("https://maven.pkg.github.com/SoftmedTanzania/opensrp-client-chw-ld") + credentials { + username = githubProperties['gpr.usr'] ?: System.getenv("GPR_USER") + password = githubProperties['gpr.key'] ?: System.getenv("GPR_API_KEY") + } + } mavenLocal() } } @@ -320,7 +345,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.31.11-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.31.12-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From a37473b4270fabdc2ed681fb633816e8b5485e73 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 23 May 2022 12:53:32 +0300 Subject: [PATCH 426/915] :hammer: refactored cbhs number format. Removing / to use - --- .../assets/json.form-sw/female_hiv_registration.json | 10 +++++----- .../assets/json.form-sw/male_hiv_registration.json | 10 +++++----- .../nacp/assets/json.form/female_hiv_registration.json | 10 +++++----- .../nacp/assets/json.form/male_hiv_registration.json | 10 +++++----- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json index f1958ace53..a1a832ca28 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json @@ -61,9 +61,9 @@ "name": "cbhs_number", "type": "masked_edit_text", "properties": { - "hint": "Namba ya HUWANYU mfano: 1234/56/78/912", - "type": "Namba ya HUWANYU mfano: 1234/56/78/912", - "mask": "####/##/##/###", + "hint": "Namba ya HUWANYU mfano: 1234-56-78-912", + "type": "Namba ya HUWANYU mfano: 1234-56-78-912", + "mask": "####-##-##-###", "mask_hint": "12345678912", "input_type": "number", "allowed_chars": "0123456789" @@ -75,8 +75,8 @@ }, "validation": [ { - "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", - "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." + "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", + "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." } ], "required_status": "yes:Tafadhali weka namba ya HUWANYU" diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json index 5d7bb401c6..5d434e0be3 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json @@ -61,9 +61,9 @@ "name": "cbhs_number", "type": "masked_edit_text", "properties": { - "hint": "Namba ya HUWANYU mfano: 1234/56/78/912", - "type": "Namba ya HUWANYU mfano: 1234/56/78/912", - "mask": "####/##/##/###", + "hint": "Namba ya HUWANYU mfano: 1234-56-78-912", + "type": "Namba ya HUWANYU mfano: 1234-56-78-912", + "mask": "####-##-##-###", "mask_hint": "12345678912", "input_type": "number", "allowed_chars": "0123456789" @@ -75,8 +75,8 @@ }, "validation": [ { - "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", - "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." + "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", + "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." } ], "required_status": "yes:Tafadhali weka namba ya HUWANYU" diff --git a/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json index b38197685c..b2113b51b7 100644 --- a/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json @@ -61,9 +61,9 @@ "name": "cbhs_number", "type": "masked_edit_text", "properties": { - "hint": "CBHS Number e.g 1234/56/78/912", - "type": "CBHS Number e.g 1234/56/78/912", - "mask": "####/##/##/###", + "hint": "CBHS Number e.g 1234-56-78-912", + "type": "CBHS Number e.g 1234-56-78-912", + "mask": "####-##-##-###", "mask_hint": "12345678912", "input_type": "number", "allowed_chars": "0123456789" @@ -75,8 +75,8 @@ }, "validation": [ { - "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", - "message": "CBHS Number should be of the format (XXXX/XX/XX/XXX)." + "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", + "message": "CBHS Number should be of the format (XXXX-XX-XX-XXX)." } ], "required_status": "yes:Please specify client's CBHS Number" diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json index b39084f8e3..42b4a7c501 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json @@ -61,9 +61,9 @@ "name": "cbhs_number", "type": "masked_edit_text", "properties": { - "hint": "CBHS Number e.g 1234/56/78/912", - "type": "CBHS Number e.g 1234/56/78/912", - "mask": "####/##/##/###", + "hint": "CBHS Number e.g 1234-56-78-912", + "type": "CBHS Number e.g 1234-56-78-912", + "mask": "####-##-##-###", "mask_hint": "12345678912", "input_type": "number", "allowed_chars": "0123456789" @@ -75,8 +75,8 @@ }, "validation": [ { - "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", - "message": "CBHS Number should be of the format (XXXX/XX/XX/XXX)." + "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", + "message": "CBHS Number should be of the format (XXXX-XX-XX-XXX)." } ], "required_status": "yes:Please specify client's CBHS Number" From 726fdc1564135d212748995cbcbd433820cf440a Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 23 May 2022 12:55:40 +0300 Subject: [PATCH 427/915] :hammer: refactored CHW Query Constant, fixed issues in listing CBHS clients --- .../java/org/smartregister/chw/util/ChwQueryConstant.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java index 17233e5a20..322aad2456 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java @@ -44,6 +44,7 @@ public interface ChwQueryConstant { " UNION ALL\n" + " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + " FROM ec_hiv_register\n" + + " WHERE ( UPPER (ec_hiv_register.client_hiv_status_after_testing) LIKE UPPER('Positive') OR ec_hiv_register.client_hiv_status_after_testing IS NULL) \n" + ")" + "UNION ALL" + "/* CBHS REGISTER */\n" + @@ -66,7 +67,8 @@ public interface ChwQueryConstant { " inner join ec_family_member on ec_family_member.base_entity_id = ec_hiv_register.base_entity_id\n" + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + "where ec_family_member.date_removed is null\n" + - " and ec_hiv_register.is_closed is 0\n" + + " AND ec_hiv_register.is_closed is 0\n" + + " AND ( UPPER (ec_hiv_register.client_hiv_status_after_testing) LIKE UPPER('Positive') OR ec_hiv_register.client_hiv_status_after_testing IS NULL) " + " AND ec_hiv_register.base_entity_id IN (%s)\n" + " AND ec_family_member.base_entity_id NOT IN (\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + From 238616ffe0fb99eef50cb48920afae463b26df32 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 23 May 2022 17:33:59 +0300 Subject: [PATCH 428/915] update: translation for sbcc location --- .../smartregister/chw/adapter/SbccRegisterAdapter.java | 8 +++++++- opensrp-chw/src/main/res/values/strings.xml | 2 ++ opensrp-chw/src/nacp/res/values-sw/strings.xml | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/adapter/SbccRegisterAdapter.java b/opensrp-chw/src/main/java/org/smartregister/chw/adapter/SbccRegisterAdapter.java index 4e9c521ea7..491a99ce1e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/adapter/SbccRegisterAdapter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/adapter/SbccRegisterAdapter.java @@ -59,7 +59,13 @@ public void bindData(SbccSessionModel sbccSessionModel) { sbccSessionDate.setText(context.getString(R.string.sbcc_session_date, sbccSessionModel.getSessionDate())); sbccSessionParticipants.setText(context.getString(R.string.sbcc_participants, sbccSessionModel.getSessionParticipants())); - sbccSessionLocation.setText(context.getString(R.string.sbcc_location, sbccSessionModel.getSessionLocation())); + if (sbccSessionModel.getSessionLocation().equalsIgnoreCase("facility")) { + sbccSessionLocation.setText(context.getString(R.string.sbcc_location, itemView.getContext().getString(R.string.sbcc_session_location_facility))); + } else if (sbccSessionModel.getSessionLocation().equalsIgnoreCase("community")) { + sbccSessionLocation.setText(context.getString(R.string.sbcc_location, itemView.getContext().getString(R.string.sbcc_session_location_community))); + } else { + sbccSessionLocation.setText(context.getString(R.string.sbcc_location, sbccSessionModel.getSessionLocation())); + } } } } diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index b937afb0b6..7d30a397b4 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -417,6 +417,8 @@ Location: %s Participants: %s Date: %s + Facility + Community Return to All Partner Follow-up clients ANC Client Male Engagement Record Mother mentor community services visit diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index df33ca7c92..b56e06ff1d 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -46,6 +46,8 @@ Eneo: %s Washiriki: %s Tarehe: %s + Kituoni + Jumuiya Kipindi cha SBCC Ufuatiliaji wa MISSAP/LTF Rufaa itafutwa na kupotea kwenye mfumo From 4a06c1cd27cfb2e3b9368529e7649cabeee98623 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 23 May 2022 17:35:28 +0300 Subject: [PATCH 429/915] Swahili translations --- .../assets/json.form-sw/all_clients_registration_form.json | 4 ++-- .../all_clients_update_registration_info_form.json | 4 ++-- .../src/nacp/assets/json.form-sw/child_enrollment.json | 2 +- .../nacp/assets/json.form-sw/child_hv_malaria_prevention.json | 4 ++-- .../src/nacp/assets/json.form-sw/family_details_register.json | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index 63b794ea9c..120835c3bd 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -1416,7 +1416,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_under_10", "type": "native_radio", - "label": "Reasons for Registration", + "label": "Sababu ya usajili", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -1544,7 +1544,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_10_to_15", "type": "native_radio", - "label": "Reasons for Registration", + "label": "Sababu ya usajili", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 4ba66f350b..39acb11d62 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -1275,7 +1275,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_under_10", "type": "native_radio", - "label": "Reasons for Registration", + "label": "Sababu ya usajili", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -1403,7 +1403,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_10_to_15", "type": "native_radio", - "label": "Reasons for Registration", + "label": "Sababu ya usajili", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json index 74763faa02..5df384a2a2 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json @@ -185,7 +185,7 @@ "hint": "Tarehe ya kuzaliwa", "expanded": false, "duration": { - "label": "Age" + "label": "Umri" }, "min_date": "today-4y", "max_date": "today", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_malaria_prevention.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_malaria_prevention.json index ac716feba6..53dc87d576 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_malaria_prevention.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_malaria_prevention.json @@ -114,8 +114,8 @@ "type": "spinner", "hint": "Hali ya chandarua (LLIN)", "values": [ - "Ndiyo", - "Hapana" + "Nzuri", + "Mbaya" ], "keys": [ "Okay", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json index 85fed03e87..4c42354f44 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json @@ -104,7 +104,7 @@ "openmrs_entity": "person_address", "openmrs_entity_id": "landmark", "type": "edit_text", - "hint": "Alama ya kihistoria" + "hint": "Alama ya maeneo ya makazi" }, { "key": "gps", From 007d2213becdbd4c6dc223b6bcf66f62bb6098f1 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 23 May 2022 17:40:03 +0300 Subject: [PATCH 430/915] Swahili translations --- .../json.form-sw/all_clients_registration_form.json | 4 ++-- .../all_clients_update_registration_info_form.json | 2 +- .../src/nacp/assets/json.form-sw/child_enrollment.json | 4 ++-- .../nacp/assets/json.form-sw/family_member_register.json | 4 ++-- .../src/nacp/assets/json.form-sw/family_register.json | 4 ++-- .../json.form-sw/male_partner_registration_form.json | 8 ++++---- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index 120835c3bd..cd49d9728e 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -623,10 +623,10 @@ "Mfuko wa Taifa wa Bima ya Afya", "Tiba Kwa Kadi (TIKA)", "AAR Huduma ya Afya", - "Bima ya afya ya Strategies", + "Bima ya afya Strategies", "Milvik Tanzania Ltd (BIMA Mkononi)", "Bima ya afya ya Britam Tanzania", - "Bima ya afya ya Jubilee", + "Bima ya afya Jubilee", "Bima ya afya ya Resolutions", "Bima ya afya ya Reliance", "Nyingine", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 39acb11d62..2c9c357eb6 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -475,7 +475,7 @@ "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Huduma ya Afya", - "Bima ya afya ya Strategies", + "Bima ya afya Strategies", "Milvik Tanzania Ltd (BIMA Mkononi)", "Bima ya afya Britam Tanzania", "Bima ya afya Jubilee", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json index 5df384a2a2..8e09c16583 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json @@ -268,10 +268,10 @@ "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Huduma ya Afya", - "Bima ya afya ya Strategies", + "Bima ya afya Strategies", "Milvik Tanzania Ltd (BIMA Mkononi)", "Bima ya afya ya Britam Tanzania", - "Bima ya afya ya Jubilee", + "Bima ya afya Jubilee", "Bima ya afya ya Resolutions", "Bima ya afya ya Reliance", "Nyingine", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json index 13170c623b..7a662ca0d8 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json @@ -532,10 +532,10 @@ "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Huduma ya Afya", - "Bima ya afya ya Strategies", + "Bima ya afya Strategies", "Milvik Tanzania Ltd (BIMA Mkononi)", "Bima ya afya ya Britam Tanzania", - "Bima ya afya ya Jubilee", + "Bima ya afya Jubilee", "Bima ya afya ya Resolutions", "Bima ya afya ya Reliance", "Nyingine", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index 34d382d0ac..90531204cb 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -638,10 +638,10 @@ "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Huduma ya Afya", - "Bima ya afya ya Strategies", + "Bima ya afya Strategies", "Milvik Tanzania Ltd (BIMA Mkononi)", "Bima ya afya ya Britam Tanzania", - "Bima ya afya ya Jubilee", + "Bima ya afya Jubilee", "Bima ya afya ya Resolutions ", "Bima ya afya ya Reliance", "Nyinginezo", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json index ff2bf33c7e..95fbb232ef 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json @@ -615,12 +615,12 @@ "Mfuko wa Taifa wa Bima ya Afya (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Huduma ya Afya", - "Bima ya afya ya Strategies", + "Bima ya afya Strategies", "Milvik Tanzania Ltd (BIMA Mkononi)", "Bima ya afya ya Britam Tanzania", - "Bima ya afya ya Jubilee", - "Bima ya afya ya resolution", - "Bima ya afya ya reliance", + "Bima ya afya Jubilee", + "Bima ya afya ya Resolutions", + "Bima ya afya ya Reliance", "Nyinginezo", "Hakuna" ], From dd8d9e74beafd6449ce31b882b6039e810ccdd59 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 24 May 2022 09:52:29 +0300 Subject: [PATCH 431/915] Swahili translations --- .../all_clients_registration_form.json | 8 ++++---- .../all_clients_update_registration_info_form.json | 14 +++++++------- .../json.form-sw/female_hiv_registration.json | 2 +- .../assets/json.form-sw/male_hiv_registration.json | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index cd49d9728e..3de82024ac 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -1416,7 +1416,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_under_10", "type": "native_radio", - "label": "Sababu ya usajili", + "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -1528,7 +1528,7 @@ ], "v_required": { "value": "true", - "err": "Reason for registration is required" + "err": "Sababu ya usajili inahitajika" }, "relevance": { "rules-engine": { @@ -1544,7 +1544,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_10_to_15", "type": "native_radio", - "label": "Sababu ya usajili", + "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -1671,7 +1671,7 @@ ], "v_required": { "value": "true", - "err": "Reason for registration is required" + "err": "Sababu ya usajili inahitajika" }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 2c9c357eb6..8de7f01de0 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -940,7 +940,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_male_15", "type": "native_radio", - "label": "Sababu ya usajili", + "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -1040,7 +1040,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_15", "type": "native_radio", - "label": "Sababu ya usajili", + "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -1147,7 +1147,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_under_15", "type": "native_radio", - "label": "Sababu ya usajili", + "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -1275,7 +1275,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_under_10", "type": "native_radio", - "label": "Sababu ya usajili", + "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -1387,7 +1387,7 @@ ], "v_required": { "value": "true", - "err": "Reason for registration is required" + "err": "Sababu ya usajili inahitajika" }, "relevance": { "rules-engine": { @@ -1403,7 +1403,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_10_to_15", "type": "native_radio", - "label": "Sababu ya usajili", + "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ @@ -1529,7 +1529,7 @@ ], "v_required": { "value": "true", - "err": "Reason for registration is required" + "err": "Sababu ya usajili inahitajika" }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json index f1958ace53..0ddb93dfe5 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json @@ -95,7 +95,7 @@ "options": [ { "name": "unknown", - "text": "Haihusiki", + "text": "Haijulikani", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "unknown", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json index 5d7bb401c6..97227e10be 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json @@ -95,7 +95,7 @@ "options": [ { "name": "unknown", - "text": "Haihusiki", + "text": "Haijulikani", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "unknown", From 55b052f997ef07b2df164a0a51091a76a7844e52 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 24 May 2022 13:21:52 +0300 Subject: [PATCH 432/915] :hammer: refactored client processor to save values instead of human readable values to ec_classification tables --- .../chw/dao/ChwHivOutcomeDao.java | 35 +++++++++++++++++++ .../chw/sync/ChwClientProcessor.java | 5 +++ 2 files changed, 40 insertions(+) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwHivOutcomeDao.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwHivOutcomeDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwHivOutcomeDao.java new file mode 100644 index 0000000000..58763b4522 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwHivOutcomeDao.java @@ -0,0 +1,35 @@ +package org.smartregister.chw.dao; + +import org.joda.time.DateTime; +import org.joda.time.Days; +import org.smartregister.chw.application.ChwApplication; +import org.smartregister.chw.core.dao.ChildDao; +import org.smartregister.chw.core.domain.Child; +import org.smartregister.dao.AbstractDao; +import org.smartregister.domain.Alert; +import org.smartregister.domain.AlertStatus; +import org.smartregister.immunization.domain.Vaccine; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class ChwHivDao extends AbstractDao { + + public static boolean hasDueVaccines(String baseEntityID) { + String sql = "select * FROM count \n" + + "FROM alerts " + + "where caseID = '" + baseEntityID + "'"; + + DataMap dataMap = cursor -> getCursorIntValue(cursor, "count"); + + List res = readData(sql, dataMap); + if (res == null || res.get(0) == 0) + return false; + + res.size(); + return true; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java b/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java index 936f05255c..349b4353a1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java @@ -60,4 +60,9 @@ public void processEvents(ClientClassification clientClassification, Table vacci } ChwScheduleTaskExecutor.getInstance().execute(event.getBaseEntityId(), event.getEventType(), event.getEventDate().toDate()); } + + @Override + protected String getHumanReadableConceptResponse(String value, Object object) { + return value; + } } From 86f1d3aa2f09c69275e95bd5ac6c86892bdac150 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 24 May 2022 13:23:06 +0300 Subject: [PATCH 433/915] :hammer: refactored main condition of CHW HIV Register Fragment presenter --- .../chw/presenter/HivRegisterFragmentPresenter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java index eaa065be5c..38caa1e176 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java @@ -19,7 +19,7 @@ public HivRegisterFragmentPresenter(BaseHivRegisterFragmentContract.View view, B @NotNull public String getMainCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND (" + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " = 'Positive' OR " + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " IS NULL ) "+ + "AND (" + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " = 'positive' OR " + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " IS NULL ) "+ "AND " + Tables.HIV + "." + DBConstants.Key.IS_CLOSED + " = '0' "; } From 9a1355a5eb68f8d5a56d576a17176c2613bb1590 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 24 May 2022 13:23:53 +0300 Subject: [PATCH 434/915] :hammer: added ChwHivOutcome Dao for querying HIV outcome details --- .../chw/dao/ChwHivOutcomeDao.java | 55 +++++++++++-------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwHivOutcomeDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwHivOutcomeDao.java index 58763b4522..d3b40d62eb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwHivOutcomeDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwHivOutcomeDao.java @@ -1,35 +1,44 @@ package org.smartregister.chw.dao; -import org.joda.time.DateTime; -import org.joda.time.Days; -import org.smartregister.chw.application.ChwApplication; -import org.smartregister.chw.core.dao.ChildDao; -import org.smartregister.chw.core.domain.Child; import org.smartregister.dao.AbstractDao; -import org.smartregister.domain.Alert; -import org.smartregister.domain.AlertStatus; -import org.smartregister.immunization.domain.Vaccine; -import java.util.ArrayList; -import java.util.HashSet; import java.util.List; -import java.util.Map; -import java.util.Set; -public class ChwHivDao extends AbstractDao { +public class ChwHivOutcomeDao extends AbstractDao { - public static boolean hasDueVaccines(String baseEntityID) { - String sql = "select * FROM count \n" + - "FROM alerts " + - "where caseID = '" + baseEntityID + "'"; + public static String servicesProvided(String baseEntityID, long timestamp) { + String sql = "SELECT action_taken, test_results\n" + + "FROM ec_hiv_outcome\n" + + "WHERE entity_id = '" + baseEntityID + "'\n" + + "AND date(visit_date) = date(substr(strftime('%Y-%m-%d', datetime(" + timestamp + " / 1000, 'unixepoch', 'localtime')), 1, 4) ||\n" + + " '-' ||\n" + + " substr(strftime('%Y-%m-%d', datetime(" + timestamp + "/ 1000, 'unixepoch', 'localtime')), 6, 2) ||\n" + + " '-' || substr(strftime('%Y-%m-%d', datetime(" + timestamp + "/ 1000, 'unixepoch', 'localtime')), 9, 2))\n" + + "ORDER BY visit_date DESC\n" + + "LIMIT 1;"; - DataMap dataMap = cursor -> getCursorIntValue(cursor, "count"); + DataMap dataMap = cursor -> getCursorValue(cursor, "action_taken"); + List res = readData(sql, dataMap); + if (res != null && res.size() > 0 && res.get(0) != null) + return res.get(0); + return null; + } - List res = readData(sql, dataMap); - if (res == null || res.get(0) == 0) - return false; + public static String hivStatus(String baseEntityID, long timestamp) { + String sql = "SELECT test_results\n" + + "FROM ec_hiv_outcome\n" + + "WHERE entity_id = '" + baseEntityID + "'\n" + + "AND date(visit_date) = date(substr(strftime('%Y-%m-%d', datetime(" + timestamp + " / 1000, 'unixepoch', 'localtime')), 1, 4) ||\n" + + " '-' ||\n" + + " substr(strftime('%Y-%m-%d', datetime(" + timestamp + "/ 1000, 'unixepoch', 'localtime')), 6, 2) ||\n" + + " '-' || substr(strftime('%Y-%m-%d', datetime(" + timestamp + "/ 1000, 'unixepoch', 'localtime')), 9, 2))\n" + + "ORDER BY visit_date DESC\n" + + "LIMIT 1;"; - res.size(); - return true; + DataMap dataMap = cursor -> getCursorValue(cursor, "test_results"); + List res = readData(sql, dataMap); + if (res != null && res.size() > 0 && res.get(0) != null) + return res.get(0); + return null; } } From b0ba1105ef4e4c5f206fad9eea0f5af04385c5ce Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 24 May 2022 13:24:55 +0300 Subject: [PATCH 435/915] :hammer: added a sample implementation for displaying services issued at the health facility as referral feedback for Successful Referrals --- .../ChwReferralDetailsViewActivity.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java index 50d5c0b21d..9dd344023c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java @@ -9,6 +9,7 @@ import org.smartregister.chw.R; import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.utils.CoreReferralUtils; +import org.smartregister.chw.dao.ChwHivOutcomeDao; import org.smartregister.chw.dao.ReferralDao; import org.smartregister.chw.referral.activity.ReferralDetailsViewActivity; import org.smartregister.chw.referral.domain.MemberObject; @@ -29,10 +30,22 @@ protected void onCreation() { Task task = ChwApplication.getInstance().getTaskRepository().getTaskByIdentifier(taskId); if (!task.getBusinessStatus().equalsIgnoreCase("Complete")) { createCancelReferral(task); + } else { + //TODO this needs refactoring. This is a draft implementation. + if (getMemberObject().getChwReferralService().equals("Suspected HIV")) { + String servicesProvided = ChwHivOutcomeDao.servicesProvided(task.getForEntity(), task.getLastModified().getMillis()); + String hivStatus = ChwHivOutcomeDao.hivStatus(task.getForEntity(), task.getLastModified().getMillis()); + + if (servicesProvided != null) { + ((CustomFontTextView) findViewById(R.id.chw_details_phone)).setText(servicesProvided + " " + hivStatus); + ((CustomFontTextView) findViewById(R.id.chw_details_phone_label)).setText("Services Provided"); + findViewById(R.id.chw_details_phone_layout).setVisibility(View.VISIBLE); + } + } } - if(getMemberObject().getProblem().equals("anc_male_engagement")) - ((CustomFontTextView)findViewById(R.id.client_referral_problem)).setText(getResources().getString(R.string.anc_male_engagement)); + if (getMemberObject().getProblem().equals("anc_male_engagement")) + ((CustomFontTextView) findViewById(R.id.client_referral_problem)).setText(getResources().getString(R.string.anc_male_engagement)); } @@ -85,4 +98,9 @@ private void closeReferralDialog(Task task) { AlertDialog alertDialog = builder.create(); alertDialog.show(); } + + private String getTranslatedHivServicesProvided(String serviceProvided) { + //TODO implement this + return null; + } } From b3cc76e4aaa825df14f8810d9f2b1937951bbb14 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Tue, 24 May 2022 17:18:25 +0300 Subject: [PATCH 436/915] Swahili translations --- .../nacp/assets/json.form-sw/child_hv_malaria_prevention.json | 2 +- .../src/nacp/assets/json.form-sw/family_details_register.json | 2 +- .../nacp/assets/json.form-sw/family_details_remove_child.json | 2 +- .../assets/json.form-sw/family_details_remove_family.json | 2 +- .../nacp/assets/json.form-sw/referrals/pnc_referral_form.json | 4 ++-- opensrp-chw/src/nacp/res/values-sw/strings.xml | 1 + 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_malaria_prevention.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_malaria_prevention.json index 53dc87d576..4e6bea0016 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_malaria_prevention.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_hv_malaria_prevention.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Malaria Prevention", + "title": "Kinga dhidi ya Malaria", "fields": [ { "key": "fam_llin_1m5yr", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json index 4c42354f44..714b270bb6 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json @@ -52,7 +52,7 @@ } }, "step1": { - "title": "Family Details", + "title": "Taarifa za Familia", "fields": [ { "key": "fam_name", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_child.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_child.json index 04a6a6842c..c32534b2f2 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_child.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_child.json @@ -52,7 +52,7 @@ } }, "step1": { - "title": "Remove Child Under 5", + "title": "Ondoa Mtoto chini ya Miaka 5", "fields": [ { "key": "spacer", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_family.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_family.json index fa157b7ec6..48ccfd8bcf 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_family.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_family.json @@ -52,7 +52,7 @@ } }, "step1": { - "title": "Remove Family", + "title": "Ondoa Familia", "fields": [ { "key": "spacer", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json index e778c3ba88..31e1e8b8a8 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json @@ -79,7 +79,7 @@ }, { "name": "Vaginal_bleeding", - "text": "Kutoka damu ukenig", + "text": "Kutoka damu ukeni", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -97,7 +97,7 @@ }, { "name": "Severe_abdominal_pain", - "text": "Maumivu makali ya tumbon", + "text": "Maumivu makali ya tumbo", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index b56e06ff1d..997f2f226c 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -54,4 +54,5 @@ Toka Rufaa imetumwa kituoni Rufaa imetumwa kituoni + HIFADHI \ No newline at end of file From 311b53f259658a680d9e8d7b7756c1f2dc9c9f96 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 25 May 2022 11:13:19 +0300 Subject: [PATCH 437/915] update: translation for none in referral details --- .../chw/activity/ChwReferralDetailsViewActivity.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java index 9dd344023c..1cd78a115f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java @@ -46,7 +46,11 @@ protected void onCreation() { if (getMemberObject().getProblem().equals("anc_male_engagement")) ((CustomFontTextView) findViewById(R.id.client_referral_problem)).setText(getResources().getString(R.string.anc_male_engagement)); + else if (getMemberObject().getProblem().equalsIgnoreCase("None")) + ((CustomFontTextView) findViewById(R.id.client_referral_problem)).setText(getResources().getString(R.string.none)); + if (getMemberObject().getServicesBeforeReferral() != null && getMemberObject().getServicesBeforeReferral().equalsIgnoreCase("None")) + ((CustomFontTextView) findViewById(R.id.pre_referral_management)).setText(getResources().getString(R.string.none)); } public static void startChwReferralDetailsViewActivity(Activity activity, MemberObject memberObject, CommonPersonObjectClient client) { From 227f5dc095b868dbefdca131ef14e1ede4e17df5 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 25 May 2022 11:35:21 +0300 Subject: [PATCH 438/915] Added prompts for ANC module --- .../json.form-sw/anc_hv_counselling.json | 20 +++++++++++++++++++ .../assets/json.form-sw/anc_hv_malaria.json | 15 ++++++++++++++ .../assets/json.form/anc_hv_counselling.json | 20 +++++++++++++++++++ .../nacp/assets/json.form/anc_hv_malaria.json | 15 ++++++++++++++ 4 files changed, 70 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json index 4b2b14157d..f574d3c085 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json @@ -187,6 +187,26 @@ "value": "true", "err": "Tafadhali chagua angalau mojawapo" } + }, + { + "key": "prompt_for_counselling_not_given", + "type": "toaster_notes", + "text": "Provide counselling to the mother and family members", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:counselling_given": { + "ex-checkbox": [ + { + "or": [ + "chk_none" + ] + } + ] + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json index 99106958b9..82c96b70b9 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json @@ -105,6 +105,21 @@ } } }, + { + "key": "prompt_for_llin", + "type": "toaster_notes", + "text": "Counsel the client on the importance of sleeping under LLIN", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:llin_2days": { + "type": "string", + "ex": "equalTo(., \"No\")" + } + } + }, { "key": "llin_condition", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json index 60665d8eaa..5ee8d65d6b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json @@ -187,6 +187,26 @@ "value": "true", "err": "Please pick at least one" } + }, + { + "key": "prompt_for_counselling_not_given", + "type": "toaster_notes", + "text": "Provide counselling to the mother and family members", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:counselling_given": { + "ex-checkbox": [ + { + "or": [ + "chk_none" + ] + } + ] + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_malaria.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_malaria.json index 686516a96b..379a4a6c8f 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_malaria.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_malaria.json @@ -105,6 +105,21 @@ } } }, + { + "key": "prompt_for_llin", + "type": "toaster_notes", + "text": "Counsel the client on the importance of sleeping under LLIN", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:llin_2days": { + "type": "string", + "ex": "equalTo(., \"No\")" + } + } + }, { "key": "llin_condition", "openmrs_entity_parent": "", From 74d9c2e7efcbf99a5ebea8b8f25d03cad74b7ee8 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 25 May 2022 12:03:40 +0300 Subject: [PATCH 439/915] Added prompts during ANC registration --- .../json.form-sw/anc_member_registration.json | 35 +++++++++++++++++++ .../json.form/anc_member_registration.json | 35 +++++++++++++++++++ 2 files changed, 70 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index 42c09394cf..474d1d0ad2 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -213,6 +213,26 @@ "err": "Tafadhali chagua zote zinazotumika" } }, + { + "key": "prompt_for_delivery_method", + "type": "toaster_notes", + "text": "Mteja ashauriwe kujifungua Kituo cha Afya kwa sababu ya hatari ya kupasuka kwa mfuko wa uzazi", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:delivery_method": { + "ex-checkbox": [ + { + "or": [ + "chk_cesarean_section" + ] + } + ] + } + } + }, { "key": "delivery_method_one", "openmrs_entity_parent": "", @@ -257,6 +277,21 @@ "err": "Tafadhali chagua moja" } }, + { + "key": "prompt_for_delivery_method_one", + "type": "toaster_notes", + "text": "Mteja ashauriwe kujifungua Kituo cha Afya kwa sababu ya hatari ya kupasuka kwa mfuko wa uzazi", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:delivery_method_one": { + "type": "string", + "ex": "equalTo(., \"chk_cesarean_section\")" + } + } + }, { "key": "no_surv_children", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json index 8265789120..ab2313848c 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -213,6 +213,26 @@ "err": "Please select all that apply" } }, + { + "key": "prompt_for_delivery_method", + "type": "toaster_notes", + "text": "Counsel the client on her risk of uterine rupture during labour and advise her to deliver at a health care facility", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:delivery_method": { + "ex-checkbox": [ + { + "or": [ + "chk_cesarean_section" + ] + } + ] + } + } + }, { "key": "delivery_method_one", "openmrs_entity_parent": "", @@ -257,6 +277,21 @@ "err": "Please select one" } }, + { + "key": "prompt_for_delivery_method_one", + "type": "toaster_notes", + "text": "Counsel the client on her risk of uterine rupture during labour and advise her to deliver at a health care facility", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:delivery_method_one": { + "type": "string", + "ex": "equalTo(., \"chk_cesarean_section\")" + } + } + }, { "key": "no_surv_children", "openmrs_entity_parent": "", From 7f1e0018eb5600a1c2840c02f784af3b26f15076 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Wed, 25 May 2022 17:11:40 +0300 Subject: [PATCH 440/915] bumped: core version --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 94bc2eaeb6..34aa9b81f9 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -345,7 +345,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.31.12-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.31.13-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From 053bad618560e27015e81d1986acc4850f6545db Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 26 May 2022 09:35:08 +0300 Subject: [PATCH 441/915] updated translations --- .../src/nacp/assets/json.form-sw/anc_hv_counselling.json | 2 +- opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json index f574d3c085..9ba63d0f96 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json @@ -191,7 +191,7 @@ { "key": "prompt_for_counselling_not_given", "type": "toaster_notes", - "text": "Provide counselling to the mother and family members", + "text": "Tafadhali mpatie mama na wanafamilia ushauri", "openmrs_entity_id": "", "openmrs_entity": "", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json index 82c96b70b9..e365fd6e36 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_malaria.json @@ -108,7 +108,7 @@ { "key": "prompt_for_llin", "type": "toaster_notes", - "text": "Counsel the client on the importance of sleeping under LLIN", + "text": "Tafadhali mpatie ushauri wa umuhimu wa kulala kwenye chandarua chenye dawa LLIN", "openmrs_entity_id": "", "openmrs_entity": "", "openmrs_entity_parent": "", From 52908dd732d74a238968ae93ae3f2775ecc78e25 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 26 May 2022 14:23:31 +0300 Subject: [PATCH 442/915] :hammer: code cleaning --- .../activity/AncPartnerFollowupReferralProfileActivity.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index fef0e6a109..57330dd8dd 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -22,7 +22,8 @@ import android.widget.LinearLayout; import android.widget.RelativeLayout; -import com.rey.material.widget.Button; +import androidx.appcompat.widget.AppCompatButton; + import com.vijay.jsonwizard.utils.FormUtils; import org.apache.commons.lang3.StringUtils; @@ -133,7 +134,7 @@ public void setupViews() { }); partnerView = findViewById(R.id.rlPartnerView); - Button registerBtn = findViewById(R.id.register_partner_btn); + AppCompatButton registerBtn = findViewById(R.id.register_partner_btn); if (AncPartnerDao.hasPartnerAgreeForRegistration(referralFormSubmissionId) && !AncPartnerDao.isPartnerRegistered(referralFormSubmissionId)) { partnerView.setVisibility(View.VISIBLE); } From c19dc74b93451525cf527438160d814426449752 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 26 May 2022 16:03:03 +0300 Subject: [PATCH 443/915] update: sever address --- opensrp-chw/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 34aa9b81f9..5edc055f21 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -201,9 +201,9 @@ android { applicationIdSuffix ".nacp" versionCode 8 versionName "1.0.8" - buildConfigField "String", 'opensrp_url', '"http://50.116.15.4:8082/opensrp/"' + buildConfigField "String", 'opensrp_url', '"http://45.79.110.194:8082/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' - buildConfigField "String", 'opensrp_url_debug', '"http://50.116.15.4:8082/opensrp/"' + buildConfigField "String", 'opensrp_url_debug', '"http://45.79.110.194:8082/opensrp/"' buildConfigField "String[]", "LOCATION_HIERACHY", '{"Country","Region","District","Ward" , "MOH Jhpiego Facility Name", "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS", '{"Ward" , "Facility", "Health Facility", "Village", "Village Sublocations"}' buildConfigField "String[]", "ALLOWED_LOCATION_LEVELS_DEBUG", '{"Ward", "Facility", "Health Facility", "Village", "Village Sublocations"}' From 891e0b15641c1cb5e435b1c6fee965fd48ff4064 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 26 May 2022 18:00:17 +0300 Subject: [PATCH 444/915] Updated and refactored CBHS follow-up visit forms --- .../female_hiv_followup_visit.json | 380 +++++++++++++---- ...up_visit_for_clients_with_ctc_numbers.json | 274 +++++++++--- .../json.form-sw/male_hiv_followup_visit.json | 382 +++++++++++++---- ...up_visit_for_clients_with_ctc_numbers.json | 330 ++++++++++---- .../json.form/female_hiv_followup_visit.json | 374 ++++++++++++---- ...up_visit_for_clients_with_ctc_numbers.json | 383 +++++++++++++---- .../json.form/male_hiv_followup_visit.json | 374 ++++++++++++---- ...up_visit_for_clients_with_ctc_numbers.json | 402 ++++++++++++++---- .../assets/rule/hiv_followup_form_rules.yml | 14 + 9 files changed, 2216 insertions(+), 697 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json index aef657c335..ddd6cbf6c8 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit.json @@ -289,23 +289,122 @@ }, "options": [ { - "name": "pain", - "text": "Maumivu", + "name": "general_body_malaise", + "text": "General Body Malaise", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "pain", + "openmrs_entity_id": "general_body_malaise", + "openmrs_entity_parent": "" + } + }, + { + "name": "chest_pain", + "text": "Chest Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chest_pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "skin_infection", + "text": "Skin Infection", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "skin_infection", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_appetite", + "text": "Loss of Appetite", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_appetite", + "openmrs_entity_parent": "" + } + }, + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "jaundice", + "text": "Jaundice", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "jaundice", + "openmrs_entity_parent": "" + } + }, + { + "name": "headache", + "text": "Headache", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "headache", "openmrs_entity_parent": "" } }, { "name": "coughing", - "text": "kukohoa", + "text": "Coughing", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "coughing", "openmrs_entity_parent": "" } }, + { + "name": "altered_mental_status", + "text": "Altered Mental Status", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "altered_mental_status", + "openmrs_entity_parent": "" + } + }, + { + "name": "convulsion", + "text": "Convulsion", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "convulsion", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_consciousness", + "text": "Loss of Consciousness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_consciousness", + "openmrs_entity_parent": "" + } + }, + { + "name": "drugs_side_effects", + "text": "Drugs Side Effects", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drugs_side_effects", + "openmrs_entity_parent": "" + } + }, { "name": "other_health_problems", "text": "Matatizo mengine", @@ -344,11 +443,26 @@ "required_status": "true:Tafadhali jaza matatizo mengine", "subjects": "health_problem:map" }, + { + "name": "prompt_for_health_challenges", + "type": "toast_notification", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prompt_for_health_challenges", + "openmrs_entity_parent": "health_problem" + }, + "properties": { + "notification_type": "error", + "dismissible": "no", + "text": "Refer to health facility for further management" + }, + "subjects": "health_problem:map" + }, { "name": "social_problem", "type": "multi_choice_checkbox", "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" + "text": "Pick Psychosocial challenges faced by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -357,32 +471,68 @@ }, "options": [ { - "name": "malnutrition", - "text": "Matatizo ya lishe", + "name": "stigma_and_discriminations", + "text": "Stigma and Discriminations", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", + "openmrs_entity_id": "stigma_and_discriminations", "openmrs_entity_parent": "" } }, { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "kushindwa kutimiza ratiba ya CTC", + "name": "food_insecurity", + "text": "Food insecurity", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_id": "food_insecurity", + "openmrs_entity_parent": "" + } + }, + { + "name": "lack_disclosure", + "text": "Lack disclosure", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "lack_disclosure", "openmrs_entity_parent": "" } }, { "name": "transport_issues_for_attending_ctc", - "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", + "text": "Transport issues while attending CTC", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "transport_issues_for_attending_ctc", "openmrs_entity_parent": "" } }, + { + "name": "economic_constraints", + "text": "Economic constraints", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "economic_constraints", + "openmrs_entity_parent": "" + } + }, + { + "name": "gbv_and_vac", + "text": "GBV and VAC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gbv_and_vac", + "openmrs_entity_parent": "" + } + }, + { + "name": "hard_to_reach_areas", + "text": "Hard to reach areas", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hard_to_reach_areas", + "openmrs_entity_parent": "" + } + }, { "name": "other_social_problems", "text": "Matatizo mengine", @@ -410,7 +560,7 @@ "name": "social_problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Matatizo mengine ya kijamii ya Mteja", + "hint": "Other Psychosocial Challenges", "type": "name" }, "meta_data": { @@ -418,7 +568,7 @@ "openmrs_entity_id": "social_problem_other", "openmrs_entity_parent": "social_problem" }, - "required_status": "true:Tafadhali jaza matatizo mengine", + "required_status": "true:Please specify other psychosocial problems faced", "subjects": "social_problem:map" }, { @@ -513,7 +663,7 @@ "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Vifaa vilivyotolewa" + "text": "Vifaa/Commodities vilivyotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -522,47 +672,47 @@ }, "options": [ { - "name": "soap", - "text": "Sabuni", + "name": "hiv_self_test_kits", + "text": "HIV Self Testing Kits", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "soap", + "openmrs_entity_id": "hiv_self_test_kits", "openmrs_entity_parent": "" } }, { - "name": "mosquito_nets", - "text": "Chandarua", + "name": "sanitizers", + "text": "Sanitizers", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_id": "sanitizers", "openmrs_entity_parent": "" } }, { - "name": "bed_sheets", - "text": "Mashuka", + "name": "face_masks", + "text": "Face masks", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", + "openmrs_entity_id": "face_masks", "openmrs_entity_parent": "" } }, { - "name": "water_disinfectant", - "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", + "name": "condoms", + "text": "Condoms", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_id": "condoms", "openmrs_entity_parent": "" } }, { - "name": "condoms", - "text": "Kondomu", + "name": "water_disinfectant", + "text": "Water disinfectants", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", + "openmrs_entity_id": "water_disinfectant", "openmrs_entity_parent": "" } }, @@ -586,14 +736,14 @@ } } ], - "required_status": "yes:Tafadhali chagua kifaa/vifaa vilivyotolewa", + "required_status": "yes:Tafadhali chagua kifaa/commodities vilivyotolewa", "subjects": "registration_or_followup_status:text" }, { "name": "supplies_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Vifaa vingine", + "hint": "Vifaa/Commodities vingine", "type": "name" }, "meta_data": { @@ -601,7 +751,7 @@ "openmrs_entity_id": "supplies_provided_other", "openmrs_entity_parent": "supplies_provided" }, - "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", + "required_status": "true:Tafadhali jaza vifaa/commodities vingine vilivyotolewa", "subjects": "supplies_provided:map" }, { @@ -617,29 +767,20 @@ }, "options": [ { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", + "name": "paracetamol", + "text": "Paracetamol", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_id": "paracetamol", "openmrs_entity_parent": "" } }, { - "name": "aspirin", - "text": "Aspirini", + "name": "ors", + "text": "ORS", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Dawa Nyinginezo", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", + "openmrs_entity_id": "ors", "openmrs_entity_parent": "" } }, @@ -657,26 +798,11 @@ "required_status": "yes:Please choose medicine given", "subjects": "registration_or_followup_status:text" }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Dawa nyingine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", - "subjects": "medicine_provided:map" - }, { "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" + "text": "Huduma za CBHS zilizotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -685,65 +811,83 @@ }, "options": [ { - "name": "nutrition_counselling", - "text": "Ushauri wa lishe", + "name": "hiv_education", + "text": "HIV Education", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_id": "hiv_education", "openmrs_entity_parent": "" } }, { - "name": "hiv_infection_education", - "text": "Elimu kuhusu maambukizi ya VVU", + "name": "pretest_information", + "text": "Pretest Information", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_id": "pretest_information", "openmrs_entity_parent": "" } }, { - "name": "preliminary_testing", - "text": "Upimaji wa awali", + "name": "ipc", + "text": "IPC (Uzuiaji wa uambukizo katika Jamii)", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_id": "ipc", "openmrs_entity_parent": "" } }, { - "name": "psychological_counseling", - "text": "Ushauri wa kisaikolojia", + "name": "adherence_counselling", + "text": "Adherence Counselling", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_id": "adherence_counselling", "openmrs_entity_parent": "" } }, { - "name": "house_cleanliness", - "text": "Usafi wa nyumba", + "name": "gbv_vac_screening", + "text": "Screening of GBV and VAC", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_id": "gbv_vac_screening", "openmrs_entity_parent": "" } }, { - "name": "health_care", - "text": "Huduma za afya", + "name": "tb_sti_screening", + "text": "TB and STI Screening", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", + "openmrs_entity_id": "tb_sti_screening", "openmrs_entity_parent": "" } }, { - "name": "medical_services", - "text": "Huduma za tiba", + "name": "referral_and_linkage", + "text": "Referral and Linkage", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", + "openmrs_entity_id": "referral_and_linkage", + "openmrs_entity_parent": "" + } + }, + { + "name": "self_test_information", + "text": "Information and how to use self test", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "self_test_information", + "openmrs_entity_parent": "" + } + }, + { + "name": "kvp_services", + "text": "KVP Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "kvp_services", "openmrs_entity_parent": "" } }, @@ -767,14 +911,14 @@ } } ], - "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", + "required_status": "yes:Tafadhali jaza huduma za CBHS zilizotolewa", "subjects": "registration_or_followup_status:text" }, { "name": "hiv_services_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "hint": "Huduma nyingnie za CBHS zilizotolewa", "type": "name" }, "meta_data": { @@ -782,14 +926,14 @@ "openmrs_entity_id": "hiv_services_provided_other", "openmrs_entity_parent": "hiv_services_provided" }, - "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "required_status": "true:Tafadhali jaza huduma nyingine za CBHS zilizotolewa", "subjects": "hiv_services_provided:map" }, { "name": "referrals_issued_to_other_services", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" + "text": "Pick referrals issued to the Client for other services other than Medical Services" }, "meta_data": { "openmrs_entity_parent": "", @@ -875,7 +1019,7 @@ "name": "referrals_to_other_services_completed", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" + "text": "Pick Referrals to other services other than Medical Services Completed by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -959,14 +1103,14 @@ }, { "name": "state_of_therapy", - "type": "spinner", + "type": "multi_choice_checkbox", "properties": { "text": "Hali ya Tiba na Matunzo (CTC)" }, "meta_data": { + "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" + "openmrs_entity_id": "state_of_therapy" }, "options": [ { @@ -1004,11 +1148,61 @@ "openmrs_entity_id": "not_registered_in_ctc_clinic", "openmrs_entity_parent": "" } + }, + { + "name": "registered_in_injection_drugs_users_clinic", + "text": "Registered in Injection Drugs Users Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_injection_drugs_users_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_in_tb_clinic", + "text": "Registered in TB Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_tb_clinic", + "openmrs_entity_parent": "" + } } ], "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", "subjects": "registration_or_followup_status:text" }, + { + "name": "comments_remarks", + "type": "text_input_edit_text", + "properties": { + "hint": "Comments and Remarks", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "comments_remarks", + "openmrs_entity_parent": "" + }, + "required_status": "no" + }, + { + "name": "next_appointment_date", + "type": "datetime_picker", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "next_appointment_date", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Next Appointment Date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today", + "max_date": "today+3m" + }, + "required_status": "true:Please specify the next appointment date", + "subjects": "registration_or_followup_status:text" + }, { "name": "client_moved_location", "type": "spinner", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index d7d762413e..4afbe0effd 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -212,23 +212,122 @@ }, "options": [ { - "name": "pain", - "text": "Maumivu", + "name": "general_body_malaise", + "text": "General Body Malaise", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "pain", + "openmrs_entity_id": "general_body_malaise", + "openmrs_entity_parent": "" + } + }, + { + "name": "chest_pain", + "text": "Chest Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chest_pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "skin_infection", + "text": "Skin Infection", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "skin_infection", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_appetite", + "text": "Loss of Appetite", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_appetite", + "openmrs_entity_parent": "" + } + }, + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "jaundice", + "text": "Jaundice", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "jaundice", + "openmrs_entity_parent": "" + } + }, + { + "name": "headache", + "text": "Headache", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "headache", "openmrs_entity_parent": "" } }, { "name": "coughing", - "text": "kukohoa", + "text": "Coughing", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "coughing", "openmrs_entity_parent": "" } }, + { + "name": "altered_mental_status", + "text": "Altered Mental Status", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "altered_mental_status", + "openmrs_entity_parent": "" + } + }, + { + "name": "convulsion", + "text": "Convulsion", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "convulsion", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_consciousness", + "text": "Loss of Consciousness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_consciousness", + "openmrs_entity_parent": "" + } + }, + { + "name": "drugs_side_effects", + "text": "Drugs Side Effects", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drugs_side_effects", + "openmrs_entity_parent": "" + } + }, { "name": "other_health_problems", "text": "Matatizo mengine", @@ -267,11 +366,26 @@ "required_status": "true:Tafadhali jaza matatizo mengine", "subjects": "health_problem:map" }, + { + "name": "prompt_for_health_challenges", + "type": "toast_notification", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prompt_for_health_challenges", + "openmrs_entity_parent": "health_problem" + }, + "properties": { + "notification_type": "error", + "dismissible": "no", + "text": "Refer to health facility for further management" + }, + "subjects": "health_problem:map" + }, { "name": "social_problem", "type": "multi_choice_checkbox", "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" + "text": "Pick Psychosocial challenges faced by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -326,14 +440,14 @@ } } ], - "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "required_status": "yes:Please specify client's problems", "subjects": "registration_or_followup_status:text" }, { "name": "social_problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Matatizo mengine ya kijamii ya Mteja", + "hint": "Other Psychosocial Challenges", "type": "name" }, "meta_data": { @@ -341,7 +455,7 @@ "openmrs_entity_id": "social_problem_other", "openmrs_entity_parent": "social_problem" }, - "required_status": "true:Tafadhali jaza matatizo mengine", + "required_status": "true:Please specify other psychosocial problems faced", "subjects": "social_problem:map" }, { @@ -436,7 +550,7 @@ "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Vifaa vilivyotolewa" + "text": "Vifaa/Commodities vilivyotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -445,47 +559,47 @@ }, "options": [ { - "name": "soap", - "text": "Sabuni", + "name": "hiv_self_test_kits", + "text": "HIV Self Testing Kits", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "soap", + "openmrs_entity_id": "hiv_self_test_kits", "openmrs_entity_parent": "" } }, { - "name": "mosquito_nets", - "text": "Chandarua", + "name": "sanitizers", + "text": "Sanitizers", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_id": "sanitizers", "openmrs_entity_parent": "" } }, { - "name": "bed_sheets", - "text": "Mashuka", + "name": "face_masks", + "text": "Face masks", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", + "openmrs_entity_id": "face_masks", "openmrs_entity_parent": "" } }, { - "name": "water_disinfectant", - "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", + "name": "condoms", + "text": "Condoms", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_id": "condoms", "openmrs_entity_parent": "" } }, { - "name": "condoms", - "text": "Kondomu", + "name": "water_disinfectant", + "text": "Water disinfectants", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", + "openmrs_entity_id": "water_disinfectant", "openmrs_entity_parent": "" } }, @@ -509,14 +623,14 @@ } } ], - "required_status": "yes:Tafadhali chagua kifaa/vifaa vilivyotolewa", + "required_status": "yes:Tafadhali chagua kifaa/Commodities vilivyotolewa", "subjects": "registration_or_followup_status:text" }, { "name": "supplies_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Vifaa vingine", + "hint": "Vifaa/Commodities vingine", "type": "name" }, "meta_data": { @@ -524,7 +638,7 @@ "openmrs_entity_id": "supplies_provided_other", "openmrs_entity_parent": "supplies_provided" }, - "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", + "required_status": "true:Tafadhali jaza vifaa/commodities vingine vilivyotolewa", "subjects": "supplies_provided:map" }, { @@ -540,29 +654,20 @@ }, "options": [ { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", + "name": "paracetamol", + "text": "Paracetamol", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_id": "paracetamol", "openmrs_entity_parent": "" } }, { - "name": "aspirin", - "text": "Aspirini", + "name": "ors", + "text": "ORS", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Dawa Nyinginezo", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", + "openmrs_entity_id": "ors", "openmrs_entity_parent": "" } }, @@ -580,26 +685,11 @@ "required_status": "yes:Please choose medicine given", "subjects": "registration_or_followup_status:text" }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Dawa nyingine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", - "subjects": "medicine_provided:map" - }, { "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" + "text": "Huduma za CBHS zilizotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -690,14 +780,14 @@ } } ], - "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", + "required_status": "yes:Tafadhali jaza huduma za CBHS zilizotolewa", "subjects": "registration_or_followup_status:text" }, { "name": "hiv_services_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "hint": "Huduma nyingnie za CBHS zilizotolewa", "type": "name" }, "meta_data": { @@ -705,14 +795,14 @@ "openmrs_entity_id": "hiv_services_provided_other", "openmrs_entity_parent": "hiv_services_provided" }, - "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "required_status": "true:Tafadhali jaza huduma nyingine CBHS zilizotolewa", "subjects": "hiv_services_provided:map" }, { "name": "referrals_issued_to_other_services", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" + "text": "Pick referrals issued to the Client for other services other than Medical Services" }, "meta_data": { "openmrs_entity_parent": "", @@ -798,7 +888,7 @@ "name": "referrals_to_other_services_completed", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" + "text": "Pick Referrals to other services other than Medical Services Completed by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -882,14 +972,14 @@ }, { "name": "state_of_therapy", - "type": "spinner", + "type": "multi_choice_checkbox", "properties": { "text": "Hali ya Tiba na Matunzo (CTC)" }, "meta_data": { + "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" + "openmrs_entity_id": "state_of_therapy" }, "options": [ { @@ -909,9 +999,59 @@ "openmrs_entity_id": "registered_and_uses_medication", "openmrs_entity_parent": "" } + }, + { + "name": "registered_in_injection_drugs_users_clinic", + "text": "Registered in Injection Drugs Users Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_injection_drugs_users_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_in_tb_clinic", + "text": "Registered in TB Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_tb_clinic", + "openmrs_entity_parent": "" + } } ], - "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", + "required_status": "yes:Tafadhali jaza hali ya tiba na matunzo (CTC)", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "comments_remarks", + "type": "text_input_edit_text", + "properties": { + "hint": "Comments and Remarks", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "comments_remarks", + "openmrs_entity_parent": "" + }, + "required_status": "no" + }, + { + "name": "next_appointment_date", + "type": "datetime_picker", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "next_appointment_date", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Next Appointment Date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today", + "max_date": "today+3m" + }, + "required_status": "true:Please specify the next appointment date", "subjects": "registration_or_followup_status:text" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json index 006186caee..22a83b7c1b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit.json @@ -289,23 +289,122 @@ }, "options": [ { - "name": "pain", - "text": "Maumivu", + "name": "general_body_malaise", + "text": "General Body Malaise", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "pain", + "openmrs_entity_id": "general_body_malaise", + "openmrs_entity_parent": "" + } + }, + { + "name": "chest_pain", + "text": "Chest Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chest_pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "skin_infection", + "text": "Skin Infection", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "skin_infection", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_appetite", + "text": "Loss of Appetite", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_appetite", + "openmrs_entity_parent": "" + } + }, + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "jaundice", + "text": "Jaundice", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "jaundice", + "openmrs_entity_parent": "" + } + }, + { + "name": "headache", + "text": "Headache", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "headache", "openmrs_entity_parent": "" } }, { "name": "coughing", - "text": "kukohoa", + "text": "Coughing", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "coughing", "openmrs_entity_parent": "" } }, + { + "name": "altered_mental_status", + "text": "Altered Mental Status", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "altered_mental_status", + "openmrs_entity_parent": "" + } + }, + { + "name": "convulsion", + "text": "Convulsion", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "convulsion", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_consciousness", + "text": "Loss of Consciousness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_consciousness", + "openmrs_entity_parent": "" + } + }, + { + "name": "drugs_side_effects", + "text": "Drugs Side Effects", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drugs_side_effects", + "openmrs_entity_parent": "" + } + }, { "name": "other_health_problems", "text": "Matatizo mengine", @@ -344,11 +443,26 @@ "required_status": "true:Tafadhali jaza matatizo mengine", "subjects": "health_problem:map" }, + { + "name": "prompt_for_health_challenges", + "type": "toast_notification", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prompt_for_health_challenges", + "openmrs_entity_parent": "health_problem" + }, + "properties": { + "notification_type": "error", + "dismissible": "no", + "text": "Refer to health facility for further management" + }, + "subjects": "health_problem:map" + }, { "name": "social_problem", "type": "multi_choice_checkbox", "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" + "text": "Pick Psychosocial challenges faced by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -357,32 +471,68 @@ }, "options": [ { - "name": "malnutrition", - "text": "Matatizo ya lishe", + "name": "stigma_and_discriminations", + "text": "Stigma and Discriminations", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", + "openmrs_entity_id": "stigma_and_discriminations", "openmrs_entity_parent": "" } }, { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "kushindwa kutimiza ratiba ya CTC", + "name": "food_insecurity", + "text": "Food insecurity", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_id": "food_insecurity", + "openmrs_entity_parent": "" + } + }, + { + "name": "lack_disclosure", + "text": "Lack disclosure", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "lack_disclosure", "openmrs_entity_parent": "" } }, { "name": "transport_issues_for_attending_ctc", - "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", + "text": "Transport issues while attending CTC", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "transport_issues_for_attending_ctc", "openmrs_entity_parent": "" } }, + { + "name": "economic_constraints", + "text": "Economic constraints", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "economic_constraints", + "openmrs_entity_parent": "" + } + }, + { + "name": "gbv_and_vac", + "text": "GBV and VAC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gbv_and_vac", + "openmrs_entity_parent": "" + } + }, + { + "name": "hard_to_reach_areas", + "text": "Hard to reach areas", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hard_to_reach_areas", + "openmrs_entity_parent": "" + } + }, { "name": "other_social_problems", "text": "Matatizo mengine", @@ -410,7 +560,7 @@ "name": "social_problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Matatizo mengine ya kijamii ya Mteja", + "hint": "Other Psychosocial Challenges", "type": "name" }, "meta_data": { @@ -418,7 +568,7 @@ "openmrs_entity_id": "social_problem_other", "openmrs_entity_parent": "social_problem" }, - "required_status": "true:Tafadhali jaza matatizo mengine", + "required_status": "true:Please specify other psychosocial problems faced", "subjects": "social_problem:map" }, { @@ -531,7 +681,7 @@ "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Vifaa vilivyotolewa" + "text": "Vifaa/Commodities vilivyotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -540,47 +690,47 @@ }, "options": [ { - "name": "soap", - "text": "Sabuni", + "name": "hiv_self_test_kits", + "text": "HIV Self Testing Kits", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "soap", + "openmrs_entity_id": "hiv_self_test_kits", "openmrs_entity_parent": "" } }, { - "name": "mosquito_nets", - "text": "Chandarua", + "name": "sanitizers", + "text": "Sanitizers", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_id": "sanitizers", "openmrs_entity_parent": "" } }, { - "name": "bed_sheets", - "text": "Mashuka", + "name": "face_masks", + "text": "Face masks", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", + "openmrs_entity_id": "face_masks", "openmrs_entity_parent": "" } }, { - "name": "water_disinfectant", - "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", + "name": "condoms", + "text": "Condoms", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_id": "condoms", "openmrs_entity_parent": "" } }, { - "name": "condoms", - "text": "Kondomu", + "name": "water_disinfectant", + "text": "Water disinfectants", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", + "openmrs_entity_id": "water_disinfectant", "openmrs_entity_parent": "" } }, @@ -604,14 +754,14 @@ } } ], - "required_status": "yes:Tafadhali chagua kifaa/vifaa vilivyotolewa", + "required_status": "yes:Tafadhali chagua kifaa/commodities vilivyotolewa", "subjects": "registration_or_followup_status:text" }, { "name": "supplies_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Vifaa vingine", + "hint": "Vifaa/Commodities vingine", "type": "name" }, "meta_data": { @@ -619,7 +769,7 @@ "openmrs_entity_id": "supplies_provided_other", "openmrs_entity_parent": "supplies_provided" }, - "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", + "required_status": "true:Tafadhali jaza vifaa/commodities vingine vilivyotolewa", "subjects": "supplies_provided:map" }, { @@ -635,29 +785,20 @@ }, "options": [ { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", + "name": "paracetamol", + "text": "Paracetamol", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_id": "paracetamol", "openmrs_entity_parent": "" } }, { - "name": "aspirin", - "text": "Aspirini", + "name": "ors", + "text": "ORS", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Dawa Nyinginezo", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", + "openmrs_entity_id": "ors", "openmrs_entity_parent": "" } }, @@ -675,26 +816,11 @@ "required_status": "yes:Please choose medicine given", "subjects": "registration_or_followup_status:text" }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Dawa nyingine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", - "subjects": "medicine_provided:map" - }, { "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" + "text": "Huduma za CBHS zilizotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -703,65 +829,83 @@ }, "options": [ { - "name": "nutrition_counselling", - "text": "Ushauri wa lishe", + "name": "hiv_education", + "text": "HIV Education", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_id": "hiv_education", "openmrs_entity_parent": "" } }, { - "name": "hiv_infection_education", - "text": "Elimu kuhusu maambukizi ya VVU", + "name": "pretest_information", + "text": "Pretest Information", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_id": "pretest_information", "openmrs_entity_parent": "" } }, { - "name": "preliminary_testing", - "text": "Upimaji wa awali", + "name": "ipc", + "text": "IPC (Uzuiaji wa uambukizo katika Jamii)", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_id": "ipc", "openmrs_entity_parent": "" } }, { - "name": "psychological_counseling", - "text": "Ushauri wa kisaikolojia", + "name": "adherence_counselling", + "text": "Adherence Counselling", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_id": "adherence_counselling", "openmrs_entity_parent": "" } }, { - "name": "house_cleanliness", - "text": "Usafi wa nyumba", + "name": "gbv_vac_screening", + "text": "Screening of GBV and VAC", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_id": "gbv_vac_screening", "openmrs_entity_parent": "" } }, { - "name": "health_care", - "text": "Huduma za afya", + "name": "tb_sti_screening", + "text": "TB and STI Screening", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", + "openmrs_entity_id": "tb_sti_screening", "openmrs_entity_parent": "" } }, { - "name": "medical_services", - "text": "Huduma za tiba", + "name": "referral_and_linkage", + "text": "Referral and Linkage", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", + "openmrs_entity_id": "referral_and_linkage", + "openmrs_entity_parent": "" + } + }, + { + "name": "self_test_information", + "text": "Information and how to use self test", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "self_test_information", + "openmrs_entity_parent": "" + } + }, + { + "name": "kvp_services", + "text": "KVP Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "kvp_services", "openmrs_entity_parent": "" } }, @@ -785,14 +929,14 @@ } } ], - "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", + "required_status": "yes:Tafadhali jaza huduma za CBHS zilizotolewa", "subjects": "registration_or_followup_status:text" }, { "name": "hiv_services_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "hint": "Huduma nyingnie za CBHS zilizotolewa", "type": "name" }, "meta_data": { @@ -800,14 +944,14 @@ "openmrs_entity_id": "hiv_services_provided_other", "openmrs_entity_parent": "hiv_services_provided" }, - "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "required_status": "true:Tafadhali jaza huduma nyingine za CBHS zilizotolewa", "subjects": "hiv_services_provided:map" }, { "name": "referrals_issued_to_other_services", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" + "text": "Pick referrals issued to the Client for other services other than Medical Services" }, "meta_data": { "openmrs_entity_parent": "", @@ -893,7 +1037,7 @@ "name": "referrals_to_other_services_completed", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" + "text": "Pick Referrals to other services other than Medical Services Completed by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -977,14 +1121,14 @@ }, { "name": "state_of_therapy", - "type": "spinner", + "type": "multi_choice_checkbox", "properties": { "text": "Hali ya Tiba na Matunzo (CTC)" }, "meta_data": { + "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" + "openmrs_entity_id": "state_of_therapy" }, "options": [ { @@ -1022,9 +1166,59 @@ "openmrs_entity_id": "not_registered_in_ctc_clinic", "openmrs_entity_parent": "" } + }, + { + "name": "registered_in_injection_drugs_users_clinic", + "text": "Registered in Injection Drugs Users Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_injection_drugs_users_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_in_tb_clinic", + "text": "Registered in TB Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_tb_clinic", + "openmrs_entity_parent": "" + } } ], - "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", + "required_status": "yes:Tafadhali jaza hali ya tiba na matunzo (CTC)", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "comments_remarks", + "type": "text_input_edit_text", + "properties": { + "hint": "Comments and Remarks", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "comments_remarks", + "openmrs_entity_parent": "" + }, + "required_status": "no" + }, + { + "name": "next_appointment_date", + "type": "datetime_picker", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "next_appointment_date", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Next Appointment Date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today", + "max_date": "today+3m" + }, + "required_status": "true:Please specify the next appointment date", "subjects": "registration_or_followup_status:text" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index 0387dd56b1..209d4322d6 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -212,23 +212,122 @@ }, "options": [ { - "name": "pain", - "text": "Maumivu", + "name": "general_body_malaise", + "text": "General Body Malaise", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "pain", + "openmrs_entity_id": "general_body_malaise", + "openmrs_entity_parent": "" + } + }, + { + "name": "chest_pain", + "text": "Chest Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chest_pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "skin_infection", + "text": "Skin Infection", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "skin_infection", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_appetite", + "text": "Loss of Appetite", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_appetite", + "openmrs_entity_parent": "" + } + }, + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "jaundice", + "text": "Jaundice", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "jaundice", + "openmrs_entity_parent": "" + } + }, + { + "name": "headache", + "text": "Headache", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "headache", "openmrs_entity_parent": "" } }, { "name": "coughing", - "text": "Kukohoa", + "text": "Coughing", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "coughing", "openmrs_entity_parent": "" } }, + { + "name": "altered_mental_status", + "text": "Altered Mental Status", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "altered_mental_status", + "openmrs_entity_parent": "" + } + }, + { + "name": "convulsion", + "text": "Convulsion", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "convulsion", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_consciousness", + "text": "Loss of Consciousness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_consciousness", + "openmrs_entity_parent": "" + } + }, + { + "name": "drugs_side_effects", + "text": "Drugs Side Effects", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drugs_side_effects", + "openmrs_entity_parent": "" + } + }, { "name": "other_health_problems", "text": "Matatizo mengine", @@ -267,11 +366,26 @@ "required_status": "true:Tafadhali jaza matatizo mengine", "subjects": "health_problem:map" }, + { + "name": "prompt_for_health_challenges", + "type": "toast_notification", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prompt_for_health_challenges", + "openmrs_entity_parent": "health_problem" + }, + "properties": { + "notification_type": "error", + "dismissible": "no", + "text": "Refer to health facility for further management" + }, + "subjects": "health_problem:map" + }, { "name": "social_problem", "type": "multi_choice_checkbox", "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" + "text": "Pick Psychosocial challenges faced by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -333,7 +447,7 @@ "name": "social_problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Matatizo mengine ya kijamii ya Mteja", + "hint": "Other Psychosocial Challenges", "type": "name" }, "meta_data": { @@ -341,7 +455,7 @@ "openmrs_entity_id": "social_problem_other", "openmrs_entity_parent": "social_problem" }, - "required_status": "true:Tafadhali jaza matatizo mengine", + "required_status": "true:Please specify other psychosocial problems faced", "subjects": "social_problem:map" }, { @@ -454,7 +568,7 @@ "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Vifaa vilivyotolewa" + "text": "Vifaa/Commodities vilivyotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -463,47 +577,47 @@ }, "options": [ { - "name": "soap", - "text": "Sabuni", + "name": "hiv_self_test_kits", + "text": "HIV Self Testing Kits", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "soap", + "openmrs_entity_id": "hiv_self_test_kits", "openmrs_entity_parent": "" } }, { - "name": "mosquito_nets", - "text": "Chandarua", + "name": "sanitizers", + "text": "Sanitizers", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_id": "sanitizers", "openmrs_entity_parent": "" } }, { - "name": "bed_sheets", - "text": "Mashuka", + "name": "face_masks", + "text": "Face masks", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", + "openmrs_entity_id": "face_masks", "openmrs_entity_parent": "" } }, { - "name": "water_disinfectant", - "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", + "name": "condoms", + "text": "Condoms", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_id": "condoms", "openmrs_entity_parent": "" } }, { - "name": "condoms", - "text": "Kondomu", + "name": "water_disinfectant", + "text": "Water disinfectants", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", + "openmrs_entity_id": "water_disinfectant", "openmrs_entity_parent": "" } }, @@ -527,14 +641,14 @@ } } ], - "required_status": "yes:Please choose supplies given", + "required_status": "yes:Please choose supplies/commodities given", "subjects": "registration_or_followup_status:text" }, { "name": "supplies_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Vifaa vingine", + "hint": "Vifaa/Commodities vingine", "type": "name" }, "meta_data": { @@ -542,7 +656,7 @@ "openmrs_entity_id": "supplies_provided_other", "openmrs_entity_parent": "supplies_provided" }, - "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", + "required_status": "true:Tafadhali jaza vifaa/commodities vingine vilivyotolewa", "subjects": "supplies_provided:map" }, { @@ -558,29 +672,20 @@ }, "options": [ { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", + "name": "paracetamol", + "text": "Paracetamol", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_id": "paracetamol", "openmrs_entity_parent": "" } }, { - "name": "aspirin", - "text": "Aspirini", + "name": "ors", + "text": "ORS", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Dawa Nyinginezo", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", + "openmrs_entity_id": "ors", "openmrs_entity_parent": "" } }, @@ -598,26 +703,11 @@ "required_status": "yes:Please choose medicine given", "subjects": "registration_or_followup_status:text" }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Dawa nyingine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", - "subjects": "medicine_provided:map" - }, { "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" + "text": "Huduma za CBHS zilizotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -626,65 +716,83 @@ }, "options": [ { - "name": "nutrition_counselling", - "text": "Ushauri wa lishe", + "name": "hiv_education", + "text": "HIV Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "pretest_information", + "text": "Pretest Information", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pretest_information", + "openmrs_entity_parent": "" + } + }, + { + "name": "ipc", + "text": "IPC (Uzuiaji wa uambukizo katika Jamii)", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_id": "ipc", "openmrs_entity_parent": "" } }, { - "name": "hiv_infection_education", - "text": "Elimu kuhusu maambukizi ya VVU", + "name": "adherence_counselling", + "text": "Adherence Counselling", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_id": "adherence_counselling", "openmrs_entity_parent": "" } }, { - "name": "preliminary_testing", - "text": "Upimaji wa awali", + "name": "gbv_vac_screening", + "text": "Screening of GBV and VAC", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_id": "gbv_vac_screening", "openmrs_entity_parent": "" } }, { - "name": "psychological_counseling", - "text": "Ushauri wa kisaikolojia", + "name": "tb_sti_screening", + "text": "TB and STI Screening", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_id": "tb_sti_screening", "openmrs_entity_parent": "" } }, { - "name": "house_cleanliness", - "text": "Usafi wa nyumba", + "name": "referral_and_linkage", + "text": "Referral and Linkage", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_id": "referral_and_linkage", "openmrs_entity_parent": "" } }, { - "name": "health_care", - "text": "Huduma za afya", + "name": "self_test_information", + "text": "Information and how to use self test", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", + "openmrs_entity_id": "self_test_information", "openmrs_entity_parent": "" } }, { - "name": "medical_services", - "text": "Huduma za tiba", + "name": "kvp_services", + "text": "KVP Services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", + "openmrs_entity_id": "kvp_services", "openmrs_entity_parent": "" } }, @@ -708,14 +816,14 @@ } } ], - "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", + "required_status": "yes:Tafadhali jaza huduma CBHS zilizotolewa", "subjects": "registration_or_followup_status:text" }, { "name": "hiv_services_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "hint": "Huduma nyingine za CBHS zilizotolewa", "type": "name" }, "meta_data": { @@ -723,14 +831,14 @@ "openmrs_entity_id": "hiv_services_provided_other", "openmrs_entity_parent": "hiv_services_provided" }, - "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", + "required_status": "true:Tafadhali jaza huduma nyingine za CBHS zilizotolewa", "subjects": "hiv_services_provided:map" }, { "name": "referrals_issued_to_other_services", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" + "text": "Pick referrals issued to the Client for other services other than Medical Services" }, "meta_data": { "openmrs_entity_parent": "", @@ -816,7 +924,7 @@ "name": "referrals_to_other_services_completed", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" + "text": "Pick Referrals to other services other than Medical Services Completed by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -900,14 +1008,14 @@ }, { "name": "state_of_therapy", - "type": "spinner", + "type": "multi_choice_checkbox", "properties": { "text": "Hali ya Tiba na Matunzo (CTC)" }, "meta_data": { + "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" + "openmrs_entity_id": "state_of_therapy" }, "options": [ { @@ -927,11 +1035,61 @@ "openmrs_entity_id": "registered_and_uses_medication", "openmrs_entity_parent": "" } + }, + { + "name": "registered_in_injection_drugs_users_clinic", + "text": "Registered in Injection Drugs Users Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_injection_drugs_users_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_in_tb_clinic", + "text": "Registered in TB Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_tb_clinic", + "openmrs_entity_parent": "" + } } ], "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", "subjects": "registration_or_followup_status:text" }, + { + "name": "comments_remarks", + "type": "text_input_edit_text", + "properties": { + "hint": "Comments and Remarks", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "comments_remarks", + "openmrs_entity_parent": "" + }, + "required_status": "no" + }, + { + "name": "next_appointment_date", + "type": "datetime_picker", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "next_appointment_date", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Next Appointment Date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today", + "max_date": "today+3m" + }, + "required_status": "true:Please specify the next appointment date", + "subjects": "registration_or_followup_status:text" + }, { "name": "client_moved_location", "type": "spinner", diff --git a/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json index aeaa6d9db4..3c42b1acb6 100644 --- a/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit.json @@ -289,11 +289,74 @@ }, "options": [ { - "name": "pain", - "text": "Pain", + "name": "general_body_malaise", + "text": "General Body Malaise", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "pain", + "openmrs_entity_id": "general_body_malaise", + "openmrs_entity_parent": "" + } + }, + { + "name": "chest_pain", + "text": "Chest Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chest_pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "skin_infection", + "text": "Skin Infection", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "skin_infection", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_appetite", + "text": "Loss of Appetite", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_appetite", + "openmrs_entity_parent": "" + } + }, + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "jaundice", + "text": "Jaundice", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "jaundice", + "openmrs_entity_parent": "" + } + }, + { + "name": "headache", + "text": "Headache", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "headache", "openmrs_entity_parent": "" } }, @@ -306,6 +369,42 @@ "openmrs_entity_parent": "" } }, + { + "name": "altered_mental_status", + "text": "Altered Mental Status", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "altered_mental_status", + "openmrs_entity_parent": "" + } + }, + { + "name": "convulsion", + "text": "Convulsion", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "convulsion", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_consciousness", + "text": "Loss of Consciousness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_consciousness", + "openmrs_entity_parent": "" + } + }, + { + "name": "drugs_side_effects", + "text": "Drugs Side Effects", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drugs_side_effects", + "openmrs_entity_parent": "" + } + }, { "name": "other_health_problems", "text": "Other Health Challenges", @@ -344,11 +443,26 @@ "required_status": "true:Please specify other health problems", "subjects": "health_problem:map" }, + { + "name": "prompt_for_health_challenges", + "type": "toast_notification", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prompt_for_health_challenges", + "openmrs_entity_parent": "health_problem" + }, + "properties": { + "notification_type": "error", + "dismissible": "no", + "text": "Refer to health facility for further management" + }, + "subjects": "health_problem:map" + }, { "name": "social_problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick Social challenges faced by the Client." + "text": "Pick Psychosocial challenges faced by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -357,20 +471,29 @@ }, "options": [ { - "name": "malnutrition", - "text": "Malnutrition", + "name": "stigma_and_discriminations", + "text": "Stigma and Discriminations", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", + "openmrs_entity_id": "stigma_and_discriminations", "openmrs_entity_parent": "" } }, { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "Failure to adhere to CTC Appointments Schedule", + "name": "food_insecurity", + "text": "Food insecurity", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_id": "food_insecurity", + "openmrs_entity_parent": "" + } + }, + { + "name": "lack_disclosure", + "text": "Lack disclosure", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "lack_disclosure", "openmrs_entity_parent": "" } }, @@ -383,6 +506,33 @@ "openmrs_entity_parent": "" } }, + { + "name": "economic_constraints", + "text": "Economic constraints", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "economic_constraints", + "openmrs_entity_parent": "" + } + }, + { + "name": "gbv_and_vac", + "text": "GBV and VAC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gbv_and_vac", + "openmrs_entity_parent": "" + } + }, + { + "name": "hard_to_reach_areas", + "text": "Hard to reach areas", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hard_to_reach_areas", + "openmrs_entity_parent": "" + } + }, { "name": "other_social_problems", "text": "Other Social Challenges", @@ -410,7 +560,7 @@ "name": "social_problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Social Challenges", + "hint": "Other Psychosocial Challenges", "type": "name" }, "meta_data": { @@ -418,7 +568,7 @@ "openmrs_entity_id": "social_problem_other", "openmrs_entity_parent": "social_problem" }, - "required_status": "true:Please specify other social problems faced", + "required_status": "true:Please specify other psychosocial problems faced", "subjects": "social_problem:map" }, { @@ -513,7 +663,7 @@ "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Supplies provided" + "text": "Supplies/Commodities provided" }, "meta_data": { "openmrs_entity": "concept", @@ -522,47 +672,47 @@ }, "options": [ { - "name": "soap", - "text": "Soap", + "name": "hiv_self_test_kits", + "text": "HIV Self Testing Kits", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "soap", + "openmrs_entity_id": "hiv_self_test_kits", "openmrs_entity_parent": "" } }, { - "name": "mosquito_nets", - "text": "Mosquito Nets", + "name": "sanitizers", + "text": "Sanitizers", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_id": "sanitizers", "openmrs_entity_parent": "" } }, { - "name": "bed_sheets", - "text": "Bed Sheets", + "name": "face_masks", + "text": "Face masks", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", + "openmrs_entity_id": "face_masks", "openmrs_entity_parent": "" } }, { - "name": "water_disinfectant", - "text": "Water disinfectant", + "name": "condoms", + "text": "Condoms", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_id": "condoms", "openmrs_entity_parent": "" } }, { - "name": "condoms", - "text": "Condoms", + "name": "water_disinfectant", + "text": "Water disinfectants", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", + "openmrs_entity_id": "water_disinfectant", "openmrs_entity_parent": "" } }, @@ -586,14 +736,14 @@ } } ], - "required_status": "yes:Please choose supplies/medicine given", + "required_status": "yes:Please choose supplies/commodities given", "subjects": "registration_or_followup_status:text" }, { "name": "supplies_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Supplies", + "hint": "Other Supplies/Commodities", "type": "name" }, "meta_data": { @@ -601,7 +751,7 @@ "openmrs_entity_id": "supplies_provided_other", "openmrs_entity_parent": "supplies_provided" }, - "required_status": "true:Please specify other supplies given", + "required_status": "true:Please specify other supplies/commodities given", "subjects": "supplies_provided:map" }, { @@ -617,29 +767,20 @@ }, "options": [ { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", + "name": "paracetamol", + "text": "Paracetamol", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_id": "paracetamol", "openmrs_entity_parent": "" } }, { - "name": "aspirin", - "text": "Aspirin", + "name": "ors", + "text": "ORS", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Other Medicine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", + "openmrs_entity_id": "ors", "openmrs_entity_parent": "" } }, @@ -657,26 +798,11 @@ "required_status": "yes:Please choose medicine given", "subjects": "registration_or_followup_status:text" }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Medicine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Please specify other medicine given", - "subjects": "medicine_provided:map" - }, { "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "CBHS services provided by CHW at the community" + "text": "CBHS services provided" }, "meta_data": { "openmrs_entity": "concept", @@ -685,65 +811,83 @@ }, "options": [ { - "name": "nutrition_counselling", - "text": "Nutrition Counselling", + "name": "hiv_education", + "text": "HIV Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "pretest_information", + "text": "Pretest Information", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_id": "pretest_information", "openmrs_entity_parent": "" } }, { - "name": "hiv_infection_education", - "text": "HIV Infection Education", + "name": "ipc", + "text": "IPC (Uzuiaji wa uambukizo katika Jamii)", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_id": "ipc", "openmrs_entity_parent": "" } }, { - "name": "preliminary_testing", - "text": "Preliminary Testing", + "name": "adherence_counselling", + "text": "Adherence Counselling", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_id": "adherence_counselling", "openmrs_entity_parent": "" } }, { - "name": "psychological_counseling", - "text": "Psychological Counseling", + "name": "gbv_vac_screening", + "text": "Screening of GBV and VAC", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_id": "gbv_vac_screening", "openmrs_entity_parent": "" } }, { - "name": "house_cleanliness", - "text": "House Cleanliness", + "name": "tb_sti_screening", + "text": "TB and STI Screening", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_id": "tb_sti_screening", "openmrs_entity_parent": "" } }, { - "name": "health_care", - "text": "Health Care", + "name": "referral_and_linkage", + "text": "Referral and Linkage", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", + "openmrs_entity_id": "referral_and_linkage", "openmrs_entity_parent": "" } }, { - "name": "medical_services", - "text": "Medical Services", + "name": "self_test_information", + "text": "Information and how to use self test", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", + "openmrs_entity_id": "self_test_information", + "openmrs_entity_parent": "" + } + }, + { + "name": "kvp_services", + "text": "KVP Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "kvp_services", "openmrs_entity_parent": "" } }, @@ -767,7 +911,7 @@ } } ], - "required_status": "yes:Please fill the HIV services provided", + "required_status": "yes:Please fill the CBHS services provided", "subjects": "registration_or_followup_status:text" }, { @@ -782,14 +926,14 @@ "openmrs_entity_id": "hiv_services_provided_other", "openmrs_entity_parent": "hiv_services_provided" }, - "required_status": "true:Please specify other HIV services provided", + "required_status": "true:Please specify other CBHS services provided", "subjects": "hiv_services_provided:map" }, { "name": "referrals_issued_to_other_services", "type": "multi_choice_checkbox", "properties": { - "text": "Pick Referrals Issued to the Client for Other Services." + "text": "Pick referrals issued to the Client for other services other than Medical Services" }, "meta_data": { "openmrs_entity_parent": "", @@ -875,7 +1019,7 @@ "name": "referrals_to_other_services_completed", "type": "multi_choice_checkbox", "properties": { - "text": "Pick Referrals to other services Completed by the Client." + "text": "Pick Referrals to other services other than Medical Services Completed by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -959,14 +1103,14 @@ }, { "name": "state_of_therapy", - "type": "spinner", + "type": "multi_choice_checkbox", "properties": { "text": "State of HIV Care and treatment" }, "meta_data": { + "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" + "openmrs_entity_id": "state_of_therapy" }, "options": [ { @@ -1004,11 +1148,61 @@ "openmrs_entity_id": "not_registered_in_ctc_clinic", "openmrs_entity_parent": "" } + }, + { + "name": "registered_in_injection_drugs_users_clinic", + "text": "Registered in Injection Drugs Users Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_injection_drugs_users_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_in_tb_clinic", + "text": "Registered in TB Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_tb_clinic", + "openmrs_entity_parent": "" + } } ], "required_status": "yes:Please specify the state of HIV therapy", "subjects": "registration_or_followup_status:text" }, + { + "name": "comments_remarks", + "type": "text_input_edit_text", + "properties": { + "hint": "Comments and Remarks", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "comments_remarks", + "openmrs_entity_parent": "" + }, + "required_status": "no" + }, + { + "name": "next_appointment_date", + "type": "datetime_picker", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "next_appointment_date", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Next Appointment Date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today", + "max_date": "today+3m" + }, + "required_status": "true:Please specify the next appointment date", + "subjects": "registration_or_followup_status:text" + }, { "name": "client_moved_location", "type": "spinner", diff --git a/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json index 439a1f9c71..8dcafe4603 100644 --- a/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/nacp/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -212,11 +212,74 @@ }, "options": [ { - "name": "pain", - "text": "Pain", + "name": "general_body_malaise", + "text": "General Body Malaise", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "pain", + "openmrs_entity_id": "general_body_malaise", + "openmrs_entity_parent": "" + } + }, + { + "name": "chest_pain", + "text": "Chest Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chest_pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "skin_infection", + "text": "Skin Infection", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "skin_infection", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_appetite", + "text": "Loss of Appetite", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_appetite", + "openmrs_entity_parent": "" + } + }, + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "jaundice", + "text": "Jaundice", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "jaundice", + "openmrs_entity_parent": "" + } + }, + { + "name": "headache", + "text": "Headache", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "headache", "openmrs_entity_parent": "" } }, @@ -229,6 +292,51 @@ "openmrs_entity_parent": "" } }, + { + "name": "altered_mental_status", + "text": "Altered Mental Status", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "altered_mental_status", + "openmrs_entity_parent": "" + } + }, + { + "name": "convulsion", + "text": "Convulsion", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "convulsion", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_consciousness", + "text": "Loss of Consciousness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_consciousness", + "openmrs_entity_parent": "" + } + }, + { + "name": "drugs_side_effects", + "text": "Drugs Side Effects", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drugs_side_effects", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Other Health Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, { "name": "other_health_problems", "text": "Other Health Challenges", @@ -267,11 +375,26 @@ "required_status": "true:Please specify other health problems", "subjects": "health_problem:map" }, + { + "name": "prompt_for_health_challenges", + "type": "toast_notification", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prompt_for_health_challenges", + "openmrs_entity_parent": "health_problem" + }, + "properties": { + "notification_type": "error", + "dismissible": "no", + "text": "Refer to health facility for further management" + }, + "subjects": "health_problem:map" + }, { "name": "social_problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick Social challenges faced by the Client." + "text": "Pick Psychosocial challenges faced by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -280,20 +403,29 @@ }, "options": [ { - "name": "malnutrition", - "text": "Malnutrition", + "name": "stigma_and_discriminations", + "text": "Stigma and Discriminations", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", + "openmrs_entity_id": "stigma_and_discriminations", + "openmrs_entity_parent": "" + } + }, + { + "name": "food_insecurity", + "text": "Food insecurity", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "food_insecurity", "openmrs_entity_parent": "" } }, { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "Failure to adhere to CTC Appointments Schedule", + "name": "lack_disclosure", + "text": "Lack disclosure", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_id": "lack_disclosure", "openmrs_entity_parent": "" } }, @@ -306,6 +438,33 @@ "openmrs_entity_parent": "" } }, + { + "name": "economic_constraints", + "text": "Economic constraints", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "economic_constraints", + "openmrs_entity_parent": "" + } + }, + { + "name": "gbv_and_vac", + "text": "GBV and VAC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gbv_and_vac", + "openmrs_entity_parent": "" + } + }, + { + "name": "hard_to_reach_areas", + "text": "Hard to reach areas", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hard_to_reach_areas", + "openmrs_entity_parent": "" + } + }, { "name": "other_social_problems", "text": "Other Social Challenges", @@ -333,7 +492,7 @@ "name": "social_problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Social Challenges", + "hint": "Other Psychosocial Challenges", "type": "name" }, "meta_data": { @@ -341,7 +500,7 @@ "openmrs_entity_id": "social_problem_other", "openmrs_entity_parent": "social_problem" }, - "required_status": "true:Please specify other social problems faced", + "required_status": "true:Please specify other psychosocial problems faced", "subjects": "social_problem:map" }, { @@ -436,7 +595,7 @@ "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Supplies provided" + "text": "Supplies/Commodities provided" }, "meta_data": { "openmrs_entity": "concept", @@ -445,47 +604,47 @@ }, "options": [ { - "name": "soap", - "text": "Soap", + "name": "hiv_self_test_kits", + "text": "HIV Self Testing Kits", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "soap", + "openmrs_entity_id": "hiv_self_test_kits", "openmrs_entity_parent": "" } }, { - "name": "mosquito_nets", - "text": "Mosquito Nets", + "name": "sanitizers", + "text": "Sanitizers", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_id": "sanitizers", "openmrs_entity_parent": "" } }, { - "name": "bed_sheets", - "text": "Bed Sheets", + "name": "face_masks", + "text": "Face masks", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", + "openmrs_entity_id": "face_masks", "openmrs_entity_parent": "" } }, { - "name": "water_disinfectant", - "text": "Water disinfectant", + "name": "condoms", + "text": "Condoms", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_id": "condoms", "openmrs_entity_parent": "" } }, { - "name": "condoms", - "text": "Condoms", + "name": "water_disinfectant", + "text": "Water disinfectants", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", + "openmrs_entity_id": "water_disinfectant", "openmrs_entity_parent": "" } }, @@ -509,14 +668,14 @@ } } ], - "required_status": "yes:Please choose supplies/medicine given", + "required_status": "yes:Please choose supplies/commodities given", "subjects": "registration_or_followup_status:text" }, { "name": "supplies_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Supplies", + "hint": "Other Supplies/Commodities", "type": "name" }, "meta_data": { @@ -524,7 +683,7 @@ "openmrs_entity_id": "supplies_provided_other", "openmrs_entity_parent": "supplies_provided" }, - "required_status": "true:Please specify other supplies given", + "required_status": "true:Please specify other supplies/commodities given", "subjects": "supplies_provided:map" }, { @@ -540,29 +699,20 @@ }, "options": [ { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", + "name": "paracetamol", + "text": "Paracetamol", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_id": "paracetamol", "openmrs_entity_parent": "" } }, { - "name": "aspirin", - "text": "Aspirin", + "name": "ors", + "text": "ORS", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Other Medicine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", + "openmrs_entity_id": "ors", "openmrs_entity_parent": "" } }, @@ -580,26 +730,11 @@ "required_status": "yes:Please choose medicine given", "subjects": "registration_or_followup_status:text" }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Medicine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Please specify other medicine given", - "subjects": "medicine_provided:map" - }, { "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "CBHS services provided by CHW at the community" + "text": "CBHS services provided" }, "meta_data": { "openmrs_entity": "concept", @@ -608,65 +743,83 @@ }, "options": [ { - "name": "nutrition_counselling", - "text": "Nutrition Counselling", + "name": "hiv_education", + "text": "HIV Education", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_id": "hiv_education", "openmrs_entity_parent": "" } }, { - "name": "hiv_infection_education", - "text": "HIV Infection Education", + "name": "pretest_information", + "text": "Pretest Information", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_id": "pretest_information", "openmrs_entity_parent": "" } }, { - "name": "preliminary_testing", - "text": "Preliminary Testing", + "name": "ipc", + "text": "IPC (Uzuiaji wa uambukizo katika Jamii)", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_id": "ipc", "openmrs_entity_parent": "" } }, { - "name": "psychological_counseling", - "text": "Psychological Counseling", + "name": "adherence_counselling", + "text": "Adherence Counselling", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_id": "adherence_counselling", "openmrs_entity_parent": "" } }, { - "name": "house_cleanliness", - "text": "House Cleanliness", + "name": "gbv_vac_screening", + "text": "Screening of GBV and VAC", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_id": "gbv_vac_screening", "openmrs_entity_parent": "" } }, { - "name": "health_care", - "text": "Health Care", + "name": "tb_sti_screening", + "text": "TB and STI Screening", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", + "openmrs_entity_id": "tb_sti_screening", "openmrs_entity_parent": "" } }, { - "name": "medical_services", - "text": "Medical Services", + "name": "referral_and_linkage", + "text": "Referral and Linkage", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", + "openmrs_entity_id": "referral_and_linkage", + "openmrs_entity_parent": "" + } + }, + { + "name": "self_test_information", + "text": "Information and how to use self test", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "self_test_information", + "openmrs_entity_parent": "" + } + }, + { + "name": "kvp_services", + "text": "KVP Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "kvp_services", "openmrs_entity_parent": "" } }, @@ -690,7 +843,7 @@ } } ], - "required_status": "yes:Please fill the HIV services provided", + "required_status": "yes:Please fill the CBHS services provided", "subjects": "registration_or_followup_status:text" }, { @@ -705,14 +858,14 @@ "openmrs_entity_id": "hiv_services_provided_other", "openmrs_entity_parent": "hiv_services_provided" }, - "required_status": "true:Please specify other HIV services provided", + "required_status": "true:Please specify other CBHS services provided", "subjects": "hiv_services_provided:map" }, { "name": "referrals_issued_to_other_services", "type": "multi_choice_checkbox", "properties": { - "text": "Pick Referrals Issued to the Client for Other Services." + "text": "Pick referrals issued to the Client for other services other than Medical Services" }, "meta_data": { "openmrs_entity_parent": "", @@ -798,7 +951,7 @@ "name": "referrals_to_other_services_completed", "type": "multi_choice_checkbox", "properties": { - "text": "Pick Referrals to other services Completed by the Client." + "text": "Pick Referrals to other services other than Medical Services Completed by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -882,14 +1035,14 @@ }, { "name": "state_of_therapy", - "type": "spinner", + "type": "multi_choice_checkbox", "properties": { "text": "State of HIV Care and treatment" }, "meta_data": { + "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" + "openmrs_entity_id": "state_of_therapy" }, "options": [ { @@ -909,11 +1062,61 @@ "openmrs_entity_id": "registered_and_uses_medication", "openmrs_entity_parent": "" } + }, + { + "name": "registered_in_injection_drugs_users_clinic", + "text": "Registered in Injection Drugs Users Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_injection_drugs_users_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_in_tb_clinic", + "text": "Registered in TB Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_tb_clinic", + "openmrs_entity_parent": "" + } } ], "required_status": "yes:Please specify the state of HIV therapy", "subjects": "registration_or_followup_status:text" }, + { + "name": "comments_remarks", + "type": "text_input_edit_text", + "properties": { + "hint": "Comments and Remarks", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "comments_remarks", + "openmrs_entity_parent": "" + }, + "required_status": "no" + }, + { + "name": "next_appointment_date", + "type": "datetime_picker", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "next_appointment_date", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Next Appointment Date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today", + "max_date": "today+3m" + }, + "required_status": "true:Please specify the next appointment date", + "subjects": "registration_or_followup_status:text" + }, { "name": "client_moved_location", "type": "spinner", diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json index 0c1984b1f5..5d16ada7bd 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit.json @@ -289,11 +289,74 @@ }, "options": [ { - "name": "pain", - "text": "Pain", + "name": "general_body_malaise", + "text": "General Body Malaise", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "pain", + "openmrs_entity_id": "general_body_malaise", + "openmrs_entity_parent": "" + } + }, + { + "name": "chest_pain", + "text": "Chest Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chest_pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "skin_infection", + "text": "Skin Infection", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "skin_infection", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_appetite", + "text": "Loss of Appetite", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_appetite", + "openmrs_entity_parent": "" + } + }, + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "jaundice", + "text": "Jaundice", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "jaundice", + "openmrs_entity_parent": "" + } + }, + { + "name": "headache", + "text": "Headache", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "headache", "openmrs_entity_parent": "" } }, @@ -306,6 +369,42 @@ "openmrs_entity_parent": "" } }, + { + "name": "altered_mental_status", + "text": "Altered Mental Status", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "altered_mental_status", + "openmrs_entity_parent": "" + } + }, + { + "name": "convulsion", + "text": "Convulsion", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "convulsion", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_consciousness", + "text": "Loss of Consciousness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_consciousness", + "openmrs_entity_parent": "" + } + }, + { + "name": "drugs_side_effects", + "text": "Drugs Side Effects", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drugs_side_effects", + "openmrs_entity_parent": "" + } + }, { "name": "other_health_problems", "text": "Other Health Challenges", @@ -344,11 +443,26 @@ "required_status": "true:Please specify other health problems", "subjects": "health_problem:map" }, + { + "name": "prompt_for_health_challenges", + "type": "toast_notification", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prompt_for_health_challenges", + "openmrs_entity_parent": "health_problem" + }, + "properties": { + "notification_type": "error", + "dismissible": "no", + "text": "Refer to health facility for further management" + }, + "subjects": "health_problem:map" + }, { "name": "social_problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick Social challenges faced by the Client." + "text": "Pick Psychosocial challenges faced by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -357,20 +471,29 @@ }, "options": [ { - "name": "malnutrition", - "text": "Malnutrition", + "name": "stigma_and_discriminations", + "text": "Stigma and Discriminations", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", + "openmrs_entity_id": "stigma_and_discriminations", "openmrs_entity_parent": "" } }, { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "Failure to adhere to CTC Appointments Schedule", + "name": "food_insecurity", + "text": "Food insecurity", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_id": "food_insecurity", + "openmrs_entity_parent": "" + } + }, + { + "name": "lack_disclosure", + "text": "Lack disclosure", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "lack_disclosure", "openmrs_entity_parent": "" } }, @@ -383,6 +506,33 @@ "openmrs_entity_parent": "" } }, + { + "name": "economic_constraints", + "text": "Economic constraints", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "economic_constraints", + "openmrs_entity_parent": "" + } + }, + { + "name": "gbv_and_vac", + "text": "GBV and VAC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gbv_and_vac", + "openmrs_entity_parent": "" + } + }, + { + "name": "hard_to_reach_areas", + "text": "Hard to reach areas", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hard_to_reach_areas", + "openmrs_entity_parent": "" + } + }, { "name": "other_social_problems", "text": "Other Social Challenges", @@ -410,7 +560,7 @@ "name": "social_problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Social Challenges", + "hint": "Other Psychosocial Challenges", "type": "name" }, "meta_data": { @@ -418,7 +568,7 @@ "openmrs_entity_id": "social_problem_other", "openmrs_entity_parent": "social_problem" }, - "required_status": "true:Please specify other social problems faced", + "required_status": "true:Please specify other psychosocial problems faced", "subjects": "social_problem:map" }, { @@ -531,7 +681,7 @@ "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Supplies provided" + "text": "Supplies/Commodities provided" }, "meta_data": { "openmrs_entity": "concept", @@ -540,47 +690,47 @@ }, "options": [ { - "name": "soap", - "text": "Soap", + "name": "hiv_self_test_kits", + "text": "HIV Self Testing Kits", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "soap", + "openmrs_entity_id": "hiv_self_test_kits", "openmrs_entity_parent": "" } }, { - "name": "mosquito_nets", - "text": "Mosquito Nets", + "name": "sanitizers", + "text": "Sanitizers", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_id": "sanitizers", "openmrs_entity_parent": "" } }, { - "name": "bed_sheets", - "text": "Bed Sheets", + "name": "face_masks", + "text": "Face masks", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", + "openmrs_entity_id": "face_masks", "openmrs_entity_parent": "" } }, { - "name": "water_disinfectant", - "text": "Water disinfectant", + "name": "condoms", + "text": "Condoms", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_id": "condoms", "openmrs_entity_parent": "" } }, { - "name": "condoms", - "text": "Condoms", + "name": "water_disinfectant", + "text": "Water disinfectants", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", + "openmrs_entity_id": "water_disinfectant", "openmrs_entity_parent": "" } }, @@ -604,14 +754,14 @@ } } ], - "required_status": "yes:Please choose supplies/medicine given", + "required_status": "yes:Please choose supplies/commodities given", "subjects": "registration_or_followup_status:text" }, { "name": "supplies_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Supplies", + "hint": "Other Supplies/Commodities", "type": "name" }, "meta_data": { @@ -619,7 +769,7 @@ "openmrs_entity_id": "supplies_provided_other", "openmrs_entity_parent": "supplies_provided" }, - "required_status": "true:Please specify other supplies given", + "required_status": "true:Please specify other supplies/commodities given", "subjects": "supplies_provided:map" }, { @@ -635,29 +785,20 @@ }, "options": [ { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", + "name": "paracetamol", + "text": "Paracetamol", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", + "openmrs_entity_id": "paracetamol", "openmrs_entity_parent": "" } }, { - "name": "aspirin", - "text": "Aspirin", + "name": "ors", + "text": "ORS", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Other Medicine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", + "openmrs_entity_id": "ors", "openmrs_entity_parent": "" } }, @@ -675,26 +816,11 @@ "required_status": "yes:Please choose medicine given", "subjects": "registration_or_followup_status:text" }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Medicine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Please specify other medicine given", - "subjects": "medicine_provided:map" - }, { "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "CBHS services provided by CHW at the community" + "text": "CBHS services provided" }, "meta_data": { "openmrs_entity": "concept", @@ -703,65 +829,83 @@ }, "options": [ { - "name": "nutrition_counselling", - "text": "Nutririon Counselling", + "name": "hiv_education", + "text": "HIV Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "pretest_information", + "text": "Pretest Information", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_id": "pretest_information", "openmrs_entity_parent": "" } }, { - "name": "hiv_infection_education", - "text": "HIV Infection Education", + "name": "ipc", + "text": "IPC (Uzuiaji wa uambukizo katika Jamii)", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_id": "ipc", "openmrs_entity_parent": "" } }, { - "name": "preliminary_testing", - "text": "Preliminary Testing", + "name": "adherence_counselling", + "text": "Adherence Counselling", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_id": "adherence_counselling", "openmrs_entity_parent": "" } }, { - "name": "psychological_counseling", - "text": "Psychological Counseling", + "name": "gbv_vac_screening", + "text": "Screening of GBV and VAC", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_id": "gbv_vac_screening", "openmrs_entity_parent": "" } }, { - "name": "house_cleanliness", - "text": "House Cleanliness", + "name": "tb_sti_screening", + "text": "TB and STI Screening", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_id": "tb_sti_screening", "openmrs_entity_parent": "" } }, { - "name": "health_care", - "text": "Health Care", + "name": "referral_and_linkage", + "text": "Referral and Linkage", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", + "openmrs_entity_id": "referral_and_linkage", "openmrs_entity_parent": "" } }, { - "name": "medical_services", - "text": "Medical Services", + "name": "self_test_information", + "text": "Information and how to use self test", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", + "openmrs_entity_id": "self_test_information", + "openmrs_entity_parent": "" + } + }, + { + "name": "kvp_services", + "text": "KVP Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "kvp_services", "openmrs_entity_parent": "" } }, @@ -785,7 +929,7 @@ } } ], - "required_status": "yes:Please fill the HIV services provided", + "required_status": "yes:Please fill the CBHS services provided", "subjects": "registration_or_followup_status:text" }, { @@ -800,14 +944,14 @@ "openmrs_entity_id": "hiv_services_provided_other", "openmrs_entity_parent": "hiv_services_provided" }, - "required_status": "true:Please specify other HIV services provided", + "required_status": "true:Please specify other CBHS services provided", "subjects": "hiv_services_provided:map" }, { "name": "referrals_issued_to_other_services", "type": "multi_choice_checkbox", "properties": { - "text": "Pick Referrals Issued to the Client for Other Services." + "text": "Pick referrals issued to the Client for other services other than Medical Services" }, "meta_data": { "openmrs_entity_parent": "", @@ -893,7 +1037,7 @@ "name": "referrals_to_other_services_completed", "type": "multi_choice_checkbox", "properties": { - "text": "Pick Referrals to other services Completed by the Client." + "text": "Pick Referrals to other services other than Medical Services Completed by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -977,14 +1121,14 @@ }, { "name": "state_of_therapy", - "type": "spinner", + "type": "multi_choice_checkbox", "properties": { "text": "State of HIV Care and treatment" }, "meta_data": { + "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" + "openmrs_entity_id": "state_of_therapy" }, "options": [ { @@ -1022,11 +1166,61 @@ "openmrs_entity_id": "not_registered_in_ctc_clinic", "openmrs_entity_parent": "" } + }, + { + "name": "registered_in_injection_drugs_users_clinic", + "text": "Registered in Injection Drugs Users Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_injection_drugs_users_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_in_tb_clinic", + "text": "Registered in TB Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_tb_clinic", + "openmrs_entity_parent": "" + } } ], "required_status": "yes:Please specify the state of HIV therapy", "subjects": "registration_or_followup_status:text" }, + { + "name": "comments_remarks", + "type": "text_input_edit_text", + "properties": { + "hint": "Comments and Remarks", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "comments_remarks", + "openmrs_entity_parent": "" + }, + "required_status": "no" + }, + { + "name": "next_appointment_date", + "type": "datetime_picker", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "next_appointment_date", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Next Appointment Date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today", + "max_date": "today+3m" + }, + "required_status": "true:Please specify the next appointment date", + "subjects": "registration_or_followup_status:text" + }, { "name": "client_moved_location", "type": "spinner", diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json index f46ea8c2af..d7a8badf59 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json @@ -212,11 +212,74 @@ }, "options": [ { - "name": "pain", - "text": "Pain", + "name": "general_body_malaise", + "text": "General Body Malaise", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "pain", + "openmrs_entity_id": "general_body_malaise", + "openmrs_entity_parent": "" + } + }, + { + "name": "chest_pain", + "text": "Chest Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chest_pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "skin_infection", + "text": "Skin Infection", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "skin_infection", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_appetite", + "text": "Loss of Appetite", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_appetite", + "openmrs_entity_parent": "" + } + }, + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "jaundice", + "text": "Jaundice", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "jaundice", + "openmrs_entity_parent": "" + } + }, + { + "name": "headache", + "text": "Headache", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "headache", "openmrs_entity_parent": "" } }, @@ -229,6 +292,42 @@ "openmrs_entity_parent": "" } }, + { + "name": "altered_mental_status", + "text": "Altered Mental Status", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "altered_mental_status", + "openmrs_entity_parent": "" + } + }, + { + "name": "convulsion", + "text": "Convulsion", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "convulsion", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_consciousness", + "text": "Loss of Consciousness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_consciousness", + "openmrs_entity_parent": "" + } + }, + { + "name": "drugs_side_effects", + "text": "Drugs Side Effects", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drugs_side_effects", + "openmrs_entity_parent": "" + } + }, { "name": "other_health_problems", "text": "Other Health Challenges", @@ -267,11 +366,26 @@ "required_status": "true:Please specify other health problems", "subjects": "health_problem:map" }, + { + "name": "prompt_for_health_challenges", + "type": "toast_notification", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prompt_for_health_challenges", + "openmrs_entity_parent": "health_problem" + }, + "properties": { + "notification_type": "error", + "dismissible": "no", + "text": "Refer to health facility for further management" + }, + "subjects": "health_problem:map" + }, { "name": "social_problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick Social challenges faced by the Client." + "text": "Pick Psychosocial challenges faced by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -280,20 +394,29 @@ }, "options": [ { - "name": "malnutrition", - "text": "Malnutrition", + "name": "stigma_and_discriminations", + "text": "Stigma and Discriminations", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", + "openmrs_entity_id": "stigma_and_discriminations", "openmrs_entity_parent": "" } }, { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "Failure to adhere to CTC Appointments Schedule", + "name": "food_insecurity", + "text": "Food insecurity", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", + "openmrs_entity_id": "food_insecurity", + "openmrs_entity_parent": "" + } + }, + { + "name": "lack_disclosure", + "text": "Lack disclosure", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "lack_disclosure", "openmrs_entity_parent": "" } }, @@ -306,6 +429,33 @@ "openmrs_entity_parent": "" } }, + { + "name": "economic_constraints", + "text": "Economic constraints", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "economic_constraints", + "openmrs_entity_parent": "" + } + }, + { + "name": "gbv_and_vac", + "text": "GBV and VAC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gbv_and_vac", + "openmrs_entity_parent": "" + } + }, + { + "name": "hard_to_reach_areas", + "text": "Hard to reach areas", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hard_to_reach_areas", + "openmrs_entity_parent": "" + } + }, { "name": "other_social_problems", "text": "Other Social Challenges", @@ -333,7 +483,7 @@ "name": "social_problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Social Challenges", + "hint": "Other Psychosocial Challenges", "type": "name" }, "meta_data": { @@ -341,7 +491,7 @@ "openmrs_entity_id": "social_problem_other", "openmrs_entity_parent": "social_problem" }, - "required_status": "true:Please specify other social problems faced", + "required_status": "true:Please specify other psychosocial problems faced", "subjects": "social_problem:map" }, { @@ -454,7 +604,7 @@ "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Supplies provided" + "text": "Supplies/Commodities provided" }, "meta_data": { "openmrs_entity": "concept", @@ -463,47 +613,47 @@ }, "options": [ { - "name": "soap", - "text": "Soap", + "name": "hiv_self_test_kits", + "text": "HIV Self Testing Kits", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "soap", + "openmrs_entity_id": "hiv_self_test_kits", "openmrs_entity_parent": "" } }, { - "name": "mosquito_nets", - "text": "Mosquito Nets", + "name": "sanitizers", + "text": "Sanitizers", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", + "openmrs_entity_id": "sanitizers", "openmrs_entity_parent": "" } }, { - "name": "bed_sheets", - "text": "Bed Sheets", + "name": "face_masks", + "text": "Face masks", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", + "openmrs_entity_id": "face_masks", "openmrs_entity_parent": "" } }, { - "name": "water_disinfectant", - "text": "Water disinfectant", + "name": "condoms", + "text": "Condoms", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_id": "condoms", "openmrs_entity_parent": "" } }, { - "name": "condoms", - "text": "Condoms", + "name": "water_disinfectant", + "text": "Water disinfectants", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", + "openmrs_entity_id": "water_disinfectant", "openmrs_entity_parent": "" } }, @@ -527,14 +677,14 @@ } } ], - "required_status": "yes:Please choose supplies/medicine given", + "required_status": "yes:Please choose supplies/commodities given", "subjects": "registration_or_followup_status:text" }, { "name": "supplies_provided_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Supplies", + "hint": "Other Supplies/Commodities", "type": "name" }, "meta_data": { @@ -542,7 +692,7 @@ "openmrs_entity_id": "supplies_provided_other", "openmrs_entity_parent": "supplies_provided" }, - "required_status": "true:Please specify other supplies given", + "required_status": "true:Please specify other supplies/commodities given", "subjects": "supplies_provided:map" }, { @@ -558,29 +708,20 @@ }, "options": [ { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", - "openmrs_entity_parent": "" - } - }, - { - "name": "aspirin", - "text": "Aspirin", + "name": "paracetamol", + "text": "Paracetamol", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", + "openmrs_entity_id": "paracetamol", "openmrs_entity_parent": "" } }, { - "name": "other_medicine", - "text": "Other Medicine", + "name": "ors", + "text": "ORS", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", + "openmrs_entity_id": "ors", "openmrs_entity_parent": "" } }, @@ -598,26 +739,11 @@ "required_status": "yes:Please choose medicine given", "subjects": "registration_or_followup_status:text" }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Medicine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Please specify other medicine given", - "subjects": "medicine_provided:map" - }, { "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "CBHS services provided by CHW at the community" + "text": "CBHS services" }, "meta_data": { "openmrs_entity": "concept", @@ -626,65 +752,83 @@ }, "options": [ { - "name": "nutrition_counselling", - "text": "Nutririon Counselling", + "name": "hiv_education", + "text": "HIV Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "pretest_information", + "text": "Pretest Information", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pretest_information", + "openmrs_entity_parent": "" + } + }, + { + "name": "ipc", + "text": "IPC (Uzuiaji wa uambukizo katika Jamii)", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", + "openmrs_entity_id": "ipc", "openmrs_entity_parent": "" } }, { - "name": "hiv_infection_education", - "text": "HIV Infection Education", + "name": "adherence_counselling", + "text": "Adherence Counselling", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", + "openmrs_entity_id": "adherence_counselling", "openmrs_entity_parent": "" } }, { - "name": "preliminary_testing", - "text": "Preliminary Testing", + "name": "gbv_vac_screening", + "text": "Screening of GBV and VAC", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", + "openmrs_entity_id": "gbv_vac_screening", "openmrs_entity_parent": "" } }, { - "name": "psychological_counseling", - "text": "Psychological Counseling", + "name": "tb_sti_screening", + "text": "TB and STI Screening", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", + "openmrs_entity_id": "tb_sti_screening", "openmrs_entity_parent": "" } }, { - "name": "house_cleanliness", - "text": "House Cleanliness", + "name": "referral_and_linkage", + "text": "Referral and Linkage", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", + "openmrs_entity_id": "referral_and_linkage", "openmrs_entity_parent": "" } }, { - "name": "health_care", - "text": "Health Care", + "name": "self_test_information", + "text": "Information and how to use self test", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", + "openmrs_entity_id": "self_test_information", "openmrs_entity_parent": "" } }, { - "name": "medical_services", - "text": "Medical Services", + "name": "kvp_services", + "text": "KVP Services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", + "openmrs_entity_id": "kvp_services", "openmrs_entity_parent": "" } }, @@ -708,7 +852,7 @@ } } ], - "required_status": "yes:Please fill the HIV services provided", + "required_status": "yes:Please fill the CBHS services provided", "subjects": "registration_or_followup_status:text" }, { @@ -723,14 +867,14 @@ "openmrs_entity_id": "hiv_services_provided_other", "openmrs_entity_parent": "hiv_services_provided" }, - "required_status": "true:Please specify other HIV services provided", + "required_status": "true:Please specify other CBHS services provided", "subjects": "hiv_services_provided:map" }, { "name": "referrals_issued_to_other_services", "type": "multi_choice_checkbox", "properties": { - "text": "Pick Referrals Issued to the Client for Other Services." + "text": "Pick referrals issued to the Client for other services other than Medical Services" }, "meta_data": { "openmrs_entity_parent": "", @@ -816,7 +960,7 @@ "name": "referrals_to_other_services_completed", "type": "multi_choice_checkbox", "properties": { - "text": "Pick Referrals to other services Completed by the Client." + "text": "Pick Referrals to other services other than Medical Services Completed by the Client." }, "meta_data": { "openmrs_entity_parent": "", @@ -932,6 +1076,90 @@ "required_status": "yes:Please specify the state of HIV therapy", "subjects": "registration_or_followup_status:text" }, + { + "name": "state_of_therapy", + "type": "multi_choice_checkbox", + "properties": { + "text": "State of HIV Care and treatment" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy" + }, + "options": [ + { + "name": "registered_but_not_began_medication", + "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Registered in CTC/PMTCT clinic and uses ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_in_injection_drugs_users_clinic", + "text": "Registered in Injection Drugs Users Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_injection_drugs_users_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_in_tb_clinic", + "text": "Registered in TB Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_tb_clinic", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the state of HIV therapy", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "comments_remarks", + "type": "text_input_edit_text", + "properties": { + "hint": "Comments and Remarks", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "comments_remarks", + "openmrs_entity_parent": "" + }, + "required_status": "no" + }, + { + "name": "next_appointment_date", + "type": "datetime_picker", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "next_appointment_date", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Next Appointment Date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today", + "max_date": "today+3m" + }, + "required_status": "true:Please specify the next appointment date", + "subjects": "registration_or_followup_status:text" + }, { "name": "client_moved_location", "type": "spinner", diff --git a/opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml index 3008159a86..17f9b75205 100644 --- a/opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml @@ -152,4 +152,18 @@ priority: 1 condition: "client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine') || client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client continues with clinic from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine')" actions: - "client_moved_location_other_visibility = true" +--- +name: "next_appointment_date_visibility" +description: "next_appointment_date visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +actions: + - "next_appointment_date_visibility = true" +--- +name: "prompt_for_health_challenges_visibility" +description: "prompt_for_health_challenges visibility" +priority: 1 +condition: "health_problem['fever'] != null || health_problem['jaundice'] != null || health_problem['headache'] != null || health_problem['coughing'] != null || health_problem['altered_mental_status'] != null || health_problem['convulsion'] != null || health_problem['loss_of_consciousness'] != null" +actions: + - "prompt_for_health_challenges_visibility = true" From d65259785d21e78532f107d8829b70351b451ff7 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Thu, 26 May 2022 18:08:23 +0300 Subject: [PATCH 445/915] Add: TB status question during CBHS registration --- .../json.form-sw/female_hiv_registration.json | 41 +++++++++++++++++++ .../json.form-sw/male_hiv_registration.json | 41 +++++++++++++++++++ .../json.form/female_hiv_registration.json | 41 +++++++++++++++++++ .../json.form/male_hiv_registration.json | 41 +++++++++++++++++++ 4 files changed, 164 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json index 8edd290fd2..dfb5227560 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json @@ -149,6 +149,47 @@ ], "subjects": "client_hiv_status_during_registration:text" }, + { + "name": "client_tb_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizo ya TB Wakati wa kusajiliwa" + }, + "options": [ + { + "name": "unknown", + "text": "Haijulikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Ana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ] + }, { "name": "tb_number", "type": "text_input_edit_text", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json index cbb838f6ec..200ffc2769 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json @@ -149,6 +149,47 @@ ], "subjects": "client_hiv_status_during_registration:text" }, + { + "name": "client_tb_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizo ya TB Wakati wa kusajiliwa" + }, + "options": [ + { + "name": "unknown", + "text": "Haijulikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Ana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ] + }, { "name": "tb_number", "type": "text_input_edit_text", diff --git a/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json index b2113b51b7..107f7aa5eb 100644 --- a/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json @@ -149,6 +149,47 @@ ], "subjects": "client_hiv_status_during_registration:text" }, + { + "name": "client_tb_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's TB status during registration" + }, + "options": [ + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ] + }, { "name": "tb_number", "type": "text_input_edit_text", diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json index 42b4a7c501..721e7e03f8 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json @@ -149,6 +149,47 @@ ], "subjects": "client_hiv_status_during_registration:text" }, + { + "name": "client_tb_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's TB status during registration" + }, + "options": [ + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ] + }, { "name": "tb_number", "type": "text_input_edit_text", From b1e5b34bd230f659cd96fd3f0d52cf713043bfda Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 27 May 2022 12:25:57 +0300 Subject: [PATCH 446/915] Refactored string values --- opensrp-chw/src/main/res/values-sw/strings.xml | 2 +- opensrp-chw/src/main/res/values/strings.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index 68e2f011d6..bbcba4ea25 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -347,7 +347,7 @@ App inahitaji ruhusa hiyo kuorodhesha video za mwongozo. \ n Bila ruhusa hiyo huwezi kutazama video zozote za mwongozo - Sababu za Kumpatia Mteja Rufaa kwenda kituo cha kutolea huduma za Afya + Rufaa Kwaajili ya Huduma ya Fungua rufaa ya %s Mtoto mgonjwa Uzazi wa mpango diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 7d30a397b4..43dab654cb 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -324,7 +324,7 @@ The app needs this permission to list guide book videos. \n Without this permission you cannot view any guidebook videos - Reason for referral + Service Referred to Open %s referral form Sick child Family Planning From 0bf7f0df78a1f4794415dae860bbfc41f9fe9f2d Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 27 May 2022 12:32:44 +0300 Subject: [PATCH 447/915] Rephrased problems associated with clients text --- .../nacp/assets/json.form/referrals/anc_referral_form.json | 4 ++-- .../assets/json.form/referrals/child_gbv_referral_form.json | 4 ++-- .../nacp/assets/json.form/referrals/child_referral_form.json | 4 ++-- .../nacp/assets/json.form/referrals/gbv_referral_form.json | 4 ++-- .../nacp/assets/json.form/referrals/hiv_referral_form.json | 4 ++-- .../nacp/assets/json.form/referrals/hts_referral_form.json | 4 ++-- .../nacp/assets/json.form/referrals/pmtct_referral_form.json | 4 ++-- .../nacp/assets/json.form/referrals/pnc_referral_form.json | 4 ++-- .../referrals/pregnancy_confirmation_referral_form.json | 2 +- .../src/nacp/assets/json.form/referrals/tb_referral_form.json | 4 ++-- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json index 94c98a1e34..1fa9b22590 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick condition/problem associated with the client." + "text": "Reasons for Referral" }, "meta_data": { "openmrs_entity_parent": "", @@ -294,7 +294,7 @@ } } ], - "required_status": "yes:Please specify reason for ANC referral", + "required_status": "yes:Please specify reasons for ANC referral", "dependent_calculations": [ "referral_date", "referral_time", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json index cc26307983..682c4ab37b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick problem/condition associated with the client." + "text": "Reasons for Referral" }, "meta_data": { "openmrs_entity_parent": "", @@ -150,7 +150,7 @@ } } ], - "required_status": "yes:Please specify client's problems", + "required_status": "yes:Please specify reasons for referral", "dependent_calculations": [ "referral_date", "referral_time", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json index 6aa479fae2..141c86e5b0 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick condition/problem associated with the client." + "text": "Reasons for Referral" }, "meta_data": { "openmrs_entity_parent": "", @@ -267,7 +267,7 @@ } } ], - "required_status": "yes:Please specify client's problems", + "required_status": "yes:Please specify reasons for referral", "dependent_calculations": [ "referral_date", "referral_time", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json index 2a614958a8..d54cb2c5ca 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick problem/condition associated with the client." + "text": "Reasons for Referral" }, "meta_data": { "openmrs_entity_parent": "", @@ -132,7 +132,7 @@ } } ], - "required_status": "yes:Please specify client's problems", + "required_status": "yes:Please specify reasons for referral", "dependent_calculations": [ "referral_date", "referral_time", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json index afad296b31..21344de22c 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick problem/condition associated with the client." + "text": "Reasons for Referral" }, "meta_data": { "openmrs_entity_parent": "", @@ -96,7 +96,7 @@ } } ], - "required_status": "yes:Please specify client's problems", + "required_status": "yes:Please specify reasons for referral", "dependent_calculations": [ "referral_date", "referral_time", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json index f7ea38452f..c6624aa319 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick problem/condition associated with the client." + "text": "Reasons for Referral" }, "meta_data": { "openmrs_entity_parent": "", @@ -114,7 +114,7 @@ } } ], - "required_status": "yes:Please specify client's problems", + "required_status": "yes:Please specify reasons for referral", "dependent_calculations": [ "referral_date", "referral_time", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json index e1034d5c2d..df1af5198a 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick problem/condition associated with the client." + "text": "Reasons for Referral" }, "meta_data": { "openmrs_entity_parent": "", @@ -114,7 +114,7 @@ } } ], - "required_status": "yes:Please specify client's problems", + "required_status": "yes:Please specify reasons for referral", "dependent_calculations": [ "referral_date", "referral_time", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json index df848f349f..63cdc52c80 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick condition/problem associated with the client." + "text": "Reasons for Referral" }, "meta_data": { "openmrs_entity_parent": "", @@ -402,7 +402,7 @@ } } ], - "required_status": "yes:Please specify client's problems", + "required_status": "yes:Please specify reasons for referral", "dependent_calculations": [ "referral_date", "referral_time", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json index 92a6bab2b1..5a84ec64d2 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick condition/problem associated with the client." + "text": "Reasons for Referral" }, "meta_data": { "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/tb_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/tb_referral_form.json index c3ccb045bb..0659182a58 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/tb_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/tb_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Pick problem/condition associated with the client." + "text": "Reasons for Referral" }, "meta_data": { "openmrs_entity_parent": "", @@ -114,7 +114,7 @@ } } ], - "required_status": "yes:Please specify client's problems", + "required_status": "yes:Please specify reasons for referral", "dependent_calculations": [ "referral_date", "referral_time", From 49da0af14966b06d6d6a7c88aca76367512c19a8 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 27 May 2022 15:07:14 +0300 Subject: [PATCH 448/915] Rephrased texts in referral forms --- .../nacp/assets/json.form/referrals/anc_referral_form.json | 6 +++--- .../assets/json.form/referrals/child_gbv_referral_form.json | 6 +++--- .../assets/json.form/referrals/child_referral_form.json | 6 +++--- .../nacp/assets/json.form/referrals/gbv_referral_form.json | 6 +++--- .../nacp/assets/json.form/referrals/hiv_referral_form.json | 6 +++--- .../nacp/assets/json.form/referrals/hts_referral_form.json | 6 +++--- .../assets/json.form/referrals/pmtct_referral_form.json | 6 +++--- .../nacp/assets/json.form/referrals/pnc_referral_form.json | 6 +++--- .../referrals/pregnancy_confirmation_referral_form.json | 6 +++--- 9 files changed, 27 insertions(+), 27 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json index 1fa9b22590..a69fba72cd 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json @@ -286,7 +286,7 @@ }, { "name": "Other_symptoms", - "text": "Other symptoms", + "text": "Other reasons", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Other_symptoms", @@ -311,10 +311,10 @@ "openmrs_entity_parent": "problem" }, "properties": { - "hint": "Other symptoms", + "hint": "Other reasons", "type": "name" }, - "required_status": "true:Please specify other symptoms", + "required_status": "true:Please specify other reasons", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json index 682c4ab37b..556fee628b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json @@ -142,7 +142,7 @@ }, { "name": "Other_symptom", - "text": "Other Symptom", + "text": "Other reasons", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Other_symptom", @@ -162,7 +162,7 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Other symptoms", + "hint": "Other reasons", "type": "name" }, "meta_data": { @@ -170,7 +170,7 @@ "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - "required_status": "true:Please specify other symptoms", + "required_status": "true:Please specify other reasons", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json index 141c86e5b0..692125c34e 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json @@ -259,7 +259,7 @@ }, { "name": "Other_symptom", - "text": "Other symptom", + "text": "Other reasons", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -284,10 +284,10 @@ "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "properties": { - "hint": "Other symptoms", + "hint": "Other reasons", "type": "name" }, - "required_status": "true:Please specify other symptoms", + "required_status": "true:Please specify other reasons", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json index d54cb2c5ca..659d48b12c 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json @@ -124,7 +124,7 @@ }, { "name": "Other_symptom", - "text": "Other Symptom", + "text": "Other reasons", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Other_symptom", @@ -144,7 +144,7 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Other symptoms", + "hint": "Other reasons", "type": "name" }, "meta_data": { @@ -152,7 +152,7 @@ "openmrs_entity_id": "problem_other", "openmrs_entity_parent": "problem" }, - "required_status": "true:Please specify other symptoms", + "required_status": "true:Please specify other reasons", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json index 21344de22c..7acef29188 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json @@ -88,7 +88,7 @@ }, { "name": "Other_symptom", - "text": "Other Symptom", + "text": "Other reasons", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Other_symptom", @@ -108,7 +108,7 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Other symptoms", + "hint": "Other reasons", "type": "name" }, "meta_data": { @@ -116,7 +116,7 @@ "openmrs_entity_id": "problem_other", "openmrs_entity_parent": "problem" }, - "required_status": "true:Please specify other symptoms", + "required_status": "true:Please specify other reasons", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json index c6624aa319..8e0d60dbd3 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json @@ -106,7 +106,7 @@ }, { "name": "Other_symptom", - "text": "Other Symptom", + "text": "Other reasons", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Other_symptom", @@ -126,7 +126,7 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Other symptoms", + "hint": "Other reasons", "type": "name" }, "meta_data": { @@ -134,7 +134,7 @@ "openmrs_entity_id": "problem_other", "openmrs_entity_parent": "problem" }, - "required_status": "true:Please specify other symptoms", + "required_status": "true:Please specify other reasons", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json index df1af5198a..1b844ab268 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json @@ -106,7 +106,7 @@ }, { "name": "Other_symptom", - "text": "Others", + "text": "Other reasons", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Other_symptom", @@ -126,7 +126,7 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Other Problems", + "hint": "Other reasons", "type": "name" }, "meta_data": { @@ -134,7 +134,7 @@ "openmrs_entity_id": "problem_other", "openmrs_entity_parent": "problem" }, - "required_status": "true:Please specify other symptoms", + "required_status": "true:Please specify other reasons", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json index 63cdc52c80..72ba6c747a 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json @@ -394,7 +394,7 @@ }, { "name": "Other_symptom", - "text": "Other symptom", + "text": "Other reasons", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -420,10 +420,10 @@ "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "properties": { - "hint": "Other symptoms", + "hint": "Other reasons", "type": "name" }, - "required_status": "true:Please specify other symptoms", + "required_status": "true:Please specify other reasons", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json index 5a84ec64d2..cfc6331c32 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json @@ -142,7 +142,7 @@ }, { "name": "other_symptoms", - "text": "Other symptoms", + "text": "Other reasons", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_symptoms", @@ -178,10 +178,10 @@ "openmrs_entity_parent": "problem" }, "properties": { - "hint": "Other symptoms", + "hint": "Other reasons", "type": "name" }, - "required_status": "true:Please specify other symptoms", + "required_status": "true:Please specify other reasons", "subjects": "problem:map" }, { From b20473df89e7d4c25cb0373a8130140df74cb724 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 27 May 2022 15:21:00 +0300 Subject: [PATCH 449/915] Rephrased texts in swahili referral forms --- .../json.form-sw/referrals/anc_referral_form.json | 8 ++++---- .../referrals/child_gbv_referral_form.json | 10 +++++----- .../json.form-sw/referrals/child_referral_form.json | 6 +++--- .../json.form-sw/referrals/gbv_referral_form.json | 10 +++++----- .../json.form-sw/referrals/hiv_referral_form.json | 10 +++++----- .../json.form-sw/referrals/hts_referral_form.json | 10 +++++----- .../json.form-sw/referrals/pmtct_referral_form.json | 8 ++++---- .../json.form-sw/referrals/pnc_referral_form.json | 8 ++++---- .../pregnancy_confirmation_referral_form.json | 8 ++++---- 9 files changed, 39 insertions(+), 39 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/anc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/anc_referral_form.json index 9cc0f36207..56ac2d29ce 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/anc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/anc_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua tatizo/hali aliyonayo mteja" + "text": "Sababu za rufaa" }, "meta_data": { "openmrs_entity_parent": "", @@ -286,7 +286,7 @@ }, { "name": "Other_symptoms", - "text": "Dalili nyingine", + "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Other_symptoms", @@ -311,10 +311,10 @@ "openmrs_entity_parent": "problem" }, "properties": { - "hint": "Dalili nyingine", + "hint": "Sababu nyingine", "type": "name" }, - "required_status": "true:Tafadhali bainisha dalili nyingine", + "required_status": "true:Tafadhali bainisha sababu nyingine", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_gbv_referral_form.json index 1efc359e27..4672a6f02f 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_gbv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_gbv_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Tatizo / hali ya afya ya mteja" + "text": "Sababu za rufaa" }, "meta_data": { "openmrs_entity_parent": "", @@ -142,7 +142,7 @@ }, { "name": "Other_symptom", - "text": "Other Symptom", + "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Other_symptom", @@ -150,7 +150,7 @@ } } ], - "required_status": "yes:Please specify client's problems", + "required_status": "yes:Tafadhali chagua sababu za rufaa", "dependent_calculations": [ "referral_date", "referral_time", @@ -162,7 +162,7 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Dalili nyingine", + "hint": "Sababu nyingine", "type": "name" }, "meta_data": { @@ -170,7 +170,7 @@ "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - "required_status": "true:Please specify other symptoms", + "required_status": "true:Tafadhali bainisha sababu nyingine", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_referral_form.json index cd5594b7eb..f069904035 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Tatizo / hali ya afya ya mteja" + "text": "Sababu za rufaa" }, "meta_data": { "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -259,7 +259,7 @@ }, { "name": "Other_symptom", - "text": "Dalili nyingine", + "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -267,7 +267,7 @@ } } ], - "required_status": "yes:Tafadhali taja shida ya kiafya", + "required_status": "yes:Tafadhali changua sababu za rufaa", "dependent_calculations": [ "referral_date", "referral_time", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json index 495d84b2bb..4d87d8adca 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua tatizo/hali aliyonayo mteja." + "text": "Sababu za rufaa" }, "meta_data": { "openmrs_entity": "concept", @@ -122,7 +122,7 @@ }, { "name": "Other_symptom", - "text": "Dalili nyingine", + "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Other_symptom", @@ -130,7 +130,7 @@ } } ], - "required_status": "yes:Tafadhali bainisha tatizo/hali ya mteja", + "required_status": "yes:Tafadhali chagua sababu za rufaa", "dependent_calculations": [ "referral_date", "referral_time", @@ -142,7 +142,7 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Dalili nyingine", + "hint": "Sababu nyingine", "type": "name" }, "meta_data": { @@ -150,7 +150,7 @@ "openmrs_entity_id": "problem_other", "openmrs_entity_parent": "problem" }, - "required_status": "true:Tafadhali jaza dalili nyingine", + "required_status": "true:Tafadhali jaza sababu nyingine", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json index b845306020..978c7ae358 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua tatizo au hali inayoendana na mteja" + "text": "Sababu za rufaa" }, "meta_data": { "openmrs_entity_parent": "", @@ -88,7 +88,7 @@ }, { "name": "Other_symptom", - "text": "Dalili nyingine", + "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Other_symptom", @@ -96,7 +96,7 @@ } } ], - "required_status": "yes:Tafadhali bainisha tatizo la mteja", + "required_status": "yes:Tafadhali chagua sababu za rufaa", "dependent_calculations": [ "referral_date", "referral_time", @@ -108,7 +108,7 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Jaza dalili nyingine", + "hint": "Jaza sababu nyingine", "type": "name" }, "meta_data": { @@ -116,7 +116,7 @@ "openmrs_entity_id": "problem_other", "openmrs_entity_parent": "problem" }, - "required_status": "true:Tafadhali bainisha dalili nyingine", + "required_status": "true:Tafadhali bainisha sababu nyingine", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json index 52bb7afe66..3b5e19c52c 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua tatizo au hali inayoendana na mteja" + "text": "Sababu za rufaa" }, "meta_data": { "openmrs_entity_parent": "", @@ -106,7 +106,7 @@ }, { "name": "Other_symptom", - "text": "Dalili nyingine", + "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Other_symptom", @@ -114,7 +114,7 @@ } } ], - "required_status": "yes:Tafadhali chagua dalili nyingine", + "required_status": "yes:Tafadhali chagua sababu nyingine", "dependent_calculations": [ "referral_date", "referral_time", @@ -126,7 +126,7 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Dalili nyingine", + "hint": "Sababu nyingine", "type": "name" }, "meta_data": { @@ -134,7 +134,7 @@ "openmrs_entity_id": "problem_other", "openmrs_entity_parent": "problem" }, - "required_status": "true:Tafadhali chagua dalili nyingine", + "required_status": "true:Tafadhali chagua sababu nyingine", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json index 8d0d3d9c7e..43ae5e44db 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua tatizo linaloendana na hali ya mgonjwa" + "text": "Sababu za rufaa" }, "meta_data": { "openmrs_entity_parent": "", @@ -106,7 +106,7 @@ }, { "name": "Other_symptom", - "text": "Nyingine", + "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "Other_symptom", @@ -126,7 +126,7 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Tatizo nyingine", + "hint": "Sababu nyingine", "type": "name" }, "meta_data": { @@ -134,7 +134,7 @@ "openmrs_entity_id": "problem_other", "openmrs_entity_parent": "problem" }, - "required_status": "true:Tafadhali bainisha dalili nyingine", + "required_status": "true:Tafadhali bainisha sababu nyingine", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json index 31e1e8b8a8..180f697e86 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Tatizo / hali ya afya ya mteja." + "text": "Sababu za rufaa" }, "meta_data": { "openmrs_entity": "concept", @@ -394,7 +394,7 @@ }, { "name": "Other_symptom", - "text": "Dalili nyingine", + "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -420,10 +420,10 @@ "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "properties": { - "hint": "Dalili nyingine", + "hint": "Sababu nyingine", "type": "name" }, - "required_status": "true:Tafadhali jaza dalili nyingine", + "required_status": "true:Tafadhali jaza sababu nyingine", "subjects": "problem:map" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json index a58a088f05..59b5895f66 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json @@ -60,7 +60,7 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua tatizo/hali aliyonayo mteja" + "text": "Sababu za rufaa" }, "meta_data": { "openmrs_entity_parent": "", @@ -142,7 +142,7 @@ }, { "name": "other_symptoms", - "text": "Dalili nyingine", + "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_symptoms", @@ -178,10 +178,10 @@ "openmrs_entity_parent": "problem" }, "properties": { - "hint": "Dalili nyingine", + "hint": "Sababu nyingine", "type": "name" }, - "required_status": "true:Tafadhali bainisha dalili nyingine", + "required_status": "true:Tafadhali bainisha sababu nyingine", "subjects": "problem:map" }, { From 03f70a83ddac22902cce8b97af8b5c9e70eb7731 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 27 May 2022 15:35:32 +0300 Subject: [PATCH 450/915] Refactor: referral reasons options in HTS referral forms --- .../referrals/hts_referral_form.json | 42 +++++++++++++------ .../referrals/hts_referral_form.json | 42 +++++++++++++------ 2 files changed, 60 insertions(+), 24 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json index 3b5e19c52c..a47cb3b4af 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json @@ -69,38 +69,56 @@ }, "options": [ { - "name": "frequent_fever", - "text": "Homa za mara kwa mara", + "name": "high_risk_client", + "text": "Mteja mwenye hatari kubwa (High Risk client)", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "frequent_fever", + "openmrs_entity_id": "high_risk_client", "openmrs_entity_parent": "" } }, { - "name": "weight_loss", - "text": "Kupoteza uzito", + "name": "optimistic_infections", + "text": "Magonjwa nyemelezi (Optimistic infections)", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "weight_loss", + "openmrs_entity_id": "optimistic_infections", "openmrs_entity_parent": "" } }, { - "name": "living_with_a_spouse_with_hiv", - "text": "Anaishi na mwenza mwenye VVU", + "name": "confirmation_self_test", + "text": "Kipimo binfasi cha uthibitisho (Confirmation for self test)", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "living_with_a_spouse_with_hiv", + "openmrs_entity_id": "confirmation_self_test", + "openmrs_entity_parent": "" + } + }, + { + "name": "index_contact_testing", + "text": "Upimaji wa washirika wa ngono/wakujidunga (Index contact testing)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "index_contact_testing", "openmrs_entity_parent": "" } }, { - "name": "living_in_a_risky_area", - "text": "Maeneo hatarishi kwa maambukizi ya VVU", + "name": "weight_loss", + "text": "Kupoteza uzito (Weight loss)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "weight_loss", + "openmrs_entity_parent": "" + } + }, + { + "name": "living_with_a_spouse_with_hiv", + "text": "Anaishi na mwenza mwenye VVU (Living with HIV+ spouse)", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "living_in_a_risky_area", + "openmrs_entity_id": "living_with_a_spouse_with_hiv", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json index 8e0d60dbd3..ffc57c309d 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json @@ -69,38 +69,56 @@ }, "options": [ { - "name": "frequent_fever", - "text": "Frequent fever", + "name": "high_risk_client", + "text": "High Risk client", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "frequent_fever", + "openmrs_entity_id": "high_risk_client", "openmrs_entity_parent": "" } }, { - "name": "weight_loss", - "text": "Weight loss", + "name": "optimistic_infections", + "text": "Optimistic infections", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "weight_loss", + "openmrs_entity_id": "optimistic_infections", "openmrs_entity_parent": "" } }, { - "name": "living_with_a_spouse_with_hiv", - "text": "Living with HIV+ spouse", + "name": "confirmation_self_test", + "text": "Confirmation for self test", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "living_with_a_spouse_with_hiv", + "openmrs_entity_id": "confirmation_self_test", + "openmrs_entity_parent": "" + } + }, + { + "name": "index_contact_testing", + "text": "Index contact testing", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "index_contact_testing", "openmrs_entity_parent": "" } }, { - "name": "living_in_a_risky_area", - "text": "Risk area/location", + "name": "weight_loss", + "text": "Weight loss", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "weight_loss", + "openmrs_entity_parent": "" + } + }, + { + "name": "living_with_a_spouse_with_hiv", + "text": "Living with HIV+ spouse", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "living_in_a_risky_area", + "openmrs_entity_id": "living_with_a_spouse_with_hiv", "openmrs_entity_parent": "" } }, From 1113179da7ec01ef3371ff1e7453f10d267292e2 Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 27 May 2022 16:14:17 +0300 Subject: [PATCH 451/915] Refactor: referral forms --- .../nacp/assets/json.form-sw/referrals/anc_referral_form.json | 4 ++-- .../json.form-sw/referrals/child_gbv_referral_form.json | 4 ++-- .../assets/json.form-sw/referrals/child_referral_form.json | 2 +- .../nacp/assets/json.form-sw/referrals/gbv_referral_form.json | 4 ++-- .../nacp/assets/json.form-sw/referrals/hiv_referral_form.json | 4 ++-- .../nacp/assets/json.form-sw/referrals/hts_referral_form.json | 4 ++-- .../assets/json.form-sw/referrals/pmtct_referral_form.json | 4 ++-- .../nacp/assets/json.form-sw/referrals/pnc_referral_form.json | 2 +- .../referrals/pregnancy_confirmation_referral_form.json | 4 ++-- .../nacp/assets/json.form/referrals/anc_referral_form.json | 4 ++-- .../assets/json.form/referrals/child_gbv_referral_form.json | 4 ++-- .../nacp/assets/json.form/referrals/child_referral_form.json | 2 +- .../nacp/assets/json.form/referrals/gbv_referral_form.json | 4 ++-- .../nacp/assets/json.form/referrals/hiv_referral_form.json | 4 ++-- .../nacp/assets/json.form/referrals/hts_referral_form.json | 4 ++-- .../nacp/assets/json.form/referrals/pmtct_referral_form.json | 4 ++-- .../nacp/assets/json.form/referrals/pnc_referral_form.json | 2 +- .../referrals/pregnancy_confirmation_referral_form.json | 4 ++-- opensrp-chw/src/nacp/assets/rule/gbv_referral_form_rules.yml | 2 +- .../src/nacp/assets/rule/general_neat_referral_form_rules.yml | 2 +- .../rule/pregnancy_confirmation_referral_form_rules.yml | 2 +- 21 files changed, 35 insertions(+), 35 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/anc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/anc_referral_form.json index 56ac2d29ce..170a79c0a7 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/anc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/anc_referral_form.json @@ -285,11 +285,11 @@ } }, { - "name": "Other_symptoms", + "name": "other_reasons", "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptoms", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_gbv_referral_form.json index 4672a6f02f..9ba2c0e602 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_gbv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_gbv_referral_form.json @@ -141,11 +141,11 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptom", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_referral_form.json index f069904035..ebdfa5669d 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/child_referral_form.json @@ -258,7 +258,7 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json index 4d87d8adca..137a81e3a2 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json @@ -121,11 +121,11 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptom", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json index 978c7ae358..db8f2d9bc1 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json @@ -87,11 +87,11 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptom", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json index a47cb3b4af..812a7b97bd 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json @@ -123,11 +123,11 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptom", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json index 43ae5e44db..fbfa0215d8 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pmtct_referral_form.json @@ -105,11 +105,11 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptom", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json index 180f697e86..e3eb24b694 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pnc_referral_form.json @@ -393,7 +393,7 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json index 59b5895f66..6d9f50628b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json @@ -141,11 +141,11 @@ } }, { - "name": "other_symptoms", + "name": "other_reasons", "text": "Sababu nyingine", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "other_symptoms", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json index a69fba72cd..5a71f8da9c 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/anc_referral_form.json @@ -285,11 +285,11 @@ } }, { - "name": "Other_symptoms", + "name": "other_reasons", "text": "Other reasons", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptoms", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json index 556fee628b..9e6cd7c288 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/child_gbv_referral_form.json @@ -141,11 +141,11 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Other reasons", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptom", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json index 692125c34e..a5fbaa68c9 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/child_referral_form.json @@ -258,7 +258,7 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Other reasons", "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json index 659d48b12c..33f431b8de 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json @@ -123,11 +123,11 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Other reasons", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptom", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json index 7acef29188..a3c39eeb83 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json @@ -87,11 +87,11 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Other reasons", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptom", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json index ffc57c309d..51c760f8ff 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json @@ -123,11 +123,11 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Other reasons", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptom", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json index 1b844ab268..827140cdb7 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pmtct_referral_form.json @@ -105,11 +105,11 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Other reasons", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptom", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } } diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json index 72ba6c747a..dc400f9297 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pnc_referral_form.json @@ -393,7 +393,7 @@ } }, { - "name": "Other_symptom", + "name": "other_reasons", "text": "Other reasons", "meta_data": { "openmrs_entity": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json index cfc6331c32..2ff647df8b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/pregnancy_confirmation_referral_form.json @@ -141,11 +141,11 @@ } }, { - "name": "other_symptoms", + "name": "other_reasons", "text": "Other reasons", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "other_symptoms", + "openmrs_entity_id": "other_reasons", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/nacp/assets/rule/gbv_referral_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/gbv_referral_form_rules.yml index 9b8eb6ab0f..dadce2583b 100644 --- a/opensrp-chw/src/nacp/assets/rule/gbv_referral_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/gbv_referral_form_rules.yml @@ -2,6 +2,6 @@ name: "problem_other_visibility" description: "Specify other symptoms" priority: 1 -condition: "problem['Other_symptom'] != null || problem['Other_symptoms'] != null" +condition: "problem['other_reasons'] != null" actions: - "problem_other_visibility = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/general_neat_referral_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/general_neat_referral_form_rules.yml index 08f88d91cc..9ac4fa1485 100644 --- a/opensrp-chw/src/nacp/assets/rule/general_neat_referral_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/general_neat_referral_form_rules.yml @@ -2,7 +2,7 @@ name: "problem_other_visibility" description: "Specify other symptoms" priority: 1 -condition: "problem['Other_symptom'] != null || problem['Other_symptoms'] != null" +condition: "problem['other_reasons'] != null" actions: - "problem_other_visibility = true" --- diff --git a/opensrp-chw/src/nacp/assets/rule/pregnancy_confirmation_referral_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/pregnancy_confirmation_referral_form_rules.yml index cf2480e5f3..3deb889313 100644 --- a/opensrp-chw/src/nacp/assets/rule/pregnancy_confirmation_referral_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/pregnancy_confirmation_referral_form_rules.yml @@ -2,7 +2,7 @@ name: "problem_other_visibility" description: "Specify other symptoms" priority: 1 -condition: "problem['other_symptom'] != null || problem['other_symptoms'] != null" +condition: "problem['other_reasons'] != null" actions: - "problem_other_visibility = true" --- From 4805d7a39d0e0321fc91554927cdefb9f3fd7fba Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Fri, 27 May 2022 16:28:58 +0300 Subject: [PATCH 452/915] Refactor: options in GBV referral form --- .../referrals/gbv_referral_form.json | 24 +++++++++++++++++-- .../referrals/gbv_referral_form.json | 18 ++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json index 137a81e3a2..d0c76a7a70 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/gbv_referral_form.json @@ -68,6 +68,24 @@ "openmrs_entity_parent": "" }, "options": [ + { + "name": "rape", + "text": "Ubakaji (Rape)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "rape", + "openmrs_entity_parent": "" + } + }, + { + "name": "physical_abuse", + "text": "Unyanyasaji wa kimwili (Physical abuse)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "physical_abuse", + "openmrs_entity_parent": "" + } + }, { "name": "has_moved_out_from_home", "text": "Amehama nyumbani", @@ -103,7 +121,8 @@ "openmrs_entity_id": "needs_more_services", "openmrs_entity_parent": "" } - },{ + }, + { "name": "has_great_level_of_stress_and_fear", "text": "Sonona (msongo wa mawazo)/ kuwa na woga mkuu", "meta_data": { @@ -111,7 +130,8 @@ "openmrs_entity_id": "has_great_level_of_stress_and_fear", "openmrs_entity_parent": "" } - },{ + }, + { "name": "threatened_to_be_killed", "text": "Kutishiwa kuuawa", "meta_data": { diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json index 33f431b8de..7274a86fb4 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/gbv_referral_form.json @@ -68,6 +68,24 @@ "openmrs_entity_id": "problem" }, "options": [ + { + "name": "rape", + "text": "Rape", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "rape", + "openmrs_entity_parent": "" + } + }, + { + "name": "physical_abuse", + "text": "Physical abuse", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "physical_abuse", + "openmrs_entity_parent": "" + } + }, { "name": "has_moved_out_from_home", "text": "Has moved out from home", From 45e78cbdfea3b0aef1d05a001ad80f9bcd12297f Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 30 May 2022 10:20:09 +0300 Subject: [PATCH 453/915] Updated referral reasons in hiv referral form --- .../referrals/hiv_referral_form.json | 51 +++++++++++++++++-- .../referrals/hiv_referral_form.json | 51 +++++++++++++++++-- 2 files changed, 96 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json index db8f2d9bc1..2e91758af9 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hiv_referral_form.json @@ -69,11 +69,29 @@ }, "options": [ { - "name": "pain", - "text": "Maumivu", + "name": "fever", + "text": "Homa", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "pain", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "jaundice", + "text": "Manjano", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "jaundice", + "openmrs_entity_parent": "" + } + }, + { + "name": "headache", + "text": "Kichwa kuuma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "headache", "openmrs_entity_parent": "" } }, @@ -86,6 +104,33 @@ "openmrs_entity_parent": "" } }, + { + "name": "altered_mental_status", + "text": "Kuchanganyikiwa/kutokuwa sawa kiakili", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "altered_mental_status", + "openmrs_entity_parent": "" + } + }, + { + "name": "convulsion", + "text": "Degedege", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "convulsion", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_consciousness", + "text": "Kupoteza fahamu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_consciousness", + "openmrs_entity_parent": "" + } + }, { "name": "other_reasons", "text": "Sababu nyingine", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json index a3c39eeb83..703d67e3d7 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hiv_referral_form.json @@ -69,11 +69,29 @@ }, "options": [ { - "name": "pain", - "text": "Pain", + "name": "fever", + "text": "Fever", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "pain", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "jaundice", + "text": "Jaundice", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "jaundice", + "openmrs_entity_parent": "" + } + }, + { + "name": "headache", + "text": "Headache", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "headache", "openmrs_entity_parent": "" } }, @@ -86,6 +104,33 @@ "openmrs_entity_parent": "" } }, + { + "name": "altered_mental_status", + "text": "Altered Mental Status", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "altered_mental_status", + "openmrs_entity_parent": "" + } + }, + { + "name": "convulsion", + "text": "Convulsion", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "convulsion", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_consciousness", + "text": "Loss of Consciousness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_consciousness", + "openmrs_entity_parent": "" + } + }, { "name": "other_reasons", "text": "Other reasons", From 49ee5c380f3fc0451b3c42671bdf31d8cb755dbb Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 30 May 2022 13:35:08 +0300 Subject: [PATCH 454/915] fix: cbhs forms loading a single form for followups --- .../chw/activity/HivProfileActivity.java | 34 +- .../org/smartregister/chw/util/Constants.java | 8 + .../json.form-sw/cbhs_followup_form.json | 1171 +++++++++++++++++ .../assets/json.form/cbhs_followup_form.json | 1171 +++++++++++++++++ ...rules.yml => cbhs_followup_form_rules.yml} | 7 + 5 files changed, 2379 insertions(+), 12 deletions(-) create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json rename opensrp-chw/src/nacp/assets/rule/{hiv_followup_form_rules.yml => cbhs_followup_form_rules.yml} (95%) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index c444d1ae5d..ffcf547473 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -93,19 +93,13 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity HivMemberObject hivMemberObject = HivDao.getMember(baseEntityID); JSONObject formJsonObject; + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.CBHSJsonForms.getCbhsFollowupForm()); - if (hivMemberObject.getCtcNumber().isEmpty()) { - if (hivMemberObject.getGender().equalsIgnoreCase("Female")) { - formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getFemaleHivFollowupVisit()); - } else { - formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getMaleHivFollowupVisit()); - } - } else { - if (hivMemberObject.getGender().equalsIgnoreCase("Female")) { - formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.JSON_FORM.getFemaleHivFollowupVisitForClientsWithCtcNumbers()); - } else { - formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getMaleHivFollowupVisitForClientsWithCtcNumbers()); - } + if (!hivMemberObject.getCtcNumber().isEmpty()) { + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + removeField(fields, "client_hiv_status_after_testing"); } intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, initializeHealthFacilitiesList(formJsonObject).toString()); @@ -115,6 +109,22 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity activity.startActivityForResult(intent, CoreConstants.ProfileActivityResults.CHANGE_COMPLETED); } + private static void removeField(JSONArray fields, String fieldName) throws JSONException { + int position = 0; + boolean found = false; + for (int i = 0; i < fields.length(); i++) { + JSONObject field = fields.getJSONObject(i); + if (field.getString("name").equalsIgnoreCase(fieldName)) { + position = i; + found = true; + break; + } + } + if (found) { + fields.remove(position); + } + } + public static void startHivCommunityFollowupFeedbackActivity(Activity activity, String baseEntityID) throws JSONException { Intent intent = new Intent(activity, BaseHivFormsActivity.class); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index d881b436a0..69598cdc2e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -77,6 +77,14 @@ public interface PartnerRegistrationConstants { String ReferralFormId = "referral_form_id"; } + public static class CBHSJsonForms { + private static final String CBHS_FOLLOWUP_FORM = "cbhs_followup_form"; + + public static String getCbhsFollowupForm() { + return CBHS_FOLLOWUP_FORM; + } + } + public static final class JsonForm{ private static final String PARTNER_REGISTRATION_FORM = "male_partner_registration_form"; private static final String PMTCT_COMMUNITY_FOLLOWUP_FEEDBACK = "pmtct_community_followup_feedback"; diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json new file mode 100644 index 0000000000..90b71ec62b --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json @@ -0,0 +1,1171 @@ +{ + "form": "CBHS Follow-up form", + "count": "1", + "encounter_type": "CBHS Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/cbhs_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya kumtembelea mgonjwa wa VVU", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Hali ya ufuatiliaji" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "Mpya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Anaendelea na Huduma.", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hapatikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Amehamishiwa mahali pengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Amehama", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Amejitoa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Anaendelea na huduma kutoka sehemu nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services", + "text": "Amemaliza huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua hali ya ufwatiliaji", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_hiv_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizi ya VVU baada ya kipimo" + }, + "options": [ + { + "name": "na", + "text": "Haitambuliki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "unknown", + "text": "Haijulikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Chanya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hasi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua moja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_tb_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizi ya Kifua Kikuu baada ya kipimo" + }, + "options": [ + { + "name": "na", + "text": "Haitambuliki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "unknown", + "text": "Haijulikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Chanya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hasi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua moja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "Namba ya CTC mfano: 12-34-5678-912345", + "type": "Namba ya CTC mfano: 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "input_type": "number", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." + } + ], + "required_status": "yes:Tafadhali jaza namba ya CTC", + "subjects": "client_hiv_status_after_testing:text" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Matatizo ya kijamii/kitabibu ya Mteja" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "general_body_malaise", + "text": "General Body Malaise", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "general_body_malaise", + "openmrs_entity_parent": "" + } + }, + { + "name": "chest_pain", + "text": "Chest Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chest_pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "skin_infection", + "text": "Skin Infection", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "skin_infection", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_appetite", + "text": "Loss of Appetite", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_appetite", + "openmrs_entity_parent": "" + } + }, + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "jaundice", + "text": "Jaundice", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "jaundice", + "openmrs_entity_parent": "" + } + }, + { + "name": "headache", + "text": "Headache", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "headache", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "Coughing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "altered_mental_status", + "text": "Altered Mental Status", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "altered_mental_status", + "openmrs_entity_parent": "" + } + }, + { + "name": "convulsion", + "text": "Convulsion", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "convulsion", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_consciousness", + "text": "Loss of Consciousness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_consciousness", + "openmrs_entity_parent": "" + } + }, + { + "name": "drugs_side_effects", + "text": "Drugs Side Effects", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drugs_side_effects", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Matatizo mengine ya kitabibu ya Mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Tafadhali jaza matatizo mengine", + "subjects": "health_problem:map" + }, + { + "name": "prompt_for_health_challenges", + "type": "toast_notification", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prompt_for_health_challenges", + "openmrs_entity_parent": "health_problem" + }, + "properties": { + "notification_type": "error", + "dismissible": "no", + "text": "Refer to health facility for further management" + }, + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Psychosocial challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "stigma_and_discriminations", + "text": "Stigma and Discriminations", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "stigma_and_discriminations", + "openmrs_entity_parent": "" + } + }, + { + "name": "food_insecurity", + "text": "Food insecurity", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "food_insecurity", + "openmrs_entity_parent": "" + } + }, + { + "name": "lack_disclosure", + "text": "Lack disclosure", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "lack_disclosure", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Transport issues while attending CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "economic_constraints", + "text": "Economic constraints", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "economic_constraints", + "openmrs_entity_parent": "" + } + }, + { + "name": "gbv_and_vac", + "text": "GBV and VAC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gbv_and_vac", + "openmrs_entity_parent": "" + } + }, + { + "name": "hard_to_reach_areas", + "text": "Hard to reach areas", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hard_to_reach_areas", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Matatizo mengine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hana tatizo", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Psychosocial Challenges", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Please specify other psychosocial problems faced", + "subjects": "social_problem:map" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Vifaa/Commodities vilivyotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_self_test_kits", + "text": "HIV Self Testing Kits", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_self_test_kits", + "openmrs_entity_parent": "" + } + }, + { + "name": "sanitizers", + "text": "Sanitizers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sanitizers", + "openmrs_entity_parent": "" + } + }, + { + "name": "face_masks", + "text": "Face masks", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "face_masks", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Condoms", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Water disinfectants", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Vifaa vingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua kifaa/commodities vilivyotolewa", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Vifaa/Commodities vingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Tafadhali jaza vifaa/commodities vingine vilivyotolewa", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Dawa zilizotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "paracetamol", + "text": "Paracetamol", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "paracetamol", + "openmrs_entity_parent": "" + } + }, + { + "name": "ors", + "text": "ORS", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ors", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Huduma za CBHS zilizotolewa" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_education", + "text": "HIV Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "pretest_information", + "text": "Pretest Information", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pretest_information", + "openmrs_entity_parent": "" + } + }, + { + "name": "ipc", + "text": "IPC (Uzuiaji wa uambukizo katika Jamii)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ipc", + "openmrs_entity_parent": "" + } + }, + { + "name": "adherence_counselling", + "text": "Adherence Counselling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "adherence_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "gbv_vac_screening", + "text": "Screening of GBV and VAC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gbv_vac_screening", + "openmrs_entity_parent": "" + } + }, + { + "name": "tb_sti_screening", + "text": "TB and STI Screening", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_sti_screening", + "openmrs_entity_parent": "" + } + }, + { + "name": "referral_and_linkage", + "text": "Referral and Linkage", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_and_linkage", + "openmrs_entity_parent": "" + } + }, + { + "name": "self_test_information", + "text": "Information and how to use self test", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "self_test_information", + "openmrs_entity_parent": "" + } + }, + { + "name": "kvp_services", + "text": "KVP Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "kvp_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Huduma nyingine za UKIMWI katika jamii", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hamna huduma iliyotolewa", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza huduma za CBHS zilizotolewa", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Huduma nyingnie za CBHS zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Tafadhali jaza huduma nyingine za CBHS zilizotolewa", + "subjects": "hiv_services_provided:map" + }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick referrals issued to the Client for other services other than Medical Services" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizotolewa", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals to other services other than Medical Services Completed by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Huduma ya kisheria", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Msaada wa kisaikolojia kutoka kwenye makundi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Vituo vya wazee", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Rufaa nyingine", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "Hakuna", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Rufaa nyingine zilizokamilishwa na mteja", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, + { + "name": "state_of_therapy", + "type": "multi_choice_checkbox", + "properties": { + "text": "Hali ya Tiba na Matunzo (CTC)" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy" + }, + "options": [ + { + "name": "na", + "text": "Haihusiki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_but_not_began_medication", + "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_ctc_clinic", + "text": "Hajaandikishwa CTC/PMTCT", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_in_injection_drugs_users_clinic", + "text": "Registered in Injection Drugs Users Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_injection_drugs_users_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_in_tb_clinic", + "text": "Registered in TB Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_tb_clinic", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza hali ya tiba na matunzo (CTC)", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "comments_remarks", + "type": "text_input_edit_text", + "properties": { + "hint": "Comments and Remarks", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "comments_remarks", + "openmrs_entity_parent": "" + }, + "required_status": "no" + }, + { + "name": "next_appointment_date", + "type": "datetime_picker", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "next_appointment_date", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Next Appointment Date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today", + "max_date": "today+3m" + }, + "required_status": "true:Please specify the next appointment date", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Chagua alipohamia", + "searchable": "Chagua alipohamia" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali chagua sehemu alipohamia", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Andika alipohamia", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali andika alipohamia", + "subjects": "client_moved_location:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json new file mode 100644 index 0000000000..7126dc8bfc --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json @@ -0,0 +1,1171 @@ +{ + "form": "CBHS Follow-up form", + "count": "1", + "encounter_type": "CBHS Followup", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/cbhs_followup_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "CBHS Follow-up form", + "fields": [ + { + "name": "registration_or_followup_status", + "type": "spinner", + "properties": { + "text": "Followup status" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registration_or_followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "new_client", + "text": "New Client", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client", + "openmrs_entity_parent": "" + } + }, + { + "name": "continuing_with_services", + "text": "Continuing with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Deceased", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Client not found", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated_to_another_location", + "text": "Client has relocated to another location", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated_to_another_location", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved", + "text": "Client has moved ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_absconded", + "text": "Client has absconded", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_absconded", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_continues_with_clinic_from_elsewhere", + "text": "Client continues with clinic from elsewhere", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", + "openmrs_entity_parent": "" + } + }, + { + "name": "completed_and_qualified_from_the_services", + "text": "Client has completed and qualified from the services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "completed_and_qualified_from_the_services", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select the registration/followup status", + "dependent_calculations": [ + "hiv_followup_visit_date" + ] + }, + { + "name": "client_hiv_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's HIV status after testing" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's hiv status", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_tb_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's TB status after testing" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's TB status", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "CTC Number", + "type": "Clinic of Treatment and Care registration number (CTC Number)", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "input_type": "number", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Not a valid CTC Number." + } + ], + "required_status": "yes:Please specify client's CTC Number", + "subjects": "client_hiv_status_after_testing:text, registration_or_followup_status:map" + }, + { + "name": "health_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Health Challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "general_body_malaise", + "text": "General Body Malaise", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "general_body_malaise", + "openmrs_entity_parent": "" + } + }, + { + "name": "chest_pain", + "text": "Chest Pain", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chest_pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "skin_infection", + "text": "Skin Infection", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "skin_infection", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_appetite", + "text": "Loss of Appetite", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_appetite", + "openmrs_entity_parent": "" + } + }, + { + "name": "malnutrition", + "text": "Malnutrition", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "malnutrition", + "openmrs_entity_parent": "" + } + }, + { + "name": "fever", + "text": "Fever", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "jaundice", + "text": "Jaundice", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "jaundice", + "openmrs_entity_parent": "" + } + }, + { + "name": "headache", + "text": "Headache", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "headache", + "openmrs_entity_parent": "" + } + }, + { + "name": "coughing", + "text": "Coughing", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "coughing", + "openmrs_entity_parent": "" + } + }, + { + "name": "altered_mental_status", + "text": "Altered Mental Status", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "altered_mental_status", + "openmrs_entity_parent": "" + } + }, + { + "name": "convulsion", + "text": "Convulsion", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "convulsion", + "openmrs_entity_parent": "" + } + }, + { + "name": "loss_of_consciousness", + "text": "Loss of Consciousness", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "loss_of_consciousness", + "openmrs_entity_parent": "" + } + }, + { + "name": "drugs_side_effects", + "text": "Drugs Side Effects", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drugs_side_effects", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_health_problems", + "text": "Other Health Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_health_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "health_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Health Problems", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "health_problem_other", + "openmrs_entity_parent": "health_problem" + }, + "required_status": "true:Please specify other health problems", + "subjects": "health_problem:map" + }, + { + "name": "prompt_for_health_challenges", + "type": "toast_notification", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prompt_for_health_challenges", + "openmrs_entity_parent": "health_problem" + }, + "properties": { + "notification_type": "error", + "dismissible": "no", + "text": "Refer to health facility for further management" + }, + "subjects": "health_problem:map" + }, + { + "name": "social_problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Psychosocial challenges faced by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem" + }, + "options": [ + { + "name": "stigma_and_discriminations", + "text": "Stigma and Discriminations", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "stigma_and_discriminations", + "openmrs_entity_parent": "" + } + }, + { + "name": "food_insecurity", + "text": "Food insecurity", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "food_insecurity", + "openmrs_entity_parent": "" + } + }, + { + "name": "lack_disclosure", + "text": "Lack disclosure", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "lack_disclosure", + "openmrs_entity_parent": "" + } + }, + { + "name": "transport_issues_for_attending_ctc", + "text": "Transport issues while attending CTC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "transport_issues_for_attending_ctc", + "openmrs_entity_parent": "" + } + }, + { + "name": "economic_constraints", + "text": "Economic constraints", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "economic_constraints", + "openmrs_entity_parent": "" + } + }, + { + "name": "gbv_and_vac", + "text": "GBV and VAC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gbv_and_vac", + "openmrs_entity_parent": "" + } + }, + { + "name": "hard_to_reach_areas", + "text": "Hard to reach areas", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hard_to_reach_areas", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_social_problems", + "text": "Other Social Challenges", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_social_problems", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify client's problems", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "social_problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Psychosocial Challenges", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "social_problem_other", + "openmrs_entity_parent": "social_problem" + }, + "required_status": "true:Please specify other psychosocial problems faced", + "subjects": "social_problem:map" + }, + { + "name": "supplies_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Supplies/Commodities provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_self_test_kits", + "text": "HIV Self Testing Kits", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_self_test_kits", + "openmrs_entity_parent": "" + } + }, + { + "name": "sanitizers", + "text": "Sanitizers", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sanitizers", + "openmrs_entity_parent": "" + } + }, + { + "name": "face_masks", + "text": "Face masks", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "face_masks", + "openmrs_entity_parent": "" + } + }, + { + "name": "condoms", + "text": "Condoms", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms", + "openmrs_entity_parent": "" + } + }, + { + "name": "water_disinfectant", + "text": "Water disinfectants", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "water_disinfectant", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_supplies", + "text": "Other supplies", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_supplies", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose supplies/commodities given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "supplies_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Supplies/Commodities", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "supplies_provided_other", + "openmrs_entity_parent": "supplies_provided" + }, + "required_status": "true:Please specify other supplies/commodities given", + "subjects": "supplies_provided:map" + }, + { + "name": "medicine_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "Medicines provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "medicine_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "paracetamol", + "text": "Paracetamol", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "paracetamol", + "openmrs_entity_parent": "" + } + }, + { + "name": "ors", + "text": "ORS", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ors", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please choose medicine given", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided", + "type": "multi_choice_checkbox", + "properties": { + "text": "CBHS services provided" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_education", + "text": "HIV Education", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_education", + "openmrs_entity_parent": "" + } + }, + { + "name": "pretest_information", + "text": "Pretest Information", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pretest_information", + "openmrs_entity_parent": "" + } + }, + { + "name": "ipc", + "text": "IPC (Uzuiaji wa uambukizo katika Jamii)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ipc", + "openmrs_entity_parent": "" + } + }, + { + "name": "adherence_counselling", + "text": "Adherence Counselling", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "adherence_counselling", + "openmrs_entity_parent": "" + } + }, + { + "name": "gbv_vac_screening", + "text": "Screening of GBV and VAC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gbv_vac_screening", + "openmrs_entity_parent": "" + } + }, + { + "name": "tb_sti_screening", + "text": "TB and STI Screening", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_sti_screening", + "openmrs_entity_parent": "" + } + }, + { + "name": "referral_and_linkage", + "text": "Referral and Linkage", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_and_linkage", + "openmrs_entity_parent": "" + } + }, + { + "name": "self_test_information", + "text": "Information and how to use self test", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "self_test_information", + "openmrs_entity_parent": "" + } + }, + { + "name": "kvp_services", + "text": "KVP Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "kvp_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_hiv_services", + "text": "Other CBHS services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_hiv_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please fill the CBHS services provided", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "hiv_services_provided_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other CBHS Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_services_provided_other", + "openmrs_entity_parent": "hiv_services_provided" + }, + "required_status": "true:Please specify other CBHS services provided", + "subjects": "hiv_services_provided:map" + }, + { + "name": "referrals_issued_to_other_services", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick referrals issued to the Client for other services other than Medical Services" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": "OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals issued", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_issued_to_other_services_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referral Services Provided", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_issued_to_other_services_other", + "openmrs_entity_parent": "referrals_issued_to_other_services" + }, + "required_status": "true:Please specify other Referrals Issued", + "subjects": "referrals_issued_to_other_services:map" + }, + { + "name": "referrals_to_other_services_completed", + "type": "multi_choice_checkbox", + "properties": { + "text": "Pick Referrals to other services other than Medical Services Completed by the Client." + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed" + }, + "options": [ + { + "name": "legal_services", + "text": "Legal Services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "support_groups", + "text": "Psycho Social Support groups", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "support_groups", + "openmrs_entity_parent": "" + } + }, + { + "name": "ovc_services", + "text": " OVC services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ovc_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "elderly_centers", + "text": "Elderly Centers ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "elderly_centers", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_referrals", + "text": "Other Referrals", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals", + "openmrs_entity_parent": "" + } + }, + { + "name": "none", + "text": "None", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "none", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the referrals completed", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "referrals_to_other_services_completed_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other Referrals Completed", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_to_other_services_completed_other", + "openmrs_entity_parent": "referrals_to_other_services_completed" + }, + "required_status": "true:Please specify other Referrals Completed", + "subjects": "referrals_to_other_services_completed:map" + }, + { + "name": "state_of_therapy", + "type": "multi_choice_checkbox", + "properties": { + "text": "State of HIV Care and treatment" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_therapy" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_but_not_began_medication", + "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_but_not_began_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_and_uses_medication", + "text": "Registered in CTC/PMTCT clinic and uses ARV medication", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_and_uses_medication", + "openmrs_entity_parent": "" + } + }, + { + "name": "not_registered_in_ctc_clinic", + "text": "Client is not registered in CTC/PMTCT clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "not_registered_in_ctc_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_in_injection_drugs_users_clinic", + "text": "Registered in Injection Drugs Users Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_injection_drugs_users_clinic", + "openmrs_entity_parent": "" + } + }, + { + "name": "registered_in_tb_clinic", + "text": "Registered in TB Clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "registered_in_tb_clinic", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify the state of HIV therapy", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "comments_remarks", + "type": "text_input_edit_text", + "properties": { + "hint": "Comments and Remarks", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "comments_remarks", + "openmrs_entity_parent": "" + }, + "required_status": "no" + }, + { + "name": "next_appointment_date", + "type": "datetime_picker", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "next_appointment_date", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Next Appointment Date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today", + "max_date": "today+3m" + }, + "required_status": "true:Please specify the next appointment date", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location", + "type": "spinner", + "properties": { + "text": "Choose Moved To Facility", + "searchable": "Choose moved to facility" + }, + "options": [ + { + "name": "Other", + "text": "Other", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "Other", + "openmrs_entity_parent": "" + } + } + ], + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please select the moved to facility", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_moved_location_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Enter the other location", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_moved_location", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please enter the moved to facility", + "subjects": "client_moved_location:text" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml similarity index 95% rename from opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml rename to opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml index 17f9b75205..ce57ad67d6 100644 --- a/opensrp-chw/src/nacp/assets/rule/hiv_followup_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml @@ -13,6 +13,13 @@ condition: "registration_or_followup_status.value=='New Client' || registration_ actions: - "client_hiv_status_after_testing_visibility = true" --- +name: "client_tb_status_after_testing_visibility" +description: "client_hiv_status_after_testing visibility" +priority: 1 +condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +actions: + - "client_tb_status_after_testing_visibility = true" +--- name: "ctc_number_visibility" description: "ctc_number visibility" priority: 1 From b128b902f596c66323d5937e4515ec55d5a495a6 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 30 May 2022 14:00:14 +0300 Subject: [PATCH 455/915] fix: cbhs tb status after testing showing if status after testing is unknown --- .../chw/activity/HivProfileActivity.java | 8 ++++++++ .../org/smartregister/chw/dao/ChwCBHSDao.java | 18 ++++++++++++++++++ .../src/nacp/assets/ec_client_fields.json | 8 ++++++++ 3 files changed, 34 insertions(+) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index ffcf547473..d93fba2fcf 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -33,6 +33,7 @@ import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.custom_view.HivFloatingMenu; +import org.smartregister.chw.dao.ChwCBHSDao; import org.smartregister.chw.hiv.activity.BaseHivFormsActivity; import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.domain.HivMemberObject; @@ -102,6 +103,13 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity removeField(fields, "client_hiv_status_after_testing"); } + if(ChwCBHSDao.tbStatusAfterTestingDone(baseEntityID)){ + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + removeField(fields, "client_tb_status_after_testing"); + } + intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, initializeHealthFacilitiesList(formJsonObject).toString()); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java new file mode 100644 index 0000000000..e140f866c0 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java @@ -0,0 +1,18 @@ +package org.smartregister.chw.dao; + +import org.smartregister.dao.AbstractDao; + +import java.util.List; + +public class ChwCBHSDao extends AbstractDao { + public static boolean tbStatusAfterTestingDone(String baseEntityID) { + String sql = "Select client_tb_status_after_testing from ec_cbhs_register where base_entity_id = '" + baseEntityID + "'"; + + DataMap dataMap = cursor -> getCursorValue(cursor, "client_tb_status_after_testing"); + List res = readData(sql, dataMap); + + if (res != null && res.size() > 0 && res.get(0) != null) + return !res.get(0).equalsIgnoreCase("unknown"); + return false; + } +} diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index acaf591570..3a1aa27913 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -2803,6 +2803,14 @@ "concept": "test_results" } }, + { + "column_name": "client_tb_status_after_testing", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "client_tb_status_after_testing" + } + }, { "column_name": "hiv_registration_date", "type": "Event", From ca013bf10a2439bb6a6edea969f1d5369ff605a7 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 30 May 2022 15:16:03 +0300 Subject: [PATCH 456/915] fix: add tracking for next followup visit --- opensrp-chw/src/nacp/assets/ec_client_fields.json | 8 ++++++++ .../src/nacp/assets/json.form/cbhs_followup_form.json | 3 +-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 3a1aa27913..e3ead5769c 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -2811,6 +2811,14 @@ "concept": "client_tb_status_after_testing" } }, + { + "column_name": "next_appointment_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "next_appointment_date" + } + }, { "column_name": "hiv_registration_date", "type": "Event", diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json index 7126dc8bfc..32c81a77ff 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json @@ -1121,8 +1121,7 @@ "min_date": "today", "max_date": "today+3m" }, - "required_status": "true:Please specify the next appointment date", - "subjects": "registration_or_followup_status:text" + "required_status": "true:Please specify the next appointment date" }, { "name": "client_moved_location", From 40eb92a989f0ae49fddf58a9106a41624158a55e Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 30 May 2022 15:16:52 +0300 Subject: [PATCH 457/915] add: query for next visit --- .../org/smartregister/chw/dao/ChwCBHSDao.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java index e140f866c0..4547fea7e9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java @@ -2,7 +2,15 @@ import org.smartregister.dao.AbstractDao; +import java.math.BigDecimal; +import java.sql.Date; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; import java.util.List; +import java.util.Locale; + +import timber.log.Timber; public class ChwCBHSDao extends AbstractDao { public static boolean tbStatusAfterTestingDone(String baseEntityID) { @@ -15,4 +23,28 @@ public static boolean tbStatusAfterTestingDone(String baseEntityID) { return !res.get(0).equalsIgnoreCase("unknown"); return false; } + + public static Date getNextVisitDate(String baseEntityId){ + String sql = "Select next_appointment_date from ec_cbhs_register where base_entity_id = '" + baseEntityId + "'"; + + DataMap dataMap = cursor -> getCursorValue(cursor, "next_appointment_date"); + List res = readData(sql, dataMap); + + if (res != null && res.size() > 0 && res.get(0) != null){ + Calendar cal = Calendar.getInstance(); + try{ + cal.setTimeInMillis(new BigDecimal(res.get(0)).longValue()); + }catch (Exception e){ + //NEEDED FOR THE ISSUE IN SOME TABLETS FAILING TO CREATE A TIMESTAMP + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); + try { + cal.setTime(sdf.parse(res.get(0))); + } catch (ParseException parseException) { + Timber.e(parseException); + } + } + return new Date(cal.getTimeInMillis()); + } + return null; + } } From 976f6dff7b3a283538186f12dd3735a2dc95c781 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 30 May 2022 15:18:23 +0300 Subject: [PATCH 458/915] added: chbsFollowupRules --- .../chw/rule/CbhsFollowupRule.java | 95 +++++++++++++++++++ .../chw/util/ChwHomeVisitUtil.java | 17 ++++ 2 files changed, 112 insertions(+) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/rule/CbhsFollowupRule.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/util/ChwHomeVisitUtil.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/rule/CbhsFollowupRule.java b/opensrp-chw/src/main/java/org/smartregister/chw/rule/CbhsFollowupRule.java new file mode 100644 index 0000000000..5f26cc6179 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/rule/CbhsFollowupRule.java @@ -0,0 +1,95 @@ +package org.smartregister.chw.rule; + +import org.joda.time.DateTime; +import org.joda.time.Days; +import org.joda.time.LocalDate; +import org.smartregister.chw.core.rule.HivFollowupRule; +import org.smartregister.chw.core.rule.ICommonRule; +import org.smartregister.chw.core.utils.CoreConstants; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; + +public class CbhsFollowupRule extends HivFollowupRule { + public static final String RULE_KEY = "hivFollowupRule"; + private String visitID; + private DateTime hivDate; + private DateTime dueDate; + private DateTime overDueDate; + private DateTime nextVisitDate; + private DateTime expiryDate; + private int daysDifference; + + public CbhsFollowupRule(Date hivDate, Date nextVisitDate) { + super(hivDate, nextVisitDate); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); + this.hivDate = hivDate != null ? new DateTime(sdf.format(hivDate)) : null; + this.nextVisitDate = nextVisitDate == null ? null : new DateTime(nextVisitDate); + isValid(); + } + + public String getVisitID() { + return visitID; + } + + public void setVisitID(String visitID) { + this.visitID = visitID; + } + + public int getDaysDifference() { + return daysDifference; + } + + public boolean isValid() { + if (nextVisitDate != null) { + this.dueDate = nextVisitDate.plusDays(0); + this.overDueDate = nextVisitDate.plusDays(28); + this.expiryDate = nextVisitDate.plusDays(365); + } else { + this.dueDate = hivDate.plusDays(28); + this.overDueDate = hivDate.plusDays(35); + this.expiryDate = hivDate.plusDays(365); + } + + daysDifference = Days.daysBetween(new DateTime(), new DateTime(dueDate)).getDays(); + return true; + } + + public Date getDueDate() { + return dueDate != null ? dueDate.toDate() : null; + } + + public Date getOverDueDate() { + return overDueDate != null ? overDueDate.toDate() : null; + } + + public Date getExpiryDate() { + return expiryDate != null ? expiryDate.toDate() : null; + } + + @Override + public String getRuleKey() { + return "hivFollowupRule"; + } + + @Override + public String getButtonStatus() { + DateTime currentDate = new DateTime(new LocalDate().toDate()); + DateTime lastVisit = nextVisitDate; + + if (currentDate.isBefore(expiryDate)) { + if ((currentDate.isAfter(overDueDate) || currentDate.isEqual(overDueDate))) + return CoreConstants.VISIT_STATE.OVERDUE; + if ((currentDate.isAfter(dueDate) || currentDate.isEqual(dueDate)) && currentDate.isBefore(overDueDate)) + return CoreConstants.VISIT_STATE.DUE; + if (lastVisit != null && currentDate.isEqual(lastVisit)) + return CoreConstants.VISIT_STATE.VISIT_DONE; + return CoreConstants.VISIT_STATE.NOT_DUE_YET; + + } + return CoreConstants.VISIT_STATE.EXPIRED; + } + + +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwHomeVisitUtil.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwHomeVisitUtil.java new file mode 100644 index 0000000000..09a34c465e --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwHomeVisitUtil.java @@ -0,0 +1,17 @@ +package org.smartregister.chw.util; + +import org.smartregister.chw.core.application.CoreChwApplication; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.HomeVisitUtil; +import org.smartregister.chw.rule.CbhsFollowupRule; + +import java.util.Date; + +public class ChwHomeVisitUtil extends HomeVisitUtil { + + public static CbhsFollowupRule getCBHSVisitStatus(Date lastVisitDate, Date hivDate) { + CbhsFollowupRule cbhsFollowupRule = new CbhsFollowupRule(hivDate, lastVisitDate); + CoreChwApplication.getInstance().getRulesEngineHelper().getHivRule(cbhsFollowupRule, CoreConstants.RULE_FILE.HIV_FOLLOW_UP_VISIT); + return cbhsFollowupRule; + } +} From 1315e1c8100630cb4c45600d73d06e2249927fde Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 30 May 2022 15:19:09 +0300 Subject: [PATCH 459/915] fix: services to use the new implementation of getting next visit --- opensrp-chw/src/main/AndroidManifest.xml | 4 ++++ .../activity/CbhsUpcomingServiceActivity.java | 23 +++++++++++++++++++ .../chw/activity/HivProfileActivity.java | 2 +- .../CbhsUpcomingServicesInteractor.java | 17 +++++--------- .../chw/task/HivVisitScheduler.java | 17 +++++++------- 5 files changed, 42 insertions(+), 21 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/CbhsUpcomingServiceActivity.java diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index f451efeb1a..36a6a46e0b 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -291,6 +291,10 @@ android:name=".core.activity.CoreHivUpcomingServicesActivity" android:label="@string/upcoming_services" android:theme="@style/ChwTheme.NoActionBar" /> + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/CbhsUpcomingServiceActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CbhsUpcomingServiceActivity.java new file mode 100644 index 0000000000..4ed39193b8 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CbhsUpcomingServiceActivity.java @@ -0,0 +1,23 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Intent; + +import org.smartregister.chw.anc.domain.MemberObject; +import org.smartregister.chw.anc.presenter.BaseAncUpcomingServicesPresenter; +import org.smartregister.chw.anc.util.Constants; +import org.smartregister.chw.core.activity.CoreHivUpcomingServicesActivity; +import org.smartregister.chw.interactor.CbhsUpcomingServicesInteractor; + +public class CbhsUpcomingServiceActivity extends CoreHivUpcomingServicesActivity { + public static void startMe(Activity activity, MemberObject memberObject) { + Intent intent = new Intent(activity, CbhsUpcomingServiceActivity.class); + intent.putExtra(Constants.ANC_MEMBER_OBJECTS.MEMBER_PROFILE_OBJECT, memberObject); + activity.startActivity(intent); + } + + @Override + public void initializePresenter() { + presenter = new BaseAncUpcomingServicesPresenter(memberObject, new CbhsUpcomingServicesInteractor(), this); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index d93fba2fcf..990c41e0db 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -368,7 +368,7 @@ public void openHivRegistrationForm() { @Override public void openUpcomingServices() { - CoreHivUpcomingServicesActivity.startMe(this, HivUtil.toMember(getHivMemberObject())); + CbhsUpcomingServiceActivity.startMe(this, HivUtil.toMember(getHivMemberObject())); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsUpcomingServicesInteractor.java b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsUpcomingServicesInteractor.java index 4232476930..52ff795650 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsUpcomingServicesInteractor.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsUpcomingServicesInteractor.java @@ -4,17 +4,16 @@ import org.jeasy.rules.api.Rules; import org.smartregister.chw.anc.domain.MemberObject; -import org.smartregister.chw.anc.domain.Visit; import org.smartregister.chw.anc.interactor.BaseAncUpcomingServicesInteractor; import org.smartregister.chw.anc.model.BaseUpcomingService; import org.smartregister.chw.core.R; import org.smartregister.chw.core.application.CoreChwApplication; -import org.smartregister.chw.core.rule.HivFollowupRule; import org.smartregister.chw.core.utils.CoreConstants; -import org.smartregister.chw.core.utils.HomeVisitUtil; +import org.smartregister.chw.dao.ChwCBHSDao; import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.domain.HivAlertObject; -import org.smartregister.chw.hiv.util.Constants; +import org.smartregister.chw.rule.CbhsFollowupRule; +import org.smartregister.chw.util.ChwHomeVisitUtil; import java.math.BigDecimal; import java.util.ArrayList; @@ -50,15 +49,11 @@ private void evaluateHiv(List serviceList) { hiv_date = hiv.getHivStartDate(); } } - Date lastVisitDate = null; - Visit lastVisit; + Date hivDate = new Date(new BigDecimal(hiv_date).longValue()); - lastVisit = HivDao.getLatestVisit(memberObject.getBaseEntityId(), Constants.EventType.FOLLOW_UP_VISIT); - if (lastVisit != null) { - lastVisitDate = lastVisit.getDate(); - } + Date nextVisitDate = ChwCBHSDao.getNextVisitDate(memberObject.getBaseEntityId()); - HivFollowupRule alertRule = HomeVisitUtil.getHivVisitStatus(lastVisitDate, hivDate); + CbhsFollowupRule alertRule = ChwHomeVisitUtil.getCBHSVisitStatus(nextVisitDate, hivDate); serviceDueDate = alertRule.getDueDate(); serviceOverDueDate = alertRule.getOverDueDate(); serviceName = context.getString(R.string.cbhs_follow_up_visit); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java b/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java index 78278632e6..e8fe2335a8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/task/HivVisitScheduler.java @@ -1,14 +1,14 @@ package org.smartregister.chw.task; -import org.smartregister.chw.anc.domain.Visit; import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.contract.ScheduleTask; import org.smartregister.chw.core.domain.BaseScheduleTask; -import org.smartregister.chw.core.rule.HivFollowupRule; import org.smartregister.chw.core.utils.CoreConstants; -import org.smartregister.chw.core.utils.HomeVisitUtil; +import org.smartregister.chw.dao.ChwCBHSDao; import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.domain.HivMemberObject; +import org.smartregister.chw.rule.CbhsFollowupRule; +import org.smartregister.chw.util.ChwHomeVisitUtil; import java.util.Date; import java.util.List; @@ -26,13 +26,12 @@ public List generateTasks(String baseEntityID, String eventName, D BaseScheduleTask baseScheduleTask = prepareNewTaskObject(baseEntityID); HivMemberObject hivMemberObject = HivDao.getMember(baseEntityID); - Visit lastVisit = HivDao.getLatestVisit(baseEntityID, org.smartregister.chw.hiv.util.Constants.EventType.FOLLOW_UP_VISIT); - Date lastVisitDate = lastVisit != null ? lastVisit.getDate() : null; - HivFollowupRule hivFollowupRule = HomeVisitUtil.getHivVisitStatus(lastVisitDate, hivMemberObject.getHivRegistrationDate()); + Date nextVisitDate = ChwCBHSDao.getNextVisitDate(baseEntityID); + CbhsFollowupRule cbhsFollowupRule = ChwHomeVisitUtil.getCBHSVisitStatus(nextVisitDate, hivMemberObject.getHivRegistrationDate()); - baseScheduleTask.setScheduleDueDate(hivFollowupRule.getDueDate()); - baseScheduleTask.setScheduleExpiryDate(hivFollowupRule.getExpiryDate()); - baseScheduleTask.setScheduleOverDueDate(hivFollowupRule.getOverDueDate()); + baseScheduleTask.setScheduleDueDate(cbhsFollowupRule.getDueDate()); + baseScheduleTask.setScheduleExpiryDate(cbhsFollowupRule.getExpiryDate()); + baseScheduleTask.setScheduleOverDueDate(cbhsFollowupRule.getOverDueDate()); return toScheduleList(baseScheduleTask); } From 632110d1fe8fc7700d5e98d7cc66454544eb4e61 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 30 May 2022 15:30:55 +0300 Subject: [PATCH 460/915] removed: unused imports --- .../main/java/org/smartregister/chw/rule/CbhsFollowupRule.java | 1 - 1 file changed, 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/rule/CbhsFollowupRule.java b/opensrp-chw/src/main/java/org/smartregister/chw/rule/CbhsFollowupRule.java index 5f26cc6179..046665e106 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/rule/CbhsFollowupRule.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/rule/CbhsFollowupRule.java @@ -4,7 +4,6 @@ import org.joda.time.Days; import org.joda.time.LocalDate; import org.smartregister.chw.core.rule.HivFollowupRule; -import org.smartregister.chw.core.rule.ICommonRule; import org.smartregister.chw.core.utils.CoreConstants; import java.text.SimpleDateFormat; From a34372c34f11d62012fb165b1f2aa628ac6b7dad Mon Sep 17 00:00:00 2001 From: Zameer Khan <58561265+zk497@users.noreply.github.com> Date: Mon, 30 May 2022 16:55:03 +0300 Subject: [PATCH 461/915] Enabled GBV referrals --- .../chw/activity/AncMemberProfileActivity.java | 8 ++++---- .../chw/activity/HivIndexContactProfileActivity.java | 6 +++--- .../smartregister/chw/activity/HivProfileActivity.java | 4 ++-- .../chw/activity/PncMemberProfileActivity.java | 8 ++++---- .../src/main/java/org/smartregister/chw/util/Utils.java | 4 ++-- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index e78336b36f..9d8fe7ca59 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -156,10 +156,10 @@ private void addAncReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.anc_danger_signs), BuildConfig.USE_UNIFIED_REFERRAL_APPROACH ? org.smartregister.chw.util.Constants.JSON_FORM.getAncUnifiedReferralForm() : org.smartregister.chw.util.Constants.JSON_FORM.getAncReferralForm(), CoreConstants.TASKS_FOCUS.ANC_DANGER_SIGNS)); - // if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { -// referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), -// org.smartregister.chw.util.Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); - // } + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { + referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), + org.smartregister.chw.util.Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + } if (MalariaDao.isRegisteredForMalaria(baseEntityID)) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.client_malaria_follow_up), null, null)); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java index 9c75dbed99..309ee85c2c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java @@ -77,7 +77,7 @@ public static void startHivIndexContactFollowupActivity(Activity activity, Strin @Override public void setupViews() { super.setupViews(); - if(getHivIndexContactObject().getFollowedUpByChw()){ + if (getHivIndexContactObject().getFollowedUpByChw()) { } } @@ -170,8 +170,8 @@ private void addHivReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.hts_referral), CoreConstants.JSON_FORM.getHtsReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_HIV)); -// referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), -// CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), + CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index c444d1ae5d..5ddb253ec5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -410,8 +410,8 @@ private void addHivReferralTypes() { CoreConstants.JSON_FORM.getPregnancyConfirmationReferralForm(), CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION)); } } -// referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), -// CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), + CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index 8eac11208e..b48724e2c2 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -361,10 +361,10 @@ private void addPncReferralTypes() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_referral), BuildConfig.USE_UNIFIED_REFERRAL_APPROACH ? JSON_FORM.getPncUnifiedReferralForm() : JSON_FORM.getPncReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); - // if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { -// referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), -// CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); - // } + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { + referralTypeModels.add(new ReferralTypeModel(getString(R.string.gbv_referral), + CoreConstants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java index f9a8258142..b3beb50c4c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java @@ -46,8 +46,8 @@ public static List getCommonReferralTypes(Activity activity, List referralTypeModels = new ArrayList<>(); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { -// referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.gbv_referral), -// Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.gbv_referral), + Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); if(gender.equalsIgnoreCase("Female") && isMemberOfReproductiveAge(client, 10, 49)){ referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.pregnancy_confirmation_referral), CoreConstants.JSON_FORM.getPregnancyConfirmationReferralForm(), CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION)); From 9461f5603b063352a46ff1eb11fb088ba1d78b89 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 31 May 2022 09:56:38 +0300 Subject: [PATCH 462/915] fix: titles for referral service --- opensrp-chw/src/nacp/res/values/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index cfe15a910e..2c0ad30afc 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -9,9 +9,9 @@ HIV Testing Services TB Clinic PMTCT Clinic - Gender Based Violence Referral - Pregnancy Confirmation Referral - Child Gender Based Violence Referral + Gender Based Violence + Pregnancy Confirmation + Child Gender Based Violence Created: %s SAVE PENDING From 7d5f6bd49620879dcdb3a68e0b0927cba53877cc Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 31 May 2022 09:57:04 +0300 Subject: [PATCH 463/915] fix: cast issue on fragment --- .../smartregister/chw/fragment/ReferralRegisterFragment.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ReferralRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ReferralRegisterFragment.java index 4d76f6cf2d..467c9ea2d4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ReferralRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/ReferralRegisterFragment.java @@ -16,6 +16,7 @@ import org.smartregister.chw.core.utils.QueryBuilder; import org.smartregister.chw.model.ReferralRegisterFragmentModel; import org.smartregister.chw.presenter.ReferralRegisterFragmentPresenter; +import org.smartregister.chw.referral.contract.BaseReferralRegisterFragmentContract; import org.smartregister.chw.referral.domain.MemberObject; import org.smartregister.chw.referral.fragment.BaseReferralRegisterFragment; import org.smartregister.chw.referral.provider.ReferralRegisterProvider; @@ -26,6 +27,7 @@ import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; import org.smartregister.view.activity.BaseRegisterActivity; +import org.smartregister.view.contract.BaseRegisterFragmentContract; import org.smartregister.view.customcontrols.CustomFontTextView; import java.text.MessageFormat; @@ -108,7 +110,7 @@ protected void initializePresenter() { return; } String viewConfigurationIdentifier = ((BaseRegisterActivity) getActivity()).getViewIdentifiers().get(0); - presenter = new ReferralRegisterFragmentPresenter(this, new ReferralRegisterFragmentModel(), viewConfigurationIdentifier); + presenter = (BaseRegisterFragmentContract.Presenter) new ReferralRegisterFragmentPresenter((BaseReferralRegisterFragmentContract.View) this, (BaseReferralRegisterFragmentContract.Model) new ReferralRegisterFragmentModel(), viewConfigurationIdentifier); } @Override From 586cf72265e378d68501caae5e3df308b0d78355 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 31 May 2022 10:01:10 +0300 Subject: [PATCH 464/915] fix: alllows independent client to be referred for HTS --- opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java index b3beb50c4c..2e4f6a67bf 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java @@ -48,6 +48,8 @@ public static List getCommonReferralTypes(Activity activity, if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.gbv_referral), Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); + referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.hts_referral), + CoreConstants.JSON_FORM.getHtsReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_HIV)); if(gender.equalsIgnoreCase("Female") && isMemberOfReproductiveAge(client, 10, 49)){ referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.pregnancy_confirmation_referral), CoreConstants.JSON_FORM.getPregnancyConfirmationReferralForm(), CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION)); From a5f3e38b8fec2c7f94026d2d5514eecc9e8b785a Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 31 May 2022 12:29:56 +0300 Subject: [PATCH 465/915] fix: persisting all values in an array to tables --- .../chw/sync/ChwClientProcessor.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java b/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java index 349b4353a1..9e6435ee9e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java @@ -3,17 +3,24 @@ import android.content.Context; +import org.apache.commons.lang3.StringUtils; import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.sync.CoreClientProcessor; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; import org.smartregister.chw.service.ChildAlertService; import org.smartregister.domain.Event; +import org.smartregister.domain.Obs; import org.smartregister.domain.db.EventClient; import org.smartregister.domain.jsonmapping.ClientClassification; import org.smartregister.domain.jsonmapping.Table; import org.smartregister.sync.ClientProcessorForJava; +import java.util.ArrayList; +import java.util.List; + +import timber.log.Timber; + public class ChwClientProcessor extends CoreClientProcessor { private ChwClientProcessor(Context context) { @@ -63,6 +70,27 @@ public void processEvents(ClientClassification clientClassification, Table vacci @Override protected String getHumanReadableConceptResponse(String value, Object object) { + try { + if (StringUtils.isBlank(value) || (object != null && !(object instanceof Obs))) { + return value; + } + // Skip human readable values and just get values which would aid in translations + final String VALUES = "values"; + List values = new ArrayList(); + + Object valueObject = getValue(object, VALUES); + if(valueObject instanceof List) { + values = (List) valueObject; + } + if(object == null || values.isEmpty()) { + return value; + } + + return values.size() == 1 ? values.get(0).toString() : values.toString(); + + } catch (Exception e) { + Timber.e(e); + } return value; } } From 910d894bcead94eea3f5d214ce6191f98a3cab79 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 31 May 2022 12:31:03 +0300 Subject: [PATCH 466/915] added: sample string resource for translatable referral problem/reason --- opensrp-chw/src/nacp/res/values/strings.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 2c0ad30afc..f3004ef451 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -31,4 +31,10 @@ Register this client as Partner? View Partner Profile Back to Mother Champion\'s Followup Clients + + + Pain + Coughing + Weight Loss + Frequent Fever \ No newline at end of file From 5349a3ff3ab5f3841b323800068175df3e39b60d Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 31 May 2022 12:31:17 +0300 Subject: [PATCH 467/915] bump: version code --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 34aa9b81f9..0118d7c612 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -345,7 +345,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.31.13-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.31.14-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From 638061f2b3eaa1decf93388efe5c8e856289859f Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 31 May 2022 15:30:43 +0300 Subject: [PATCH 468/915] fix: loading of referred to facility --- .../chw/activity/ChwReferralDetailsViewActivity.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java index 1cd78a115f..fcd976d350 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java @@ -15,7 +15,9 @@ import org.smartregister.chw.referral.domain.MemberObject; import org.smartregister.chw.referral.util.Constants; import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.domain.Location; import org.smartregister.domain.Task; +import org.smartregister.repository.LocationRepository; import org.smartregister.view.customcontrols.CustomFontTextView; import timber.log.Timber; @@ -43,6 +45,9 @@ protected void onCreation() { } } } + LocationRepository locationRepository = new LocationRepository(); + Location location = locationRepository.getLocationById(getMemberObject().getChwReferralHf()); + ((CustomFontTextView) findViewById(R.id.referral_facility)).setText(location.getProperties().getName()); if (getMemberObject().getProblem().equals("anc_male_engagement")) ((CustomFontTextView) findViewById(R.id.client_referral_problem)).setText(getResources().getString(R.string.anc_male_engagement)); From e14f02feaa6cc5fbc46a2a94eef2d16db9859085 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 31 May 2022 17:17:41 +0300 Subject: [PATCH 469/915] bump: version code --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 0118d7c612..b6ef55048a 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -345,7 +345,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.31.14-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.31.15-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From db3edc07858e1087bfdf34e8d81a2c2366d34633 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 1 Jun 2022 18:13:48 +0300 Subject: [PATCH 470/915] updated: layout for referral with feedback views --- .../ChwReferralDetailsViewActivity.java | 122 +++- .../chw/dao/ChwHivOutcomeDao.java | 55 ++ .../res/layout/referral_details_activity.xml | 689 ++++++++++++++++++ opensrp-chw/src/main/res/values/strings.xml | 3 + opensrp-chw/src/nacp/res/values/strings.xml | 3 + 5 files changed, 838 insertions(+), 34 deletions(-) create mode 100644 opensrp-chw/src/main/res/layout/referral_details_activity.xml diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java index fcd976d350..97d4f02734 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java @@ -5,9 +5,11 @@ import android.content.Intent; import android.view.View; import android.widget.LinearLayout; +import android.widget.TextView; import org.smartregister.chw.R; import org.smartregister.chw.application.ChwApplication; +import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.CoreReferralUtils; import org.smartregister.chw.dao.ChwHivOutcomeDao; import org.smartregister.chw.dao.ReferralDao; @@ -23,40 +25,15 @@ import timber.log.Timber; public class ChwReferralDetailsViewActivity extends ReferralDetailsViewActivity { - - - @Override - protected void onCreation() { - super.onCreation(); - String taskId = ReferralDao.getTaskIdByReasonReference(getMemberObject().getBaseEntityId()); - Task task = ChwApplication.getInstance().getTaskRepository().getTaskByIdentifier(taskId); - if (!task.getBusinessStatus().equalsIgnoreCase("Complete")) { - createCancelReferral(task); - } else { - //TODO this needs refactoring. This is a draft implementation. - if (getMemberObject().getChwReferralService().equals("Suspected HIV")) { - String servicesProvided = ChwHivOutcomeDao.servicesProvided(task.getForEntity(), task.getLastModified().getMillis()); - String hivStatus = ChwHivOutcomeDao.hivStatus(task.getForEntity(), task.getLastModified().getMillis()); - - if (servicesProvided != null) { - ((CustomFontTextView) findViewById(R.id.chw_details_phone)).setText(servicesProvided + " " + hivStatus); - ((CustomFontTextView) findViewById(R.id.chw_details_phone_label)).setText("Services Provided"); - findViewById(R.id.chw_details_phone_layout).setVisibility(View.VISIBLE); - } - } - } - LocationRepository locationRepository = new LocationRepository(); - Location location = locationRepository.getLocationById(getMemberObject().getChwReferralHf()); - ((CustomFontTextView) findViewById(R.id.referral_facility)).setText(location.getProperties().getName()); - - if (getMemberObject().getProblem().equals("anc_male_engagement")) - ((CustomFontTextView) findViewById(R.id.client_referral_problem)).setText(getResources().getString(R.string.anc_male_engagement)); - else if (getMemberObject().getProblem().equalsIgnoreCase("None")) - ((CustomFontTextView) findViewById(R.id.client_referral_problem)).setText(getResources().getString(R.string.none)); - - if (getMemberObject().getServicesBeforeReferral() != null && getMemberObject().getServicesBeforeReferral().equalsIgnoreCase("None")) - ((CustomFontTextView) findViewById(R.id.pre_referral_management)).setText(getResources().getString(R.string.none)); - } + TextView tvActionTaken; + TextView tvComments; + TextView tvTestResult; + TextView tvEnrolledClinic; + TextView tvClinicNumber; + LinearLayout commentSection; + LinearLayout actionTakenGroup; + LinearLayout enrolledClinicGroup; + LinearLayout feedBackViewGroup; public static void startChwReferralDetailsViewActivity(Activity activity, MemberObject memberObject, CommonPersonObjectClient client) { Intent intent = new Intent(activity, ChwReferralDetailsViewActivity.class); @@ -64,6 +41,22 @@ public static void startChwReferralDetailsViewActivity(Activity activity, Member activity.startActivity(intent); } + @Override + protected void onCreation() { + super.onCreation(); + tvActionTaken = findViewById(R.id.referral_action_taken_value); + tvTestResult = findViewById(R.id.referral_feedback_test_result); + tvEnrolledClinic = findViewById(R.id.referral_feedback_enrolled_clinic_value); + tvClinicNumber = findViewById(R.id.referral_feedback_clinic_number); + tvComments = findViewById(R.id.referral_feedback_comments); + commentSection = findViewById(R.id.referral_feedback_comments_section); + actionTakenGroup = findViewById(R.id.referral_feedback_action_taken_group); + enrolledClinicGroup = findViewById(R.id.referral_feedback_clinic_enrolled); + feedBackViewGroup = findViewById(R.id.referral_details_feedback); + + setupViews(); + } + private void createCancelReferral(Task task) { LinearLayout referralVisitBar = findViewById(R.id.record_visit_bar); referralVisitBar.setVisibility(View.VISIBLE); @@ -108,6 +101,67 @@ private void closeReferralDialog(Task task) { alertDialog.show(); } + private void setupViews() { + LocationRepository locationRepository = new LocationRepository(); + Location location = locationRepository.getLocationById(getMemberObject().getChwReferralHf()); + ((CustomFontTextView) findViewById(R.id.referral_facility)).setText(location.getProperties().getName()); + + if (getMemberObject().getServicesBeforeReferral() != null && getMemberObject().getServicesBeforeReferral().equalsIgnoreCase("None")) + ((CustomFontTextView) findViewById(R.id.pre_referral_management)).setText(getResources().getString(R.string.none)); + + String taskId = ReferralDao.getTaskIdByReasonReference(getMemberObject().getBaseEntityId()); + Task task = ChwApplication.getInstance().getTaskRepository().getTaskByIdentifier(taskId); + if (!task.getBusinessStatus().equalsIgnoreCase("Complete")) { + createCancelReferral(task); + } else { + showFeedBackView(task); + } + } + + private void showFeedBackView(Task task) { + + + if (getMemberObject().getChwReferralService().equals(CoreConstants.TASKS_FOCUS.SUSPECTED_HIV)) { + String servicesProvided = ChwHivOutcomeDao.servicesProvided(task.getForEntity(), task.getLastModified().getMillis()); + String hivStatus = ChwHivOutcomeDao.hivStatus(task.getForEntity(), task.getLastModified().getMillis()); + String enrolledToCTC = ChwHivOutcomeDao.hivEnrolledToCTC(task.getForEntity(), task.getLastModified().getMillis()); + String ctcNumber = ChwHivOutcomeDao.ctcNumber(task.getForEntity(), task.getLastModified().getMillis()); + String reasonsForNotEnrolling = ChwHivOutcomeDao.reasonsForNotEnrolling(task.getForEntity(), task.getLastModified().getMillis()); + String commentsFromHF = ChwHivOutcomeDao.hivCommentsFromHF(task.getForEntity(), task.getLastModified().getMillis()); + + if (checkHasFeedBack(servicesProvided, enrolledToCTC, commentsFromHF)) { + feedBackViewGroup.setVisibility(View.VISIBLE); + if(servicesProvided!=null) + actionTakenGroup.setVisibility(View.VISIBLE); + tvActionTaken.setText(servicesProvided); + if(hivStatus!=null){ + tvTestResult.setText(hivStatus); + }else{ + tvTestResult.setVisibility(View.GONE); + } + if(enrolledToCTC!=null){ + enrolledClinicGroup.setVisibility(View.VISIBLE); + tvEnrolledClinic.setText(enrolledToCTC); + if(enrolledToCTC.equalsIgnoreCase("Yes")){ + tvClinicNumber.setText(ctcNumber); + }else{ + tvClinicNumber.setText(reasonsForNotEnrolling); + } + } + if(commentsFromHF!=null) + commentSection.setVisibility(View.VISIBLE); + tvComments.setText(commentsFromHF); + } else { + feedBackViewGroup.setVisibility(View.GONE); + } + + } + } + + private boolean checkHasFeedBack(String servicesProvided, String enrolledToCTC, String commentsFromHF) { + return servicesProvided != null || enrolledToCTC != null && commentsFromHF != null; + } + private String getTranslatedHivServicesProvided(String serviceProvided) { //TODO implement this return null; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwHivOutcomeDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwHivOutcomeDao.java index d3b40d62eb..d7deec88a1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwHivOutcomeDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwHivOutcomeDao.java @@ -41,4 +41,59 @@ public static String hivStatus(String baseEntityID, long timestamp) { return res.get(0); return null; } + + public static String hivEnrolledToCTC(String forEntity, long millis) { + String sql = "SELECT enrolled_to_clinic\n" + + "FROM ec_hiv_outcome\n" + + "WHERE entity_id = '" + forEntity + "'\n" + + "AND date(visit_date) = date(substr(strftime('%Y-%m-%d', datetime(" + millis + " / 1000, 'unixepoch', 'localtime')), 1, 4) ||\n" + + " '-' ||\n" + + " substr(strftime('%Y-%m-%d', datetime(" + millis + "/ 1000, 'unixepoch', 'localtime')), 6, 2) ||\n" + + " '-' || substr(strftime('%Y-%m-%d', datetime(" + millis + "/ 1000, 'unixepoch', 'localtime')), 9, 2))\n" + + "ORDER BY visit_date DESC\n" + + "LIMIT 1;"; + DataMap dataMap = cursor -> getCursorValue(cursor, "enrolled_to_clinic"); + List res = readData(sql, dataMap); + if (res != null && res.size() > 0 && res.get(0) != null) + return res.get(0); + return null; + } + + public static String hivCommentsFromHF(String forEntity, long millis) { + String sql = "SELECT comment\n" + + "FROM ec_hiv_outcome\n" + + "WHERE entity_id = '" + forEntity + "'\n" + + "AND date(visit_date) = date(substr(strftime('%Y-%m-%d', datetime(" + millis + " / 1000, 'unixepoch', 'localtime')), 1, 4) ||\n" + + " '-' ||\n" + + " substr(strftime('%Y-%m-%d', datetime(" + millis + "/ 1000, 'unixepoch', 'localtime')), 6, 2) ||\n" + + " '-' || substr(strftime('%Y-%m-%d', datetime(" + millis + "/ 1000, 'unixepoch', 'localtime')), 9, 2))\n" + + "ORDER BY visit_date DESC\n" + + "LIMIT 1;"; + DataMap dataMap = cursor -> getCursorValue(cursor, "comment"); + List res = readData(sql, dataMap); + if (res != null && res.size() > 0 && res.get(0) != null) + return res.get(0); + return null; + } + + public static String ctcNumber(String forEntity, long millis) { + String sql = "SELECT ctc_number\n" + + "FROM ec_hiv_outcome\n" + + "WHERE entity_id = '" + forEntity + "'\n" + + "AND date(visit_date) = date(substr(strftime('%Y-%m-%d', datetime(" + millis + " / 1000, 'unixepoch', 'localtime')), 1, 4) ||\n" + + " '-' ||\n" + + " substr(strftime('%Y-%m-%d', datetime(" + millis + "/ 1000, 'unixepoch', 'localtime')), 6, 2) ||\n" + + " '-' || substr(strftime('%Y-%m-%d', datetime(" + millis + "/ 1000, 'unixepoch', 'localtime')), 9, 2))\n" + + "ORDER BY visit_date DESC\n" + + "LIMIT 1;"; + DataMap dataMap = cursor -> getCursorValue(cursor, "ctc_number"); + List res = readData(sql, dataMap); + if (res != null && res.size() > 0 && res.get(0) != null) + return res.get(0); + return null; + } + + public static String reasonsForNotEnrolling(String forEntity, long millis) { + return null; + } } diff --git a/opensrp-chw/src/main/res/layout/referral_details_activity.xml b/opensrp-chw/src/main/res/layout/referral_details_activity.xml new file mode 100644 index 0000000000..12f0e10c9b --- /dev/null +++ b/opensrp-chw/src/main/res/layout/referral_details_activity.xml @@ -0,0 +1,689 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 43dab654cb..6f8a80986f 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -426,6 +426,9 @@ Successful Referrals SBCC Session PNC Referral + Referral Feedback Details + CTC Number + Enrolled Clinic diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index f3004ef451..ba356df81d 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -37,4 +37,7 @@ Coughing Weight Loss Frequent Fever + ANC Client Male Engagement + None + \ No newline at end of file From 31e35f3a8e04e466167c08c1676d3b170e3afe7a Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 2 Jun 2022 11:20:24 +0300 Subject: [PATCH 471/915] update: form title --- .../chw/activity/PartnerRegistrationActivity.java | 2 +- opensrp-chw/src/nacp/res/values-sw/strings.xml | 3 +++ opensrp-chw/src/nacp/res/values/strings.xml | 4 ++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java index 458d22251f..28f7a280ef 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PartnerRegistrationActivity.java @@ -177,7 +177,7 @@ public void startFormActivity(JSONObject jsonObject) { intent.putExtra(OpdConstants.JSON_FORM_EXTRA.JSON, jsonObject.toString()); Form form = new Form(); - form.setName(getString(org.smartregister.chw.core.R.string.client_registration)); + form.setName(getString(R.string.client_registration)); form.setActionBarBackground(org.smartregister.chw.core.R.color.family_actionbar); form.setNavigationBackground(org.smartregister.chw.core.R.color.family_navigation); form.setHomeAsUpIndicator(org.smartregister.chw.core.R.mipmap.ic_cross_white); diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 997f2f226c..40eac43248 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -55,4 +55,7 @@ Rufaa imetumwa kituoni Rufaa imetumwa kituoni HIFADHI + + + Usajili wa Mwanzo wa Mteja \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index f3004ef451..55a6791c5a 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -37,4 +37,8 @@ Coughing Weight Loss Frequent Fever + + + + Client\'s General Registration \ No newline at end of file From 8bbffe43bc5ef6f4852721b7fdee19273b1c3f06 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 2 Jun 2022 11:21:20 +0300 Subject: [PATCH 472/915] update: registration form with new reasons for registration and chairperson details --- .../all_clients_registration_form.json | 304 +++--------------- ...clients_update_registration_info_form.json | 294 ++--------------- .../all_clients_registration_form.json | 285 +++------------- ...clients_update_registration_info_form.json | 259 +-------------- 4 files changed, 122 insertions(+), 1020 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index 3de82024ac..e749d1d854 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -140,6 +140,32 @@ "err": "Tafadhali ingiza jina la eneo sahihi" } }, + { + "key": "chairperson_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chairperson_name", + "type": "edit_text", + "hint": "Jina la mwenyekiti wa mtaa", + "edit_type": "name" + }, + { + "key": "chairperson_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chairperson_phone", + "type": "edit_text", + "hint": "Namba ya simu ya mwenyekiti wa mtaa", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, { "key": "landmark", "openmrs_entity_parent": "", @@ -349,7 +375,12 @@ "hint": "Umri", "v_numeric_integer": { "value": "true", - "err": "Must be a rounded number" + "err": "Weka umri sahihi" + }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Weka umri sahihi" }, "v_numeric": { "value": "true", @@ -1093,43 +1124,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", + "key": "hiv_aids", + "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1186,43 +1182,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", + "key": "hiv_aids", + "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1293,43 +1254,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", + "key": "hiv_aids", + "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1343,28 +1269,14 @@ }, { "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI", + "text": "Mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "weight_stagnation_child", - "text": "Mtoto mwenye vilio vya uzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "Mtoto mwenye homa za mara kwa mara", + "text": "Mtoto ambaye hajapimwa VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1389,13 +1301,6 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" - }, - { - "key": "child_in_risky_environment", - "text": "Mtoto anayeishi katika mazingira hatarishi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" } ], "v_required": { @@ -1421,43 +1326,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", + "key": "hiv_aids", + "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1471,28 +1341,14 @@ }, { "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI", + "text": "Mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "weight_stagnation_child", - "text": "Mtoto mwenye vilio vya uzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "Mtoto mwenye homa za mara kwa mara", + "text": "Mtoto ambaye hajapimwa VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1517,13 +1373,6 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" - }, - { - "key": "child_in_risky_environment", - "text": "Mtoto anayeishi katika mazingira hatarishi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" } ], "v_required": { @@ -1549,43 +1398,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", + "key": "hiv_aids", + "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1599,28 +1413,14 @@ }, { "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI", + "text": "Mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "weight_stagnation_child", - "text": "Mtoto mwenye vilio vya uzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "Mtoto mwenye homa za mara kwa mara", + "text": "Mtoto ambaye hajapimwa VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1646,13 +1446,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "" }, - { - "key": "child_in_risky_environment", - "text": "Mtoto anayeishi katika mazingira hatarishi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, { "key": "pregnant_mother", "text": "Mama mjamzito", @@ -1667,7 +1460,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "" } - ], "v_required": { "value": "true", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 8de7f01de0..a45a9ea44b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -945,64 +945,29 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", + "key": "hiv_aids", + "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "tuberculosis", - "text": "Kifua kikuu", + "text": "Kifua Kikuu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "homosexual", - "text": "Mwanaume anayejamiana na wanaume", + "text": "Wanaume wanaofanya mapenzi na wanaume", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "gender_violence", - "text": "Ukatili wa kijinsia", + "text": "Unyanyasaji wa Kijinsia", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1045,43 +1010,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", + "key": "hiv_aids", + "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1095,7 +1025,7 @@ }, { "key": "sex_worker_woman", - "text": "Mwanamke anayefanya biashara ya ngono", + "text": "Mfanyabiashara ya ngono", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1109,7 +1039,7 @@ }, { "key": "drug_abuse", - "text": "Matumizi mabaya ya madawa yak kulevya", + "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1152,43 +1082,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", + "key": "hiv_aids", + "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1202,56 +1097,35 @@ }, { "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI ", + "text": "Mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "weight_stagnation_child", - "text": "Mtoto mwenye vilio vya uzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "Mtoto mwenye homa za mara kwa mara", + "text": "Mtoto ambaye hajapimwa VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "abused_child", - "text": "Mtoto anayenyanyaswa", + "text": "Unyanyasaji wa mtoto", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "gender_violence", - "text": "Ukatili wa kijinsia", + "text": "Unyanyasaji wa kijinsia", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "drug_abuse", - "text": "Matumizi mabaya ya madawa ya kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_in_risky_environment", - "text": "Mtoto anayeishi katika mazingira hatarishi", + "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1280,43 +1154,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", + "key": "hiv_aids", + "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1330,35 +1169,21 @@ }, { "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI ", + "text": "Mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "weight_stagnation_child", - "text": "Mtoto mwenye vilio vya uzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "Mtoto mwenye homa za mara kwa mara", + "text": "Mtoto ambaye hajapimwa VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "abused_child", - "text": "Mtoto anayenyanyaswa", + "text": "Unyanyasaji wa mtoto", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1372,14 +1197,7 @@ }, { "key": "drug_abuse", - "text": "Matumizi mabaya ya madawa ya kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_in_risky_environment", - "text": "Mtoto anayeishi katika mazingira hatarishi", + "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1408,43 +1226,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", + "key": "hiv_aids", + "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1458,35 +1241,21 @@ }, { "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI ", + "text": "Mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "weight_stagnation_child", - "text": "Mtoto mwenye vilio vya uzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "Mtoto mwenye homa za mara kwa mara", + "text": "Mtoto ambaye hajapimwa VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "abused_child", - "text": "Mtoto anayenyanyaswa", + "text": "Unyanyasaji wa mtoto", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1500,14 +1269,7 @@ }, { "key": "drug_abuse", - "text": "Matumizi mabaya ya madawa ya kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_in_risky_environment", - "text": "Mtoto anayeishi katika mazingira hatarishi", + "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index 996b78d2fb..87c1fdbf05 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -140,6 +140,32 @@ "err": "Please enter a valid area name" } }, + { + "key": "chairperson_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chairperson_name", + "type": "edit_text", + "hint": "Village/Street Chairperson Name", + "edit_type": "name" + }, + { + "key": "chairperson_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chairperson_phone", + "type": "edit_text", + "hint": "Village/Street Chairperson Phone", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, { "key": "landmark", "openmrs_entity_parent": "", @@ -1098,43 +1124,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", + "key": "hiv_aids", + "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1191,43 +1182,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", + "key": "hiv_aids", + "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1298,43 +1254,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", + "key": "hiv_aids", + "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1360,20 +1281,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "" }, - { - "key": "weight_stagnation_child", - "text": "A child with stagnation in weight", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "A child with frequent fevers", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, { "key": "abused_child", "text": "Abused child", @@ -1394,13 +1301,6 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" - }, - { - "key": "child_in_risky_environment", - "text": "Child living in a risky environment", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" } ], "v_required": { @@ -1426,43 +1326,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", + "key": "hiv_aids", + "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1488,20 +1353,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "" }, - { - "key": "weight_stagnation_child", - "text": "A child with stagnation in weight", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "A child with frequent fevers", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, { "key": "abused_child", "text": "Abused child", @@ -1522,13 +1373,6 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" - }, - { - "key": "child_in_risky_environment", - "text": "Child living in a risky environment", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" } ], "v_required": { @@ -1554,43 +1398,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", + "key": "hiv_aids", + "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1616,20 +1425,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "" }, - { - "key": "weight_stagnation_child", - "text": "A child with stagnation in weight", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "A child with frequent fevers", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, { "key": "abused_child", "text": "Abused child", @@ -1651,13 +1446,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "" }, - { - "key": "child_in_risky_environment", - "text": "Child living in a risky environment", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, { "key": "pregnant_mother", "text": "Pregnant mother", @@ -1672,7 +1460,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "" } - ], "v_required": { "value": "true", diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index d9895e6616..fdf14a4b88 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -945,43 +945,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", + "key": "hiv_aids", + "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1045,43 +1010,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", + "key": "hiv_aids", + "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1152,43 +1082,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", + "key": "hiv_aids", + "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1214,20 +1109,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "" }, - { - "key": "weight_stagnation_child", - "text": "A child with stagnation in weight", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "A child with frequent fevers", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, { "key": "abused_child", "text": "Abused child", @@ -1248,13 +1129,6 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" - }, - { - "key": "child_in_risky_environment", - "text": "Child living in a risky environment", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" } ], "v_required": { @@ -1280,43 +1154,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", + "key": "hiv_aids", + "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1342,20 +1181,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "" }, - { - "key": "weight_stagnation_child", - "text": "A child with stagnation in weight", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "A child with frequent fevers", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, { "key": "abused_child", "text": "Abused child", @@ -1376,13 +1201,6 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" - }, - { - "key": "child_in_risky_environment", - "text": "Child living in a risky environment", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" } ], "v_required": { @@ -1408,43 +1226,8 @@ "text_color": "#C0C0C0", "options": [ { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", + "key": "hiv_aids", + "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1470,20 +1253,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "" }, - { - "key": "weight_stagnation_child", - "text": "A child with stagnation in weight", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "A child with frequent fevers", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, { "key": "abused_child", "text": "Abused child", @@ -1505,13 +1274,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "" }, - { - "key": "child_in_risky_environment", - "text": "Child living in a risky environment", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, { "key": "pregnant_mother", "text": "Pregnant mother", @@ -1526,7 +1288,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "" } - ], "v_required": { "value": "true", From 0ab855d24062a2e5cd53a74cf8590e06871f2eef Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 2 Jun 2022 12:47:22 +0300 Subject: [PATCH 473/915] update: strings for referral problem hiv and hts with translations --- .../referrals/hts_referral_form.json | 29 +------------ .../referrals/hts_referral_form.json | 42 ------------------- .../src/nacp/res/values-sw/strings.xml | 15 +++++++ opensrp-chw/src/nacp/res/values/strings.xml | 14 +++++-- 4 files changed, 27 insertions(+), 73 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json index 812a7b97bd..b50a3f44ac 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json @@ -88,7 +88,7 @@ }, { "name": "confirmation_self_test", - "text": "Kipimo binfasi cha uthibitisho (Confirmation for self test)", + "text": "Uthibitisho Kipimo binfasi (Confirmation for self test)", "meta_data": { "openmrs_entity": "", "openmrs_entity_id": "confirmation_self_test", @@ -103,33 +103,6 @@ "openmrs_entity_id": "index_contact_testing", "openmrs_entity_parent": "" } - }, - { - "name": "weight_loss", - "text": "Kupoteza uzito (Weight loss)", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "weight_loss", - "openmrs_entity_parent": "" - } - }, - { - "name": "living_with_a_spouse_with_hiv", - "text": "Anaishi na mwenza mwenye VVU (Living with HIV+ spouse)", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "living_with_a_spouse_with_hiv", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_reasons", - "text": "Sababu nyingine", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "other_reasons", - "openmrs_entity_parent": "" - } } ], "required_status": "yes:Tafadhali chagua sababu nyingine", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json index 51c760f8ff..718774343e 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json @@ -103,33 +103,6 @@ "openmrs_entity_id": "index_contact_testing", "openmrs_entity_parent": "" } - }, - { - "name": "weight_loss", - "text": "Weight loss", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "weight_loss", - "openmrs_entity_parent": "" - } - }, - { - "name": "living_with_a_spouse_with_hiv", - "text": "Living with HIV+ spouse", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "living_with_a_spouse_with_hiv", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_reasons", - "text": "Other reasons", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "other_reasons", - "openmrs_entity_parent": "" - } } ], "required_status": "yes:Please specify reasons for referral", @@ -140,21 +113,6 @@ "referral_status" ] }, - { - "name": "problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other reasons", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" - }, - "required_status": "true:Please specify other reasons", - "subjects": "problem:map" - }, { "name": "chw_referral_hf", "type": "spinner", diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 997f2f226c..bce1710e10 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -55,4 +55,19 @@ Rufaa imetumwa kituoni Rufaa imetumwa kituoni HIFADHI + + + Maumivu + Homa + Manjano + Kichwa kuuma + Kukohoa + Kuchanganyikiwa/ Kutakuwa Sawa kiakili + Degedege + Kupoteza Fahamu + Mteja mwenye hatari kubwa + Magonjwa nyemelezi + Uthibitisho Kipimo binfasi + Upimaji wa washirika wa ngono/wakujidunga + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index ba356df81d..af24986ae7 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -34,10 +34,18 @@ Pain - Coughing - Weight Loss - Frequent Fever ANC Client Male Engagement None + Fever + Jaundice + Headache + Coughing + Altered Mental Status + Convulsion + Loss of Consciousness + High Risk Client + Optimistic Infections + Confirmation Self Test + Index Contact Testing \ No newline at end of file From cb417b03c1bbe19e67b9a7e70f32da581b491e20 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 2 Jun 2022 14:44:52 +0300 Subject: [PATCH 474/915] update: string resources for feedback details --- .../ChwReferralDetailsViewActivity.java | 29 +++++++++++++++---- .../res/layout/referral_details_activity.xml | 4 +-- .../src/main/res/values-sw/strings.xml | 3 ++ 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java index 97d4f02734..4e4d1c1a11 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java @@ -131,9 +131,10 @@ private void showFeedBackView(Task task) { if (checkHasFeedBack(servicesProvided, enrolledToCTC, commentsFromHF)) { feedBackViewGroup.setVisibility(View.VISIBLE); - if(servicesProvided!=null) + if(servicesProvided!=null){ actionTakenGroup.setVisibility(View.VISIBLE); - tvActionTaken.setText(servicesProvided); + tvActionTaken.setText(getTranslatedHivServicesProvided(servicesProvided)); + } if(hivStatus!=null){ tvTestResult.setText(hivStatus); }else{ @@ -141,7 +142,7 @@ private void showFeedBackView(Task task) { } if(enrolledToCTC!=null){ enrolledClinicGroup.setVisibility(View.VISIBLE); - tvEnrolledClinic.setText(enrolledToCTC); + tvEnrolledClinic.setText(getTranslatedEnrolment(enrolledToCTC)); if(enrolledToCTC.equalsIgnoreCase("Yes")){ tvClinicNumber.setText(ctcNumber); }else{ @@ -163,7 +164,25 @@ private boolean checkHasFeedBack(String servicesProvided, String enrolledToCTC, } private String getTranslatedHivServicesProvided(String serviceProvided) { - //TODO implement this - return null; + switch (serviceProvided){ + case "no_action_taken": + return getString(R.string.no_action_taken); + case "tested": + return getString(R.string.tests_done); + case "referred": + return getString(R.string.referred); + default: + return serviceProvided; + } + } + private String getTranslatedEnrolment (String enrolledToCTC) { + switch (enrolledToCTC){ + case "yes": + return getString(R.string.yes); + case "no": + return getString(R.string.no); + default: + return enrolledToCTC; + } } } diff --git a/opensrp-chw/src/main/res/layout/referral_details_activity.xml b/opensrp-chw/src/main/res/layout/referral_details_activity.xml index 12f0e10c9b..d3803ab144 100644 --- a/opensrp-chw/src/main/res/layout/referral_details_activity.xml +++ b/opensrp-chw/src/main/res/layout/referral_details_activity.xml @@ -524,7 +524,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" - android:text="Action Taken" + android:text="@string/action_taken" android:textAppearance="@style/TextAppearance.AppCompat.Medium" android:textColor="@color/grey" android:textSize="15sp" @@ -547,7 +547,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" - android:text="Enrolled CTC" + tools:text="Enrolled CTC" android:textAppearance="@style/TextAppearance.AppCompat.Large" android:textColor="@color/text_black" android:textSize="17sp" diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index bbcba4ea25..1e7f8cddf1 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -430,4 +430,7 @@ Mtoto : %s Rudi kwa Wateja wote wa Ufuatiliaji wa Mwenza Rufaa ya PNC + Namba ya CTC + Amesajiliwa Kliniki + Taarifa Kutoka Kituoni From c9e3842139f78dd9c04ee92067bd526ab3269798 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 2 Jun 2022 15:49:32 +0300 Subject: [PATCH 475/915] add: general report list view --- opensrp-chw/src/main/AndroidManifest.xml | 50 +++++---- .../chw/activity/InAppReportsActivity.java | 87 +++++++++++++++ .../src/main/res/drawable/ic_cbhs_summary.xml | 10 ++ .../res/layout/activity_in_app_reports.xml | 102 ++++++++++++++++++ .../chw/custom_view/NavigationMenuFlv.java | 5 +- .../nacp/res/drawable-hdpi/reports_bg_red.xml | 5 + .../src/nacp/res/values-sw/strings.xml | 2 + opensrp-chw/src/nacp/res/values/strings.xml | 5 + 8 files changed, 241 insertions(+), 25 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java create mode 100644 opensrp-chw/src/main/res/drawable/ic_cbhs_summary.xml create mode 100644 opensrp-chw/src/main/res/layout/activity_in_app_reports.xml create mode 100644 opensrp-chw/src/nacp/res/drawable-hdpi/reports_bg_red.xml diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 36a6a46e0b..d4a055aaba 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -3,27 +3,6 @@ xmlns:tools="http://schemas.android.com/tools" package="org.smartregister.chw"> - - - - - - - - - - - - - - - + + android:theme="@style/ChwTheme.NoActionBar" /> + android:theme="@style/ChwTheme.NoActionBar" /> + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java new file mode 100644 index 0000000000..fb0f600e6c --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java @@ -0,0 +1,87 @@ +package org.smartregister.chw.activity; + +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import androidx.constraintlayout.widget.ConstraintLayout; + +import android.content.Intent; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.os.Bundle; +import android.view.Menu; +import android.view.View; +import android.widget.Toast; + +import com.google.android.material.appbar.AppBarLayout; + +import org.smartregister.chw.R; +import org.smartregister.chw.core.job.ChwIndicatorGeneratingJob; +import org.smartregister.view.activity.SecuredActivity; +import org.smartregister.view.customcontrols.CustomFontTextView; + +public class InAppReportsActivity extends SecuredActivity implements View.OnClickListener { + + + protected CustomFontTextView toolBarTextView; + protected AppBarLayout appBarLayout; + protected ConstraintLayout cbhsReportsLayout; + + @Override + protected void onCreation() { + ChwIndicatorGeneratingJob.scheduleJobImmediately(ChwIndicatorGeneratingJob.TAG); + setContentView(R.layout.activity_in_app_reports); + setUpToolbar(); + setUpViews(); + } + + @Override + protected void onResumption() { + //overridden + } + + + public void setUpViews() { + cbhsReportsLayout = findViewById(R.id.cbhs_summary); + + cbhsReportsLayout.setOnClickListener(this); + } + + public void setUpToolbar() { + Toolbar toolbar = findViewById(org.smartregister.chw.core.R.id.back_to_nav_toolbar); + toolBarTextView = toolbar.findViewById(org.smartregister.chw.core.R.id.toolbar_title); + setSupportActionBar(toolbar); + + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setDisplayHomeAsUpEnabled(true); + final Drawable upArrow = getResources().getDrawable(org.smartregister.chw.core.R.drawable.ic_arrow_back_white_24dp); + actionBar.setHomeAsUpIndicator(upArrow); + actionBar.setElevation(0); + } + toolbar.setNavigationOnClickListener(v -> finish()); + toolBarTextView.setText(R.string.reports_title); + toolBarTextView.setOnClickListener(v -> finish()); + appBarLayout = findViewById(org.smartregister.chw.core.R.id.app_bar); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + appBarLayout.setOutlineProvider(null); + } + } + + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + return false; + } + + @Override + public void onClick(View v) { + int id = v.getId(); + if(id == R.id.cbhs_summary){ + Toast.makeText(this, "Under Construction", Toast.LENGTH_SHORT).show(); +// Intent intent = new Intent(this, CBHSReportsActivity.class); +// startActivity(intent); + } + } + +} \ No newline at end of file diff --git a/opensrp-chw/src/main/res/drawable/ic_cbhs_summary.xml b/opensrp-chw/src/main/res/drawable/ic_cbhs_summary.xml new file mode 100644 index 0000000000..03d8eee8e7 --- /dev/null +++ b/opensrp-chw/src/main/res/drawable/ic_cbhs_summary.xml @@ -0,0 +1,10 @@ + + + diff --git a/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml b/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml new file mode 100644 index 0000000000..3445a48f9d --- /dev/null +++ b/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java index 27613209f7..db5fc84b45 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java @@ -4,6 +4,7 @@ import android.content.Intent; import org.apache.commons.lang3.tuple.Pair; +import org.smartregister.chw.activity.InAppReportsActivity; import org.smartregister.chw.core.activity.CoreStockInventoryReportActivity; import org.smartregister.chw.core.activity.HIA2ReportsActivity; import org.smartregister.chw.core.custom_views.NavigationMenu; @@ -66,11 +67,11 @@ public Intent getHIA2ReportActivityIntent(Activity activity) { @Override public boolean hasInAppReports() { - return false; + return true; } @Override public Intent getInAppReportsActivityIntent(Activity activity) { - return null; + return new Intent(activity, InAppReportsActivity.class); } } diff --git a/opensrp-chw/src/nacp/res/drawable-hdpi/reports_bg_red.xml b/opensrp-chw/src/nacp/res/drawable-hdpi/reports_bg_red.xml new file mode 100644 index 0000000000..71db38241b --- /dev/null +++ b/opensrp-chw/src/nacp/res/drawable-hdpi/reports_bg_red.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 997f2f226c..a31bf550a4 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -55,4 +55,6 @@ Rufaa imetumwa kituoni Rufaa imetumwa kituoni HIFADHI + + REPORTS \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index f3004ef451..c2972c6506 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -24,6 +24,11 @@ Independent Partner Followup + + + REPORTS + + Partner Registration New Client Existing Client From 6c71b0010e6cfcdb9e21478fc0b404d26f545056 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 2 Jun 2022 15:52:00 +0300 Subject: [PATCH 476/915] extracted: string resources for report view --- opensrp-chw/src/main/res/layout/activity_in_app_reports.xml | 4 ++-- opensrp-chw/src/nacp/res/values/strings.xml | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml b/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml index 3445a48f9d..67e4164880 100644 --- a/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml +++ b/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml @@ -71,7 +71,7 @@ android:layout_width="220dp" android:layout_height="wrap_content" android:layout_marginEnd="20dp" - android:text="CBHS Summary" + android:text="@string/cbhs_reports_title" android:textAlignment="center" android:textColor="@color/white" android:textSize="22sp" @@ -87,7 +87,7 @@ android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_marginEnd="20dp" - android:text="View Monthly Summary Report" + android:text="@string/cbhs_reports_subtitle" android:textAlignment="center" android:textColor="@color/white" android:textSize="15sp" diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index c2972c6506..93b24e4932 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -27,6 +27,8 @@ REPORTS + CBHS Summary + View Monthly Summary Report Partner Registration From 0d17e18c4ba1fca4dc70eefdf78fd1cd1f7b012b Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 2 Jun 2022 16:27:57 +0300 Subject: [PATCH 477/915] fix: showing specific report and reporting month picker, with report utils --- opensrp-chw/build.gradle | 2 + opensrp-chw/src/main/AndroidManifest.xml | 6 +- .../chw/activity/CBHSReportsActivity.java | 127 ++++++++++++++++++ .../chw/activity/InAppReportsActivity.java | 17 +-- .../chw/util/ChwWebAppInterface.java | 39 ++++++ .../org/smartregister/chw/util/Constants.java | 6 + .../chw/util/LocalContentWebViewClient.java | 37 +++++ .../smartregister/chw/util/ReportUtils.java | 124 +++++++++++++++++ .../main/res/layout/activity_cbhs_reports.xml | 104 ++++++++++++++ .../src/main/res/menu/reports_menu.xml | 10 ++ opensrp-chw/src/main/res/values/styles.xml | 4 + .../src/nacp/res/values-sw/strings.xml | 2 + opensrp-chw/src/nacp/res/values/strings.xml | 3 + 13 files changed, 470 insertions(+), 11 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/CBHSReportsActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/util/LocalContentWebViewClient.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java create mode 100644 opensrp-chw/src/main/res/layout/activity_cbhs_reports.xml create mode 100644 opensrp-chw/src/main/res/menu/reports_menu.xml diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index b6ef55048a..7bc0194be6 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -370,6 +370,8 @@ dependencies { implementation 'com.android.support:multidex:1.0.3' //Do not upgrade to 24.jre-1 due to compatibility issues implementation 'com.google.guava:guava:20.0' + implementation 'androidx.webkit:webkit:1.4.0' + implementation 'com.whiteelephant:monthandyearpicker:1.3.0' androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' androidTestImplementation 'org.mockito:mockito-android:3.0.0' diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index d4a055aaba..010d3cc309 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -11,9 +11,13 @@ android:usesCleartextTraffic="true" tools:replace="android:theme"> + finish()); + appBarLayout = findViewById(org.smartregister.chw.core.R.id.app_bar); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + appBarLayout.setOutlineProvider(null); + } + } + + @Override + public void onClick(View v) { + int id = v.getId(); + // if (id == R.id.cbhs_monthly_report) { + // AncReportsViewActivity.startMe(this, "anc-taarifa-ya-mwezi", reportPeriod); + // } + } + + private void showMonthPicker(Context context, Menu menu) { + //shows the month picker and returns selected period and updated the menu + MonthPickerDialog.Builder builder = new MonthPickerDialog.Builder(context, (selectedMonth, selectedYear) -> { + int month = selectedMonth + 1; + String monthString = String.valueOf(month); + if (month < 10) { + monthString = "0" + monthString; + } + String yearString = String.valueOf(selectedYear); + reportPeriod = monthString + "-" + yearString; + menu.findItem(R.id.action_select_month).setTitle(ReportUtils.displayMonthAndYear(selectedMonth, selectedYear)); + + }, Calendar.getInstance().get(Calendar.YEAR), Calendar.getInstance().get(Calendar.MONTH)); + try { + Date reportDate = new SimpleDateFormat("MM-yyyy", Locale.getDefault()).parse(reportPeriod); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(reportDate); + builder.setActivatedMonth(calendar.get(Calendar.MONTH)); + builder.setMinYear(2021); + builder.setActivatedYear(calendar.get(Calendar.YEAR)); + builder.setMaxYear(Calendar.getInstance().get(Calendar.YEAR)); + builder.setMinMonth(Calendar.JANUARY); + builder.setMaxMonth(Calendar.DECEMBER); + builder.setTitle(getString(R.string.select_reporting_month)); + builder.build().show(); + } catch (ParseException e) { + Timber.e(e); + } + + } +} \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java index fb0f600e6c..0f3e5da4db 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java @@ -1,14 +1,8 @@ package org.smartregister.chw.activity; -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.widget.Toolbar; -import androidx.constraintlayout.widget.ConstraintLayout; - import android.content.Intent; import android.graphics.drawable.Drawable; import android.os.Build; -import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.Toast; @@ -20,6 +14,10 @@ import org.smartregister.view.activity.SecuredActivity; import org.smartregister.view.customcontrols.CustomFontTextView; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.widget.Toolbar; +import androidx.constraintlayout.widget.ConstraintLayout; + public class InAppReportsActivity extends SecuredActivity implements View.OnClickListener { @@ -77,10 +75,9 @@ public boolean onCreateOptionsMenu(Menu menu) { @Override public void onClick(View v) { int id = v.getId(); - if(id == R.id.cbhs_summary){ - Toast.makeText(this, "Under Construction", Toast.LENGTH_SHORT).show(); -// Intent intent = new Intent(this, CBHSReportsActivity.class); -// startActivity(intent); + if (id == R.id.cbhs_summary) { + Intent intent = new Intent(this, CBHSReportsActivity.class); + startActivity(intent); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java new file mode 100644 index 0000000000..3a071cb3c6 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java @@ -0,0 +1,39 @@ +package org.smartregister.chw.util; + +import android.content.Context; +import android.webkit.JavascriptInterface; + +import static org.smartregister.util.Utils.getAllSharedPreferences; + +public class ChwWebAppInterface { + Context mContext; + + String reportType; + + + public ChwWebAppInterface(Context c, String reportType) { + mContext = c; + this.reportType = reportType; + } + + @JavascriptInterface + public String getData(String key) { + if (reportType.equalsIgnoreCase(Constants.ReportConstants.ReportTypes.CBHS_REPORT)) { + ReportUtils.setPrintJobName("pnc_report_ya_mwezi-" + ReportUtils.getReportPeriod() + ".pdf"); + return ReportUtils.CBHSReport.computeReport(ReportUtils.getReportDate()); + } + + + return ""; + } + + @JavascriptInterface + public String getDataPeriod() { + return ReportUtils.getReportPeriod(); + } + + @JavascriptInterface + public String getReportingFacility() { + return getAllSharedPreferences().fetchCurrentLocality(); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index 69598cdc2e..8416c7261b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -129,4 +129,10 @@ public static class DBConstants{ public interface PmtctFollowupFeedbackConstants { String referralFormId = "community_referral_form_id"; } + public static final class ReportConstants { + + public interface ReportTypes { + String CBHS_REPORT = "cbhs_report"; + } + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/LocalContentWebViewClient.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/LocalContentWebViewClient.java new file mode 100644 index 0000000000..b558a07b28 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/LocalContentWebViewClient.java @@ -0,0 +1,37 @@ +package org.smartregister.chw.util; + +import android.net.Uri; +import android.webkit.WebResourceRequest; +import android.webkit.WebResourceResponse; +import android.webkit.WebView; + +import androidx.annotation.RequiresApi; +import androidx.webkit.WebViewAssetLoader; +import androidx.webkit.WebViewClientCompat; + +public class LocalContentWebViewClient extends WebViewClientCompat { + private final WebViewAssetLoader mAssetLoader; + + public LocalContentWebViewClient(WebViewAssetLoader assetLoader) { + mAssetLoader = assetLoader; + } + + @Override + @RequiresApi(21) + public WebResourceResponse shouldInterceptRequest(WebView view, + WebResourceRequest request) { + return mAssetLoader.shouldInterceptRequest(request.getUrl()); + } + + @Override + @SuppressWarnings("deprecation") // to support API < 21 + public WebResourceResponse shouldInterceptRequest(WebView view, + String url) { + return mAssetLoader.shouldInterceptRequest(Uri.parse(url)); + } + + @Override + public void onPageFinished(WebView view, String url) { + super.onPageFinished(view, url); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java new file mode 100644 index 0000000000..ddeca6e98d --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java @@ -0,0 +1,124 @@ +package org.smartregister.chw.util; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.os.Build; +import android.print.PrintAttributes; +import android.print.PrintDocumentAdapter; +import android.print.PrintManager; +import android.webkit.WebSettings; +import android.webkit.WebView; + +import org.apache.commons.lang3.StringUtils; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.Locale; + +import androidx.annotation.RequiresApi; +import androidx.webkit.WebViewAssetLoader; +import timber.log.Timber; + +public class ReportUtils { + private static final int year = Calendar.getInstance().get(Calendar.YEAR); + private static final int month = Calendar.getInstance().get(Calendar.MONTH) + 1; + public static String[] monthNames = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"}; + private static String printJobName; + private static String reportPeriod; + + public static String getDefaultReportPeriod() { + String monthString = String.valueOf(month); + if (month < 10) { + monthString = "0" + monthString; + } + return monthString + "-" + year; + } + + public static int getMonth() { + return month; + } + + public static int getYear() { + return year; + } + + public static String displayMonthAndYear(int month, int year) { + return monthNames[month] + ", " + year; + } + + public static String displayMonthAndYear() { + return monthNames[getMonth() - 1] + ", " + getYear(); + } + + public static String getPrintJobName() { + return printJobName; + } + + public static void setPrintJobName(String printJobName) { + ReportUtils.printJobName = printJobName; + } + + public static Date getReportDate() { + if (StringUtils.isNotBlank(reportPeriod)) { + try { + return new SimpleDateFormat("MM-yyyy", Locale.getDefault()).parse(reportPeriod); + } catch (ParseException e) { + Timber.e(e); + } + } + + return new Date(); + } + + public static String getReportPeriod() { + return reportPeriod; + } + + public static void setReportPeriod(String reportPeriod) { + ReportUtils.reportPeriod = reportPeriod; + } + + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) + public static void printTheWebPage(WebView webView, Context context) { + + // Creating PrintManager instance + PrintManager printManager = (PrintManager) context.getSystemService(Context.PRINT_SERVICE); + PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter(getPrintJobName()); + + // Create a print job with name and adapter instance + assert printManager != null; + printManager.print(getPrintJobName(), printAdapter, + new PrintAttributes.Builder().build()); + } + + @SuppressLint("SetJavaScriptEnabled") + public static void loadReportView(String reportPath, WebView mWebView, Context context, String reportType) { + + WebSettings webSettings = mWebView.getSettings(); + webSettings.setJavaScriptEnabled(true); + final WebViewAssetLoader assetLoader = new WebViewAssetLoader.Builder() + .addPathHandler("/assets/", new WebViewAssetLoader.AssetsPathHandler(context)) + .build(); + mWebView.setWebViewClient(new LocalContentWebViewClient(assetLoader)); + mWebView.addJavascriptInterface(new ChwWebAppInterface(context, reportType), "Android"); + mWebView.loadUrl("https://appassets.androidplatform.net/assets/reports/" + reportPath + ".html"); + } + + + public static class CBHSReport { + public static String computeReport(Date now) { + String report = ""; +// AncMonthlyReportObject ancMonthlyReportObject = new AncMonthlyReportObject(now); +// try { +// report = ancMonthlyReportObject.getIndicatorDataAsGson(ancMonthlyReportObject.getIndicatorData()); +// } catch (Exception e) { +// Timber.e(e); +// } + return report; + } + } + + +} diff --git a/opensrp-chw/src/main/res/layout/activity_cbhs_reports.xml b/opensrp-chw/src/main/res/layout/activity_cbhs_reports.xml new file mode 100644 index 0000000000..27f5642b4c --- /dev/null +++ b/opensrp-chw/src/main/res/layout/activity_cbhs_reports.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/menu/reports_menu.xml b/opensrp-chw/src/main/res/menu/reports_menu.xml new file mode 100644 index 0000000000..0b5d0c2e2c --- /dev/null +++ b/opensrp-chw/src/main/res/menu/reports_menu.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/values/styles.xml b/opensrp-chw/src/main/res/values/styles.xml index 269ef676a4..003bda989f 100644 --- a/opensrp-chw/src/main/res/values/styles.xml +++ b/opensrp-chw/src/main/res/values/styles.xml @@ -72,4 +72,8 @@ 3 + + diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index a31bf550a4..3ccae12e40 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -57,4 +57,6 @@ HIFADHI REPORTS + Chagua Mwezi wa Kuripoti + Repoti Ya Mwezi \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 93b24e4932..459216d495 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -29,6 +29,9 @@ REPORTS CBHS Summary View Monthly Summary Report + Select Reporting Month + Monthly Report + Partner Registration From e4b01be1a4cebc8f7e67b634689e29b414fbba87 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 2 Jun 2022 17:52:59 +0300 Subject: [PATCH 478/915] fix: loading correct html files for the report --- opensrp-chw/src/main/AndroidManifest.xml | 8 +- .../chw/activity/CBHSReportsActivity.java | 6 +- .../chw/activity/CBHSReportsViewActivity.java | 21 +++ .../chw/activity/ChwReportsViewActivity.java | 94 +++++++++++++ .../chw/domain/ReportObject.java | 36 +++++ .../cbhs_reports/CbhsMonthlyReportObject.java | 41 ++++++ .../chw/util/ChwWebAppInterface.java | 4 +- .../chw/util/LocalContentWebViewClient.java | 3 + .../smartregister/chw/util/ReportUtils.java | 13 +- .../res/drawable/ic_baseline_save_alt_24.xml | 5 + .../main/res/layout/activity_reports_view.xml | 53 +++++++ .../src/main/res/menu/reports_view_menu.xml | 12 ++ .../assets/reports/cbhs-summary-monthly.html | 49 +++++++ .../src/nacp/assets/reports/report-script.js | 8 ++ .../src/nacp/assets/reports/report-styles.css | 130 ++++++++++++++++++ .../src/nacp/res/values-sw/strings.xml | 1 + opensrp-chw/src/nacp/res/values/strings.xml | 1 + 17 files changed, 472 insertions(+), 13 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/CBHSReportsViewActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReportsViewActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/domain/ReportObject.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java create mode 100644 opensrp-chw/src/main/res/drawable/ic_baseline_save_alt_24.xml create mode 100644 opensrp-chw/src/main/res/layout/activity_reports_view.xml create mode 100644 opensrp-chw/src/main/res/menu/reports_view_menu.xml create mode 100644 opensrp-chw/src/nacp/assets/reports/cbhs-summary-monthly.html create mode 100644 opensrp-chw/src/nacp/assets/reports/report-script.js create mode 100644 opensrp-chw/src/nacp/assets/reports/report-styles.css diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 010d3cc309..6979f23450 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -10,10 +10,14 @@ android:theme="@style/ChwTheme" android:usesCleartextTraffic="true" tools:replace="android:theme"> + + android:exported="false" + android:theme="@style/ChwTheme.NoActionBar" /> finish()); + if (StringUtils.isNotBlank(getString(reportTitle))) { + toolBarTextView.setText(getString(reportTitle)); + } else { + toolBarTextView.setText(R.string.reports_title); + } + toolBarTextView.setOnClickListener(v -> finish()); + appBarLayout = findViewById(org.smartregister.chw.core.R.id.app_bar); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + appBarLayout.setOutlineProvider(null); + } + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(R.menu.reports_view_menu, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int itemId = item.getItemId(); + if (itemId == R.id.action_print) { + if (printWebView != null) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + ReportUtils.printTheWebPage(printWebView, this); + } else { + Toast.makeText(this, "Not available for device below Android LOLLIPOP", Toast.LENGTH_SHORT).show(); + } + } else { + Toast.makeText(this, "WebPage not fully loaded", Toast.LENGTH_SHORT).show(); + } + return true; + } + return super.onOptionsItemSelected(item); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/ReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/ReportObject.java new file mode 100644 index 0000000000..9b8423460e --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/ReportObject.java @@ -0,0 +1,36 @@ +package org.smartregister.chw.domain; + +import com.google.gson.Gson; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.Date; +import java.util.List; + +public abstract class ReportObject { + + private List indicatorCodes; + private final Date reportDate; + + public ReportObject(Date reportDate) { + this.reportDate = reportDate; + } + + public List getIndicatorCodes() { + return indicatorCodes; + } + + public Date getReportDate() { + return reportDate; + } + + public JSONObject getIndicatorData() throws JSONException { + return new JSONObject(); + } + + public String getIndicatorDataAsGson(JSONObject jsonObject) throws JSONException { + Gson gson = new Gson(); + return gson.toJson(jsonObject); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java new file mode 100644 index 0000000000..6f32558dd2 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java @@ -0,0 +1,41 @@ +package org.smartregister.chw.domain.cbhs_reports; + +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.domain.ReportObject; + + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +public class CbhsMonthlyReportObject extends ReportObject { + private final Date reportDate; + private List indicatorCodes = new ArrayList<>(); + private final String[] indicatorCodesArray = new String[]{"Test Code"}; + + public CbhsMonthlyReportObject(Date reportDate) { + super(reportDate); + this.reportDate = reportDate; + setIndicatorCodes(indicatorCodes); + } + + public void setIndicatorCodes(List indicatorCodes) { + Collections.addAll(indicatorCodes, indicatorCodesArray); + } + + @Override + public JSONObject getIndicatorData() throws JSONException { + JSONObject jsonObject = new JSONObject(); + for (String indicatorCode : indicatorCodesArray) { + // jsonObject.put(indicatorCode, ReportDao.getReportPerIndicatorCode(indicatorCode, reportDate)); + } + + + return jsonObject; + } + + + +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java index 3a071cb3c6..7f48418bfd 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java @@ -17,9 +17,9 @@ public ChwWebAppInterface(Context c, String reportType) { } @JavascriptInterface - public String getData(String key) { + public String getData(String reportKey) { if (reportType.equalsIgnoreCase(Constants.ReportConstants.ReportTypes.CBHS_REPORT)) { - ReportUtils.setPrintJobName("pnc_report_ya_mwezi-" + ReportUtils.getReportPeriod() + ".pdf"); + ReportUtils.setPrintJobName("cbhs_monthly_summary-" + ReportUtils.getReportPeriod() + ".pdf"); return ReportUtils.CBHSReport.computeReport(ReportUtils.getReportDate()); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/LocalContentWebViewClient.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/LocalContentWebViewClient.java index b558a07b28..b4bd78f7d6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/LocalContentWebViewClient.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/LocalContentWebViewClient.java @@ -5,6 +5,8 @@ import android.webkit.WebResourceResponse; import android.webkit.WebView; +import org.smartregister.chw.activity.ChwReportsViewActivity; + import androidx.annotation.RequiresApi; import androidx.webkit.WebViewAssetLoader; import androidx.webkit.WebViewClientCompat; @@ -33,5 +35,6 @@ public WebResourceResponse shouldInterceptRequest(WebView view, @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); + ChwReportsViewActivity.printWebView = view; } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java index ddeca6e98d..9680d8a4fb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java @@ -10,6 +10,7 @@ import android.webkit.WebView; import org.apache.commons.lang3.StringUtils; +import org.smartregister.chw.domain.cbhs_reports.CbhsMonthlyReportObject; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -110,12 +111,12 @@ public static void loadReportView(String reportPath, WebView mWebView, Context c public static class CBHSReport { public static String computeReport(Date now) { String report = ""; -// AncMonthlyReportObject ancMonthlyReportObject = new AncMonthlyReportObject(now); -// try { -// report = ancMonthlyReportObject.getIndicatorDataAsGson(ancMonthlyReportObject.getIndicatorData()); -// } catch (Exception e) { -// Timber.e(e); -// } + CbhsMonthlyReportObject cbhsMonthlyReportObject = new CbhsMonthlyReportObject(now); + try { + report = cbhsMonthlyReportObject.getIndicatorDataAsGson(cbhsMonthlyReportObject.getIndicatorData()); + } catch (Exception e) { + Timber.e(e); + } return report; } } diff --git a/opensrp-chw/src/main/res/drawable/ic_baseline_save_alt_24.xml b/opensrp-chw/src/main/res/drawable/ic_baseline_save_alt_24.xml new file mode 100644 index 0000000000..ddb9d4df50 --- /dev/null +++ b/opensrp-chw/src/main/res/drawable/ic_baseline_save_alt_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/opensrp-chw/src/main/res/layout/activity_reports_view.xml b/opensrp-chw/src/main/res/layout/activity_reports_view.xml new file mode 100644 index 0000000000..335144251f --- /dev/null +++ b/opensrp-chw/src/main/res/layout/activity_reports_view.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/menu/reports_view_menu.xml b/opensrp-chw/src/main/res/menu/reports_view_menu.xml new file mode 100644 index 0000000000..9edf206ef1 --- /dev/null +++ b/opensrp-chw/src/main/res/menu/reports_view_menu.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/reports/cbhs-summary-monthly.html b/opensrp-chw/src/nacp/assets/reports/cbhs-summary-monthly.html new file mode 100644 index 0000000000..9875832823 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/reports/cbhs-summary-monthly.html @@ -0,0 +1,49 @@ + + + + + + + + Taarifa ya mwezi ANC + + + + + +
    +

    MUHTASARI WA TAARIFA ZA HUDUMA ZA VVU NA UKIMWI KATIKA JAMII KWA MWEZI

    +

    TAARIFA YA [MWEZI/MWAKA]:

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Namba ya MtejaSababu ya kusajiliwaHali ya maambukizi ya VVUNamba ya kusajiliwa KlinikiAina ya KlinikiUmriJinsi(Me/Ke)Huduma zilizotolewaVifaa/dawa zilizotolewaRufaa zilizotolewa(jaza zote zinazo husika)
    1
    + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/reports/report-script.js b/opensrp-chw/src/nacp/assets/reports/report-script.js new file mode 100644 index 0000000000..43f7952078 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/reports/report-script.js @@ -0,0 +1,8 @@ +function loadData(reportKey) { + const data = JSON.parse(Android.getData(reportKey)); + const keys = Object.keys(data.nameValuePairs); + const reportPeriod = document.getElementById("report_period"); + + + reportPeriod.innerHTML = Android.getDataPeriod(); +} diff --git a/opensrp-chw/src/nacp/assets/reports/report-styles.css b/opensrp-chw/src/nacp/assets/reports/report-styles.css new file mode 100644 index 0000000000..2de1d6c9c5 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/reports/report-styles.css @@ -0,0 +1,130 @@ +.show-on-print { + display: none; +} + +body, +h1, +h2, +td, +th { + font-family: "Times New Roman", serif; +} + +h1, +h2 { + font-size: 0.8rem; + text-align: center; + font-weight: 200; +} + +table { + background-color: #fff; + border: none; + width: 100%; + border-collapse: collapse; +} + +#report_period { + font-weight: 700; +} + +#reporting_facility { + font-weight: 700; +} + +th { + padding: 10px; + background: #ccc; + font-size: 0.8rem; + font-weight: 500; + text-transform: uppercase; +} + +.pnc-anc-table th { + padding: 4px; + font-size: 0.74rem; + text-transform: initial; +} + +.pnc-anc-table td { + font-size: 0.71rem; + padding: 5px; +} + +td { + text-align: initial; + padding: 10px 0; + padding-left: 10px; + font-size: 0.8rem; +} + +.pnc-anc-table td:nth-child(1) { + width: 5%; + min-width: initial; + text-align: center; +} + +td:nth-child(3) { + text-align: center; + width: 15%; +} + +.pnc-anc-table td:nth-child(3) { + width: initial; +} + +.pnc-table .list-title { + width: 30%; +} + +tbody tr > td:nth-child(2), +tbody tr > td:nth-child(4) { + text-align: center; + min-width: 50px; +} + +tbody tr > td:nth-child(1) { + min-width: 40px; + text-align: center; +} + +.pnc-anc-table td:nth-child(9) { + width: 10%; +} + +tbody .four-cols > td:nth-child(3) { + width: 50%; + text-align: initial !important; +} + +tbody .three-cols > td:nth-child(3) { + text-align: center; + min-width: 50px; +} + +.pnc-anc-table tr > td:nth-child(n + 3) { + text-align: center; +} + +.list-title { + text-align: initial !important; + font-size: 0.8rem; +} + +.pnc-anc-table .child-table { + width: 50%; +} + +.no-data { + background: #ccc; +} + +@media print { + .show-on-print { + display: block; + } + + .child-table { + width: 50%; + } +} diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 3ccae12e40..3832987e2d 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -59,4 +59,5 @@ REPORTS Chagua Mwezi wa Kuripoti Repoti Ya Mwezi + Chapa \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 459216d495..f027b66613 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -31,6 +31,7 @@ View Monthly Summary Report Select Reporting Month Monthly Report + Print From 6af8bfffbf677a5f8a8df91689559ae3b26a9cc1 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 3 Jun 2022 10:37:31 +0300 Subject: [PATCH 479/915] defined: logic how report data should be added to be passed to js script --- .../cbhs_reports/CbhsMonthlyReportObject.java | 41 +++++++++++++++---- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java index 6f32558dd2..8a64728985 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java @@ -1,10 +1,10 @@ package org.smartregister.chw.domain.cbhs_reports; +import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.domain.ReportObject; - import java.util.ArrayList; import java.util.Collections; import java.util.Date; @@ -12,8 +12,8 @@ public class CbhsMonthlyReportObject extends ReportObject { private final Date reportDate; - private List indicatorCodes = new ArrayList<>(); - private final String[] indicatorCodesArray = new String[]{"Test Code"}; + private final String[] indicatorCodesArray = new String[]{ "reason_for_registration", "hiv_status", "clinic_number", "type_of_clinic", "age", "sex", "services_provided", "medication_received", "referral_received"}; + private final List indicatorCodes = new ArrayList<>(); public CbhsMonthlyReportObject(Date reportDate) { super(reportDate); @@ -27,15 +27,42 @@ public void setIndicatorCodes(List indicatorCodes) { @Override public JSONObject getIndicatorData() throws JSONException { + /* + * we'll pass a json object with the following structure: + * data = [ + { + "cbhs_number": "102-2021-210-2" + "reason_for_registration": "reason" + "hiv_status": "status", + "clinic_number": "clinic_number", + "type_of_clinic": "type_of_clinic", + "age": "age", + "sex": "sex", + "services_provided": "services_provided" + "medication_received": "medication_received", + "referral_received": "referral_received" + }, + ] + * */ JSONObject jsonObject = new JSONObject(); - for (String indicatorCode : indicatorCodesArray) { - // jsonObject.put(indicatorCode, ReportDao.getReportPerIndicatorCode(indicatorCode, reportDate)); - } + JSONArray dataArray = new JSONArray(); + //Todo get an array of cbhs_numbers from the db for that report time period + //something like : List cbhsNumbers = ReportDao.getAllCbhsNumbersForTheReportPeriod(reportDate); + //Todo loop through the cbhsNumbers and get the data for each cbhs_number + //something like : for (String cbhsNumber : cbhsNumbers) { + // JSONObject cbhsObject = new JSONObject(); + // cbhsObject.put("cbhs_number", cbhsNumber); + // for(String indicatorCode : indicatorCodes) { + // cbhsObject.put(indicatorCode, ReportDao.getCbhsDataForClientInReportDate(cbhsNumber, reportDate)); + // } + // dataArray.put(cbhsObject); + // } + //TODO add the dataArray to the jsonObject + jsonObject.put("data", dataArray); return jsonObject; } - } From 6ca182279d94d7d3fdef7dca356e4d93610d7cb3 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 3 Jun 2022 10:46:38 +0300 Subject: [PATCH 480/915] added: script to append table rows on the table body --- .../cbhs_reports/CbhsMonthlyReportObject.java | 4 ++-- .../chw/util/ChwWebAppInterface.java | 3 +-- .../assets/reports/cbhs-summary-monthly.html | 16 ++----------- .../src/nacp/assets/reports/report-script.js | 23 +++++++++++++++---- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java index 8a64728985..3ede0066f8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java @@ -29,7 +29,7 @@ public void setIndicatorCodes(List indicatorCodes) { public JSONObject getIndicatorData() throws JSONException { /* * we'll pass a json object with the following structure: - * data = [ + * reportData = [ { "cbhs_number": "102-2021-210-2" "reason_for_registration": "reason" @@ -59,7 +59,7 @@ public JSONObject getIndicatorData() throws JSONException { // } //TODO add the dataArray to the jsonObject - jsonObject.put("data", dataArray); + jsonObject.put("reportData", dataArray); return jsonObject; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java index 7f48418bfd..ba89c4169e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java @@ -17,13 +17,12 @@ public ChwWebAppInterface(Context c, String reportType) { } @JavascriptInterface - public String getData(String reportKey) { + public String getDataForReport() { if (reportType.equalsIgnoreCase(Constants.ReportConstants.ReportTypes.CBHS_REPORT)) { ReportUtils.setPrintJobName("cbhs_monthly_summary-" + ReportUtils.getReportPeriod() + ".pdf"); return ReportUtils.CBHSReport.computeReport(ReportUtils.getReportDate()); } - return ""; } diff --git a/opensrp-chw/src/nacp/assets/reports/cbhs-summary-monthly.html b/opensrp-chw/src/nacp/assets/reports/cbhs-summary-monthly.html index 9875832823..093928b642 100644 --- a/opensrp-chw/src/nacp/assets/reports/cbhs-summary-monthly.html +++ b/opensrp-chw/src/nacp/assets/reports/cbhs-summary-monthly.html @@ -10,7 +10,7 @@ - +

    MUHTASARI WA TAARIFA ZA HUDUMA ZA VVU NA UKIMWI KATIKA JAMII KWA MWEZI

    TAARIFA YA [MWEZI/MWAKA]:

    @@ -30,19 +30,7 @@

    TAARIFA YA [MWEZI/MWAKA]:

    Rufaa zilizotolewa(jaza zote zinazo husika) - - - 1 - - - - - - - - - - + diff --git a/opensrp-chw/src/nacp/assets/reports/report-script.js b/opensrp-chw/src/nacp/assets/reports/report-script.js index 43f7952078..f1cf57968a 100644 --- a/opensrp-chw/src/nacp/assets/reports/report-script.js +++ b/opensrp-chw/src/nacp/assets/reports/report-script.js @@ -1,8 +1,21 @@ -function loadData(reportKey) { - const data = JSON.parse(Android.getData(reportKey)); - const keys = Object.keys(data.nameValuePairs); +function loadData() { + const data = JSON.parse(Android.getDataForReport()); + const tableBody = document.getElementById("table-body"); + if(data!== undefined && data !== ""){ + const reportData = data.reportData; + reportData.forEach((dataPoint) => { + //append to the table body a row with data + const row = document.createElement("tr"); + const dataPointKeys = Object.keys(dataPoint); + dataPointKeys.forEach((key) => { + const cell = document.createElement("td"); + cell.innerHTML = dataPoint[key]; + row.appendChild(cell); + } + ); + tableBody.appendChild(row); + }) + } const reportPeriod = document.getElementById("report_period"); - - reportPeriod.innerHTML = Android.getDataPeriod(); } From 0875e690093e54080a3d9a791c78073e1c951508 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 3 Jun 2022 11:00:05 +0300 Subject: [PATCH 481/915] code style fixes --- .../chw/activity/CBHSReportsViewActivity.java | 3 -- .../chw/activity/InAppReportsActivity.java | 1 - .../cbhs_reports/CbhsMonthlyReportObject.java | 4 +- .../src/nacp/assets/reports/report-script.js | 4 +- .../src/nacp/assets/reports/report-styles.css | 39 +++++-------------- 5 files changed, 14 insertions(+), 37 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/CBHSReportsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CBHSReportsViewActivity.java index 7c8d37720f..d7551ca1f8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/CBHSReportsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CBHSReportsViewActivity.java @@ -1,10 +1,7 @@ package org.smartregister.chw.activity; -import androidx.appcompat.app.AppCompatActivity; - import android.app.Activity; import android.content.Intent; -import android.os.Bundle; import org.smartregister.chw.R; import org.smartregister.chw.util.Constants; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java index 0f3e5da4db..b53e785bac 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java @@ -5,7 +5,6 @@ import android.os.Build; import android.view.Menu; import android.view.View; -import android.widget.Toast; import com.google.android.material.appbar.AppBarLayout; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java index 3ede0066f8..a2d0c6f92e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java @@ -11,8 +11,8 @@ import java.util.List; public class CbhsMonthlyReportObject extends ReportObject { - private final Date reportDate; - private final String[] indicatorCodesArray = new String[]{ "reason_for_registration", "hiv_status", "clinic_number", "type_of_clinic", "age", "sex", "services_provided", "medication_received", "referral_received"}; + final Date reportDate; + private final String[] indicatorCodesArray = new String[]{"reason_for_registration", "hiv_status", "clinic_number", "type_of_clinic", "age", "sex", "services_provided", "medication_received", "referral_received"}; private final List indicatorCodes = new ArrayList<>(); public CbhsMonthlyReportObject(Date reportDate) { diff --git a/opensrp-chw/src/nacp/assets/reports/report-script.js b/opensrp-chw/src/nacp/assets/reports/report-script.js index f1cf57968a..602693a77d 100644 --- a/opensrp-chw/src/nacp/assets/reports/report-script.js +++ b/opensrp-chw/src/nacp/assets/reports/report-script.js @@ -1,7 +1,7 @@ function loadData() { const data = JSON.parse(Android.getDataForReport()); const tableBody = document.getElementById("table-body"); - if(data!== undefined && data !== ""){ + if(typeof data!== undefined && data !== ""){ const reportData = data.reportData; reportData.forEach((dataPoint) => { //append to the table body a row with data @@ -14,7 +14,7 @@ function loadData() { } ); tableBody.appendChild(row); - }) + }); } const reportPeriod = document.getElementById("report_period"); reportPeriod.innerHTML = Android.getDataPeriod(); diff --git a/opensrp-chw/src/nacp/assets/reports/report-styles.css b/opensrp-chw/src/nacp/assets/reports/report-styles.css index 2de1d6c9c5..7ae3674823 100644 --- a/opensrp-chw/src/nacp/assets/reports/report-styles.css +++ b/opensrp-chw/src/nacp/assets/reports/report-styles.css @@ -46,11 +46,6 @@ th { text-transform: initial; } -.pnc-anc-table td { - font-size: 0.71rem; - padding: 5px; -} - td { text-align: initial; padding: 10px 0; @@ -58,21 +53,26 @@ td { font-size: 0.8rem; } +.pnc-anc-table td { + font-size: 0.71rem; + padding: 5px; +} + .pnc-anc-table td:nth-child(1) { width: 5%; min-width: initial; text-align: center; } -td:nth-child(3) { - text-align: center; - width: 15%; -} - .pnc-anc-table td:nth-child(3) { width: initial; } +.list-title { + text-align: initial !important; + font-size: 0.8rem; +} + .pnc-table .list-title { width: 30%; } @@ -83,34 +83,15 @@ tbody tr > td:nth-child(4) { min-width: 50px; } -tbody tr > td:nth-child(1) { - min-width: 40px; - text-align: center; -} - -.pnc-anc-table td:nth-child(9) { - width: 10%; -} - tbody .four-cols > td:nth-child(3) { width: 50%; text-align: initial !important; } -tbody .three-cols > td:nth-child(3) { - text-align: center; - min-width: 50px; -} - .pnc-anc-table tr > td:nth-child(n + 3) { text-align: center; } -.list-title { - text-align: initial !important; - font-size: 0.8rem; -} - .pnc-anc-table .child-table { width: 50%; } From ed947e736dc92495a72d426ecb074c3562d56796 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 8 Jun 2022 15:30:34 +0300 Subject: [PATCH 482/915] fix: receiving referrals from facility --- opensrp-chw/src/main/AndroidManifest.xml | 1 + .../org/smartregister/chw/job/ChwJobCreator.java | 4 ++++ .../chw/sync/helper/ChwTaskServiceHelper.java | 14 +++++--------- .../chw/sync/intent/ChwSyncTaskIntentService.java | 2 ++ 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 6979f23450..115466dfd5 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -330,6 +330,7 @@ + getLocationIds() { LocationHelper locationHelper = LocationHelper.getInstance(); - ArrayList allowedLevels = ChwApplication.getInstance().getAllowedLocationLevels(); - List locations = new ArrayList<>(); - if (allowedLevels != null) { - List locationIds = locationHelper.generateDefaultLocationHierarchy(allowedLevels); - if (locationIds != null) { - locations.add(locationHelper.getOpenMrsLocationId(locationIds.get(0))); - } + ArrayList locations = new ArrayList<>(); + if (locationHelper != null) { + String defaultLocation = locationHelper.getDefaultLocation(); + List locationsFromHierarchy = locationHelper.locationsFromHierarchy(true, defaultLocation); + locations.addAll(locationsFromHierarchy); } return locations; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/sync/intent/ChwSyncTaskIntentService.java b/opensrp-chw/src/main/java/org/smartregister/chw/sync/intent/ChwSyncTaskIntentService.java index 9bd9f7041b..fff22331e7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/sync/intent/ChwSyncTaskIntentService.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/sync/intent/ChwSyncTaskIntentService.java @@ -2,6 +2,7 @@ import android.content.Intent; +import org.smartregister.chw.core.job.SyncTaskWithClientEventsServiceJob; import org.smartregister.chw.core.utils.CoreReferralUtils; import org.smartregister.chw.sync.helper.ChwTaskServiceHelper; import org.smartregister.sync.intent.SyncTaskIntentService; @@ -12,5 +13,6 @@ protected void onHandleIntent(Intent intent) { ChwTaskServiceHelper taskServiceHelper = ChwTaskServiceHelper.getInstance(); taskServiceHelper.syncTasks(); CoreReferralUtils.completeClosedReferralTasks(); + SyncTaskWithClientEventsServiceJob.scheduleJobImmediately(SyncTaskWithClientEventsServiceJob.TAG); } } From ff26eaa72784fb38d58d1e52e520e88a0b93dc63 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 8 Jun 2022 17:58:23 +0300 Subject: [PATCH 483/915] update: core version --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 7bc0194be6..ede3e6ee61 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -345,7 +345,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.31.15-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.31.17-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From 1998c2ea9f52de01669d3e8626380535c688361d Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 8 Jun 2022 18:33:47 +0300 Subject: [PATCH 484/915] fix: showing ltfu referrals --- opensrp-chw/src/main/AndroidManifest.xml | 4 + .../LTFUReferralsDetailsViewActivity.java | 81 ++++ .../chw/activity/LTFURegisterActivity.java | 28 ++ .../chw/application/ChwApplication.java | 2 + .../LTFUReferralsRegisterFragment.java | 71 +++ .../chw/model/LTFUReferralModel.java | 64 +++ .../LTFUReferralFragmentPresenter.java | 41 ++ .../layout/referrals_tasks_view_layout.xml | 413 ++++++++++++++++++ .../chw/model/NavigationModelFlv.java | 3 +- 9 files changed, 706 insertions(+), 1 deletion(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFURegisterActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFUReferralFragmentPresenter.java create mode 100644 opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 115466dfd5..beed4ca76b 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -14,6 +14,10 @@ android:name=".activity.CBHSReportsViewActivity" android:exported="false" android:theme="@style/ChwTheme.NoActionBar" /> + + getRegisteredActivities() { registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.ALL_CLIENTS_REGISTERED_ACTIVITY, AllClientsRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_REGISTER_ACTIVITY, HivRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_INDEX_REGISTER_ACTIVITY, HivIndexContactsContactsRegisterActivity.class); + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.LTFU_REFERRALS_REGISTER_ACTIVITY, LTFURegisterActivity.class); // TODO uncomment these when NACP is ready to test these modules // registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.TB_REGISTER_ACTIVITY, TbRegisterActivity.class); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java new file mode 100644 index 0000000000..636eac139c --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java @@ -0,0 +1,71 @@ +package org.smartregister.chw.fragment; + +import android.os.Handler; + +import org.smartregister.chw.activity.LTFUReferralsDetailsViewActivity; +import org.smartregister.chw.application.ChwApplication; +import org.smartregister.chw.core.fragment.BaseReferralRegisterFragment; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.Utils; +import org.smartregister.chw.presenter.LTFUReferralFragmentPresenter; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.domain.Task; +import org.smartregister.family.util.DBConstants; +import org.smartregister.repository.AllSharedPreferences; + +public class LTFUReferralsRegisterFragment extends BaseReferralRegisterFragment { + public Handler handler = new Handler(); + private LTFUReferralFragmentPresenter referralFragmentPresenter; + private CommonPersonObjectClient commonPersonObjectClient; + + @Override + public void setClient(CommonPersonObjectClient commonPersonObjectClient) { + setCommonPersonObjectClient(commonPersonObjectClient); + } + + @Override + protected String getMainCondition() { + AllSharedPreferences allSharedPreferences = Utils.getAllSharedPreferences(); + String anm = allSharedPreferences.fetchRegisteredANM(); + String currentLoaction = allSharedPreferences.fetchUserLocalityId(anm); + return " ec_family_member_search.date_removed is null and task.group_id = '" + currentLoaction + "' "; + } + + @Override + public CommonPersonObjectClient getCommonPersonObjectClient() { + return commonPersonObjectClient; + } + + @Override + public void setCommonPersonObjectClient(CommonPersonObjectClient commonPersonObjectClient) { + this.commonPersonObjectClient = commonPersonObjectClient; + } + + @Override + protected void initializePresenter() { + referralFragmentPresenter = new LTFUReferralFragmentPresenter(this); + presenter = referralFragmentPresenter; + + } + + @Override + protected void onViewClicked(android.view.View view) { + CommonPersonObjectClient client = (CommonPersonObjectClient) view.getTag(); + referralFragmentPresenter.setBaseEntityId(Utils.getValue(client.getColumnmaps(), DBConstants.KEY.BASE_ENTITY_ID, false)); + referralFragmentPresenter.fetchClient(); + + Task task = getTask(Utils.getValue(client.getColumnmaps(), "_id", false)); + referralFragmentPresenter.setTasksFocus(task.getFocus()); + goToReferralsDetails(client); + + } + + private Task getTask(String taskId) { + return ChwApplication.getInstance().getTaskRepository().getTaskByIdentifier(taskId); + } + + private void goToReferralsDetails(CommonPersonObjectClient client) { + handler.postDelayed(() -> LTFUReferralsDetailsViewActivity.startLTFUReferralsDetailsViewActivity(getActivity(), getCommonPersonObjectClient(), getTask(Utils.getValue(client.getColumnmaps(), "_id", false)), CoreConstants.REGISTERED_ACTIVITIES.LTFU_REFERRALS_REGISTER_ACTIVITY), 100); + } + +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java new file mode 100644 index 0000000000..dba8c8462a --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java @@ -0,0 +1,64 @@ +package org.smartregister.chw.model; + +import org.smartregister.chw.core.model.BaseReferralModel; +import org.smartregister.chw.core.utils.ChwDBConstants; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.family.util.DBConstants; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +public class LTFUReferralModel extends BaseReferralModel { + + @Override + public String mainSelect(String tableName, String entityTable, String mainCondition) { + SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName, entityTable), CoreConstants.DB_CONSTANTS.ID); + queryBuilder.customJoin(String.format("INNER JOIN %s ON %s.%s = %s.%s AND task.business_status = 'Referred' COLLATE NOCASE ", + entityTable, entityTable, DBConstants.KEY.BASE_ENTITY_ID, tableName, CoreConstants.DB_CONSTANTS.FOR)); + queryBuilder.customJoin(String.format("INNER JOIN %s ON %s.%s = %s.%s COLLATE NOCASE ", CoreConstants.TABLE_NAME.REFERRAL, + CoreConstants.TABLE_NAME.REFERRAL, DBConstants.KEY.BASE_ENTITY_ID, tableName, ChwDBConstants.TaskTable.REASON_REFERENCE)); + queryBuilder.customJoin("LEFT JOIN ec_family ON ec_family_member.relational_id = ec_family.id COLLATE NOCASE"); + return queryBuilder.mainCondition(mainCondition); + } + + @Override + protected String[] mainColumns(String tableName, String entityTable) { + Set columns = new HashSet<>(Arrays.asList(super.mainColumns(tableName, entityTable))); + addClientDetails(entityTable, columns); + addTaskDetails(columns); + return columns.toArray(new String[]{}); + } + + private void addClientDetails(String table, Set columns) { + columns.add(table + "." + "relational_id as relationalid"); + columns.add(table + "." + DBConstants.KEY.BASE_ENTITY_ID); + columns.add(table + "." + DBConstants.KEY.FIRST_NAME); + columns.add(table + "." + DBConstants.KEY.MIDDLE_NAME); + columns.add(table + "." + DBConstants.KEY.LAST_NAME); + columns.add(table + "." + DBConstants.KEY.DOB); + columns.add(table + "." + DBConstants.KEY.GENDER); + columns.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD); + columns.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); + columns.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); + columns.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.PHONE_NUMBER); + columns.add(CoreConstants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.OTHER_PHONE_NUMBER); + columns.add(CoreConstants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); + + } + + private void addTaskDetails(Set columns) { + columns.add(CoreConstants.TABLE_NAME.TASK + "." + CoreConstants.DB_CONSTANTS.FOCUS); + columns.add(CoreConstants.TABLE_NAME.TASK + "." + CoreConstants.DB_CONSTANTS.OWNER); + columns.add(CoreConstants.TABLE_NAME.TASK + "." + CoreConstants.DB_CONSTANTS.REQUESTER); + columns.add(CoreConstants.TABLE_NAME.TASK + "." + CoreConstants.DB_CONSTANTS.START); + columns.add(CoreConstants.TABLE_NAME.REFERRAL + "." + org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_HF); + columns.add(CoreConstants.TABLE_NAME.REFERRAL + "." + org.smartregister.chw.referral.util.DBConstants.Key.PROBLEM); + columns.add(CoreConstants.TABLE_NAME.REFERRAL + "." + org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_SERVICE); + columns.add(CoreConstants.TABLE_NAME.REFERRAL + "." + org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_DATE); + columns.add(CoreConstants.TABLE_NAME.TASK + "." + CoreConstants.DB_CONSTANTS.FOCUS + " AS " + org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_TYPE); + + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFUReferralFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFUReferralFragmentPresenter.java new file mode 100644 index 0000000000..2a3c4aca58 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFUReferralFragmentPresenter.java @@ -0,0 +1,41 @@ +package org.smartregister.chw.presenter; + +import org.smartregister.chw.core.contract.BaseReferralRegisterFragmentContract; +import org.smartregister.chw.core.presenter.BaseReferralFragmentPresenter; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.model.LTFUReferralModel; +import org.smartregister.commonregistry.CommonPersonObjectClient; + +import java.util.HashSet; + +public class LTFUReferralFragmentPresenter extends BaseReferralFragmentPresenter { + protected BaseReferralRegisterFragmentContract.View view; + + public LTFUReferralFragmentPresenter(BaseReferralRegisterFragmentContract.View view) { + super(view); + this.model = new LTFUReferralModel(); + this.view = view; + } + + @Override + public void initializeQueries(String mainCondition) { + String countSelect = model.countSelect(CoreConstants.TABLE_NAME.TASK, mainCondition); + String mainSelect = model.mainSelect(CoreConstants.TABLE_NAME.TASK, CoreConstants.TABLE_NAME.FAMILY_MEMBER, mainCondition); + + view.initializeQueryParams(CoreConstants.TABLE_NAME.FAMILY_MEMBER, countSelect, mainSelect); + view.initializeAdapter(new HashSet<>(), CoreConstants.TABLE_NAME.TASK); + + view.countExecute(); + view.filterandSortInInitializeQueries(); + } + + @Override + public void fetchClient() { + interactor.getClientDetails(getBaseEntityId(), this, getTaskFocus()); + } + + @Override + public void clientDetails(CommonPersonObjectClient client) { + view.setClient(client); + } +} diff --git a/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml b/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml new file mode 100644 index 0000000000..34635420a5 --- /dev/null +++ b/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml @@ -0,0 +1,413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java index 6247465ea4..1a3a83987b 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -33,9 +33,10 @@ public List getNavigationItems() { NavigationOption op12 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_index_contacts, CoreConstants.DrawerMenu.HIV_INDEX_CLIENTS, 0); NavigationOption op13 = new NavigationOption(R.drawable.sidemenu_pmtct, R.drawable.sidemenu_pmtct_active, R.string.mother_champion, CoreConstants.DrawerMenu.MOTHER_CHAMPION, 0); NavigationOption op14 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); + NavigationOption op15 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.menu_ltfu, Constants.DrawerMenu.LTFU, 0); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { - navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op13, op8)); + navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op13, op8,op15)); } else { navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) From 51f5a7cd2685fb0168641b4c54a7919c35e4eeef Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 8 Jun 2022 18:41:03 +0300 Subject: [PATCH 485/915] fix: to show only ltfu referrals that are active --- .../chw/fragment/LTFUReferralsRegisterFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java index 636eac139c..cc47cc2023 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java @@ -28,7 +28,7 @@ protected String getMainCondition() { AllSharedPreferences allSharedPreferences = Utils.getAllSharedPreferences(); String anm = allSharedPreferences.fetchRegisteredANM(); String currentLoaction = allSharedPreferences.fetchUserLocalityId(anm); - return " ec_family_member_search.date_removed is null and task.group_id = '" + currentLoaction + "' "; + return "task.business_status = '" + CoreConstants.BUSINESS_STATUS.REFERRED + "' and ec_family_member_search.date_removed is null and task.group_id = '" + currentLoaction + "' "; } @Override From 1cf8a1b63073be7282664f4e60e87c1e0742bd8e Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 8 Jun 2022 21:36:26 +0300 Subject: [PATCH 486/915] fix: refined the view for ltfu referral details --- .../layout/referrals_tasks_view_layout.xml | 44 +++++++++++++++++-- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml b/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml index 34635420a5..f71fec9bb9 100644 --- a/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml +++ b/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml @@ -225,7 +225,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" - android:text="@string/problem" + android:text="Referred Clinic" android:textAppearance="@style/TextAppearance.AppCompat.Medium" android:textColor="@color/grey" android:textSize="15sp" @@ -267,11 +267,46 @@ android:textStyle="normal" /> + + + + + + + @@ -302,7 +337,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" - android:text="@string/chw" + android:text="Facility" android:textAppearance="@style/TextAppearance.AppCompat.Medium" android:textColor="@color/grey" android:textSize="15sp" @@ -386,7 +421,7 @@ android:paddingTop="10dp" android:paddingEnd="30dp" android:paddingBottom="10dp" - android:text="@string/mark_as_done" + android:text="@string/record_followup_feedback" android:textAllCaps="true" android:textColor="@color/white" /> @@ -407,6 +442,7 @@ android:paddingBottom="10dp" android:text="@string/view_profile" android:textAllCaps="true" + android:visibility="gone" android:textColor="@color/opensrp_primary" /> From e8f3cd1c7a0236746459d87f07684bec17a8a477 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 8 Jun 2022 22:02:47 +0300 Subject: [PATCH 487/915] fix: the register provider details for ltfu --- .../LTFUReferralsRegisterFragment.java | 13 +++ .../chw/model/LTFUReferralModel.java | 3 +- .../chw/provider/LTFURegisterProvider.java | 35 ++++++ .../res/layout/referral_register_list_row.xml | 104 ++++++++++++++++++ .../src/main/res/values-sw/strings.xml | 1 + opensrp-chw/src/main/res/values/strings.xml | 1 + 6 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/provider/LTFURegisterProvider.java create mode 100644 opensrp-chw/src/main/res/layout/referral_register_list_row.xml diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java index cc47cc2023..f66571e79b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java @@ -8,16 +8,29 @@ import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.Utils; import org.smartregister.chw.presenter.LTFUReferralFragmentPresenter; +import org.smartregister.chw.provider.LTFURegisterProvider; import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.configurableviews.model.View; +import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; import org.smartregister.domain.Task; import org.smartregister.family.util.DBConstants; import org.smartregister.repository.AllSharedPreferences; +import java.util.Set; + public class LTFUReferralsRegisterFragment extends BaseReferralRegisterFragment { public Handler handler = new Handler(); private LTFUReferralFragmentPresenter referralFragmentPresenter; private CommonPersonObjectClient commonPersonObjectClient; + @Override + public void initializeAdapter(Set visibleColumns, String tableName) { + LTFURegisterProvider registerProvider = new LTFURegisterProvider(getActivity(), registerActionHandler, paginationViewHandler); + clientAdapter = new RecyclerViewPaginatedAdapter(null, registerProvider, context().commonrepository(tablename)); + clientAdapter.setCurrentlimit(20); + clientsView.setAdapter(clientAdapter); + } + @Override public void setClient(CommonPersonObjectClient commonPersonObjectClient) { setCommonPersonObjectClient(commonPersonObjectClient); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java index dba8c8462a..50c8277057 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java @@ -54,7 +54,8 @@ private void addTaskDetails(Set columns) { columns.add(CoreConstants.TABLE_NAME.TASK + "." + CoreConstants.DB_CONSTANTS.OWNER); columns.add(CoreConstants.TABLE_NAME.TASK + "." + CoreConstants.DB_CONSTANTS.REQUESTER); columns.add(CoreConstants.TABLE_NAME.TASK + "." + CoreConstants.DB_CONSTANTS.START); - columns.add(CoreConstants.TABLE_NAME.REFERRAL + "." + org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_HF); + columns.add(CoreConstants.TABLE_NAME.TASK + "." + "description AS REFERRAL_CLINIC" ); + columns.add(CoreConstants.TABLE_NAME.TASK + "." + "location AS " + org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_HF); columns.add(CoreConstants.TABLE_NAME.REFERRAL + "." + org.smartregister.chw.referral.util.DBConstants.Key.PROBLEM); columns.add(CoreConstants.TABLE_NAME.REFERRAL + "." + org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_SERVICE); columns.add(CoreConstants.TABLE_NAME.REFERRAL + "." + org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_DATE); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/LTFURegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/LTFURegisterProvider.java new file mode 100644 index 0000000000..c91128f44c --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/LTFURegisterProvider.java @@ -0,0 +1,35 @@ +package org.smartregister.chw.provider; + +import android.content.Context; +import android.view.View; +import android.widget.TextView; + +import org.smartregister.chw.R; +import org.smartregister.chw.core.holders.ReferralViewHolder; +import org.smartregister.chw.core.provider.BaseReferralRegisterProvider; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.domain.Location; +import org.smartregister.family.util.Utils; +import org.smartregister.repository.LocationRepository; + +public class LTFURegisterProvider extends BaseReferralRegisterProvider { + private final Context context; + + public LTFURegisterProvider(Context context, View.OnClickListener onClickListener, View.OnClickListener paginationClickListener) { + super(context, onClickListener, paginationClickListener); + this.context = context; + } + + @Override + public void populatePatientColumn(CommonPersonObjectClient pc, ReferralViewHolder viewHolder) { + super.populatePatientColumn(pc, viewHolder); + TextView referralClinic = viewHolder.itemView.findViewById(R.id.referral_clinic); + referralClinic.setText(Utils.getValue(pc.getColumnmaps(), "REFERRAL_CLINIC", true)); + + TextView referredByTextView = viewHolder.itemView.findViewById(org.smartregister.chw.core.R.id.referred_by); + LocationRepository locationRepository = new LocationRepository(); + String locationId = Utils.getValue(pc.getColumnmaps(), org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_HF, false); + Location location = locationRepository.getLocationById(locationId); + referredByTextView.setText(context.getString(R.string.referred_by, location.getProperties().getName())); + } +} diff --git a/opensrp-chw/src/main/res/layout/referral_register_list_row.xml b/opensrp-chw/src/main/res/layout/referral_register_list_row.xml new file mode 100644 index 0000000000..69dc3b9091 --- /dev/null +++ b/opensrp-chw/src/main/res/layout/referral_register_list_row.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index 1e7f8cddf1..828ede1e35 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -433,4 +433,5 @@ Namba ya CTC Amesajiliwa Kliniki Taarifa Kutoka Kituoni + Rufaa imetolewa na %s diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 6f8a80986f..e90cd6eb38 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -429,6 +429,7 @@ Referral Feedback Details CTC Number Enrolled Clinic + Referred By %s From 4f9bf18049881f8181ea82936a86f142918af292 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 8 Jun 2022 22:12:41 +0300 Subject: [PATCH 488/915] fix: displays the referral facility in details --- .../chw/activity/LTFUReferralsDetailsViewActivity.java | 9 +++++++++ .../chw/fragment/LTFUReferralsRegisterFragment.java | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java index e524f69f07..7107b4dbb1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java @@ -8,19 +8,24 @@ import org.smartregister.chw.core.activity.BaseReferralTaskViewActivity; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.domain.Location; import org.smartregister.domain.Task; +import org.smartregister.family.util.Utils; +import org.smartregister.repository.LocationRepository; import org.smartregister.view.customcontrols.CustomFontTextView; import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; public class LTFUReferralsDetailsViewActivity extends BaseReferralTaskViewActivity { + private static CommonPersonObjectClient commonPersonObjectClient; public static void startLTFUReferralsDetailsViewActivity(Activity activity, CommonPersonObjectClient personObjectClient, Task task, String startingActivity) { LTFUReferralsDetailsViewActivity.personObjectClient = personObjectClient; Intent intent = new Intent(activity, LTFUReferralsDetailsViewActivity.class); intent.putExtra(CoreConstants.INTENT_KEY.USERS_TASKS, task); intent.putExtra(CoreConstants.INTENT_KEY.CHILD_COMMON_PERSON, personObjectClient); intent.putExtra(CoreConstants.INTENT_KEY.STARTING_ACTIVITY, startingActivity); + commonPersonObjectClient = personObjectClient; passToolbarTitle(activity, intent); activity.startActivity(intent); } @@ -67,6 +72,10 @@ public void setUpViews() { CustomFontTextView markAskDone = findViewById(R.id.mark_ask_done); getReferralDetails(); + LocationRepository locationRepository = new LocationRepository(); + String locationId = Utils.getValue(commonPersonObjectClient.getColumnmaps(), org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_HF, false); + Location location = locationRepository.getLocationById(locationId); + chwDetailsNames.setText(location.getProperties().getName()); } public void setStartingActivity(String startingActivity) { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java index f66571e79b..dddda3181e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java @@ -78,7 +78,7 @@ private Task getTask(String taskId) { } private void goToReferralsDetails(CommonPersonObjectClient client) { - handler.postDelayed(() -> LTFUReferralsDetailsViewActivity.startLTFUReferralsDetailsViewActivity(getActivity(), getCommonPersonObjectClient(), getTask(Utils.getValue(client.getColumnmaps(), "_id", false)), CoreConstants.REGISTERED_ACTIVITIES.LTFU_REFERRALS_REGISTER_ACTIVITY), 100); + handler.postDelayed(() -> LTFUReferralsDetailsViewActivity.startLTFUReferralsDetailsViewActivity(getActivity(), client, getTask(Utils.getValue(client.getColumnmaps(), "_id", false)), CoreConstants.REGISTERED_ACTIVITIES.LTFU_REFERRALS_REGISTER_ACTIVITY), 100); } } From 7293380ea365c279feed3ea58b2863f6298d19b5 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 8 Jun 2022 22:51:50 +0300 Subject: [PATCH 489/915] fix: getting last appointment date to display --- .../LTFUReferralsDetailsViewActivity.java | 15 ++++++++ .../smartregister/chw/dao/ReferralDao.java | 35 +++++++++++++++++++ .../chw/model/LTFUReferralModel.java | 1 + .../layout/referrals_tasks_view_layout.xml | 1 + .../src/nacp/assets/ec_client_fields.json | 8 +++++ 5 files changed, 60 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java index 7107b4dbb1..2267595f54 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java @@ -3,10 +3,13 @@ import android.app.Activity; import android.content.Intent; import android.os.Bundle; +import android.view.View; +import android.widget.LinearLayout; import org.smartregister.chw.R; import org.smartregister.chw.core.activity.BaseReferralTaskViewActivity; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.dao.ReferralDao; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.domain.Location; import org.smartregister.domain.Task; @@ -14,11 +17,14 @@ import org.smartregister.repository.LocationRepository; import org.smartregister.view.customcontrols.CustomFontTextView; +import java.sql.Date; + import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; public class LTFUReferralsDetailsViewActivity extends BaseReferralTaskViewActivity { private static CommonPersonObjectClient commonPersonObjectClient; + public static void startLTFUReferralsDetailsViewActivity(Activity activity, CommonPersonObjectClient personObjectClient, Task task, String startingActivity) { LTFUReferralsDetailsViewActivity.personObjectClient = personObjectClient; Intent intent = new Intent(activity, LTFUReferralsDetailsViewActivity.class); @@ -71,11 +77,20 @@ public void setUpViews() { CustomFontTextView markAskDone = findViewById(R.id.mark_ask_done); + LinearLayout lastAppointmentLayout = findViewById(R.id.last_visit_date_layout); + CustomFontTextView tvLastAppointmentDate = findViewById(R.id.last_visit_date); + getReferralDetails(); LocationRepository locationRepository = new LocationRepository(); String locationId = Utils.getValue(commonPersonObjectClient.getColumnmaps(), org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_HF, false); + String reasonReference = Utils.getValue(commonPersonObjectClient.getColumnmaps(), "reason_reference", false); Location location = locationRepository.getLocationById(locationId); chwDetailsNames.setText(location.getProperties().getName()); + Date lastAppointmentDate = ReferralDao.getLastAppointmentDate(reasonReference); + if (lastAppointmentDate != null) { + lastAppointmentLayout.setVisibility(View.VISIBLE); + tvLastAppointmentDate.setText(org.smartregister.chw.core.utils.Utils.dd_MMM_yyyy.format(lastAppointmentDate)); + } } public void setStartingActivity(String startingActivity) { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReferralDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReferralDao.java index 7d304d1df0..39652a3df5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReferralDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReferralDao.java @@ -2,7 +2,15 @@ import org.smartregister.dao.AbstractDao; +import java.math.BigDecimal; +import java.sql.Date; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; import java.util.List; +import java.util.Locale; + +import timber.log.Timber; public class ReferralDao extends AbstractDao { public static String getTaskIdByReasonReference(String formId) { @@ -18,4 +26,31 @@ public static String getTaskIdByReasonReference(String formId) { return res.size() > 0 ? res.get(0) : ""; } + + public static Date getLastAppointmentDate(String baseEntityId) { + DataMap dataMap = cursor -> getCursorValue(cursor, "last_appointment_date"); + + String sql = "SELECT last_appointment_date from ec_referral " + + "WHERE base_entity_id = '" + baseEntityId + "' "; + List res = readData(sql, dataMap); + + if (res != null && res.size() > 0 && res.get(0) != null) { + Calendar cal = Calendar.getInstance(); + try { + cal.setTimeInMillis(new BigDecimal(res.get(0)).longValue()); + } catch (Exception e) { + //NEEDED FOR THE ISSUE IN SOME TABLETS FAILING TO CREATE A TIMESTAMP + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); + try { + cal.setTime(sdf.parse(res.get(0))); + } catch (ParseException parseException) { + Timber.e(parseException); + return null; + } + } + return new Date(cal.getTimeInMillis()); + } + return null; + + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java index 50c8277057..5460c9dec6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java @@ -54,6 +54,7 @@ private void addTaskDetails(Set columns) { columns.add(CoreConstants.TABLE_NAME.TASK + "." + CoreConstants.DB_CONSTANTS.OWNER); columns.add(CoreConstants.TABLE_NAME.TASK + "." + CoreConstants.DB_CONSTANTS.REQUESTER); columns.add(CoreConstants.TABLE_NAME.TASK + "." + CoreConstants.DB_CONSTANTS.START); + columns.add(CoreConstants.TABLE_NAME.TASK + "." + "reason_reference"); columns.add(CoreConstants.TABLE_NAME.TASK + "." + "description AS REFERRAL_CLINIC" ); columns.add(CoreConstants.TABLE_NAME.TASK + "." + "location AS " + org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_HF); columns.add(CoreConstants.TABLE_NAME.REFERRAL + "." + org.smartregister.chw.referral.util.DBConstants.Key.PROBLEM); diff --git a/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml b/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml index f71fec9bb9..b8e5427b5d 100644 --- a/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml +++ b/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml @@ -275,6 +275,7 @@ android:layout_marginTop="10dp" android:layout_marginBottom="20dp" android:orientation="vertical" + android:visibility="gone" android:paddingStart="10dp" android:paddingEnd="10dp"> diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index e3ead5769c..2d21d4e3a9 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -1820,6 +1820,14 @@ "concept": "problem_other" } }, + { + "column_name": "last_appointment_date", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "last_appointment_date" + } + }, { "column_name": "service_before_referral", "type": "Event", From 9796f8e13e7662ae99e08372765a1add1223b8dc Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 9 Jun 2022 10:42:25 +0300 Subject: [PATCH 490/915] fix: loads the feedback form without rules --- opensrp-chw/src/main/AndroidManifest.xml | 2 + .../activity/LTFURecordFeedbackActivity.java | 35 ++ .../LTFUReferralsDetailsViewActivity.java | 18 +- .../layout/referrals_tasks_view_layout.xml | 2 +- .../ltfu_community_followup_feedback.json | 317 ++++++++++++++++++ 5 files changed, 370 insertions(+), 4 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFURecordFeedbackActivity.java create mode 100644 opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index beed4ca76b..5b5d214c9a 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -18,6 +18,8 @@ android:theme="@style/ChwTheme.NoActionBar"/> + Date: Thu, 9 Jun 2022 11:05:16 +0300 Subject: [PATCH 491/915] fix: feedback form with rules for relevance --- .../ltfu_community_followup_feedback.json | 22 ++++-- .../assets/rule/ltfu_feedback_form_rules.yml | 68 +++++++++++++++++++ 2 files changed, 85 insertions(+), 5 deletions(-) create mode 100644 opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml diff --git a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json index 1e0c5236ba..fa9601a6ac 100644 --- a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json @@ -4,6 +4,7 @@ "encounter_type": "LTFU Feedback", "entity_id": "", "relational_id": "", + "rules_file": "rule/ltfu_feedback_form_rules.yml", "metadata": { "start": { "openmrs_entity_parent": "", @@ -237,13 +238,14 @@ } } ], - "required_status": "yes:Please select reason why client missed last appointment" + "required_status": "yes:Please select reason why client missed last appointment", + "subjects": "followup_status:map" }, { "name": "referral_appointment_date", "type": "datetime_picker", "properties": { - "hint": "Please select the date client promises to come for the next appointment", + "hint": "Please select the date client returns", "type": "date_picker", "display_format": "dd/MM/yyyy", "min_date": "today" @@ -253,7 +255,15 @@ "openmrs_entity_id": "referral_appointment_date", "openmrs_entity_parent": "" }, - "required_status": "true:Please specify the appointment date" + "required_status": "true:Please specify the appointment date", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status", + "service_before_referral" + ], + "subjects": "followup_status:map" }, { "name": "date_of_death", @@ -268,7 +278,8 @@ "openmrs_entity_id": "date_of_death", "openmrs_entity_parent": "" }, - "required_status": "true:Please specify the date of death" + "required_status": "true:Please specify the date of death", + "subjects": "followup_status:map" }, { "name": "reason_client_not_found", @@ -309,7 +320,8 @@ "openmrs_entity_parent": "" } } - ] + ], + "subjects": "followup_status:map" } ] } diff --git a/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml new file mode 100644 index 0000000000..2d26242ad1 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml @@ -0,0 +1,68 @@ +--- +name: "reasons_for_missed_appointment_visibility" +description: "Reasons for missed appointment visibility" +priority: 1 +condition: "followup_status.value == 'Client found and ready to return to clinic'" +actions: + - "reasons_for_missed_appointment_visibility = true" +--- +name: "referral_appointment_date_visibility" +description: "Reasons for missed appointment visibility" +priority: 1 +condition: "followup_status.value == 'Client found and ready to return to clinic'" +actions: + - "referral_appointment_date_visibility = true" +--- +name: "date_of_death_visibility" +description: "Reasons for missed appointment visibility" +priority: 1 +condition: "followup_status.value == 'Deceased'" +actions: + - "date_of_death_visibility = true" +--- +name: "reason_client_not_found_visibility" +description: "Reasons for missed appointment visibility" +priority: 1 +condition: "followup_status.value == 'Client not found'" +actions: + - "reason_client_not_found_visibility = true" +--- +name: "referral_date_calculation" +description: "Referral date calculation" +priority: 1 +condition: "true" +actions: + - "referral_date_calculation = System.currentTimeMillis()" +--- +name: "referral_time_calculation" +description: "Referral time calculation" +priority: 1 +condition: "true" +actions: + - "def getDate(dateFormat) { + import java.util.*; + import java.text.SimpleDateFormat; + return new SimpleDateFormat(dateFormat).format(System.currentTimeMillis()); + }" + - "referral_time_calculation = getDate('HH:mm:ss.SSS')" +--- +name: "referral_type_calculation" +description: "Referral type calculation" +priority: 1 +condition: "true" +actions: + - "referral_type_calculation = 'ltfu_feedback_referral'" +--- +name: "referral_status_calculation" +description: "Referral type calculation" +priority: 1 +condition: "true" +actions: + - "referral_status_calculation = 'PENDING'" +--- +name: "service_before_referral_calculation" +description: "Service Before Referral" +condition: "true" +priority: 1 +actions: + - "service_before_referral_calculation = 'None'" \ No newline at end of file From 62967468f3ef5d1a9f92b18badff43063fdc37b7 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 9 Jun 2022 14:33:16 +0300 Subject: [PATCH 492/915] fix: sending referral if the client is continuing with services --- .../activity/LTFURecordFeedbackActivity.java | 21 ++- .../LTFUReferralsDetailsViewActivity.java | 12 +- .../chw/model/LTFURecordFeedbackModel.java | 43 ++++++ .../chw/model/LTFUReferralModel.java | 2 +- .../LTFURecordFeedbackPresenter.java | 133 ++++++++++++++++++ .../assets/rule/ltfu_feedback_form_rules.yml | 2 +- 6 files changed, 206 insertions(+), 7 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/LTFURecordFeedbackModel.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFURecordFeedbackActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFURecordFeedbackActivity.java index 1c067fda65..94588cbd32 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFURecordFeedbackActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFURecordFeedbackActivity.java @@ -7,16 +7,25 @@ import org.jetbrains.annotations.Nullable; import org.json.JSONObject; import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.presenter.LTFURecordFeedbackPresenter; import org.smartregister.chw.referral.activity.BaseIssueReferralActivity; +import org.smartregister.chw.referral.contract.BaseIssueReferralContract; +import org.smartregister.chw.referral.interactor.BaseIssueReferralInteractor; +import org.smartregister.chw.referral.model.BaseIssueReferralModel; +import org.smartregister.chw.referral.presenter.BaseIssueReferralPresenter; import org.smartregister.chw.referral.util.Constants; import org.smartregister.chw.util.JsonFormUtils; +import androidx.annotation.NonNull; + public class LTFURecordFeedbackActivity extends BaseIssueReferralActivity { - // private static String BASE_ENTITY_ID; + private static String BASE_ENTITY_ID; + private static String referralHf; - public static void startFeedbackFormActivityForResults(Activity activity, String baseEntityId, JSONObject formJsonObject, boolean useCustomLayout) { - // BASE_ENTITY_ID = baseEntityId; + public static void startFeedbackFormActivityForResults(Activity activity, String baseEntityId, JSONObject formJsonObject, boolean useCustomLayout, String locationId) { + BASE_ENTITY_ID = baseEntityId; + referralHf = locationId; Intent intent = new Intent(activity, LTFURecordFeedbackActivity.class); intent.putExtra(Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityId); intent.putExtra(Constants.ActivityPayload.JSON_FORM, formJsonObject.toString()); @@ -32,4 +41,10 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { } + @NonNull + @Override + public BaseIssueReferralPresenter presenter() { + return new LTFURecordFeedbackPresenter(BASE_ENTITY_ID, referralHf, (BaseIssueReferralContract.View) this, + BaseIssueReferralModel.class, (BaseIssueReferralContract.Interactor) new BaseIssueReferralInteractor()); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java index 79ee6edd0d..cd1259b687 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java @@ -6,12 +6,14 @@ import android.view.View; import android.widget.LinearLayout; +import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; import org.smartregister.chw.core.activity.BaseReferralTaskViewActivity; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.FormUtils; import org.smartregister.chw.dao.ReferralDao; +import org.smartregister.chw.util.Constants; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.domain.Location; import org.smartregister.domain.Task; @@ -27,6 +29,7 @@ public class LTFUReferralsDetailsViewActivity extends BaseReferralTaskViewActivi private static CommonPersonObjectClient commonPersonObjectClient; private static String baseEntityId; + private static String locationId; public static void startLTFUReferralsDetailsViewActivity(Activity activity, CommonPersonObjectClient personObjectClient, Task task, String startingActivity) { LTFUReferralsDetailsViewActivity.personObjectClient = personObjectClient; @@ -36,6 +39,7 @@ public static void startLTFUReferralsDetailsViewActivity(Activity activity, Comm intent.putExtra(CoreConstants.INTENT_KEY.STARTING_ACTIVITY, startingActivity); commonPersonObjectClient = personObjectClient; baseEntityId = Utils.getValue(personObjectClient.getColumnmaps(), CoreConstants.DB_CONSTANTS.BASE_ENTITY_ID, false); + locationId = Utils.getValue(commonPersonObjectClient.getColumnmaps(), org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_HF, false); passToolbarTitle(activity, intent); activity.startActivity(intent); } @@ -86,7 +90,6 @@ public void setUpViews() { getReferralDetails(); LocationRepository locationRepository = new LocationRepository(); - String locationId = Utils.getValue(commonPersonObjectClient.getColumnmaps(), org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_HF, false); String reasonReference = Utils.getValue(commonPersonObjectClient.getColumnmaps(), "reason_reference", false); Location location = locationRepository.getLocationById(locationId); chwDetailsNames.setText(location.getProperties().getName()); @@ -110,7 +113,12 @@ public String getBaseEntityId() { public void onClick(View v) { if (v.getId() == R.id.record_feedback) { JSONObject formJSONObject = FormUtils.getFormUtils().getFormJson("ltfu_community_followup_feedback"); - LTFURecordFeedbackActivity.startFeedbackFormActivityForResults(this, baseEntityId, formJSONObject, false); + try { + formJSONObject.put(Constants.REFERRAL_TASK_FOCUS, "LTFU Community Followup Feedback"); + } catch (JSONException e) { + e.printStackTrace(); + } + LTFURecordFeedbackActivity.startFeedbackFormActivityForResults(this, baseEntityId, formJSONObject, false, locationId); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFURecordFeedbackModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFURecordFeedbackModel.java new file mode 100644 index 0000000000..9662c15898 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFURecordFeedbackModel.java @@ -0,0 +1,43 @@ +package org.smartregister.chw.model; + +import org.smartregister.chw.core.utils.ChildDBConstants; +import org.smartregister.chw.referral.model.BaseIssueReferralModel; +import org.smartregister.chw.util.Constants; +import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; +import org.smartregister.family.util.DBConstants; + +import java.util.HashSet; +import java.util.Set; + +import androidx.annotation.NonNull; + +public class LTFURecordFeedbackModel extends BaseIssueReferralModel { + @NonNull + @Override + public String mainSelect(@NonNull String tableName, @NonNull String mainCondition) { + SmartRegisterQueryBuilder queryBuilder = new SmartRegisterQueryBuilder(); + queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName)); + queryBuilder.customJoin("INNER JOIN " + Constants.TABLE_NAME.FAMILY + " ON " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " = " + Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.BASE_ENTITY_ID); + return queryBuilder.mainCondition(mainCondition); + } + + @Override + public String[] mainColumns(String tableName) { + Set columnList = new HashSet<>(); + + columnList.add(tableName + "." + DBConstants.KEY.BASE_ENTITY_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.FIRST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.MIDDLE_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.LAST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.DOB); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.GENDER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.UNIQUE_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.VILLAGE_TOWN); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FAMILY_HEAD); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.PRIMARY_CAREGIVER); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); + return columnList.toArray(new String[columnList.size()]); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java index 5460c9dec6..c436d527f6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java @@ -18,7 +18,7 @@ public String mainSelect(String tableName, String entityTable, String mainCondit queryBuilder.selectInitiateMainTable(tableName, mainColumns(tableName, entityTable), CoreConstants.DB_CONSTANTS.ID); queryBuilder.customJoin(String.format("INNER JOIN %s ON %s.%s = %s.%s AND task.business_status = 'Referred' COLLATE NOCASE ", entityTable, entityTable, DBConstants.KEY.BASE_ENTITY_ID, tableName, CoreConstants.DB_CONSTANTS.FOR)); - queryBuilder.customJoin(String.format("INNER JOIN %s ON %s.%s = %s.%s COLLATE NOCASE ", CoreConstants.TABLE_NAME.REFERRAL, + queryBuilder.customJoin(String.format("INNER JOIN %s ON %s.%s = %s.%s COLLATE NOCASE AND ec_referral.chw_referral_service = 'LTFU' COLLATE NOCASE ", CoreConstants.TABLE_NAME.REFERRAL, CoreConstants.TABLE_NAME.REFERRAL, DBConstants.KEY.BASE_ENTITY_ID, tableName, ChwDBConstants.TaskTable.REASON_REFERENCE)); queryBuilder.customJoin("LEFT JOIN ec_family ON ec_family_member.relational_id = ec_family.id COLLATE NOCASE"); return queryBuilder.mainCondition(mainCondition); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java new file mode 100644 index 0000000000..6601b7c962 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java @@ -0,0 +1,133 @@ +package org.smartregister.chw.presenter; + +import android.app.Activity; + +import com.nerdstone.neatformcore.domain.model.NFormViewData; + +import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.NotNull; +import org.json.JSONObject; +import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.model.LTFURecordFeedbackModel; +import org.smartregister.chw.referral.contract.BaseIssueReferralContract; +import org.smartregister.chw.referral.model.AbstractIssueReferralModel; +import org.smartregister.chw.referral.presenter.BaseIssueReferralPresenter; +import org.smartregister.chw.referral.util.DBConstants; +import org.smartregister.chw.util.Constants; +import org.smartregister.domain.Location; +import org.smartregister.repository.LocationRepository; + +import java.util.HashMap; + +import androidx.annotation.NonNull; + + +public class LTFURecordFeedbackPresenter extends BaseIssueReferralPresenter { + private final String referralHf; + + public LTFURecordFeedbackPresenter(@NonNull String baseEntityID, String referralHf, @NonNull BaseIssueReferralContract.View view, @NonNull Class viewModelClass, @NonNull BaseIssueReferralContract.Interactor interactor) { + super(baseEntityID, view, viewModelClass, interactor); + this.referralHf = referralHf; + } + + + @Override + public Class getViewModel() { + return LTFURecordFeedbackModel.class; + } + + @NonNull + @Override + public String getMainCondition() { + return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.BASE_ENTITY_ID + " = '" + getBaseEntityID() + "'"; + } + + @NotNull + @Override + public String getMainTable() { + return Constants.TABLE_NAME.FAMILY_MEMBER; + } + + @Override + public void onRegistrationSaved(boolean saveSuccessful) { + super.onRegistrationSaved(saveSuccessful); + NavigationMenu navigationMenu = NavigationMenu.getInstance((Activity) getView(), + null, null); + if (navigationMenu != null) { + navigationMenu.refreshCount(); + } + } + + @Override + public void saveForm(@NonNull HashMap valuesHashMap, @NonNull JSONObject jsonObject) { + //first close the referral task + //if from the valuesHasMap followupStatus value is continuing_with_services then call save form super + //else create an event that just sends the feedback to the server + if (StringUtils.containsIgnoreCase(String.valueOf(valuesHashMap.get("followup_status").getValue()), "continuing_with_services")) { + tagWithReferralDetails(valuesHashMap); + super.saveForm(valuesHashMap, jsonObject); + } + + } + + private void tagWithReferralDetails(HashMap valuesHashMap) { + + LocationRepository locationRepository = new LocationRepository(); + Location location = locationRepository.getLocationById(referralHf); + + valuesHashMap.put("problem", generateProblem()); + valuesHashMap.put("chw_referral_hf", generateChwReferralHf(referralHf, location.getProperties().getName())); + } + + private NFormViewData generateProblem() { + NFormViewData problem = new NFormViewData(); + NFormViewData problemValue = new NFormViewData(); + HashMap problemValueHash = new HashMap<>(); + + + HashMap problemMetaData = new HashMap<>(); + problemMetaData.put("openmrs_entity", "concept"); + problemMetaData.put("openmrs_entity_id", "problem"); + + HashMap problemValueMetaData = new HashMap<>(); + problemValueMetaData.put("openmrs_entity", "concept"); + problemValueMetaData.put("openmrs_entity_id", "client_returning_to_services"); + + problemValue.setMetadata(problemValueMetaData); + problemValue.setValue("LTF Client Returning to Service"); + + problemValueHash.put("client_returning_to_services", problemValue); + + problem.setMetadata(problemMetaData); + problem.setValue(problemValueHash); + problem.setVisible(true); + problem.setType("Calculation"); + + return problem; + } + + private NFormViewData generateChwReferralHf(String referralHfCode, String referralHfName) { + NFormViewData chwReferralHf = new NFormViewData(); + HashMap chwReferralHfMetaData = new HashMap<>(); + + NFormViewData chwReferralHfValue = new NFormViewData(); + HashMap chwReferralHfValueMetaData = new HashMap<>(); + + chwReferralHfValueMetaData.put("openmrs_entity", "concept"); + chwReferralHfValueMetaData.put("openmrs_entity_id", referralHfCode); + + chwReferralHfValue.setMetadata(chwReferralHfValueMetaData); + + chwReferralHfValue.setValue(referralHfName); + + chwReferralHfMetaData.put("openmrs_entity", "concept"); + chwReferralHfMetaData.put("openmrs_entity_id", "chw_referral_hf"); + + chwReferralHf.setMetadata(chwReferralHfMetaData); + chwReferralHf.setValue(chwReferralHfValue); + chwReferralHf.setVisible(true); + chwReferralHf.setType("Calculation"); + + return chwReferralHf; + } +} diff --git a/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml index 2d26242ad1..6e9539fd92 100644 --- a/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml @@ -51,7 +51,7 @@ description: "Referral type calculation" priority: 1 condition: "true" actions: - - "referral_type_calculation = 'ltfu_feedback_referral'" + - "referral_type_calculation = 'community_to_facility_referral'" --- name: "referral_status_calculation" description: "Referral type calculation" From 18ac75684e3dee53004d752c565a41d820da1ce1 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 9 Jun 2022 15:45:10 +0300 Subject: [PATCH 493/915] fix: finishing the ltfu referrals and completing task --- .../activity/LTFURecordFeedbackActivity.java | 6 +- .../LTFUReferralsDetailsViewActivity.java | 13 ++- .../LTFURecordFeedbackPresenter.java | 85 ++++++++++++++++++- 3 files changed, 98 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFURecordFeedbackActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFURecordFeedbackActivity.java index 94588cbd32..634f38f068 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFURecordFeedbackActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFURecordFeedbackActivity.java @@ -22,10 +22,12 @@ public class LTFURecordFeedbackActivity extends BaseIssueReferralActivity { private static String BASE_ENTITY_ID; private static String referralHf; + private static String taskId; - public static void startFeedbackFormActivityForResults(Activity activity, String baseEntityId, JSONObject formJsonObject, boolean useCustomLayout, String locationId) { + public static void startFeedbackFormActivityForResults(Activity activity, String baseEntityId, JSONObject formJsonObject, boolean useCustomLayout, String locationId, String task_id) { BASE_ENTITY_ID = baseEntityId; referralHf = locationId; + taskId = task_id; Intent intent = new Intent(activity, LTFURecordFeedbackActivity.class); intent.putExtra(Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityId); intent.putExtra(Constants.ActivityPayload.JSON_FORM, formJsonObject.toString()); @@ -44,7 +46,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { @NonNull @Override public BaseIssueReferralPresenter presenter() { - return new LTFURecordFeedbackPresenter(BASE_ENTITY_ID, referralHf, (BaseIssueReferralContract.View) this, + return new LTFURecordFeedbackPresenter(BASE_ENTITY_ID, taskId, referralHf, (BaseIssueReferralContract.View) this, BaseIssueReferralModel.class, (BaseIssueReferralContract.Interactor) new BaseIssueReferralInteractor()); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java index cd1259b687..852cd89540 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java @@ -14,6 +14,7 @@ import org.smartregister.chw.core.utils.FormUtils; import org.smartregister.chw.dao.ReferralDao; import org.smartregister.chw.util.Constants; +import org.smartregister.chw.util.JsonFormUtils; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.domain.Location; import org.smartregister.domain.Task; @@ -30,6 +31,7 @@ public class LTFUReferralsDetailsViewActivity extends BaseReferralTaskViewActivi private static CommonPersonObjectClient commonPersonObjectClient; private static String baseEntityId; private static String locationId; + private static String taskId; public static void startLTFUReferralsDetailsViewActivity(Activity activity, CommonPersonObjectClient personObjectClient, Task task, String startingActivity) { LTFUReferralsDetailsViewActivity.personObjectClient = personObjectClient; @@ -40,6 +42,7 @@ public static void startLTFUReferralsDetailsViewActivity(Activity activity, Comm commonPersonObjectClient = personObjectClient; baseEntityId = Utils.getValue(personObjectClient.getColumnmaps(), CoreConstants.DB_CONSTANTS.BASE_ENTITY_ID, false); locationId = Utils.getValue(commonPersonObjectClient.getColumnmaps(), org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_HF, false); + taskId = task.getIdentifier(); passToolbarTitle(activity, intent); activity.startActivity(intent); } @@ -67,6 +70,14 @@ protected void onResumption() { //Overridden } + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == Activity.RESULT_OK && requestCode == JsonFormUtils.REQUEST_CODE_GET_JSON) { + finish(); + } + } + public void setUpViews() { clientName = findViewById(R.id.client_name); careGiverName = findViewById(R.id.care_giver_name); @@ -118,7 +129,7 @@ public void onClick(View v) { } catch (JSONException e) { e.printStackTrace(); } - LTFURecordFeedbackActivity.startFeedbackFormActivityForResults(this, baseEntityId, formJSONObject, false, locationId); + LTFURecordFeedbackActivity.startFeedbackFormActivityForResults(this, baseEntityId, formJSONObject, false, locationId, taskId); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java index 6601b7c962..0e8b0653a7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java @@ -1,33 +1,58 @@ package org.smartregister.chw.presenter; import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.widget.Toast; +import android.widget.Toolbar; import com.nerdstone.neatformcore.domain.model.NFormViewData; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import org.json.JSONObject; +import org.smartregister.chw.BuildConfig; +import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.CoreReferralUtils; +import org.smartregister.chw.fragment.LTFUReferralsRegisterFragment; import org.smartregister.chw.model.LTFURecordFeedbackModel; import org.smartregister.chw.referral.contract.BaseIssueReferralContract; import org.smartregister.chw.referral.model.AbstractIssueReferralModel; import org.smartregister.chw.referral.presenter.BaseIssueReferralPresenter; import org.smartregister.chw.referral.util.DBConstants; import org.smartregister.chw.util.Constants; +import org.smartregister.clientandeventmodel.Event; +import org.smartregister.clientandeventmodel.Obs; import org.smartregister.domain.Location; +import org.smartregister.domain.Task; +import org.smartregister.family.FamilyLibrary; +import org.smartregister.family.util.Utils; +import org.smartregister.repository.AllSharedPreferences; +import org.smartregister.repository.BaseRepository; import org.smartregister.repository.LocationRepository; +import org.smartregister.sync.helper.ECSyncHelper; +import org.smartregister.util.JsonFormUtils; +import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import androidx.annotation.NonNull; +import timber.log.Timber; public class LTFURecordFeedbackPresenter extends BaseIssueReferralPresenter { private final String referralHf; + private final String taskId; + private final String baseEntityId; - public LTFURecordFeedbackPresenter(@NonNull String baseEntityID, String referralHf, @NonNull BaseIssueReferralContract.View view, @NonNull Class viewModelClass, @NonNull BaseIssueReferralContract.Interactor interactor) { + public LTFURecordFeedbackPresenter(@NonNull String baseEntityID, String taskId, String referralHf, @NonNull BaseIssueReferralContract.View view, @NonNull Class viewModelClass, @NonNull BaseIssueReferralContract.Interactor interactor) { super(baseEntityID, view, viewModelClass, interactor); this.referralHf = referralHf; + this.baseEntityId = baseEntityID; + this.taskId = taskId; } @@ -39,7 +64,7 @@ public Class getViewModel() { @NonNull @Override public String getMainCondition() { - return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.BASE_ENTITY_ID + " = '" + getBaseEntityID() + "'"; + return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.BASE_ENTITY_ID + " = '" + baseEntityId + "'"; } @NotNull @@ -50,7 +75,6 @@ public String getMainTable() { @Override public void onRegistrationSaved(boolean saveSuccessful) { - super.onRegistrationSaved(saveSuccessful); NavigationMenu navigationMenu = NavigationMenu.getInstance((Activity) getView(), null, null); if (navigationMenu != null) { @@ -68,6 +92,9 @@ public void saveForm(@NonNull HashMap valuesHashMap, @Non super.saveForm(valuesHashMap, jsonObject); } + saveCloseReferralEvent(); + completeTask(); + } private void tagWithReferralDetails(HashMap valuesHashMap) { @@ -130,4 +157,56 @@ private NFormViewData generateChwReferralHf(String referralHfCode, String referr return chwReferralHf; } + + private void saveCloseReferralEvent() { + try { + AllSharedPreferences sharedPreferences = Utils.getAllSharedPreferences(); + ECSyncHelper syncHelper = FamilyLibrary.getInstance().getEcSyncHelper(); + Event baseEvent = (Event) new Event() + .withBaseEntityId(baseEntityId) + .withEventDate(new Date()) + .withEventType(CoreConstants.EventType.CLOSE_REFERRAL) + .withFormSubmissionId(JsonFormUtils.generateRandomUUIDString()) + .withEntityType(CoreConstants.TABLE_NAME.CLOSE_REFERRAL) + .withProviderId(sharedPreferences.fetchRegisteredANM()) + .withLocationId(getTask().getLocation()) + .withTeamId(sharedPreferences.fetchDefaultTeamId(sharedPreferences.fetchRegisteredANM())) + .withTeam(sharedPreferences.fetchDefaultTeam(sharedPreferences.fetchRegisteredANM())) + .withClientDatabaseVersion(BuildConfig.DATABASE_VERSION) + .withClientApplicationVersion(BuildConfig.VERSION_CODE) + .withDateCreated(new Date()); + + baseEvent.addObs((new Obs()).withFormSubmissionField(CoreConstants.FORM_CONSTANTS.FORM_SUBMISSION_FIELD.REFERRAL_TASK).withValue(getTask().getIdentifier()) + .withFieldCode(CoreConstants.FORM_CONSTANTS.FORM_SUBMISSION_FIELD.REFERRAL_TASK).withFieldType("formsubmissionField").withFieldDataType("text").withParentCode("").withHumanReadableValues(new ArrayList<>())); + baseEvent.addObs((new Obs()).withFormSubmissionField(CoreConstants.FORM_CONSTANTS.FORM_SUBMISSION_FIELD.REFERRAL_TASK_PREVIOUS_STATUS).withValue(getTask().getStatus()) + .withFieldCode(CoreConstants.FORM_CONSTANTS.FORM_SUBMISSION_FIELD.REFERRAL_TASK_PREVIOUS_STATUS).withFieldType("formsubmissionField").withFieldDataType("text").withParentCode("").withHumanReadableValues(new ArrayList<>())); + baseEvent.addObs((new Obs()).withFormSubmissionField(CoreConstants.FORM_CONSTANTS.FORM_SUBMISSION_FIELD.REFERRAL_TASK_PREVIOUS_BUSINESS_STATUS).withValue(getTask().getBusinessStatus()) + .withFieldCode(CoreConstants.FORM_CONSTANTS.FORM_SUBMISSION_FIELD.REFERRAL_TASK_PREVIOUS_BUSINESS_STATUS).withFieldType("formsubmissionField").withFieldDataType("text").withParentCode("").withHumanReadableValues(new ArrayList<>())); + org.smartregister.chw.util.JsonFormUtils.tagSyncMetadata(Utils.context().allSharedPreferences(), baseEvent);// tag docs + + //setting the location uuid of the referral initiator so that to allow the event to sync back to the chw app since it sync data by location. + baseEvent.setLocationId(getTask().getLocation()); + + JSONObject eventJson = new JSONObject(JsonFormUtils.gson.toJson(baseEvent)); + syncHelper.addEvent(baseEntityId, eventJson); + long lastSyncTimeStamp = ChwApplication.getInstance().getContext().allSharedPreferences().fetchLastUpdatedAtDate(0); + Date lastSyncDate = new Date(lastSyncTimeStamp); + ChwApplication.getClientProcessor(ChwApplication.getInstance().getContext().applicationContext()).processClient(syncHelper.getEvents(lastSyncDate, BaseRepository.TYPE_Unprocessed)); + ChwApplication.getInstance().getContext().allSharedPreferences().saveLastUpdatedAtDate(lastSyncDate.getTime()); + } catch (Exception e) { + Timber.e(e, "LTFURecordFeedbackPresenter --> saveCloseReferralEvent"); + } + + } + + private Task getTask() { + return ChwApplication.getInstance().getTaskRepository().getTaskByIdentifier(taskId); + } + + private void completeTask() { + Task currentTask = getTask(); + currentTask.setForEntity(baseEntityId); + currentTask.setStatus(Task.TaskStatus.IN_PROGRESS); + CoreReferralUtils.completeTask(currentTask, false); + } } From 8031451e24ba1dd45cd11a0299c4ab3b68854239 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 9 Jun 2022 16:41:17 +0300 Subject: [PATCH 494/915] fix: creates feedback event --- .../LTFURecordFeedbackPresenter.java | 41 ++++++++++++-- .../smartregister/chw/util/JsonFormUtils.java | 56 +++++++++++++++++++ 2 files changed, 91 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java index 0e8b0653a7..203481b18c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java @@ -1,10 +1,6 @@ package org.smartregister.chw.presenter; import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.widget.Toast; -import android.widget.Toolbar; import com.nerdstone.neatformcore.domain.model.NFormViewData; @@ -16,7 +12,6 @@ import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.CoreReferralUtils; -import org.smartregister.chw.fragment.LTFUReferralsRegisterFragment; import org.smartregister.chw.model.LTFURecordFeedbackModel; import org.smartregister.chw.referral.contract.BaseIssueReferralContract; import org.smartregister.chw.referral.model.AbstractIssueReferralModel; @@ -38,6 +33,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.HashMap; +import java.util.List; import androidx.annotation.NonNull; import timber.log.Timber; @@ -91,7 +87,11 @@ public void saveForm(@NonNull HashMap valuesHashMap, @Non tagWithReferralDetails(valuesHashMap); super.saveForm(valuesHashMap, jsonObject); } - + try { + createFeedbackEvent(valuesHashMap); + } catch (Exception e) { + Timber.e(e); + } saveCloseReferralEvent(); completeTask(); @@ -199,6 +199,35 @@ private void saveCloseReferralEvent() { } + private void createFeedbackEvent(HashMap valuesHashMap) throws Exception { + List obs = org.smartregister.chw.util.JsonFormUtils.getObsForNeatForm(valuesHashMap); + if (obs.size() > 0) { + Event baseEvent = (Event) new Event() + .withBaseEntityId(baseEntityId) + .withEventDate(new Date()) + .withEventType("LTFU Feedback") + .withFormSubmissionId(JsonFormUtils.generateRandomUUIDString()) + .withEntityType(CoreConstants.TABLE_NAME.REFERRAL) + .withProviderId(Utils.getAllSharedPreferences().fetchRegisteredANM()) + .withLocationId(referralHf) + .withTeamId(Utils.getAllSharedPreferences().fetchDefaultTeamId(Utils.getAllSharedPreferences().fetchRegisteredANM())) + .withTeam(Utils.getAllSharedPreferences().fetchDefaultTeam(Utils.getAllSharedPreferences().fetchRegisteredANM())) + .withClientDatabaseVersion(BuildConfig.DATABASE_VERSION) + .withClientApplicationVersion(BuildConfig.VERSION_CODE) + .withDateCreated(new Date()); + + for (Obs ob : obs) { + baseEvent.addObs(ob); + } + JSONObject eventJson = new JSONObject(JsonFormUtils.gson.toJson(baseEvent)); + FamilyLibrary.getInstance().getEcSyncHelper().addEvent(baseEntityId, eventJson); + long lastSyncTimeStamp = ChwApplication.getInstance().getContext().allSharedPreferences().fetchLastUpdatedAtDate(0); + Date lastSyncDate = new Date(lastSyncTimeStamp); + ChwApplication.getClientProcessor(ChwApplication.getInstance().getContext().applicationContext()).processClient(FamilyLibrary.getInstance().getEcSyncHelper().getEvents(lastSyncDate, BaseRepository.TYPE_Unprocessed)); + ChwApplication.getInstance().getContext().allSharedPreferences().saveLastUpdatedAtDate(lastSyncDate.getTime()); + } + } + private Task getTask() { return ChwApplication.getInstance().getTaskRepository().getTaskByIdentifier(taskId); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/JsonFormUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/JsonFormUtils.java index 3d0e7ab151..325f558859 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/JsonFormUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/JsonFormUtils.java @@ -3,6 +3,7 @@ import android.content.Context; import android.util.Pair; +import com.nerdstone.neatformcore.domain.model.NFormViewData; import com.vijay.jsonwizard.constants.JsonFormConstants; import net.sqlcipher.database.SQLiteDatabase; @@ -609,6 +610,60 @@ public static void populatedJsonForm(@NotNull JSONObject jsonObject, @NotNull Ma } } + public static List getObsForNeatForm(HashMap detailsHashMap) { + ArrayList obs = new ArrayList<>(); + for (String key : detailsHashMap.keySet()) { + NFormViewData viewData = detailsHashMap.get(key); + Obs ob = new Obs(); + ob.setFormSubmissionField(key); + if (viewData.getMetadata() != null) { + if (viewData.getMetadata().containsKey(OPENMRS_ENTITY)) + ob.setFieldType(viewData.getMetadata().get(OPENMRS_ENTITY).toString()); + if (viewData.getMetadata().containsKey(OPENMRS_ENTITY_ID)) + ob.setFieldCode(viewData.getMetadata().get(OPENMRS_ENTITY_ID).toString()); + if (viewData.getMetadata().containsKey(OPENMRS_ENTITY_PARENT)) + ob.setParentCode(viewData.getMetadata().get(OPENMRS_ENTITY_PARENT).toString()); + } + if (viewData.getValue() instanceof HashMap) { + ArrayList humanReadableValues = new ArrayList<>(); + addHumanReadableValues(ob, humanReadableValues, (HashMap) viewData.getValue()); + if (humanReadableValues.size() > 0) + ob.setHumanReadableValues(humanReadableValues); + } else if (viewData.getValue() instanceof NFormViewData) { + ArrayList humanReadableValues = new ArrayList<>(); + saveValues((NFormViewData) viewData.getValue(), ob, humanReadableValues); + if (humanReadableValues.size() > 0) + ob.setHumanReadableValues(humanReadableValues); + } else { + ob.setValue(viewData.getValue()); + } + obs.add(ob); + } + return obs; + } + + private static void saveValues(NFormViewData optionsNFormViewData, Obs obs, ArrayList humanReadableValues) { + if (optionsNFormViewData.getMetadata() != null) { + if (optionsNFormViewData.getMetadata().containsKey(OPENMRS_ENTITY_ID)) { + obs.setValue(optionsNFormViewData.getMetadata().get(OPENMRS_ENTITY_ID).toString()); + humanReadableValues.add(optionsNFormViewData.getValue()); + } else { + obs.setValue(optionsNFormViewData.getValue()); + } + } + } + + private static void addHumanReadableValues(Obs obs, ArrayList humanReadableValues, HashMap valuesHashMap) { + for (Object key : valuesHashMap.keySet()) { + Object value = valuesHashMap.get(key); + if (value instanceof NFormViewData) { + saveValues((NFormViewData) value, obs, humanReadableValues); + } else { + obs.setValue(value); + } + } + } + public interface Flavor { JSONObject getAutoJsonEditMemberFormString(String title, String formName, Context context, CommonPersonObjectClient client, String eventType, String familyName, boolean isPrimaryCaregiver); @@ -616,3 +671,4 @@ public interface Flavor { } } + From 27b93937f617e70e3a15210dbde16a090b7f5769 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 9 Jun 2022 16:58:03 +0300 Subject: [PATCH 495/915] updaet: fragment title resource --- .../chw/fragment/LTFUReferralsRegisterFragment.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java index dddda3181e..c35e366a66 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java @@ -2,6 +2,7 @@ import android.os.Handler; +import org.smartregister.chw.R; import org.smartregister.chw.activity.LTFUReferralsDetailsViewActivity; import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.fragment.BaseReferralRegisterFragment; @@ -36,6 +37,11 @@ public void setClient(CommonPersonObjectClient commonPersonObjectClient) { setCommonPersonObjectClient(commonPersonObjectClient); } + @Override + protected int getToolBarTitle() { + return R.string.menu_ltfu; + } + @Override protected String getMainCondition() { AllSharedPreferences allSharedPreferences = Utils.getAllSharedPreferences(); From b3d9e0c0d4f7e95e9b8c55c5a5e1ff8014c566ef Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 9 Jun 2022 17:00:28 +0300 Subject: [PATCH 496/915] fix: send update with task id --- .../chw/presenter/LTFURecordFeedbackPresenter.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java index 203481b18c..cbac60ab15 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java @@ -219,6 +219,8 @@ private void createFeedbackEvent(HashMap valuesHashMap) t for (Obs ob : obs) { baseEvent.addObs(ob); } + baseEvent.addObs((new Obs()).withFormSubmissionField(CoreConstants.FORM_CONSTANTS.FORM_SUBMISSION_FIELD.REFERRAL_TASK).withValue(getTask().getIdentifier()) + .withFieldCode(CoreConstants.FORM_CONSTANTS.FORM_SUBMISSION_FIELD.REFERRAL_TASK).withFieldType("formsubmissionField").withFieldDataType("text").withParentCode("").withHumanReadableValues(new ArrayList<>())); JSONObject eventJson = new JSONObject(JsonFormUtils.gson.toJson(baseEvent)); FamilyLibrary.getInstance().getEcSyncHelper().addEvent(baseEntityId, eventJson); long lastSyncTimeStamp = ChwApplication.getInstance().getContext().allSharedPreferences().fetchLastUpdatedAtDate(0); From 2ba349b450d646efc48156469a0e2dcf948f9d2d Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 9 Jun 2022 17:32:28 +0300 Subject: [PATCH 497/915] update: string resource --- opensrp-chw/src/nacp/res/values-sw/strings.xml | 2 +- opensrp-chw/src/nacp/res/values/strings.xml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index e6b71593ef..8afad7d1f4 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -53,7 +53,7 @@ Rufaa itafutwa na kupotea kwenye mfumo Toka Rufaa imetumwa kituoni - Rufaa imetumwa kituoni + Imefanikiwa HIFADHI diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 90728c6b92..8d2172ae5c 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -46,6 +46,7 @@ Client\'s General Registration + Successful Pain @@ -63,4 +64,5 @@ Confirmation Self Test Index Contact Testing + \ No newline at end of file From 0f2631d2e69b33bdc51d3d560e50adc4beeb81d7 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 13 Jun 2022 11:38:01 +0300 Subject: [PATCH 498/915] bumped: core version --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index ede3e6ee61..3ec6788a2c 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -345,7 +345,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.31.17-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.31.18-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From e7a40e1ff4e05b0e41174de91207b8efad7c9475 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 13 Jun 2022 11:38:41 +0300 Subject: [PATCH 499/915] fix: query condition for index contact --- .../HivIndexContactsContactsRegisterFragmentPresenter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactsContactsRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactsContactsRegisterFragmentPresenter.java index 337704d99a..26fb59c2ae 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactsContactsRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivIndexContactsContactsRegisterFragmentPresenter.java @@ -18,7 +18,7 @@ public HivIndexContactsContactsRegisterFragmentPresenter(BaseHivRegisterFragment public String getMainCondition() { return " " + Tables.HIV_INDEX + "." + DBConstants.Key.TEST_RESULTS + " IS NULL AND " + - Tables.HIV_INDEX + "." + DBConstants.Key.REFER_TO_CHW + " = 'Yes' AND " + + Tables.HIV_INDEX + "." + DBConstants.Key.REFER_TO_CHW + " = 'Yes' COLLATE NOCASE AND " + Tables.HIV_INDEX + "." + DBConstants.Key.HOW_TO_NOTIFY_CONTACT_CLIENT + " <> 'na'"; } From cfd0a79b9e5b3ceba24bc2c3cd965694308037cc Mon Sep 17 00:00:00 2001 From: Danford Nchembi Date: Tue, 14 Jun 2022 12:14:43 +0300 Subject: [PATCH 500/915] Adding new hiv services options --- .../json.form-sw/cbhs_followup_form.json | 80 ++++++++++++------- .../assets/json.form/cbhs_followup_form.json | 72 ++++++++++------- 2 files changed, 94 insertions(+), 58 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json index 90b71ec62b..648b22c904 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json @@ -723,7 +723,7 @@ "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Huduma za CBHS zilizotolewa" + "text": "CBHS services provided" }, "meta_data": { "openmrs_entity": "concept", @@ -732,89 +732,107 @@ }, "options": [ { - "name": "hiv_education", - "text": "HIV Education", + "name": "hiv_counselling_and_testing", + "text": "Huduma za ushauri nasaha na upimaji katika jamii", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_education", + "openmrs_entity_id": "hiv_counselling_and_testing", "openmrs_entity_parent": "" } }, { - "name": "pretest_information", - "text": "Pretest Information", + "name": "arv_services", + "text": "Huduma za dawa za kupunguza makali ya vvu katika jamii", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "pretest_information", + "openmrs_entity_id": "arv_services", "openmrs_entity_parent": "" } }, { - "name": "ipc", - "text": "IPC (Uzuiaji wa uambukizo katika Jamii)", + "name": "hiv_prevention_services_from_mother_to_infant", + "text": "Huduma za kuzuia maambukizi kutoka kwa mama kwenda kwa mtoto katika jamii", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "ipc", + "openmrs_entity_id": "hiv_prevention_services_from_mother_to_infant", "openmrs_entity_parent": "" } }, { - "name": "adherence_counselling", - "text": "Adherence Counselling", + "name": "collaborative_community_services_for_tb_and_hiv", + "text": "Huduma shirikishi za kifua kikuu na VVU katika jamii", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "adherence_counselling", + "openmrs_entity_id": "collaborative_community_services_for_tb_and_hiv", "openmrs_entity_parent": "" } }, { - "name": "gbv_vac_screening", - "text": "Screening of GBV and VAC", + "name": "services_to_prevent_the_spread_of_stds", + "text": "Huduma za kuzuia kuenea magonjwa ya ngono katika jamii", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "gbv_vac_screening", + "openmrs_entity_id": "services_to_prevent_the_spread_of_stds", "openmrs_entity_parent": "" } }, { - "name": "tb_sti_screening", - "text": "TB and STI Screening", + "name": "special_group_services", + "text": "Huduma kwa makundi maalumu", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "tb_sti_screening", + "openmrs_entity_id": "special_group_services", "openmrs_entity_parent": "" } }, { - "name": "referral_and_linkage", - "text": "Referral and Linkage", + "name": "services_to_prevent_gender_violence_and_child_abuse", + "text": "Huduma za kuzuia ukatili wa kijinsia na ukatili dhidi ya watoto katika jamii", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "referral_and_linkage", + "openmrs_entity_id": "services_to_prevent_gender_violence_and_child_abuse", "openmrs_entity_parent": "" } }, { - "name": "self_test_information", - "text": "Information and how to use self test", + "name": "psychological_services", + "text": "Huduma za kisaikolojia katika jamii", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "self_test_information", + "openmrs_entity_id": "psychological_services", "openmrs_entity_parent": "" } }, { - "name": "kvp_services", - "text": "KVP Services", + "name": "information_about_fgm", + "text": "Elimu ya tohara katika jamii", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "kvp_services", + "openmrs_entity_id": "information_about_fgm", + "openmrs_entity_parent": "" + } + }, + { + "name": "family_planning_and_condom_distribution_services", + "text": "Family planning and condom distribution services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "family_planning_and_condom_distribution_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "self_test_distribution_services", + "text": "Huduma ya ugawaji wa vitendanishi vya JIPIME", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "self_test_distribution_services", "openmrs_entity_parent": "" } }, { "name": "other_hiv_services", - "text": "Huduma nyingine za UKIMWI katika jamii", + "text": "Huduma zingine za CBHS", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "other_hiv_services", @@ -823,7 +841,7 @@ }, { "name": "none", - "text": "Hamna huduma iliyotolewa", + "text": "Hamna", "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", @@ -832,7 +850,7 @@ } } ], - "required_status": "yes:Tafadhali jaza huduma za CBHS zilizotolewa", + "required_status": "yes:Please fill the CBHS services provided", "subjects": "registration_or_followup_status:text" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json index 32c81a77ff..50886ed273 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json @@ -732,83 +732,101 @@ }, "options": [ { - "name": "hiv_education", - "text": "HIV Education", + "name": "hiv_counselling_and_testing", + "text": "HIV Counselling and Testing", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_education", + "openmrs_entity_id": "hiv_counselling_and_testing", "openmrs_entity_parent": "" } }, { - "name": "pretest_information", - "text": "Pretest Information", + "name": "arv_services", + "text": "ARV Services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "pretest_information", + "openmrs_entity_id": "arv_services", "openmrs_entity_parent": "" } }, { - "name": "ipc", - "text": "IPC (Uzuiaji wa uambukizo katika Jamii)", + "name": "hiv_prevention_services_from_mother_to_infant", + "text": "HIV Prevention services from mother to infant", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "ipc", + "openmrs_entity_id": "hiv_prevention_services_from_mother_to_infant", "openmrs_entity_parent": "" } }, { - "name": "adherence_counselling", - "text": "Adherence Counselling", + "name": "collaborative_community_services_for_tb_and_hiv", + "text": "Collaborative community services for TB and HIV", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "adherence_counselling", + "openmrs_entity_id": "collaborative_community_services_for_tb_and_hiv", "openmrs_entity_parent": "" } }, { - "name": "gbv_vac_screening", - "text": "Screening of GBV and VAC", + "name": "services_to_prevent_the_spread_of_stds", + "text": "Services to prevent the spread of STDs", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "gbv_vac_screening", + "openmrs_entity_id": "services_to_prevent_the_spread_of_stds", "openmrs_entity_parent": "" } }, { - "name": "tb_sti_screening", - "text": "TB and STI Screening", + "name": "special_group_services", + "text": "Special group services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "tb_sti_screening", + "openmrs_entity_id": "special_group_services", "openmrs_entity_parent": "" } }, { - "name": "referral_and_linkage", - "text": "Referral and Linkage", + "name": "services_to_prevent_gender_violence_and_child_abuse", + "text": "Services to prevent gender violence and child abuse", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "referral_and_linkage", + "openmrs_entity_id": "services_to_prevent_gender_violence_and_child_abuse", "openmrs_entity_parent": "" } }, { - "name": "self_test_information", - "text": "Information and how to use self test", + "name": "psychological_services", + "text": "Psychological services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "self_test_information", + "openmrs_entity_id": "psychological_services", "openmrs_entity_parent": "" } }, { - "name": "kvp_services", - "text": "KVP Services", + "name": "information_about_fgm", + "text": "Information about Female Genital Mutilation", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "kvp_services", + "openmrs_entity_id": "information_about_fgm", + "openmrs_entity_parent": "" + } + }, + { + "name": "family_planning_and_condom_distribution_services", + "text": "Family planning and condom distribution services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "family_planning_and_condom_distribution_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "self_test_distribution_services", + "text": "Self test distribution services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "self_test_distribution_services", "openmrs_entity_parent": "" } }, From 6566d18abc56d052f7a4610cfa12a5a99417dac0 Mon Sep 17 00:00:00 2001 From: Danford Nchembi Date: Tue, 14 Jun 2022 15:58:01 +0300 Subject: [PATCH 501/915] chnages --- .../src/nacp/assets/json.form-sw/cbhs_followup_form.json | 4 ++-- .../src/nacp/assets/json.form/cbhs_followup_form.json | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json index 648b22c904..a920c2ce0a 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json @@ -822,11 +822,11 @@ } }, { - "name": "self_test_distribution_services", + "name": "self_test_kits_distribution_services", "text": "Huduma ya ugawaji wa vitendanishi vya JIPIME", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "self_test_distribution_services", + "openmrs_entity_id": "self_test_kits_distribution_services", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json index 50886ed273..4cbe2eea6b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json @@ -822,11 +822,11 @@ } }, { - "name": "self_test_distribution_services", - "text": "Self test distribution services", + "name": "self_test_kits_distribution_services", + "text": "Self test kits distribution services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "self_test_distribution_services", + "openmrs_entity_id": "self_test_kits_distribution_services", "openmrs_entity_parent": "" } }, From 93e88e3c2501ae93865b88d1f31839e6fe7b07c8 Mon Sep 17 00:00:00 2001 From: zk497 Date: Mon, 20 Jun 2022 10:00:20 +0300 Subject: [PATCH 502/915] Renamed tafadhari to tafadhali and fixed typos --- ...c_partner_community_followup_feedback.json | 8 +++---- .../json.form-sw/anc_pregnancy_outcome.json | 4 ++-- .../json.form-sw/malaria_confirmation.json | 24 +++++++++---------- .../json.form-sw/malaria_referral_form.json | 4 ++-- .../mother_champion_followup.json | 10 ++++---- .../mother_champion_sbcc_sessions.json | 10 ++++---- .../pmtct_community_followup_feedback.json | 4 ++-- 7 files changed, 32 insertions(+), 32 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json index 822c584f55..850c6e056d 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json @@ -76,7 +76,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhari Chagua mojawapo" + "err": "Tafadhali chagua mojawapo" } }, { @@ -124,7 +124,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhari chagua mojawapo:" + "err": "Tafadhali chagua mojawapo" }, "relevance": { "step1:is_partner_found": { @@ -232,7 +232,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhari Chagua sababu" + "err": "Tafadhali chagua sababu" }, "relevance": { "step1:partner_agree_attending_hf": { @@ -251,7 +251,7 @@ "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhari ingiza sababu nyingine" + "err": "Tafadhali ingiza sababu nyingine" }, "relevance": { "step1:reason_for_not_attending_hf": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json index c59910694f..3e86365e1a 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json @@ -125,7 +125,7 @@ "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhari jaza tarehe ambayo Mimba ya Mama iliharibika/ilitoka" + "err": "Tafadhali jaza tarehe ambayo Mimba ya Mama iliharibika/ilitoka" }, "relevance": { "rules-engine": { @@ -147,7 +147,7 @@ "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhari ingiza tarehe ya kujifungua ya Mama" + "err": "Tafadhali ingiza tarehe ya kujifungua ya Mama" }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/malaria_confirmation.json b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_confirmation.json index 8b0024ec58..e82bcde8a1 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/malaria_confirmation.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_confirmation.json @@ -85,7 +85,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "fever_malaria_chw", "type": "native_radio", - "label": "Je mteja huyu ana Homa au amepimwa kwenye Kituo cha Afya na akakutwa na Malaria?", + "label": "Je, Mteja huyu ana Homa au amepimwa kwenye Kituo cha Afya na akakutwa na Malaria?", "label_text_style": "bold", "text_color": "#000000", "options": [ @@ -108,7 +108,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhari mojawapo kati ya haya:" + "err": "Tafadhali chagua mojawapo kati ya haya" } }, { @@ -128,7 +128,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhari changua moja:" + "err": "Tafadhali chagua mojawapo" }, "relevance": { "rules-engine": { @@ -151,7 +151,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhari chagua mojawapo:" + "err": "Tafadhali chagua mojawapo" }, "relevance": { "rules-engine": { @@ -178,7 +178,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhari chagua mojawapo:" + "err": "Tafadhali chagua mojawapo" }, "relevance": { "rules-engine": { @@ -199,7 +199,7 @@ "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhari Ingiza tarehe ya kipimo cha Malaria katika Kituo cha Afya" + "err": "Tafadhali Ingiza tarehe ya kipimo cha Malaria katika Kituo cha Afya" }, "relevance": { "rules-engine": { @@ -264,7 +264,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhari chagua mojawapo" + "err": "Tafadhali chagua mojawapo" }, "relevance": { "rules-engine": { @@ -280,8 +280,8 @@ "openmrs_entity": "concept", "openmrs_entity_id": "", "type": "toaster_notes", - "text": "Tafadhari mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria", - "toaster_info_text": "Tafadhari mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria", + "text": "Tafadhali mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria", + "toaster_info_text": "Tafadhali mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria", "toaster_type": "info", "relevance": { "rules-engine": { @@ -313,7 +313,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhari chagua mojawapo" + "err": "Tafadhali chagua mojawapo" } }, { @@ -333,7 +333,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhari Chagua mojawapo:" + "err": "Tafadhali chagua mojawapo" }, "relevance": { "rules-engine": { @@ -360,7 +360,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhari changua mojawapo:" + "err": "Tafadhali chagua mojawapo" }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/malaria_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_referral_form.json index 3852fe12e9..3e52f7d42f 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/malaria_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_referral_form.json @@ -250,7 +250,7 @@ ], "v_required": { "value": true, - "err": "Tafadhari bainisha matatizo aliyonayo mteja" + "err": "Tafadhali bainisha matatizo aliyonayo mteja" } }, { @@ -324,7 +324,7 @@ "is_problem": false, "v_required": { "value": "true", - "err": "Tafadhari bainisha matibabu mengine" + "err": "Tafadhali bainisha matibabu mengine" }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json index e48aaab1af..2843e9452d 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json @@ -76,7 +76,7 @@ ], "v_required": { "value": true, - "err": "Tafadhari jibu swali hili" + "err": "Tafadhali jibu swali hili" } }, { @@ -102,7 +102,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhari jibu swali hili" + "err": "Tafadhali jibu swali hili" }, "relevance": { "step1:type_of_service": { @@ -213,7 +213,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhari jibu swali hili" + "err": "Tafadhali jibu swali hili" }, "relevance": { "step1:type_of_service": { @@ -282,7 +282,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhari jibu swali hili" + "err": "Tafadhali jibu swali hili" } }, { @@ -335,7 +335,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhari jibu swali hili" + "err": "Tafadhali jibu swali hili" } } ] diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json index dab9a81607..6f2aadf712 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json @@ -88,7 +88,7 @@ ], "v_required": { "value": true, - "err": "Tafadhari jibu swali hili" + "err": "Tafadhali jibu swali hili" } }, { @@ -100,11 +100,11 @@ "openmrs_entity": "concept", "v_numeric": { "value": "true", - "err": "Tafadhari ingiza idadi ya watu walihudhulia tukio hili" + "err": "Tafadhali ingiza idadi ya watu walihudhulia tukio hili" }, "v_required": { "value": true, - "err": "Tafadhari ingiza idadi ya watu walihudhulia tukio hili" + "err": "Tafadhali ingiza idadi ya watu walihudhulia tukio hili" } }, { @@ -189,7 +189,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhari jibu swali hili" + "err": "Tafadhali jibu swali hili" } }, { @@ -202,7 +202,7 @@ "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhari ingiza mada nyingine zilizojadiliwa" + "err": "Tafadhali ingiza mada nyingine zilizojadiliwa" }, "relevance": { "step1:health_education_topic": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json index 86983ccc63..da1654d1e4 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json @@ -86,7 +86,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhari chagua mojawapo" + "err": "Tafadhali chagua mojawapo" } }, { @@ -117,7 +117,7 @@ "hint": "Kituo cha Afya kingine", "v_required": { "value": true, - "err": "Tafadhari bainisha Kituo cha Afaya kingine" + "err": "Tafadhali bainisha Kituo cha Afaya kingine" }, "relevance": { "step1:name_of_hf": { From 7cb2c03184f1f93d439dcead45d81240182305b6 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 24 Jun 2022 18:31:42 +0300 Subject: [PATCH 503/915] update: core version --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 3ec6788a2c..6a4be49db7 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -345,7 +345,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.31.18-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.31.19-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From d3f9250c3a23af8ecc7439749c1ff4d5bba51062 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 24 Jun 2022 18:32:13 +0300 Subject: [PATCH 504/915] fix: added location info for overidden menus --- opensrp-chw/src/main/res/menu/anc_member_profile_menu.xml | 6 ++++++ opensrp-chw/src/main/res/menu/hiv_profile_menu.xml | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/opensrp-chw/src/main/res/menu/anc_member_profile_menu.xml b/opensrp-chw/src/main/res/menu/anc_member_profile_menu.xml index 6c230e116f..32c1c426fb 100644 --- a/opensrp-chw/src/main/res/menu/anc_member_profile_menu.xml +++ b/opensrp-chw/src/main/res/menu/anc_member_profile_menu.xml @@ -8,6 +8,12 @@ android:title="@string/registration_info" app:showAsAction="never" /> + + + + Date: Sat, 25 Jun 2022 08:30:52 +0300 Subject: [PATCH 505/915] :hammer: refactored chwSyncConfig --- .../chw/application/ChwSyncConfiguration.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java index 4d3698c30a..aef8526ae4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwSyncConfiguration.java @@ -12,6 +12,9 @@ * Created by samuelgithengi on 10/19/18. */ public class ChwSyncConfiguration extends SyncConfiguration { + private int connectTimeout = 900000; + private int readTimeout = 900000; + @Override public int getSyncMaxRetries() { return BuildConfig.MAX_SYNC_RETRIES; @@ -71,4 +74,14 @@ public List getSynchronizedLocationTags() { public String getTopAllowedLocationLevel() { return "Council"; } + + @Override + public int getReadTimeout() { + return connectTimeout; + } + + @Override + public int getConnectTimeout() { + return readTimeout; + } } From 90ebb1f2d73ee21c8f3d5be89896a0640c1bc69e Mon Sep 17 00:00:00 2001 From: Billy Date: Sat, 25 Jun 2022 14:39:33 +0300 Subject: [PATCH 506/915] fix: added fallbacks for location name loading --- .../chw/activity/LTFUReferralsDetailsViewActivity.java | 4 ++++ .../smartregister/chw/provider/LTFURegisterProvider.java | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java index 852cd89540..c890f0d813 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java @@ -103,7 +103,11 @@ public void setUpViews() { LocationRepository locationRepository = new LocationRepository(); String reasonReference = Utils.getValue(commonPersonObjectClient.getColumnmaps(), "reason_reference", false); Location location = locationRepository.getLocationById(locationId); + if(location!= null){ chwDetailsNames.setText(location.getProperties().getName()); + }else{ + chwDetailsNames.setText(locationId); + } Date lastAppointmentDate = ReferralDao.getLastAppointmentDate(reasonReference); if (lastAppointmentDate != null) { lastAppointmentLayout.setVisibility(View.VISIBLE); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/LTFURegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/LTFURegisterProvider.java index c91128f44c..cf156080a5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/provider/LTFURegisterProvider.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/LTFURegisterProvider.java @@ -30,6 +30,11 @@ public void populatePatientColumn(CommonPersonObjectClient pc, ReferralViewHolde LocationRepository locationRepository = new LocationRepository(); String locationId = Utils.getValue(pc.getColumnmaps(), org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_HF, false); Location location = locationRepository.getLocationById(locationId); - referredByTextView.setText(context.getString(R.string.referred_by, location.getProperties().getName())); + if(location != null) { + referredByTextView.setText(context.getString(R.string.referred_by, location.getProperties().getName())); + }else{ + referredByTextView.setText(context.getString(R.string.referred_by, locationId)); + } + } } From 44294824fdfcb8bf37c55740ff046e13c05f0197 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 27 Jun 2022 11:14:08 +0300 Subject: [PATCH 507/915] fix: loading registration info and location info forms for CBHS clients --- .../org/smartregister/chw/activity/HivProfileActivity.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index eacabd545b..56c67d35a4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -23,7 +23,6 @@ import org.smartregister.chw.anc.AncLibrary; import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.activity.CoreHivProfileActivity; -import org.smartregister.chw.core.activity.CoreHivUpcomingServicesActivity; import org.smartregister.chw.core.adapter.NotificationListAdapter; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.dao.AncDao; @@ -32,6 +31,7 @@ import org.smartregister.chw.core.task.RunnableTask; import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.UpdateDetailsUtil; import org.smartregister.chw.custom_view.HivFloatingMenu; import org.smartregister.chw.dao.ChwCBHSDao; import org.smartregister.chw.hiv.activity.BaseHivFormsActivity; @@ -103,7 +103,7 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity removeField(fields, "client_hiv_status_after_testing"); } - if(ChwCBHSDao.tbStatusAfterTestingDone(baseEntityID)){ + if (ChwCBHSDao.tbStatusAfterTestingDone(baseEntityID)) { JSONArray steps = formJsonObject.getJSONArray("steps"); JSONObject step = steps.getJSONObject(0); JSONArray fields = step.getJSONArray("fields"); @@ -317,7 +317,7 @@ public void onClick(View view) { @Override public Context getContext() { - return null; + return this; } @Override @@ -479,6 +479,7 @@ public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(org.smartregister.chw.core.R.menu.hiv_profile_menu, menu); menu.findItem(R.id.action_anc_registration).setVisible(isClientEligibleForAnc(getHivMemberObject()) && !AncDao.isANCMember(getHivMemberObject().getBaseEntityId())); menu.findItem(R.id.action_pregnancy_out_come).setVisible(isClientEligibleForAnc(getHivMemberObject())); + menu.findItem(R.id.action_location_info).setVisible(UpdateDetailsUtil.isIndependentClient(getHivMemberObject().getBaseEntityId())); // flavor.updateTbMenuItems(getHivMemberObject().getBaseEntityId(), menu); return true; } From ef42a473c4c02fba3b8e2a3d5181a105fdec9ca6 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 27 Jun 2022 15:38:36 +0300 Subject: [PATCH 508/915] fix: loading and saving registration info and location info forms --- .../activity/AncMemberProfileActivity.java | 15 ++++++++ .../HivIndexContactProfileActivity.java | 34 ++++++++++++++----- .../MotherChampionProfileActivity.java | 16 +++++++-- .../activity/PncMemberProfileActivity.java | 34 +++++++++++++++++++ 4 files changed, 89 insertions(+), 10 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index 9d8fe7ca59..20e7ff635d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -32,9 +32,11 @@ import org.smartregister.chw.core.application.CoreChwApplication; import org.smartregister.chw.core.form_data.NativeFormsDataBinder; import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.model.CoreAllClientsMemberModel; import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.CoreJsonFormUtils; +import org.smartregister.chw.core.utils.UpdateDetailsUtil; import org.smartregister.chw.custom_view.AncFloatingMenu; import org.smartregister.chw.dataloader.AncMemberDataLoader; import org.smartregister.chw.dataloader.FamilyMemberDataLoader; @@ -70,6 +72,7 @@ import io.reactivex.schedulers.Schedulers; import timber.log.Timber; +import static org.smartregister.chw.core.utils.Utils.getCommonPersonObjectClient; import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; @@ -236,6 +239,11 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(CoreConstants.EventType.ANC_REFERRAL)) { ancMemberProfilePresenter().createReferralEvent(Utils.getAllSharedPreferences(), jsonString); showToast(this.getString(R.string.referral_submitted)); + } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(Utils.metadata().familyRegister.updateEventType)) { + CommonPersonObjectClient client = getCommonPersonObjectClient(memberObject.getBaseEntityId()); + FamilyEventClient familyEventClient = new CoreAllClientsMemberModel().processJsonForm(jsonString, UpdateDetailsUtil.getFamilyBaseEntityId(client)); + familyEventClient.getEvent().setEntityType(CoreConstants.TABLE_NAME.INDEPENDENT_CLIENT); + new FamilyProfileInteractor().saveRegistration(familyEventClient, jsonString, true, ancMemberProfilePresenter()); } } catch (Exception e) { @@ -273,6 +281,13 @@ public void startFormForEdit(Integer title_resource, String formName) { binder.setDataLoader(new FamilyMemberDataLoader(memberObject.getFamilyName(), isPrimaryCareGiver, titleString, eventName, memberObject.getChwMemberId())); form = binder.getPrePopulatedForm(CoreConstants.JSON_FORM.getFamilyMemberRegister()); + } else if (formName.equals(CoreConstants.JSON_FORM.getAllClientUpdateRegistrationInfoForm())) { + String eventName = org.smartregister.chw.util.Utils.metadata().familyMemberRegister.updateEventType; + + NativeFormsDataBinder binder = new NativeFormsDataBinder(this, memberObject.getBaseEntityId()); + binder.setDataLoader(new FamilyMemberDataLoader(memberObject.getFamilyName(), isPrimaryCareGiver, titleString, eventName, memberObject.getChwMemberId())); + + form = binder.getPrePopulatedForm(CoreConstants.JSON_FORM.getAllClientUpdateRegistrationInfoForm()); } startActivityForResult(org.smartregister.chw.util.JsonFormUtils.getAncPncStartFormIntent(form, this), JsonFormUtils.REQUEST_CODE_GET_JSON); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java index 309ee85c2c..c0e60613e4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java @@ -1,7 +1,5 @@ package org.smartregister.chw.activity; -import static org.smartregister.chw.hiv.util.Constants.ActivityPayload.HIV_MEMBER_OBJECT; - import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -27,6 +25,7 @@ import org.smartregister.chw.core.interactor.CoreHivIndexContactProfileInteractor; import org.smartregister.chw.core.listener.OnClickFloatingMenu; import org.smartregister.chw.core.listener.OnRetrieveNotifications; +import org.smartregister.chw.core.model.CoreAllClientsMemberModel; import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.custom_view.HivIndexContactFloatingMenu; @@ -37,7 +36,13 @@ import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.HivIndexContactProfilePresenter; import org.smartregister.chw.tb.util.Constants; +import org.smartregister.chw.util.Utils; import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.family.contract.FamilyProfileContract; +import org.smartregister.family.domain.FamilyEventClient; +import org.smartregister.family.interactor.FamilyProfileInteractor; +import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.opd.utils.OpdConstants; import java.util.ArrayList; import java.util.List; @@ -45,6 +50,8 @@ import timber.log.Timber; +import static org.smartregister.chw.hiv.util.Constants.ActivityPayload.HIV_MEMBER_OBJECT; + public class HivIndexContactProfileActivity extends CoreHivIndexContactProfileActivity implements FamilyProfileExtendedContract.PresenterCallBack, OnRetrieveNotifications { public final static String REGISTERED_TO_HIV_REGISTRY = "registered_to_hiv_registry"; @@ -235,14 +242,25 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode != Activity.RESULT_OK) return; try { - boolean savedToHivRegistry = data.getBooleanExtra(REGISTERED_TO_HIV_REGISTRY, false); - if (savedToHivRegistry) { - HivProfileActivity.startHivProfileActivity(this, Objects.requireNonNull(HivDao.getMember(getHivIndexContactObject().getBaseEntityId()))); + String jsonString = data.getStringExtra(OpdConstants.JSON_FORM_EXTRA.JSON); + if (jsonString == null) { finish(); + } + JSONObject form = new JSONObject(jsonString); + if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(Utils.metadata().familyRegister.updateEventType)) { + FamilyEventClient familyEventClient = new CoreAllClientsMemberModel().processJsonForm(jsonString, getHivIndexContactObject().getFamilyBaseEntityId()); + familyEventClient.getEvent().setEntityType(CoreConstants.TABLE_NAME.INDEPENDENT_CLIENT); + new FamilyProfileInteractor().saveRegistration(familyEventClient, jsonString, true, (FamilyProfileContract.InteractorCallBack) getHivContactProfilePresenter()); } else { - setHivIndexContactObject(HivIndexDao.getMember(getHivIndexContactObject().getBaseEntityId())); - initializePresenter(); - fetchProfileData(); + boolean savedToHivRegistry = data.getBooleanExtra(REGISTERED_TO_HIV_REGISTRY, false); + if (savedToHivRegistry) { + HivProfileActivity.startHivProfileActivity(this, Objects.requireNonNull(HivDao.getMember(getHivIndexContactObject().getBaseEntityId()))); + finish(); + } else { + setHivIndexContactObject(HivIndexDao.getMember(getHivIndexContactObject().getBaseEntityId())); + initializePresenter(); + fetchProfileData(); + } } } catch (Exception e) { Timber.e(e); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java index 56e4bc06ee..4704c7508e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java @@ -9,8 +9,6 @@ import android.widget.LinearLayout; import android.widget.TextView; -import androidx.annotation.NonNull; - import com.vijay.jsonwizard.constants.JsonFormConstants; import com.vijay.jsonwizard.domain.Form; import com.vijay.jsonwizard.utils.FormUtils; @@ -23,16 +21,20 @@ import org.smartregister.chw.core.activity.CorePmtctProfileActivity; import org.smartregister.chw.core.interactor.CorePmtctProfileInteractor; import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.model.CoreAllClientsMemberModel; import org.smartregister.chw.core.presenter.CoreFamilyOtherMemberActivityPresenter; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.custom_view.MotherChampionFloatingMenu; import org.smartregister.chw.dao.MotherChampionDao; +import org.smartregister.chw.model.FamilyProfileModel; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.pmtct.util.Constants; import org.smartregister.chw.pmtct.util.NCUtils; import org.smartregister.chw.presenter.PmtctMemberProfilePresenter; import org.smartregister.clientandeventmodel.Event; import org.smartregister.domain.AlertStatus; +import org.smartregister.family.domain.FamilyEventClient; +import org.smartregister.family.interactor.FamilyProfileInteractor; import org.smartregister.family.util.JsonFormUtils; import org.smartregister.family.util.Utils; import org.smartregister.repository.AllSharedPreferences; @@ -40,6 +42,7 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; import timber.log.Timber; public class MotherChampionProfileActivity extends CorePmtctProfileActivity { @@ -147,6 +150,15 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { Timber.e(e); } } + if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(Utils.metadata().familyMemberRegister.updateEventType)) { + FamilyEventClient familyEventClient = + new FamilyProfileModel(memberObject.getFamilyName()).processUpdateMemberRegistration(jsonString, memberObject.getBaseEntityId()); + new FamilyProfileInteractor().saveRegistration(familyEventClient, jsonString, true, presenter()); + } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(Utils.metadata().familyRegister.updateEventType)) { + FamilyEventClient familyEventClient = new CoreAllClientsMemberModel().processJsonForm(jsonString, memberObject.getFamilyBaseEntityId()); + familyEventClient.getEvent().setEntityType(CoreConstants.TABLE_NAME.INDEPENDENT_CLIENT); + new FamilyProfileInteractor().saveRegistration(familyEventClient, jsonString, true, presenter()); + } } catch (Exception e) { Timber.e(e, "MotherChampionProfileActivity -- > onActivityResult"); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index b48724e2c2..e7e55d3bba 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -1,6 +1,7 @@ package org.smartregister.chw.activity; import static android.view.View.GONE; +import static org.smartregister.chw.core.utils.Utils.getCommonPersonObjectClient; import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; import static org.smartregister.chw.util.Constants.EventType; import static org.smartregister.chw.util.Constants.JSON_FORM; @@ -35,10 +36,12 @@ import org.smartregister.chw.core.adapter.NotificationListAdapter; import org.smartregister.chw.core.interactor.CorePncMemberProfileInteractor; import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.model.CoreAllClientsMemberModel; import org.smartregister.chw.core.rule.PncVisitAlertRule; import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.CoreJsonFormUtils; +import org.smartregister.chw.core.utils.UpdateDetailsUtil; import org.smartregister.chw.custom_view.AncFloatingMenu; import org.smartregister.chw.fp.util.FamilyPlanningConstants; import org.smartregister.chw.interactor.FamilyProfileInteractor; @@ -117,6 +120,12 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { new FamilyProfileModel(memberObject.getFamilyName()).processUpdateMemberRegistration(jsonString, memberObject.getBaseEntityId()); new FamilyProfileInteractor().saveRegistration(familyEventClient, jsonString, true, (FamilyProfileContract.InteractorCallBack) pncMemberProfilePresenter()); } + else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(Utils.metadata().familyRegister.updateEventType)) { + CommonPersonObjectClient client = getCommonPersonObjectClient(memberObject.getBaseEntityId()); + FamilyEventClient familyEventClient = new CoreAllClientsMemberModel().processJsonForm(jsonString, UpdateDetailsUtil.getFamilyBaseEntityId(client)); + familyEventClient.getEvent().setEntityType(CoreConstants.TABLE_NAME.INDEPENDENT_CLIENT); + new org.smartregister.family.interactor.FamilyProfileInteractor().saveRegistration(familyEventClient, jsonString, true, (FamilyProfileContract.InteractorCallBack) pncMemberProfilePresenter()); + } if (EventType.UPDATE_CHILD_REGISTRATION.equals(form.getString(JsonFormUtils.ENCOUNTER_TYPE))) { Pair pair = new ChildRegisterModel().processRegistration(jsonString); @@ -279,6 +288,31 @@ public boolean onCreateOptionsMenu(Menu menu) { return true; } + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int itemId = item.getItemId(); + if(itemId == org.smartregister.chw.core.R.id.action_pnc_member_registration){ + if (UpdateDetailsUtil.isIndependentClient(baseEntityID)) { + startFormForEdit(org.smartregister.chw.core.R.string.registration_info, + CoreConstants.JSON_FORM.getAllClientUpdateRegistrationInfoForm()); + } else { + startFormForEdit(org.smartregister.chw.core.R.string.edit_member_form_title, + CoreConstants.JSON_FORM.getFamilyMemberRegister()); + } + return true; + } + return super.onOptionsItemSelected(item); + } + + public void startFormForEdit(Integer title_resource, String formName) { + try { + JSONObject form = CoreJsonFormUtils.getAncPncForm(title_resource, formName, memberObject, this); + startActivityForResult(CoreJsonFormUtils.getAncPncStartFormIntent(form, this), JsonFormUtils.REQUEST_CODE_GET_JSON); + } catch (Exception e) { + Timber.e(e); + } + } + @Override public void onClick(View view) { super.onClick(view); From 388984b9dc5e4cbc54a9df3d962faf6fed6790e8 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 27 Jun 2022 15:40:53 +0300 Subject: [PATCH 509/915] fix: loading location info only if the client is independent --- .../chw/activity/HivIndexContactProfileActivity.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java index c0e60613e4..bf16b85e91 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java @@ -28,6 +28,7 @@ import org.smartregister.chw.core.model.CoreAllClientsMemberModel; import org.smartregister.chw.core.utils.ChwNotificationUtil; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.UpdateDetailsUtil; import org.smartregister.chw.custom_view.HivIndexContactFloatingMenu; import org.smartregister.chw.hiv.activity.BaseHivFormsActivity; import org.smartregister.chw.hiv.dao.HivDao; @@ -144,6 +145,7 @@ public boolean onOptionsItemSelected(MenuItem item) { @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(org.smartregister.chw.core.R.menu.hiv_profile_menu, menu); + menu.findItem(R.id.action_location_info).setVisible(UpdateDetailsUtil.isIndependentClient(getHivIndexContactObject().getBaseEntityId())); return true; } From 753035424ac80c4cc26989a1b3269ccecee28b18 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 27 Jun 2022 15:43:24 +0300 Subject: [PATCH 510/915] fix: made surname editable for independent clients --- .../all_clients_update_registration_info_form.json | 5 ++--- .../json.form/all_clients_update_registration_info_form.json | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index a45a9ea44b..d9b6907744 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -76,12 +76,11 @@ { "key": "surname", "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", + "openmrs_entity": "person", + "openmrs_entity_id": "last_name", "type": "edit_text", "hint": "Jina la mwisho", "edit_type": "name", - "read_only": true, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Tafadhali ingiza jina sahihi" diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index fdf14a4b88..933e1b6605 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -76,12 +76,11 @@ { "key": "surname", "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", + "openmrs_entity": "person", + "openmrs_entity_id": "last_name", "type": "edit_text", "hint": "Surname", "edit_type": "name", - "read_only": true, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", "err": "Please enter a valid name" From 0f797a50e14f5be85b139e1fff404c9b2cca31ee Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 27 Jun 2022 15:56:35 +0300 Subject: [PATCH 511/915] fix: missing openmrs_entity_ids in form --- .../all_clients_registration_form.json | 70 +++++++++---------- ...clients_update_registration_info_form.json | 70 +++++++++---------- .../all_clients_registration_form.json | 70 +++++++++---------- ...clients_update_registration_info_form.json | 70 +++++++++---------- 4 files changed, 140 insertions(+), 140 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index e749d1d854..ac78da3618 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -1128,35 +1128,35 @@ "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua Kikuu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "homosexual", "text": "Wanaume wanaofanya mapenzi na wanaume", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "homosexual" }, { "key": "gender_violence", "text": "Unyanyasaji wa Kijinsia", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" } ], "v_required": { @@ -1186,49 +1186,49 @@ "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "sex_worker_woman", "text": "Mfanyabiashara ya ngono", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "sex_worker_woman" }, { "key": "gender_violence", "text": "Ukatili wa kijinsia", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Mama mjamzito", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Mama anayenyonyesha", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "breastfeeding_mother" } ], "v_required": { @@ -1258,49 +1258,49 @@ "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "Mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Mtoto ambaye hajapimwa VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Unyanyasaji wa mtoto", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Unyanyasaji wa kijinsia", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" } ], "v_required": { @@ -1330,49 +1330,49 @@ "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "Mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Mtoto ambaye hajapimwa VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Unyanyasaji wa mtoto", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Ukatili wa kijinsia", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" } ], "v_required": { @@ -1402,63 +1402,63 @@ "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "Mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Mtoto ambaye hajapimwa VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Unyanyasaji wa mtoto", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Ukatili wa kijinsia", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Mama mjamzito", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Mama anayenyonyesha", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "breastfeeding_mother" } ], "v_required": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index d9b6907744..f539b9d220 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -948,35 +948,35 @@ "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua Kikuu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "homosexual", "text": "Wanaume wanaofanya mapenzi na wanaume", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "homosexual" }, { "key": "gender_violence", "text": "Unyanyasaji wa Kijinsia", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" }, { "key": "male_engagement", @@ -1013,49 +1013,49 @@ "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "sex_worker_woman", "text": "Mfanyabiashara ya ngono", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "sex_worker_woman" }, { "key": "gender_violence", "text": "Ukatili wa kijinsia", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Mama mjamzito", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Mama anayenyonyesha", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "breastfeeding_mother" } ], "v_required": { @@ -1085,49 +1085,49 @@ "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "Mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Mtoto ambaye hajapimwa VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Unyanyasaji wa mtoto", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Unyanyasaji wa kijinsia", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" } ], "v_required": { @@ -1157,49 +1157,49 @@ "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "Mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Mtoto ambaye hajapimwa VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Unyanyasaji wa mtoto", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Ukatili wa kijinsia", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" } ], "v_required": { @@ -1229,63 +1229,63 @@ "text": "Maambukizi ya VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "Mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Mtoto ambaye hajapimwa VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Unyanyasaji wa mtoto", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Ukatili wa kijinsia", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Mama mjamzito", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Mama anayenyonyesha", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "breastfeeding_mother" } ], "v_required": { diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index 87c1fdbf05..7b9e6ade29 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -1128,35 +1128,35 @@ "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "homosexual", "text": "Men who have sex with men", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "homosexual" }, { "key": "gender_violence", "text": "Gender violence", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" } ], "v_required": { @@ -1186,49 +1186,49 @@ "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "sex_worker_woman", "text": "Sex worker", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "sex_worker_woman" }, { "key": "gender_violence", "text": "Gender violence", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Pregnant mother", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Breastfeeding mother", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "breastfeeding_mother" } ], "v_required": { @@ -1258,49 +1258,49 @@ "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "A child born from a mother with HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Untested HIV/AIDs child", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Abused child", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Gender violence", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" } ], "v_required": { @@ -1330,49 +1330,49 @@ "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "A child born from a mother with HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Untested HIV/AIDs child", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Abused child", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Gender violence", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" } ], "v_required": { @@ -1402,63 +1402,63 @@ "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "A child born from a mother with HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Untested HIV/AIDs child", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Abused child", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Gender violence", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Pregnant mother", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Breastfeeding mother", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "breastfeeding_mother" } ], "v_required": { diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index 933e1b6605..8a71d0eddd 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -948,35 +948,35 @@ "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "homosexual", "text": "Men who have sex with men", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "homosexual" }, { "key": "gender_violence", "text": "Gender violence", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" }, { "key": "male_engagement", @@ -1013,49 +1013,49 @@ "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "sex_worker_woman", "text": "Sex worker", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "sex_worker_woman" }, { "key": "gender_violence", "text": "Gender violence", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Pregnant mother", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Breastfeeding mother", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "breastfeeding_mother" } ], "v_required": { @@ -1085,49 +1085,49 @@ "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "A child born from a mother with HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Untested HIV/AIDs child", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Abused child", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Gender violence", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" } ], "v_required": { @@ -1157,49 +1157,49 @@ "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "A child born from a mother with HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Untested HIV/AIDs child", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Abused child", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Gender violence", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" } ], "v_required": { @@ -1229,63 +1229,63 @@ "text": "HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "A child born from a mother with HIV/AIDs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Untested HIV/AIDs child", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Abused child", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Gender violence", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Pregnant mother", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Breastfeeding mother", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "" + "openmrs_entity_id": "breastfeeding_mother" } ], "v_required": { From 7bdf46e00a80110ca1cfebd7232e5faae0db382d Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 27 Jun 2022 15:59:18 +0300 Subject: [PATCH 512/915] fix: hides surname on location info --- .../src/nacp/assets/json.form-sw/family_details_register.json | 2 +- .../src/nacp/assets/json.form/family_details_register.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json index 714b270bb6..2dd521835c 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json @@ -59,7 +59,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "person", "openmrs_entity_id": "first_name", - "type": "edit_text", + "type": "hidden", "hint": "Jina la ukoo", "edit_type": "name", "v_required": { diff --git a/opensrp-chw/src/nacp/assets/json.form/family_details_register.json b/opensrp-chw/src/nacp/assets/json.form/family_details_register.json index 2d98ff440b..bb2678cb04 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_details_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_details_register.json @@ -59,7 +59,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "person", "openmrs_entity_id": "first_name", - "type": "edit_text", + "type": "hidden", "hint": "Surname", "edit_type": "name", "v_required": { From 64f1fe320314f7aace680b68cbc81422053b9606 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 4 Jul 2022 14:05:08 +0300 Subject: [PATCH 513/915] added: option for contiuing with services and ready to return --- .../LTFURecordFeedbackPresenter.java | 4 +-- .../ltfu_community_followup_feedback.json | 28 ++++++++++++++++++- .../assets/rule/ltfu_feedback_form_rules.yml | 9 +++++- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java index cbac60ab15..ab82de0f2c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/LTFURecordFeedbackPresenter.java @@ -81,9 +81,9 @@ public void onRegistrationSaved(boolean saveSuccessful) { @Override public void saveForm(@NonNull HashMap valuesHashMap, @NonNull JSONObject jsonObject) { //first close the referral task - //if from the valuesHasMap followupStatus value is continuing_with_services then call save form super + //if from the valuesHasMap followupStatus value is client_found_ready_to_return then call save form super //else create an event that just sends the feedback to the server - if (StringUtils.containsIgnoreCase(String.valueOf(valuesHashMap.get("followup_status").getValue()), "continuing_with_services")) { + if (StringUtils.containsIgnoreCase(String.valueOf(valuesHashMap.get("followup_status").getValue()), "client_found_ready_to_return")) { tagWithReferralDetails(valuesHashMap); super.saveForm(valuesHashMap, jsonObject); } diff --git a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json index fa9601a6ac..a12100b70b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json @@ -71,13 +71,22 @@ "options": [ { "name": "continuing_with_services", - "text": "Client found and ready to return to clinic", + "text": "Continuing with services", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "continuing_with_services", "openmrs_entity_parent": "" } }, + { + "name": "client_found_ready_to_return", + "text": "Client found and ready to return to clinic", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_found_ready_to_return", + "openmrs_entity_parent": "" + } + }, { "name": "client_has_moved_to_another_facility", "text": "Client has moved to another facility without information", @@ -241,6 +250,23 @@ "required_status": "yes:Please select reason why client missed last appointment", "subjects": "followup_status:map" }, + { + "name": "last_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Last appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "last_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Please select last appointment date", + "subjects": "followup_status:map" + }, { "name": "referral_appointment_date", "type": "datetime_picker", diff --git a/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml index 6e9539fd92..0f629a274b 100644 --- a/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml @@ -65,4 +65,11 @@ description: "Service Before Referral" condition: "true" priority: 1 actions: - - "service_before_referral_calculation = 'None'" \ No newline at end of file + - "service_before_referral_calculation = 'None'" +--- +name: "last_appointment_date_visibility" +description: "Last Appointment Date if client was continuing with service" +priority: 1 +condition: "followup_status.value == 'Continuing with services'" +actions: + - "last_appointment_date_visibility = true" \ No newline at end of file From 57afb1638ae25feadc6e5bede2c61cb17af92f2d Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 4 Jul 2022 15:42:19 +0300 Subject: [PATCH 514/915] fix: mother champion feedback form for missap to match ltfu --- .../PmtctFollowupDetailsActivity.java | 42 +--- .../pmtct_community_followup_feedback.json | 200 +++++++++++++++--- .../pmtct_community_followup_feedback.json | 192 ++++++++++++++--- ..._community_followup_feedback_relevance.yml | 41 +++- 4 files changed, 369 insertions(+), 106 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java index a7004dae25..fcef85dfe4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PmtctFollowupDetailsActivity.java @@ -71,47 +71,7 @@ public static void startPmtctDetailsActivity(Activity activity, String baseEntit activity.startActivity(intent); } - private static JSONObject initializeHealthFacilitiesList(JSONObject form) { - LocationRepository locationRepository = new LocationRepository(); - List locations = locationRepository.getAllLocations(); - if (locations != null && form != null) { - try { - JSONArray fields = form.getJSONObject(Constants.JsonFormConstants.STEP1) - .getJSONArray(JsonFormConstants.FIELDS); - JSONObject referralHealthFacilities = null; - for (int i = 0; i < fields.length(); i++) { - if (fields.getJSONObject(i) - .getString(JsonFormConstants.KEY).equals(Constants.JsonFormConstants.NAME_OF_HF) - ) { - referralHealthFacilities = fields.getJSONObject(i); - break; - } - } - ArrayList healthFacilitiesOptions = new ArrayList<>(); - ArrayList healthFacilitiesIds = new ArrayList<>(); - for (Location location : locations) { - healthFacilitiesOptions.add(location.getProperties().getName()); - healthFacilitiesIds.add(location.getProperties().getUid()); - } - healthFacilitiesOptions.add("Other"); - healthFacilitiesIds.add("Other"); - - JSONObject openmrsChoiceIds = new JSONObject(); - for (int i = 0; i < healthFacilitiesOptions.size(); i++) { - openmrsChoiceIds.put(healthFacilitiesOptions.get(i), healthFacilitiesIds.get(i)); - } - if (referralHealthFacilities != null) { - referralHealthFacilities.put("values", new JSONArray(healthFacilitiesOptions)); - referralHealthFacilities.put("keys", new JSONArray(healthFacilitiesOptions)); - referralHealthFacilities.put("openmrs_choice_ids", openmrsChoiceIds); - } - } catch (JSONException e) { - Timber.e(e); - } - } - return form; - } @Override protected void onCreation() { @@ -258,7 +218,7 @@ private String getFamilyMemberContacts() { @Override public void onClick(View view) { if (view.getId() == R.id.mark_ask_done) { - JSONObject form = initializeHealthFacilitiesList(FormUtils.getFormUtils().getFormJson(Constants.JsonForm.getPmtctCommunityFollowupFeedback())); + JSONObject form = FormUtils.getFormUtils().getFormJson(Constants.JsonForm.getPmtctCommunityFollowupFeedback()); AllSharedPreferences preferences = ChwApplication.getInstance().getContext().allSharedPreferences(); try { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json index da1654d1e4..cf3e388d6e 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json @@ -56,52 +56,91 @@ "openmrs_entity": "concept", "openmrs_entity_id": "followup_status", "type": "spinner", - "hint": "Mrejesho wa Ufuatiliaji", + "hint": "Matokeo ya ufuatiliaji", "values": [ - "Anaendelea na Huduma", - "Amefariki", - "Hapatikani", - "Amehamishiwa mahali pengine", - "Amehama", - "Amejitoa", - "Anaendelea na huduma akitokea mahali pengine" + "Mteja anahudhuria kliniki", + "Amepatikana na yupo tayari kurudi kliniki", + "Amehamia Kituo kingine bila taarifa", + "Amehama makazi", + "Amepatikana lakini hayuko kurudi kliniki", + "Anefariki", + "Hajapatikana" ], "keys": [ "continuing_with_services", + "client_found_ready_to_return", + "client_has_moved_to_another_facility", + "client_has_relocated", + "client_does_not_want_to_return", "deceased", - "client_not_found", - "client_has_relocated_to_another_location", - "client_has_moved", - "client_has_absconded", - "client_continues_with_clinic_from_elsewhere" + "client_not_found" ], "openmrs_choice_ids": { "continuing_with_services": "continuing_with_services", + "client_found_ready_to_return": "client_found_ready_to_return", + "client_has_moved_to_another_facility": "client_has_moved_to_another_facility", + "client_has_relocated": "client_has_relocated", + "client_does_not_want_to_return": "client_does_not_want_to_return", "deceased": "deceased", - "client_not_found": "client_not_found", - "client_has_relocated_to_another_location": "client_has_relocated_to_another_location", - "client_has_moved": "client_has_moved", - "client_has_absconded": "client_has_absconded", - "client_continues_with_clinic_from_elsewhere": "client_continues_with_clinic_from_elsewhere" + "client_not_found": "client_not_found" }, "v_required": { "value": "true", - "err": "Tafadhali chagua mojawapo" + "err": "Tafadhali chagua" } }, { - "key": "name_of_hf", + "key": "reasons_for_missed_appointment", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "name_of_hf", + "openmrs_entity_id": "reasons_for_missed_appointment", "type": "spinner", - "hint": "Chagua Kituo cha Afya alichohamia", + "hint": "Sababu za kutohudhuria kliniki", + "values": [ + "Alisahau", + "Alikuwa mgonjwa sana", + "Aneshindwa kujiweka wazi", + "Amekosa nauli", + "Umbali/Usafiri Mgumu", + "Amepata Nafuu", + "Hakupata ruhusa kazini", + "Alisafiri", + "Anatumia tiba mbadala", + "Huduma haziridhishi", + "Nyinginezo" + ], + "keys": [ + "client_has_forgotten", + "client_was_ill", + "client_failed_to_disclose_his_status", + "client_did_not_have_fare", + "client_lives_far_away_from_the_health_facility", + "client_feels_well", + "client_was_busy_at_work", + "client_traveled", + "client_uses_alternative_medicine", + "poor_services_at_health_facility", + "other" + ], + "openmrs_choice_ids": { + "client_has_forgotten": "client_has_forgotten", + "client_was_ill": "client_was_ill", + "client_failed_to_disclose_his_status": "client_failed_to_disclose_his_status", + "client_did_not_have_fare": "client_did_not_have_fare", + "client_lives_far_away_from_the_health_facility": "client_lives_far_away_from_the_health_facility", + "client_feels_well": "client_feels_well", + "client_was_busy_at_work": "client_was_busy_at_work", + "client_traveled": "client_traveled", + "client_uses_alternative_medicine": "client_uses_alternative_medicine", + "poor_services_at_health_facility": "poor_services_at_health_facility", + "other": "other" + }, "v_required": { - "value": true, - "err": "Tafadhali chagua Kituo cha Afya alichohamia" + "value": "true", + "err": "Tafadhali chagua moja" }, "relevance": { - "rules-engine": { + "rules_engine": { "ex-rules": { "rules-file": "pmtct_community_followup_feedback_relevance.yml" } @@ -109,23 +148,118 @@ } }, { - "key": "other_facility", + "key": "other_reason_for_missed_appointment", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "other_facility", + "openmrs_entity_id": "other_reason_for_missed_appointment", "type": "edit_text", - "hint": "Kituo cha Afya kingine", + "hint": "Taja sababu nyingine za kutohudhuria kliniki", + "v_required": { + "value": "true", + "err": "Tafadhali jaza" + }, + "relevance": { + "rules_engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_relevance.yml" + } + } + } + }, + { + "key": "last_appointment_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_appointment_date", + "type": "date_picker", + "min_date": "today", + "hint": "Tarehe ya hudhurio la mwisho", "v_required": { - "value": true, - "err": "Tafadhali bainisha Kituo cha Afaya kingine" + "value": "true", + "err": "Tafadhali chagua" }, "relevance": { - "step1:name_of_hf": { - "type": "String", - "ex": "equalTo(.,\"Other\")" + "rules_engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_relevance.yml" + } } } }, + { + "key": "referral_appointment_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "type": "date_picker", + "min_date": "today", + "hint": "Tarehe aliyoahidi kurudi", + "v_required": { + "value": "true", + "err": "Tafadhali chagua" + }, + "relevance": { + "rules_engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_relevance.yml" + } + } + } + }, + { + "name": "date_of_death", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "date_of_death", + "type": "date_picker", + "min_date": "today", + "hint": "Tarehe ya kifo", + "v_required": { + "value": "true", + "err": "Tafadhali chagua" + }, + "relevance": { + "rules_engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_relevance.yml" + } + } + } + }, + { + "key": "reason_client_not_found", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reason_client_not_found", + "hint": "Sababu za kutopatikana mteja", + "type": "spinner", + "values": [ + "Anwani sio sahihi", + "Amehama makazi", + "Kilimo/Kazi za msimu" + ], + "keys": [ + "address_incorrect", + "client_relocated", + "seasonal_work" + ], + "openmrs_choice_ids": { + "address_incorrect": "address_incorrect", + "client_relocated": "client_relocated", + "seasonal_work": "seasonal_work" + }, + "relevance": { + "rules_engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua" + } + }, { "key": "pmtct_community_followup_visit_date", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json index c5713a027b..13af83b0c7 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json @@ -59,30 +59,30 @@ "hint": "Followup Feedback", "values": [ "Continuing with services", + "Client found and ready to return to clinic", + "Client has moved to another facility without information", + "Client has relocated", + "Client found but does not want to return to clinic", "Deceased", - "Client not found", - "Client has relocated to another location", - "Client has moved", - "Client has absconded", - "Client continues with clinic from elsewhere" + "Client not found" ], "keys": [ "continuing_with_services", + "client_found_ready_to_return", + "client_has_moved_to_another_facility", + "client_has_relocated", + "client_does_not_want_to_return", "deceased", - "client_not_found", - "client_has_relocated_to_another_location", - "client_has_moved", - "client_has_absconded", - "client_continues_with_clinic_from_elsewhere" + "client_not_found" ], "openmrs_choice_ids": { "continuing_with_services": "continuing_with_services", + "client_found_ready_to_return": "client_found_ready_to_return", + "client_has_moved_to_another_facility": "client_has_moved_to_another_facility", + "client_has_relocated": "client_has_relocated", + "client_does_not_want_to_return": "client_does_not_want_to_return", "deceased": "deceased", - "client_not_found": "client_not_found", - "client_has_relocated_to_another_location": "client_has_relocated_to_another_location", - "client_has_moved": "client_has_moved", - "client_has_absconded": "client_has_absconded", - "client_continues_with_clinic_from_elsewhere": "client_continues_with_clinic_from_elsewhere" + "client_not_found": "client_not_found" }, "v_required": { "value": "true", @@ -90,18 +90,57 @@ } }, { - "key": "name_of_hf", + "key": "reasons_for_missed_appointment", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "name_of_hf", + "openmrs_entity_id": "reasons_for_missed_appointment", "type": "spinner", - "hint": "Choose moved to Facility", + "hint": "Reasons for Missed Appointment", + "values": [ + "Client has forgotten", + "Client was ill", + "Client failed to disclose his status", + "Client did not have fare", + "Client lives far away from the health facility", + "Client feels well", + "Client was busy at work", + "Client traveled", + "Client uses alternative medicine", + "Poor services at health facility", + "Other" + ], + "keys": [ + "client_has_forgotten", + "client_was_ill", + "client_failed_to_disclose_his_status", + "client_did_not_have_fare", + "client_lives_far_away_from_the_health_facility", + "client_feels_well", + "client_was_busy_at_work", + "client_traveled", + "client_uses_alternative_medicine", + "poor_services_at_health_facility", + "other" + ], + "openmrs_choice_ids": { + "client_has_forgotten": "client_has_forgotten", + "client_was_ill": "client_was_ill", + "client_failed_to_disclose_his_status": "client_failed_to_disclose_his_status", + "client_did_not_have_fare": "client_did_not_have_fare", + "client_lives_far_away_from_the_health_facility": "client_lives_far_away_from_the_health_facility", + "client_feels_well": "client_feels_well", + "client_was_busy_at_work": "client_was_busy_at_work", + "client_traveled": "client_traveled", + "client_uses_alternative_medicine": "client_uses_alternative_medicine", + "poor_services_at_health_facility": "poor_services_at_health_facility", + "other": "other" + }, "v_required": { - "value": true, - "err": "Please select the health facility" + "value": "true", + "err": "Please select one" }, "relevance": { - "rules-engine": { + "rules_engine": { "ex-rules": { "rules-file": "pmtct_community_followup_feedback_relevance.yml" } @@ -109,23 +148,118 @@ } }, { - "key": "other_facility", + "key": "other_reason_for_missed_appointment", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "other_facility", + "openmrs_entity_id": "other_reason_for_missed_appointment", "type": "edit_text", - "hint": "Other Facility", + "hint": "Other Reason for Missed Appointment", "v_required": { - "value": true, - "err": "Please specify the other health facility" + "value": "true", + "err": "Please enter other reason for missed appointment" }, "relevance": { - "step1:name_of_hf": { - "type": "String", - "ex": "equalTo(.,\"Other\")" + "rules_engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_relevance.yml" + } } } }, + { + "key": "last_appointment_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "last_appointment_date", + "type": "date_picker", + "min_date": "today", + "hint": "Last Appointment Date", + "v_required": { + "value": "true", + "err": "Please enter last appointment date" + }, + "relevance": { + "rules_engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_relevance.yml" + } + } + } + }, + { + "key": "referral_appointment_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "type": "date_picker", + "min_date": "today", + "hint": "Please enter the date the client promises to return", + "v_required": { + "value": "true", + "err": "Please select" + }, + "relevance": { + "rules_engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_relevance.yml" + } + } + } + }, + { + "name": "date_of_death", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "date_of_death", + "type": "date_picker", + "min_date": "today", + "hint": "Please enter the date the date the client died", + "v_required": { + "value": "true", + "err": "Please select" + }, + "relevance": { + "rules_engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_relevance.yml" + } + } + } + }, + { + "key": "reason_client_not_found", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reason_client_not_found", + "hint": "Reason why client was not found", + "type": "spinner", + "values": [ + "Address incorrect", + "Client relocated", + "Seasonal work" + ], + "keys": [ + "address_incorrect", + "client_relocated", + "seasonal_work" + ], + "openmrs_choice_ids": { + "address_incorrect": "address_incorrect", + "client_relocated": "client_relocated", + "seasonal_work": "seasonal_work" + }, + "relevance": { + "rules_engine": { + "ex-rules": { + "rules-file": "pmtct_community_followup_feedback_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Please select one" + } + }, { "key": "pmtct_community_followup_visit_date", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_relevance.yml b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_relevance.yml index b17872a0dc..9cbf5e7b31 100644 --- a/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/pmtct_community_followup_feedback_relevance.yml @@ -1,7 +1,42 @@ --- -name: step1_name_of_hf -description: health facility option relevance +name: step1_reasons_for_missed_appointment +description: reasons_for_missed_appointment priority: 1 -condition: "step1_followup_status.contains('client_has_relocated_to_another_location') || step1_followup_status.contains('client_continues_with_clinic_from_elsewhere')" +condition: "step1_followup_status.contains('client_found_ready_to_return')" +actions: + - "isRelevant = true" +--- +name: step1_other_reason_for_missed_appointment +description: other_reason_for_missed_appointment +priority: 1 +condition: "step1_reasons_for_missed_appointment.contains('other')" +actions: + - "isRelevant = true" +--- +name: step1_last_appointment_date +description: last_appointment_date +priority: 1 +condition: "step1_followup_status.contains('continuing_with_services')" +actions: + - "isRelevant = true" +--- +name: step1_referral_appointment_date +description: referral_appointment_date +priority: 1 +condition: "step1_followup_status.contains('client_found_ready_to_return')" +actions: + - "isRelevant = true" +--- +name: step1_date_of_death +description: date_of_death +priority: 1 +condition: "step1_followup_status.contains('deceased')" +actions: + - "isRelevant = true" +--- +name: step1_reason_client_not_found +description: reason_client_not_found +priority: 1 +condition: "step1_followup_status.contains('client_not_found')" actions: - "isRelevant = true" \ No newline at end of file From 8030348848f8d8a8bc5a261379bbe11d1828349e Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 4 Jul 2022 15:47:31 +0300 Subject: [PATCH 515/915] fix: added the missing 'other' field --- .../ltfu_community_followup_feedback.json | 15 +++++++++++++++ .../nacp/assets/rule/ltfu_feedback_form_rules.yml | 9 ++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json index a12100b70b..6e432c0e61 100644 --- a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json @@ -250,6 +250,21 @@ "required_status": "yes:Please select reason why client missed last appointment", "subjects": "followup_status:map" }, + { + "name": "other_reason_for_missed_appointment", + "type": "text_input_edit_text", + "properties": { + "hint": "Other reason for missed appointment", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_for_missed_appointment", + "openmrs_entity_parent": "reasons_for_missed_appointment" + }, + "required_status": "yes:Please fill the other reason for missed appointment", + "subjects": "reasons_for_missed_appointment:map" + }, { "name": "last_appointment_date", "type": "datetime_picker", diff --git a/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml index 0f629a274b..96242c9497 100644 --- a/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml @@ -72,4 +72,11 @@ description: "Last Appointment Date if client was continuing with service" priority: 1 condition: "followup_status.value == 'Continuing with services'" actions: - - "last_appointment_date_visibility = true" \ No newline at end of file + - "last_appointment_date_visibility = true" +--- +name: "other_reason_for_missed_appointment_visibility" +description: "other_reason_for_missed_appointment_visibility" +priority: 1 +condition: "reasons_for_missed_appointment.value == 'Other'" +actions: + - "other_reason_for_missed_appointment_visibility = true" \ No newline at end of file From 7a2433631052e2be6df8d2f1957b9b837be37256 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 5 Jul 2022 10:04:53 +0300 Subject: [PATCH 516/915] refactor: wordings to match provided translated tool --- .../ltfu_community_followup_feedback.json | 30 +++++++++---------- .../assets/rule/ltfu_feedback_form_rules.yml | 6 ++-- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json index 6e432c0e61..b504d0f4fb 100644 --- a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json @@ -71,7 +71,7 @@ "options": [ { "name": "continuing_with_services", - "text": "Continuing with services", + "text": "Client attending the clinic", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "continuing_with_services", @@ -80,7 +80,7 @@ }, { "name": "client_found_ready_to_return", - "text": "Client found and ready to return to clinic", + "text": "Client is found and ready to return to clinic", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_found_ready_to_return", @@ -89,7 +89,7 @@ }, { "name": "client_has_moved_to_another_facility", - "text": "Client has moved to another facility without information", + "text": "Client has transferred to another center without notice", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_has_moved_to_another_facility", @@ -98,7 +98,7 @@ }, { "name": "client_has_relocated", - "text": "Client has relocated", + "text": "Client has emigrated", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_has_relocated", @@ -107,7 +107,7 @@ }, { "name": "client_does_not_want_to_return", - "text": "Client found but does not want to return to clinic", + "text": "Client is found but is not ready to return to clinic", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_does_not_want_to_return", @@ -158,7 +158,7 @@ }, { "name": "client_was_ill", - "text": "Client was ill", + "text": "Client was very ill", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_was_ill", @@ -167,7 +167,7 @@ }, { "name": "client_failed_to_disclose_his_status", - "text": "Client failed to disclose his status", + "text": "Client failed to disclose him/herself", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_failed_to_disclose_his_status", @@ -176,7 +176,7 @@ }, { "name": "client_did_not_have_fare", - "text": "Client did not have fare", + "text": "Client does not have a fare", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_did_not_have_fare", @@ -185,7 +185,7 @@ }, { "name": "client_lives_far_away_from_the_health_facility", - "text": "Client lives far away from the health facility", + "text": "Long distance/poor transportation", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_lives_far_away_from_the_health_facility", @@ -194,7 +194,7 @@ }, { "name": "client_feels_well", - "text": "Client feels well", + "text": "Client is feeling better", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_feels_well", @@ -203,7 +203,7 @@ }, { "name": "client_was_busy_at_work", - "text": "Client was busy at work", + "text": "Client did not get permission from the workplace", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_was_busy_at_work", @@ -212,7 +212,7 @@ }, { "name": "client_traveled", - "text": "Client traveled", + "text": "Client has traveled", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_traveled", @@ -230,7 +230,7 @@ }, { "name": "poor_services_at_health_facility", - "text": "Poor services at health facility", + "text": "Client is not satisfied with the service", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "poor_services_at_health_facility", @@ -345,7 +345,7 @@ }, { "name": "client_relocated", - "text": "Client relocated", + "text": "Emigrated", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_relocated", @@ -354,7 +354,7 @@ }, { "name": "seasonal_work", - "text": "Seasonal work", + "text": "Seasonal Agriculture/Job", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "seasonal_work", diff --git a/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml index 96242c9497..063d1a82fd 100644 --- a/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml @@ -2,14 +2,14 @@ name: "reasons_for_missed_appointment_visibility" description: "Reasons for missed appointment visibility" priority: 1 -condition: "followup_status.value == 'Client found and ready to return to clinic'" +condition: "followup_status.value == 'Client is found and ready to return to clinic'" actions: - "reasons_for_missed_appointment_visibility = true" --- name: "referral_appointment_date_visibility" description: "Reasons for missed appointment visibility" priority: 1 -condition: "followup_status.value == 'Client found and ready to return to clinic'" +condition: "followup_status.value == 'Client is found and ready to return to clinic'" actions: - "referral_appointment_date_visibility = true" --- @@ -70,7 +70,7 @@ actions: name: "last_appointment_date_visibility" description: "Last Appointment Date if client was continuing with service" priority: 1 -condition: "followup_status.value == 'Continuing with services'" +condition: "followup_status.value == 'Client attending the clinic'" actions: - "last_appointment_date_visibility = true" --- From 51cb8df0ca33d68e8fde5b81b2b2b80a1d81c142 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 5 Jul 2022 10:37:22 +0300 Subject: [PATCH 517/915] fix: added translated ltfu feedback form --- .../ltfu_community_followup_feedback.json | 371 ++++++++++++++++++ .../ltfu_community_followup_feedback.json | 3 +- .../assets/rule/ltfu_feedback_form_rules.yml | 12 +- 3 files changed, 379 insertions(+), 7 deletions(-) create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json new file mode 100644 index 0000000000..cfb0d6a180 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json @@ -0,0 +1,371 @@ +{ + "form": "LTFU Community Followup Feedback", + "count": "1", + "encounter_type": "LTFU Feedback", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/ltfu_feedback_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Taarifa za mteja baada ya ufuatiliaji", + "fields": [ + { + "name": "followup_status", + "type": "spinner", + "properties": { + "text": "Matokeo ya Ufuatiliaji" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "followup_status", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "continuing_with_services", + "text": "Mteja anahudhuria kliniki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "continuing_with_services", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_found_ready_to_return", + "text": "Amepatikana na yupo tayari kurudi kliniki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_found_ready_to_return", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_moved_to_another_facility", + "text": "Amehamia kituo kingine bila taarifa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_moved_to_another_facility", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_has_relocated", + "text": "Amehama makazi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_relocated", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_does_not_want_to_return", + "text": "Amepatikana lakini hayuko tayari kurudi kliniki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_does_not_want_to_return", + "openmrs_entity_parent": "" + } + }, + { + "name": "deceased", + "text": "Amefariki", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "deceased", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_not_found", + "text": "Hajapatikana", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_not_found", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua matokeo ya ufuatiliaji" + }, + { + "name": "reasons_for_missed_appointment", + "type": "spinner", + "properties": { + "text": "Sababu za kutohudhuria kliniki" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_missed_appointment", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "client_has_forgotten", + "text": "Alisahau", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_has_forgotten", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_was_ill", + "text": "Alikuwa mgonjwa sana", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_was_ill", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_failed_to_disclose_his_status", + "text": "Ameshindwa kujiweka wazi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_failed_to_disclose_his_status", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_did_not_have_fare", + "text": "Amekosa Nauli", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_did_not_have_fare", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_lives_far_away_from_the_health_facility", + "text": "Umbali/Usafiri Mgumu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_lives_far_away_from_the_health_facility", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_feels_well", + "text": "Amepata Nafuu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_feels_well", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_was_busy_at_work", + "text": "Hakupata ruhusa kazini", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_was_busy_at_work", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_traveled", + "text": "Alisafiri", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_traveled", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_uses_alternative_medicine", + "text": "Anatumia tiba mbadala", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_uses_alternative_medicine", + "openmrs_entity_parent": "" + } + }, + { + "name": "poor_services_at_health_facility", + "text": "Huduma haziridhishi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "poor_services_at_health_facility", + "openmrs_entity_parent": "" + } + }, + { + "name": "other", + "text": "Nyinginezo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua", + "subjects": "followup_status:map" + }, + { + "name": "other_reason_for_missed_appointment", + "type": "text_input_edit_text", + "properties": { + "hint": "Taja sababu nyingine za kutohudhuria kliniki", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reason_for_missed_appointment", + "openmrs_entity_parent": "reasons_for_missed_appointment" + }, + "required_status": "yes:Tafadhali jaza", + "subjects": "reasons_for_missed_appointment:map" + }, + { + "name": "last_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tarehe ya hudhurio la mwisho", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "last_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali taja tarehe", + "subjects": "followup_status:map" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tarehe aliyoahidi kurudi", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali taja tarehe", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status", + "service_before_referral" + ], + "subjects": "followup_status:map" + }, + { + "name": "date_of_death", + "type": "datetime_picker", + "properties": { + "hint": "Tarehe ya kifo", + "type": "date_picker", + "display_format": "dd/MM/yyyy" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "date_of_death", + "openmrs_entity_parent": "" + }, + "required_status": "yes:Tafadhali taja tarehe", + "subjects": "followup_status:map" + }, + { + "name": "reason_client_not_found", + "type": "spinner", + "properties": { + "text": "Sababu za kutopatikana mteja" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "reason_client_not_found", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "address_incorrect", + "text": "Anwani sio sahihi ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "address_incorrect", + "openmrs_entity_parent": "" + } + }, + { + "name": "client_relocated", + "text": "Amehama makazi ", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated", + "openmrs_entity_parent": "" + } + }, + { + "name": "seasonal_work", + "text": "Kilimo/kazi za msimu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "seasonal_work", + "openmrs_entity_parent": "" + } + } + ], + "subjects": "followup_status:map", + "required_status": "yes:Tafadhali chagua" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json index b504d0f4fb..aeb85bc792 100644 --- a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json @@ -362,7 +362,8 @@ } } ], - "subjects": "followup_status:map" + "subjects": "followup_status:map", + "required_status": "true:Please select reason why client was not found" } ] } diff --git a/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml index 063d1a82fd..98f12095c3 100644 --- a/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/ltfu_feedback_form_rules.yml @@ -2,28 +2,28 @@ name: "reasons_for_missed_appointment_visibility" description: "Reasons for missed appointment visibility" priority: 1 -condition: "followup_status.value == 'Client is found and ready to return to clinic'" +condition: "followup_status.value == 'Client is found and ready to return to clinic' || followup_status.value == 'Amepatikana na yupo tayari kurudi kliniki' " actions: - "reasons_for_missed_appointment_visibility = true" --- name: "referral_appointment_date_visibility" description: "Reasons for missed appointment visibility" priority: 1 -condition: "followup_status.value == 'Client is found and ready to return to clinic'" +condition: "followup_status.value == 'Client is found and ready to return to clinic' || followup_status.value == 'Amepatikana na yupo tayari kurudi kliniki' " actions: - "referral_appointment_date_visibility = true" --- name: "date_of_death_visibility" description: "Reasons for missed appointment visibility" priority: 1 -condition: "followup_status.value == 'Deceased'" +condition: "followup_status.value == 'Deceased' || followup_status.value == 'Amefariki' " actions: - "date_of_death_visibility = true" --- name: "reason_client_not_found_visibility" description: "Reasons for missed appointment visibility" priority: 1 -condition: "followup_status.value == 'Client not found'" +condition: "followup_status.value == 'Client not found' || followup_status.value == 'Hajapatikana' " actions: - "reason_client_not_found_visibility = true" --- @@ -70,13 +70,13 @@ actions: name: "last_appointment_date_visibility" description: "Last Appointment Date if client was continuing with service" priority: 1 -condition: "followup_status.value == 'Client attending the clinic'" +condition: "followup_status.value == 'Client attending the clinic' || followup_status.value == 'Mteja anahudhuria kliniki' " actions: - "last_appointment_date_visibility = true" --- name: "other_reason_for_missed_appointment_visibility" description: "other_reason_for_missed_appointment_visibility" priority: 1 -condition: "reasons_for_missed_appointment.value == 'Other'" +condition: "reasons_for_missed_appointment.value == 'Other' || reasons_for_missed_appointment.value == 'Nyinginezo' " actions: - "other_reason_for_missed_appointment_visibility = true" \ No newline at end of file From 92b0164e7d182d530b7d9ee75739230e59b3124c Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 5 Jul 2022 16:41:23 +0300 Subject: [PATCH 518/915] fix: formatting --- .../assets/json.form-sw/ltfu_community_followup_feedback.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json index cfb0d6a180..53a3b847b9 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json @@ -336,7 +336,7 @@ "options": [ { "name": "address_incorrect", - "text": "Anwani sio sahihi ", + "text": "Anwani sio sahihi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "address_incorrect", @@ -345,7 +345,7 @@ }, { "name": "client_relocated", - "text": "Amehama makazi ", + "text": "Amehama makazi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_relocated", From 90a0de507e1d4d7df1f6208afcdb40be9c3e90c8 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 5 Jul 2022 17:03:57 +0300 Subject: [PATCH 519/915] fix: display of referral clinic in ltfu --- .../chw/activity/LTFUReferralsDetailsViewActivity.java | 4 ++++ .../java/org/smartregister/chw/model/LTFUReferralModel.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java index 852cd89540..96d57effc6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java @@ -115,6 +115,10 @@ public void setStartingActivity(String startingActivity) { this.startingActivity = startingActivity; } + @Override + protected void updateProblemDisplay() { + clientReferralProblem.setText(Utils.getValue(commonPersonObjectClient.getColumnmaps(), "REFERRAL_CLINIC", false)); + } public String getBaseEntityId() { return baseEntityId; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java index c436d527f6..e1c3a6a692 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/LTFUReferralModel.java @@ -55,7 +55,7 @@ private void addTaskDetails(Set columns) { columns.add(CoreConstants.TABLE_NAME.TASK + "." + CoreConstants.DB_CONSTANTS.REQUESTER); columns.add(CoreConstants.TABLE_NAME.TASK + "." + CoreConstants.DB_CONSTANTS.START); columns.add(CoreConstants.TABLE_NAME.TASK + "." + "reason_reference"); - columns.add(CoreConstants.TABLE_NAME.TASK + "." + "description AS REFERRAL_CLINIC" ); + columns.add(CoreConstants.TABLE_NAME.REFERRAL + "." + org.smartregister.chw.referral.util.DBConstants.Key.PROBLEM + " AS REFERRAL_CLINIC" ); columns.add(CoreConstants.TABLE_NAME.TASK + "." + "location AS " + org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_HF); columns.add(CoreConstants.TABLE_NAME.REFERRAL + "." + org.smartregister.chw.referral.util.DBConstants.Key.PROBLEM); columns.add(CoreConstants.TABLE_NAME.REFERRAL + "." + org.smartregister.chw.referral.util.DBConstants.Key.REFERRAL_SERVICE); From 93e90fc42bbf8ad69ba196f04298a26fe7e91cce Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 5 Jul 2022 17:10:13 +0300 Subject: [PATCH 520/915] fix: translation for the provider --- .../chw/provider/LTFURegisterProvider.java | 20 ++++++++++++++++++- .../src/nacp/res/values-sw/strings.xml | 6 ++++++ opensrp-chw/src/nacp/res/values/strings.xml | 5 +++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/LTFURegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/LTFURegisterProvider.java index c91128f44c..00fcef7c8e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/provider/LTFURegisterProvider.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/LTFURegisterProvider.java @@ -24,7 +24,7 @@ public LTFURegisterProvider(Context context, View.OnClickListener onClickListene public void populatePatientColumn(CommonPersonObjectClient pc, ReferralViewHolder viewHolder) { super.populatePatientColumn(pc, viewHolder); TextView referralClinic = viewHolder.itemView.findViewById(R.id.referral_clinic); - referralClinic.setText(Utils.getValue(pc.getColumnmaps(), "REFERRAL_CLINIC", true)); + referralClinic.setText(getReferralClinic(Utils.getValue(pc.getColumnmaps(), "REFERRAL_CLINIC", true))); TextView referredByTextView = viewHolder.itemView.findViewById(org.smartregister.chw.core.R.id.referred_by); LocationRepository locationRepository = new LocationRepository(); @@ -32,4 +32,22 @@ public void populatePatientColumn(CommonPersonObjectClient pc, ReferralViewHolde Location location = locationRepository.getLocationById(locationId); referredByTextView.setText(context.getString(R.string.referred_by, location.getProperties().getName())); } + + + private String getReferralClinic(String key){ + switch (key.toLowerCase()){ + case "ctc": + return context.getString(R.string.ltfu_clinic_ctc); + case "pwid": + return context.getString(R.string.ltfu_clinic_pwid); + case "prep": + return context.getString(R.string.ltfu_clinic_prep); + case "pmtct": + return context.getString(R.string.ltfu_clinic_pmtct); + case "tb": + return context.getString(R.string.ltfu_clinic_tb); + default: + return key.toUpperCase(); + } + } } diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 8afad7d1f4..2133269c03 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -78,4 +78,10 @@ Uthibitisho Kipimo binfasi Upimaji wa washirika wa ngono/wakujidunga + CTC + KLINIKI YA WAJIDUNGA + CTC(Dawa Kinga) + PMTCT + TB + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 8d2172ae5c..efc3d82355 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -64,5 +64,10 @@ Confirmation Self Test Index Contact Testing + CTC + PWID + PrEP + PMTCT + TB \ No newline at end of file From cefd7ab7f95aaa53d81017580ef21446aa0067cf Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 5 Jul 2022 17:21:30 +0300 Subject: [PATCH 521/915] fix: translation for the details view ltfu --- .../LTFUReferralsDetailsViewActivity.java | 20 ++++++++++++++++++- .../layout/referrals_tasks_view_layout.xml | 2 +- .../src/nacp/res/values-sw/strings.xml | 1 + opensrp-chw/src/nacp/res/values/strings.xml | 1 + 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java index 96d57effc6..6634ca37e4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/LTFUReferralsDetailsViewActivity.java @@ -1,6 +1,7 @@ package org.smartregister.chw.activity; import android.app.Activity; +import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; @@ -117,7 +118,24 @@ public void setStartingActivity(String startingActivity) { @Override protected void updateProblemDisplay() { - clientReferralProblem.setText(Utils.getValue(commonPersonObjectClient.getColumnmaps(), "REFERRAL_CLINIC", false)); + clientReferralProblem.setText(getReferralClinic(Utils.getValue(commonPersonObjectClient.getColumnmaps(), "REFERRAL_CLINIC", false),this)); + } + + private String getReferralClinic(String key, Context context){ + switch (key.toLowerCase()){ + case "ctc": + return context.getString(R.string.ltfu_clinic_ctc); + case "pwid": + return context.getString(R.string.ltfu_clinic_pwid); + case "prep": + return context.getString(R.string.ltfu_clinic_prep); + case "pmtct": + return context.getString(R.string.ltfu_clinic_pmtct); + case "tb": + return context.getString(R.string.ltfu_clinic_tb); + default: + return key.toUpperCase(); + } } public String getBaseEntityId() { diff --git a/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml b/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml index 58c51e4922..30f315064a 100644 --- a/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml +++ b/opensrp-chw/src/main/res/layout/referrals_tasks_view_layout.xml @@ -225,7 +225,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" - android:text="Referred Clinic" + android:text="@string/referred_clinic" android:textAppearance="@style/TextAppearance.AppCompat.Medium" android:textColor="@color/grey" android:textSize="15sp" diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 2133269c03..776bc03947 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -83,5 +83,6 @@ CTC(Dawa Kinga) PMTCT TB + Kitengo kilichotoa rufaa \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index efc3d82355..8587901108 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -69,5 +69,6 @@ PrEP PMTCT TB + Referred Clinic \ No newline at end of file From 6bdb97ea15f6803e010443067c8a19fad68d5fec Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 5 Jul 2022 17:30:23 +0300 Subject: [PATCH 522/915] refactor: wordings for mother champion feedback to match provided translated tool --- .../pmtct_community_followup_feedback.json | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json index 13af83b0c7..a6904d1d1a 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json @@ -58,11 +58,11 @@ "type": "spinner", "hint": "Followup Feedback", "values": [ - "Continuing with services", - "Client found and ready to return to clinic", - "Client has moved to another facility without information", - "Client has relocated", - "Client found but does not want to return to clinic", + "Client attending the clinic", + "Client is found and ready to return to clinic", + "Client has transferred to another center without notice", + "Client has emigrated", + "Client is found but is not ready to return to clinic", "Deceased", "Client not found" ], @@ -98,15 +98,15 @@ "hint": "Reasons for Missed Appointment", "values": [ "Client has forgotten", - "Client was ill", - "Client failed to disclose his status", + "Client was very ill", + "Client failed to disclose him/herself", "Client did not have fare", - "Client lives far away from the health facility", - "Client feels well", - "Client was busy at work", - "Client traveled", + "Long distance/poor transportation", + "Client is feeling better", + "Client did not get permission from the workplace", + "Client has traveled", "Client uses alternative medicine", - "Poor services at health facility", + "Client is not satisfied with the service", "Other" ], "keys": [ @@ -236,7 +236,7 @@ "values": [ "Address incorrect", "Client relocated", - "Seasonal work" + "Seasonal Agriculture/Job" ], "keys": [ "address_incorrect", From d3475bf4c7cfc86c11169f245b021f1bfbda279d Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sat, 9 Jul 2022 11:19:12 +0300 Subject: [PATCH 523/915] :construction: reverted back all changes made to BA --- .../ba/assets/ec_client_classification.json | 161 -- .../src/ba/assets/ec_client_fields.json | 1024 +----------- .../all_clients_registration_form.json | 848 +++------- ...clients_update_registration_info_form.json | 1408 ---------------- .../json.form-sw/anc_hv_counselling.json | 72 +- .../json.form-sw/anc_hv_danger_signs.json | 79 +- .../json.form-sw/anc_hv_family_planning.json | 23 +- .../anc_hv_health_facility_visit.json | 253 ++- .../assets/json.form-sw/anc_hv_malaria.json | 126 +- .../json.form-sw/anc_hv_nutrition_status.json | 18 +- .../json.form-sw/anc_hv_observations.json | 54 +- .../anc_hv_pregnancy_risk_form.json | 12 +- .../anc_hv_remarks_and_comments.json | 6 +- .../json.form-sw/anc_member_registration.json | 162 +- .../json.form-sw/anc_pregnancy_outcome.json | 184 +-- .../json.form-sw/anc_referral_form.json | 56 +- .../json.form-sw/birth_certification.json | 183 --- .../assets/json.form-sw/child_enrollment.json | 215 +-- .../json.form-sw/child_hv_deworming.json | 6 +- .../child_hv_malaria_prevention.json | 20 +- .../child_hv_nutrition_status.json | 10 +- .../child_hv_vaccine_card_received.json | 72 - .../json.form-sw/child_hv_vitamin_a.json | 4 +- .../json.form-sw/child_referral_form.json | 127 +- .../json.form-sw/family_details_register.json | 28 +- .../family_details_remove_child.json | 40 +- .../family_details_remove_family.json | 22 +- .../family_details_remove_member.json | 40 +- .../json.form-sw/family_member_register.json | 535 ++----- .../assets/json.form-sw/family_register.json | 607 ++----- .../female_family_planning_registration.json | 1099 ++++++++++++- .../json.form-sw/female_fp_referral_form.json | 91 +- .../female_hiv_followup_visit.json | 1055 ------------ ...up_visit_for_clients_with_ctc_numbers.json | 961 ----------- .../json.form-sw/female_hiv_registration.json | 192 --- .../json.form-sw/fp_followup_counsel.json | 11 +- .../json.form-sw/fp_followup_resupply.json | 16 +- .../fp_followup_side_effects.json | 87 +- .../hiv_community_followup_feedback.json | 185 --- .../hiv_index_contact_followup.json | 194 --- .../in_app_monthly_tallies_report.json | 8 +- .../json.form-sw/malaria_confirmation.json | 116 +- .../json.form-sw/malaria_follow_up_visit.json | 57 +- .../json.form-sw/malaria_referral_form.json | 54 +- .../json.form-sw/male_hiv_followup_visit.json | 1073 ------------- ...up_visit_for_clients_with_ctc_numbers.json | 979 ------------ .../json.form-sw/male_hiv_registration.json | 179 --- .../json.form-sw/observation_illness.json | 18 +- .../assets/json.form-sw/pnc_counselling.json | 53 +- .../json.form-sw/pnc_danger_signs_baby.json | 30 +- .../json.form-sw/pnc_danger_signs_mother.json | 24 +- .../pnc_exclusive_breastfeeding.json | 4 +- .../json.form-sw/pnc_family_planning.json | 34 +- .../pnc_health_facility_visit.json | 24 +- .../pnc_health_facility_visit_two.json | 13 +- .../json.form-sw/pnc_hv_danger_signs.json | 195 --- .../pnc_hv_observations_infant.json | 12 +- .../pnc_hv_observations_mother.json | 10 +- .../json.form-sw/pnc_malaria_prevention.json | 18 +- .../pnc_nutrition_status_infant.json | 8 +- .../pnc_nutrition_status_mother.json | 12 +- .../json.form-sw/pnc_referral_form.json | 72 +- .../referrals/anc_referral_form.json | 191 +-- .../referrals/child_gbv_referral_form.json | 3 +- .../referrals/child_referral_form.json | 3 +- .../referrals/female_fp_referral_form.json | 3 +- .../referrals/gbv_referral_form.json | 25 +- .../referrals/hiv_referral_form.json | 109 +- .../referrals/hts_referral_form.json | 174 -- .../referrals/malaria_referral_form.json | 3 +- .../referrals/male_fp_referral_form.json | 3 +- .../referrals/pnc_referral_form.json | 3 +- .../pregnancy_confirmation_referral_form.json | 221 --- .../json.form-sw/referrals/referral_form.json | 3 +- .../referrals/tb_referral_form.json | 3 +- .../json.form-sw/routine_home_visit.json | 66 +- .../assets/json.form-sw/tb_case_closure.json | 141 -- .../tb_community_followup_feedback.json | 144 -- .../json.form-sw/tb_followup_visit.json | 458 ------ .../assets/json.form-sw/tb_registration.json | 339 ---- .../all_clients_registration_form.json | 717 ++------- ...clients_update_registration_info_form.json | 1413 ----------------- .../assets/json.form/anc_hv_counselling.json | 54 +- .../assets/json.form/anc_hv_danger_signs.json | 51 +- .../json.form/anc_hv_family_planning.json | 23 +- .../anc_hv_health_facility_visit.json | 235 ++- .../ba/assets/json.form/anc_hv_malaria.json | 102 +- .../json.form/anc_hv_nutrition_status.json | 8 +- .../assets/json.form/anc_hv_observations.json | 42 +- .../anc_hv_remarks_and_comments.json | 2 +- .../json.form/anc_member_registration.json | 92 +- .../json.form/anc_pregnancy_outcome.json | 75 +- .../ba/assets/json.form/child_enrollment.json | 143 +- .../json.form/family_details_register.json | 20 +- .../json.form/family_member_register.json | 410 ++--- .../ba/assets/json.form/family_register.json | 484 ++---- .../json.form/female_hiv_followup_visit.json | 1055 ------------ ...up_visit_for_clients_with_ctc_numbers.json | 961 ----------- .../json.form/female_hiv_registration.json | 192 --- .../hiv_community_followup_feedback.json | 185 --- .../json.form/hiv_index_contact_followup.json | 194 --- .../json.form/male_hiv_followup_visit.json | 1073 ------------- ...up_visit_for_clients_with_ctc_numbers.json | 979 ------------ .../json.form/male_hiv_registration.json | 179 --- .../referrals/anc_referral_form.json | 82 +- .../referrals/child_gbv_referral_form.json | 3 +- .../referrals/child_referral_form.json | 3 +- .../referrals/female_fp_referral_form.json | 3 +- .../referrals/gbv_referral_form.json | 9 +- .../referrals/hiv_referral_form.json | 69 +- .../referrals/hts_referral_form.json | 174 -- .../referrals/malaria_referral_form.json | 3 +- .../referrals/male_fp_referral_form.json | 3 +- .../referrals/pnc_referral_form.json | 3 +- .../pregnancy_confirmation_referral_form.json | 221 --- .../json.form/referrals/referral_form.json | 3 +- .../json.form/referrals/tb_referral_form.json | 3 +- .../ba/assets/json.form/tb_case_closure.json | 141 -- .../tb_community_followup_feedback.json | 144 -- .../assets/json.form/tb_followup_visit.json | 459 ------ .../ba/assets/json.form/tb_registration.json | 339 ---- .../rule/all_clients_member_calculation.yml | 23 +- .../rule/all_clients_member_relevance.yml | 42 - .../all_clients_member_update_calculation.yml | 21 - .../all_clients_member_update_relevance.yml | 121 -- .../ba/assets/rule/family-child-relevance.yml | 7 - .../assets/rule/family_member_relevance.yml | 21 - .../rule/family_register_calculation.yml | 16 +- .../assets/rule/family_register_relevance.yml | 29 +- .../src/ba/assets/rule/hiv-followup-rules.yml | 8 - .../hiv_community_followup_feedback_rules.yml | 22 - .../assets/rule/hiv_followup_form_rules.yml | 155 -- .../rule/hiv_index_contact_followup_rules.yml | 28 - .../rule/hiv_registration_form_rules.yml | 14 - ...nancy_confirmation_referral_form_rules.yml | 47 - .../src/ba/assets/rule/tb-followup-rules.yml | 8 - .../rule/tb_case_closure_form_rules.yml | 21 - .../tb_community_followup_feedback_rules.yml | 8 - .../ba/assets/rule/tb_followup_form_rules.yml | 70 - .../rule/tb_registration_form_rules.yml | 28 - .../AncMedicalHistoryActivityFlv.java | 6 +- .../FamilyOtherMemberProfileActivityFlv.java | 20 +- .../chw/activity/HivProfileActivityFlv.java | 12 - .../activity/PncMemberProfileActivityFlv.java | 2 - .../chw/activity/TbProfileActivityFlv.java | 12 - .../chw/application/ChwApplicationFlv.java | 12 +- .../interactor/AncHomeVisitInteractorFlv.java | 171 +- .../chw/model/NavigationModelFlv.java | 25 +- .../chw/repository/ChwRepositoryFlv.java | 13 - .../org/smartregister/chw/util/UtilsFlv.java | 18 - .../{ic_logo_ba.png => ic_logo.png} | Bin opensrp-chw/src/ba/res/drawable/ic_logo.png | Bin 706227 -> 736484 bytes .../src/ba/res/drawable/ic_logo_ba.png | Bin 736484 -> 0 bytes opensrp-chw/src/ba/res/values-fr/strings.xml | 6 +- opensrp-chw/src/ba/res/values-sw/strings.xml | 21 +- opensrp-chw/src/ba/res/values/strings.xml | 16 +- 156 files changed, 4155 insertions(+), 22390 deletions(-) delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/birth_certification.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/child_hv_vaccine_card_received.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_danger_signs.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/referrals/hts_referral_form.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/tb_case_closure.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/tb_community_followup_feedback.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/tb_followup_visit.json delete mode 100644 opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/hiv_index_contact_followup.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/tb_case_closure.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/tb_community_followup_feedback.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json delete mode 100644 opensrp-chw/src/ba/assets/json.form/tb_registration.json delete mode 100644 opensrp-chw/src/ba/assets/rule/all_clients_member_update_calculation.yml delete mode 100644 opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml delete mode 100644 opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml delete mode 100644 opensrp-chw/src/ba/assets/rule/hiv_community_followup_feedback_rules.yml delete mode 100644 opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml delete mode 100644 opensrp-chw/src/ba/assets/rule/hiv_index_contact_followup_rules.yml delete mode 100644 opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml delete mode 100644 opensrp-chw/src/ba/assets/rule/pregnancy_confirmation_referral_form_rules.yml delete mode 100644 opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml delete mode 100644 opensrp-chw/src/ba/assets/rule/tb_case_closure_form_rules.yml delete mode 100644 opensrp-chw/src/ba/assets/rule/tb_community_followup_feedback_rules.yml delete mode 100644 opensrp-chw/src/ba/assets/rule/tb_followup_form_rules.yml delete mode 100644 opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml delete mode 100644 opensrp-chw/src/ba/java/org/smartregister/chw/activity/HivProfileActivityFlv.java delete mode 100644 opensrp-chw/src/ba/java/org/smartregister/chw/activity/TbProfileActivityFlv.java rename opensrp-chw/src/ba/res/drawable-hdpi/{ic_logo_ba.png => ic_logo.png} (100%) delete mode 100644 opensrp-chw/src/ba/res/drawable/ic_logo_ba.png diff --git a/opensrp-chw/src/ba/assets/ec_client_classification.json b/opensrp-chw/src/ba/assets/ec_client_classification.json index 424e6c3cf6..9fb59c265c 100644 --- a/opensrp-chw/src/ba/assets/ec_client_classification.json +++ b/opensrp-chw/src/ba/assets/ec_client_classification.json @@ -122,22 +122,6 @@ "ec_child" ] }, - { - "field": "eventType", - "field_value": "Pregnancy Confirmation", - "creates_case": [ - "ec_anc_register", - "ec_anc_log", - "ec_pregnancy_confirmation_updates" - ] - }, - { - "field": "eventType", - "field_value": "Pregnancy Confirmation Dismissal", - "creates_case": [ - "ec_pregnancy_confirmation_updates" - ] - }, { "field": "eventType", "field_value": "ANC Registration", @@ -313,151 +297,6 @@ "creates_case": [ "ec_not_yet_done_referral" ] - }, - { - "field": "eventType", - "field_value": "CBHS Registration", - "creates_case": [ - "ec_hiv_register" - ] - }, - { - "field": "eventType", - "field_value": "CBHS Registration", - "creates_case": [ - "ec_cbhs_register" - ] - }, - { - "field": "eventType", - "field_value": "Update CBHS Registration", - "creates_case": [ - "ec_hiv_register", - "ec_cbhs_register" - ] - }, - { - "field": "eventType", - "field_value": "CBHS Followup", - "creates_case": [ - "ec_hiv_register", - "ec_cbhs_register" - ] - }, - { - "field": "eventType", - "field_value": "Tb Registration", - "creates_case": [ - "ec_tb_register" - ] - }, - { - "field": "eventType", - "field_value": "TB Case Closure", - "creates_case": [ - "ec_tb_register" - ] - }, - { - "field": "eventType", - "field_value": "HIV Community Followup", - "creates_case": [ - "ec_hiv_community_followup" - ] - }, - { - "field": "eventType", - "field_value": "TB Community Followup", - "creates_case": [ - "ec_tb_community_followup" - ] - }, - { - "field": "eventType", - "field_value": "HIV Community Followup Feedback", - "creates_case": [ - "ec_hiv_community_feedback" - ] - }, - { - "field": "eventType", - "field_value": "TB Community Followup Feedback", - "creates_case": [ - "ec_tb_community_feedback" - ] - }, - { - "field": "eventType", - "field_value": "HIV Outcome", - "creates_case": [ - "ec_hiv_outcome", - "ec_hiv_register" - ] - }, - { - "field": "eventType", - "field_value": "TB Outcome", - "creates_case": [ - "ec_tb_outcome", - "ec_tb_register" - ] - }, - { - "field": "eventType", - "field_value": "HIV Notification Dismissal", - "creates_case": [ - "ec_hiv_outcome" - ] - }, - { - "field": "eventType", - "field_value": "TB Notification Dismissal", - "creates_case": [ - "ec_tb_outcome" - ] - }, - { - "field": "eventType", - "field_value": "Hiv Index Contact Registration", - "creates_case": [ - "ec_hiv_index" - ] - }, - { - "field": "eventType", - "field_value": "HIV Index Contact CHW Followup", - "creates_case": [ - "ec_hiv_index" - ] - }, - { - "field": "eventType", - "field_value": "HIV Index Contact Testing Followup", - "creates_case": [ - "ec_hiv_index" - ] - }, - { - "field": "eventType", - "field_value": "HIV Index Contact Community Followup Referral", - "creates_case": [ - "ec_hiv_index", - "ec_hiv_index_contact_community_followup" - ] - }, - { - "field": "eventType", - "field_value": "HIV Index Contact Community Followup Notification Dismissal", - "creates_case": [ - "ec_hiv_index_contact_community_followup" - ] - }, - { - "field":"eventType", - "field_value": "Pregnancy Unconfirmed", - "closes_case": [ - "ec_anc_register" - ] } ] } diff --git a/opensrp-chw/src/ba/assets/ec_client_fields.json b/opensrp-chw/src/ba/assets/ec_client_fields.json index afda0c1fe1..312a6bd13d 100644 --- a/opensrp-chw/src/ba/assets/ec_client_fields.json +++ b/opensrp-chw/src/ba/assets/ec_client_fields.json @@ -50,7 +50,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "gps" + "concept": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -58,7 +58,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "nearest_facility" + "concept": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -184,7 +184,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "phone_number" + "concept": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -192,7 +192,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "other_phone_number" + "concept": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -249,7 +249,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "type_of_disability" + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -257,7 +257,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "disabilities" + "concept": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -265,7 +265,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "service_provider" + "concept": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -305,14 +305,6 @@ "concept": "Primary_Caregiver_Name" } }, - { - "column_name": "marital_status", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "marital_status" - } - }, { "column_name": "entity_type", "type": "Event", @@ -429,7 +421,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "early_bf_1hr" + "concept": "161543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -437,7 +429,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "disabilities" + "concept": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -445,7 +437,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "type_of_disability" + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -453,7 +445,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "birth_cert_available" + "concept": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -461,7 +453,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "rhc_card" + "concept": "164147AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -469,7 +461,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "nutrition_status" + "concept": "163301AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -522,7 +514,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "birth_regist_number" + "concept": "162052AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -687,24 +679,24 @@ "column_name": "last_menstrual_period", "type": "Event", "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "last_menstrual_period" + "field": "obs.fieldCode", + "concept": "1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { "column_name": "gest_age", "type": "Event", "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "gest_age" + "field": "obs.fieldCode", + "concept": "1438AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { "column_name": "edd", "type": "Event", "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "edd" + "field": "obs.fieldCode", + "concept": "5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -712,7 +704,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "no_prev_preg" + "concept": "1438AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -720,7 +712,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "gravida" + "concept": "5624AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -728,7 +720,23 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "no_surv_children" + "concept": "164894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "phone_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "column_name": "marital_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "1054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -760,7 +768,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "anc_hf_visit_date" + "concept": "159590AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } } ] @@ -1165,7 +1173,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "preg_outcome" + "concept": "161033AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -1173,7 +1181,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "miscarriage_date" + "concept": "165248AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -1181,7 +1189,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "delivery_date" + "concept": "5599AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -1189,7 +1197,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "delivery_place" + "concept": "1572AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -1197,7 +1205,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "delivery_home" + "concept": "1573AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -1402,7 +1410,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "problem" + "concept": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -1410,7 +1418,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "problem_other" + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -1418,7 +1426,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "service_before_referral" + "concept": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -1426,7 +1434,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "service_before_referral_other" + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -1435,7 +1443,7 @@ "data_type": "date", "json_mapping": { "field": "obs.fieldCode", - "concept": "referral_appointment_date" + "concept": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -2073,7 +2081,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "other_anc_danger_signs" + "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -2081,7 +2089,7 @@ "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "action_taken_anc_danger_signs" + "concept": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { @@ -2446,934 +2454,6 @@ } } ] - }, - { - "name": "ec_hiv_register", - "columns": [ - { - "column_name": "base_entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, - { - "column_name": "relational_id", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "relational_id" - } - }, - { - "column_name": "last_interacted_with", - "type": "Event", - "json_mapping": { - "field": "version" - } - }, - { - "column_name": "ctc_number", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "ctc_number" - } - }, - { - "column_name": "tb_number", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "tb_number" - } - }, - { - "column_name": "rch_number", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "rch_number" - } - }, - { - "column_name": "mat_number", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "mat_number" - } - }, - { - "column_name": "cbhs_number", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "cbhs_number" - } - }, - { - "column_name": "registration_or_followup_status", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "registration_or_followup_status", - "value_field": "obs.fieldCode" - } - }, - { - "column_name": "client_hiv_status_during_registration", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "client_hiv_status_during_registration" - } - }, - { - "column_name": "client_hiv_status_after_testing", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "test_results" - } - }, - { - "column_name": "hiv_registration_date", - "type": "Event", - "data_type": "date", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "hiv_registration_date" - } - } - ] - }, - { - "name": "ec_cbhs_register", - "columns": [ - { - "column_name": "base_entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, - { - "column_name": "relational_id", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "relational_id" - } - }, - { - "column_name": "last_interacted_with", - "type": "Event", - "json_mapping": { - "field": "version" - } - }, - { - "column_name": "ctc_number", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "ctc_number" - } - }, - { - "column_name": "tb_number", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "tb_number" - } - }, - { - "column_name": "rch_number", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "rch_number" - } - }, - { - "column_name": "mat_number", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "mat_number" - } - }, - { - "column_name": "cbhs_number", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "cbhs_number" - } - }, - { - "column_name": "registration_or_followup_status", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "registration_or_followup_status", - "value_field": "obs.fieldCode" - } - }, - { - "column_name": "client_hiv_status_during_registration", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "client_hiv_status_during_registration" - } - }, - { - "column_name": "client_hiv_status_after_testing", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "test_results" - } - }, - { - "column_name": "hiv_registration_date", - "type": "Event", - "data_type": "date", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "hiv_registration_date" - } - } - ] - }, - { - "name": "ec_hiv_community_followup", - "columns": [ - { - "column_name": "entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, - { - "column_name": "base_entity_id", - "type": "Event", - "json_mapping": { - "field": "formSubmissionId" - } - }, - { - "column_name": "relational_id", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "relational_id" - } - }, - { - "column_name": "last_interacted_with", - "type": "Event", - "json_mapping": { - "field": "version" - } - }, - { - "column_name": "last_client_visit_date", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "last_client_visit_date" - } - }, - { - "column_name": "hiv_community_referral_date", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "hiv_community_referral_date" - } - }, - { - "column_name": "comment", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "comment_hiv_community_followup" - } - }, - { - "column_name": "reasons_for_issuing_community_referral", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "reasons_for_issuing_community_referral" - } - } - ] - }, - { - "name": "ec_hiv_community_feedback", - "columns": [ - { - "column_name": "entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, - { - "column_name": "base_entity_id", - "type": "Event", - "json_mapping": { - "field": "formSubmissionId" - } - }, - { - "column_name": "relational_id", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "relational_id" - } - }, - { - "column_name": "last_interacted_with", - "type": "Event", - "json_mapping": { - "field": "version" - } - }, - { - "column_name": "hiv_community_followup_visit_date", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "hiv_community_followup_visit_date" - } - }, - { - "column_name": "followup_status", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "followup_status" - } - }, - { - "column_name": "community_referral_form_id", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "community_referral_form_id" - } - } - ] - }, - { - "name": "ec_tb_register", - "columns": [ - { - "column_name": "base_entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, - { - "column_name": "relational_id", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "relational_id" - } - }, - { - "column_name": "last_interacted_with", - "type": "Event", - "json_mapping": { - "field": "version" - } - }, - { - "column_name": "community_client_tb_registration_number", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "community_client_tb_registration_number" - } - }, - { - "column_name": "client_tb_status_during_registration", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "client_tb_status_during_registration" - } - }, - { - "column_name": "client_tb_status_after_testing", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "test_results" - } - }, - { - "column_name": "place_of_domicile", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "place_of_domicile" - } - }, - { - "column_name": "client_tb_screening_results", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "client_tb_screening_results" - } - }, - { - "column_name": "tb_registration_date", - "type": "Event", - "data_type": "date", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "tb_registration_date" - } - }, - { - "column_name": "tb_case_closure_date", - "type": "Event", - "data_type": "date", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "tb_case_closure_date" - } - } - ] - }, - { - "name": "ec_tb_community_followup", - "columns": [ - { - "column_name": "entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, - { - "column_name": "base_entity_id", - "type": "Event", - "json_mapping": { - "field": "formSubmissionId" - } - }, - { - "column_name": "relational_id", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "relational_id" - } - }, - { - "column_name": "last_interacted_with", - "type": "Event", - "json_mapping": { - "field": "version" - } - }, - { - "column_name": "last_client_visit_date", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "last_client_visit_date" - } - }, - { - "column_name": "tb_community_referral_date", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "tb_community_referral_date" - } - }, - { - "column_name": "comment", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "comment_tb_community_followup" - } - }, - { - "column_name": "reasons_for_issuing_community_referral", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "reasons_for_issuing_community_referral" - } - } - ] - }, - { - "name": "ec_tb_community_feedback", - "columns": [ - { - "column_name": "entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, - { - "column_name": "base_entity_id", - "type": "Event", - "json_mapping": { - "field": "formSubmissionId" - } - }, - { - "column_name": "relational_id", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "relational_id" - } - }, - { - "column_name": "last_interacted_with", - "type": "Event", - "json_mapping": { - "field": "version" - } - }, - { - "column_name": "tb_community_followup_visit_date", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "tb_community_followup_visit_date" - } - }, - { - "column_name": "followup_status", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "followup_status" - } - }, - { - "column_name": "community_referral_form_id", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "community_referral_form_id" - } - } - ] - }, - { - "name": "ec_hiv_outcome", - "columns": [ - { - "column_name": "entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, - { - "column_name": "base_entity_id", - "type": "Event", - "json_mapping": { - "field": "formSubmissionId" - } - }, - { - "column_name": "visit_date", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "hiv_facility_visit_date" - } - }, - { - "column_name": "problem", - "type": "Event", - "save_format": "json_array", - "json_mapping": { - "field": "obs.fieldCode", - "formSubmissionField": "problem" - } - }, - { - "column_name": "problem_other", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "problem_other" - } - }, - { - "column_name": "action_taken", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "action_taken_hiv_problems" - } - }, - { - "column_name": "test_results", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "test_results" - } - }, - { - "column_name": "enrolled_to_clinic", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "enrolled_to_clinic" - } - }, - { - "column_name": "ctc_number", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "ctc_number" - } - }, - { - "column_name": "comment", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "comment_hiv_problems" - } - }, - { - "column_name": "date_marked_as_done", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "date_marked_as_done" - } - } - ] - }, - { - "name": "ec_tb_outcome", - "columns": [ - { - "column_name": "entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, - { - "column_name": "base_entity_id", - "type": "Event", - "json_mapping": { - "field": "formSubmissionId" - } - }, - { - "column_name": "visit_date", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "tb_facility_visit_date" - } - }, - { - "column_name": "problem", - "type": "Event", - "save_format": "json_array", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "problem" - } - }, - { - "column_name": "problem_other", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "problem_other" - } - }, - { - "column_name": "action_taken", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "action_taken_tb_problems" - } - }, - { - "column_name": "test_results", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "test_results" - } - }, - { - "column_name": "enrolled_to_clinic", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "enrolled_to_clinic" - } - }, - { - "column_name": "tb_clinic_number", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "tb_clinic_number" - } - }, - { - "column_name": "comment", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "comment_tb_problems" - } - }, - { - "column_name": "date_marked_as_done", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "date_marked_as_done" - } - } - ] - }, - { - "name": "ec_pregnancy_confirmation_updates", - "columns": [ - { - "column_name": "entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, - { - "column_name": "base_entity_id", - "type": "Event", - "json_mapping": { - "field": "formSubmissionId" - } - }, - { - "column_name": "visit_date", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "end" - } - }, - { - "column_name": "date_marked_as_done", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "date_marked_as_done" - } - } - ] - }, - { - "name": "ec_hiv_index", - "columns": [ - { - "column_name": "base_entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, - { - "column_name": "hiv_client_id", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "index_client_base_entity_id" - } - }, - { - "column_name": "relationship", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "relationship" - } - }, - { - "column_name": "hiv_status", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "hiv_status" - } - }, - { - "column_name": "has_started_medication", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "has_started_medication" - } - }, - { - "column_name": "hiv_test_eligibility", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "eligibility_for_testing" - } - }, - { - "column_name": "how_to_notify_the_contact_client", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "how_to_notify_the_contact_client" - } - }, - { - "column_name": "has_the_contact_client_been_tested", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "has_the_contact_client_been_tested" - } - }, - { - "column_name": "test_results", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "test_results" - } - }, - { - "column_name": "enrolled_to_clinic", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "enrolled_to_clinic" - } - }, - { - "column_name": "ctc_number", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "ctc_number" - } - }, - { - "column_name": "comment", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "comment" - } - }, - { - "column_name": "refer_to_chw", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "refer_to_chw" - } - }, - { - "column_name": "hiv_index_contact_community_followup_referral_date", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "hiv_index_contact_community_followup_referral_date" - } - }, - { - "column_name": "client_followed_up_by_chw", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "client_followed_up_by_chw" - } - }, - { - "column_name": "hiv_index_registration_date", - "type": "Event", - "json_mapping": { - "field": "eventDate" - } - } - ] - }, - { - "name": "ec_hiv_index_contact_community_followup", - "columns": [ - { - "column_name": "entity_id", - "type": "Event", - "json_mapping": { - "field": "baseEntityId" - } - }, - { - "column_name": "base_entity_id", - "type": "Event", - "json_mapping": { - "field": "formSubmissionId" - } - }, - { - "column_name": "comment", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "comment" - } - }, - { - "column_name": "hiv_index_contact_community_followup_referral_date", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "hiv_index_contact_community_followup_referral_date" - } - }, - { - "column_name": "date_marked_as_done", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "date_marked_as_done" - } - } - ] } ] } \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json index 0a2f40aa12..959a9ce086 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_registration_form.json @@ -54,7 +54,7 @@ } }, "step1": { - "title": "Taarifa za Mteja", + "title": "Taarifa ya eneo", "next": "step2", "fields": [ { @@ -63,49 +63,15 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la Mwisho", + "hint": "Jina la mwisho (Ukoo)", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali andika jina la mwisho" + "err": "Tafadhali ingiza jina la ukoo" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali andika jina la mwisho" - } - }, - { - "key": "client_first_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "first_name", - "type": "edit_text", - "hint": "Jina la kwanza", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali andika jina la kwanza" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali andika jina sahihi" - } - }, - { - "key": "client_middle_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "middle_name", - "type": "edit_text", - "hint": "Jina la katikati", - "edit_type": "name", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali andika jina sahihi" - }, - "v_required": { - "value": "true", - "err": "Tafadhali andika jina la katikati" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina la ukoo" } }, { @@ -116,11 +82,11 @@ "hidden": "true", "type": "barcode", "barcode_type": "qrcode", - "hint": "Number ya utambulisho", - "scanButtonText": "Scan QR Code", + "hint": "ID", + "scanButtonText": "Chukua QR code", "v_numeric": { "value": "true", - "err": "Tafadhali andika number ya utambulisho sahihi" + "err": "Tafadhali ingiza namba halali" } }, { @@ -130,14 +96,14 @@ "openmrs_entity_id": "cityVillage", "type": "edit_text", "edit_type": "name", - "hint": "Jina la eneo", + "hint": "Kijiji / mtaa", "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la eneo" + "err": "Tafadhali ingiza kijiji au jiji" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Tafadhali ingiza jina la eneo sahihi" + "err": "Tafadhali ingiza jina halali la kijiji" } }, { @@ -150,14 +116,14 @@ "hint": "Alama ya eneo la makazi", "v_required": { "value": true, - "err": "Tafadhali ingiza alama ya eneo la makazi" + "err": "Tafadhali ingiza maelezo ya alama au eneo la makazi" } }, { "key": "gps", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gps", + "openmrs_entity_id": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "gps" }, @@ -173,54 +139,63 @@ "key": "nearest_facility", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "nearest_facility", + "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Kijiji/Mtaa", + "hint": "Kituo cha karibu cha kutolea huduma za afya", "tree": [], "v_required": { "value": true, - "err": "Tafadhali chagua kijiji au mtaa" + "err": "Tafadhali ingiza kituo cha afya kilicho karibu" } } ] }, "step2": { - "title": "Taarifa ya Mteja", + "title": "Taarifa ya mteja", "fields": [ + { + "key": "photo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "choose_image", + "uploadButtonText": "Chukua picha ya muhusika" + }, { "key": "unique_id", "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "edit_text", - "read_only": true, - "hint": "WAJA ID", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Boresha Afya ID", + "scanButtonText": "Chukua QR code", "v_numeric": { "value": "true", - "err": "Tafadhali weka kitambulisho halali" + "err": "Tafadhali ingiza namba halali" }, "v_required": { "value": "true", - "err": "Tafadhali weka kitambulisho cha KIPEKEE" + "err": "Tafadhali ingiza namba ya kipekee" } }, { "key": "surname", "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "last_name", + "openmrs_entity": "concept", + "openmrs_entity_id": "", "type": "edit_text", - "hint": "Jina la mwisho", + "hint": "Jina la mwisho (ukoo)", "edit_type": "name", "read_only": true, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina halali" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" }, "v_required": { "value": "true", - "err": "Tafadhali weka jina la ukoo" + "err": "Tafadhali ingiza jina la ukoo" }, "calculation": { "rules-engine": { @@ -240,19 +215,11 @@ "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali andika jina la kwanza" + "err": "Tafadhali ingiza jina la kwanza" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina halali" - }, - "read_only": true, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_calculation.yml" - } - } + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" } }, { @@ -264,20 +231,12 @@ "hint": "Jina la kati", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina halali" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" }, "v_required": { "value": "true", - "err": "Tafadhali weka jina la kati" - }, - "read_only": true, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_calculation.yml" - } - } + "err": "Tafadhali ingiza jina la kati" } }, { @@ -289,13 +248,13 @@ "hint": "Tarehe ya kuzaliwa", "expanded": false, "duration": { - "label": "Umri" + "label": "Age" }, "min_date": "today-120y", - "max_date": "today", + "max_date": "today-5y", "v_required": { "value": "true", - "err": "Tafadhali weka tarehe ya kuzaliwa" + "err": "Tafadhali ingiza tarehe ya kuzaliwa" }, "relevance": { "rules-engine": { @@ -333,13 +292,7 @@ "text_size": "18px", "value": "false" } - ], - "relevance": { - "step2:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } + ] }, { "key": "age", @@ -354,11 +307,11 @@ }, "v_numeric": { "value": "true", - "err": "Lazima iwe numbari kalili" + "err": "Tafadhali ingiza umri" }, "v_min": { - "value": "0", - "err": "Umri lazima uwe sawa au zaidi ya 0" + "value": "5", + "err": "Umri lazima uwe sawa au mkubwa kuliko 5" }, "v_max": { "value": "120", @@ -373,89 +326,7 @@ }, "v_required": { "value": true, - "err": "Tafadhali weka umri" - } - }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Jinsi", - "values": [ - "Me", - "Ke" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua jinsi" - } - }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Hali ya ndoa ya mteja", - "values": [ - "Hajaoa/Hajaolewa", - "Ameoa/Ameolewa", - "Ameachwa", - "Ndoa ya mke/mume moja", - "Mitala", - "Mjane", - "Kuishi pamoja bila ndoa" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Namba ya simu ya mteja", - "v_numeric": { - "value": "true", - "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + "err": "Tafadhali ingiza umri" } }, { @@ -464,7 +335,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", - "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", + "label": "Je, ana kitambulisho chochote kati ya hivi??", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -473,7 +344,7 @@ "options": [ { "key": "chk_national_id", - "text": "Kitambulisho cha Taifa", + "text": "Kitambulisho cha taifa", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" @@ -487,7 +358,7 @@ }, { "key": "chk_drivers_license", - "text": "Leseni ya udereva", + "text": "Leseni ya dereva", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" @@ -520,25 +391,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", - "type": "mask_edit_text", - "mask": "########-#####-#####-##", - "mask_hint": "12345678912345678912", - "allowed_chars": "0123456789", - "hint": "Namba ya kitambulisho cha taifa k.m 12345678-91234-56789-12", - "edit_type": "number", - "v_regex": { - "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", - "err": "Namba ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" - }, - "v_max_length": { - "value": "23", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, + "type": "edit_text", + "hint": "Namba ya kitambulisho cha taifa", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -556,25 +411,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", - "type": "mask_edit_text", - "mask": "T-####-####-###-#", - "mask_hint": "123456789123", - "allowed_chars": "0123456789", - "hint": "Namba ya kitambulisho cha mpiga kura k.m T-1234-5678-912-3", - "edit_type": "number", - "v_regex": { - "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Namba ya kitambulisho cha mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" - }, - "v_max_length": { - "value": "17", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, + "type": "edit_text", + "hint": "Namba ya kitambulisho cha mpiga kura", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -592,25 +431,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", - "type": "mask_edit_text", - "mask": "##########", - "mask_hint": "1234567891", - "allowed_chars": "0123456789", - "hint": "Namba ya leseni ya udereva k.m 1234567891", - "edit_type": "number", - "v_regex": { - "value": "^([0-9]{10})", - "err": "Namba ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, + "type": "edit_text", + "hint": "Namba ya leseni ya udereva", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -628,25 +451,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", + "type": "edit_text", "hint": "Namba ya hati ya kusafiria", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Namba ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" - }, - "edit_type": "number", - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -665,26 +472,26 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Health_Insurance_Type", "type": "spinner", - "hint": "Mtoa huduma ya bima ya afya", + "hint": "Bima ya afya unaotumia", "values": [ - "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", - "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", - "Mfuko wa Taifa wa Bima ya Afya", + "Bima ya afya ya jamii (CHF)", + "Bima ya afya ya jamii ulioboreshwa (iCHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", - "Huduma ya Afya ya AAR", - "Bima ya afya ya Strategies", + "AAR Healthcare", + "Strategies Insurance", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Bima ya afya ya Britam", - "Bima ya afya ya Jubilee", - "Bima ya afya ya Resolutions", - "Bima ya afya ya Reliance", - "Nyingine", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Bima ya afya nyingezo", "Hakuna" ], "keys": [ "Community Health Fund (CHF)", + "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -698,8 +505,8 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", + "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", @@ -713,7 +520,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali ingiza mtoa huduma wa bima" + "err": "Tafadhali ingiza bima" } }, { @@ -722,10 +529,10 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Health_Insurance_Type", "type": "edit_text", - "hint": "Mtoa huduma mwingine wa bima ya afya", + "hint": "Bima ya afya mwingine unaotumia", "v_required": { "value": "true", - "err": "Tafadhali bainisha mtoa huduma wa bima" + "err": "Tafadhali ingiza bima" }, "relevance": { "rules-engine": { @@ -741,10 +548,10 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Health_Insurance_Number", "type": "edit_text", - "hint": "Namba ya mtoa huduma ya bima ya afya", + "hint": "Namba ya bima ya afya umaotumia", "v_required": { "value": "true", - "err": "Tafadhali ongeza Namba ya kitambulisho ya mtoa huduma wa bima ya afya" + "err": "Tafadhali ingiza namba ya mfuko wa bima ya afya umaotumia" }, "relevance": { "rules-engine": { @@ -754,6 +561,26 @@ } } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jinsi" + } + }, { "key": "wra", "openmrs_entity_parent": "", @@ -786,11 +613,11 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "preg_1yr", + "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", - "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", + "hint": "Je, amejifungua ndani ya mwaka 1?", "values": [ - "Ndio", + "Ndiyo", "Hapana" ], "keys": [ @@ -798,8 +625,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -817,11 +644,11 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", - "hint": "Ulemavu wa kimwili", + "hint": "Hali ya ulemavu", "values": [ - "Ndio", + "Ndiyo", "Hapana" ], "keys": [ @@ -829,8 +656,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -839,71 +666,11 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "disabilities", + "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "check_box", - "label": "Aina ya ulemavu ", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "physical_impairments", - "text": "Ulemavu wa viungo vya mwili", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "physical_impairments" - }, - { - "key": "spinal_cord_disability", - "text": "Ulemavu wa Uti wa Mgongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "spinal_cord_disability" - }, - { - "key": "brain_disability", - "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "brain_disability" - }, - { - "key": "vision_disability", - "text": "Ulemavu wa macho", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "vision_disability" - }, - { - "key": "hearing_disability", - "text": "Ulemavu wa Kusikia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hearing_disability" - }, - { - "key": "learning_disabilities", - "text": "Ulemavu wa Utambuzi au Kujifunza", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "learning_disabilities" - }, - { - "key": "psychological_disorders", - "text": "Matatizo ya Kisaikolojia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_disorders" - }, - { - "key": "invisible_disabilities", - "text": "Ulemavu Usioonekana", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "invisible_disabilities" - } - ], + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Aina ya ulemavu", "v_required": { "value": "true", "err": "Tafadhali ingiza aina ya ulemavu" @@ -916,15 +683,35 @@ } } }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Namba ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." + }, + "v_required": { + "value": false, + "err": "Tafadhali taja numbe ya simu" + } + }, { "key": "has_primary_caregiver", "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "Has_Primary_Caregiver", "type": "spinner", - "hint": "Je, una mlezi/msaidizi wa Tiba?", + "hint": "Je una mlezi msaidizi?\n", "values": [ - "Ndio", + "Ndiyo", "Hapana" ], "keys": [ @@ -946,10 +733,10 @@ "openmrs_entity": "concept", "openmrs_entity_id": "Primary_Caregiver_Name", "type": "edit_text", - "hint": "Jina la mlezi", + "hint": "Majina ya msaidizi", "v_required": { "value": "true", - "err": "Tafadhali taja jina la mlezi." + "err": "Jina la msaidizi lazima iwe." }, "relevance": { "rules-engine": { @@ -961,18 +748,22 @@ }, { "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", + "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", - "hint": "Namba ya simu ya mlezi", + "hint": "Namba ya simu ya msaidizi", "v_numeric": { "value": "true", - "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" }, "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." + }, + "v_required": { + "value": "true", + "err": "Tafadhali weka namba ya msaidizi." }, "relevance": { "rules-engine": { @@ -986,9 +777,9 @@ "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider", + "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Kazi ya Mteja", + "label": "Aina ya kazi anayojishughulisha", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -1000,127 +791,96 @@ "text": "Mkulima", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" + "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cs", - "text": "Mtumishi wa Serikali", + "text": "Mtumishi wa serikali", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" + "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_nurse", "text": "Muuguzi", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" + "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_teacher", "text": "Mwalimu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" + "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_th", - "text": "Mganga wa tiba asili", + "text": "Waganga wa tiba asilia (THs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" + "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_chw", - "text": "Muhudumu wa afya ngazi ya jamii (WAJA)", + "text": "Wahudumu wa afya ngazi ya jamii–WAJA", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" + "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_tba", - "text": "Mkunga wa Jadi", + "text": "Wakunga wa jadi (TBAs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" + "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_chmis", - "text": "Wakusanyaji takrimu za afya ngazi ya jamii", + "text": "Wakusanyaji takwimu za afya katika jamii (cHIMS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" + "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cbd", - "text": "Msambazaji wa dawa na vifaa vya uzazi wa mpango ngazi ya Jamii ", + "text": "Wasambazaji wa dawa na vifaa vya uzazi wa mpango katika jamii (CBD)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" + "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hbc", - "text": "Watoa huduma kwa wagonjwa majumbani", + "text": "Watoa huduma kwa wagonjwa majumbani (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" + "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cimmci", - "text": "Watoa huduma za udhibiti wa magonjwa ya watoto ngazi ya jamii", + "text": "Watoa huduma za udhibiti wa magonjwa ya watoto kwa uwiano katika jamii (cIMCI)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" + "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_other", - "text": "Nyinginezo", + "text": "Nyingine", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", - "text": "Hakuna ", + "text": "Hakuna", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Taja Kazi nyingine", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja kazi" - }, - "relevance": { - "step2:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } } }, { @@ -1129,7 +889,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Community_Leader", "type": "check_box", - "label": "Kuna nafasi yoyote ya uongozi katika jamii?", + "label": "Una jukumu lolote la uongozi kwenye ngazi ya jamii?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -1182,13 +942,6 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } } }, { @@ -1197,11 +950,11 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type_Name", "type": "edit_text", - "hint": "Taja nafasi nyingine katika jamii", + "hint": "Taja hayo majukumu mengine", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali bainisha jukumu" + "err": "Tafadhali taja jukumu" }, "relevance": { "step2:leader": { @@ -1220,20 +973,6 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Registration_Reason", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_calculation.yml" - } - } - } - }, - { - "key": "reasons_for_registration_male_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_male_15", "type": "native_radio", "label": "Sababu za Usajili", "label_text_style": "normal", @@ -1241,163 +980,112 @@ "options": [ { "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", + "text": "Maambukizo ya VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", + "text": "Sickle cell disease ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "heart_disease", - "text": "Magonjwa ya moyo", + "text": "Magonjwa ya moyo ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "diabetes", - "text": "Kisukari", + "text": "Kisukari ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", + "text": "Mtindio wa ubongo", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "cancer", - "text": "Saratani", + "text": "Saratani ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "tuberculosis", - "text": "Kifua Kikuu", + "text": "Kifua kikuu ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "homosexual", - "text": "Wanaume wanaofanya mapenzi na wanaume", + "text": "Mwanaume anayefanya ngono na mwanaume mwenzake", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "gender_violence", - "text": "Unyanyasaji wa Kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_15", - "type": "native_radio", - "label": "Sababu za Usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", + "key": "sex_worker_woman", + "text": "Mwanamke anayefanya biashara ya ngono", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "diabetes", - "text": "Kisukari", + "key": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", + "key": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "cancer", - "text": "Saratani", + "key": "weight_stagnation_child", + "text": "Mtoto asiyeongezeka uzito", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "tuberculosis", - "text": "Kifua kikuu", + "key": "child_with_fever", + "text": "Mtoto anayepata homa za mara kwa mara", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "sex_worker_woman", - "text": "Mfanyabiashara ya ngono", + "key": "abused_child", + "text": "Mtoto anayefanyiwa ukatili", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "gender_violence", - "text": "Ukatili wa kijinsia", + "text": "Mtu aliyenyanyaswa kijinsia", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", + "text": "Mtu anayejidunga", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1411,135 +1099,14 @@ }, { "key": "breastfeeding_mother", - "text": "Mama anayenyonyesha", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_under_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "native_radio", - "label": "Sababu za Usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "weight_stagnation_child", - "text": "Mtoto mwenye vilio vya uzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "Mtoto mwenye homa za mara kwa mara", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "abused_child", - "text": "Mtoto aliyedhulumiwa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Unyanyasaji wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", + "text": "Mama anayenyonyesha ", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "child_in_risky_environment", - "text": "Mtoto anayeishi katika mazingira hatarishi", + "text": "Mtoto anayeishi mazingira hatarishi", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1547,14 +1114,7 @@ ], "v_required": { "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } + "err": "Sababu ya kisajili mteja inahitajika" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json deleted file mode 100644 index 30e010ca01..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/all_clients_update_registration_info_form.json +++ /dev/null @@ -1,1408 +0,0 @@ -{ - "validate_on_submit": true, - "show_errors_on_submit": false, - "count": "1", - "encounter_type": "Family Registration", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Maelezo ya mteja", - "fields": [ - { - "key": "unique_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_identifier", - "openmrs_entity_id": "opensrp_id", - "type": "edit_text", - "read_only": true, - "hint": "Namba ya utambulisho ya WAJA", - "v_numeric": { - "value": "true", - "err": "Tafahdali ingiza namba ya utambulisho ssahihi" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza namba ya utambulisho ya kipekee ya WAJA" - } - }, - { - "key": "surname", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "edit_text", - "hint": "Jina la mwisho", - "edit_type": "name", - "read_only": true, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina sahihi" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la mwisho" - }, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "first_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "first_name", - "type": "edit_text", - "hint": "Jina la kwanza", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la kwanza" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina sahihi" - } - }, - { - "key": "middle_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "middle_name", - "type": "edit_text", - "hint": "Jina la kati", - "edit_type": "name", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina sahihi" - }, - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jina la kati" - } - }, - { - "key": "dob", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdate", - "type": "date_picker", - "hint": "Tarehe ya kuzaliwa", - "expanded": false, - "duration": { - "label": "Age" - }, - "min_date": "today-120y", - "max_date": "today-5y", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe ya kuzaliwa" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "age_calculated", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "dob_unknown", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdateApprox", - "type": "check_box", - "label": "", - "options": [ - { - "key": "dob_unknown", - "text": "Tarehe ya kuzaliwa haijulikani?", - "text_size": "18px", - "value": "false" - } - ] - }, - { - "key": "age", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "age", - "type": "edit_text", - "hint": "Umri", - "v_numeric_integer": { - "value": "true", - "err": "Must be a rounded number" - }, - "v_numeric": { - "value": "true", - "err": "Lazima iwe namba kamili" - }, - "v_min": { - "value": "5", - "err": "Umri ni lazima uwe sawa au zaidi ya 5" - }, - "v_max": { - "value": "120", - "err": "Umri lazima uwe sawa au chini ya 120" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - }, - "v_required": { - "value": true, - "err": "Tafahdhali ingiza umri" - } - }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Jinsi", - "values": [ - "Me", - "Ke" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jinsia" - } - }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Hali ya ndoa ya mteja?", - "values": [ - "Hajaoa/hajaolewa", - "Ameoa/ameolewa", - "Ameachwa", - "Ndoa ya mke mmoja", - "Ndoa ya wake wengi", - "Amefiwa na mwenza", - "Kuishi pamoja bila ndoa" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Namba ya simu ya mteja", - "v_numeric": { - "value": "true", - "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." - } - }, - { - "key": "id_avail", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "id_avail", - "type": "check_box", - "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_national_id", - "text": "Kitambulisho cha Taifa", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_national_id" - }, - { - "key": "chk_voters_id", - "text": "Kitambulisho cha usajili wa mpiga kura", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_voters_id" - }, - { - "key": "chk_drivers_license", - "text": "Leseni ya udereva", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_drivers_license" - }, - { - "key": "chk_passport", - "text": "Hati ya kusafiria", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_passport" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_none" - } - ], - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "national_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "National_ID", - "type": "mask_edit_text", - "mask": "########-#####-#####-##", - "mask_hint": "12345678912345678912", - "allowed_chars": "0123456789", - "hint": "Namba ya kitambulisho cha Taifa", - "edit_type": "number", - "v_regex": { - "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", - "err": "Namba ya kitambulisho cha Taifa inapaswa kuwa na umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, - "v_max_length": { - "value": "23", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_national_id" - ] - } - ] - } - } - }, - { - "key": "voter_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Voter_Registration_Number", - "type": "mask_edit_text", - "mask": "T-####-####-###-#", - "mask_hint": "123456789123", - "allowed_chars": "0123456789", - "hint": "Namba ya kitambulisho cha mpiga kura", - "edit_type": "number", - "v_regex": { - "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Namba ya kitambulisho cha kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" - }, - "v_max_length": { - "value": "17", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_voters_id" - ] - } - ] - } - } - }, - { - "key": "driver_license", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Driver_License_Number", - "type": "mask_edit_text", - "mask": "##########", - "mask_hint": "1234567891", - "allowed_chars": "0123456789", - "hint": "Namba ya leseni ya udereva", - "edit_type": "number", - "v_regex": { - "value": "^([0-9]{10})", - "err": "Namba ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_drivers_license" - ] - } - ] - } - } - }, - { - "key": "passport", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Namba ya hati ya kusafiria", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Namba ya hati ya kusafiria inapaswa kuwa katika muundo (TAE-XXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, - "edit_type": "number", - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_passport" - ] - } - ] - } - } - }, - { - "key": "insurance_provider", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Health_Insurance_Type", - "type": "spinner", - "hint": "Mtoa huduma wa bima ya afya", - "values": [ - "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", - "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", - "Mfuko wa Taifa wa Bima ya Afya (NHIF)", - "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)", - "Bima ya afya Britam", - "Bima ya afya Jubilee", - "Bima ya afya Resolutions", - "Bima ya afya Reliance", - "Nyingine", - "Hakuna" - ], - "keys": [ - "Community Health Fund (CHF)", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", - "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Jubilee Insurance", - "Resolutions Insurance", - "Reliance Insurance", - "Other", - "None" - ], - "openmrs_choice_ids": { - "Community Health Fund (CHF)": "Community_Health_Fund", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", - "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", - "AAR Healthcare": "AAR_Healthcare", - "AAR Strategies Insurance": "Strategies_Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", - "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", - "Jubilee Insurance": "Jubilee_Insurance", - "Resolutions Insurance": "Resolutions_Insurance", - "Reliance Insurance": "Reliance_Insurance", - "Other": "Other_Health_Insurance_Type", - "None": "No_Health_Insurance" - }, - "v_required": { - "value": "true", - "err": "Tafahdali ingiza mtoa huduma wa bima" - } - }, - { - "key": "insurance_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Health_Insurance_Type", - "type": "edit_text", - "hint": "Mtoa huduma mwingine wa bima ya afya", - "v_required": { - "value": "true", - "err": "Tafadhali taja mtoa huduma wa bima" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "insurance_provider_number", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Health_Insurance_Number", - "type": "edit_text", - "hint": "Namba ya mtoa huduma wa bima ya afya", - "v_required": { - "value": "true", - "err": "Tafadhali ongeza namba ya mtoa huduma wa bima ya afya" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "wra", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "mra", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "preg_1yr", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "preg_1yr", - "type": "spinner", - "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "disabilities", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", - "type": "spinner", - "hint": "Ulemavu wa kimwili", - "values": [ - "Ndiyo ", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - } - }, - { - "key": "type_of_disability", - "openmrs_entity_parent": "disabilities", - "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "check_box", - "label": "Aina ya ulemavu wa kimwili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "physical_impairments", - "text": "Uhamaji na Ulemavu wa Kimwili", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "physical_impairments" - }, - { - "key": "spinal_cord_disability", - "text": "Ulemavu wa Uti wa Mgongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "spinal_cord_disability" - }, - { - "key": "brain_disability", - "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "brain_disability" - }, - { - "key": "vision_disability", - "text": "Ulemavu wa Kuona", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "vision_disability" - }, - { - "key": "hearing_disability", - "text": "Ulemavu wa Kuskia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hearing_disability" - }, - { - "key": "learning_disabilities", - "text": "Ulemavu wa Utambuzi au Kujifunza", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "learning_disabilities" - }, - { - "key": "psychological_disorders", - "text": "Matatizo ya Kisaikolojia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_disorders" - }, - { - "key": "invisible_disabilities", - "text": "Ulemavu Usioonekana", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "invisible_disabilities" - } - ], - "v_required": { - "value": "true", - "err": "Tafahali ingiza aina ya ulemavu" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "has_primary_caregiver", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "Has_Primary_Caregiver", - "type": "spinner", - "hint": "Je, una mlezi/msaidizi wa Tiba?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - } - }, - { - "key": "primary_caregiver_name", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "Primary_Caregiver_Name", - "type": "edit_text", - "hint": "Jina la mlezi", - "v_required": { - "value": "true", - "err": "Tafadhali taja jina la mlezi" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", - "type": "edit_text", - "hint": "Namba ya simu ya mlezi", - "v_numeric": { - "value": "true", - "err": "Namba lazima iwe na jumla ya tarakimu 10 kwa urefu" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "service_provider", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider", - "type": "check_box", - "label": "Kazi ya Mteja", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_farmer", - "text": "Mkulima", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" - }, - { - "key": "chk_cs", - "text": "Mtumishi wa Serikali", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" - }, - { - "key": "chk_nurse", - "text": "Muuguzi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" - }, - { - "key": "chk_teacher", - "text": "Mwalimu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" - }, - { - "key": "chk_th", - "text": "Mganga wa tiba asili", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" - }, - { - "key": "chk_chw", - "text": "Muhudumu wa afya ngazi ya jamii(WAJA)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" - }, - { - "key": "chk_tba", - "text": "Mkunga wa Jadi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" - }, - { - "key": "chk_chmis", - "text": "Wakusanyaji takrimu za afya ngazi ya jamii", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" - }, - { - "key": "chk_cbd", - "text": "Msambazaji wa dawa na vifaa vya uzazi wa mpango ngazi ya Jamii", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" - }, - { - "key": "chk_hbc", - "text": "Watoa huduma kwa wagonjwa majumbani", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" - }, - { - "key": "chk_cimmci", - "text": "Watoa huduma za udhibiti wa magonjwa ya watoto ngazi ya jamii", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" - }, - { - "key": "chk_other", - "text": "Nyinginezo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Taja kazi nyingine", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja Kazi" - }, - "relevance": { - "step1:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, - { - "key": "leader", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Community_Leader", - "type": "check_box", - "label": "Nafasi yoyote ya uongozi katika jamii?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_religious", - "text": "Kiongozi wa Kidini", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Religious_Leader" - }, - { - "key": "chk_traditional", - "text": "Kiongozi wa Kijadi", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Traditional_leader" - }, - { - "key": "chk_political", - "text": "Kiongozi wa Kisiasa", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Political_leader" - }, - { - "key": "chk_influential", - "text": "Kiongozi mwenye ushawishi ", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Influential_Leader" - }, - { - "key": "chk_other", - "text": "Nyingine", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Community_Leader_Type" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Not_a_Community_Leader" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "leader_other", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Community_Leader_Type_Name", - "type": "edit_text", - "hint": "Taja nafasi nyingine katika jamii", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja nafasi hiyo" - }, - "relevance": { - "step1:leader": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, - { - "key": "reasons_for_registration", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Registration_Reason", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "reasons_for_registration_male_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_male_15", - "type": "native_radio", - "label": "Sababu ya usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "homosexual", - "text": "Mwanaume anayejamiana na wanaume", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Ukatili wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_15", - "type": "native_radio", - "label": "Sababu ya usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sex_worker_woman", - "text": "Mwanamke anayefanya biashara ya ngono", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Ukatili wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya madawa yak kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "pregnant_mother", - "text": "Mama mjamzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "breastfeeding_mother", - "text": "Mama anayenyonyesha", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_under_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "native_radio", - "label": "Sababu ya usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "Maambukizi ya VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Ugonjwa wa seli mundu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Magonjwa ya moyo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Kisukari", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Ugonjwa wa kupooza kwa ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Saratani", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU/UKIMWI ", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU/UKIMWI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "weight_stagnation_child", - "text": "Mtoto mwenye vilio vya uzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "Mtoto mwenye homa za mara kwa mara", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "abused_child", - "text": "Mtoto anayenyanyaswa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Ukatili wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya madawa ya kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_in_risky_environment", - "text": "Mtoto anayeishi katika mazingira hatarishi", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - } - ] - } -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json index bbb8b62db1..d3245f8b91 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_counselling.json @@ -53,9 +53,9 @@ "key": "counselling_given", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "counselling_given", + "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Ushauri uliyotolewa kwa Mama na wanafamilia", + "label": "Ushauri nasaa uliotolewa kwa mama na wanafamilia", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -64,127 +64,127 @@ "options": [ { "key": "chk_attended_anc_contacts", - "text": "1. Kufika kliniki ya ANC mapema", + "text": "1. Kuhudhuria kliniki ya wajawazito mapema", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_attended_anc_contacts" + "openmrs_entity_id": "161013AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_anc_danger_signs", - "text": "2. Dalili za hatari za ujauzito", + "text": "2. Dalili za hatari wakati wa ujauzito", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_anc_danger_signs" + "openmrs_entity_id": "161050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_maternal_nutrition", - "text": "3. Lishe ya mama wakati wa ujauzito na kunyonyesha", + "text": "3. Lishe kwa mama wakati wa ujauzito na kunyonyesha", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_maternal_nutrition" + "openmrs_entity_id": "1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_personal_delivery", "text": "4. Mpango binafsi wa kujifungua", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_personal_delivery" + "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_aids", - "text": "5. Taarifa za ujumla za VVU/UKIMWI", + "text": "5. Umuhimu wa kupata ushauri nasaha na kupima VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hiv_aids" + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pmtct_for_mother", - "text": "6. PMTCT kwa ajili ya Mama", + "text": "6. Kuzuia mambukizi ya VVU kutoka kwa mama kwenda kwa mtoto", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_pmtct_for_mother" + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_preventing_malaria", - "text": "7. Kuzuia Malaria kwa ajili ya wamama wajawazito", + "text": "7. Kuzuia malaria kwa wajawazito", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_preventing_malaria" + "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_physical_changes", - "text": "8. Mabadiliko ya kimwili kwa mama aliyetoka kujifungua", + "text": "8. Mabadiliko ya kimwili kwa mama aliyejifungua", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_physical_changes" + "openmrs_entity_id": "162093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pnc_danger_signs", - "text": "9. Dalili za hatari za PNC", + "text": "10. Dalili za hatari mara baada ya kujifungua hadi arobaini ya uzazi", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_pnc_danger_signs" + "openmrs_entity_id": "161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_care_of_infant", - "text": "10. Utunzaji wa mtoto mchanga baada ya kuzaliwa", + "text": "11. Huduma kwa mtoto mchanga mara baada ya kuzaliwa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_care_of_infant" + "openmrs_entity_id": "160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_infant_danger_signs", - "text": "11. Dalili za hatari za mtoto mchanga", + "text": "14. Dalili za hatari kwa mtoto mchanga", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_infant_danger_signs" + "openmrs_entity_id": "161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_exposed_infant", - "text": "12. Ufuatiliaji kwa ajili ya mtoto mchanga aliyeambukizwa na VVU", + "text": "15. Ufuatiliaji wa mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hiv_exposed_infant" + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_breastfeeding", - "text": "13. Kunyonyesha ", + "text": "16. Unyonyeshaji wa maziwa ya mama", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_breastfeeding" + "openmrs_entity_id": "1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_exclusive_breast_feeding ", - "text": "14. Kupanga mpango wa uzazi kwa kutumia kunyonyesha maziwa ya mama pekee kwa miezi 6 baada ya kuzaliwa", + "text": "17. Njia ya uzazi wa mpango ya unyonyeshaji maziwa ya mama pekee kwa kipindi cha miezi sita baada ya kujifungua (LAM)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_exclusive_breast_feeding" + "openmrs_entity_id": "161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_family_planning", - "text": "15. Mpango wa uzazi", + "text": "18. Uzazi wa mpango", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_family_planning" + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_infection_prevention", - "text": "16. Kuzuia na kudhibiti maambukizi", + "text": "24. Kuzuia maambukizi katika jamii", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_infection_prevention" + "openmrs_entity_id": "1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", - "text": "17. Hamna", + "text": "Hajatoa ushauri", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { "value": "true", - "err": "Tafadhali chagua angalau mojawapo" + "err": "Tafadhali chagua angalau moja" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json index 4238d3dfe9..13ee312fc9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_danger_signs.json @@ -53,9 +53,9 @@ "key": "danger_signs_present", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "danger_signs_present", + "openmrs_entity_id": "160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Je, Mama ana dalili zozote za hatari?", + "label": "Je, mama ana dalili zozote za hatari wakati wa ujauzito?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -67,105 +67,105 @@ "text": "Homa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_fever" + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_bleeding_vaginally", - "text": "Kutokwa na damu ukeni", + "text": "Damu kutoka ukeni", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_bleeding_vaginally" + "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_server_headache", - "text": "Maumivu makali ya kichwa", + "text": "Maumivu ya kichwa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_server_headache" + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_blurred_vision", "text": "Kutoona vizuri", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_blurred_vision" + "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_convulsions", - "text": "Degedege", + "text": "Degedege/Mtukutiko wa mwili", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_convulsions" + "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_difficulty_breathing", - "text": "Kupumua kwa shida", + "text": "Kushindwa kupumua", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_difficulty_breathing" + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_severe_abdominal_pain", "text": "Maumivu makali ya tumbo", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_severe_abdominal_pain" + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_loss_consciousness", "text": "Kupoteza fahamu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_loss_consciousness" + "openmrs_entity_id": "135592AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_swelling", - "text": "Kuvimba kwa uso na/au mikono", + "text": "Kuvimba uso na / au mikonos", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_swelling" + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_early_labour", - "text": "Uchungu kuanza mapema kabla ya mimba kufikia miezi 9", + "text": "Kupata uchungu mapema kabla ya miezi tisa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_early_labour" + "openmrs_entity_id": "151687AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_vaginal_discharge", - "text": "Kutokwa na majimaji ukeni yenye rangirangi na harufu mbaya", + "text": "Kutoka uchafu / majimaji ukeni yenye harufu mbaya", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_vaginal_discharge" + "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_unusual_movement", - "text": "Hakuna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni", + "text": "Kutocheza / kucheza kusiko kwa kawaida kwa mtoto aliye tumboni", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_unusual_movement" + "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "Hakuna", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { "value": "true", - "err": "Tafadhali chagua angalau mojawapo" + "err": "Tafadhali chagua angalau moja" } }, { "key": "danger_signs_present_toaster", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "toaster_notes", - "text": "Dalili ya hatari! Apewe rufaa kwenda kwenye kituo cha afya haraka.", + "text": "Dalili za hatari! \nToa rufaa haraka kwenda kituo cha kutolea huduma za afya.", "text_color": "#CF0800", "toaster_type": "problem", "relevance": { @@ -195,12 +195,12 @@ "key": "danger_signs_counseling", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "danger_signs_counseling", + "openmrs_entity_id": "165310AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "label_info_title": "Je, mama amepokea ushauri?", - "label_info_text": "Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?", - "hint": "Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?", + "label_info_title": "Je, mama alipewa ushauri kuhusu dalili za hatari wakati wa ujauzito kwenye kituo cha kutolea huduma za afya?", + "label_info_text": "Je, mama alipewa ushauri kuhusu dalili za hatari wakati wa ujauzito kwenye kituo cha kutolea huduma za afya?", + "hint": "Je, mama alipewa ushauri kuhusu dalili za hatari wakati wa ujauzito kwenye kituo cha kutolea huduma za afya?", "values": [ "Ndiyo", "Hapana" @@ -210,28 +210,13 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1267AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1118AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", "err": "Tafadhali chagua chaguo moja" } - }, - { - "key": "prompt_for_danger_signs", - "type": "toaster_notes", - "text": "Tafadhali mpatie mteja ushauri juu ya dalili za hatari za kipindi cha ujauzito", - "openmrs_entity_id": "prompt_for_danger_signs", - "openmrs_entity": "concept", - "openmrs_entity_parent": "", - "toaster_type": "warning", - "relevance": { - "step1:danger_signs_counseling": { - "type": "String", - "ex": "equalTo(.,\"No\")" - } - } } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json index 819d60ac0f..29e3070127 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_family_planning.json @@ -53,10 +53,10 @@ "key": "fam_planning", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "fam_planning", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, Mama alishauriwa kuhusu Uzazi wa Mpango alipohudhuria kliniki?", + "hint": "Je, mama ameshauriwa kuhusu uzazi wa mpango alipohudhuria kituoni?", "values": [ "Ndiyo", "Hapana" @@ -66,28 +66,13 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", "err": "Tafadhali chagua chaguo moja" } - }, - { - "key": "prompt_for_family_planning", - "type": "toaster_notes", - "text": "Tafadhali mpatie mteja ushauri juu ya Uzazi wa Mpango", - "openmrs_entity_id": "prompt_for_family_planning", - "openmrs_entity": "concept", - "openmrs_entity_parent": "", - "toaster_type": "warning", - "relevance": { - "step1:fam_planning": { - "type": "String", - "ex": "equalTo(.,\"No\")" - } - } } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json index ab9c2abd85..3b776cae3d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_health_facility_visit.json @@ -47,18 +47,18 @@ "encounter_location": "" }, "step1": { - "title": "Hudhurio la {0} Kituo cha Afya", + "title": "Hudhurio la kliniki ya wajawazito {0} katika kituo cha kutolea huduma za afya", "fields": [ { "key": "anc_hf_visit", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "anc_hf_visit", + "openmrs_entity_id": "1889AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", - "label_info_title": "Je, Mwanamke huyu amehudhuria kliniki ya wajawazito mara {0} ?", - "label_info_text": "Je, Mwanamke huyu amehudhuria kliniki ya wajawazito?", + "label_info_title": "Je, mama amehudhuria kliniki ya wajawazito hudhurio la {0} katika kituo cha kutolea huduma za afya?", + "label_info_text": "Je, mama amehudhuria kliniki ya wajawazito hudhurio la katika kituo cha kutolea huduma za afya?", "type": "spinner", - "hint": "Je, Mwanamke huyu amehudhuria kliniki ya wajawazito mara {0} ? Tarehe ya kukamilisha hudhurio: {1}", + "hint": "Je, mama amehudhuria kliniki ya wajawazito hudhurio la {0} katika kituo cha kutolea huduma za afya?\n\nTarehe ya hudhurio lingine: {1}", "values": [ "Ndiyo", "Hapana" @@ -68,29 +68,29 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", - "err": "Tafadhali chagua jibu moja" + "err": "Tafadhali chagua chaguo moja" } }, { "key": "anc_hf_visit_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "anc_hf_visit_date", + "openmrs_entity_id": "159590AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "date_picker", - "label": "ANC visit date", - "hint": "Tarehe ya hudhurio ya ANC", + "label": "Tarehe ya hudhurio la kliniki ya wajawazito", + "hint": "Tarehe ya hudhurio la kliniki ya wajawazito", "expanded": false, "min_date": "today-10y", "max_date": "today", "v_required": { "value": "true", - "err": "Ingiza tarehe ya kutembelea kituoni" + "err": "Ingiza tarehe ambayo mwanamke alienda kwenye kituo cha afya" }, "relevance": { "step1:anc_hf_visit": { @@ -100,69 +100,228 @@ } }, { - "key": "reason_for_missed_visit", + "key": "anc_hf_next_visit_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "reason_for_missed_visit", - "type": "spinner", - "hint": "Sababu ya kutofika kituoni", - "values": [ - "Hofu ya kufichua ujauzito wake", - "Alisahau tarehe ya miadi", - "Hakuwa na nauli ya usafiri", - "Alikuwa hajisikii vizuri", - "Nyingine" + "openmrs_entity_id": "anc_hf_next_visit_date", + "type": "spacer" + }, + { + "key": "tests_done", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Vipimo vilivyofanyika", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" ], - "keys": [ - "fear_to_disclose_her_pregnancy", - "she_forgot_the_appointment_date", - "she_did_not_have_transport_fare", - "she_was_not_feeling_well", - "other" + "options": [ + { + "key": "chk_haemoglobin", + "text": "Wingi wa damu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "21AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_urine_analysis_uti", + "text": "Kipimo cha maambukizi kwenye njia ya mkojo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_urine_analysis_protein", + "text": "Kipimo cha kuangalia uwepo wa protini na sukari kwenye mkojo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1875AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_hiv", + "text": "Kipimo cha VVU", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1356AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_syphilis", + "text": "Kipimo cha kaswende", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "299AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_malaria", + "text": "Kipimo cha malaria", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_tb", + "text": "Uchunguzi wa kifua kikuu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164800AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other", + "text": "Vipimo vingine", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Vipimo havijafanyika", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } ], - "openmrs_choice_ids": { - "fear_to_disclose_her_pregnancy": "fear_to_disclose_her_pregnancy", - "she_forgot_the_appointment_date": "she_forgot_the_appointment_date", - "she_did_not_have_transport_fare": "she_did_not_have_transport_fare", - "she_was_not_feeling_well": "she_was_not_feeling_well", - "other": "other" + "v_required": { + "value": "true", + "err": "Tafadhali chagua angalau chaguo moja" }, + "relevance": { + "step1:anc_hf_visit": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "imm_medicine_given", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1767AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Chanjo na dawa alizopata", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_tetanus", + "text": "Chanjo ya pepopunda", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_malaria", + "text": "Tiba kinga ya malaria wakati wa ujauzito (IPTp-SP)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "105232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_iron", + "text": "Dawa za kuongeza damu (FEFO)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "773AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_albendazole", + "text": "Albendazole / Medandozle", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159922AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_calcuim", + "text": "Calcium supplement", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "72650AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other", + "text": "Dawa nyingine au chanjo nyingine", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hajapewa dawa au chanjo yoyote", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], "v_required": { "value": "true", - "err": "Tafadhali chagua sababu" + "err": "Tafadhali chagua angalau chaguo moja" }, "relevance": { "step1:anc_hf_visit": { "type": "string", - "ex": "equalTo(., \"No\")" + "ex": "equalTo(., \"Yes\")" } } }, { - "key": "other_reason_missed_visit", + "key": "other_imm_medicine_given", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "other_reason_missed_visit", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", - "hint": "Sababu nyingine ya kutofika kituoni", - "edit_type": "name", + "hint": "Dawa au chanjo nyingine", "v_required": { "value": "true", - "err": "Tafadhali ingiza sababu nyingine" + "err": "Tafadhali ingiza chanjo au dawa nyingine" }, "relevance": { - "step1:reason_for_missed_visit": { - "type": "string", - "ex": "equalTo(., \"other\")" + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_health_facility_visit.yml" + } } } }, { - "key": "anc_hf_next_visit_date", + "key": "llin_given", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "anc_hf_next_visit_date", - "type": "spacer" + "openmrs_entity_id": "159855AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Je, mama alipata chandarua chenye viuwatilifu katika hudhurio la kwanza katika kituo cha kutolea huduma za afya?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo angalau moja" + }, + "relevance": { + "step1:anc_hf_visit": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + }, + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_health_facility_visit.yml" + } + } + } }, { "key": "confirmed_visits", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json index 9a09b32616..0c06e1a88d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_malaria.json @@ -47,18 +47,18 @@ "encounter_location": "" }, "step1": { - "title": "Kinga dhidi ya Malaria", + "title": "Kinga dhidi ya malaria", "fields": [ { "key": "fam_llin", "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "fam_llin", + "openmrs_entity": "", + "openmrs_entity_id": "", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, Mwanamke ana chandarua chenye dawa ya muda mrefu (LLIN)?", + "hint": "Ana chandarua chenye viuwatilifu vya muda mrefu?", "values": [ - "Ndiyo ", + "Ndiyo", "Hapana" ], "keys": [ @@ -66,22 +66,22 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", - "err": "Tafadhali chagua moja" + "err": "Tafadhali chagua chaguo angalau moja" } }, { "key": "llin_2days", "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "llin_2days", + "openmrs_entity": "", + "openmrs_entity_id": "", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, alilala ndani ya chandarua jana usiku?", + "hint": "Je, amelala kwenye chandarua chenye viuwatilifu vya muda mrefu usiku uliopita?", "values": [ "Ndiyo", "Hapana" @@ -91,12 +91,12 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", - "err": "Tafadhali chagua moja" + "err": "Tafadhali chagua chaguo angalau moja" }, "relevance": { "step1:fam_llin": { @@ -108,26 +108,26 @@ { "key": "llin_condition", "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "llin_condition", + "openmrs_entity": "", + "openmrs_entity_id": "", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Hali ya chandarua", + "hint": "Hali ya chandarua chenye viuwatilifu vya muda mrefu kinachotumika", "values": [ - "Nzuri", - "Mbaya" + "Nzima", + "Mbovu" ], "keys": [ - "Good", + "Okay", "Bad" ], "openmrs_choice_ids": { - "Good": "Good", - "Bad": "Bad" + "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", - "err": "Tafadhali chagua chaguo moja" + "err": "Tafadhali chagua chaguo angalau moja" }, "relevance": { "step1:fam_llin": { @@ -135,86 +135,6 @@ "ex": "equalTo(., \"Yes\")" } } - }, - { - "key": "malaria_sp", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "malaria_sp", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, mteja ametumia dawa ya kuzuia Malaria (SP)?", - "values": [ - "Ndiyo ", - "Hapana" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - }, - { - "key": "reason_for_missed_sp", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reason_for_missed_sp", - "type": "spinner", - "hint": "Sababu kwa nini mteja hatumii dawa za SP", - "values": [ - "Mteja hakupewa dawa za SP", - "Mteja alipoteza dawa zake", - "Uzembe wa mteja", - "Nyingine" - ], - "keys": [ - "client_was_not_given_sp_dosage", - "client_lost_her_medication", - "client_negligence", - "other" - ], - "openmrs_choice_ids": { - "client_was_not_given_sp_dosage": "client_was_not_given_sp_dosage", - "client_lost_her_medication": "client_lost_her_medication", - "client_negligence": "client_negligence", - "other": "other" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - }, - "relevance": { - "step1:malaria_sp": { - "type": "string", - "ex": "equalTo(., \"No\")" - } - } - }, - { - "key": "other_reason_missed_sp_dosage", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_reason_missed_sp_dosage", - "type": "edit_text", - "hint": "Sababu nyingine kwa nini mteja hatumii dawa za SP", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafahdali ingiza sababu hiyo" - }, - "relevance": { - "step1:reason_for_missed_sp": { - "type": "string", - "ex": "equalTo(., \"other\")" - } - } } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json index 7e3907bba9..19cf849fc7 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_nutrition_status.json @@ -53,14 +53,14 @@ "key": "nutrition_status", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_status", + "openmrs_entity_id": "163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, hali ya lishe ya Mama ikoje?", + "hint": "Je, hali ya lishe ya mama ikoje?", "values": [ - "Kawaida/Kijani", - "Wastani/Njano", - "Mbaya/Nyekundu" + "Nzuri/Kijani", + "Kadri/Njano", + "Dhaifu/Nyekundu" ], "keys": [ "Normal", @@ -68,13 +68,13 @@ "Severe" ], "openmrs_choice_ids": { - "Normal": "Normal", - "Moderate": "Moderate", - "Severe": "Severe" + "Normal": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Moderate": "1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", - "err": "Tafadhali chagua chaguo moja" + "err": "Tafadhali chagua chaguo angalau moja" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json index d1d8f37a21..3d710b6d9d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_observations.json @@ -47,13 +47,13 @@ "encounter_location": "" }, "step1": { - "title": "Uchunguzi na magonjwa", + "title": "Uchunguzi na ugonjwa", "fields": [ { "key": "date_of_illness", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "date_of_illness", + "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", "hint": "Tarehe", "expanded": false, @@ -68,21 +68,21 @@ "key": "illness_description", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "illness_description", + "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "hint": "Maelezo", "v_required": { "value": "true", - "err": "Tafadhali ingiza maelezo hayo" + "err": "Tafadhali ingiza maelezo" } }, { "key": "action_taken", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "action_taken", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Hatua iliyochukuliwa", + "label": "Hatua zilizochukuliwa", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -94,40 +94,62 @@ "text": "ORS 5", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_ors" + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_zinc", "text": "Zinc 10", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_zinc" + "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_paracetamol", - "text": "Panado", + "text": "Panadol", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_paracetamol" + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_referred", - "text": "Kupewa rufaa", + "text": "Amepewa rufaa", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_referred" + "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other_treatment", + "text": "Matibabu mengine", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", - "text": "Hakuna matibabu yaliyotolewa", + "text": "Hajapewa matibabu yoyote", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } - ], + ] + }, + { + "key": "other_treatment_illness", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Matibabu mengine", "v_required": { "value": "true", - "err": "Tafadhali chagua chaguo moja" + "err": "Tafadhali ingiza maelezo ya ugonjwa" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_observations.yml" + } + } } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_pregnancy_risk_form.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_pregnancy_risk_form.json index f72532d3b3..aa16f2a6d2 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_pregnancy_risk_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_pregnancy_risk_form.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Pregnancy risk", + "title": "Hatari ya ujazito", "fields": [ { "key": "preg_risk", @@ -55,7 +55,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "preg_risk", "type": "check_box", - "label": "Hatari ya ujauzito kwa mwanamke", + "label": "Hatari ya ujazito", "label_text_style": "normal", "text_color": "#C0C0C0", "saveObsAsArray": true, @@ -67,21 +67,21 @@ "options": [ { "key": "Low", - "text": "Chini", + "text": "Kidogo", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "Low" }, { "key": "Medium", - "text": "Wastani", + "text": "Kati kati", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "Medium" }, { "key": "High", - "text": "Juu", + "text": "Kubwa", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "High" @@ -89,7 +89,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhali chagua angalau mojawapo" + "err": "Tafadhali chagua angalau moja" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json index 73cd8e7364..f21ae1b0a2 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_hv_remarks_and_comments.json @@ -53,12 +53,12 @@ "key": "chw_comment_anc", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "chw_comment_anc", + "openmrs_entity_id": "161011AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", - "hint": "Maoni", + "hint": "Toa maoni", "v_required": { "value": "false", - "err": "Tafadhali ingiza maoni yako" + "err": "Tafadhali ingiza maoni na maoni yako" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json index a6d2b1efa9..b85e072582 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_member_registration.json @@ -60,25 +60,25 @@ "key": "last_menstrual_period", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "last_menstrual_period", + "openmrs_entity_id": "1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", - "hint": "Kipindi cha mwisho cha kuona alichoona hedhi yake (LNMP)", - "label_info_title": "LNMP", - "label_info_text": "LNMP = siku ya kwanza ya Kipindi cha Mwisho cha Kawaida cha Hedhi. Ikiwa tarehe kamili haijulikani, lakini kipindi cha mwezi kinajulikana, tumia siku ya 5 kuainisha mwanzo wa mwezi, siku ya 15 kuainisha katikati ya mwezi, na siku ya 25 kuainisha mwisho wa mwezi.", + "hint": "Tarehe ya kwanza ya hedhi ya kawaida ya mwisho (LNMP)", + "label_info_title": "LMP", + "label_info_text": "LNMP = Siku ya kwanza ya mwisho ya hedhi (LNMP). Kama tarehe halisi haijulikani, lakini kipindi cha mwezi kinajulikana; \n ∙ tumia tarehe 5 kwa mwanzo wa mwezi \n ∙ tumia tarehe 15 kwa katikati ya mwezi \n ∙ tumia tarehe 25 kwa mwisho wa mwezi.", "expanded": false, "max_date": "today", "min_date": "today-50w", "v_required": { "value": "true", - "err": "Tarehe ya mwisho ya hedhi ya kawaida" + "err": "LNMP inahitajika" }, "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "anc_member_registration_calculation.yml" - } + "rules-engine": { + "ex-rules": { + "rules-file": "anc_member_registration_calculation.yml" } - }, + } + }, "relevance": { "rules-engine": { "ex-rules": { @@ -97,7 +97,7 @@ "options": [ { "key": "lmp_unknown", - "text": "Kipindi cha mwisho cha hedhi hakijulikani", + "text": "Tarehe ya kwanza ya hedhi ya kawaida ya mwisho (LNMP) haijulikani?", "text_size": "18px", "value": "false" } @@ -107,9 +107,9 @@ "key": "edd", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "edd", + "openmrs_entity_id": "5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", - "hint": "Tarehe ya Kujifungua inayotarajiwa (EDD)", + "hint": "Tarehe ya kutarijia kujifungua (EDD)", "max_date": "today+50w", "min_date": "today", "calculation": { @@ -128,16 +128,16 @@ }, "v_required": { "value": "true", - "err": "Inahitajika" + "err": "Required" } }, { "key": "gest_age_note", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "edit_text", - "hint": "Umri wa ujauzito (GA)", + "hint": "Umri wa mimba (GA)", "read_only": true, "calculation": { "rules-engine": { @@ -153,7 +153,7 @@ "openmrs_entity": "", "openmrs_entity_id": "", "type": "edit_text", - "hint": "Tarehe ya Kujifungua inayotarajiwa (EDD)", + "hint": "Tarehe ya kutarijia kujifungua (EDD)", "read_only": true, "calculation": { "rules-engine": { @@ -167,7 +167,7 @@ "key": "gest_age", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gest_age", + "openmrs_entity_id": "1438AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "hidden", "calculation": { "rules-engine": { @@ -184,25 +184,25 @@ "openmrs_entity_id": "no_prev_preg", "type": "edit_text", "edit_type": "number", - "hint": "Idadi ya mimba zilizopita", + "hint": "Idadi ya mimba zilizotangulia", "v_required": { "value": "true", - "err": "Sawa na au zaidi ya 0" + "err": "Ingiza thamani sawa au kubwa kuliko 0" }, "v_numeric_integer": { "value": "true", - "err": "Must be a rounded number" + "err": "Ingiza thamani sawa au kubwa kuliko 0" }, "v_min": { "value": "0", - "err": "Namba lazima iwe sawa au zaidi ya 0" + "err": "Nambari lazima iwe chini ya au sawa na Idadi ya Mimba za awali" } }, { "key": "gravida", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gravida", + "openmrs_entity_id": "5624AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "hidden", "calculation": { "rules-engine": { @@ -216,9 +216,9 @@ "key": "delivery_method", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_method", + "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Je, umejifungua mtoto/watoto wako kwa njia ya kawaida au kwa njia ya upasuaji?", + "label": "Je, umejifungua mtoto/watoto kwa njia ya kawaida au kwa njia ya upasuaji?", "label_text_style": "normal", "text_color": "#C0C0C0", "relevance": { @@ -234,35 +234,35 @@ "text": "Njia ya kawaida", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_vaginally" + "openmrs_entity_id": "1170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cesarean_section", - "text": "Upasuaji", + "text": "Njia ya upasuaji", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cesarean_section" + "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_miscarriage", - "text": "Iliharibika", + "text": "Mimba kuharibika", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_miscarriage" + "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { "value": "true", - "err": "Tafadhali chagua moja" + "err": "Tafadhali chagua chaguo" } }, { "key": "delivery_method_one", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_method_one", + "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "native_radio", - "label": "Je, umejifungua mtoto/watoto wako kwa njia ya kawaida au kwa njia ya upasuaji?", + "label": "Je, umejifungua mtoto/watoto kwa njia ya kawaida au kwa njia ya upasuaji?", "label_text_style": "normal", "text_color": "#C0C0C0", "relevance": { @@ -278,33 +278,33 @@ "text": "Njia ya kawaida", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_vaginally" + "openmrs_entity_id": "1170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cesarean_section", - "text": "Upasuaji", + "text": "Njia ya upasuaji", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cesarean_section" + "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_miscarriage", - "text": "Iliharibika", + "text": "Mimba kuharibika", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_miscarriage" + "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { "value": "true", - "err": "Tafadhali chagua zote zinazotumika" + "err": "Tafadhali chagua chaguo angalau moja" } }, { "key": "no_surv_children", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "no_surv_children", + "openmrs_entity_id": "164894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "edit_type": "number", "hint": "Idadi ya watoto walio hai", @@ -317,48 +317,81 @@ }, "v_required": { "value": "true", - "err": "Inahitajika" + "err": "Required" }, "v_numeric_integer": { "value": "true", - "err": "Must be a rounded number" + "err": "Ingiza thamani sawa au kubwa kuliko 0" }, - "v_relative_max": { - "value": "no_prev_preg", - "err": "Number must be less than or equal to Number of Previous Pregnancies" + "v_min": { + "value": "0", + "err": "Idadi ya watoto lazima iwe sawa au kubwa kuliko 0" + } + }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Hali ya ndoa", + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "values": [ + "Ameolewa", + "Anaishi na mwenza", + "Hajaolewa", + "Ameachika", + "Mjane" + ], + "keys": [ + "Married", + "Co-habiting", + "Single", + "Divorced", + "Widowed" + ], + "openmrs_choice_ids": { + "Married": "5555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Co-habiting": "1060AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Single": "5615AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Divorced": "1058AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Widowed": "1059AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { "key": "phone_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "hint": "Namba ya simu", + "v_required": { + "value": false + }, "v_numeric": { "value": "true", - "err": "Namba lazima iwe na jumla ya tarakimu 10 kwa urefu" + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" }, "v_regex": { "value": "(0[0-9]{9})|\\s*", - "err": "Namba lazima iwe na tarakimu 10 na ianze na 0" - }, - "v_required": { - "value": false, - "err": "Haijafafanuliwa" + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." } }, { "key": "person_assist", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "person_assist", + "openmrs_entity_id": "159771AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, Mama ana mtu wa kumsaidia wakati wa ujauzito?", + "hint": "Je, mama ana mwenza/ndugu wa karibu wa umri kuanzia miaka 18 na zaidi ambae ataweza kumsaidia wakati wa ujauzito?", "v_required": { "value": "true", - "err": "Tadhali chagua chaguo moja" + "err": "Tafadhali chagua chaguo moja" }, "values": [ "Ndiyo", @@ -369,17 +402,17 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { "key": "name_person_assist", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "name_person_assist", + "openmrs_entity_id": "160638AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", - "hint": "Jina la msaidizi wa mjamzito", + "hint": "Jina la mwenza/ndugu wa karibu anayeishi naye mwenye umri kuanzia miaka 18 na zaidi", "edit_type": "name", "relevance": { "rules-engine": { @@ -397,12 +430,11 @@ "key": "phone_person_assist", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "phone_person_assist", + "openmrs_entity_id": "160642AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", - "hint": "Namba ya simu", + "hint": "Phone number", "v_required": { - "value": false, - "err": "Haijafafanuliwa" + "value": false }, "relevance": { "rules-engine": { @@ -413,11 +445,11 @@ }, "v_numeric": { "value": "true", - "err": "Namba lazima iwe na jumla ya tarakimu 10 kwa urefu" + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" }, "v_regex": { "value": "(0[0-9]{9})|\\s*", - "err": "Namba lazima iwe na tarakimu 10 na ianze na 0" + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json index e994fccc5f..07419e2190 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_pregnancy_outcome.json @@ -49,7 +49,7 @@ "encounter_location": "" }, "step1": { - "title": "Pregnancy Outcome", + "title": "Matokeo ya ujauzito", "fields": [ { "key": "relational_id", @@ -62,7 +62,7 @@ "key": "preg_outcome", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "preg_outcome", + "openmrs_entity_id": "161033AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "native_radio", "label": "Matokeo ya ujauzito", "label_text_style": "bold", @@ -70,42 +70,42 @@ "options": [ { "key": "born_alive", - "text": "Mtoto alizaliwa akiwa hai", + "text": "Mtoto amezaliwa hai", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "born_alive", + "openmrs_entity_id": "151849AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "born_alive_died", - "text": "Mtoto alizaliwa akiwa hai, lakini akafa", + "text": "Mtoto amezaliwa hai, lakini akafariki", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "born_alive_died", + "openmrs_entity_id": "164816AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "still_born", - "text": "Mtoto alizaliwa mfu", + "text": "Mtoto amezaliwa mfu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "still_born", + "openmrs_entity_id": "125872AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "alive_with_problem", - "text": "Mtoto alizaliwa akiwa hai, lakini wana tatizo (yaani ulemavu, matatizo ya kupumua, n.k.)", + "text": "Mtoto amezaliwa hai, lakini ana shida (mf. ulemavu, kupumua kwa shida, nk.)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "alive_with_problem", + "openmrs_entity_id": "161599AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "miscarriage", - "text": "Iliharibika", + "text": "Mimba kuharibika", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "miscarriage", + "openmrs_entity_id": "48AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } ], @@ -118,14 +118,14 @@ "key": "miscarriage_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "miscarriage_date", + "openmrs_entity_id": "165248AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", - "hint": "Tarehe ya kuharibika kwa mimba", + "hint": "Tarehe ya kuharibika mimba", "expanded": false, "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhali ingiza tarehe ya kuharibika kwa mimba ya mwanamke" + "err": "Tafadhali ingiza tarehe mwanamke ameharibika mimba." }, "relevance": { "rules-engine": { @@ -139,14 +139,14 @@ "key": "delivery_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_date", + "openmrs_entity_id": "5599AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", "hint": "Tarehe ya kujifungua", "expanded": false, "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhali ingiza tarehe ya kujifungua kwa mwanamke huyo" + "err": "Tafadhali ingiza tarehe mwanamke aliyejifungua" }, "relevance": { "rules-engine": { @@ -160,22 +160,22 @@ "key": "no_children", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "no_children", + "openmrs_entity_id": "164894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "hidden" }, { "key": "delivery_place", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_place", + "openmrs_entity_id": "1572AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Mahali ambapo mama alijifungulia", + "hint": "Mahali alipojifungulia mama", "values": [ "Nyumbani", - "Katika kituo cha afya", - "Njiani kuelekea kituo cha afya", - "Nyingine" + "Kituo cha kutolea huduma za afya", + "Njiani kabla ya kufika kituoni", + "Mahali pengine" ], "keys": [ "At home", @@ -184,10 +184,10 @@ "Other" ], "openmrs_choice_ids": { - "At home": "At home", - "At a health facility": "At a health facility", - "On the way to the health facility": "On the way to the health facility", - "Other": "Other" + "At Home": "1536AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "At a health facility": "1588AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "On the way to the health facility": "1601AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -205,14 +205,14 @@ "key": "delivery_home", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_home", + "openmrs_entity_id": "1573AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "native_radio", - "label": "Nani alimsaidia mama kujifungua nyumbani?", + "label": "Je, nani amemsaidia kujifungulia nyumbani?", "label_text_style": "bold", "text_color": "#C0C0C0", "v_required": { "value": "true", - "err": "Tafadhali chagua" + "err": "Tafadhali chagua chaguo moja" }, "relevance": { "rules-engine": { @@ -224,27 +224,27 @@ "options": [ { "key": "gave_birth_alone", - "text": "Alijifungua nyumbani peke yake", + "text": "Amejifungulia nyumbani pekee yake/bila mtu", "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gave_birth_alone" + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "gave_birth_with_help", - "text": "Alijifungulia nyumbani kwa msaada wa mwanafamilia/rafiki/jirani", + "text": "Amejifungulia nyumbani akisaidiwa na mtu wa familia/rafiki/jirani", "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gave_birth_with_help" + "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "midwife_help", - "text": "Alijifungulia nyumbani kwa msaada wa mkunga wa jadi", + "text": "Amejifungulia nyumbani akisaidiwa na mkunga wa jadi", "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "midwife_help" + "openmrs_entity_id": "125872AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ] }, @@ -252,14 +252,14 @@ "key": "delivery_hf", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_hf", + "openmrs_entity_id": "159771AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "native_radio", - "label": "Mama alijifungua katika kituo cha afya. Nani aliongozana na mama hadi kituo cha afya?", + "label": "Amejifungua kwenye kituo cha kutolea huduma ya afya. Je, amesindikizwa na nani?", "label_text_style": "bold", "text_color": "#C0C0C0", "v_required": { "value": "true", - "err": "Tafadhali cchagua" + "err": "Tafadhali chagua chaguo moja" }, "relevance": { "rules-engine": { @@ -271,56 +271,57 @@ "options": [ { "key": "facility_family_member", - "text": "Alijifungua katika kituo cha afya, na alisindikizwa na wanafamilia.", + "text": "Amejifungulia  katika kituo cha kutolea huduma za afya, na amesindikizwa na mwanafamilia.", "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "facility_family_member" + "openmrs_entity_id": "969AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "facility_midwife", - "text": "Alijifungua katika kituo cha afya, na alisindikizwa na mkunga wa jadi", + "text": "Amejifungulia katika kituo cha kutolea huduma za afya, na amesindikizwa na mkunga wa jadi", "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "facility_midwife" + "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "alone", - "text": "Alijifungua katika kituo cha afya, na alikuja peke yake", + "text": "Amejifungulia katika kituo cha kutolea huduma za afya, na amekuja pekee yake", "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "alone" + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "other_pple", - "text": "Alijifungua katika kituo cha afya, na alisindikizwa na watu wengine", + "text": "Amejifungulia katika kituo cha kutolea huduma ya afya, na amesindikizwa na watu wengine", "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "other_pple" + "openmrs_entity_id": "1582AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "other_chw", - "text": "Alijifungua katika kituo cha afya, na aliandamana na mfanyakazi wa afya ya jamii (CHW)", + "text": "Amejifungulia katika kituo cha kutolea huduma ya afya, na amesindikizwa na CHW", "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "other_chw" + "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ] }, { "key": "baby_label", "type": "label", - "text": "BABY DETAILS", + "text": "MAELEZO YA MTOTO", + "has_bg": true, "left_padding": "20dp", "right_padding": "20dp", - "text_size": "7sp", + "text_size": "8sp", "text_color": "#000000", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "relevance": { "rules-engine": { @@ -340,8 +341,8 @@ { "key": "no_children_no", "type": "repeating_group", - "reference_edit_text_hint": "Number of children born alive", - "repeating_group_label": "Baby Details #", + "reference_edit_text_hint": "Idadi ya watoto waliozaliwa hai", + "repeating_group_label": "Maelezo ya mtoto #", "openmrs_entity_parent": "", "openmrs_entity": "", "openmrs_entity_id": "", @@ -353,22 +354,26 @@ } } }, + "v_required": { + "value": true, + "err": "Please specify the # of babies" + }, "value": [ { "key": "surname", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "edit_text", - "hint": "Surname", + "hint": "Jina la mwisho (ukoo)", "edit_type": "name", "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Please enter a valid name" + "err": "Tafadhali ingiza jina halali" }, "v_required": { "value": "true", - "err": "Please enter the surname" + "err": "Tafadhali ingiza jina la ukoo" }, "relevance": { "rules-engine": { @@ -377,6 +382,7 @@ } } } + }, { "key": "same_as_fam_name_chk", @@ -388,7 +394,7 @@ "options": [ { "key": "same_as_fam_name", - "text": "Surname same as family name", + "text": "Surname sawa na jina la ukoo", "text_size": "18px", "value": "false" } @@ -400,11 +406,11 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "First name", + "hint": "Jina la kwanza", "edit_type": "name", "v_required": { "value": "true", - "err": "Please enter the first name" + "err": "Tafadhali ingiza jina la kwanza" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", @@ -417,11 +423,11 @@ "openmrs_entity": "person", "openmrs_entity_id": "middle_name", "type": "edit_text", - "hint": "Middle name", + "hint": "Jina la kati", "edit_type": "name", "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Please enter a valid name" + "err": "Tafadhali ingiza jina halali" } }, { @@ -437,10 +443,10 @@ "openmrs_entity": "person", "openmrs_entity_id": "gender", "type": "spinner", - "hint": "Sex", + "hint": "Jinsi", "values": [ - "Male", - "Female" + "Me", + "Ke" ], "keys": [ "Male", @@ -448,40 +454,40 @@ ], "v_required": { "value": "true", - "err": "Gender required" + "err": "Tafadhali ingiza jinsia" } }, { "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", + "openmrs_entity_id": "159522AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", - "hint": "Physical disabilities", + "hint": "Ulemavu", "values": [ - "Yes", - "No" + "Ndiyo", + "Hapana" ], "keys": [ "Yes", "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", - "err": "Required" + "err": "Tafadhali ingiza ulemavu" } }, { "key": "type_of_disability", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", - "hint": "Type of physical disabilities", + "hint": "Aina ya ulemavu", "edit_type": "name", "relevance": { "rules-engine": { @@ -495,29 +501,29 @@ "key": "early_bf_1hr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "early_bf_1hr", + "openmrs_entity_id": "164819AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", - "hint": "Early initiation of breastfeeding (1 hr)?", + "hint": "Unyonyeshaji wa mtoto ndani ya saa moja baada ya kujifungua?", "values": [ - "Yes", - "No" + "Ndiyo", + "Hapana" ], "keys": [ "Yes", "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { "key": "vacc_birth", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "vacc_birth", + "openmrs_entity_id": "984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Which vaccinations were given?", + "label": "Chanjo gani alizopata mtoto?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -526,29 +532,29 @@ "options": [ { "key": "chk_none", - "text": "None", + "text": "Hajapata chanjo", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_opv_0", "text": "OPV 0", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_opv_0" + "openmrs_entity_id": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_bcg", "text": "BCG", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_bcg" + "openmrs_entity_id": "886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { "value": "true", - "err": "vaccinations given required" + "err": "Tafadhali chagua chaguo angalau moja" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/anc_referral_form.json index b62683de5d..0d8bdc5e23 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/anc_referral_form.json @@ -52,7 +52,7 @@ } }, "step1": { - "title": "ANC referral form", + "title": "Rufaa ya mama mjamzito", "fields": [ { "key": "chw_referral_hf_anc", @@ -75,12 +75,12 @@ "openmrs_entity": "", "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Hali ya mteja / tatizo", + "label": "Tatizo / hali ya afya ya mteja", "label_text_style": "bold", "options": [ { "key": "Vaginal_bleeding", - "text": "Kutokwa na damu ukeni", + "text": "Kutoka damu ukeni", "value": false, "openmrs_entity": "", "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -88,7 +88,7 @@ }, { "key": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", - "text": "Kutokwa na majimaji yenye rangirangi na harufu mbaya", + "text": "Kutoka uchafu / majimaji ukeni yenye harufu mbaya", "value": false, "openmrs_entity": "", "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -112,7 +112,7 @@ }, { "key": "Severe_anaemia", - "text": "upungufu mkali wa damu", + "text": "Upungufu mkubwa wa damu", "value": false, "openmrs_entity": "", "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -120,7 +120,7 @@ }, { "key": "Convulsions", - "text": "Degedege", + "text": "Degedege / Mtukutiko wa mwili", "value": false, "openmrs_entity": "", "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -128,7 +128,7 @@ }, { "key": "No_movement_unusual_movement_for_a_child_in_the_womb", - "text": "Hamna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni", + "text": "Kutocheza / kucheza kusiko kwa kawaida kwa mtoto aliye tumboni", "value": false, "openmrs_entity": "", "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -136,7 +136,7 @@ }, { "key": "Pregnancy_pains_before_9_months", - "text": "Maumivu ya ujauzito kabla ya miezi 9", + "text": "Uchungu kuanza mapema kabla ya mimba kufikia miezi 9", "value": false, "openmrs_entity": "", "openmrs_entity_id": "153316AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -144,7 +144,7 @@ }, { "key": "Early_age_pregnancy_below_18_years", - "text": "Mimba ya umri mdogo (chini ya miaka 18)", + "text": "Kupata mimba katika umri mdogo (chini ya umri wa miaka 18)", "value": false, "openmrs_entity": "", "openmrs_entity_id": "163119AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -160,7 +160,7 @@ }, { "key": "Swelling_of_the_face_andor_hands", - "text": "Kuvimba kwa uso na/au mikono", + "text": "Kuvimba uso na / au mikono", "value": false, "openmrs_entity": "", "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -192,7 +192,7 @@ }, { "key": "Water_sack_broke_before_contractions", - "text": "Maji ya uzazi kupasuka kabla ya mikazo", + "text": "Chupa kupasuka mapema kabla ya uchungu", "value": false, "openmrs_entity": "", "openmrs_entity_id": "129211AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -200,7 +200,7 @@ }, { "key": "Cord_prolapse", - "text": "Kutokwa kwa kamba ya uzazi nje ya uke", + "text": "Kutangulia kitovu cha mtoto", "value": false, "openmrs_entity": "", "openmrs_entity_id": "128419AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -208,7 +208,7 @@ }, { "key": "HIV_care_and_support_services", - "text": "Huduma za matunzo na usaidizi wa VVU", + "text": "Huduma za wateja / wagonjwa wanaoishi na VVU", "value": false, "openmrs_entity": "", "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -224,7 +224,7 @@ }, { "key": "PMTCT_for_mothers", - "text": "PMTCT kwa akina mama", + "text": "Huduma ya kuzuia maambukizi ya VVU toka kwa mama kwenda kwa mtoto", "value": false, "openmrs_entity": "", "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -248,7 +248,7 @@ }, { "key": "Breast_engorgement", - "text": "Kuvimba kwa matiti", + "text": "Kujaa au maumivu ya matiti, chuchu na kushindwa kunyonyesha", "value": false, "openmrs_entity": "", "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -256,7 +256,7 @@ }, { "key": "Blurred_vision", - "text": "Uoni hafifu", + "text": "Kuona kwa shida", "value": false, "openmrs_entity": "", "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -264,7 +264,7 @@ }, { "key": "Perineum_tear", - "text": "Kupasuka kwa msamba", + "text": "Kuchanika msamba", "value": false, "openmrs_entity": "", "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -272,7 +272,7 @@ }, { "key": "Pregnancy_confirmation", - "text": "Kuthibitisha ujauzito", + "text": "Kuhakiki uja-uzito", "value": false, "openmrs_entity": "", "openmrs_entity_id": "152305AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -280,7 +280,7 @@ }, { "key": "Other_symptoms", - "text": "Dalili zingine", + "text": "Dalili nyingine", "value": false, "ignore": true, "openmrs_entity": "", @@ -290,7 +290,7 @@ ], "v_required": { "value": true, - "err": "Tafadhali bainisha sababu ya rufaa ya ANC" + "err": "Tafadhali taja sababu ya rufaa ya mama mjamzito" } }, { @@ -300,10 +300,10 @@ "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", "edit_type": "name", - "hint": "Dalili zingine", + "hint": "Dalili nyingine", "v_required": { "value": "true", - "err": "Tafadhali bainisha dalili nyingine" + "err": "Tafadhali taja dalili zingine" }, "relevance": { "rules-engine": { @@ -320,7 +320,7 @@ "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", "is_problem": false, - "label": "Usimamizi wa kabla ya kutoa rufaa uliopewa", + "label": "Huduma aliyopewa kabla ya rufaa", "label_text_style": "bold", "exclusive": [ "None" @@ -353,7 +353,7 @@ }, { "key": "None", - "text": "HaKuna", + "text": "Hakuna huduma aliyopewa", "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -362,7 +362,7 @@ ], "v_required": { "value": "true", - "err": "Sehemu ya usimamizi kabla ya ktutoa rufaa inahitajika" + "err": "Huduma aliyopewa kabla ya rufaa ni lazima" } }, { @@ -373,10 +373,10 @@ "openmrs_entity_parent": "", "is_problem": false, "edit_type": "name", - "hint": "Other treatment", + "hint": "Matibabu mengine", "v_required": { "value": "true", - "err": "Please specify other treatment" + "err": "Tafadhali taja matibabu mengine" }, "relevance": { "rules-engine": { @@ -405,7 +405,7 @@ "key": "referral_time_anc", "openmrs_entity_parent": "", "openmrs_entity": "", - "openmrs_entity_id": "", + "openmrs_entity_id": "referral_time_anc", "type": "hidden", "is_problem": false, "calculation": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/birth_certification.json b/opensrp-chw/src/ba/assets/json.form-sw/birth_certification.json deleted file mode 100644 index 6c4cda2d28..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/birth_certification.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "count": "1", - "encounter_type": "Birth Certification", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Birth Certification", - "fields": [ - { - "key": "birth_cert", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Mtoto ana cheti cha kuzaliwa?", - "values": [ - "Ndiyo", - "Hapana" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": true, - "err": "Tafadhali chagua chaguo" - } - }, - { - "key": "birth_cert_issue_date", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "164129AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "date_picker", - "hint": "Tarehe ya kutoa cheti cha kuzaliwa", - "expanded": false, - "max_date": "today", - "min_date": "", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza tarehe ya kutoa cheti cha kuzaliwa" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "birth_certification.yml" - } - } - } - }, - { - "key": "birth_cert_num", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "162052AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "text", - "type": "edit_text", - "hint": "Namba ya cheti cha kuzaliwa", - "v_required": { - "value": "true", - "err": "Tafadhali ingiza namba" - }, - "v_numeric": { - "value": "true", - "err": "Namba lazima iwe tarakimu 15 au pungufu ya hapo" - }, - "v_regex": { - "value": "([0-9]{1,15})|\\s*", - "err": "Namba lazima iwe tarakimu 15 au pungufu ya hapo" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "birth_certification.yml" - } - } - } - }, - { - "key": "birth_notification", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "165405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Je, arifa ya kuzaliwa ilifanywa?", - "values": [ - "Ndiyo", - "Hapana" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": false, - "err": "Tafadhali chagua chaguo" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "birth_certification.yml" - } - } - } - }, - { - "key": "birthinstroductions", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "label", - "text": "Ask to see the birth notification and instruct the caregiver to register the birth at County Health.", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "birth_certification.yml" - } - } - } - }, - { - "key": "caregiverinstroductions", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "label", - "text": "Instruct the caregiver to have the birth registered at County Health.", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "birth_certification.yml" - } - } - } - } - ] - } -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json index 6c750d5466..2e834e9ac7 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_enrollment.json @@ -52,40 +52,49 @@ } }, "step1": { - "title": "Sajili Mtoto chini ya miaka 5", + "title": "Ongeza mtoto chini ya miaki 5", "fields": [ + { + "key": "photo", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "choose_image", + "uploadButtonText": "Chukua picha ya muhusika" + }, { "key": "unique_id", "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "edit_text", - "read_only": true, - "hint": "Namba ya utambulisho ya WAJA", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Boresha Afya ID", + "scanButtonText": "Chukua QR code", "v_numeric": { "value": "true", - "err": "Tafadhali ingiza namba ya kitambulisho sahihi" + "err": "Tafadhali ingiza namba halali" }, "v_required": { "value": "true", - "err": "Tafadhali ingiza namba namba ya kipekee ya kitambulisho" + "err": "Tafadhali ingiza namba ya kipekee" } }, { "key": "surname", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "edit_text", - "hint": "Jina la mwisho", + "hint": "Jina la mwisho (ukoo)", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina sahihi" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" }, "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la mwisho" + "err": "Tafadhali ingiza jina la ukoo" }, "relevance": { "rules-engine": { @@ -98,7 +107,7 @@ { "key": "same_as_fam_name", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_data_type": "text", "type": "check_box", @@ -109,7 +118,7 @@ "options": [ { "key": "same_as_fam_name", - "text": "Jina la mwisho sawa na jina la familia", + "text": "Jina la ukoo ni sawa na jina la familia", "text_size": "18px", "value": "false" } @@ -118,7 +127,7 @@ { "key": "fam_name", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "label", "hidden": "true" @@ -129,7 +138,7 @@ "openmrs_entity": "person", "openmrs_entity_id": "last_name", "type": "hidden", - "hint": "Surname as Family name", + "hint": "Jina la ukoo ni sawa na jina la famili", "calculation": { "rules-engine": { "ex-rules": { @@ -153,8 +162,8 @@ "err": "Tafadhali ingiza jina la kwanza" }, "v_regex": { - "value": "[A-Za-z\\s\\-\\']*", - "err": "Tafadhali ingiza jina sahihi" + "value": "[A-Za-z\\s\\-]*", + "err": "Tafadhali ingiza jina halali" } }, { @@ -172,8 +181,8 @@ "err": "Tafadhali ingiza jina la kati" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali ingiza jina sahihi" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" } }, { @@ -212,17 +221,11 @@ "options": [ { "key": "dob_unknown", - "text": "Tarehe ya kuzaliwa haijulikani", + "text": "Tarehe ya kuzaliwa haijulikani?", "text_size": "18px", "value": "false" } - ], - "relevance": { - "step1:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } + ] }, { "key": "age", @@ -233,15 +236,15 @@ "hint": "Umri", "v_numeric": { "value": "true", - "err": "" + "err": "Nambari lazima ianze na 0 na lazima iwe jumla ya nambari 10 kwa urefu" }, "v_min": { "value": "0", - "err": "Umri lazima uwe sawa au zaidi ya 0" + "err": "Umri lazima uwe sawa au mkubwa kuliko 0" }, "v_max": { "value": "5", - "err": "Umri ni lazima uwe sawa au chini ya 5" + "err": "Umri lazima uwe sawa au chini ya 5" }, "relevance": { "rules-engine": { @@ -261,26 +264,26 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "insurance_provider", "type": "spinner", - "hint": "Mtoa huduma ya bima ya afya", + "hint": "Bima ya afya unaotumia", "values": [ - "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", - "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", - "Mfuko wa Taifa wa Bima ya Afya (NHIF)", + "Bima ya afya ya jamii (CHF)", + "Bima ya afya ya jamii ulioboreshwa (iCHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Bima ya afya ya Britam", - "Bima ya afya ya Jubilee", - "Bima ya afya ya Resolutions", - "Bima ya afya ya Reliance", - "Nyingine", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Bima ya afya nyingezo", "Hakuna" ], "keys": [ "Community Health Fund (CHF)", + "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -294,8 +297,8 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", + "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", @@ -309,7 +312,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali ingiza mtoa huduma ya bima" + "err": "Tafadhali ingiza bima" } }, { @@ -318,10 +321,10 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Health_Insurance_Type", "type": "edit_text", - "hint": "Mtoa huduma mwingine wa bima ya afya", + "hint": "Bima ya afya mwingine unaotumia", "v_required": { "value": "true", - "err": "Tafadhali ingiza mtoa huduma ya bima" + "err": "Tafadhali taja bima" }, "relevance": { "rules-engine": { @@ -337,10 +340,10 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Health_Insurance_Number", "type": "edit_text", - "hint": "Namba ya mtoa huduma wa bima ya afya", + "hint": "Namba ya bima ya afya umaotumia", "v_required": { "value": "true", - "err": "Tafadhali ongeza namba ya kitambulisho ya mtoa huduma wa bima ya afya" + "err": "Tafadhali ongeza nambari ya bima ya afya" }, "relevance": { "rules-engine": { @@ -374,9 +377,9 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", - "hint": "Ulemavu wa kimwili", + "hint": "Hali ya ulemavu", "values": [ "Ndiyo", "Hapana" @@ -386,81 +389,22 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", - "err": "Tafadhali ingiza moja" + "err": "Tafadhali chagua moja" } }, { "key": "type_of_disability", - "openmrs_entity_parent": "disabilities", + "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "check_box", - "label": "Aina ya ulemavu wa kimwili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "physical_impairments", - "text": "Uhamaji na Ulemavu wa Kimwili", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "physical_impairments" - }, - { - "key": "spinal_cord_disability", - "text": "Ulemavu wa Uti wa Mgongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "spinal_cord_disability" - }, - { - "key": "brain_disability", - "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "brain_disability" - }, - { - "key": "vision_disability", - "text": "Ulemavu wa Kuona", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "vision_disability" - }, - { - "key": "hearing_disability", - "text": "Ulemavu wa Kusikia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hearing_disability" - }, - { - "key": "learning_disabilities", - "text": "Ulemavu wa Utambuzi au Kujifunza", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "learning_disabilities" - }, - { - "key": "psychological_disorders", - "text": "Matatizo ya Kisaikolojia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_disorders" - }, - { - "key": "invisible_disabilities", - "text": "Ulemavu Usioonekana", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "invisible_disabilities" - } - ], + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "edit_type": "name", + "hint": "Aina ya ulemavu", "relevance": { "rules-engine": { "ex-rules": { @@ -470,16 +414,16 @@ }, "v_required": { "value": true, - "err": "Tafadhali ingiza aina ya ulemavu wa kimwili" + "err": "Tafadhali ingiza aina ya ulemavu wa mwili" } }, { "key": "birth_cert_available", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "birth_cert_available", + "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", - "hint": "Je, Mtoto amesajiliwa au ana cheti cha kuzaliwa", + "hint": "Cheti cha kuzaliwa", "values": [ "Ndiyo", "Hapana" @@ -489,24 +433,17 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family-child-relevance.yml" - } - } + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { "key": "birth_regist_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "birth_regist_number", + "openmrs_entity_id": "162052AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", - "hint": "Namba ya cheti cha kuzaliwa cha mtoto", + "hint": "Namba ya cheti cha kuzaliwa", "relevance": { "rules-engine": { "ex-rules": { @@ -519,9 +456,9 @@ "key": "rhc_card", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "rhc_card", + "openmrs_entity_id": "164147AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", - "hint": "Je, mtoto ana kadi ya RCH 1/kijitabu cha ukuaji wa mtoto?", + "hint": "Je, mtoto ana RCH kadi namba moja/kitabu cha ukuaji wa mtoto?", "values": [ "Ndiyo", "Hapana" @@ -531,17 +468,17 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { "key": "nutrition_status", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_status", + "openmrs_entity_id": "163301AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", - "hint": "Hali ya lishe", + "hint": "Hali ya lishe ya mtoto", "values": [ "Kijani", "Kijivu/Njano", @@ -553,13 +490,13 @@ "Red" ], "openmrs_choice_ids": { - "Green": "Green", - "Grey": "Grey", - "Red": "Red" + "Green": "160909AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Grey": "163639AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Red": "127778AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", - "err": "Tafadhali ingiza hali ya lishe ya mtoto" + "err": "Tafadhali toa hali ya lishe ya watoto" }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_deworming.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_deworming.json index db7272f377..cb75ecc92d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_deworming.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_deworming.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Deworming {0} dose", + "title": "Dozi ya {0} ya dawa ya minyoo", "fields": [ { "key": "deworming{0}_date", @@ -56,12 +56,12 @@ "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", "image": "ic_form_deworming", - "hint": "Je, dawa ya minyoo {0} ilitolewa lini?", + "hint": "Dawa ya minyoo ya {0} lilifanyika lini?", "min_date": "today-120y", "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhali weka tarehe ambayo dawa ya minyoo ilitolewa" + "err": "Tafadhali ingiza tarehe ya dozi ya dawa ya minyoo" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_malaria_prevention.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_malaria_prevention.json index ac716feba6..410d200e26 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_malaria_prevention.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_malaria_prevention.json @@ -47,16 +47,16 @@ "encounter_location": "" }, "step1": { - "title": "Malaria Prevention", + "title": "Kinga dhidi ya Malaria", "fields": [ { "key": "fam_llin_1m5yr", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, mtoto ana chandarua chenye dawa inayodumu kwa muda mrefu (LLIN)?", + "hint": "Ana chandarua chenye viuwatilifu vya muda mrefu?", "values": [ "Ndiyo", "Hapana" @@ -77,11 +77,11 @@ { "key": "llin_2days_1m5yr", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, mtoto alilala kwenye chandarua chenye dawa inayodumu kwa muda mrefu (LLIN) jana usiku??", + "hint": "Je, amelala kwenye chandarua chenye viuwatilifu vya muda mrefu usiku uliopita?", "values": [ "Ndiyo", "Hapana" @@ -96,7 +96,7 @@ }, "v_required": { "value": "true", - "err": "Tafahdali chagua chaguo moja" + "err": "Tafadhali chagua chaguo moja" }, "relevance": { "step1:fam_llin_1m5yr": { @@ -108,14 +108,14 @@ { "key": "llin_condition_1m5yr", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Hali ya chandarua (LLIN)", + "hint": "Hali ya chandarua chenye viuwatilifu vya muda mrefu kinachotumika", "values": [ - "Ndiyo", - "Hapana" + "Nzima", + "Mbovu" ], "keys": [ "Okay", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_nutrition_status.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_nutrition_status.json index f4f0938823..7ec85d9d72 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_nutrition_status.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_nutrition_status.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Nutrition status", + "title": "Hali ya lishe", "fields": [ { "key": "nutrition_status_1m5yr", @@ -56,11 +56,11 @@ "openmrs_entity_id": "163301AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Hali ya lishe ", + "hint": "Hali ya lishe", "values": [ "Kawaida", - "Wastani", - "Mbaya" + "Dhaifu", + "Dhaifu sana" ], "keys": [ "Normal", @@ -74,7 +74,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali chagua chaguo moja" + "err": "Tafadhali chagua chaguo angalau moja" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vaccine_card_received.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vaccine_card_received.json deleted file mode 100644 index d77ad963e3..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vaccine_card_received.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "count": "1", - "encounter_type": "Child vaccine card received", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "Child vaccine card received", - "fields": [ - { - "key": "child_vaccine_card", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "164147AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "image": "form_received_card", - "hint": "Je, mtoto alipokea kadi yake ya chanjo?", - "values": [ - "Ndiyo", - "Hapana" - ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - } - ] - } -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vitamin_a.json b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vitamin_a.json index feaf6069a6..ec026e47a1 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vitamin_a.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_hv_vitamin_a.json @@ -56,12 +56,12 @@ "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", "image": "ic_form_vitamin", - "hint": "Dozi ya Vitamini A {0} ilifanywa lini?", + "hint": "Dozi ya Vitamini A ya {0} ilifanyika lini?", "min_date": "today-120y", "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhali ingiza tarehe ambayo vitamini A iliyotolewa" + "err": "Tafadhali ingiza tarehe ya dozi ya Vitamini A" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/child_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/child_referral_form.json index 6560173825..fb3678ab8d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/child_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/child_referral_form.json @@ -52,7 +52,7 @@ } }, "step1": { - "title": "Sick child form", + "title": "Fomu ya wagonjwa wa mtoto", "fields": [ { "key": "chw_referral_hf_child", @@ -60,7 +60,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "1759AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "hidden", - "is_problem": false, "calculation": { "rules-engine": { "ex-rules": { @@ -72,33 +71,33 @@ { "key": "referral_problem_child", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Tatizo / hali ya kiafya", + "label": "Tatizo / hali ya afya ya mteja", "label_text_style": "bold", "options": [ { "key": "Fast_breathing_and_difficulty_with_breathing", - "text": "Kupumua haraka na ugumu wa kupumua", + "text": "Kupumua kwa haraka na kushindwa kupumua", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Umbilical_cord_navel_bleeding", - "text": "Kutokwa na damu kwa kitovu", + "text": "Kutoka damu kwenye kitovu cha mtoto", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Excessive_crying", - "text": "Kulia kupita kiasi", + "text": "Kulia sana kwa Mtoto", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, @@ -106,23 +105,23 @@ "key": "Convulsions", "text": "Degedege", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Unable_to_breastfeed_or_swallow", - "text": "Haiwezi kunyonya au kumeza", + "text": "Kushindwa kunyonya au kumeza", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Neck_stiffness", - "text": "Shingo kukaza", + "text": "Shingo kukakamaa", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, @@ -130,39 +129,39 @@ "key": "Fever", "text": "Homa", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Bloating", - "text": "Kuvimba", + "text": "Tumbo kujaa", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Redness_around_the_umbilical_cord_foul_smelling_discharge_from_the_umbilical_cord", - "text": "Wekundu kuzunguka kitovu, kutokwa na harufu mbaya kutoka kwa kitovu", + "text": "Uambukizo kwenye kitovu", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Bacterial_conjunctivitis", - "text": "Kuvimba kwa macho inayosababishwa na bakteria", + "text": "Macho kutoa uchafu / usaa", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Severe_anaemia", - "text": "Kupungukiwa sana kwa damu", + "text": "Upungufu mkubwa wa damu", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, @@ -170,39 +169,39 @@ "key": "Severe_abdominal_pain", "text": "Maumivu makali ya tumbo", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Pale_or_jaundiced", - "text": "Kupoteza rangi kwenye ngozi au kuonekana wa njano", + "text": "Mwili kuwa njano", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Cyanosis_blueness_of_lips", - "text": "Midomo kuonekana na rangi ya bluu", + "text": "Kubadilika kwa sababu ya kukosa hewa (midomo kuwa bluu, ulimi au viganja)", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Skin_rash_pustules", - "text": "Kuwa na upele kwenye ngozi", + "text": "Vipele mwilini", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Diarrhea", - "text": "Kuhara", + "text": "Kuharisha", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, @@ -210,65 +209,64 @@ "key": "Vomiting", "text": "Kutapika", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Disabilities", - "text": "Ulemavu", + "text": "Kuzaliwa na ulemavu", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Premature_baby", - "text": "Mtoto njiti", + "text": "Mtoto aliyezaliwa na uzito pungufu / njiti", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Care_of_HIV_exposed_infant", - "text": "Utunzaji wa mtoto aliyeambukizwa VVU", + "text": "Huduma za kumsaidia mtoto aliyezaliwa na mama mwenye VVU", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Immunisation", - "text": "Kupatiwa chanjo ya kinga", + "text": "Huduma za chanjo", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "Other_symptom", - "text": "Dalili zingine", + "text": "Dalili nyingine", "value": false, - "ignore": true, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } ], "v_required": { "value": true, - "err": "Tafadhali taja tatizo la kiafya" + "err": "Tafadhali taja shida ya kiafya" } }, { "key": "referral_problem_child_other", "type": "edit_text", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", "edit_type": "name", - "hint": "Dalili zingine", + "hint": "Dalili nyingine", "relevance": { "rules-engine": { "ex-rules": { @@ -280,12 +278,11 @@ { "key": "service_before_child", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Usimamizi wa kabla ya kupewa rufaa iliyotolewa", + "label": "Huduma aliyopewa kabla ya rufaa", "label_text_style": "bold", - "is_problem": false, "exclusive": [ "None" ], @@ -294,7 +291,7 @@ "key": "ORS", "text": "ORS", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, @@ -302,7 +299,7 @@ "key": "Panadol", "text": "Panadol", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, @@ -310,37 +307,35 @@ "key": "Other_treatment", "text": "Matibabu mengine", "value": false, - "ignore": true, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { "key": "None", - "text": "Hakuna", + "text": "Hajapewa matibabu yoyote", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } ], "v_required": { "value": "true", - "err": "Sehemu ya Usimamizi wa kabla ya kupewa rufaa inahitajika" + "err": "Huduma aliyopewa kabla ya rufaa ni lazima" } }, { "key": "service_before_child_other", "type": "edit_text", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", "edit_type": "name", "hint": "Matibabu mengine", - "is_problem": false, "v_required": { "value": "true", - "err": "Tafadhali taji matibabu megine " + "err": "Tafadhali taja matibabu mengine" }, "relevance": { "rules-engine": { @@ -356,7 +351,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "163181AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "hidden", - "is_problem": false, "calculation": { "rules-engine": { "ex-rules": { @@ -368,10 +362,9 @@ { "key": "referral_time_child", "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_time_child", + "openmrs_entity": "", + "openmrs_entity_id": "", "type": "hidden", - "is_problem": false, "calculation": { "rules-engine": { "ex-rules": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json index 85fed03e87..f220cf0520 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_register.json @@ -52,7 +52,7 @@ } }, "step1": { - "title": "Family Details", + "title": "Taarifa ya familia", "fields": [ { "key": "fam_name", @@ -60,15 +60,15 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la ukoo", + "hint": "Jina la familia (ukoo)", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali weka jina la ukoo" + "err": "Tafadhali ingiza jina la familia (ukoo)" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina halali" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" } }, { @@ -79,11 +79,11 @@ "hidden": "true", "type": "barcode", "barcode_type": "qrcode", - "hint": "Number ya utambulisho", + "hint": "ID *", "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", - "err": "Tafadhali weka kitambulisho halali" + "err": "Tafadhali ingiza namba halali" } }, { @@ -92,10 +92,10 @@ "openmrs_entity": "person_address", "openmrs_entity_id": "cityVillage", "type": "edit_text", - "hint": "Jina la Eneo", + "hint": "Kijiji / mtaa", "v_required": { "value": "true", - "err": "Tafadhali weka jina la eneo" + "err": "Tafadhali ingiza kijiji au jiji" } }, { @@ -104,13 +104,13 @@ "openmrs_entity": "person_address", "openmrs_entity_id": "landmark", "type": "edit_text", - "hint": "Alama ya kihistoria" + "hint": "Alama ya eneo la makazi" }, { "key": "gps", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gps", + "openmrs_entity_id": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "gps" }, @@ -118,14 +118,14 @@ "key": "nearest_facility", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "nearest_facility", + "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Kijiji/Mtaa", + "hint": "Kituo cha karibu cha kutolea huduma za afya", "tree": [], "v_required": { "value": true, - "err": "Tafadhali ingia kijijini au mtaani" + "err": "Tafadhali ingiza kituo cha afya kilicho karibu" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_child.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_child.json index 04a6a6842c..47d0728d2a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_child.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_child.json @@ -52,12 +52,12 @@ } }, "step1": { - "title": "Remove Child Under 5", + "title": "Ondoa mtoto chini ya miaki 5", "fields": [ { "key": "spacer", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "spacer", "spacer_height": "10sp" @@ -65,7 +65,7 @@ { "key": "details", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "label", "text": "", @@ -75,13 +75,13 @@ "key": "divider1", "type": "h_line", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "spacer", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "spacer", "spacer_height": "15dp" @@ -93,11 +93,11 @@ "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Sababu", + "hint": "Sababu ya kuiondoa", "values": [ - "Alikufa", - "Imehamishwa", - "Nyingine" + "Kifo", + "Amehama", + "Sababu nyingine" ], "keys": [ "Died", @@ -117,7 +117,7 @@ { "key": "dob", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "spacer", "expanded": false, @@ -131,20 +131,20 @@ "openmrs_entity_id": "164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "date_picker", - "label": "Date moved away", - "hint": "Tarehe ya kuhamishwa", + "label": "Tarehe aliyohama", + "hint": "Tarehe aliyohama", "expanded": false, "min_date": "", "max_date": "today", "v_required": { "value": "true", - "err": "Weka tarehe ambayo mwanachama alihama" + "err": "Ingiza tarehe ambayo mwanachama alihama" }, "constraints": [ { "type": "date", "ex": "greaterThanEqualTo(., step1:dob)", - "err": "Moved away date cannot be before date of birth" + "err": "Tarehe ya kuhamishwa haiwezi kuwa kabla ya tarehe ya kuzaliwa" } ], "relevance": { @@ -161,20 +161,20 @@ "openmrs_entity_id": "1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "date_picker", - "label": "Date of death", + "label": "Tarehe ya kifo", "hint": "Tarehe ya kifo", "expanded": false, "min_date": "", "max_date": "today", "v_required": { "value": "true", - "err": "Weka tarehe ya kifo" + "err": "Ingiza tarehe ya kifo" }, "constraints": [ { "type": "date", "ex": "greaterThanEqualTo(., step1:dob)", - "err": "Date of death can't occur before date of birth" + "err": "Tarehe ya kifo haiwezi kutokea kabla ya tarehe ya kuzaliwa" } ], "relevance": { @@ -187,10 +187,10 @@ { "key": "age_at_death", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", - "label": "Age at death", - "hint": "Umri wakati wa kifo", + "label": "Umri wakati anafariki", + "hint": "Umri wakati anafariki", "type": "edit_text", "read_only": "true", "relevance": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_family.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_family.json index fa157b7ec6..84b8a4047e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_family.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_family.json @@ -52,12 +52,12 @@ } }, "step1": { - "title": "Remove Family", + "title": "Ondoa familia", "fields": [ { "key": "spacer", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "spacer", "spacer_height": "30sp" @@ -65,7 +65,7 @@ { "key": "fam_name", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "label", "text": "", @@ -74,7 +74,7 @@ { "key": "details", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "label", "text": "", @@ -84,13 +84,13 @@ "key": "divider1", "type": "h_line", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "spacer", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "spacer", "spacer_height": "20sp" @@ -104,8 +104,8 @@ "type": "spinner", "hint": "Sababu ya kufungwa", "values": [ - "Uhamisho", - "Nyinginezo" + "Kaya imehama", + "Nyingine" ], "keys": [ "Relocation", @@ -130,7 +130,7 @@ "hint": "Sababu nyingine", "v_required": { "value": "true", - "err": "Weka sababu ya kufungwa" + "err": "Ingiza sababu ya kufungwa" }, "relevance": { "step1:closure_reason_fam": { @@ -146,7 +146,7 @@ "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Uhamisho wa kaya", + "hint": "Kaya imehama", "values": [ "Ndani ya wilaya", "Nje ya wilaya" @@ -157,7 +157,7 @@ ], "v_required": { "value": "true", - "err": "Weka sababu ya kufungwa" + "err": "Ingiza sababu ya kufungwa" }, "relevance": { "step1:closure_reason_fam": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_member.json b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_member.json index 8ec57ab184..a95ae42246 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_member.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_details_remove_member.json @@ -52,12 +52,12 @@ } }, "step1": { - "title": "Remove Family Member", + "title": "Ondoa mwanafamilia", "fields": [ { "key": "spacer", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "spacer", "spacer_height": "10sp" @@ -65,7 +65,7 @@ { "key": "details", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "label", "text": "", @@ -75,13 +75,13 @@ "key": "divider1", "type": "h_line", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "spacer", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "spacer", "spacer_height": "15dp" @@ -93,15 +93,15 @@ "openmrs_entity_id": "160417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Sababu ya kuondolewa", + "hint": "Sababu ya kuiondoa", "v_required": { "value": "true", - "err": "Chagua sababu ya kuondoa rekodi ya mwanafamilia" + "err": "Chagua sababu ya kuondoa rekodi ya familia" }, "values": [ "Kifo", - "Imehamishwa", - "Nyingine" + "Amehama", + "Sababu nyingine" ], "keys": [ "Death", @@ -117,7 +117,7 @@ { "key": "dob", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "spacer", "expanded": false, @@ -131,20 +131,20 @@ "openmrs_entity_id": "164133AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "date_picker", - "label": "Date moved away", - "hint": "Tarehe ya kuhamishwa", + "label": "Tarehe aliyohama", + "hint": "Tarehe aliyohama", "expanded": false, "min_date": "", "max_date": "today", "v_required": { "value": "true", - "err": "Weka tarehe ambayo mwanachama alihama" + "err": "Ingiza tarehe ambayo mwanachama alihama" }, "constraints": [ { "type": "date", "ex": "greaterThanEqualTo(., step1:dob)", - "err": "Date moved away occur before date of birth" + "err": "Tarehe iliyohamishwa imetokea kabla ya tarehe ya kuzaliwa" } ], "relevance": { @@ -161,20 +161,20 @@ "openmrs_entity_id": "1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "date_picker", - "label": "Date of death", + "label": "Tarehe ya kifo", "hint": "Tarehe ya kifo", "expanded": false, "min_date": "today-80y", "max_date": "today", "v_required": { "value": "true", - "err": "Weka tarehe ya kifo" + "err": "Ingiza tarehe ya kifo" }, "constraints": [ { "type": "date", "ex": "greaterThanEqualTo(., step1:dob)", - "err": "Date of death can't occur before date of birth" + "err": "Tarehe ya kifo haiwezi kutokea kabla ya tarehe ya kuzaliwa" } ], "relevance": { @@ -188,10 +188,10 @@ { "key": "age_at_death", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", - "label": "Age at death", - "hint": "Umri wakati wa kifo", + "label": "Umri wakati anafariki", + "hint": "Umri wakati anafariki", "type": "edit_text", "read_only": "true", "relevance": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json index c9b1f03029..ee01348364 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_member_register.json @@ -52,40 +52,49 @@ } }, "step1": { - "title": "Sajili mwanafamilia", + "title": "Ongeza Mwanachama wa Familia", "fields": [ + { + "key": "photo", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "choose_image", + "uploadButtonText": "Chukua picha ya muhusika" + }, { "key": "unique_id", "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "edit_text", - "read_only": true, - "hint": "WAJA ID", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Boresha Afya ID", + "scanButtonText": "Chukua QR code", "v_numeric": { "value": "true", - "err": "Please enter a valid ID" + "err": "Tafadhali ingiza namba halali" }, "v_required": { "value": "true", - "err": "Please enter the UNIQUE ID" + "err": "Tafadhali ingiza namba ya kipekee" } }, { "key": "surname", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "edit_text", - "hint": "Jina la ukoo", + "hint": "Jina la mwisho (ukoo)", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina halali" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" }, "v_required": { "value": "true", - "err": "Tafadhali weka jina la ukoo" + "err": "Tafadhali ingiza jina la ukoo" }, "relevance": { "rules-engine": { @@ -98,7 +107,7 @@ { "key": "same_as_fam_name", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_data_type": "text", "type": "check_box", @@ -109,7 +118,7 @@ "options": [ { "key": "same_as_fam_name", - "text": "Jina la ukoo sawa na jina la familia", + "text": "Jina la ukoo ni sawa na jina la familia", "text_size": "18px", "value": "false" } @@ -118,7 +127,7 @@ { "key": "fam_name", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "label", "hidden": "true" @@ -129,7 +138,7 @@ "openmrs_entity": "person", "openmrs_entity_id": "last_name", "type": "hidden", - "hint": "Surname as Family name", + "hint": "Jina la ukoo ni sawa na jina la familia", "calculation": { "rules-engine": { "ex-rules": { @@ -148,11 +157,11 @@ "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali weka jina la kwanza" + "err": "Tafadhali ingiza jina la kwanza" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina halali" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" } }, { @@ -164,12 +173,12 @@ "hint": "Jina la kati", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina la kati" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" }, "v_required": { "value": "true", - "err": "Tafadhali weka jina la kati" + "err": "Tafadhali ingiza jina la kati" } }, { @@ -178,7 +187,7 @@ "openmrs_entity": "person", "openmrs_entity_id": "birthdate", "type": "date_picker", - "hint": "Tarehe ya kuzaliwa (DOB)", + "hint": "Tarehe ya kuzaliwa", "expanded": false, "duration": { "label": "Age" @@ -187,7 +196,7 @@ "max_date": "today-5y", "v_required": { "value": "true", - "err": "Tafadhali weka tarehe ya kuzaliwa" + "err": "Tafadhali ingiza tarehe ya kuzaliwa" }, "relevance": { "rules-engine": { @@ -200,7 +209,7 @@ { "key": "age_calculated", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "hidden", "calculation": { @@ -221,17 +230,11 @@ "options": [ { "key": "dob_unknown", - "text": "Tarehe ya kuzaliwa haijulikani", + "text": "Tarehe ya kuzaliwa haijulikani?", "text_size": "18px", "value": "false" } - ], - "relevance": { - "step1:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } + ] }, { "key": "age", @@ -246,11 +249,11 @@ }, "v_numeric": { "value": "true", - "err": "Lazima iwe nambari ya mviringo" + "err": "Tafadhali ingiza umri" }, "v_min": { "value": "5", - "err": "Umri lazima uwe sawa au zaidi ya 5" + "err": "Umri lazima uwe sawa au mkubwa kuliko 5" }, "v_max": { "value": "120", @@ -265,89 +268,7 @@ }, "v_required": { "value": true, - "err": "Tafadhali weka umri" - } - }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Jinsi", - "values": [ - "Me", - "Ke" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Tafadhali ingiza jinsi" - } - }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Hali ya Ndoa ya Mteja?", - "values": [ - "Hajaoa/Hajaolewa", - "Ameoa/Ameolewa", - "Wameachwa", - "Ndoa ya mke mmoja", - "Ndoa za wake wengi", - "Mjane", - "Kuishi pamoja bila ndoa" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Namba ya simu", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + "err": "Tafadhali ingiza umri" } }, { @@ -356,7 +277,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", - "label": "Je, una kitambulisho chochote kati ya vifuatavyo?", + "label": "Je, ana kitambulisho chochote kati ya hivi??", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -365,28 +286,28 @@ "options": [ { "key": "chk_national_id", - "text": "Kitambulisho cha Taifa", + "text": "Kitambulisho cha taifa", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" }, { "key": "chk_voters_id", - "text": "Kitambulisho cha usajili wa mpiga kura", + "text": "Kitambulisho cha mpiga kura", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_voters_id" }, { "key": "chk_drivers_license", - "text": "Leseni ya udereva", + "text": "Leseni ya dereva", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, { "key": "chk_passport", - "text": "Pasipoti", + "text": "Hati ya kusafiria", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_passport" @@ -412,25 +333,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", - "type": "mask_edit_text", - "mask": "########-#####-#####-##", - "mask_hint": "12345678912345678912", - "allowed_chars": "0123456789", - "hint": "Nambari ya kitambulisho cha taifa k.m 12345678-91234-56789-12", - "edit_type": "number", - "v_regex": { - "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", - "err": "Nambari ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" - }, - "v_max_length": { - "value": "23", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, + "type": "edit_text", + "hint": "Namba ya kitambulisho cha taifa", + "edit_type": "name", "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -448,25 +353,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", - "type": "mask_edit_text", - "mask": "T-####-####-###-#", - "mask_hint": "123456789123", - "allowed_chars": "0123456789", - "hint": "Nambari ya kitambulisho cha mpiga kura k.m T-1234-5678-912-3", - "edit_type": "number", - "v_regex": { - "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Nambari ya kitambulosho cha mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" - }, - "v_max_length": { - "value": "17", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, + "type": "edit_text", + "hint": "Namba ya kitambulisho cha mpiga kura", + "edit_type": "name", "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -484,25 +373,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", - "type": "mask_edit_text", - "mask": "##########", - "mask_hint": "1234567891", - "allowed_chars": "0123456789", - "hint": "Nambari ya leseni ya udereva k.m 1234567891", - "edit_type": "number", - "v_regex": { - "value": "^([0-9]{10})", - "err": "Nambari ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, + "type": "edit_text", + "hint": "Namba ya leseni ya udereva", + "edit_type": "name", "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -520,25 +393,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Nambari ya pasipoti", - "edit_type": "number", - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Tafadhali weka namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali weka namba sahihi" - }, - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" - }, + "type": "edit_text", + "hint": "Namba ya hati ya kusafiria", + "edit_type": "name", "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -557,26 +414,26 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Health_Insurance_Type", "type": "spinner", - "hint": "Mtoa huduma ya bima ya afya", + "hint": "Bima ya afya unaotumia", "values": [ - "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", - "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", - "Mfuko wa Taifa wa Bima ya Afya (NHIF)", + "Bima ya afya ya jamii (CHF)", + "Bima ya afya ya jamii ulioboreshwa (iCHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", - "Huduma ya Afya ya AAR", + "AAR Healthcare", "Strategies Insurance", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Bima ya afya ya Britam", - "Bima ya afya ya Jubilee", - "Bima ya afya ya Resolutions", - "Bima ya afya ya Reliance", - "Nyingine", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Bima ya afya nyingezo", "Hakuna" ], "keys": [ "Community Health Fund (CHF)", + "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -590,8 +447,8 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", + "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", @@ -605,7 +462,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali ingiza mtoa huduma wa bima" + "err": "Tafadhali ingiza bima" } }, { @@ -614,10 +471,10 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Health_Insurance_Type", "type": "edit_text", - "hint": "Mtoa huduma mwingine wa bima ya afya", + "hint": "Bima ya afya mwingine unaotumia", "v_required": { "value": "true", - "err": "Tafadhali bainisha mtoa huduma wa bima" + "err": "Tafadhali ingiza bima" }, "relevance": { "rules-engine": { @@ -633,10 +490,10 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Health_Insurance_Number", "type": "edit_text", - "hint": "Nambari ya mtoa huduma ya bima ya afya", + "hint": "Namba ya bima ya afya umaotumia", "v_required": { "value": "true", - "err": "Tafadhali ongeza Nambari ya kitambulisho ya mtoa huduma wa bima ya afya" + "err": "Tafadhali ingiza namba ya mfuko wa bima ya afya umaotumia" }, "relevance": { "rules-engine": { @@ -646,10 +503,30 @@ } } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Tafadhali ingiza jinsi" + } + }, { "key": "wra", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "hidden", "calculation": { @@ -663,7 +540,7 @@ { "key": "mra", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "hidden", "calculation": { @@ -678,9 +555,9 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "preg_1yr", + "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", - "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", + "hint": "Je, amejifungua ndani ya mwaka 1?", "values": [ "Ndiyo", "Hapana" @@ -690,12 +567,12 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", - "err": "Je, mwanamke amejifungua katika mwaka 1 uliopita?" + "err": "Tafadhali chagua ikiwa mwanamke amejifungua katika mwaka 1 uliopita" }, "relevance": { "rules-engine": { @@ -709,11 +586,11 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", - "hint": "Ulemavu wa kimwili", + "hint": "Hali ya ulemavu", "values": [ - "Ndio", + "Ndiyo", "Hapana" ], "keys": [ @@ -721,8 +598,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -731,71 +608,11 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "disabilities", + "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "check_box", - "label": "Aina ya ulemavu wa mwili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "physical_impairments", - "text": "Uhamaji na Ulemavu wa Kimwili", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "physical_impairments" - }, - { - "key": "spinal_cord_disability", - "text": "Ulemavu wa Uti wa Mgongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "spinal_cord_disability" - }, - { - "key": "brain_disability", - "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "brain_disability" - }, - { - "key": "vision_disability", - "text": "Ulemavu wa Maono", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "vision_disability" - }, - { - "key": "hearing_disability", - "text": "Ulemavu wa Kusikia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hearing_disability" - }, - { - "key": "learning_disabilities", - "text": "Ulemavu wa Utambuzi au Kujifunza", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "learning_disabilities" - }, - { - "key": "psychological_disorders", - "text": "Matatizo ya Kisaikolojia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_disorders" - }, - { - "key": "invisible_disabilities", - "text": "Ulemavu Usioonekana", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "invisible_disabilities" - } - ], + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Aina ya ulemavu", "v_required": { "value": "true", "err": "Tafadhali ingiza aina ya ulemavu" @@ -811,12 +628,12 @@ { "key": "is_primary_caregiver", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "spinner", - "hint": "Je, mlezi mkuu?", + "hint": "Ni mlezi mkuu wa familia?", "values": [ - "Ndio", + "Ndiyo", "Hapana" ], "keys": [ @@ -828,29 +645,49 @@ "err": "Tafadhali chagua moja" } }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Namba ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." + }, + "v_required": { + "value": false, + "err": "Tafadhali taja numbe ya simu" + } + }, { "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", + "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", - "hint": "Namba nyingine ya simu", + "hint": "Namba za simu nyingine", "v_numeric": { "value": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" }, "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." } }, { "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider", + "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Kazi ya mwanafamilia", + "label": "Aina ya kazi anayojishughulisha", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -859,130 +696,99 @@ "options": [ { "key": "chk_farmer", - "text": "Farmer", + "text": "Mkulima", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" + "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cs", - "text": "Mtumishi wa Serikali", + "text": "Mtumishi wa serikali", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" + "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_nurse", "text": "Muuguzi", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" + "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_teacher", "text": "Mwalimu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" + "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_th", - "text": "Mganga wa Kienyeji", + "text": "Waganga wa tiba asilia (THs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" + "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_chw", - "text": "Mhudumu wa Afya ya Jamii (CHW)", + "text": "Wahudumu wa afya ngazi ya jamii–WAJA", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" + "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_tba", - "text": "Mkunga wa Jadi", + "text": "Wakunga wa jadi (TBAs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" + "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_chmis", - "text": "Mkusanya takrimu za afya ngazi ya jami", + "text": "Wakusanyaji takwimu za afya katika jamii (cHIMS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" + "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cbd", - "text": "Msambazaji wa vifaa vya uzazi wa mpango ngazi ja jami", + "text": "Wasambazaji wa dawa na vifaa vya uzazi wa mpango katika jamii (CBD)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" + "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hbc", - "text": "Utunzaji wa Nyumbani (HBC)", + "text": "Watoa huduma kwa wagonjwa majumbani (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" + "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cimmci", - "text": "Watoa huduma huduma za kuzuia magonjwa ya watoto kwa uwiano ngazi ya jamii", + "text": "Watoa huduma za udhibiti wa magonjwa ya watoto kwa uwiano katika jamii (cIMCI)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" + "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_other", - "text": "Nyinginezo", + "text": "Nyingine", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "Hakuna", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Taja Kazi nyingine", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja kazi" - }, - "relevance": { - "step1:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } } }, { @@ -991,7 +797,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Community_Leader", "type": "check_box", - "label": "Kuna nafasi yoyote ya uongozi katika jamii?", + "label": "Una jukumu lolote la uongozi kwenye ngazi ya jamii?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -1007,7 +813,7 @@ }, { "key": "chk_traditional", - "text": "Kiongozi wa dini", + "text": "Kiongozi wa kimila", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Traditional_leader" @@ -1021,7 +827,7 @@ }, { "key": "chk_influential", - "text": "Kiongozi mwenye ushawishi", + "text": "Mtu mwenye ushawishi kwenye jamii", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Influential_Leader" @@ -1044,13 +850,6 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } } }, { @@ -1059,11 +858,11 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type_Name", "type": "edit_text", - "hint": "Taja nafasi nyingine katika jamii", + "hint": "Taja hayo majukumu mengine", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali bainisha jukumu" + "err": "Tafadhali taja jukumu" }, "relevance": { "step1:leader": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json index 26a2d30393..c71efc9518 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/family_register.json @@ -54,7 +54,7 @@ } }, "step1": { - "title": "Maelezo ya familia", + "title": "Taarifa ya familia", "next": "step2", "fields": [ { @@ -63,49 +63,15 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la Ukoo", + "hint": "Taarifa ya familia", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali jaza jina la ukoo" + "err": "Tafadhali ingiza jina la ukoo" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali jaza jina halali" - } - }, - { - "key": "client_first_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "first_name", - "type": "edit_text", - "hint": "Jina la kwanza la Mkuu wa Familia", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please enter the first name" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali jaza jina halali" - } - }, - { - "key": "client_middle_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "middle_name", - "type": "edit_text", - "hint": "Jina la Kati la Mkuu wa Familia", - "edit_type": "name", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali jaza jina halali" - }, - "v_required": { - "value": "true", - "err": "Tafadhali jaza jina la kati" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina la ukoo" } }, { @@ -116,11 +82,11 @@ "hidden": "true", "type": "barcode", "barcode_type": "qrcode", - "hint": "Number ya utambulisho", - "scanButtonText": "Scan QR Code", + "hint": "ID", + "scanButtonText": "Chukua QR code", "v_numeric": { "value": "true", - "err": "Tafadhali jaza kitambulisho halali" + "err": "Tafadhali ingiza namba halali" } }, { @@ -130,14 +96,14 @@ "openmrs_entity_id": "cityVillage", "type": "edit_text", "edit_type": "name", - "hint": "Jina la Eneo", + "hint": "Kijiji / mtaa", "v_required": { "value": "true", - "err": "Tafadhali jaza jina la eneo" + "err": "Tafadhali ingiza kijiji au jiji" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Tafadhali jaza jina sahihi la eneo" + "err": "Tafadhali ingiza jina halali la kijiji" } }, { @@ -147,24 +113,24 @@ "openmrs_entity_id": "landmark", "type": "edit_text", "edit_type": "name", - "hint": "Alama/Maelezo ya eneo la nyumba", + "hint": "Alama ya eneo la makazi", "v_required": { "value": true, - "err": "Tafadhali jaza alama/maelezo ya eneo." + "err": "Tafadhali ingiza maelezo ya alama au eneo la makazi" } }, { "key": "gps", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gps", + "openmrs_entity_id": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "gps" }, { "key": "spacer", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "spacer", "spacer_height": "15dp" @@ -173,37 +139,45 @@ "key": "nearest_facility", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "nearest_facility", + "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Kijiji/Mtaa", + "hint": "Kituo cha karibu cha kutolea huduma za afya", "tree": [], "v_required": { "value": true, - "err": "Tafadhali chagua kijiji au mtaa" + "err": "Tafadhali ingiza kituo cha afya kilicho karibu" } } ] }, "step2": { - "title": "Mkuu wa familia", + "title": "Mkuu wa kaya", "fields": [ + { + "key": "photo", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "choose_image", + "uploadButtonText": "Chukua picha ya muhusika / kiongozi wa familia" + }, { "key": "unique_id", "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "type": "edit_text", - "hint": "", + "hint": "ID", "value": "0", "read_only": "true", "v_numeric": { "value": "true", - "err": "Please enter a valid ID" + "err": "Tafadhali ingiza namba halali" }, "v_required": { "value": "true", - "err": "Please enter the ID" + "err": "Tafadhali ingiza namba" } }, { @@ -219,16 +193,8 @@ "err": "Tafadhali ingiza jina la kwanza" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali jaza jina halali" - }, - "read_only": true, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_calculation.yml" - } - } + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" } }, { @@ -241,33 +207,25 @@ "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali jaza jina la kati" + "err": "Tafadhali ingiza jina la kati" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali jaza jina halali" - }, - "read_only": true, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_calculation.yml" - } - } + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" } }, { "key": "surname", "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "last_name", + "openmrs_entity": "", + "openmrs_entity_id": "", "type": "edit_text", - "hint": "Jina la mwisho", + "hint": "Jina la familia (ukoo)", "edit_type": "name", "read_only": "true", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali jaza jina halali" + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", + "err": "Tafadhali ingiza jina halali" }, "calculation": { "rules-engine": { @@ -283,16 +241,16 @@ "openmrs_entity": "person", "openmrs_entity_id": "birthdate", "type": "date_picker", - "hint": "Tarehe ya kuzaliwa (DOB)", + "hint": "Tarehe ya kuzaliwa", "expanded": false, "duration": { - "label": "Umri" + "label": "Age" }, "min_date": "today-120y", "max_date": "today-15y", "v_required": { "value": "true", - "err": "Tafadhali jaza tarehe ya kuzaliwa" + "err": "Tafadhali ingiza tarehe ya kuzaliwa" }, "relevance": { "rules-engine": { @@ -305,7 +263,7 @@ { "key": "age_calculated", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "hidden", "calculation": { @@ -330,13 +288,7 @@ "text_size": "18px", "value": "false" } - ], - "relevance": { - "step2:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } + ] }, { "key": "age", @@ -351,11 +303,11 @@ }, "v_numeric": { "value": "true", - "err": "Lazima iwe number kamili" + "err": "Nambari lazima ianze na 0 na lazima iwe jumla ya nambari 10 kwa urefu" }, "v_min": { "value": "15", - "err": "Umri lazima uwe sawa au zaidi ya 15" + "err": "Umri lazima uwe sawa au mkubwa kuliko 15" }, "v_max": { "value": "120", @@ -370,91 +322,7 @@ }, "v_required": { "value": true, - "err": "Tafadhali jaza umri" - }, - "v_min.err": "Umri lazima uwe sawa au zaidi ya 15", - "v_max.err": "Umri lazima uwe sawa au chini ya 120" - }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Jinsi", - "values": [ - "Me", - "Ke" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Tafadhali jaza jinsi" - } - }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Hali ya Ndoa ya Mteja?", - "values": [ - "Hajaolewa", - "Ameolewa", - "Ameachika", - "Ndoa ya mke au mume moja", - "Mitara", - "Mjane", - "Kuishi pamoja bila ndoa" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Namba ya simu", - "v_numeric": { - "value": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + "err": "Tafadhali ingiza umri" } }, { @@ -463,7 +331,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", - "label": "Je, ana kitambulisho chochote kati ya vifuatavyo?", + "label": "Je, ana kitambulisho chochote kati ya hivi?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -472,28 +340,28 @@ "options": [ { "key": "chk_national_id", - "text": "Kitambulisho cha Taifa", + "text": "Kitambulisho cha taifa", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" }, { "key": "chk_voters_id", - "text": "Kitambulisho cha Mpiga kura", + "text": "Kitambulisho cha mpiga kura", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_voters_id" }, { "key": "chk_drivers_license", - "text": "Leseni ya udereva", + "text": "Leseni ya dereva", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, { "key": "chk_passport", - "text": "pasipoti", + "text": "Hati ya kusafiria", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_passport" @@ -505,39 +373,16 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } - ], - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } + ] }, { "key": "national_id", "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", - "type": "mask_edit_text", - "mask": "########-#####-#####-##", - "mask_hint": "12345678912345678912", - "allowed_chars": "0123456789", - "hint": "Nambari ya kitambulisho cha taifa k.m 12345678-91234-56789-12", - "edit_type": "number", - "v_regex": { - "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", - "err": "Nambari ya kitambulisho cha kitaifa inapaswa kuwa ya umbizo (XXXXXXXX-XXXXX-XXXXX-XX)" - }, - "v_max_length": { - "value": "23", - "is_fixed_size": "true", - "err": "Tafadhali jaza namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali jaza namba sahihi" - }, + "type": "edit_text", + "hint": "Namba ya kitambulisho cha taifa", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -555,25 +400,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", - "type": "mask_edit_text", - "mask": "T-####-####-###-#", - "mask_hint": "123456789123", - "allowed_chars": "0123456789", - "hint": "Nambari ya kitambulisho cha mpiga kura k.m T-1234-5678-912-3", - "edit_type": "number", - "v_regex": { - "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Nambari ya kitambulisho cha mpiga kura inapaswa kuwa ya umbizo (T-XXXX-XXXX-XXX-X)" - }, - "v_max_length": { - "value": "17", - "is_fixed_size": "true", - "err": "Tafadhali jaza namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali jaza namba sahihi" - }, + "type": "edit_text", + "hint": "Namba ya kitambulisho cha mpiga kura", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -591,25 +420,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", - "type": "mask_edit_text", - "mask": "##########", - "mask_hint": "1234567891", - "allowed_chars": "0123456789", - "hint": "Nambari ya leseni ya udereva k.m 1234567891", - "edit_type": "number", - "v_regex": { - "value": "^([0-9]{10})", - "err": "Nambari ya leseni ya udereva inapaswa kuwa ya umbizo (XXXXXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Tafadhali jaza namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali jaza namba sahihi" - }, + "type": "edit_text", + "hint": "Namba ya leseni ya udereva", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -627,25 +440,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Nambari ya pasipoti", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Nambari ya Pasipoti inapaswa kuwa katika muundo (TAE-XXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Tafadhali jaza namba sahihi" - }, - "v_required": { - "value": true, - "err": "Tafadhali jaza namba sahihi" - }, - "edit_type": "number", + "type": "edit_text", + "hint": "Namba ya hati ya kusafiria", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -664,26 +461,26 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Health_Insurance_Type", "type": "spinner", - "hint": "Mtoa huduma ya bima ya afya", + "hint": "Bima ya afya unaotumia", "values": [ - "Mfuko wa Afya ya Jamii (CHF)/(iCHF)", - "Mfuko wa Taifa wa Hifadhi ya Jamii - Manufaa ya Bima ya Afya ya Jamii (SHIB)", - "Mfuko wa Taifa wa Bima ya Afya (NHIF)", + "Bima ya afya ya jamii (CHF)", + "Bima ya afya ya jamii ulioboreshwa (iCHF)", + "National Social Security Fund - Social Health Insurance Benefit (SHIB)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", "Milvik Tanzania Ltd (BIMA Mkononi)", - "Bima ya afya ya Britam", - "Bima ya afya ya Jubilee", - "Bima ya afya ya Resolutions ", - "Bima ya afya ya Reliance", - "Nyinginezo", + "Britam Insurance Tanzania", + "Jubilee Insurance", + "Resolutions Insurance", + "Reliance Insurance", + "Bima ya afya nyingezo", "Hakuna" ], "keys": [ "Community Health Fund (CHF)", + "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -697,8 +494,8 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", + "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", @@ -712,7 +509,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali ingiza toleo la bima" + "err": "Tafadhali ingiza mfuko wa bima" } }, { @@ -721,10 +518,10 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Health_Insurance_Type", "type": "edit_text", - "hint": "Mtoa huduma mwingine wa bima ya afya", + "hint": "Bima ya afya mwingine unaotumia", "v_required": { "value": "true", - "err": "Tafadhali bainisha mtoa huduma wa bima" + "err": "Tafadhali taja bima" }, "relevance": { "rules-engine": { @@ -740,10 +537,10 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Health_Insurance_Number", "type": "edit_text", - "hint": "Nambari ya mtoa huduma ya bima ya afya", + "hint": "Namba ya bima ya afya unaotumia", "v_required": { "value": "true", - "err": "Tafadhali ongeza Nambari ya kitambulisho ya mtoa huduma wa bima ya afya" + "err": "Tafadhali ongeza nambari ya bima ya afya" }, "relevance": { "rules-engine": { @@ -753,10 +550,30 @@ } } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Jinsi", + "values": [ + "Me", + "Ke" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, { "key": "wra", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "hidden", "calculation": { @@ -770,7 +587,7 @@ { "key": "mra", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "hidden", "values": "" @@ -779,11 +596,11 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "preg_1yr", + "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", - "hint": "Je, mwanamke amejifungua katika mwaka 1 uliopita?", + "hint": "Je, amejifungua ndani ya mwaka 1?", "values": [ - "Ndio", + "Ndiyo", "Hapana" ], "keys": [ @@ -791,8 +608,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -810,11 +627,11 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", - "hint": "Ulemavu wa kimwili", + "hint": "Hali ya ulemavu", "values": [ - "Ndio", + "Ndiyo", "Hapana" ], "keys": [ @@ -822,81 +639,21 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", - "err": "Please select one" + "err": "Tafadhali chagua moja" } }, { "key": "type_of_disability", - "openmrs_entity_parent": "disabilities", + "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "check_box", - "label": "Aina ya ulemavu wa mteja", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "physical_impairments", - "text": "Ulemavu wa mwili", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "physical_impairments" - }, - { - "key": "spinal_cord_disability", - "text": "Ulemavu wa Uti wa Mgongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "spinal_cord_disability" - }, - { - "key": "brain_disability", - "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "brain_disability" - }, - { - "key": "vision_disability", - "text": "Ulemavu wa Maono", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "vision_disability" - }, - { - "key": "hearing_disability", - "text": "Ulemavu wa Kusikia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hearing_disability" - }, - { - "key": "learning_disabilities", - "text": "Ulemavu wa Utambuzi au Kujifunza", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "learning_disabilities" - }, - { - "key": "psychological_disorders", - "text": "Matatizo ya Kisaikolojia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_disorders" - }, - { - "key": "invisible_disabilities", - "text": "Ulemavu Usioonekana", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "invisible_disabilities" - } - ], + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Aina ya ulemavu", "v_required": { "value": "true", "err": "Tafadhali ingiza aina ya ulemavu" @@ -909,29 +666,45 @@ } } }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Namba ya simu", + "v_numeric": { + "value": "true", + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." + } + }, { "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", + "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", - "hint": "Namba nyingine ya simu", + "hint": "Namba za simu nyingine", "v_numeric": { "value": "true", - "err": "Nambari lazima iwe jumla ya tarakimu 10 kwa urefu" + "err": "Nambari lazima iwe jumla ya nambari 10 kwa urefu" }, "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Nambari lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + "value": "(0[0-9]{9})|\\s*", + "err": "Nambari lazima iwe na nambari 10 na lazima ianze na 0." } }, { "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider", + "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Kazi ya kichwa cha familia", + "label": "Aina ya kazi anayojishughulisha", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -943,127 +716,96 @@ "text": "Mkulima", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" + "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cs", - "text": "Mtumishi wa Serikali", + "text": "Mtumishi wa serikali", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" + "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_nurse", "text": "Muuguzi", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" + "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_teacher", "text": "Mwalimu", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" + "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_th", - "text": "Mganga wa tiba asili", + "text": "Waganga wa tiba asilia (THs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" + "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_chw", - "text": "Muhudumu wa afya ngazi ya jamii(WAJA)", + "text": "Wahudumu wa afya ngazi ya jamii–WAJA", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" + "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_tba", - "text": "Mkunga wa Jadi", + "text": "Wakunga wa jadi (TBAs)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" + "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_chmis", - "text": "Wakusanyaji takrimu za afya ngazi ya jamii\"", + "text": "Wakusanyaji takwimu za afya katika jamii (cHIMS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" + "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cbd", - "text": "Msambazaji wa dawa na vifaa vya uzazi wa mpango ngazi ya Jamii ", + "text": "Wasambazaji wa dawa na vifaa vya uzazi wa mpango katika jamii (CBD)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" + "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hbc", - "text": "Watoa huduma kwa wagonjwa majumbani", + "text": "Watoa huduma kwa wagonjwa majumbani (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" + "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cimmci", - "text": "Watoa huduma za udhibiti wa magonjwa ya watoto ngazi ya jamii", + "text": "Watoa huduma za udhibiti wa magonjwa ya watoto kwa uwiano katika jamii (cIMCI)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" + "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_other", - "text": "Nyinginezo", + "text": "Nyingine", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "Hakuna", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Taja Kazi nyingine", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Tafadhali taja kazi" - }, - "relevance": { - "step2:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } } }, { @@ -1072,7 +814,7 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Community_Leader", "type": "check_box", - "label": "Kuna nafasi yoyote ya uongozi katika jamii?", + "label": "Una jukumu lolote la uongozi kwenye ngazi ya jamii?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -1088,7 +830,7 @@ }, { "key": "chk_traditional", - "text": "Kiongozi wa jadi", + "text": "Kiongozi wa kimila", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Traditional_leader" @@ -1102,14 +844,14 @@ }, { "key": "chk_influential", - "text": "Kiongozi mwenye ushawishi", + "text": "Mtu mwenye ushawishi kwenye jamii", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Influential_Leader" }, { "key": "chk_other", - "text": "Nyingine", + "text": "Nyinginezo", "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type" @@ -1125,13 +867,6 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } } }, { @@ -1140,11 +875,11 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type_Name", "type": "edit_text", - "hint": "Taja nafasi nyingine katika jamii", + "hint": "Taja hayo majukumu mengine", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali bainisha jukumu" + "err": "Tafadhali taja jukumu" }, "relevance": { "step2:leader": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_family_planning_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/female_family_planning_registration.json index fa540c8d96..fa91e0f238 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_family_planning_registration.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_family_planning_registration.json @@ -1 +1,1098 @@ -{"validate_on_submit":false,"show_errors_on_submit":false,"count":"3","encounter_type":"Family Planning Registration","entity_id":"","relational_id":"","metadata":{"start":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"start","openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"end":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"end","openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"today":{"openmrs_entity_parent":"","openmrs_entity":"encounter","openmrs_entity_id":"encounter_date"},"deviceid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"deviceid","openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"subscriberid":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"subscriberid","openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"simserial":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"simserial","openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"phonenumber":{"openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_data_type":"phonenumber","openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"encounter_location":"","look_up":{"entity_id":"","value":""}},"step1":{"title":"Family planning registration Info","next":"step2","fields":[{"key":"fp_reg_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_reg_date","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"age","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"age","type":"hidden"},{"key":"using_method","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"using_method","openmrs_entity_parent":"","label":"Je, mwanamke tayari anatumia njia ya kupanga uzazi?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"couselling_fp_methods","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","label":"Je, alishauriwa kuhusu mbinu tofauti za kupanga uzazi?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"couselling_HIV_STI","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"couselling_HIV_STI","openmrs_entity_parent":"","label":"Je, alishauriwa kuhusu kuzuia VVU na magonjwa ya zinaa?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}}]},"step2":{"title":"Family planning method","next":"step3","fields":[{"key":"pill","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"pill","openmrs_entity_parent":"","label":"Je, anataka kutumia kidonge cha kuzuia mimba?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"user_toaster_info","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Orodha ya hundi ya Kuzuia Mimba ya Kumeza","toaster_info_text":"Orodha ya kuangalia kwa ajili ya kutoa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP)","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"breast_lump","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"breast_lump","openmrs_entity_parent":"","label":"Je, ana uvimbe wowote wa matiti?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"abnormal_vaginal","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"abnormal_vaginal","openmrs_entity_parent":"","label":"Je, ana damu isiyo ya kawaida au kutokwa na maji ukeni?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"pregnant","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"pregnant","openmrs_entity_parent":"","label":"Je, ana mimba?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"difficultly_breathing","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"difficultly_breathing","openmrs_entity_parent":"","label":"Je, ana maumivu makali ya kifua na kupumua kwa shida?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"headaches","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"headaches","openmrs_entity_parent":"","label":"Je, ana maumivu ya kichwa yasiyo ya kawaida yanayohusiana na kichefuchefu, kutapika au kutoona vizuri?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"frequent_urge","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"frequent_urge","openmrs_entity_parent":"","label":"Je, mara kwa mara anahisi kiu, haja ya kukojoa au anahisi uchovu?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"falling_loss_unconsciousness","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"falling_loss_unconsciousness","openmrs_entity_parent":"","label":"Je, ana tabia ya kuanguka/kuanguka na kupoteza fahamu?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"breastfeed","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"breastfeed","openmrs_entity_parent":"","label":"Je, ananyonyesha mtoto wa miezi 6 au chini na ana matatizo yoyote ya kuzalisha maziwa?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"COC_POP","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"COC_POP","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"POP","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"POP","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"no_pill","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"no_pill","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"COC_POP_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke anastahiki aidha Vidonge Vilivyochanganywa vya Kuzuia Mimba (COC) au Vidonge vya Projestini Pekee (POP)","toaster_info_text":"COC au POP anastahiki: Mwanamke anastahiki aidha Vidonge Vilivyochanganywa vya Kuzuia Mimba (COC) au Vidonge vya Projestini Pekee (POP)","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"POP_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke anastahiki Vidonge vya Progestin Pekee (POP) pekee","toaster_info_text":"POP inastahiki pekee: Mwanamke anastahiki Vidonge vya Progestin Pekee (POP) pekee","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"no_pill_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mwanamke hastahiki kwa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP). Tafadhali mshauri mteja kutumia kondomu na mpe rufaa ya kwenda kwenye kituo cha afya kwa ushauri zaidi juu ya uzazi wa mpango.","toaster_info_text":"Hastahiki: Mwanamke hastahiki kwa Combined Oral Contraceptive (COC) au Vidonge vya Projestini Pekee (POP). Tafadhali mshauri mteja kutumia kondomu na mpe rufaa ya kwenda kwenye kituo cha afya kwa ushauri zaidi juu ya uzazi wa mpango.","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_chw","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"160576AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Mbinu ya kupanga uzazi imechaguliwa","values":["Kondomu ya kiume","Kondomu ya kike","COC","POP","Njia ya kawaida ya siku","Uzazi wa mpango wa dharura"],"openmrs_choice_ids":{"Male condom":"164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female condom":"164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","COC":"159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","POP":"159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Standard day method":"5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Emergency contraceptive":"160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_already","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"spinner","hint":"Mbinu ya kupanga uzazi imechaguliwa","values":["Kondomu ya kiume","Kondomu ya Kike","COC","POC","Njia ya kawaida ya siku","Uzazi wa mpango wa dharura","Sindano","IUCD","Kitanzi","Kijiti","Kufunga kizazi kwa mwanamke","Kufunga kizazi kwa mwanaume"],"openmrs_choice_ids":{"Male condom":"164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female condom":"164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","COC":"159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","POP":"159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Standard day method":"5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Emergency contraceptive":"160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Injectable":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","IUCD":"5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Implanon - NXT":"76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Jadelle":"1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Female sterilization":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","Male sterilization":"1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_method_accepted","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_method_accepted","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}}]},"step3":{"title":"Family planning method info","fields":[{"key":"ec_note","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"","type":"toaster_notes","text":"Mhimize mwanamke kuchagua nafasi au njia ya kudumu ya kupanga uzazi","toaster_info_text":"Mhimize mwanamke kuchagua nafasi au njia ya kudumu ya kupanga uzazi","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"ecp","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"ecp","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"no_condoms","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"no_condoms","type":"edit_text","edit_type":"number","hint":"Je, alipewa kondomu ngapi?","v_required":{"value":"true","err":"Sawa au zaidi ya )"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Nambari lazima iwe sawa au zaidi ya 0"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_start_condom","openmrs_entity_parent":"190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_condom","type":"hidden","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"no_pillcycles","openmrs_entity_parent":"5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","edit_type":"number","hint":"Je, alipewa mizunguko mingapi ya vidonge?","v_required":{"value":"true","err":"Sawa au zaidi ya 0"},"v_numeric_integer":{"value":"true","err":"Must be a rounded number"},"v_min":{"value":"0","err":"Nambari lazima iwe sawa au zaidi ya 0"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_start_cocpop","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_cocpop","type":"date_picker","hint":"Je, ni lini alianza au alipanga kuanza kutumia COC/POP?","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"counselling_use","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"counselling_use","type":"spinner","hint":"Je, alishauriwa jinsi ya kutumia njia ya kupanga uzazi?","values":["Ndio","Hapana"],"openmrs_choice_ids":{"Yes":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","No":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"},"relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"fp_start_injectable","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"date_picker","hint":"Tarehe ya sindano ya mwisho","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"next_injection_due_date","openmrs_entity_parent":"5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"5096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_id":"next_injection_due_date","type":"edit_text","hint":"Sindano inayofuata inastahili:","read_only":"true","value":"0","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}},{"key":"fp_start_iucd","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_iucd","type":"date_picker","hint":"Tarehe ya kuwekewa IUCD","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_implant_nxt","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_implant_nxt","type":"date_picker","hint":"Tarehe ya Implanon - kuingizwa kwa NXT","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_implant_jad","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"fp_start_implant_jad","type":"date_picker","hint":"Tarehe ya Kuwekewa Kijiti","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inaitajika"}},{"key":"fp_start_female_ster","openmrs_entity_parent":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_female_ster","type":"date_picker","hint":"Tarehe ya Kufunga kizazi ya mwanamke","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_start_male_ster","openmrs_entity_parent":"1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept","openmrs_entity_id":"fp_start_male_ster","type":"date_picker","hint":"Tarehe ya Kufunga kizazi ya mwanaume","max_date":"today","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}},"v_required":{"value":"true","err":"Inahitajika"}},{"key":"fp_male_ster_note","openmrs_entity_parent":"","openmrs_entity":"","openmrs_entity_id":"","type":"toaster_notes","text":"Mshauri mwanamke kutumia kondomu kwa muda wa miezi 3 ya kwanza ili kuzuia mimba","toaster_info_text":"Ujumbe wa kumjulisha mteja kwamba anapaswa kutumia kondomu kwa miezi mitatu ya kwanza baada ya kufunga kizazi ili kuzuia mimba","toaster_type":"info","relevance":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_relevance.yml"}}}},{"key":"referral_given","type":"native_radio","openmrs_entity":"concept","openmrs_entity_id":"referral_given","openmrs_entity_parent":"","label":"Je, alipewa rufaa ya kwenda kwenye kituo cha afya?","options":[{"key":"yes","openmrs_entity":"concept","openmrs_entity_id":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Ndio"},{"key":"no","openmrs_entity":"concept","openmrs_entity_id":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"","text":"Hapana"}],"v_required":{"value":"true","err":"Tafadhali chagua chaguo moja"}},{"key":"fp_start_date","openmrs_entity_parent":"","openmrs_entity":"concept","openmrs_entity_id":"163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","type":"edit_text","hidden":"true","calculation":{"rules-engine":{"ex-rules":{"rules-file":"family_planning_registration_calculation.yml"}}}}]}} \ No newline at end of file +{ + "validate_on_submit": false, + "show_errors_on_submit": false, + "count": "3", + "encounter_type": "Family Planning Registration", + "entity_id": "", + "relational_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "step1": { + "title": "Taarifa ya kusajili ya uzazi wa mpango", + "next": "step2", + "fields": [ + { + "key": "fp_reg_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_reg_date", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "age", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "age", + "type": "hidden" + }, + { + "key": "using_method", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "using_method", + "openmrs_entity_parent": "", + "label": "Je, anatumia aina ya uzazi wa mpango sasa hivi?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "couselling_fp_methods", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "label": "Je, alishauriwa kwa njia tofauti za uzazi wa mpango?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "couselling_HIV_STI", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "couselling_HIV_STI", + "openmrs_entity_parent": "", + "label": "Je, alishauriwa kuhusu kuzuia VVU na magonjwa ya zinaa?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + } + ] + }, + "step2": { + "title": "Njia ya uzazi wa mpango", + "next": "step3", + "fields": [ + { + "key": "pill", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "pill", + "openmrs_entity_parent": "", + "label": "Je, anataka kutumia vidonge kwa njia za uzazi wa mpango?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "user_toaster_info", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Orodha kutoa vidonge vya kumeza vyenye vichocheo kimoja au viwili", + "toaster_info_text": "Orodha hakiki ya kutoa vidonge vya kumeza vyenye vichocheo kimoja au viwili", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "breast_lump", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "breast_lump", + "openmrs_entity_parent": "", + "label": "Je, ana uvimbe wowote kwenye matiti?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "abnormal_vaginal", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "abnormal_vaginal", + "openmrs_entity_parent": "", + "label": "Je, anatokwa na majimaji yasiyo ya kawaida kama damu au usaha ukeni?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "pregnant", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "pregnant", + "openmrs_entity_parent": "", + "label": "Je, yeye ni mjauzito?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "difficultly_breathing", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "difficultly_breathing", + "openmrs_entity_parent": "", + "label": "Je, anapata maumivu makali ya kifua na kushindwa kupumua?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "headaches", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "headaches", + "openmrs_entity_parent": "", + "label": "Je, ana kawaida ya kuumwa kichwa sana kikiambatana na kichefuchefu, kutapika au kutokuona vizuri?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "frequent_urge", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "frequent_urge", + "openmrs_entity_parent": "", + "label": "Je, anasikia kiu mara kwa mara, kukojoa mara mara na kusikia uchovu?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "falling_loss_unconsciousness", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "falling_loss_unconsciousness", + "openmrs_entity_parent": "", + "label": "Je, ana matatizo ya kuanguka/kuzimia na kupoteza fahamu?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "breastfeed", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "breastfeed", + "openmrs_entity_parent": "", + "label": "Je, ananyonyesha mtoto chini ya miezi 6, na ana upungufu wowote katika utoaji wa maziwa?", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "COC_POP", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "COC_POP", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "POP", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "POP", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "no_pill", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_pill", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "COC_POP_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Anaweza kumeza vidonge vya kumeza vyenye vichocheo kimoja au viwili", + "toaster_info_text": "Anaweza kumeza vidonge vya kumeza vyenye vichocheo kimoja au viwili", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "POP_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Anaweza kumeza vidonge vya kumeza vyenye vichocheo kimoja", + "toaster_info_text": "Anaweza kumeza vidonge vya kumeza vyenye vichocheo kimoja", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "no_pill_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Haiweza kumeza vidonge vya kumeza vyenye vichocheo kimoja au viwili. Mshauri mteja kutumia kondomu, na mpe rufaa kwenda kuonana na mtoa huduma za afya katika kituo cha huduma.", + "toaster_info_text": "Haiweza kumeza vidonge vya kumeza vyenye vichocheo kimoja au viwili. Mshauri mteja kutumia kondomu, na mpe rufaa kwenda kuonana na mtoa huduma za afya katika kituo cha huduma.", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_method_chw", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160576AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Njia za uzazi wa mpango selected", + "values": [ + "Kondomu ya kiume", + "Kondomu ya kike", + "Vidonge vya kumeza vyenye vichocheo viwili", + "Vidonge vya kumeza vyenye vichocheo kimoja", + "Shanga", + "Uzazi wa dharura" + ], + "keys": [ + "Male condom", + "Female condom", + "COC", + "POP", + "Standard day method", + "Emergency contraceptive" + ], + "openmrs_choice_ids": { + "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "COC": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "POP": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Standard day method": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Emergency contraceptive": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_method_already", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "spinner", + "hint": "Njia za uzazi wa mpango selected", + "values": [ + "Kondomu ya kiume", + "Kondomu ya kike", + "Vidonge vya kumeza vyenye vichocheo viwili", + "Vidonge vya kumeza vyenye vichocheo kimoja", + "Shanga", + "Uzazi wa dharura", + "Sindano", + "Kitanzi", + "Kipandikizi cha miaka 3", + "Kipandikizi cha miaka 5", + "Kufunga kizazi mwanamke", + "Kufunga kizazi mwanamme" + ], + "keys": [ + "Male condom", + "Female condom", + "COC", + "POP", + "Standard day method", + "Emergency contraceptive", + "Injectable", + "IUCD", + "Implanon - NXT", + "Jadelle", + "Female sterilization", + "Male sterilization" + ], + "openmrs_choice_ids": { + "Male condom": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female condom": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "COC": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "POP": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Standard day method": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Emergency contraceptive": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Injectable": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "IUCD": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Implanon - NXT": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Jadelle": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Female sterilization": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Male sterilization": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_method_accepted", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_method_accepted", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + } + ] + }, + "step3": { + "title": "Taarifa ya njia ya uzazi wa mpango", + "fields": [ + { + "key": "ec_note", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Kuhimiza yeye kuchagua njia ya uzazi wa mpango kudumu", + "toaster_info_text": "Kuhimiza yeye kuchagua njia ya uzazi wa mpango kudumu", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "ecp", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ecp", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "no_condoms", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "no_condoms", + "type": "edit_text", + "edit_type": "number", + "hint": "Amepata vipande vya kondpmu vingapi?", + "v_required": { + "value": "true", + "err": "Sawa au kubwa kuliko 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Lazima iwe nambari iliyokamilishwa" + }, + "v_min": { + "value": "0", + "err": "Nambari lazima iwe sawa au kubwa kuliko 0" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_start_condom", + "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_condom", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "no_pillcycles", + "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "edit_type": "number", + "hint": "Amepata saiko ngapi?", + "v_required": { + "value": "true", + "err": "Sawa au kubwa kuliko 0" + }, + "v_numeric_integer": { + "value": "true", + "err": "Lazima iwe nambari iliyokamilishwa" + }, + "v_min": { + "value": "0", + "err": "Nambari lazima iwe sawa au kubwa kuliko 0" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_start_cocpop", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_cocpop", + "type": "date_picker", + "hint": "Je, alianza au anapanga kuanza vidonge vya kumeza vyenye vichocheo viwili au kimoja lini?", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "counselling_use", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "counselling_use", + "type": "spinner", + "hint": "Je, mteja ameshauri jinsi ya kutumia njia za uzazi wa mpango?", + "values": [ + "Ndiyo", + "Hapana" + ], + "keys": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "fp_start_injectable", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "date_picker", + "hint": "Tarehe ya sindano iliyopita", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "next_injection_due_date", + "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "5096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "next_injection_due_date", + "type": "edit_text", + "hint": "Tarehe ya sindano ijayo:", + "read_only": "true", + "value": "0", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + }, + { + "key": "fp_start_iucd", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_iucd", + "type": "date_picker", + "hint": "Tarehe ya kuweka kitanzi", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_implant_nxt", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_implant_nxt", + "type": "date_picker", + "hint": "Tarehe ya kuweka kipandikizi cha miaka 3", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_implant_jad", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_implant_jad", + "type": "date_picker", + "hint": "Tarehe ya kuweka vipandikizi vya miaka 5", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_female_ster", + "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_female_ster", + "type": "date_picker", + "hint": "Tarehe y kufunga kizazi mwanmke", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_start_male_ster", + "openmrs_entity_parent": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept", + "openmrs_entity_id": "fp_start_male_ster", + "type": "date_picker", + "hint": "Tarehe ya kufunga kizazi mwanamume ya mume wake", + "max_date": "today", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Required" + } + }, + { + "key": "fp_male_ster_note", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Shauri yeye kutumia kondomu kwa miezi mitatu kuzuia ujazito", + "toaster_info_text": "Shauri yeye kutumia kondomu kwa miezi mitatu kuzuia ujazito", + "toaster_type": "info", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_relevance.yml" + } + } + } + }, + { + "key": "referral_given", + "type": "native_radio", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_given", + "openmrs_entity_parent": "", + "label": "Rufaa iliyotolewa", + "options": [ + { + "key": "yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Ndiyo" + }, + { + "key": "no", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "", + "text": "Hapana" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua chaguo moja" + } + }, + { + "key": "fp_start_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "163526AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hidden": "true", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "family_planning_registration_calculation.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_fp_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/female_fp_referral_form.json index 10b3991367..4d1da72bf7 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_fp_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/female_fp_referral_form.json @@ -60,7 +60,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "label": "Mbinu ya FP iliyochaguliwa inayohitaji rufaa", + "label": "Njia ya uzazi wa mpango aliyochagua na anaohitaji rufaa", "label_text_style": "bold", "options": [ { @@ -82,28 +82,28 @@ "openmrs_entity": "", "openmrs_entity_id": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "COC" + "text": "Vidonge vya kumeza vyenye vichocheo viwili" }, { "key": "POP", "openmrs_entity": "", "openmrs_entity_id": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "POP" + "text": "Vidonge vya kumeza vyenye vichocheo kimoja" }, { "key": "Standard_day_method", "openmrs_entity": "", "openmrs_entity_id": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Njia ya kawaida ya siku" + "text": "Shanga" }, { "key": "Emergency_contraceptive", "openmrs_entity": "", "openmrs_entity_id": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Uzazi wa mpango wa dharura" + "text": "Uzazi wa dharura" }, { "key": "Injectable", @@ -117,35 +117,35 @@ "openmrs_entity": "", "openmrs_entity_id": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "IUXD" + "text": "Kitanzi" }, { "key": "Implanon_NXT", "openmrs_entity": "", "openmrs_entity_id": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Kitanzi" + "text": "Kipandikizi cha miaka 3" }, { "key": "Jadelle", "openmrs_entity": "", "openmrs_entity_id": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Kijiti" + "text": "Kipandikizi cha miaka 5" }, { "key": "Female_sterilization", "openmrs_entity": "", "openmrs_entity_id": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Kufunga kizazi kwa mwanamke" + "text": "Kufunga kizazi mwanamke" }, { "key": "Male_sterilization", "openmrs_entity": "", "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Kufunga kizazi kwa wanaume" + "text": "Kufunga kizazi mwanamme" }, { "key": "None", @@ -159,12 +159,12 @@ "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Haiusiki" + "text": "Si husika" } ], "v_required": { "value": "true", - "err": "Tafadhali chagua mbinu ya kupanga uzazi" + "err": "Tafadhali chagua chaguo moja" } }, { @@ -173,7 +173,7 @@ "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_entity_parent": "", - "label": "Madhara ya uzazi wa mpango", + "label": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango", "label_text_style": "bold", "exclusive": [ "None", @@ -182,7 +182,7 @@ "options": [ { "key": "Incisional_bleeding", - "text": "Kutokwa na damu kwa mkato", + "text": "Kutokwa damu", "value": false, "openmrs_entity": "", "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -190,7 +190,7 @@ }, { "key": "Pus_Discharge_from_incision", - "text": "Usaha/Kutokwa na chale", + "text": "Kutokwa usaha", "value": false, "openmrs_entity": "", "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -198,7 +198,7 @@ }, { "key": "Swollen_around_the_incision", - "text": "Kuvimba karibu na chale", + "text": "Kuvimba kwenye kidonda", "value": false, "openmrs_entity": "", "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -206,7 +206,7 @@ }, { "key": "Others", - "text": "Nyinginezo", + "text": "Madhara mengineyo", "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -222,7 +222,7 @@ }, { "key": "Not_applicable", - "text": "Haiusiki", + "text": "Si husika", "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -231,7 +231,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhali chagua thamani" + "err": "Tafadhali chagua chaguo moja" }, "relevance": { "rules-engine": { @@ -247,12 +247,12 @@ "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_entity_parent": "", - "label": "Madhara ya uzazi wa mpango", + "label": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango", "label_text_style": "bold", "options": [ { "key": "Severe_pain_inside_the_vagina_after_IUD_was_put_in", - "text": "Maumivu makali ndani ya uke baada ya IUD kuwekwa", + "text": "Maumivu makali ndani ya uke baada kuwekewa kitanzi", "value": false, "openmrs_entity": "", "openmrs_entity_id": "123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -260,7 +260,7 @@ }, { "key": "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in", - "text": "Mimba au maumivu ya mgongo kwa siku chache baada ya kuweka IUD", + "text": "Maumivu ya tumbo au kiuno siku chache baada ya kuwekewa kitanzi", "value": false, "openmrs_entity": "", "openmrs_entity_id": "148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -268,7 +268,7 @@ }, { "key": "Spotting_between_periods_and_or_irregular_periods", - "text": "Kugundua kati ya hedhi na/au hedhi isiyo ya kawaida", + "text": "Hedhi kutofuata mzunguko wa kawaida", "value": false, "openmrs_entity": "", "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -276,7 +276,7 @@ }, { "key": "Heavier_periods_and_worse_menstrual_cramps", - "text": "Hedhi nzito na maumivu makali ya hedhi", + "text": "Kutokwa damu nyingi na maumivu makali wakati wa hedhi", "value": false, "openmrs_entity": "", "openmrs_entity_id": "156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -284,7 +284,7 @@ }, { "key": "IUCD_explusion", - "text": "Kufukuzwa kwa IUD", + "text": "Kufukuzwa kwa kitanzi", "value": false, "openmrs_entity": "", "openmrs_entity_id": "157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -292,7 +292,7 @@ }, { "key": "Others", - "text": "Nyinginezo", + "text": "Madhara mengineyo", "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -308,7 +308,7 @@ }, { "key": "Not_applicable", - "text": "Haiusiki", + "text": "Si husika", "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -317,7 +317,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhali chagua thamani" + "err": "Tafadhali chagua chaguo moja" }, "relevance": { "rules-engine": { @@ -333,12 +333,12 @@ "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_entity_parent": "", - "label": "Madhara ya uzazi wa mpango", + "label": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango ", "label_text_style": "bold", "options": [ { "key": "Insertion_site_infected_pus_discharge", - "text": "Sehemu ya kuingizwa iliyoambukizwa - usaha / kutokwa", + "text": "Kutokwa usaha sehemu alipowekewa kipandikizi", "value": false, "openmrs_entity": "", "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -346,7 +346,7 @@ }, { "key": "Insertion_site_swollen", - "text": "Sehemu iliyopandikizwa imevimba", + "text": "Imevimba sehemu alipowekewa kipandikizi", "value": false, "openmrs_entity": "", "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -354,7 +354,7 @@ }, { "key": "Implant_expulsion", - "text": "Kufukuzwa kwa implant", + "text": "Kipandikizi kimetoka", "value": false, "openmrs_entity": "", "openmrs_entity_id": "144458AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -362,7 +362,7 @@ }, { "key": "Heavy_bleeding", - "text": "Kutokwa na damu nyingi", + "text": "Kutokwa damu nyingi wakati wa hedhi", "value": false, "openmrs_entity": "", "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -370,7 +370,7 @@ }, { "key": "Others", - "text": "Nyinginezo", + "text": "Madhara mengineyo", "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -386,7 +386,7 @@ }, { "key": "Not_applicable", - "text": "Haiusiki", + "text": "Si husika", "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -395,7 +395,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhali chagua " + "err": "Tafadhali chagua chaguo moja" }, "relevance": { "rules-engine": { @@ -411,12 +411,12 @@ "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_entity_parent": "", - "label": "Madhara ya uzazi wa mpango", + "label": "Madhara/maudhi yatokanayo na njia za uzazi wa mpango", "label_text_style": "bold", "options": [ { "key": "Heavy_bleeding_", - "text": "Kutokwa na damu nyingi", + "text": "Kutokwa damu nyingi wakati wa hedhi", "value": false, "openmrs_entity": "", "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -424,7 +424,7 @@ }, { "key": "Irregular_periods", - "text": "Vipindi visivyo vya kawaida", + "text": "Kutopangiliwa kwa mzunguko wa hedhi", "value": false, "openmrs_entity": "", "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -432,7 +432,7 @@ }, { "key": "Others", - "text": "Nyinginezo", + "text": "Madhara mengineyo", "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -448,7 +448,7 @@ }, { "key": "Not_applicable", - "text": "Haiusiki", + "text": "Si husika", "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -457,7 +457,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhali chagua " + "err": "Tafadhali chagua chaguo moja" }, "relevance": { "rules-engine": { @@ -488,10 +488,10 @@ "openmrs_entity": "concept", "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "hint": "Madhara mengine", + "hint": "Madhara mengineyo", "v_required": { "value": "true", - "err": "Tafadhali bainisha madhara mengine" + "err": "Tafadhali andika aadhara mengineyo" }, "relevance": { "rules-engine": { @@ -500,8 +500,7 @@ } } } - }, - { + },{ "key": "referral_date_fp", "openmrs_entity_parent": "", "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json deleted file mode 100644 index 422939db15..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit.json +++ /dev/null @@ -1,1055 +0,0 @@ -{ - "form": "CBHS Follow-up form", - "count": "1", - "encounter_type": "CBHS Followup", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_followup_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Fomu ya kumtembelea mgonjwa wa VVU", - "fields": [ - { - "name": "registration_or_followup_status", - "type": "spinner", - "properties": { - "text": "Hali ya usajili/ ufuatiliaji" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registration_or_followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "new_client", - "text": "Mpya", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "new_client", - "openmrs_entity_parent": "" - } - }, - { - "name": "continuing_with_services", - "text": "Anaendelea na Huduma.", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Amefariki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Hapatikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Amehamishiwa mahali pengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Amehama", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Amejitoa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Anaendelea na huduma kutoka sehemu nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - }, - { - "name": "completed_and_qualified_from_the_services", - "text": "Amemaliza huduma", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_and_qualified_from_the_services", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua hali ya ufwatiliaji", - "dependent_calculations": [ - "hiv_followup_visit_date" - ] - }, - { - "name": "client_hiv_status_after_testing", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_after_testing", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya maambukizi ya VVU baada ya kipimo" - }, - "options": [ - { - "name": "na", - "text": "Haitambuliki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "unknown", - "text": "Haijulikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Chanya", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Hasi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua moja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya CTC mfano: 12-34-5678-912345", - "type": "Namba ya CTC mfano: 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." - } - ], - "required_status": "yes:Tafadhali jaza namba ya CTC", - "subjects": "client_hiv_status_after_testing:text" - }, - { - "name": "client_condition", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_condition", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya mteja" - }, - "options": [ - { - "name": "client_does_her_daily_activities", - "text": "Anaweza kufanya shughuli zake za kila siku", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_does_her_daily_activities", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_takes_care_of_himself", - "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa) ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_takes_care_of_himself", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_is_unable_to_take_care_of_himself", - "text": "Hajimudu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua hali ya mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "pain", - "text": "Maumivu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "pain", - "openmrs_entity_parent": "" - } - }, - { - "name": "coughing", - "text": "kukohoa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "coughing", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_health_problems", - "text": "Matatizo mengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_health_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "hana tatizo", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Matatizo mengine ya kitabibu ya Mteja", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_problem_other", - "openmrs_entity_parent": "health_problem" - }, - "required_status": "true:Tafadhali jaza matatizo mengine", - "subjects": "health_problem:map" - }, - { - "name": "social_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem" - }, - "options": [ - { - "name": "malnutrition", - "text": "Matatizo ya lishe", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", - "openmrs_entity_parent": "" - } - }, - { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "kushindwa kutimiza ratiba ya CTC", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", - "openmrs_entity_parent": "" - } - }, - { - "name": "transport_issues_for_attending_ctc", - "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "transport_issues_for_attending_ctc", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_social_problems", - "text": "Matatizo mengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_social_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "hana tatizo", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "social_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Matatizo mengine ya kijamii ya Mteja", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem_other", - "openmrs_entity_parent": "social_problem" - }, - "required_status": "true:Tafadhali jaza matatizo mengine", - "subjects": "social_problem:map" - }, - { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Tabia na mazingira hatarishi ya mteja" - }, - "options": [ - { - "name": "na", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Mlevi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_multiple_sexual_partners", - "text": "Ana wapenzi wengi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_multiple_sexual_partners", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_sexual_relations_with_different_peers", - "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_sexual_relations_with_different_peers", - "openmrs_entity_parent": "" - } - }, - { - "name": "people_who_inject_drugs", - "text": "Wajidunga", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "people_who_inject_drugs", - "openmrs_entity_parent": "" - } - }, - { - "name": "sex_workers", - "text": "Wanaofanya biashara ya ngono", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining_workers", - "text": "Wachimba madini", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "truck_drivers ", - "text": "Madereva wa masafa marefu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "truck_drivers", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Vifaa vilivyotolewa" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "soap", - "text": "Sabuni", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "soap", - "openmrs_entity_parent": "" - } - }, - { - "name": "mosquito_nets", - "text": "Chandarua", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", - "openmrs_entity_parent": "" - } - }, - { - "name": "bed_sheets", - "text": "Mashuka", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", - "openmrs_entity_parent": "" - } - }, - { - "name": "water_disinfectant", - "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", - "openmrs_entity_parent": "" - } - }, - { - "name": "condoms", - "text": "Kondomu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_supplies", - "text": "Vifaa vingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_supplies", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua kifaa/vifaa vilivyotolewa", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Vifaa vingine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided_other", - "openmrs_entity_parent": "supplies_provided" - }, - "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", - "subjects": "supplies_provided:map" - }, - { - "name": "medicine_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Dawa zilizotolewa" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", - "openmrs_entity_parent": "" - } - }, - { - "name": "aspirin", - "text": "Aspirini", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Dawa Nyinginezo", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose medicine given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Dawa nyingine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", - "subjects": "medicine_provided:map" - }, - { - "name": "hiv_services_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "nutrition_counselling", - "text": "Ushauri wa lishe", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", - "openmrs_entity_parent": "" - } - }, - { - "name": "hiv_infection_education", - "text": "Elimu kuhusu maambukizi ya VVU", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", - "openmrs_entity_parent": "" - } - }, - { - "name": "preliminary_testing", - "text": "Upimaji wa awali", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", - "openmrs_entity_parent": "" - } - }, - { - "name": "psychological_counseling", - "text": "Ushauri wa kisaikolojia", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", - "openmrs_entity_parent": "" - } - }, - { - "name": "house_cleanliness", - "text": "Usafi wa nyumba", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", - "openmrs_entity_parent": "" - } - }, - { - "name": "health_care", - "text": "Huduma za afya", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", - "openmrs_entity_parent": "" - } - }, - { - "name": "medical_services", - "text": "Huduma za tiba", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_hiv_services", - "text": "Huduma nyingine za UKIMWI katika jamii", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_hiv_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hamna huduma iliyotolewa", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "hiv_services_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided_other", - "openmrs_entity_parent": "hiv_services_provided" - }, - "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", - "subjects": "hiv_services_provided:map" - }, - { - "name": "referrals_issued_to_other_services", - "type": "multi_choice_checkbox", - "properties": { - "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services" - }, - "options": [ - { - "name": "legal_services", - "text": "Huduma ya kisheria", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Msaada wa kisaikolojia kutoka kwenye makundi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Vituo vya wazee", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Rufaa nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals issued", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_issued_to_other_services_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Rufaa nyingine zilizotolewa", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services_other", - "openmrs_entity_parent": "referrals_issued_to_other_services" - }, - "required_status": "true:Please specify other Referrals Issued", - "subjects": "referrals_issued_to_other_services:map" - }, - { - "name": "referrals_to_other_services_completed", - "type": "multi_choice_checkbox", - "properties": { - "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed" - }, - "options": [ - { - "name": "legal_services", - "text": "Huduma ya kisheria", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Msaada wa kisaikolojia kutoka kwenye makundi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Vituo vya wazee", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Rufaa nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals completed", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_to_other_services_completed_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Rufaa nyingine zilizokamilishwa na mteja", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed_other", - "openmrs_entity_parent": "referrals_to_other_services_completed" - }, - "required_status": "true:Please specify other Referrals Completed", - "subjects": "referrals_to_other_services_completed:map" - }, - { - "name": "state_of_therapy", - "type": "spinner", - "properties": { - "text": "Hali ya Tiba na Matunzo (CTC)" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "na", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_but_not_began_medication", - "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_but_not_began_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_and_uses_medication", - "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_and_uses_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "not_registered_in_ctc_clinic", - "text": "Hajaandikishwa CTC/PMTCT", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "not_registered_in_ctc_clinic", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location", - "type": "spinner", - "properties": { - "text": "Chagua alipohamia", - "searchable": "Chagua alipohamia" - }, - "options": [ - { - "name": "Other", - "text": "Other", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "Other", - "openmrs_entity_parent": "" - } - } - ], - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Tafadhali chagua sehemu alipohamia", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Andika alipohamia", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Tafadhali andika alipohamia", - "subjects": "client_moved_location:text" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json deleted file mode 100644 index e18ded93ce..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ /dev/null @@ -1,961 +0,0 @@ -{ - "form": "CBHS Follow-up form", - "count": "1", - "encounter_type": "CBHS Followup", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_followup_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Fomu ya kumtembelea mgonjwa wa VVU", - "fields": [ - { - "name": "registration_or_followup_status", - "type": "spinner", - "properties": { - "text": "Hali ya usajili/ ufuatiliaji" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registration_or_followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "new_client", - "text": "Mpya", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "new_client", - "openmrs_entity_parent": "" - } - }, - { - "name": "continuing_with_services", - "text": "Anaendelea na Huduma.", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Amefariki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Hapatikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Amehamishiwa mahali pengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Amehama", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Amejitoa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Anaendelea na huduma kutoka sehemu nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - }, - { - "name": "completed_and_qualified_from_the_services ", - "text": "Amemaliza huduma", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_and_qualified_from_the_services", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua hali ya ufuatiliaji", - "dependent_calculations": [ - "hiv_followup_visit_date" - ] - }, - { - "name": "client_condition", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_condition", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya mteja" - }, - "options": [ - { - "name": "client_does_her_daily_activities", - "text": "Anaweza kufanya shughuli zake za kila siku", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_does_her_daily_activities", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_takes_care_of_himself", - "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa) ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_takes_care_of_himself", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_is_unable_to_take_care_of_himself", - "text": "Hajimudu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua hali ya mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "pain", - "text": "Maumivu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "pain", - "openmrs_entity_parent": "" - } - }, - { - "name": "coughing", - "text": "kukohoa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "coughing", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_health_problems", - "text": "Matatizo mengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_health_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hana tatizo", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Matatizo mengine ya kitabibu ya Mteja", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_problem_other", - "openmrs_entity_parent": "health_problem" - }, - "required_status": "true:Tafadhali jaza matatizo mengine", - "subjects": "health_problem:map" - }, - { - "name": "social_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem" - }, - "options": [ - { - "name": "malnutrition", - "text": "Matatizo ya lishe", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", - "openmrs_entity_parent": "" - } - }, - { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "kushindwa kutimiza ratiba ya CTC", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", - "openmrs_entity_parent": "" - } - }, - { - "name": "transport_issues_for_attending_ctc", - "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "transport_issues_for_attending_ctc", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_social_problems", - "text": "Matatizo mengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_social_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hana tatizo", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "social_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Matatizo mengine ya kijamii ya Mteja", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem_other", - "openmrs_entity_parent": "social_problem" - }, - "required_status": "true:Tafadhali jaza matatizo mengine", - "subjects": "social_problem:map" - }, - { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Tabia na mazingira hatarishi ya mteja" - }, - "options": [ - { - "name": "na", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Mlevi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_multiple_sexual_partners", - "text": "Ana wapenzi wengi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_multiple_sexual_partners", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_sexual_relations_with_different_peers", - "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_sexual_relations_with_different_peers", - "openmrs_entity_parent": "" - } - }, - { - "name": "people_who_inject_drugs", - "text": "Wajidunga", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "people_who_inject_drugs", - "openmrs_entity_parent": "" - } - }, - { - "name": "sex_workers", - "text": "Wanaofanya biashara ya ngono", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining_workers", - "text": "Wachimba madini", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "truck_drivers ", - "text": "Madereva wa masafa marefu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "truck_drivers", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Vifaa vilivyotolewa" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "soap", - "text": "Sabuni", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "soap", - "openmrs_entity_parent": "" - } - }, - { - "name": "mosquito_nets", - "text": "Chandarua", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", - "openmrs_entity_parent": "" - } - }, - { - "name": "bed_sheets", - "text": "Mashuka", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", - "openmrs_entity_parent": "" - } - }, - { - "name": "water_disinfectant", - "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", - "openmrs_entity_parent": "" - } - }, - { - "name": "condoms", - "text": "Kondomu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_supplies", - "text": "Vifaa vingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_supplies", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua kifaa/vifaa vilivyotolewa", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Vifaa vingine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided_other", - "openmrs_entity_parent": "supplies_provided" - }, - "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", - "subjects": "supplies_provided:map" - }, - { - "name": "medicine_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Dawa zilizotolewa" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", - "openmrs_entity_parent": "" - } - }, - { - "name": "aspirin", - "text": "Aspirini", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Dawa Nyinginezo", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose medicine given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Dawa nyingine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", - "subjects": "medicine_provided:map" - }, - { - "name": "hiv_services_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "nutrition_counselling", - "text": "Ushauri wa lishe", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", - "openmrs_entity_parent": "" - } - }, - { - "name": "hiv_infection_education", - "text": "Elimu kuhusu maambukizi ya VVU", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", - "openmrs_entity_parent": "" - } - }, - { - "name": "preliminary_testing", - "text": "Upimaji wa awali", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", - "openmrs_entity_parent": "" - } - }, - { - "name": "psychological_counseling", - "text": "Ushauri wa kisaikolojia", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", - "openmrs_entity_parent": "" - } - }, - { - "name": "house_cleanliness", - "text": "Usafi wa nyumba", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", - "openmrs_entity_parent": "" - } - }, - { - "name": "health_care", - "text": "Huduma za afya", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", - "openmrs_entity_parent": "" - } - }, - { - "name": "medical_services", - "text": "Huduma za tiba", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_hiv_services", - "text": "Huduma nyingine za UKIMWI katika jamii", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_hiv_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hamna huduma iliyotolewa", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "hiv_services_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided_other", - "openmrs_entity_parent": "hiv_services_provided" - }, - "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", - "subjects": "hiv_services_provided:map" - }, - { - "name": "referrals_issued_to_other_services", - "type": "multi_choice_checkbox", - "properties": { - "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services" - }, - "options": [ - { - "name": "legal_services", - "text": "Huduma ya kisheria", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Msaada wa kisaikolojia kutoka kwenye makundi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Vituo vya wazee", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Rufaa nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals issued", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_issued_to_other_services_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Rufaa nyingine zilizotolewa", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services_other", - "openmrs_entity_parent": "referrals_issued_to_other_services" - }, - "required_status": "true:Please specify other Referrals Issued", - "subjects": "referrals_issued_to_other_services:map" - }, - { - "name": "referrals_to_other_services_completed", - "type": "multi_choice_checkbox", - "properties": { - "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed" - }, - "options": [ - { - "name": "legal_services", - "text": "Huduma ya kisheria", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Msaada wa kisaikolojia kutoka kwenye makundi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Vituo vya wazee", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Rufaa nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals completed", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_to_other_services_completed_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Rufaa nyingine zilizokamilishwa na mteja", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed_other", - "openmrs_entity_parent": "referrals_to_other_services_completed" - }, - "required_status": "true:Please specify other Referrals Completed", - "subjects": "referrals_to_other_services_completed:map" - }, - { - "name": "state_of_therapy", - "type": "spinner", - "properties": { - "text": "Hali ya Tiba na Matunzo (CTC)" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "registered_but_not_began_medication", - "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_but_not_began_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_and_uses_medication", - "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_and_uses_medication", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location", - "type": "spinner", - "properties": { - "text": "Chagua alipohamia", - "searchable": "Chagua alipohamia" - }, - "options": [ - { - "name": "Other", - "text": "Other", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "Other", - "openmrs_entity_parent": "" - } - } - ], - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Tafadhali chagua sehemu alipohamia", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Andika alipohamia", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Tafadhali andika alipohamia", - "subjects": "client_moved_location:text" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json deleted file mode 100644 index 0a532ebf87..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/female_hiv_registration.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "form": "HIV Registration form", - "count": "1", - "encounter_type": "CBHS Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Usajili wa wateja wa VVU", - "fields": [ - { - "name": "cbhs_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya HUWANYU mfano: 1234/56/78/912", - "type": "Namba ya HUWANYU mfano: 1234/56/78/912", - "mask": "####/##/##/###", - "mask_hint": "12345678912", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cbhs_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", - "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." - } - ], - "required_status": "yes:Tafadhali weka namba ya HUWANYU" - }, - { - "name": "client_hiv_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya maambukizo ya VVU wakati wa kuandikishwa" - }, - "options": [ - { - "name": "unknown", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Ana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Hana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "dependent_calculations": [ - "hiv_registration_date" - ] - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya CTC mfano: 12-34-5678-912345", - "type": "Namba ya CTC mfano: 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." - } - ], - "subjects": "client_hiv_status_during_registration:text" - }, - { - "name": "tb_number", - "type": "text_input_edit_text", - "properties": { - "hint": "TB ID", - "type": "TB Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "rch_number", - "type": "text_input_edit_text", - "properties": { - "hint": "RCH ID", - "type": "RCH Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "rch_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "mat_number", - "type": "text_input_edit_text", - "properties": { - "hint": "MAT ID", - "type": "MAT Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mat_number", - "openmrs_entity_parent": "" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_counsel.json b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_counsel.json index 9791fb642a..1b89ff52eb 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_counsel.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_counsel.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Counselling", + "title": "Ushauri", "fields": [ { "key": "fp_counselling", @@ -55,28 +55,29 @@ "openmrs_entity": "concept", "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "label": "Je, mteja alipokea ushauri wowote wa uzazi wa mpango?", + "label": "Je, anapata ushauri wowote wa uzazi wa mpango?", "options": [ { "key": "yes", "openmrs_entity": "concept", "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Ndiyo " + "text": "Yes" }, { "key": "no", "openmrs_entity": "concept", "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Hapana" + "text": "No" } ], "v_required": { "value": "true", - "err": "Sehemu hii haiwezi kuachwa wazi" + "err": "Thamani hii haiwezi kuwa laini" } } + ] } } \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_resupply.json b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_resupply.json index eca3923d50..5216d41f12 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_resupply.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_resupply.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Re-supply or Next Health Facility Visit", + "title": "Kujaza tena au mara ya kwenda kituo cha afya tena", "fields": [ { "key": "fp_method", @@ -64,10 +64,10 @@ "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "edit_type": "number", - "hint": "Je, aipewa kondomu ngapi?", + "hint": "Amepata vipande vya kondpmu vingapi?", "v_required": { "value": "true", - "err": "Sehemu hii hawezi kuachwa wazi" + "err": "this value cannot be null" }, "v_numeric_integer": { "value": "true", @@ -88,10 +88,10 @@ "openmrs_entity_id": "163171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "edit_type": "number", - "hint": "Je, alipewa mizunguko mingapi ya vidonge?", + "hint": "Amepata saiko ngapi?", "v_required": { "value": "true", - "err": "Sehemu hii hawezi kuachwa wazi" + "err": "this value cannot be null" }, "v_numeric_integer": { "value": "true", @@ -111,7 +111,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "162881AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", - "hint": "Tarehe ya sindano ya mwisho", + "hint": "Tarehe ya sindano iliyopita", "expanded": false, "duration": { "label": "last injection" @@ -120,7 +120,7 @@ "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhali tarehe ya sindano ya mwisho" + "err": "Tarehe ya sindano iliyopita" }, "relevance": { "rules-engine": { @@ -136,7 +136,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "", "type": "toaster_notes", - "text": "Date of next injection: {fp_refill_injectable}", + "text": "Tarehe ya sindano ijayo: {fp_refill_injectable}", "text_color": "#1199F9", "toaster_type": "info", "relevance": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_side_effects.json b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_side_effects.json index 0b63d0bdaa..84571faecc 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_side_effects.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/fp_followup_side_effects.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Side Effects", + "title": "Madhara", "fields": [ { "key": "fp_method", @@ -65,7 +65,7 @@ "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "values": [ "Athari za mzio", - "Nyingine", + "Madhara mengineyo", "Hakuna" ], "keys": [ @@ -78,10 +78,10 @@ "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - "hint": "Je, anakabiliwa na madhara yoyote?", + "hint": "Je, ni madhara gani ambayo yeye amepata tangu kutumia kondom?", "v_required": { "value": "true", - "err": "Sehemu hii hawezi kuachwa wazi" + "err": "Thamani hii haiwezi kuwa laini" }, "relevance": { "rules-engine": { @@ -98,10 +98,10 @@ "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "190AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "edit_type": "name", - "hint": "Zingine", + "hint": "Madhara mengineyo:", "v_required": { "value": "true", - "err": "Sehemu hii hawezi kuachwa wazi" + "err": "Thamani hii haiwezi kuwa laini" }, "relevance": { "rules-engine": { @@ -118,9 +118,9 @@ "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "values": [ - "Kutokwa sana kwa damu", - "Vipindi vya hedhi visivyo vya kawaida", - "Nyingine", + "Kutokwa damu nyingi wakati wa hedhi", + "Kutopangiliwa kwa mzunguko wa hedhi", + "Madhara mengineyo", "Hakuna" ], "keys": [ @@ -135,10 +135,10 @@ "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - "hint": "Je, anakabiliwa na madhara yoyote?", + "hint": "Je, ni madhara gani ambayo yeye amepata tangu kutumia vidonge vya kumeza vyenye vichocheo viwili/kimoja?", "v_required": { "value": "true", - "err": "Sehemu hii hawezi kuachwa wazi" + "err": "Thamani hii haiwezi kuwa laini" }, "relevance": { "rules-engine": { @@ -155,10 +155,10 @@ "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "5274AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "edit_type": "name", - "hint": "Zingine", + "hint": "Madhara mengineyo:", "v_required": { "value": "true", - "err": "Sehemu hii hawezi kuachwa wazi" + "err": "Thamani hii haiwezi kuwa laini" }, "relevance": { "rules-engine": { @@ -175,9 +175,9 @@ "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "values": [ - "Kutokwa sana kwa damu", - "Vipindi vya hedhi visivyo vya kawaida", - "Nyingine", + "Kutokwa damu nyingi wakati wa hedhi", + "Kutopangiliwa kwa mzunguko wa hedhi", + "Madhara mengineyo", "Hakuna" ], "keys": [ @@ -192,10 +192,10 @@ "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - "hint": "Je, anakabiliwa na madhara yoyote?", + "hint": "Je, ni madhara gani ambayo yeye amepata tangu kutumia sindano?", "v_required": { "value": "true", - "err": "Sehemu hii hawezi kuachwa wazi" + "err": "Thamani hii haiwezi kuwa laini" }, "relevance": { "rules-engine": { @@ -212,10 +212,10 @@ "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "edit_type": "name", - "hint": "Zingine", + "hint": "Madhara mengineyo:", "v_required": { "value": "true", - "err": "Sehemu hii hawezi kuachwa wazi" + "err": "Thamani hii haiwezi kuwa laini" }, "relevance": { "rules-engine": { @@ -232,12 +232,12 @@ "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "values": [ - "Maumivu makali ndani ya uke baada ya IUD kuwekwa", - "Kukaza au maumivu ya mgongo kwa siku chache baada ya kuweka IUD", - "Kugundua kati ya hedhi na/au hedhi isiyo ya kawaida", - "Hedhi nzito na maumivu makali ya hedhi", - "kutokw kwa IUD", - "Nyingine", + "Maumivu makali ndani ya uke baada kuwekewa kitanzi", + "Maumivu ya tumbo au kiuno siku chache baada ya kuwekewa kitanzi", + "Hedhi kutofuata mzunguko wa kawaida", + "Kutokwa damu nyingi na maumivu makali wakati wa hedhi", + "Kufukuzwa kwa kitanzi", + "Madhara mengineyo", "Hakuna" ], "keys": [ @@ -258,10 +258,10 @@ "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - "hint": "Je, anakabiliwa na madhara yoyote?", + "hint": "Je, ni madhara gani ambayo yeye amepata tangu kutumia kitanzi?", "v_required": { "value": "true", - "err": "Sehemu hii hawezi kuachwa wazi" + "err": "Thamani hii haiwezi kuwa laini" }, "relevance": { "rules-engine": { @@ -278,10 +278,10 @@ "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "edit_type": "name", - "hint": "Zingine", + "hint": "Madhara mengineyo:", "v_required": { "value": "true", - "err": "Sehemu hii hawezi kuachwa wazi" + "err": "Thamani hii haiwezi kuwa laini" }, "relevance": { "rules-engine": { @@ -298,10 +298,10 @@ "openmrs_entity_id": "165273AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "values": [ - "Kutokwa na damu katika eneo lililochanwa", - "Usaha/Majimaji kutoka kwenye eneo lililochanwa", - "Kuvimba eneo linalozunguka mchano", - "Nyingine", + "Kutokwa damu", + "Kutokwa usaha", + "Kuvimba kwenye kidonda", + "Madhara mengineyo", "Hakuna" ], "keys": [ @@ -318,10 +318,10 @@ "Others": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "None": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - "hint": "Je, anakabiliwa na madhara yoyote?", + "hint": "Je, ni madhara gani ya yeye ambayo mteja amepata kufunga kizazi?", "v_required": { "value": "true", - "err": "Sehemu hii hawezi kuachwa wazi" + "err": "Thamani hii haiwezi kuwa laini" }, "relevance": { "rules-engine": { @@ -338,10 +338,10 @@ "openmrs_entity_id": "164377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "edit_type": "name", - "hint": "Zingine", + "hint": "Madhara mengineyo:", "v_required": { "value": "true", - "err": "Sehemu hii hawezi kuachwa wazi" + "err": "Thamani hii haiwezi kuwa laini" }, "relevance": { "rules-engine": { @@ -357,33 +357,33 @@ "openmrs_entity": "concept", "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "label": "Action taken", + "label": "Hatua zilizochukuliwa", "options": [ { "key": "managed", "openmrs_entity": "concept", "openmrs_entity_id": "140959AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Managed" + "text": "Alisimamia" }, { "key": "referred", "openmrs_entity": "concept", "openmrs_entity_id": "1648AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Referred" + "text": "Alimkupata rufaa" }, { "key": "no_action_taken", "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "No action taken" + "text": "Hajafanya chochote" } ], "v_required": { "value": "true", - "err": "This value cannot be null" + "err": "Thamani hii haiwezi kuwa laini" }, "relevance": { "rules-engine": { @@ -392,6 +392,7 @@ } } } + } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json deleted file mode 100644 index a0a2895579..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_community_followup_feedback.json +++ /dev/null @@ -1,185 +0,0 @@ -{ - "form": "HIV Community Followup Feedback", - "count": "1", - "encounter_type": "HIV Community Followup Feedback", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_community_followup_feedback_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Fomu ya mrejesho wa ufuatiliaji wa mteja mwenye VVU", - "fields": [ - { - "name": "followup_status", - "type": "spinner", - "properties": { - "text": "Maoni kuhusu ziara ya ufuatiliaji" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "continuing_with_services", - "text": "Anaendelea na Huduma.", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Amefariki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Hapatikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Amehamishiwa mahali pengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Amehama", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Amejitoa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Anaendelea na huduma kutoka sehemu nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please select followup feedback", - "dependent_calculations": [ - "hiv_community_followup_visit_date" - ] - }, - { - "name": "client_moved_location", - "type": "spinner", - "properties": { - "text": "Chagua jina la kituo alipohamia", - "searchable": "Chagua jina la kituo alipohamia" - }, - "options": [ - { - "name": "Other", - "text": "Nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "Other", - "openmrs_entity_parent": "" - } - } - ], - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Tafadhali chagua jina la kituo alipohamia", - "subjects": "followup_status:text" - }, - { - "name": "client_moved_location_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Jaza jina la eneo alipohamia", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Tafadhali jaza jina la eneo alipohamia", - "subjects": "client_moved_location:text" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json b/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json deleted file mode 100644 index 8bc3735c25..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/hiv_index_contact_followup.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "form": "HIV Index Contact CHW Followup", - "count": "1", - "encounter_type": "HIV Index Contact CHW Followup", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_index_contact_followup_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Ufuatiliaji wa mshirika wa kingono", - "fields": [ - { - "name": "has_the_contact_client_been_found", - "type": "radio_group", - "properties": { - "text": "Je, umefanikiwa kumpata mshirika wa kingono?" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_the_contact_client_been_found", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "yes", - "text": "Ndio", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "yes", - "openmrs_entity_parent": "" - } - }, - { - "name": "no", - "text": "Hapana", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "no", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua jibu moja wapo", - "dependent_calculations": [ - "client_followed_up_by_chw" - ] - }, - { - "name": "has_the_client_agreed_to_be_tested", - "type": "radio_group", - "properties": { - "text": "Je, mteja huyu amekubali kupimwa VVU?" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_the_client_agreed_to_be_tested", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "yes", - "text": "Ndio", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "yes", - "openmrs_entity_parent": "" - } - }, - { - "name": "no", - "text": "Hapana", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "no", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua jibu moja wapo", - "subjects": "has_the_contact_client_been_found:map" - }, - { - "name": "place_where_test_will_be_conducted", - "type": "radio_group", - "properties": { - "text": "Je, ni sehemu gani mteja huyu amekubali kwenda kupimwa VVU?" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "place_where_test_was_conducted", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "facility", - "text": "Kwenye kituo cha kutolea huduma za afya", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "facility", - "openmrs_entity_parent": "" - } - }, - { - "name": "community", - "text": "Kwenye ngazi ya jamii", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "community", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua jibu moja wapo", - "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map" - }, - { - "name": "toast_give_a_referral_to_the_client", - "type": "toast_notification", - "properties": { - "notification_type": "info", - "dismissible": "no", - "title": "Mteja anatakiwa apewe rufaa kwenda kituoni", - "text": "Mteja anatikwa apewe rufaa ya kwenda kituoni kwa ajili ya kupima VVU \nTafadhali mpe rufaa", - "background_color": "#f50424", - "text_color": "#FFFFFF" - }, - "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map, place_where_test_will_be_conducted:map" - }, - { - "name": "chw_comment", - "type": "text_input_edit_text", - "properties": { - "hint": "Maoni" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "chw_comment", - "openmrs_entity_parent": "" - }, - "required_status": "false" - } - ] - } - ] -} - diff --git a/opensrp-chw/src/ba/assets/json.form-sw/in_app_monthly_tallies_report.json b/opensrp-chw/src/ba/assets/json.form-sw/in_app_monthly_tallies_report.json index 2b19a1ef7e..a364f4417d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/in_app_monthly_tallies_report.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/in_app_monthly_tallies_report.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Monthly Tallies", + "title": "Misaada ya kila mwezi", "fields": [ { "key": "indicator_code", @@ -55,7 +55,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "indicator_code", "type": "edit_text", - "hint": "Msimbo wa kiashiria", + "hint": "Nambari ya kiashiria", "value": "" }, { @@ -91,7 +91,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "created_at", "type": "edit_text", - "hint": "Imeundwa saa", + "hint": "Imeundwa kwa", "value": "" }, { @@ -100,7 +100,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "value", "type": "edit_text", - "hint": "Ilisasishwa saa", + "hint": "Imesasishwa kwa", "value": "" } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/malaria_confirmation.json b/opensrp-chw/src/ba/assets/json.form-sw/malaria_confirmation.json index 8b0024ec58..ca1637737a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/malaria_confirmation.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/malaria_confirmation.json @@ -53,7 +53,7 @@ } }, "step1": { - "title": "Malaria Confirmation", + "title": "Uhakiki wa Malaria", "next": "step2", "fields": [ { @@ -85,13 +85,13 @@ "openmrs_entity": "concept", "openmrs_entity_id": "fever_malaria_chw", "type": "native_radio", - "label": "Je mteja huyu ana Homa au amepimwa kwenye Kituo cha Afya na akakutwa na Malaria?", + "label": "Je, mteja ana homa au aligunduliwa kuwa na malaria ndani ya siku 14 katika kituo cha afya?", "label_text_style": "bold", "text_color": "#000000", "options": [ { "key": "has_fever", - "text": "Ana Homa", + "text": "Ana homa", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "has_fever", @@ -99,7 +99,7 @@ }, { "key": "tested_positive_last_14_days", - "text": "Amepimwa kwenye Kituo cha Afya na Amekutwa na Malaria ndani siku 14", + "text": "Alikuwa na malaria ndani ya siku 14", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tested_positive_last_14_days", @@ -108,7 +108,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhari mojawapo kati ya haya:" + "err": "Tafadhali chagua chaguo moja" } }, { @@ -117,10 +117,14 @@ "openmrs_entity": "concept", "openmrs_entity_id": "1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", - "hint": "Umekuwa na Homa kwa muda gani?", + "hint": "Umekuwa na homa kwa muda gani?", "values": [ - "Chini ya masaa 24", - "Zaidi ya Masaa 24" + "Ndani ya saa 24", + "Zaidi ya saa 24" + ], + "keys": [ + "Less than 24 hrs", + "More than 24 hrs" ], "openmrs_choice_ids": { "Less than 24 hrs": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -128,7 +132,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhari changua moja:" + "err": "Tafadhali chagua chaguo moja" }, "relevance": { "rules-engine": { @@ -144,14 +148,18 @@ "openmrs_entity": "concept", "openmrs_entity_id": "malaria_test_done", "type": "spinner", - "hint": "Je kipimo cha Malaria kimefanyika?", + "hint": "Kipimo cha malaria kimefanyika?", "values": [ "Hapana", - "Ndio, kimefanywa na mtoa huduma ngazi ya jamii" + "Ndiyo, kwa WAJA" + ], + "keys": [ + "No", + "Yes, by the CHW" ], "v_required": { "value": "true", - "err": "Tafadhari chagua mojawapo:" + "err": "Tafadhali chagua chaguo moja" }, "relevance": { "rules-engine": { @@ -172,13 +180,17 @@ "Chanya", "Hasi" ], + "keys": [ + "Positive", + "Negative" + ], "openmrs_choice_ids": { "Positive": "703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Negative": "664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", - "err": "Tafadhari chagua mojawapo:" + "err": "Tafadhali chagua chaguo moja" }, "relevance": { "rules-engine": { @@ -194,12 +206,12 @@ "openmrs_entity": "concept", "openmrs_entity_id": "date_hf_malaria_test", "type": "date_picker", - "hint": "Tarehe ya kipimo cha Malaria kwenye Kituo cha Afya", + "hint": "Tarehe ya kipimo cha malaria katika kituo cha afya", "expanded": false, "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhari Ingiza tarehe ya kipimo cha Malaria katika Kituo cha Afya" + "err": "Tafadhali ingiza tarehe ya majaribio ya ugonjwa wa malaria katika kituo cha afya" }, "relevance": { "rules-engine": { @@ -245,15 +257,23 @@ "openmrs_entity": "concept", "openmrs_entity_id": "malaria_treat", "type": "spinner", - "hint": "Matibabu aliyopatiwa", + "hint": "Matibabu aliyopewa", "values": [ - "MSETO vidonge 6", - "MSETO vidonge 12", - "MSETO vidonge 18", - "MSETO vidonge 24", - "Hakupatiwa ", + "ALU 6", + "ALU 12", + "ALU 18", + "ALU 24", + "Hajapewa", "Matibabu mengine" ], + "keys": [ + "ALU 6", + "ALU 12", + "ALU 18", + "ALU 24", + "Not given", + "Other treatment" + ], "openmrs_choice_ids": { "ALU 6": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "ALU 12": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -264,7 +284,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhari chagua mojawapo" + "err": "Tafadhali chagua chaguo moja" }, "relevance": { "rules-engine": { @@ -280,8 +300,8 @@ "openmrs_entity": "concept", "openmrs_entity_id": "", "type": "toaster_notes", - "text": "Tafadhari mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria", - "toaster_info_text": "Tafadhari mpe rufaa mteja kwenye kituo cha afya kwa ajili ya kipimo cha Malaria", + "text": "Tafadhali mpe rufaa kwa kipimo cha malaria", + "toaster_info_text": "Tafadhali mpe rufaa kwa kipimo cha malaria", "toaster_type": "info", "relevance": { "rules-engine": { @@ -294,7 +314,7 @@ ] }, "step2": { - "title": "Malaria Prevention", + "title": "Kuzuia Malaria", "fields": [ { "key": "fam_llin", @@ -302,18 +322,22 @@ "openmrs_entity": "concept", "openmrs_entity_id": "fam_llin", "type": "spinner", - "hint": "Je una Chandarua kiliwekea viwatilifu ya muda mrefu?", + "hint": "Ana chandarua chenye viuwatilifu?", "values": [ - "Ndio", + "Ndiyo", "Hapana" ], + "keys": [ + "Yes", + "No" + ], "openmrs_choice_ids": { "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", - "err": "Tafadhari chagua mojawapo" + "err": "Tafadhali chagua chaguo moja" } }, { @@ -322,18 +346,22 @@ "openmrs_entity": "concept", "openmrs_entity_id": "llin_2days", "type": "spinner", - "hint": "Je jana usiku umelala kwenye Chandarua chenye viwatilifu vya muda mrefu?", + "hint": "Je, amelala kwenye chandarua chenye viuwatilifu usiku uliopita?", "values": [ - "Ndio", + "Ndiyo", "Hapana" ], + "keys": [ + "Yes", + "No" + ], "openmrs_choice_ids": { "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", - "err": "Tafadhari Chagua mojawapo:" + "err": "Tafadhali chagua chaguo moja" }, "relevance": { "rules-engine": { @@ -349,10 +377,14 @@ "openmrs_entity": "concept", "openmrs_entity_id": "llin_condition", "type": "spinner", - "hint": "Hali ya Chandarua", + "hint": "Hali ya chandarua chenye viuwatilifu kinachotumika", "values": [ - "Bado ni nzuri", - "Mbaya" + "Nzima", + "Mbovu" + ], + "keys": [ + "Okay", + "Bad" ], "openmrs_choice_ids": { "Okay": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -360,7 +392,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhari changua mojawapo:" + "err": "Tafadhali chagua chaguo moja" }, "relevance": { "rules-engine": { @@ -376,7 +408,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "malaria_edu_chw", "type": "check_box", - "label": "Mada za Malaria zilizofundishwa", + "label": "Mada juu ya ugonjwa wa Malaria zilizofundishwa", "label_text_style": "normal", "text_color": "#C0C0C0", "combine_checkbox_option_values": "true", @@ -386,21 +418,21 @@ "options": [ { "key": "overview_on_malaria", - "text": "Mukhutasari juu ya Malaria", + "text": "Muktasari kuhusu ugonjwa wa malaria", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "malaria_prevention", - "text": "Jinsi ya Kujikinga na Malaria", + "text": "Kuzuia malaria", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "uncomplicated_malaria", - "text": "Malaria ya kawaida", + "text": "Malaria isiyokali", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "159950AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -414,14 +446,14 @@ }, { "key": "malaria_in_pregnancy", - "text": "Malaria katika Ujauzito", + "text": "Malaria kwa mama mjamzito", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "135361AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", - "text": "Hakuna", + "text": "Hajafanya", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_none" @@ -429,7 +461,7 @@ ], "v_required": { "value": "true", - "err": "Mada za Malaria zilizojadiliwa:" + "err": "Tafadhali chagua chaguo moja" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/malaria_follow_up_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/malaria_follow_up_visit.json index 627d3add2f..e0f2b312b4 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/malaria_follow_up_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/malaria_follow_up_visit.json @@ -62,14 +62,14 @@ "openmrs_entity": "", "openmrs_entity_id": "1889AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "label": "Je umepata rufaa kwenye kufanya kipimo cha Malaria katika Kituo cha Afya?", + "label": "Je, ulienda hospitali kwa ajili ya kipimo na matibabu ya malaria?", "options": [ { "key": "Yes", "openmrs_entity": "", "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Ndio" + "text": "Ndiyo" }, { "key": "No", @@ -90,56 +90,56 @@ "openmrs_entity": "", "openmrs_entity_id": "162686AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "label": "Matibabu yaliyotolewa", + "label": "Matibabu uliyopewa", "options": [ { "key": "ALU_6", "openmrs_entity": "", "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "MSETO vidonge 6" + "text": "ALU 6" }, { "key": "ALU_12", "openmrs_entity": "", "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "MSETO vidonge 12" + "text": "ALU 12" }, { "key": "ALU_18", "openmrs_entity": "", "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "MSETO vidonge 18" + "text": "ALU 18" }, { "key": "ALU_24", "openmrs_entity": "", "openmrs_entity_id": "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "MSETO vidonge 24" + "text": "ALU 24" }, { "key": "Other_treatment", "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Matibabu Mengine" + "text": "Matibabu mengine" }, { "key": "Received_treatment_but_dont_remember_which_treatment", "openmrs_entity": "", "openmrs_entity_id": "1767AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Nimepokea matibabu mengine ila sikumbuki" + "text": "Amepewa matibabu, lakini hakumbuki aina gani" }, { "key": "Not_given_treatment", "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Sijapata matibabu" + "text": "Hajapewa matibabu" } ], "v_required": { @@ -160,14 +160,14 @@ "openmrs_entity": "", "openmrs_entity_id": "1743AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "label": "Sababu za kutotoa matibabu", + "label": "Sababu ya kutopata matibabu", "options": [ { "key": "Referral_unsuccessful", "openmrs_entity": "", "openmrs_entity_id": "160068AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Rufaa haijakamilika" + "text": "Rufaa haikufanikiwa" }, { "key": "Drugs_stock_out", @@ -199,26 +199,24 @@ { "key": "fever_still", "type": "native_radio", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "label": "Je bado unajihisi Homa?", + "label": "Je, bado ana homa?", "options": [ { "key": "Yes", "openmrs_entity": "", "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Ndiyo", - "value": false + "text": "Ndiyo" }, { "key": "No", "openmrs_entity": "", "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Hapana", - "value": false + "text": "Hapana" } ], "v_required": { @@ -232,21 +230,21 @@ "openmrs_entity": "", "openmrs_entity_id": "1731AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "label": "Umekuwa na Homa kwa muda gani?", + "label": "Umekuwa na homa kwa muda gani?", "options": [ { "key": "Less_than_24hrs", "openmrs_entity": "", "openmrs_entity_id": "164449AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "text": "Chini ya masaa 24" + "text": "Ndani ya saa 24" }, { "key": "More_than_24hrs", "openmrs_entity": "", "openmrs_entity_id": "NA", "openmrs_entity_parent": "", - "text": "Zaidi ya masaa 24" + "text": "Zaidi ya saa 24" } ], "v_required": { @@ -260,23 +258,6 @@ } } } - }, - { - "key": "referral_note", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "Mpe rufaa mteja kwenda kwenye kituo cha afya kwa ajili ya uchunguzi na vipimo vya ziada", - "toaster_info_text": "Mpe rufaa mteja kwenda kwenye kituo cha afya kwa ajili ya uchunguzi na vipimo vya ziada", - "toaster_type": "info", - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "malaria_followup_relevance.yml" - } - } - } } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/malaria_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/malaria_referral_form.json index 3852fe12e9..693ed7b144 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/malaria_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/malaria_referral_form.json @@ -60,7 +60,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "referral_problem_malaria", "type": "check_box", - "label": "Maelezo kuhusiana na matatizo ya mteja", + "label": "Maelezo ya tatizo la mgonjwa", "label_text_style": "bold", "options": [ { @@ -73,7 +73,7 @@ }, { "key": "Diarrhea", - "text": "Kuhara", + "text": "Kuharisha", "value": false, "openmrs_entity": "", "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -89,7 +89,7 @@ }, { "key": "Nausea", - "text": "Kichefuchefu", + "text": "Kutetemeka", "value": false, "openmrs_entity": "", "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -97,7 +97,7 @@ }, { "key": "Trembling", - "text": "Kuhisi kutetemeka", + "text": "Kutetemeka", "value": false, "openmrs_entity": "", "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -105,7 +105,7 @@ }, { "key": "A_severe_headache_dizziness", - "text": "Maumivu makali ya Kichwa", + "text": "Maumivu makali ya kichwa / kizunguzungu", "value": false, "openmrs_entity": "", "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -113,7 +113,7 @@ }, { "key": "Sweating", - "text": "Kutokwa na jasho", + "text": "Kutoka jasho", "value": false, "openmrs_entity": "", "openmrs_entity_id": "140941AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -121,7 +121,7 @@ }, { "key": "Severe_abdominal_pain", - "text": "Maumivu makali ya tumbo ", + "text": "Maumivu makali ya tumbo", "value": false, "openmrs_entity": "", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -129,7 +129,7 @@ }, { "key": "Muscle_pain", - "text": "Maumivu ya Misuli", + "text": "Maumivu ya misuli", "value": false, "openmrs_entity": "", "openmrs_entity_id": "133632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -137,7 +137,7 @@ }, { "key": "Sweling_of_the_face_and_or_hands", - "text": "Kuvimba uso na mikono", + "text": "Kuvimba uso na / au mikono", "value": false, "openmrs_entity": "", "openmrs_entity_id": "163894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -145,7 +145,7 @@ }, { "key": "Difficult_in_breathing_fast_and_laboured_breathing", - "text": "Changamoto ya Upumuaji (Ugumu wa kupumua)", + "text": "Kushindwa kupumua", "value": false, "openmrs_entity": "", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -153,7 +153,7 @@ }, { "key": "Convulsions", - "text": "Degedege", + "text": "Degedege/ Mtukutiko wa mwili", "value": false, "openmrs_entity": "", "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -161,7 +161,7 @@ }, { "key": "Very_weak", - "text": "Kuhisi mdhaifu wa mwili", + "text": "Kulegea", "value": false, "openmrs_entity": "", "openmrs_entity_id": "5226AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -169,7 +169,7 @@ }, { "key": "Irritable_easily_disturbed", - "text": "Kuwa na hasira", + "text": "Kukereka kirahisi", "value": false, "openmrs_entity": "", "openmrs_entity_id": "118296AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -177,7 +177,7 @@ }, { "key": "Unconcious", - "text": "Kupoteza fahamu", + "text": "Kukosa fahamu", "value": false, "openmrs_entity": "", "openmrs_entity_id": "123818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -185,7 +185,7 @@ }, { "key": "Unusually_sleepy", - "text": "Usingizi usikuwa wa kawaida", + "text": "Kulala kusiko kwa kawaida", "value": false, "openmrs_entity": "", "openmrs_entity_id": "117417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -193,7 +193,7 @@ }, { "key": "Neck_stiffness", - "text": "Kukakamaa kwa Shingo", + "text": "Shingo kukakamaa", "value": false, "openmrs_entity": "", "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -201,7 +201,7 @@ }, { "key": "Unable_to_sit_without_support", - "text": "Kushindwa kukaa", + "text": "Kushindwa kukaa bila msaada", "value": false, "openmrs_entity": "", "openmrs_entity_id": "123833AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -209,7 +209,7 @@ }, { "key": "Abnormal_bleeding_or_passing_of_urine_with_blood", - "text": "Kutokwa na damu kusiko kawaida", + "text": "Kutokwa na damu au mkojo wenye damu", "value": false, "openmrs_entity": "", "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -225,7 +225,7 @@ }, { "key": "Yellowing_of_the_eyes_jaundice", - "text": "Homa ya Manjano", + "text": "Macho kuwa ya njano", "value": false, "openmrs_entity": "", "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -233,7 +233,7 @@ }, { "key": "Severe_malnutrition", - "text": "Utapiamlo", + "text": "Utapiamlo mkali", "value": false, "openmrs_entity": "", "openmrs_entity_id": "163302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -241,7 +241,7 @@ }, { "key": "Bloating", - "text": "Kuvimba mwili", + "text": "Tumbo kujaa", "value": false, "openmrs_entity": "", "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -250,7 +250,7 @@ ], "v_required": { "value": true, - "err": "Tafadhari bainisha matatizo aliyonayo mteja" + "err": "Tafadhali taja shida inayohusiana na mteja" } }, { @@ -259,7 +259,7 @@ "openmrs_entity": "", "openmrs_entity_id": "service_before_malaria", "type": "check_box", - "label": "Matibabu aliyopatikwa kabla ya Rufaa", + "label": "Matibabu aliyopewa kabla ya rufaa", "label_text_style": "bold", "is_problem": false, "exclusive": [ @@ -276,7 +276,7 @@ }, { "key": "Panadol", - "text": "Panado", + "text": "Panadol", "value": false, "openmrs_entity": "", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -284,7 +284,7 @@ }, { "key": "ORS", - "text": "Dawa ya kurejesha maji mwilini (ORS)", + "text": "ORS", "value": false, "openmrs_entity": "", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -310,7 +310,7 @@ ], "v_required": { "value": "true", - "err": "Matibabu aliyopatikwa kabla ya Rufaa" + "err": "Matibabu iliyopewa kabla ya rufaa inahitajika" } }, { @@ -324,7 +324,7 @@ "is_problem": false, "v_required": { "value": "true", - "err": "Tafadhari bainisha matibabu mengine" + "err": "Tafadhali taja matibabu mengine" }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json deleted file mode 100644 index b4738cf6ec..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit.json +++ /dev/null @@ -1,1073 +0,0 @@ -{ - "form": "CBHS Follow-up form", - "count": "1", - "encounter_type": "CBHS Followup", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_followup_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Fomu ya kumtembelea mgonjwa wa VVU", - "fields": [ - { - "name": "registration_or_followup_status", - "type": "spinner", - "properties": { - "text": "Hali ya usajili/ ufuatiliaji" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registration_or_followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "new_client", - "text": "Mpya", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "new_client", - "openmrs_entity_parent": "" - } - }, - { - "name": "continuing_with_services", - "text": "Anaendelea na Huduma.", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Amefariki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Hapatikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Amehamishiwa mahali pengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Amehama", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Amejitoa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Anaendelea na huduma kutoka sehemu nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - }, - { - "name": "completed_and_qualified_from_the_services", - "text": "Amemaliza huduma", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_and_qualified_from_the_services", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua hali ya ufwatiliaji", - "dependent_calculations": [ - "hiv_followup_visit_date" - ] - }, - { - "name": "client_hiv_status_after_testing", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_after_testing", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya maambukizi ya VVU baada ya kipimo" - }, - "options": [ - { - "name": "na", - "text": "Haitambuliki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "unknown", - "text": "Haijulikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Chanya", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Hasi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua moja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya CTC mfano: 12-34-5678-912345", - "type": "Namba ya CTC mfano: 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." - } - ], - "required_status": "yes:Tafadhali jaza namba ya CTC", - "subjects": "client_hiv_status_after_testing:text" - }, - { - "name": "client_condition", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_condition", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya mteja" - }, - "options": [ - { - "name": "client_does_her_daily_activities", - "text": "Anaweza kufanya shughuli zake za kila siku", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_does_her_daily_activities", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_takes_care_of_himself", - "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa) ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_takes_care_of_himself", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_is_unable_to_take_care_of_himself", - "text": "Hajimudu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua hali ya mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "pain", - "text": "Maumivu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "pain", - "openmrs_entity_parent": "" - } - }, - { - "name": "coughing", - "text": "kukohoa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "coughing", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_health_problems", - "text": "Matatizo mengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_health_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hana tatizo", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Matatizo mengine ya kitabibu ya Mteja", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_problem_other", - "openmrs_entity_parent": "health_problem" - }, - "required_status": "true:Tafadhali jaza matatizo mengine", - "subjects": "health_problem:map" - }, - { - "name": "social_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem" - }, - "options": [ - { - "name": "malnutrition", - "text": "Matatizo ya lishe", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", - "openmrs_entity_parent": "" - } - }, - { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "kushindwa kutimiza ratiba ya CTC", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", - "openmrs_entity_parent": "" - } - }, - { - "name": "transport_issues_for_attending_ctc", - "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "transport_issues_for_attending_ctc", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_social_problems", - "text": "Matatizo mengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_social_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hana tatizo", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "social_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Matatizo mengine ya kijamii ya Mteja", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem_other", - "openmrs_entity_parent": "social_problem" - }, - "required_status": "true:Tafadhali jaza matatizo mengine", - "subjects": "social_problem:map" - }, - { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Tabia na mazingira hatarishi ya mteja" - }, - "options": [ - { - "name": "na", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Mlevi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_multiple_sexual_partners", - "text": "Ana wapenzi wengi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_multiple_sexual_partners", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_sexual_relations_with_different_peers", - "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_sexual_relations_with_different_peers", - "openmrs_entity_parent": "" - } - }, - { - "name": "fisherman", - "text": "Wavuvi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fisherman", - "openmrs_entity_parent": "" - } - }, - { - "name": "people_who_inject_drugs", - "text": "Wajidunga", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "people_who_inject_drugs", - "openmrs_entity_parent": "" - } - }, - { - "name": "wood_workers", - "text": "Wapasua mbao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "wood_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining_workers", - "text": "Wachimba madini", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "men_having_sex_with_other_men ", - "text": "Wanaume wanaofanya ngono na wanaume wenzao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "men_having_sex_with_other_men", - "openmrs_entity_parent": "" - } - }, - { - "name": "truck_drivers ", - "text": "Madereva wa masafa marefu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "truck_drivers", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Vifaa vilivyotolewa" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "soap", - "text": "Sabuni", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "soap", - "openmrs_entity_parent": "" - } - }, - { - "name": "mosquito_nets", - "text": "Chandarua", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", - "openmrs_entity_parent": "" - } - }, - { - "name": "bed_sheets", - "text": "Mashuka", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", - "openmrs_entity_parent": "" - } - }, - { - "name": "water_disinfectant", - "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", - "openmrs_entity_parent": "" - } - }, - { - "name": "condoms", - "text": "Kondomu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_supplies", - "text": "Vifaa vingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_supplies", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua kifaa/vifaa vilivyotolewa", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Vifaa vingine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided_other", - "openmrs_entity_parent": "supplies_provided" - }, - "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", - "subjects": "supplies_provided:map" - }, - { - "name": "medicine_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Dawa zilizotolewa" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", - "openmrs_entity_parent": "" - } - }, - { - "name": "aspirin", - "text": "Aspirini", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Dawa Nyinginezo", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose medicine given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Dawa nyingine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", - "subjects": "medicine_provided:map" - }, - { - "name": "hiv_services_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "nutrition_counselling", - "text": "Ushauri wa lishe", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", - "openmrs_entity_parent": "" - } - }, - { - "name": "hiv_infection_education", - "text": "Elimu kuhusu maambukizi ya VVU", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", - "openmrs_entity_parent": "" - } - }, - { - "name": "preliminary_testing", - "text": "Upimaji wa awali", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", - "openmrs_entity_parent": "" - } - }, - { - "name": "psychological_counseling", - "text": "Ushauri wa kisaikolojia", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", - "openmrs_entity_parent": "" - } - }, - { - "name": "house_cleanliness", - "text": "Usafi wa nyumba", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", - "openmrs_entity_parent": "" - } - }, - { - "name": "health_care", - "text": "Huduma za afya", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", - "openmrs_entity_parent": "" - } - }, - { - "name": "medical_services", - "text": "Huduma za tiba", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_hiv_services", - "text": "Huduma nyingine za UKIMWI katika jamii", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_hiv_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hamna huduma iliyotolewa", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "hiv_services_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided_other", - "openmrs_entity_parent": "hiv_services_provided" - }, - "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", - "subjects": "hiv_services_provided:map" - }, - { - "name": "referrals_issued_to_other_services", - "type": "multi_choice_checkbox", - "properties": { - "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services" - }, - "options": [ - { - "name": "legal_services", - "text": "Huduma ya kisheria", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Msaada wa kisaikolojia kutoka kwenye makundi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Vituo vya wazee", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Rufaa nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals issued", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_issued_to_other_services_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Rufaa nyingine zilizotolewa", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services_other", - "openmrs_entity_parent": "referrals_issued_to_other_services" - }, - "required_status": "true:Please specify other Referrals Issued", - "subjects": "referrals_issued_to_other_services:map" - }, - { - "name": "referrals_to_other_services_completed", - "type": "multi_choice_checkbox", - "properties": { - "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed" - }, - "options": [ - { - "name": "legal_services", - "text": "Huduma ya kisheria", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Msaada wa kisaikolojia kutoka kwenye makundi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Vituo vya wazee", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Rufaa nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals completed", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_to_other_services_completed_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Rufaa nyingine zilizokamilishwa na mteja", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed_other", - "openmrs_entity_parent": "referrals_to_other_services_completed" - }, - "required_status": "true:Please specify other Referrals Completed", - "subjects": "referrals_to_other_services_completed:map" - }, - { - "name": "state_of_therapy", - "type": "spinner", - "properties": { - "text": "Hali ya Tiba na Matunzo (CTC)" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "na", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_but_not_began_medication", - "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_but_not_began_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_and_uses_medication", - "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_and_uses_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "not_registered_in_ctc_clinic", - "text": "Hajaandikishwa CTC/PMTCT", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "not_registered_in_ctc_clinic", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location", - "type": "spinner", - "properties": { - "text": "Chagua alipohamia", - "searchable": "Chagua alipohamia" - }, - "options": [ - { - "name": "Other", - "text": "Other", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "Other", - "openmrs_entity_parent": "" - } - } - ], - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Tafadhali chagua sehemu alipohamia", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Andika alipohamia", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Tafadhali andika alipohamia", - "subjects": "client_moved_location:text" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json deleted file mode 100644 index e1c7c0b213..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ /dev/null @@ -1,979 +0,0 @@ -{ - "form": "CBHS Follow-up form", - "count": "1", - "encounter_type": "CBHS Followup", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_followup_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Fomu ya kumtembelea mgonjwa wa VVU", - "fields": [ - { - "name": "registration_or_followup_status", - "type": "spinner", - "properties": { - "text": "Hali ya usajili/ ufuatiliaji" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registration_or_followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "new_client", - "text": "Mpya", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "new_client", - "openmrs_entity_parent": "" - } - }, - { - "name": "continuing_with_services", - "text": "Anaendelea na Huduma.", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Amefariki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Hapatikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Amehamishiwa mahali pengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Amehama", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Amejitoa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Anaendelea na huduma kutoka sehemu nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - }, - { - "name": "completed_and_qualified_from_the_services ", - "text": "Amemaliza huduma", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_and_qualified_from_the_services", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua hali ya ufuatiliaji", - "dependent_calculations": [ - "hiv_followup_visit_date" - ] - }, - { - "name": "client_condition", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_condition", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya mteja" - }, - "options": [ - { - "name": "client_does_her_daily_activities", - "text": "Anaweza kufanya shughuli zake za kila siku", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_does_her_daily_activities", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_takes_care_of_himself", - "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa) ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_takes_care_of_himself", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_is_unable_to_take_care_of_himself", - "text": "Hajimudu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua hali ya mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "pain", - "text": "Maumivu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "pain", - "openmrs_entity_parent": "" - } - }, - { - "name": "coughing", - "text": "Kukohoa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "coughing", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_health_problems", - "text": "Matatizo mengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_health_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hana tatizo", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Matatizo mengine ya kitabibu ya Mteja", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_problem_other", - "openmrs_entity_parent": "health_problem" - }, - "required_status": "true:Tafadhali jaza matatizo mengine", - "subjects": "health_problem:map" - }, - { - "name": "social_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem" - }, - "options": [ - { - "name": "malnutrition", - "text": "Matatizo ya lishe", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", - "openmrs_entity_parent": "" - } - }, - { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "kushindwa kutimiza ratiba ya CTC", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", - "openmrs_entity_parent": "" - } - }, - { - "name": "transport_issues_for_attending_ctc", - "text": "Matatizo ya usafiri kwa ajili ya kutimiza rufaa na huduma", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "transport_issues_for_attending_ctc", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_social_problems", - "text": "Matatizo mengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_social_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hana tatizo", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "social_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Matatizo mengine ya kijamii ya Mteja", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem_other", - "openmrs_entity_parent": "social_problem" - }, - "required_status": "true:Tafadhali jaza matatizo mengine", - "subjects": "social_problem:map" - }, - { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Tabia na mazingira hatarishi ya mteja" - }, - "options": [ - { - "name": "na", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Mlevi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_multiple_sexual_partners", - "text": "Ana wapenzi wengi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_multiple_sexual_partners", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_sexual_relations_with_different_peers", - "text": "Mahusiano ya kingono na rika tofauti (Ngono mtambuka rika", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_sexual_relations_with_different_peers", - "openmrs_entity_parent": "" - } - }, - { - "name": "fisherman", - "text": "Wavuvi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fisherman", - "openmrs_entity_parent": "" - } - }, - { - "name": "people_who_inject_drugs", - "text": "Wajidunga", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "people_who_inject_drugs", - "openmrs_entity_parent": "" - } - }, - { - "name": "wood_workers", - "text": "Wapasua mbao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "wood_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining_workers", - "text": "Wachimba madini", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "men_having_sex_with_other_men ", - "text": "Wanaume wanaofanya ngono na wanaume wenzao", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "men_having_sex_with_other_men", - "openmrs_entity_parent": "" - } - }, - { - "name": "truck_drivers ", - "text": "Madereva wa masafa marefu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "truck_drivers", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua tabia na mazingira hatarishi ya mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Vifaa vilivyotolewa" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "soap", - "text": "Sabuni", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "soap", - "openmrs_entity_parent": "" - } - }, - { - "name": "mosquito_nets", - "text": "Chandarua", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", - "openmrs_entity_parent": "" - } - }, - { - "name": "bed_sheets", - "text": "Mashuka", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", - "openmrs_entity_parent": "" - } - }, - { - "name": "water_disinfectant", - "text": "Dawa ya kusafisha/kuua vijidudu kwenye maji", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", - "openmrs_entity_parent": "" - } - }, - { - "name": "condoms", - "text": "Kondomu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_supplies", - "text": "Vifaa vingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_supplies", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose supplies given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Vifaa vingine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided_other", - "openmrs_entity_parent": "supplies_provided" - }, - "required_status": "true:Tafadhali jaza vifaa vingine vilivyotolewa", - "subjects": "supplies_provided:map" - }, - { - "name": "medicine_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Dawa zilizotolewa" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", - "openmrs_entity_parent": "" - } - }, - { - "name": "aspirin", - "text": "Aspirini", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Dawa Nyinginezo", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose medicine given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Dawa nyingine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Tafadhali jaza dawa nyingine zilizotolewa", - "subjects": "medicine_provided:map" - }, - { - "name": "hiv_services_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Huduma za UKIMWI zilizotolewa na Mtoa huduma wa afya ngazi ya jamii" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "nutrition_counselling", - "text": "Ushauri wa lishe", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", - "openmrs_entity_parent": "" - } - }, - { - "name": "hiv_infection_education", - "text": "Elimu kuhusu maambukizi ya VVU", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", - "openmrs_entity_parent": "" - } - }, - { - "name": "preliminary_testing", - "text": "Upimaji wa awali", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", - "openmrs_entity_parent": "" - } - }, - { - "name": "psychological_counseling", - "text": "Ushauri wa kisaikolojia", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", - "openmrs_entity_parent": "" - } - }, - { - "name": "house_cleanliness", - "text": "Usafi wa nyumba", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", - "openmrs_entity_parent": "" - } - }, - { - "name": "health_care", - "text": "Huduma za afya", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", - "openmrs_entity_parent": "" - } - }, - { - "name": "medical_services", - "text": "Huduma za tiba", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_hiv_services", - "text": "Huduma nyingine za UKIMWI katika jamii", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_hiv_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hamna huduma iliyotolewa", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "hiv_services_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Huduma nyingnie za UKIMWI katika jamii zilizotolewa", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided_other", - "openmrs_entity_parent": "hiv_services_provided" - }, - "required_status": "true:Tafadhali jaza huduma nyingnie za UKIMWI katika jamii zilizotolewa", - "subjects": "hiv_services_provided:map" - }, - { - "name": "referrals_issued_to_other_services", - "type": "multi_choice_checkbox", - "properties": { - "text": "Chagua rufaa aliyopewa mteja kwa huduma nyingine" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services" - }, - "options": [ - { - "name": "legal_services", - "text": "Huduma ya kisheria", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Msaada wa kisaikolojia kutoka kwenye makundi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Vituo vya wazee", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Rufaa nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals issued", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_issued_to_other_services_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Rufaa nyingine zilizotolewa", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services_other", - "openmrs_entity_parent": "referrals_issued_to_other_services" - }, - "required_status": "true:Please specify other Referrals Issued", - "subjects": "referrals_issued_to_other_services:map" - }, - { - "name": "referrals_to_other_services_completed", - "type": "multi_choice_checkbox", - "properties": { - "text": "Chagua rufaa kwa huduma nyingine iliyokamilishwa na mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed" - }, - "options": [ - { - "name": "legal_services", - "text": "Huduma ya kisheria", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Msaada wa kisaikolojia kutoka kwenye makundi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": "Huduma za watoto yatima na wanaoishi kwenye mazingira magumu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Vituo vya wazee", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Rufaa nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals completed", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_to_other_services_completed_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Rufaa nyingine zilizokamilishwa na mteja", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed_other", - "openmrs_entity_parent": "referrals_to_other_services_completed" - }, - "required_status": "true:Please specify other Referrals Completed", - "subjects": "referrals_to_other_services_completed:map" - }, - { - "name": "state_of_therapy", - "type": "spinner", - "properties": { - "text": "Hali ya Tiba na Matunzo (CTC)" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "registered_but_not_began_medication", - "text": "Ameandikishwa CTC/PMTCT lakini hajaanza ARV", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_but_not_began_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_and_uses_medication", - "text": "Ameandikishwa CTC/PMTCT na anatumia ARV", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_and_uses_medication", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo (CTC)", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location", - "type": "spinner", - "properties": { - "text": "Chagua alipohamia", - "searchable": "Chagua alipohamia" - }, - "options": [ - { - "name": "Other", - "text": "Other", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "Other", - "openmrs_entity_parent": "" - } - } - ], - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Tafadhali chagua sehemu alipohamia", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Andika alipohamia", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Tafadhali andika alipohamia", - "subjects": "client_moved_location:text" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json deleted file mode 100644 index 76a753dc77..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/male_hiv_registration.json +++ /dev/null @@ -1,179 +0,0 @@ -{ - "form": "HIV Registration form", - "count": "1", - "encounter_type": "CBHS Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Usajili wa wateja wa VVU", - "fields": [ - { - "name": "cbhs_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya HUWANYU mfano: 1234/56/78/912", - "type": "Namba ya HUWANYU mfano: 1234/56/78/912", - "mask": "####/##/##/###", - "mask_hint": "12345678912", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cbhs_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", - "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX/XX/XX/XXX)." - } - ], - "required_status": "yes:Tafadhali weka namba ya HUWANYU" - }, - { - "name": "client_hiv_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya maambukizo ya VVU wakati wa kuandikishwa" - }, - "options": [ - { - "name": "unknown", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Ana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Hana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "dependent_calculations": [ - "hiv_registration_date" - ] - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya CTC mfano: 12-34-5678-912345", - "type": "Namba ya CTC mfano: 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." - } - ], - "subjects": "client_hiv_status_during_registration:text" - }, - { - "name": "tb_number", - "type": "text_input_edit_text", - "properties": { - "hint": "TB ID", - "type": "TB Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "mat_number", - "type": "text_input_edit_text", - "properties": { - "hint": "MAT ID", - "type": "MAT Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mat_number", - "openmrs_entity_parent": "" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/observation_illness.json b/opensrp-chw/src/ba/assets/json.form-sw/observation_illness.json index 0e59aa4e4e..e2409d44b1 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/observation_illness.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/observation_illness.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Observations & Illness", + "title": "Uangulifu na muda ya ugonjwa", "fields": [ { "key": "date_of_illness", @@ -84,32 +84,28 @@ "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Hatua iliyochukuliwa", + "hint": "Hatua zilizochukuliwa", "v_required": { "value": "true", - "err": "Tafadhali chagua hatua" + "err": "Please select action" }, "values": [ "ORS 5", "Zinc 10", "Panadol", - "Kutoa rufaa", - "Matibabu mengine", - "Hakuna matibabu yaliyotolewa" + "Matibabu mengine" ], "keys": [ "ORS 5", "Zinc 10", - "Panadol", - "Referred", - "Other treatment given", - "No treatment" + "Paracetamol", + "Other treatment" ] }, { "key": "other_treat_1m5yr", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "edit_text", "hint": "Matibabu mengine", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_counselling.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_counselling.json index 7b31620510..4cbc54c7be 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_counselling.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_counselling.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Counselling", + "title": "Ushauri", "fields": [ { "key": "couselling_pnc", @@ -55,7 +55,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Ushauri uliyotolewa", + "label": "Ushauri uliotolewa", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -64,140 +64,133 @@ "options": [ { "key": "chk_maternal_nutrition", - "text": "Lishe ya mama wakati wa kunyonyesha", + "text": "3. Lishe kwa mama wakati wa kunyonyesha", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_aids", - "text": "Taarifa za jumla za VVU/UKIMWI", + "text": "5. Umuhimu wa kupata ushauri nasaha na kupima VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pmtct", - "text": "PMTCT kwa mama", + "text": "6. Kuzuia mambukizi ya VVU kutoka kwa mama kwenda kwa mtoto", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_malaria_prevention", - "text": "Kuzuia Malaria", + "text": "7. Kuzuia malaria kwa watoto wenye umri chini ya miaka mitano", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pnc_care_for_mother", - "text": "Malezi ya PNC kwa mama", + "text": "9. Huduma kwa mama baada ya kujifungua", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1623AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - { - "key": "chk_hiv_exposed_infant", - "text": "Ufuatiliaji wa Mtoto aliye katika hatari ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, { "key": "chk_pnc_danger_signs", - "text": "Dalili za hatari za PNC", + "text": "10. Dalili za hatari mara baada ya kujifungua hadi siku arobaini na mbili ya uzazi", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_care_of_infant_after_birth", - "text": "Malezi ya mtoto mchanga baada ya kuzaliwa", + "text": "11. Huduma kwa mtoto mchanga mara baada ya kuzaliwa", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "159839AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_care_of_premature_baby", - "text": "Malezi ya mtoto njiti", + "text": "12. Huduma kwa mtoto aliyezaliwa kabla ya muda wake / njiti au mtoto mwenye uzito pungufu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_care_of_new_born", - "text": "Malezi ya mtoto mchanga mara baada ya kuzaliwa", + "text": "13. Kumhudumia mtoto mchanga", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_new_born_danger_signs", - "text": "Dalili za hatari kwa mtoto mchanga ", + "text": "14. Dalili za hatari kwa mtoto mchanga", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_exposed_infant", - "text": "Ufuatiliaji wa Mtoto aliye katika hatari ya VVU", + "text": "15. Ufuatiliaji wa mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_breastfeeding", - "text": "Kunyonyesha", + "text": "16. Unyonyeshaji wa mazima wa mama", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_lam", - "text": "LAM kama njia ya asili ya uzazi wa mpango, ambayo inajumuisha unyonyeshaji wa kipekee miezi sita baada ya kujifungua", + "text": "17. Njia ya uzazi wa mpango ya unyonyeshaji maziwa ya mama pekee kwa kipindi cha miezi sita baada ya kujifungua (LAM)", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_family_planning", - "text": "Uzazi wa mpango", + "text": "18. Uzazi wa mpango", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_birth_registration", - "text": "Usajili wa kuzaliwa", + "text": "19. Usajili wa vizazi", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_immunisation", - "text": "Upataji wa chanjo", + "text": "22. Chanjo", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_infection_prevention", - "text": "Kuzuia na kudhibiti maambukizi", + "text": "24. Kuzuia maambukizi katika jamii", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_gender_issues", - "text": "Masuala ya jinsia", + "text": "26. Jinsia", "value": false, "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_none", - "text": "Hakuna", + "text": "Hakushauriwa", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -205,9 +198,9 @@ ], "v_required": { "value": "true", - "err": "Tafahdali chagua angalau moja" + "err": "Tafadhali chagua angalau moja" } } ] } -} \ No newline at end of file +} diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_baby.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_baby.json index 69ed01ffbe..f514213eaf 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_baby.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_baby.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Danger Signs Baby", + "title": "Dalili za hatari kwa mtoto", "fields": [ { "key": "danger_signs_present_child", @@ -55,7 +55,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Je, mtoto ana dalili zozote za hatari?", + "label": "Je, mtoto mchanga ana dalili zozote za hatari?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -71,7 +71,7 @@ }, { "key": "chk_excessive_crying", - "text": "Kulia kupita kiasi", + "text": "Mtoto kulia sana", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "110540AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -85,56 +85,56 @@ }, { "key": "chk_difficult_breathing", - "text": "Kupumua kwa shida", + "text": "Kushindwa kupumua", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_unable_to_suck", - "text": "Kutoweza kunyonya", + "text": "Kushindwa kunyonya au kumeza", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_umbilical_discharge", - "text": "Kitovu kutokwa na damu/usaha", + "text": "Kutoka damu kwenye kitovu au usaha", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "123843AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_no_movement", - "text": "Hamna uchezaji", + "text": "Hakuna harakati", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164455AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_convulsions", - "text": "Degedege", + "text": "Degedege / Mtukutiko wa mwili", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_skin_rashes", - "text": "Vipele kwenye ngozi", + "text": "Vipele mwilini", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pale", - "text": "Kupauka au kuonekana na rangi ya manjano", + "text": "Mwili kuwa njano", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_eye_discharge", - "text": "Jicho kutokwa na majimaji ", + "text": "Macho kutoa uchafu / usaha", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142246AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -148,7 +148,7 @@ }, { "key": "chk_lethargy", - "text": "Ulegeevu", + "text": "Uchovu / Kulegea mwili", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "116334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -169,10 +169,10 @@ { "key": "danger_signs_present_toaster", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "type": "toaster_notes", - "text": "Dalili ya hatari! Mpatie rufaa kwenda kituo cha afya haraka", + "text": "Dalili za hatari! \nToa rufaa haraka kwenda kituo cha kutolea huduma za afya.", "text_color": "#CF0800", "toaster_type": "problem", "relevance": { @@ -201,4 +201,4 @@ } ] } -} \ No newline at end of file +} diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_mother.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_mother.json index 495e6c65ef..f980cd8d6a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_mother.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_danger_signs_mother.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Danger Signs Mother", + "title": "Dalili za hatari kwa mama", "fields": [ { "key": "danger_signs_present_mama", @@ -71,21 +71,21 @@ }, { "key": "chk_bleeding_vaginally", - "text": "Kutokwa na damu ukeni", + "text": "Damu kutoka ukeni", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_server_headache", - "text": "Maumivu makali ya kichwa", + "text": "Maumivu ya kichwa", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_convulsions", - "text": "Degedege", + "text": "Degedege / Mtukutiko wa mwili", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -99,7 +99,7 @@ }, { "key": "chk_severe_leg_pain", - "text": "Maumivu makali ya mguu", + "text": "Maumivu makali kwenye misuli ya miguu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "114395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -113,7 +113,7 @@ }, { "key": "chk_swelling of breast", - "text": "Kuvimba kwa titi na chuchu", + "text": "Kuvimba kwa matiti na chuchu zilizo chanika", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "125212AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -127,14 +127,14 @@ }, { "key": "chk_vaginal_discharge", - "text": "Kutokwa na majimaji yenye harufu mbaya kutoka ukeni", + "text": "Kutoka uchafu / majimaji ukeni yenye harufu mbaya", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_blurred_vision", - "text": "Uoni hafifu", + "text": "Kutoona vizuri", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -148,7 +148,7 @@ }, { "key": "chk_urination", - "text": "Kukojoa kidogo au mkojo kuvuja kutoka ukeni", + "text": "Kupata mkojo kidogo au kuvuja mkojo mfululizo", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "118982AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -163,7 +163,7 @@ ], "v_required": { "value": "true", - "err": "Tafadhali chagua moja" + "err": "Tafadhali chagua angalau moja" } }, { @@ -172,7 +172,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "", "type": "toaster_notes", - "text": "Dalili ya hatari! Mpatie rufaa ya kwenda kituo cha afya haraka.", + "text": "Dalili za hatari! \nMpe rufaa haraka kwenda kituo cha afya.", "text_color": "#CF0800", "toaster_type": "problem", "relevance": { @@ -201,4 +201,4 @@ } ] } -} \ No newline at end of file +} diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_exclusive_breastfeeding.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_exclusive_breastfeeding.json index 1aec1f80c8..65785a6034 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_exclusive_breastfeeding.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_exclusive_breastfeeding.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Exclusive breastfeeding", + "title": "Kunyonyeshwa maziwa ya mama pekee mwezi 0", "fields": [ { "key": "exclusive_breast_feeding", @@ -57,7 +57,7 @@ "openmrs_data_type": "exclusive_breast_feeding", "type": "spinner", "image": "ic_form_bf", - "hint": "Je, mtoto amekuwa akinyonya maziwa ya mama pekee?", + "hint": "Je, mtoto amenyonyeshwa maziwa ya mama pekee?", "values": [ "Ndiyo", "Hapana" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_family_planning.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_family_planning.json index f08d8cb91c..6b50c5c84b 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_family_planning.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Family Planning", + "title": "Uzazi wa mpango", "fields": [ { "key": "fp_counseling", @@ -56,7 +56,7 @@ "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, mama alishauriwa kuhusu upangaji uzazi katika kituo cha afya hivi karibuni??", + "hint": "Je, mama amepata ushauri juu ya uzazi wa mpango katika kituo cha kutolea huduma za afya hivi karibuni?", "values": [ "Ndiyo", "Hapana" @@ -80,27 +80,27 @@ "openmrs_entity": "concept", "openmrs_entity_id": "159860AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Alishauriwa katika kipindi gani?", + "label": "Je, alipewa ushauri katika kipindi gani?", "label_text_style": "normal", "text_color": "#C0C0C0", "options": [ { "key": "chk_during_anc", - "text": "Wakati wa ANCc", + "text": "Wakati wa kliniki ya wajawazito", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_during_anc" }, { "key": "chk_during_labour_and_delivery", - "text": "Wakati wa kujifungua", + "text": "Wakati wa uchungu na kujifungua", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_during_labour_and_delivery" }, { "key": "chk_during_pnc", - "text": "Wakati wa PNC", + "text": "Wakati wa huduma ya mama na mtoto wa baada ya kujifungua", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_during_pnc" @@ -125,17 +125,17 @@ "openmrs_entity_id": "374AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Njia ya uzazi wa mpango iliyochaguliwa", + "hint": "Njia ya uzazi wa mpango uliyochagua?", "values": [ - "Njia ya PPIUCD", - "Vidonge", + "Kitanzi", + "Vidonge vya kumeza (POP)", "Kipandikizi", "Kondomu", - "Njia ya LAM", - "Njia ya kawaida ya siku", - "Njia ya kudumu (BTL)", - "Njia ya kudumu (Vasectomy)", - "Hakuna" + "Njia ya uzazi wa mpango kwa unyonyeshaji (LAM)", + "Shanga", + "Kufunga kizazi mwanamke", + "Kufunga kizazi mwanamme", + "Hakuchagua njia yoyote" ], "keys": [ "PPIUCD", @@ -174,15 +174,15 @@ { "key": "fp_start_date", "openmrs_entity_parent": "163757AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", - "hint": "Tarehe ya kuanza", + "hint": "Tarehe ya kuanza njia ya uzazi wa mpango", "min_date": "today-120y", "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhali ingiza tarehe ya kuanza kututmika kwa njia iliyochaguliwa" + "err": "Tafadhali ingiza tarehe" }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit.json index e01303acab..6c84cf240d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Health Facility Visit", + "title": "Hudhurio katika kituo cha kutolea huduma za afya ya mama na mtoto baada ya kujifungua", "fields": [ { "key": "pnc_visit_{0}", @@ -56,7 +56,7 @@ "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, mwanamke huyo alihudhuria PNC yake alipotembelea {0} kituo cha afya? Tarehe ya kukamilisha hudhurio: {1}", + "hint": "Je, mama alihudhuria hudhurio la {0} la huduma ya mama na mtoto baada ya kujifungua katika kituo cha kutolea huduma za afya? \n\nTarehe ya hudhurio lingine: {1}", "v_required": { "value": "true", "err": "Tafadhali chagua chaguo" @@ -64,6 +64,10 @@ "values": [ "Ndiyo", "Hapana" + ], + "keys": [ + "Yes", + "No" ] }, { @@ -72,12 +76,12 @@ "openmrs_entity": "concept", "openmrs_entity_id": "164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", - "hint": "Tarehe ya kutembelea kituo cha afya kwa ajili ya PNC {0}", + "hint": "Tarehe ya hudhurio la {0} la huduma ya mama na mtoto baada ya kujifungua", "expanded": false, "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhali ingiza tarehe " + "err": "Tafadhali ingiza tarehe" }, "relevance": { "step1:pnc_visit_{0}": { @@ -93,7 +97,7 @@ "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, mwanamke huyo alipokea Vitamini A ndani ya saa 24 baada ya kujifungua?", + "hint": "Je, mama alipewa Vitamini A ndani ya masaa 24 baada ya kujifungua?", "v_required": { "value": "true", "err": "Tafadhali chagua chaguo" @@ -102,6 +106,10 @@ "Ndiyo", "Hapana" ], + "keys": [ + "Yes", + "No" + ], "relevance": { "step1:pnc_visit_{0}": { "type": "string", @@ -116,7 +124,7 @@ "openmrs_entity_id": "104677AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, mwanamke alipokea tembe za iron na folic acid (IFA) ndani ya saa 24 baada ya kujifungua?", + "hint": "Je, mama alipewa dawa za kuongeza damu (FEFO) ndani ya masaa 24 baada ya kujifungua?", "v_required": { "value": "true", "err": "Tafadhali chagua chaguo" @@ -125,6 +133,10 @@ "Ndiyo", "Hapana" ], + "keys": [ + "Yes", + "No" + ], "openmrs_choice_ids": { "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit_two.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit_two.json index 059ca90a3b..238f82418a 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit_two.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_health_facility_visit_two.json @@ -16,7 +16,6 @@ "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "today": { - "openmrs_entity_parent": "", "openmrs_entity": "encounter", "openmrs_entity_id": "encounter_date" }, @@ -47,7 +46,7 @@ "encounter_location": "" }, "step1": { - "title": "Health Facility Visit", + "title": "Hudhurio katika kituo cha kutolea huduma za afya ya mama na mtoto baada ya kujifungua", "fields": [ { "key": "pnc_visit_{0}", @@ -56,14 +55,18 @@ "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, mwanamke huyo alihudhuria PNC yake alipotembelea {0} kituo cha afya? Tarehe ya kukamilisha hudhurio: {1}", + "hint": "Je, mama alihudhuria hudhurio la {0} la huduma ya mama na mtoto baada ya kujifungua katika kituo cha kutolea huduma za afya?\n\nTarehe ya hudhurio lingine: {1}", "v_required": { "value": "true", - "err": "Tafadhai chagua chaguo" + "err": "Tafadhali chagua chaguo" }, "values": [ "Ndiyo", "Hapana" + ], + "keys": [ + "Yes", + "No" ] }, { @@ -72,7 +75,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "164093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", - "hint": "Tarehe ya kutembelea kituo cha afya cha PNC {0}", + "hint": "Tarehe ya hudhurio la {0} la huduma ya mama na mtoto baada ya kujifungua", "expanded": false, "max_date": "today", "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_danger_signs.json deleted file mode 100644 index a713dea48b..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_danger_signs.json +++ /dev/null @@ -1,195 +0,0 @@ -{ - "count": "1", - "encounter_type": "PNC HomeVisit", - "entity_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "" - }, - "step1": { - "title": "PNC Danger Signs", - "fields": [ - { - "key": "danger_signs_present", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "type": "check_box", - "label": "Je, mama ana dalili zozote za hatari?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_fever", - "text": "Homa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_bleeding_vaginally", - "text": "Kutokwa na damu ukeni", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_server_headache", - "text": "Maumivu makali ya kichwa", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_convulsions", - "text": "Degedege", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_difficulty_breathing", - "text": "Kupumua kwa shida", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_severe_abdominal_pain", - "text": "Maumivu makali ya tumbo", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_swelling", - "text": "Kuvimba kwa uso na/au mikono", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_vaginal_discharge", - "text": "Kutokwa na majimaji yenye rangirangi na harufu mbaya ukeni", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_unusual_movement", - "text": "Hamna uchezaji/uchezaji wa mtoto tumboni usiyo wa kawaida", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - { - "key": "chk_none", - "text": "Hakuna", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - } - ], - "v_required": { - "value": "true", - "err": "Tafadhali chagua angalau moja" - } - }, - { - "key": "danger_signs_present_toaster", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "toaster_notes", - "text": "Dalili ya hatari! Mpe rufaa ya kwenda kituo cha afya haraka.", - "text_color": "#CF0800", - "toaster_type": "problem", - "relevance": { - "step1:danger_signs_present": { - "ex-checkbox": [ - { - "or": [ - "chk_fever", - "chk_bleeding_vaginally", - "chk_server_headache", - "chk_convulsions", - "chk_difficulty_breathing", - "chk_severe_abdominal_pain", - "chk_swelling", - "chk_vaginal_discharge", - "chk_unusual_movement" - ] - } - ] - } - } - }, - { - "key": "danger_signs_counseling", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "165310AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "label_info_title": "Did the mother receive counselling", - "label_info_text": "Did the mother receive counselling on danger signs at the health facility recently?", - "hint": "Je, mama alipokea ushauri nasaha kuhusu dalili za hatari katika kituo cha afya hivi karibuni?", - "values": [ - "Ndiyo ", - "Hapana" - ], - "openmrs_choice_ids": { - "Yes": "1267AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1118AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "v_required": { - "value": "true", - "err": "Tafadhali chagua chaguo moja" - } - } - ] - } -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_infant.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_infant.json index 7491df33f2..538dfe38a9 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_infant.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_infant.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Observations & Illness - Child", + "title": "Uchunguzi na ugonjwa kwa mtoto", "fields": [ { "key": "date_of_illness_child", @@ -61,7 +61,7 @@ "max_date": "today", "v_required": { "value": "true", - "err": "Tafadhali ingiza tarehe ya ugonjwa" + "err": "Tafadhali ingiza tarehe ya shida" } }, { @@ -82,7 +82,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Hatua iliyochukuliwa", + "label": "Hatua zilizochukuliwa", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -112,7 +112,7 @@ }, { "key": "chk_referred", - "text": "Kupewa rufaa", + "text": "Amepewa rufaa", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -126,7 +126,7 @@ }, { "key": "chk_none", - "text": "Hakuna matibabu yaliyotolewa", + "text": "Hajapata matibabu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -142,7 +142,7 @@ "hint": "Matibabu mengine", "v_required": { "value": "true", - "err": "Tafadhali ingiza maelezo kuhusu ugonjwa" + "err": "Tafadhali ingiza maelezo ya ugonjwa" }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_mother.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_mother.json index 3374f90efa..fb1daa076d 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_mother.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_hv_observations_mother.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Observations & Illness - Mama", + "title": "Uchunguzi na ugonjwa kwa mama", "fields": [ { "key": "date_of_illness_mama", @@ -82,7 +82,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Hatua iliyochukuliwa", + "label": "Hatua zilizochukuliwa", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -112,7 +112,7 @@ }, { "key": "chk_referred", - "text": "Kutoa rufaa", + "text": "Amepewa rufaa", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -126,7 +126,7 @@ }, { "key": "chk_none", - "text": "Hakuna matibabu yaliyotolewa", + "text": "Hajapata matibabu", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" @@ -142,7 +142,7 @@ "hint": "Matibabu mengine", "v_required": { "value": "true", - "err": "Tafahdali ingiza maelezo ya ugonjwa" + "err": "Tafadhali ingiza maelezo ya ugonjwa" }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_malaria_prevention.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_malaria_prevention.json index 3ef9ba74ac..1d49806701 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_malaria_prevention.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_malaria_prevention.json @@ -47,16 +47,16 @@ "encounter_location": "" }, "step1": { - "title": "Malaria Prevention", + "title": "Kuzuia malaria", "fields": [ { "key": "fam_llin", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, ana chandarua chenye dawa inayodumu kwa muda mrefu (LLIN)?", + "hint": "Je, ana chandarua chenye viuwatilifu vya muda mrefu?", "values": [ "Ndiyo", "Hapana" @@ -77,11 +77,11 @@ { "key": "llin_2days", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Je, alilala chini ya chandarua jana usiku?", + "hint": "Je, amelala kwenye chandarua chenye viuwatilifu vya muda mrefu usiku uliopita?", "values": [ "Ndiyo", "Hapana" @@ -108,14 +108,14 @@ { "key": "llin_condition", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Hali ya chandarua", + "hint": "Hali ya chandarua chenye viuwatilifu vya muda mrefu kinachotumika", "values": [ - "Nzuri", - "Mbaya" + "Nzima", + "Mbovu" ], "keys": [ "Okay", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_infant.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_infant.json index 75afb18258..703d9af91c 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_infant.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_infant.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Nutrition Status - Baby", + "title": "Hali ya lishe ya mtoto", "fields": [ { "key": "nutrition_status_1m", @@ -58,9 +58,9 @@ "type": "spinner", "hint": "Hali ya lishe ya mtoto mchanga", "values": [ - "Kawaida/Kijani", - "Wastani/Njano", - "Mbaya/Nyekundu" + "Nzuri/Kijani", + "Kadri/Njano", + "Dhaifu/Nyekundu" ], "keys": [ "Normal", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_mother.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_mother.json index f6f9e1094a..cb8b44470e 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_mother.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_nutrition_status_mother.json @@ -47,7 +47,7 @@ "encounter_location": "" }, "step1": { - "title": "Nutrition Status - Mother", + "title": "Hali ya lishe ya mama", "fields": [ { "key": "nutrition_status_mama", @@ -56,11 +56,11 @@ "openmrs_entity_id": "163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Hali ya lishe ya mwanamke", + "hint": "Hali ya lishe ya mama", "values": [ - "Kawaida/Kijani", - "Wastani/Njano", - "Mbaya/Nyekundu" + "Nzuri/Kijani", + "Kadri/Njano", + "Dhaifu/Nyekundu" ], "keys": [ "Normal", @@ -74,7 +74,7 @@ }, "v_required": { "value": "true", - "err": "Tafahdali chagua chaguo moja" + "err": "Tafadhali chagua chaguo moja" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/pnc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/pnc_referral_form.json index ff1abc40b4..a304b199d6 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/pnc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/pnc_referral_form.json @@ -52,7 +52,7 @@ } }, "step1": { - "title": "PNC referral form", + "title": "Rufaa kwa mama na mtoto baada ya kujifungua", "fields": [ { "key": "chw_referral_hf_pnc", @@ -75,12 +75,12 @@ "openmrs_entity": "", "openmrs_entity_id": "", "type": "check_box", - "label": "Hali/tatizo la mteja", + "label": "Tatizo / hali ya afya ya mteja", "label_text_style": "bold", "options": [ { "key": "Vaginal_bleeding", - "text": "Kutokwa damu ukeni", + "text": "Kutoka damu ukenig", "value": false, "openmrs_entity": "", "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -88,7 +88,7 @@ }, { "key": "Discoloured_or_watery_liquid_vaginal_discharge", - "text": "Kutokwa na majimaji yenye rangirangi na harufu mbaya ukeni", + "text": "Kutoka uchafu / majimaji ukeni yenye harufu mbaya", "value": false, "openmrs_entity": "", "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -96,7 +96,7 @@ }, { "key": "Severe_abdominal_pain", - "text": "Maumivu makali ya tumbo", + "text": "Maumivu makali ya tumboni", "value": false, "openmrs_entity": "", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -104,7 +104,7 @@ }, { "key": "Severe_anaemia", - "text": "Kupungukiwa sana kwa damu", + "text": "Upungufu mkubwa wa damu (weupe wa kiganja)", "value": false, "openmrs_entity": "", "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -112,7 +112,7 @@ }, { "key": "Convulsions", - "text": "Degedege", + "text": "Degedege / mtukutiko wa mwili", "value": false, "openmrs_entity": "", "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -120,7 +120,7 @@ }, { "key": "A_severe_headache_dizziness", - "text": "Maumivu makali ya kichwa/kizunguzungu", + "text": "Maumivu makali ya kichwa / kizunguzungu", "value": false, "openmrs_entity": "", "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -128,7 +128,7 @@ }, { "key": "Swelling_of_the_face_and_or_hands", - "text": "Kuvimba kwa uso na/au mikono", + "text": "Kuvimba uso na / au mikono", "value": false, "openmrs_entity": "", "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -168,7 +168,7 @@ }, { "key": "Cord_prolapse", - "text": "Kitovu kutokea kwa nje", + "text": "Kutangulia kitovu cha mtoto", "value": false, "openmrs_entity": "", "openmrs_entity_id": "113617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -176,7 +176,7 @@ }, { "key": "Perineum_bleeding", - "text": "Kutoka na damu kwnenye msamba", + "text": "Kuchanika msamba", "value": false, "openmrs_entity": "", "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -184,7 +184,7 @@ }, { "key": "Fullness_or_pain_of_the_breasts", - "text": "Kuvimbwa kwa titi/matiti", + "text": "Kujaa au maumivu ya matiti, chuchu, na kushindwa kunyonyesha", "value": false, "openmrs_entity": "", "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -192,7 +192,7 @@ }, { "key": "HIV_care_and_support_services", - "text": "Huduma za matunzo na usaidizi wa VVU", + "text": "Huduma za wateja / wagonjwa wanaoishi na VVU", "value": false, "openmrs_entity": "", "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -208,7 +208,7 @@ }, { "key": "PMTCT_for_mothers", - "text": "PMTCT kwa wamama", + "text": "Huduma ya kuzuia maambukizi ya VVU toka kwa mama kwenda kwa mtoto", "value": false, "openmrs_entity": "", "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -224,7 +224,7 @@ }, { "key": "Fast_breathing_and_difficulty_with_breathing", - "text": "Kupumua kwa haraka na kupumua kwa shida", + "text": "Kushindwa kupumua", "value": false, "openmrs_entity": "", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -232,7 +232,7 @@ }, { "key": "Umbilical_cord", - "text": "Kutokwa na damu kwenye kitovu", + "text": "Kutoka damu kwenye kitovu cha mtoto", "value": false, "openmrs_entity": "", "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -240,7 +240,7 @@ }, { "key": "Excessive_crying", - "text": "Kulia kupita kiasi", + "text": "Mtoto kulia sana", "value": false, "openmrs_entity": "", "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -248,7 +248,7 @@ }, { "key": "Unable_to_breastfeed_or_swallow", - "text": "Kutoweza kunyonya au kumeza", + "text": "Kushindwa kunyonya au kumeza", "value": false, "openmrs_entity": "", "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -256,7 +256,7 @@ }, { "key": "Neck_stiffness", - "text": "Kukaza kwa shingo", + "text": "Shingo kukakamaa", "value": false, "openmrs_entity": "", "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -272,7 +272,7 @@ }, { "key": "Redness_around_the_umbilical_cord_foul", - "text": "Kuwa na wekundu eneolinalozunguka kitovu, kutokwa na majimaji yenye harufu mbaya kutoka kwenye kitovu", + "text": "Uambukizo kwenye kitovu", "value": false, "openmrs_entity": "", "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -280,7 +280,7 @@ }, { "key": "Bacterial_conjunctivitis", - "text": "Ugonjwa wa macho unaosababishwa na bakteria", + "text": "Macho kutoa uchafu / usaa", "value": false, "openmrs_entity": "", "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -288,7 +288,7 @@ }, { "key": "Pale_or_jaundiced", - "text": "Kupauka au kuonekana na ngozi yenye rangi ya njano", + "text": "Mwili kuwa njano", "value": false, "openmrs_entity": "", "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -296,7 +296,7 @@ }, { "key": "Cyanosis_blueness_of_lips", - "text": "Mdomo kuwa na rangi ya bluu", + "text": "Kubadilika kwa sababu ya kukosa hewa(midomo kuwa bluu,ulimi au viganja)", "value": false, "openmrs_entity": "", "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -304,7 +304,7 @@ }, { "key": "Skin_rash_pustules", - "text": "Vipele kwenye ngozi", + "text": "Vipele mwilini", "value": false, "openmrs_entity": "", "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -312,7 +312,7 @@ }, { "key": "Diarrhea", - "text": "Kuhara", + "text": "Kuharisha", "value": false, "openmrs_entity": "", "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -320,7 +320,7 @@ }, { "key": "Disabilities", - "text": "Ulemavu wa kuzaliwa nao", + "text": "Kuzaliwa na ulemavu", "value": false, "openmrs_entity": "", "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -328,7 +328,7 @@ }, { "key": "Premature_baby", - "text": "Mtoto njiti", + "text": "Mtoto aliyezaliwa na Uzito pungufu/ njiti", "value": false, "openmrs_entity": "", "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -336,7 +336,7 @@ }, { "key": "Failure_to_pass_urine_or_stool", - "text": "Kushindwa kujtoa haja ndogo au kubwa ndani ya masaa 24 baada ya kuzaliwa", + "text": "Kushindwa kukojoa au kutopata haja kubwa kwa muda wa saa 24 baada ya kuzaliwa", "value": false, "openmrs_entity": "", "openmrs_entity_id": "", @@ -344,7 +344,7 @@ }, { "key": "Care_of_HIV_exposed_infant", - "text": "Utunzaji wa mtoto aliyeambukizwa VVU", + "text": "Huduma za kumsaidia mtoto aliyezaliwa na mama mwenye VVU", "value": false, "openmrs_entity": "", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -352,7 +352,7 @@ }, { "key": "Immunisation", - "text": "Kupatiwa chanjo ya kinga", + "text": "Huduma za chanjo", "value": false, "openmrs_entity": "", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -370,7 +370,7 @@ ], "v_required": { "value": true, - "err": "Tafadhali bainisha hali /tatizo la mteja" + "err": "Tafadhali taja hali ya mteja / shida" } }, { @@ -380,7 +380,7 @@ "openmrs_entity_id": "", "openmrs_entity_parent": "", "edit_type": "name", - "hint": "Dalili nyingne", + "hint": "Dalili nyingine", "relevance": { "rules-engine": { "ex-rules": { @@ -395,7 +395,7 @@ "openmrs_entity": "", "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Usimamizi wa kabla ya kupewa rufaa iliyotolewa", + "label": "Huduma aliyopewa kabla ya rufaa", "label_text_style": "bold", "is_problem": false, "exclusive": [ @@ -429,7 +429,7 @@ }, { "key": "None", - "text": "Hakuna", + "text": "Hajapata matibabu", "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -438,7 +438,7 @@ ], "v_required": { "value": "true", - "err": "Sehemu ya usimamizi wa kabla ya kupewa rufaa inahitajika" + "err": "Pre-referral management field is required" } }, { @@ -452,7 +452,7 @@ "is_problem": false, "v_required": { "value": "true", - "err": "Tafadhali bainisha matibabu mengine" + "err": "Tafadhali taja matibabu mengine" }, "relevance": { "rules-engine": { diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json index 9cc0f36207..4ccf239484 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/anc_referral_form.json @@ -54,247 +54,256 @@ }, "steps": [ { - "title": "Fomu ya rufaa ya mama mjamzito", + "title": "Rufaa ya mama mjamzito", "fields": [ { "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua tatizo/hali aliyonayo mteja" + "text": "Tatizo / hali ya afya ya mteja" }, "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "problem" + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "options": [ { "name": "Vaginal_bleeding", "text": "Kutoka damu ukeni", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Vaginal_bleeding", + "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", - "text": "Kutokwa na majimaji ukeni yenye rangirangi na harufu mbaya", - "meta_data": { + "text": "Kutoka uchafu / majimaji ukeni yenye harufu mbaya", + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", + "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "High_blood_pressure", - "text": "Shinikizo la damu", - "meta_data": { + "text": "Shinikizo la damue", + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "High_blood_pressure", + "openmrs_entity_id": "113088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Severe_abdominal_pain", "text": "Maumivu makali ya tumbo", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Severe_abdominal_pain", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Severe_anaemia", "text": "Upungufu mkubwa wa damu", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Severe_anaemia", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Convulsions", - "text": "Degedege", - "meta_data": { + "text": "Degedege / Mtukutiko wa mwili", + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Convulsions", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "No_movement_unusual_movement_for_a_child_in_the_womb", - "text": "Hakuna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni", - "meta_data": { + "text": "Kutocheza / kucheza kusiko kwa kawaida kwa mtoto aliye tumboni", + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "No_movement_unusual_movement_for_a_child_in_the_womb", + "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Pregnancy_pains_before_9_months", "text": "Uchungu kuanza mapema kabla ya mimba kufikia miezi 9", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Pregnancy_pains_before_9_months", + "openmrs_entity_id": "153316AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Early_age_pregnancy_below_18_years", "text": "Kupata mimba katika umri mdogo (chini ya umri wa miaka 18)", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Early_age_pregnancy_below_18_years", + "openmrs_entity_id": "163119AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "A_severe_headache_dizziness", - "text": "Maumivu makali ya kichwa/kizunguzungu", - "meta_data": { + "text": "Maumivu makali ya kichwa / kizunguzungu", + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "A_severe_headache_dizziness", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Swelling_of_the_face_andor_hands", - "text": "Kuvimba uso na/au mikono", - "meta_data": { + "text": "Kuvimba uso na / au mikono", + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Swelling_of_the_face_andor_hands", + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Fever", "text": "Homa", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Fever", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Shivering_trembling", "text": "Kutetemeka", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Shivering_trembling", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Nausea_and_Vomiting", "text": "Kichefuchefu na kutapika", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Nausea_and_Vomiting", + "openmrs_entity_id": "133473AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Water_sack_broke_before_contractions", "text": "Chupa kupasuka mapema kabla ya uchungu", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Water_sack_broke_before_contractions", + "openmrs_entity_id": "129211AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Cord_prolapse", "text": "Kutangulia kitovu cha mtoto", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Cord_prolapse", + "openmrs_entity_id": "128419AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "HIV_care_and_support_services", - "text": "Huduma za wateja/wagonjwa wanaoishi na VVU", - "meta_data": { + "text": "Huduma za wateja / wagonjwa wanaoishi na VVU", + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "HIV_care_and_support_services", + "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Family_planning_services", "text": "Huduma za uzazi wa mpango", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Family_planning_services", + "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "PMTCT_for_mothers", "text": "Huduma ya kuzuia maambukizi ya VVU toka kwa mama kwenda kwa mtoto", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "PMTCT_for_mothers", + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Fistula", "text": "Fistula", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Fistula", + "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Difficultly_breathing", "text": "Kupumua kwa shida", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Difficultly_breathing", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Breast_engorgement", "text": "Kujaa au maumivu ya matiti, chuchu na kushindwa kunyonyesha", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Breast_engorgement", + "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Blurred_vision", "text": "Kuona kwa shida", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Blurred_vision", + "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Perineum_tear", "text": "Kuchanika msamba", - "meta_data": { + "metadata": { + "openmrs_entity": "", + "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Pregnancy_confirmation", + "text": "Kuhakiki uja-uzito", + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Perineum_tear", + "openmrs_entity_id": "152305AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Other_symptoms", "text": "Dalili nyingine", - "meta_data": { + "metadata": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptoms", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } } ], - "required_status": "yes:Tafadhali bainishi sababu za rufaa kwenda kliniki ya mjamzito", + "required_status": "yes:Tafadhali taja sababu ya rufaa ya mama mjamzito", "dependent_calculations": [ "referral_date", "referral_time", @@ -305,28 +314,27 @@ { "name": "problem_other", "type": "text_input_edit_text", - "meta_data": { + "metadata": { "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "properties": { - "hint": "Dalili nyingine", - "type": "name" + "hint": "Dalili nyingine" }, - "required_status": "true:Tafadhali bainisha dalili nyingine", + "required_status": "true:Tafadhali taja dalili zingine", "subjects": "problem:map" }, { "name": "service_before_referral", - "meta_data": { + "metadata": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "service_before_referral" + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "type": "multi_choice_checkbox", "properties": { - "text": "Matibabu aliyopewa kabla ya rufaa" + "text": "Huduma aliyopewa kabla ya rufaa." }, "options": [ { @@ -334,16 +342,16 @@ "text": "ORS", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "ORS", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "Panadol", - "text": "Panado", + "text": "Panadol", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Panadol", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -352,7 +360,7 @@ "text": "Matibabu mengine", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_treatment", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -362,26 +370,25 @@ "is_exclusive": true, "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "None", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } } ], - "required_status": "yes:Matibabu aliyopewa kabla ya rufaa ni lazima" + "required_status": "True:Huduma aliyopewa kabla ya rufaa ni lazima" }, { "name": "service_before_referral_other", "type": "text_input_edit_text", "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "service_before_referral_other", - "openmrs_entity_parent": "service_before_referral" + "openmrs_entity": "", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "properties": { - "hint": "Matibabu mengine", - "type": "name" + "hint": "Matibabu mengine" }, - "required_status": "true:Tafadhali jaza matibabu mengine", + "required_status": "true:Tafadhali taja matibabu mengine", "subjects": "service_before_referral:map" }, { @@ -393,27 +400,31 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Chagua Kituo cha rufaa", - "searchable": "Chagua Kituo cha rufaa" + "text": "Chagua Kituo cha Afya", + "searchable": "Chagua Kituo cha Afya" }, - "options": [], - "required_status": "yes:Tafadhali chagua kituo cha rufaa" + "options": [ + { + "name": "none", + "text": "Chagua Kituo cha Afya" + } + ], + "required_status": "yes:Tafadhali chagua kituo cha Afya cha kutuma rufaa" }, { "name": "referral_appointment_date", "type": "datetime_picker", "properties": { - "hint": "Chagua tarehe ya miadi", + "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "referral_appointment_date", "openmrs_entity_parent": "" }, - "required_status": "true:Tafadhali chagua tarehe ya miadi" + "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_gbv_referral_form.json index 1efc359e27..150ba1cddd 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_gbv_referral_form.json @@ -194,8 +194,7 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_referral_form.json index cd5594b7eb..2ad7f99e25 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/child_referral_form.json @@ -383,8 +383,7 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/female_fp_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/female_fp_referral_form.json index 0803eb7169..2ea1ba5a68 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/female_fp_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/female_fp_referral_form.json @@ -561,8 +561,7 @@ "properties": { "hint": "Tafadhali chagua tarehe ya hudhurio", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json index 495d84b2bb..ac4af8395f 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/gbv_referral_form.json @@ -54,17 +54,17 @@ }, "steps": [ { - "title": "Rufaa kwenda kwenye huduma ya kuzuia ukatili wa kijinsia (dawati la jinsia)", + "title": "Rufaa kwenda Huduma ya kuzui ukatili wa kijinsia (dawati la jinsia)", "fields": [ { "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua tatizo/hali aliyonayo mteja." + "text": "Tatizo / hali ya afya ya mteja." }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "problem", + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, "options": [ @@ -130,7 +130,7 @@ } } ], - "required_status": "yes:Tafadhali bainisha tatizo/hali ya mteja", + "required_status": "yes:Tafadhali taja hali ya mteja / shida", "dependent_calculations": [ "referral_date", "referral_time", @@ -147,8 +147,8 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "required_status": "true:Tafadhali jaza dalili nyingine", "subjects": "problem:map" @@ -162,27 +162,26 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Chagua Kituo cha rufaa", - "searchable": "Chagua Kituo cha rufaa" + "text": "Chagua Kituo cha Afya", + "searchable": "Chagua Kituo cha Afya" }, "options": [], - "required_status": "yes:Tafadhali chagua Kituo cha rufaa" + "required_status": "yes:Please specify referral facility" }, { "name": "referral_appointment_date", "type": "datetime_picker", "properties": { - "hint": "Tarehe ya miadi", + "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "referral_appointment_date", "openmrs_entity_parent": "" }, - "required_status": "true:Tafadhali chagua tarehe ya miadi" + "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json index 56f95df328..f4287f0108 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/hiv_referral_form.json @@ -60,29 +60,47 @@ "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Chagua tatizo au hali inayoendana na mteja" + "text": "Tatizo / hali ya afya ya mteja." }, "meta_data": { - "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "problem" + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" }, "options": [ { - "name": "pain", - "text": "Maumivu", + "name": "frequent_fever", + "text": "Homa za mara kwa mara", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "frequent_fever", + "openmrs_entity_parent": "" + } + }, + { + "name": "weight_loss", + "text": "Kupungua uzito", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "weight_loss", + "openmrs_entity_parent": "" + } + }, + { + "name": "living_with_a_spouse_with_hiv", + "text": "Anaishi na mwenza mwenye VVU", "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "pain", + "openmrs_entity": "", + "openmrs_entity_id": "living_with_a_spouse_with_hiv", "openmrs_entity_parent": "" } }, { - "name": "coughing", - "text": "Kukohoa", + "name": "living_in_a_risky_area", + "text": "Eneo hatarishi", "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "coughing", + "openmrs_entity": "", + "openmrs_entity_id": "living_in_a_risky_area", "openmrs_entity_parent": "" } }, @@ -96,7 +114,7 @@ } } ], - "required_status": "yes:Tafadhali bainisha tatizo la mteja", + "required_status": "yes:Tafadhali taja hali ya mteja / shida", "dependent_calculations": [ "referral_date", "referral_time", @@ -108,59 +126,41 @@ "name": "problem_other", "type": "text_input_edit_text", "properties": { - "hint": "Jaza dalili nyingine", + "hint": "Dalili nyingine", "type": "name" }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - "required_status": "true:Tafadhali bainisha dalili nyingine", + "required_status": "true:Tafadhali jaza dalili nyingine", "subjects": "problem:map" }, { "name": "service_before_referral", "type": "multi_choice_checkbox", - "properties": { - "text": "Matibabu yaliyotolewa kabla ya rufaa" - }, "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "service_before_referral", - "openmrs_entity_parent": "" + "openmrs_entity": "concept", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Huduma aliyopewa kabla ya rufaa." }, "options": [ - { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", - "openmrs_entity_parent": "" - } - }, - { - "name": "aspirin", - "text": "Aspirini", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, { "name": "Other_treatment", "text": "Matibabu mengine", "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "Other_treatment", + "openmrs_entity": "", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, { "name": "none", - "text": "Hapana", + "text": "Hajapewa matibabu yoyote", "is_exclusive": true, "meta_data": { "openmrs_entity": "", @@ -169,21 +169,21 @@ } } ], - "required_status": "yes:Tafadhali bainisha matibabu yaliyotolewa kabla ya rufaa" + "required_status": "True:Huduma aliyopewa kabla ya rufaa ni lazima" }, { "name": "service_before_referral_other", "type": "text_input_edit_text", "properties": { - "hint": "Jaza matibabu mengine", + "hint": "Matibabu mengine", "type": "name" }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "service_before_referral_other", - "openmrs_entity_parent": "service_before_referral" + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - "required_status": "true:Tafadhali bainisha matibabu mengine", + "required_status": "true:Tafadhali taja matibabu mengine", "subjects": "service_before_referral:map" }, { @@ -195,27 +195,26 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Chagua kituo cha rufaa", - "searchable": "Chagua kituo cha rufaa" + "text": "Chagua Kituo cha Afya", + "searchable": "Chagua Kituo cha Afya" }, "options": [], - "required_status": "yes:Tafadhali chagua kituo cha rufaa" + "required_status": "yes:Please specify referral facility" }, { "name": "referral_appointment_date", "type": "datetime_picker", "properties": { - "hint": "Tafadhali chagua tarehe ya miadi", + "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "referral_appointment_date", "openmrs_entity_parent": "" }, - "required_status": "true:Tafadhali chagua tarehe ya miadi" + "required_status": "true:Tafadhali chagua tarehe ya kuhudhuria hospitali" } ] } diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/hts_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/hts_referral_form.json deleted file mode 100644 index 52bb7afe66..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/hts_referral_form.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "form": "Referral form", - "encounter_type": "Referral Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/general_neat_referral_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Fomu ya Rufaa Kwa Ajili ya Huduma ya Upimaji wa VVU", - "fields": [ - { - "name": "problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Chagua tatizo au hali inayoendana na mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "frequent_fever", - "text": "Homa za mara kwa mara", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "frequent_fever", - "openmrs_entity_parent": "" - } - }, - { - "name": "weight_loss", - "text": "Kupoteza uzito", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "weight_loss", - "openmrs_entity_parent": "" - } - }, - { - "name": "living_with_a_spouse_with_hiv", - "text": "Anaishi na mwenza mwenye VVU", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "living_with_a_spouse_with_hiv", - "openmrs_entity_parent": "" - } - }, - { - "name": "living_in_a_risky_area", - "text": "Maeneo hatarishi kwa maambukizi ya VVU", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "living_in_a_risky_area", - "openmrs_entity_parent": "" - } - }, - { - "name": "Other_symptom", - "text": "Dalili nyingine", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "Other_symptom", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua dalili nyingine", - "dependent_calculations": [ - "referral_date", - "referral_time", - "referral_type", - "referral_status" - ] - }, - { - "name": "problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Dalili nyingine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" - }, - "required_status": "true:Tafadhali chagua dalili nyingine", - "subjects": "problem:map" - }, - { - "name": "chw_referral_hf", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "chw_referral_hf", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Chagua Kituo cha rufaa", - "searchable": "Chagua Kituo cha rufaa" - }, - "options": [], - "required_status": "yes:Tafadhali chagua Kituo cha rufaa" - }, - { - "name": "referral_appointment_date", - "type": "datetime_picker", - "properties": { - "hint": "Tafadhali chagua tarehe ya miadi", - "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_appointment_date", - "openmrs_entity_parent": "" - }, - "required_status": "true:Tafadhali chagua tarehe ya miadi" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/malaria_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/malaria_referral_form.json index 73d69c02ae..6df7182c22 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/malaria_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/malaria_referral_form.json @@ -380,8 +380,7 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/male_fp_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/male_fp_referral_form.json index dbbabe6afa..01d6c61d26 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/male_fp_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/male_fp_referral_form.json @@ -237,8 +237,7 @@ "properties": { "hint": "Tafadhali chagua tarehe ya hudhurio", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/pnc_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/pnc_referral_form.json index fa562fc126..ea8d2db046 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/pnc_referral_form.json @@ -511,8 +511,7 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json deleted file mode 100644 index a58a088f05..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/pregnancy_confirmation_referral_form.json +++ /dev/null @@ -1,221 +0,0 @@ -{ - "form": "Pregnancy Confirmation Referral", - "encounter_type": "Pregnancy Confirmation Referral", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/pregnancy_confirmation_referral_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Rufaa kwa ajili ya kuhakiki uja-uzito", - "fields": [ - { - "name": "problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Chagua tatizo/hali aliyonayo mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "loss_of_menstrual_period", - "text": "Amepoteza siku zake za hedhi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "loss_of_menstrual_period", - "openmrs_entity_parent": "" - } - }, - { - "name": "vomiting", - "text": "Anatapika", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "vomiting", - "openmrs_entity_parent": "" - } - }, - { - "name": "fever", - "text": "Homa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fever", - "openmrs_entity_parent": "" - } - }, - { - "name": "severe_headache", - "text": "Maumivu makali ya kichwa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "severe_headache", - "openmrs_entity_parent": "" - } - }, - { - "name": "nausea", - "text": "Kichefuchefu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "nausea", - "openmrs_entity_parent": "" - } - }, - { - "name": "feeling_lightheaded_or_dizzy", - "text": "Kizunguzungu", - "meta_data": { - "openmrs_entity": "conceptc", - "openmrs_entity_id": "feeling_lightheaded_or_dizzy", - "openmrs_entity_parent": "" - } - }, - { - "name": "frequent_urination", - "text": "Kukojoa mara kwa mara", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "frequent_urination", - "openmrs_entity_parent": "" - } - }, - { - "name": "painful_breasts", - "text": "Maumivu ya matiti", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "painful_breasts", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_symptoms", - "text": "Dalili nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_symptoms", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hakuna", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali bainisha sababu za rufaa ya kufanya uhakiki wa uja-uzito", - "dependent_calculations": [ - "referral_date", - "referral_time", - "referral_type", - "referral_status", - "service_before_referral" - ] - }, - { - "name": "problem_other", - "type": "text_input_edit_text", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" - }, - "properties": { - "hint": "Dalili nyingine", - "type": "name" - }, - "required_status": "true:Tafadhali bainisha dalili nyingine", - "subjects": "problem:map" - }, - { - "name": "chw_referral_hf", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "chw_referral_hf", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Chagua kituo cha rufaa", - "searchable": "Chagua kituo cha rufaa" - }, - "options": [], - "required_status": "yes:Tafadhali chagua kituo cha rufaa" - }, - { - "name": "referral_appointment_date", - "type": "datetime_picker", - "properties": { - "hint": "Chagua tarehe ya miadi", - "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_appointment_date", - "openmrs_entity_parent": "" - }, - "required_status": "true:Tafadhali chagua tarehe ya miadi" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/referral_form.json index 06f27fd094..099ad11674 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/referral_form.json @@ -171,8 +171,7 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/referrals/tb_referral_form.json b/opensrp-chw/src/ba/assets/json.form-sw/referrals/tb_referral_form.json index c2930f66a8..174011ec03 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/referrals/tb_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/referrals/tb_referral_form.json @@ -201,8 +201,7 @@ "properties": { "hint": "Tarehe ya kuhudhuria hospitali", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form-sw/routine_home_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/routine_home_visit.json index 1e52b77a8b..e803f95059 100644 --- a/opensrp-chw/src/ba/assets/json.form-sw/routine_home_visit.json +++ b/opensrp-chw/src/ba/assets/json.form-sw/routine_home_visit.json @@ -54,7 +54,7 @@ } }, "step1": { - "title": "Counselling", + "title": "Ushauri", "fields": [ { "key": "counselling_1m5yrs", @@ -62,7 +62,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "counselling", "type": "check_box", - "label": "Ushauri uliyotolewa", + "label": "Ushauri uliotolewa", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -71,113 +71,113 @@ "options": [ { "key": "chk_maternal_nutrition", - "text": "Lishe ya mama wakati wa kunyonyesha", + "text": "3. Lishe kwa mama wakati wa kunyonyesha", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_hiv_aids", - "text": "Taarifa za jumla za VVU/UKIMWI", + "text": "5. Umuhimu wa kupata ushauri nasaha na kupima VVU", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_pmtc_for_mother", - "text": "PMTCT kwa mama", + "text": "6. Kuzuia mambukizi ya VVU kutoka kwa mama kwenda kwa mtoto", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_malaria_prevention", - "text": "Kinga dhidi ya malaria", + "text": "7. Kuzuia malaria kwa watoto wenye umri chini ya miaka mitano", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_hiv_exposed_infant", - "text": "Ufuatiliaji wa mtoto aliyeambukizwa VVU", + "text": "15. Ufuatiliaji wa mtoto aliyezaliwa na mama mwenye VVU", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_breast_feeding", - "text": "Kunyonyesha", + "text": "16. Unyonyeshaji wa maziwa ya mama", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_birth_registration", - "text": "Usajili wa kuzaliwa", + "text": "19. Usajili wa vizazi", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_complementary_feeding", - "text": "Lishe ya ziada", + "text": "20. Kumlisha mtoto vyakula vya nyongeza", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_growth_and_dev", - "text": "Ukuaji na maendeleo", + "text": "21. Makuzi na maendeleo ya awali ya mtoto", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_immunization", - "text": "Upataji wa chanjo ya kinga", + "text": "22. Chanjo", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_newborn_danger", - "text": "Ishara za hatari kwa watoto wachanga", + "text": "23. Dalili za hatari kwa mtoto mchanga", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_infection", - "text": "Kuzuia na kudhibiti maambukizi", + "text": "24. Kuzuia maambukizi katika jamii", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_prevention_of_accidents", - "text": "Kuzuia ajali", + "text": "25. Kuzuia ajali kwa watoto chini ya miaka Mitano", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_gender_issues", - "text": "Masuala ya jinsia", + "text": "26. Jinsia", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_none", - "text": "Hakuna", + "text": "Hajafanya", "value": false, - "openmrs_entity": "concept", + "openmrs_entity": "", "openmrs_entity_id": "" } ], "v_required": { "value": true, - "err": "Tafadhali taja dalili zozote zile au chagua Hakuna" + "err": "Tafadhali taja dalili zingine zozote au uchague hajafanya" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form-sw/tb_case_closure.json b/opensrp-chw/src/ba/assets/json.form-sw/tb_case_closure.json deleted file mode 100644 index 9384561eb2..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/tb_case_closure.json +++ /dev/null @@ -1,141 +0,0 @@ -{ - "form": "TB Case Closure form", - "count": "1", - "encounter_type": "TB Case Closure", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/tb_case_closure_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Fuzu huduma za TB", - "fields": [ - { - "name": "client_condition", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_condition", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya mteja wakati wakumtembelea" - }, - "options": [ - { - "name": "client_does_her_daily_activities", - "text": "Anaweza kufanya shughuli zake za kila siku", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_does_her_daily_activities", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_takes_care_of_himself", - "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_takes_care_of_himself", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_is_unable_to_take_care_of_himself", - "text": "Hajimudu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza hali ya mteja wakati wa kumtembelea", - "dependent_calculations": [ - "tb_case_closure_date" - ] - }, - { - "name": "completed_medication_as_required", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_medication_as_required", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Mteja ametumia dawa kwa usahihi" - }, - "options": [ - { - "name": "yes", - "text": "Ndio", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "yes", - "openmrs_entity_parent": "" - } - }, - { - "name": "no", - "text": "Hapana", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "no", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jibu swali hili" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/tb_community_followup_feedback.json b/opensrp-chw/src/ba/assets/json.form-sw/tb_community_followup_feedback.json deleted file mode 100644 index 3b09543ff8..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/tb_community_followup_feedback.json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "form": "TB Community Followup Feedback", - "count": "1", - "encounter_type": "TB Community Followup Feedback", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/tb_community_followup_feedback_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Fomu ya mrejesho wa ufwatiliaji wa mteja wenye Kifua Kikuu", - "fields": [ - { - "name": "followup_status", - "type": "spinner", - "properties": { - "text": "Followup Feedback" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "continuing_with_services", - "text": "Anaendelea na Huduma.", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Amefariki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Hapatikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Amehamishiwa mahali pengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Amehama", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Amejitoa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Anaendelea na huduma akitokea mahali pengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please select the followup feedback", - "dependent_calculations": [ - "tb_community_followup_visit_date" - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/tb_followup_visit.json b/opensrp-chw/src/ba/assets/json.form-sw/tb_followup_visit.json deleted file mode 100644 index 2cca8cd092..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/tb_followup_visit.json +++ /dev/null @@ -1,458 +0,0 @@ -{ - "form": "TB Followup form", - "count": "1", - "encounter_type": "TB Followup", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/tb_followup_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Fomu ya kumtembelea mgonjwa wa TB", - "fields": [ - { - "name": "registration_or_followup_status", - "type": "spinner", - "properties": { - "text": "Hali ya usajili/ ufuatiliaji" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registration_or_followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "new_client", - "text": "Mpya", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "new_client", - "openmrs_entity_parent": "" - } - }, - { - "name": "continuing_with_services", - "text": "Anaendelea na Huduma.", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Amefariki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Hapatikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Amehamishiwa mahali pengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Amehama", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Amejitoa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Anaendelea na huduma akitokea mahali pengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - }, - { - "name": "completed_and_qualified_from_the_services ", - "text": "Amefuzu huduma", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_and_qualified_from_the_services", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza hali ya usajili/ ufuatiliaji", - "dependent_calculations": [ - "tb_followup_visit_date" - ] - }, - { - "name": "client_condition", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_condition", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya mteja" - }, - "options": [ - { - "name": "client_does_her_daily_activities", - "text": "Anaweza kufanya shughuli zake za kila siku", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_does_her_daily_activities", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_takes_care_of_himself", - "text": "Anajimudu mwenyewe (kuoga, kula, kuvaa)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_takes_care_of_himself", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_is_unable_to_take_care_of_himself", - "text": "Hajimudu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza hali ya mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "other_problems", - "text": "Matatizo mengine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hana tatizo", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali chagua matatizo ya kijamii/kitabibu ya Mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Matatizo mengine ya kijamii/kitabibu ya Mteja", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" - }, - "required_status": "Tafadhali jaza matatizo mengine", - "subjects": "problem:map" - }, - { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Tabia na mazingira hatarishi ya mteja" - }, - "options": [ - { - "name": "na", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Mlevi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "vulnerable_environment", - "text": "Anaishi kwenye mazingira hatarishi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "vulnerable_environment", - "openmrs_entity_parent": "" - } - }, - { - "name": "hiv_positive", - "text": "Anamambukizi ya VVU", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_positive", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza tabia na mazingira hatarishi ya mteja", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Vifaa na dawa zilizotolewa" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "other_medicine", - "text": "Vifaa na dawa nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hamna kilichotolewa", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza vifaa na dawa zilizotolewa", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Vifaa na dawa nyingine vilivyotolewa" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided_other", - "openmrs_entity_parent": "supplies_provided" - }, - "required_status": "true:Tafadhali jaza vifaa na dawa nyingine", - "subjects": "supplies_provided:map" - }, - { - "name": "tb_services_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Huduma zilizotolewa (Huduma za TB/DR-TB katika Jamii ikiwemo TB/DR-TB) " - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_services_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "other_services", - "text": "Huduma nyingnie za TB katika jamii", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_tb_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "Hamna huduma iliyotolewa", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please TB services provided", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "tb_services_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Huduma nyingnie za TB katika jamii zilizotolewa", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_services_provided_other", - "openmrs_entity_parent": "tb_services_provided" - }, - "required_status": "true:Tafadhali jaza huduma nyingnie za TB katika jamii zilizotolewa", - "subjects": "tb_services_provided:map" - }, - { - "name": "state_of_therapy", - "type": "spinner", - "properties": { - "text": "Hali ya Tiba na Matunzo (TB/DR-TB)" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "registered_but_not_began_medication", - "text": "Ameandikishwa TB klinik lakini hajaanza TB/ DR TB", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_but_not_began_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_and_uses_medication", - "text": "Ameandikishwa TB klinik na anatumia TB/ DR TB", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_and_uses_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "not_registered_in_tb_clinic", - "text": "Hajaandikishwa TB klinik", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "not_registered_in_tb_clinic", - "openmrs_entity_parent": "" - } - }, - { - "name": "na", - "text": "Haihusiki", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza hali ya Tiba na Matunzo ", - "subjects": "registration_or_followup_status:text" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json b/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json deleted file mode 100644 index 2376bfbc58..0000000000 --- a/opensrp-chw/src/ba/assets/json.form-sw/tb_registration.json +++ /dev/null @@ -1,339 +0,0 @@ -{ - "form": "TB Registration form", - "count": "1", - "encounter_type": "TB Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/tb_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Usajili wa wateja wa TB", - "fields": [ - { - "name": "community_client_tb_registration_number", - "type": "text_input_edit_text", - "properties": { - "hint": "Namba ya Kliniki ya TB" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "community_client_tb_registration_number", - "openmrs_entity_parent": "" - }, - "required_status": "no" - }, - { - "name": "client_tb_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_tb_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya maambukizo ya TB wakati wa kuandikishwa" - }, - "options": [ - { - "name": "unknown", - "text": "Haijulikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Ana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Hana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza hali ya maambukizo ya TB wakati wa kuandikishwa", - "dependent_calculations": [ - "tb_registration_date" - ] - }, - { - "name": "place_of_domicile", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "place_of_domicile", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Mahali alipotokea mteja/alipohojiwa" - }, - "options": [ - { - "name": "a_family_with_tb_patient", - "text": "Familia yenye mgonjwa wa TB (Andika namba ya wilaya ya mgonjwa wa TB)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "a_family_with_tb_patient", - "openmrs_entity_parent": "" - } - }, - { - "name": "a_family_without_tb_patient", - "text": "Familia isiyo na mgonjwa wa TB/DR-TB", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "a_family_without_tb_patient", - "openmrs_entity_parent": "" - } - }, - { - "name": "community_gathering", - "text": "Mkusanyiko wa watu/sehemu nyingine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "community_gathering", - "openmrs_entity_parent": "" - } - }, - { - "name": "pharmacy", - "text": "Duka la dawa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "pharmacy", - "openmrs_entity_parent": "" - } - }, - { - "name": "traditional_doctors", - "text": "Mganga wa jadi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "traditional_doctors", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza mahali alipotokea mteja/alipohojiwa" - }, - { - "name": "district_council_number_of_current_tb_client", - "type": "text_input_edit_text", - "properties": { - "hint": "Jaza namba ya wilaya ya mgonjwa wa TB" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "district_council_number_of_current_tb_client", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Tafadhali jaza jaza namba ya wilaya ya mgonjwa wa TB", - "subjects": "place_of_domicile:text" - }, - { - "name": "community_gathering", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "community_gathering", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Mkusanyiko wa watu/sehemu nyingine" - }, - "options": [ - { - "name": "school", - "text": "Shule", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "school", - "openmrs_entity_parent": "" - } - }, - { - "name": "worship_houses", - "text": "Nyumba za Ibada", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "worship_houses", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining", - "text": "Machimbo", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining", - "openmrs_entity_parent": "" - } - }, - { - "name": "public_meetings", - "text": "Mikutano ya hadhara", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "public_meetings", - "openmrs_entity_parent": "" - } - }, - { - "name": "prison", - "text": "Magereza", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "prison", - "openmrs_entity_parent": "" - } - }, - { - "name": "others", - "text": "Kwingineko", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "others", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza mkusanyiko wa watu/sehemu nyingine", - "subjects": "place_of_domicile:text" - }, - { - "name": "other_community_gathering", - "type": "text_input_edit_text", - "properties": { - "hint": "Taja kwingineko" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_community_gathering", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Tafadhali jaza kwingineko", - "subjects": "community_gathering:text" - }, - { - "name": "client_screening_results", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_screening_results", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Matokeo ya mahojiano (*Dalili alizonazo)" - }, - "options": [ - { - "name": "coughing", - "text": "Kikihozi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "coughing", - "openmrs_entity_parent": "" - } - }, - { - "name": "hemoptysis", - "text": "Makohozi yaliyochanganyika na Damu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hemoptysis", - "openmrs_entity_parent": "" - } - }, - { - "name": "fever", - "text": "Homa", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fever", - "openmrs_entity_parent": "" - } - }, - { - "name": "weight_lose", - "text": "Kupungua uzito", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "weight_lose", - "openmrs_entity_parent": "" - } - }, - { - "name": "night_sweats", - "text": "Kutokwa jasho jingi kuliko kawaida hasa nyakati za usiku", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "night_sweats", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Tafadhali jaza matokeo ya mahojiano (*Dalili alizonazo)" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json index def1a165ab..6e2fba578b 100644 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/ba/assets/json.form/all_clients_registration_form.json @@ -70,51 +70,17 @@ "err": "Please enter the surname" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter surname" } }, - { - "key": "client_first_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "first_name", - "type": "edit_text", - "hint": "First name", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please enter the first name" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Please enter a valid name" - } - }, - { - "key": "client_middle_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "middle_name", - "type": "edit_text", - "hint": "Middle name", - "edit_type": "name", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Please enter a valid name" - }, - "v_required": { - "value": "true", - "err": "Please enter the middle name" - } - }, { "key": "unique_id", "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "hidden": "true", - "type": "edit_text", + "type": "barcode", "barcode_type": "qrcode", "hint": "ID", "scanButtonText": "Scan QR Code", @@ -130,14 +96,14 @@ "openmrs_entity_id": "cityVillage", "type": "edit_text", "edit_type": "name", - "hint": "Area name", + "hint": "Village", "v_required": { "value": "true", - "err": "Please enter the area name" + "err": "Please enter the village or town" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Please enter a valid area name" + "err": "Please enter a valid village name" } }, { @@ -147,7 +113,7 @@ "openmrs_entity_id": "landmark", "type": "edit_text", "edit_type": "name", - "hint": "Landmark/Description of house location", + "hint": "Landmark/ description of house location", "v_required": { "value": true, "err": "Please enter the landmark/description of location." @@ -157,7 +123,7 @@ "key": "gps", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gps", + "openmrs_entity_id": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "gps" }, @@ -173,14 +139,14 @@ "key": "nearest_facility", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "nearest_facility", + "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Village/Street", + "hint": "Nearest health facility", "tree": [], "v_required": { "value": true, - "err": "Please select the village or street" + "err": "Please enter the nearest health facility" } } ] @@ -188,14 +154,23 @@ "step2": { "title": "Client details", "fields": [ + { + "key": "photo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "choose_image", + "uploadButtonText": "Take a picture of the person" + }, { "key": "unique_id", "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "edit_text", - "read_only": true, - "hint": "WAJA ID", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Boresha Afya ID", + "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", "err": "Please enter a valid ID" @@ -208,14 +183,14 @@ { "key": "surname", "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "last_name", + "openmrs_entity": "concept", + "openmrs_entity_id": "", "type": "edit_text", "hint": "Surname", "edit_type": "name", "read_only": true, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" }, "v_required": { @@ -243,16 +218,8 @@ "err": "Please enter the first name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" - }, - "read_only": true, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_calculation.yml" - } - } } }, { @@ -264,20 +231,12 @@ "hint": "Middle name", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" }, "v_required": { "value": "true", "err": "Please enter the middle name" - }, - "read_only": true, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_calculation.yml" - } - } } }, { @@ -292,7 +251,7 @@ "label": "Age" }, "min_date": "today-120y", - "max_date": "today", + "max_date": "today-5y", "v_required": { "value": "true", "err": "Please enter the date of birth" @@ -333,13 +292,7 @@ "text_size": "18px", "value": "false" } - ], - "relevance": { - "step2:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } + ] }, { "key": "age", @@ -352,18 +305,13 @@ "value": "true", "err": "Must be a rounded number" }, - "v_max_length": { - "value": "3", - "is_fixed_size": "true", - "err": "Please enter a valid age" - }, "v_numeric": { "value": "true", - "err": "Please enter a valid age" + "err": "Number must begin with 0 and must be a total of 10 digits in length" }, "v_min": { - "value": "0", - "err": "Age must be equal or greater than 0" + "value": "5", + "err": "Age must be equal or greater than 5" }, "v_max": { "value": "120", @@ -381,95 +329,13 @@ "err": "Please enter the age" } }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Sex", - "values": [ - "Male", - "Female" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" - } - }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Client's Marital Status?", - "values": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Please select one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Client phone number", - "v_numeric": { - "value": "true", - "err": "Number must be a total of 10 digits in length" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." - } - }, { "key": "id_avail", "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", - "label": "Do you have any of the following IDs?", + "label": "Do have any of the following IDs?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -525,25 +391,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", - "type": "mask_edit_text", - "mask": "########-#####-#####-##", - "mask_hint": "12345678912345678912", - "allowed_chars": "0123456789", - "hint": "National ID number e.g 12345678-91234-56789-12", - "edit_type": "number", - "v_max_length": { - "value": "23", - "is_fixed_size": "true", - "err": "Please enter a valid national ID number" - }, - "v_regex": { - "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", - "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" - }, - "v_required": { - "value": true, - "err": "Please enter a valid national ID" - }, + "type": "edit_text", + "hint": "National ID number", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -561,25 +411,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", - "type": "mask_edit_text", - "mask": "T-####-####-###-#", - "mask_hint": "123456789123", - "allowed_chars": "0123456789", - "hint": "Voter's registration number e.g T-1234-5678-912-3", - "edit_type": "number", - "v_max_length": { - "value": "17", - "is_fixed_size": "true", - "err": "Please enter a valid voter's registration number" - }, - "v_regex": { - "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" - }, - "v_required": { - "value": true, - "err": "Please enter a valid voters registration number" - }, + "type": "edit_text", + "hint": "Voter's registration number", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -597,25 +431,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", - "type": "mask_edit_text", - "mask": "##########", - "mask_hint": "1234567891", - "allowed_chars": "0123456789", - "hint": "Driver's license number e.g 1234567891", - "edit_type": "number", - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid driver's license number" - }, - "v_regex": { - "value": "^([0-9]{10})", - "err": "Driver's license number should be of the format (XXXXXXXXXX)" - }, - "v_required": { - "value": true, - "err": "Please enter a valid driver's license number" - }, + "type": "edit_text", + "hint": "Driver's license number", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -633,25 +451,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Passport number e.g TAE-123456", - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid passport number" - }, - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Passport Number should be in the format (TAE-XXXXXX)" - }, - "v_required": { - "value": true, - "err": "Please enter a valid passport number" - }, - "edit_type": "number", + "type": "edit_text", + "hint": "Passport number", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -672,9 +474,9 @@ "type": "spinner", "hint": "Health insurance provider", "values": [ - "Community Health Fund (CHF)/(iCHF)", + "Community Health Fund (CHF)", + "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -688,8 +490,8 @@ ], "keys": [ "Community Health Fund (CHF)", + "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -703,8 +505,8 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", + "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", @@ -759,6 +561,26 @@ } } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, { "key": "wra", "openmrs_entity_parent": "", @@ -791,7 +613,7 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "preg_1yr", + "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", "hint": "Has the woman delivered in the last 1 year?", "values": [ @@ -803,8 +625,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -822,7 +644,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", "hint": "Physical disabilities", "values": [ @@ -834,8 +656,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -844,71 +666,11 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "disabilities", + "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "check_box", - "label": "Type of physical disabilities", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "physical_impairments", - "text": "Mobility and Physical Impairments", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "physical_impairments" - }, - { - "key": "spinal_cord_disability", - "text": "Spinal Cord Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "spinal_cord_disability" - }, - { - "key": "brain_disability", - "text": "Head Injuries - Brain Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "brain_disability" - }, - { - "key": "vision_disability", - "text": "Vision Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "vision_disability" - }, - { - "key": "hearing_disability", - "text": "Hearing Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hearing_disability" - }, - { - "key": "learning_disabilities", - "text": "Cognitive or Learning Disabilities", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "learning_disabilities" - }, - { - "key": "psychological_disorders", - "text": "Psychological Disorders", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_disorders" - }, - { - "key": "invisible_disabilities", - "text": "Invisible Disabilities", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "invisible_disabilities" - } - ], + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Type of disability", "v_required": { "value": "true", "err": "Please enter type of disability" @@ -921,6 +683,26 @@ } } }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Client phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." + }, + "v_required": { + "value": false, + "err": "Please specify the phone number" + } + }, { "key": "has_primary_caregiver", "openmrs_entity_parent": "", @@ -966,9 +748,9 @@ }, { "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", + "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "hint": "Primary caregiver phone number", "v_numeric": { @@ -976,8 +758,12 @@ "err": "Number must be a total of 10 digits in length" }, "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." + }, + "v_required": { + "value": "true", + "err": "Please caregiver contact." }, "relevance": { "rules-engine": { @@ -991,9 +777,9 @@ "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider", + "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Occupation of the Client", + "label": "Occupation of the family member", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -1005,127 +791,96 @@ "text": "Farmer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" + "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cs", "text": "Civil Servant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" + "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_nurse", "text": "Nurse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" + "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_teacher", "text": "Teacher", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" + "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_th", "text": "Traditional Healer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" + "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_chw", "text": "Community Health Worker (CHW)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" + "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_tba", "text": "Traditional Birth Attendant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" + "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_chmis", "text": "Community HMIS (cHMIS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" + "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cbd", "text": "Community Based Distributor", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" + "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hbc", "text": "Home Based Care (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" + "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cimmci", "text": "Community IMCI", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" + "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_other", "text": "Other", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "None", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Mention other Occupation", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please specify the occupation" - }, - "relevance": { - "step2:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } } }, { @@ -1187,13 +942,6 @@ "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } } }, { @@ -1225,20 +973,6 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Registration_Reason", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_calculation.yml" - } - } - } - }, - { - "key": "reasons_for_registration_male_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_male_15", "type": "native_radio", "label": "Reasons for Registration", "label_text_style": "normal", @@ -1246,7 +980,7 @@ "options": [ { "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", + "text": "HIV/AIDs transimission", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1295,100 +1029,49 @@ }, { "key": "homosexual", - "text": "Men who have sex with men", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Gender violence", + "text": "Man who has sex with a man", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_15", - "type": "native_radio", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", + "key": "sex_worker_woman", + "text": "Woman who sell sex", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "diabetes", - "text": "Diabetes", + "key": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "cerebral_palsy", - "text": "Cerebral palsy", + "key": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "cancer", - "text": "Cancer", + "key": "weight_stagnation_child", + "text": "A child with stagnation in weight", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "tuberculosis", - "text": "Tuberculosis", + "key": "child_with_fever", + "text": "A child with frequent fevers", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { - "key": "sex_worker_woman", - "text": "Sex worker", + "key": "abused_child", + "text": "Abused child", "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" @@ -1420,127 +1103,6 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_under_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "native_radio", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "hiv_infected_child", - "text": "A child born from a mother with HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "untested_hiv_infected_child", - "text": "Untested HIV/AIDs child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "weight_stagnation_child", - "text": "A child with stagnation in weight", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "A child with frequent fevers", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "abused_child", - "text": "Abused child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" }, { "key": "child_in_risky_environment", @@ -1553,13 +1115,6 @@ "v_required": { "value": "true", "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } } } ] diff --git a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json deleted file mode 100644 index 54fc863863..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/all_clients_update_registration_info_form.json +++ /dev/null @@ -1,1413 +0,0 @@ -{ - "validate_on_submit": true, - "show_errors_on_submit": false, - "count": "1", - "encounter_type": "Family Registration", - "entity_id": "", - "relational_id": "", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "step1": { - "title": "Client details", - "fields": [ - { - "key": "unique_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_identifier", - "openmrs_entity_id": "opensrp_id", - "type": "edit_text", - "read_only": true, - "hint": "WAJA ID", - "v_numeric": { - "value": "true", - "err": "Please enter a valid ID" - }, - "v_required": { - "value": "true", - "err": "Please enter the UNIQUE ID" - } - }, - { - "key": "surname", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "edit_text", - "hint": "Surname", - "edit_type": "name", - "read_only": true, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Please enter a valid name" - }, - "v_required": { - "value": "true", - "err": "Please enter the surname" - }, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "first_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "first_name", - "type": "edit_text", - "hint": "First name", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please enter the first name" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Please enter a valid name" - } - }, - { - "key": "middle_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "middle_name", - "type": "edit_text", - "hint": "Middle name", - "edit_type": "name", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Please enter a valid name" - }, - "v_required": { - "value": "true", - "err": "Please enter the middle name" - } - }, - { - "key": "dob", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdate", - "type": "date_picker", - "hint": "Date of birth (DOB)", - "expanded": false, - "duration": { - "label": "Age" - }, - "min_date": "today-120y", - "max_date": "today-5y", - "v_required": { - "value": "true", - "err": "Please enter the date of birth" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "age_calculated", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "dob_unknown", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "birthdateApprox", - "type": "check_box", - "label": "", - "options": [ - { - "key": "dob_unknown", - "text": "DOB unknown?", - "text_size": "18px", - "value": "false" - } - ] - }, - { - "key": "age", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "age", - "type": "edit_text", - "hint": "Age", - "v_numeric_integer": { - "value": "true", - "err": "Must be a rounded number" - }, - "v_max_length": { - "value": "3", - "is_fixed_size": "true", - "err": "Please enter a valid age" - }, - "v_numeric": { - "value": "true", - "err": "Please enter a valid age" - }, - "v_min": { - "value": "5", - "err": "Age must be equal or greater than 5" - }, - "v_max": { - "value": "120", - "err": "Age must be equal or less than 120" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - }, - "v_required": { - "value": true, - "err": "Please enter the age" - } - }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Sex", - "values": [ - "Male", - "Female" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" - } - }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Client's Marital Status?", - "values": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Please select one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Client phone number", - "v_numeric": { - "value": "true", - "err": "Number must be a total of 10 digits in length" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." - } - }, - { - "key": "id_avail", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "id_avail", - "type": "check_box", - "label": "Do you have any of the following IDs?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_national_id", - "text": "National ID", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_national_id" - }, - { - "key": "chk_voters_id", - "text": "Voter's registration ID", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_voters_id" - }, - { - "key": "chk_drivers_license", - "text": "Driver's license", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_drivers_license" - }, - { - "key": "chk_passport", - "text": "Passport", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_passport" - }, - { - "key": "chk_none", - "text": "None", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "chk_none" - } - ], - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "national_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "National_ID", - "type": "mask_edit_text", - "mask": "########-#####-#####-##", - "mask_hint": "12345678912345678912", - "allowed_chars": "0123456789", - "hint": "National ID number e.g 12345678-91234-56789-12", - "edit_type": "number", - "v_regex": { - "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", - "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" - }, - "v_max_length": { - "value": "23", - "is_fixed_size": "true", - "err": "Please enter a valid national ID number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid national ID" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_national_id" - ] - } - ] - } - } - }, - { - "key": "voter_id", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Voter_Registration_Number", - "type": "mask_edit_text", - "mask": "T-####-####-###-#", - "mask_hint": "123456789123", - "allowed_chars": "0123456789", - "hint": "Voter's registration number e.g T-1234-5678-912-3", - "edit_type": "number", - "v_regex": { - "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" - }, - "v_max_length": { - "value": "17", - "is_fixed_size": "true", - "err": "Please enter a valid voter's registration number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid voters registration number" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_voters_id" - ] - } - ] - } - } - }, - { - "key": "driver_license", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Driver_License_Number", - "type": "mask_edit_text", - "mask": "##########", - "mask_hint": "1234567891", - "allowed_chars": "0123456789", - "hint": "Driver's license number e.g 1234567891", - "edit_type": "number", - "v_regex": { - "value": "^([0-9]{10})", - "err": "Driver's license number should be of the format (XXXXXXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid driver's license number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid driver's license number" - }, - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_drivers_license" - ] - } - ] - } - } - }, - { - "key": "passport", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Passport number e.g TAE-123456", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Passport Number should be in the format (TAE-XXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid passport number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid passport number" - }, - "edit_type": "number", - "relevance": { - "step1:id_avail": { - "ex-checkbox": [ - { - "or": [ - "chk_passport" - ] - } - ] - } - } - }, - { - "key": "insurance_provider", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Health_Insurance_Type", - "type": "spinner", - "hint": "Health insurance provider", - "values": [ - "Community Health Fund (CHF)/(iCHF)", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", - "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Jubilee Insurance", - "Resolutions Insurance", - "Reliance Insurance", - "Other", - "None" - ], - "keys": [ - "Community Health Fund (CHF)", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", - "Tiba Kwa Kadi (TIKA)", - "AAR Healthcare", - "Strategies Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)", - "Britam Insurance Tanzania", - "Jubilee Insurance", - "Resolutions Insurance", - "Reliance Insurance", - "Other", - "None" - ], - "openmrs_choice_ids": { - "Community Health Fund (CHF)": "Community_Health_Fund", - "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", - "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", - "AAR Healthcare": "AAR_Healthcare", - "AAR Strategies Insurance": "Strategies_Insurance", - "Milvik Tanzania Ltd (BIMA Mkononi)": "BIMA_Mkononi", - "Britam Insurance Tanzania": "Britam_Insurance_Tanzania", - "Jubilee Insurance": "Jubilee_Insurance", - "Resolutions Insurance": "Resolutions_Insurance", - "Reliance Insurance": "Reliance_Insurance", - "Other": "Other_Health_Insurance_Type", - "None": "No_Health_Insurance" - }, - "v_required": { - "value": "true", - "err": "Please enter the insurance provider" - } - }, - { - "key": "insurance_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Health_Insurance_Type", - "type": "edit_text", - "hint": "Other health insurance provider", - "v_required": { - "value": "true", - "err": "Please specify the insurance provider" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "insurance_provider_number", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Health_Insurance_Number", - "type": "edit_text", - "hint": "Health insurance provider number", - "v_required": { - "value": "true", - "err": "Please add the health insurance provider iD Number" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "wra", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "mra", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "preg_1yr", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "preg_1yr", - "type": "spinner", - "hint": "Has the woman delivered in the last 1 year?", - "values": [ - "Yes", - "No" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Please select if the woman has delivered in the last 1 year" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "disabilities", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", - "type": "spinner", - "hint": "Physical disabilities", - "values": [ - "Yes", - "No" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Please select one" - } - }, - { - "key": "type_of_disability", - "openmrs_entity_parent": "disabilities", - "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "check_box", - "label": "Type of physical disabilities", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "physical_impairments", - "text": "Mobility and Physical Impairments", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "physical_impairments" - }, - { - "key": "spinal_cord_disability", - "text": "Spinal Cord Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "spinal_cord_disability" - }, - { - "key": "brain_disability", - "text": "Head Injuries - Brain Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "brain_disability" - }, - { - "key": "vision_disability", - "text": "Vision Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "vision_disability" - }, - { - "key": "hearing_disability", - "text": "Hearing Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hearing_disability" - }, - { - "key": "learning_disabilities", - "text": "Cognitive or Learning Disabilities", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "learning_disabilities" - }, - { - "key": "psychological_disorders", - "text": "Psychological Disorders", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_disorders" - }, - { - "key": "invisible_disabilities", - "text": "Invisible Disabilities", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "invisible_disabilities" - } - ], - "v_required": { - "value": "true", - "err": "Please enter type of disability" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "has_primary_caregiver", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "Has_Primary_Caregiver", - "type": "spinner", - "hint": " Do you have a primary caregiver/Treatment supporter?", - "values": [ - "Yes", - "No" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Please select one" - } - }, - { - "key": "primary_caregiver_name", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "Primary_Caregiver_Name", - "type": "edit_text", - "hint": "Name of caregiver", - "v_required": { - "value": "true", - "err": "Please specify the name of the caregiver." - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", - "type": "edit_text", - "hint": "Primary caregiver phone number", - "v_numeric": { - "value": "true", - "err": "Number must be a total of 10 digits in length" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "service_provider", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider", - "type": "check_box", - "label": "Occupation of the Client", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_farmer", - "text": "Farmer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" - }, - { - "key": "chk_cs", - "text": "Civil Servant", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" - }, - { - "key": "chk_nurse", - "text": "Nurse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" - }, - { - "key": "chk_teacher", - "text": "Teacher", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" - }, - { - "key": "chk_th", - "text": "Traditional Healer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" - }, - { - "key": "chk_chw", - "text": "Community Health Worker (CHW)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" - }, - { - "key": "chk_tba", - "text": "Traditional Birth Attendant", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" - }, - { - "key": "chk_chmis", - "text": "Community HMIS (cHMIS)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" - }, - { - "key": "chk_cbd", - "text": "Community Based Distributor", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" - }, - { - "key": "chk_hbc", - "text": "Home Based Care (HBC)", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" - }, - { - "key": "chk_cimmci", - "text": "Community IMCI", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" - }, - { - "key": "chk_other", - "text": "Other", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" - }, - { - "key": "chk_none", - "text": "None", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" - } - ], - "v_required": { - "value": "true", - "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Mention other Occupation", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please specify the occupation" - }, - "relevance": { - "step1:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, - { - "key": "leader", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Community_Leader", - "type": "check_box", - "label": "Any leadership role in the community?", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "exclusive": [ - "chk_none" - ], - "options": [ - { - "key": "chk_religious", - "text": "Religious leader", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Religious_Leader" - }, - { - "key": "chk_traditional", - "text": "Traditional leader", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Traditional_leader" - }, - { - "key": "chk_political", - "text": "Political leader", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Political_leader" - }, - { - "key": "chk_influential", - "text": "Influential leader", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Influential_Leader" - }, - { - "key": "chk_other", - "text": "Other", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Community_Leader_Type" - }, - { - "key": "chk_none", - "text": "None", - "value": false, - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Not_a_Community_Leader" - } - ], - "v_required": { - "value": "true", - "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "leader_other", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Other_Community_Leader_Type_Name", - "type": "edit_text", - "hint": "Mention other role in the community", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please specify role" - }, - "relevance": { - "step1:leader": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } - } - }, - { - "key": "reasons_for_registration", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Registration_Reason", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "reasons_for_registration_male_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_male_15", - "type": "native_radio", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "homosexual", - "text": "Men who have sex with men", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_15", - "type": "native_radio", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sex_worker_woman", - "text": "Sex worker", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "pregnant_mother", - "text": "Pregnant mother", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "breastfeeding_mother", - "text": "Breastfeeding mother", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_under_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "native_radio", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids_transmission", - "text": "HIV/AIDs transmission", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "sickle_cell_disease", - "text": "Sickle cell disease", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "heart_disease", - "text": "Heart diseases", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "diabetes", - "text": "Diabetes", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cerebral_palsy", - "text": "Cerebral palsy", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "cancer", - "text": "Cancer", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "hiv_infected_child", - "text": "A child born from a mother with HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "untested_hiv_infected_child", - "text": "Untested HIV/AIDs child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "weight_stagnation_child", - "text": "A child with stagnation in weight", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_with_fever", - "text": "A child with frequent fevers", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "abused_child", - "text": "Abused child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - }, - { - "key": "child_in_risky_environment", - "text": "Child living in a risky environment", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - } - ] - } -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_counselling.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_counselling.json index 99046d4865..e85a438b25 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_counselling.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_counselling.json @@ -53,7 +53,7 @@ "key": "counselling_given", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "counselling_given", + "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", "label": "Counselling provided to the mother and family members ", "label_text_style": "normal", @@ -64,122 +64,122 @@ "options": [ { "key": "chk_attended_anc_contacts", - "text": "1. Attend ANC clinic early", + "text": "1. Attend ANC contacts early", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_attended_anc_contacts" + "openmrs_entity_id": "161013AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_anc_danger_signs", "text": "2. Pregnancy danger signs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_anc_danger_signs" + "openmrs_entity_id": "161050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_maternal_nutrition", "text": "3. Maternal nutrition during pregnancy and breast feeding", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_maternal_nutrition" + "openmrs_entity_id": "1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_personal_delivery", "text": "4. Personal delivery plan", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_personal_delivery" + "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_aids", "text": "5. HIV/AIDS general information", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hiv_aids" + "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pmtct_for_mother", "text": "6. PMTCT for the mother", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_pmtct_for_mother" + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_preventing_malaria", "text": "7. Preventing malaria for pregnant mothers", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_preventing_malaria" + "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_physical_changes", "text": "8. Physical changes for a mother after giving birth", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_physical_changes" + "openmrs_entity_id": "162093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pnc_danger_signs", - "text": "9. PNC danger signs", + "text": "10. PNC danger signs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_pnc_danger_signs" + "openmrs_entity_id": "161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_care_of_infant", - "text": "10. Care of infant after birth", + "text": "11. Care of infant after birth", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_care_of_infant" + "openmrs_entity_id": "160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_infant_danger_signs", - "text": "11. Infant danger signs", + "text": "14. Infant danger signs", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_infant_danger_signs" + "openmrs_entity_id": "161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_exposed_infant", - "text": "12. Follow-up for the HIV-exposed infant", + "text": "15. Follow-up for the HIV-exposed infant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hiv_exposed_infant" + "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_breastfeeding", - "text": "13. Breastfeeding", + "text": "16. Breastfeeding", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_breastfeeding" + "openmrs_entity_id": "1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_exclusive_breast_feeding ", - "text": "14. Plan for family planning using exclusive breast feeding for 6 months after birth", + "text": "17. Plan for family planning using exclusive breast feeding for 6 months after birth", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_exclusive_breast_feeding" + "openmrs_entity_id": "161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_family_planning", - "text": "15. Family planning", + "text": "18. Family planning", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_family_planning" + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_infection_prevention", - "text": "16. Infection prevention and control", + "text": "24. Infection prevention and control", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_infection_prevention" + "openmrs_entity_id": "1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "None", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json index 086a5717f1..d6e16db770 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_danger_signs.json @@ -47,13 +47,13 @@ "encounter_location": "" }, "step1": { - "title": "Danger signs", + "title": "ANC Registration", "fields": [ { "key": "danger_signs_present", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "danger_signs_present", + "openmrs_entity_id": "160939AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", "label": "Does the mother have any danger signs?", "label_text_style": "normal", @@ -67,91 +67,91 @@ "text": "Fever", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_fever" + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_bleeding_vaginally", "text": "Bleeding vaginally", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_bleeding_vaginally" + "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_server_headache", "text": "Severe headache", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_server_headache" + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_blurred_vision", "text": "Blurred vision", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_blurred_vision" + "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_convulsions", "text": "Convulsions", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_convulsions" + "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_difficulty_breathing", "text": "Difficulty breathing", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_difficulty_breathing" + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_severe_abdominal_pain", "text": "Severe abdominal pain", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_severe_abdominal_pain" + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_loss_consciousness", "text": "Loss of consciousness", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_loss_consciousness" + "openmrs_entity_id": "135592AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_swelling", "text": "Swelling of the face and/or hands", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_swelling" + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_early_labour", "text": "Early labour pains before 9 months", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_early_labour" + "openmrs_entity_id": "151687AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_vaginal_discharge", "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_vaginal_discharge" + "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_unusual_movement", "text": "No movement / unusual movement for a child in the womb", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_unusual_movement" + "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "None", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { @@ -195,7 +195,7 @@ "key": "danger_signs_counseling", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "danger_signs_counseling", + "openmrs_entity_id": "165310AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", "label_info_title": "Did the mother receive counselling", @@ -210,28 +210,13 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1267AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1118AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", "err": "Please select one option" } - }, - { - "key": "prompt_for_danger_signs", - "type": "toaster_notes", - "text": "Please provide the client counselling on ANC danger signs", - "openmrs_entity_id": "prompt_for_danger_signs", - "openmrs_entity": "concept", - "openmrs_entity_parent": "", - "toaster_type": "warning", - "relevance": { - "step1:danger_signs_counseling": { - "type": "String", - "ex": "equalTo(.,\"No\")" - } - } } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json index b3390a0590..0fbda7e7e1 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_family_planning.json @@ -53,10 +53,10 @@ "key": "fam_planning", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "fam_planning", + "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Was the mother advised on family planning when she visited the health visit?", + "hint": "Was the mother advised on family planning when you visited the health visit?", "values": [ "Yes", "No" @@ -66,28 +66,13 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", "err": "Please select one option" } - }, - { - "key": "prompt_for_family_planning", - "type": "toaster_notes", - "text": "Please provide the client counselling on family planning", - "openmrs_entity_id": "prompt_for_family_planning", - "openmrs_entity": "concept", - "openmrs_entity_parent": "", - "toaster_type": "warning", - "relevance": { - "step1:fam_planning": { - "type": "String", - "ex": "equalTo(.,\"No\")" - } - } } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json index e94434a07d..8754fc0572 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_health_facility_visit.json @@ -53,7 +53,7 @@ "key": "anc_hf_visit", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "anc_hf_visit", + "openmrs_entity_id": "1889AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "label_info_title": "Did the woman attend her ANC {0} visit at the health facility?", "label_info_text": "Did the woman attend her ANC visit at the health facility?", @@ -64,8 +64,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -76,7 +76,7 @@ "key": "anc_hf_visit_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "anc_hf_visit_date", + "openmrs_entity_id": "159590AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "date_picker", "label": "ANC visit date", @@ -86,7 +86,7 @@ "max_date": "today", "v_required": { "value": "true", - "err": "Enter the facility visit date" + "err": "Enter the date that the member moved away" }, "relevance": { "step1:anc_hf_visit": { @@ -96,69 +96,224 @@ } }, { - "key": "reason_for_missed_visit", + "key": "anc_hf_next_visit_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "reason_for_missed_visit", - "type": "spinner", - "hint": "Reason for missed facility visit", - "values": [ - "Fear to disclose her pregnancy", - "She forgot the appointment date", - "She did not have transport fare", - "She was not feeling well", - "Other" + "openmrs_entity_id": "anc_hf_next_visit_date", + "type": "spacer" + }, + { + "key": "tests_done", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Tests done", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" ], - "keys": [ - "fear_to_disclose_her_pregnancy", - "she_forgot_the_appointment_date", - "she_did_not_have_transport_fare", - "she_was_not_feeling_well", - "other" + "options": [ + { + "key": "chk_haemoglobin", + "text": "Haemoglobin level", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "21AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_urine_analysis_uti", + "text": "Urine analysis for UTI", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_urine_analysis_protein", + "text": "Urine analysis for protein and sugar", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1875AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_hiv", + "text": "HIV test", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1356AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_syphilis", + "text": "Syphilis test", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "299AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_malaria", + "text": "Malaria test", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "1643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_tb", + "text": "TB screening", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164800AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other", + "text": "Other test", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } ], - "openmrs_choice_ids": { - "fear_to_disclose_her_pregnancy": "fear_to_disclose_her_pregnancy", - "she_forgot_the_appointment_date": "she_forgot_the_appointment_date", - "she_did_not_have_transport_fare": "she_did_not_have_transport_fare", - "she_was_not_feeling_well": "she_was_not_feeling_well", - "other": "other" + "v_required": { + "value": "true", + "err": "Please pick at least one" }, + "relevance": { + "step1:anc_hf_visit": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + } + } + }, + { + "key": "imm_medicine_given", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1767AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "check_box", + "label": "Immunisations and medicine provided", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_tetanus", + "text": "Tetanus toxoid (TT)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "84879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_malaria", + "text": "Malaria prevention (IPTp-SP)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "105232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_iron", + "text": "Iron and Folic acid (FEFO) tablets", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "773AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_albendazole", + "text": "Albendazole / Medandozle", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "159922AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_calcuim", + "text": "Calcium supplement", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "72650AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other", + "text": "Other immunisation or medicine", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ], "v_required": { "value": "true", - "err": "Please select a reason" + "err": "Please pick at least one" }, "relevance": { "step1:anc_hf_visit": { "type": "string", - "ex": "equalTo(., \"No\")" + "ex": "equalTo(., \"Yes\")" } } }, { - "key": "other_reason_missed_visit", + "key": "other_imm_medicine_given", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "other_reason_missed_visit", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", - "hint": "Other reason for missed facility visit", - "edit_type": "name", + "hint": "Other immunisation or medicine", "v_required": { "value": "true", - "err": "Please enter other reason" + "err": "Please enter the immunisation or medicine details" }, "relevance": { - "step1:reason_for_missed_visit": { - "type": "string", - "ex": "equalTo(., \"other\")" + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_health_facility_visit.yml" + } } } }, { - "key": "anc_hf_next_visit_date", + "key": "llin_given", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "anc_hf_next_visit_date", - "type": "spacer" + "openmrs_entity_id": "159855AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Did mother receive a LLIN in her first ANC contact at the health facility?", + "values": [ + "Yes", + "No" + ], + "openmrs_choice_ids": { + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "v_required": { + "value": "true", + "err": "Please select one option" + }, + "relevance": { + "step1:anc_hf_visit": { + "type": "string", + "ex": "equalTo(., \"Yes\")" + }, + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_health_facility_visit.yml" + } + } + } }, { "key": "confirmed_visits", diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json index b8132775b6..57407020a2 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_malaria.json @@ -53,7 +53,7 @@ "key": "fam_llin", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "fam_llin", + "openmrs_entity_id": "", "openmrs_data_type": "select one", "type": "spinner", "hint": "Does the woman have a long lasting insecticide net (LLIN)?", @@ -66,8 +66,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -78,7 +78,7 @@ "key": "llin_2days", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "llin_2days", + "openmrs_entity_id": "", "openmrs_data_type": "select one", "type": "spinner", "hint": "Did she sleep under the LLIN last night?", @@ -91,8 +91,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -109,21 +109,21 @@ "key": "llin_condition", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "llin_condition", + "openmrs_entity_id": "", "openmrs_data_type": "select one", "type": "spinner", "hint": "LLIN condition", "values": [ - "Good", + "Okay", "Bad" ], "keys": [ - "Good", + "Okay", "Bad" ], "openmrs_choice_ids": { - "Good": "Good", - "Bad": "Bad" + "Okay": "159405AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Bad": "159407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -135,86 +135,6 @@ "ex": "equalTo(., \"Yes\")" } } - }, - { - "key": "malaria_sp", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "malaria_sp", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Has the client taken malaria prevention dosage (SP)?", - "values": [ - "Yes", - "No" - ], - "keys": [ - "Yes", - "No" - ], - "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "v_required": { - "value": "true", - "err": "Please select one option" - } - }, - { - "key": "reason_for_missed_sp", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reason_for_missed_sp", - "type": "spinner", - "hint": "Reason as to why the client is not taking the SP medication", - "values": [ - "Client was not given SP dosage", - "Client lost her medication", - "Client negligence", - "Other" - ], - "keys": [ - "client_was_not_given_sp_dosage", - "client_lost_her_medication", - "client_negligence", - "other" - ], - "openmrs_choice_ids": { - "client_was_not_given_sp_dosage": "client_was_not_given_sp_dosage", - "client_lost_her_medication": "client_lost_her_medication", - "client_negligence": "client_negligence", - "other": "other" - }, - "v_required": { - "value": "true", - "err": "Please select a reason" - }, - "relevance": { - "step1:malaria_sp": { - "type": "string", - "ex": "equalTo(., \"No\")" - } - } - }, - { - "key": "other_reason_missed_sp_dosage", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "other_reason_missed_sp_dosage", - "type": "edit_text", - "hint": "Other reason for why the client is not taking the SP medication", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please enter the reason" - }, - "relevance": { - "step1:reason_for_missed_sp": { - "type": "string", - "ex": "equalTo(., \"other\")" - } - } } ] } diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_nutrition_status.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_nutrition_status.json index 5e69f5da23..5bead34fb4 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_nutrition_status.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_nutrition_status.json @@ -53,7 +53,7 @@ "key": "nutrition_status", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_status", + "openmrs_entity_id": "163300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", "hint": "What is the nutrition status of the mother?", @@ -68,9 +68,9 @@ "Severe" ], "openmrs_choice_ids": { - "Normal": "Normal", - "Moderate": "Moderate", - "Severe": "Severe" + "Normal": "1115AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Moderate": "1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Severe": "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_observations.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_observations.json index b588f4fe80..a3850ba64d 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_observations.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_observations.json @@ -53,7 +53,7 @@ "key": "date_of_illness", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "date_of_illness", + "openmrs_entity_id": "1730AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", "hint": "Date ", "expanded": false, @@ -68,7 +68,7 @@ "key": "illness_description", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "illness_description", + "openmrs_entity_id": "1390AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "hint": "Description", "v_required": { @@ -80,7 +80,7 @@ "key": "action_taken", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "action_taken", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", "label": "Action taken", "label_text_style": "normal", @@ -94,40 +94,62 @@ "text": "ORS 5", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_ors" + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_zinc", "text": "Zinc 10", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_zinc" + "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_paracetamol", "text": "Panadol", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_paracetamol" + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_referred", "text": "Referred", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_referred" + "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_other_treatment", + "text": "Other treatment", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "No treatment given", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } - ], + ] + }, + { + "key": "other_treatment_illness", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Other treatment", "v_required": { "value": "true", - "err": "Please select an option" + "err": "Please enter the illness details" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_hv_observations.yml" + } + } } } ] diff --git a/opensrp-chw/src/ba/assets/json.form/anc_hv_remarks_and_comments.json b/opensrp-chw/src/ba/assets/json.form/anc_hv_remarks_and_comments.json index f899d29054..035eb693eb 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_hv_remarks_and_comments.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_hv_remarks_and_comments.json @@ -53,7 +53,7 @@ "key": "chw_comment_anc", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "chw_comment_anc", + "openmrs_entity_id": "161011AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "hint": "Remarks/Comments", "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json b/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json index 9ed91ace3f..7b10f4ac2e 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_member_registration.json @@ -60,11 +60,11 @@ "key": "last_menstrual_period", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "last_menstrual_period", + "openmrs_entity_id": "1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", - "hint": "Last Normal Menstrual Period (LNMP)", - "label_info_title": "LNMP", - "label_info_text": "LNMP = first day of Last Normal Menstrual Period. If the exact date is unknown, but the period of the month is known, use day 5 for beginning of the month, day 15 for middle of the month and day 25 for end of the month.", + "hint": "Last Menstrual Period (LMP)", + "label_info_title": "LMP", + "label_info_text": "LMP = first day of Last Menstrual Period. If the exact date is unknown, but the period of the month is known, use day 5 for beginning of the month, day 15 for middle of the month and day 25 for end of the month.", "expanded": false, "max_date": "today", "min_date": "today-50w", @@ -97,7 +97,7 @@ "options": [ { "key": "lmp_unknown", - "text": "LNMP unknown?", + "text": "LMP unknown?", "text_size": "18px", "value": "false" } @@ -107,7 +107,7 @@ "key": "edd", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "edd", + "openmrs_entity_id": "5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", "hint": "Expected Date of Delivery (EDD)", "max_date": "today+50w", @@ -167,7 +167,7 @@ "key": "gest_age", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gest_age", + "openmrs_entity_id": "1438AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "hidden", "calculation": { "rules-engine": { @@ -202,7 +202,7 @@ "key": "gravida", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gravida", + "openmrs_entity_id": "5624AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "hidden", "calculation": { "rules-engine": { @@ -216,7 +216,7 @@ "key": "delivery_method", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_method", + "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", "label": "Have you delivered your child(ren) vaginally or by cesarean section?", "label_text_style": "normal", @@ -234,21 +234,21 @@ "text": "Vaginally", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_vaginally" + "openmrs_entity_id": "1170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cesarean_section", "text": "Cesarean section", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cesarean_section" + "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_miscarriage", "text": "Miscarriage", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_miscarriage" + "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { @@ -260,7 +260,7 @@ "key": "delivery_method_one", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_method_one", + "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "native_radio", "label": "Have you delivered your child(ren) vaginally or by cesarean section?", "label_text_style": "normal", @@ -278,21 +278,21 @@ "text": "Vaginally", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_vaginally" + "openmrs_entity_id": "1170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cesarean_section", "text": "Cesarean section", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cesarean_section" + "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_miscarriage", "text": "Miscarriage", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_miscarriage" + "openmrs_entity_id": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { @@ -304,7 +304,7 @@ "key": "no_surv_children", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "no_surv_children", + "openmrs_entity_id": "164894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "edit_type": "number", "hint": "No. of surviving children", @@ -328,11 +328,45 @@ "err": "Number must be less than or equal to Number of Previous Pregnancies" } }, + { + "key": "marital_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "1054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_data_type": "select one", + "type": "spinner", + "hint": "Marital status", + "v_required": { + "value": "true", + "err": "Please select one option" + }, + "values": [ + "Married", + "Co-habiting", + "Single", + "Divorced", + "Widowed" + ], + "keys": [ + "Married", + "Co-habiting", + "Single", + "Divorced", + "Widowed" + ], + "openmrs_choice_ids": { + "Married": "5555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Co-habiting": "1060AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Single": "5615AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Divorced": "1058AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Widowed": "1059AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, { "key": "phone_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "hint": "Phone number", "v_numeric": { @@ -340,8 +374,8 @@ "err": "Number must be a total of 10 digits in length" }, "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." }, "v_required": { "value": false @@ -351,7 +385,7 @@ "key": "person_assist", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "person_assist", + "openmrs_entity_id": "159771AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", "hint": "Does the mother have anyone, 18 years or older, who would be able to assist her during her pregnancy?", @@ -368,15 +402,15 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { "key": "name_person_assist", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "name_person_assist", + "openmrs_entity_id": "160638AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "hint": "Name of close person/relative who lives with her and is 18 years or olders", "edit_type": "name", @@ -387,10 +421,6 @@ } } }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Please enter a valid name" - }, "v_required": { "value": "true", "err": "Please enter the person's name" @@ -400,7 +430,7 @@ "key": "phone_person_assist", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "phone_person_assist", + "openmrs_entity_id": "160642AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "hint": "Phone number", "v_required": { @@ -418,8 +448,8 @@ "err": "Number must be a total of 10 digits in length" }, "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." } } ] diff --git a/opensrp-chw/src/ba/assets/json.form/anc_pregnancy_outcome.json b/opensrp-chw/src/ba/assets/json.form/anc_pregnancy_outcome.json index 5ddd5dc49c..66d77989f6 100644 --- a/opensrp-chw/src/ba/assets/json.form/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/ba/assets/json.form/anc_pregnancy_outcome.json @@ -62,7 +62,7 @@ "key": "preg_outcome", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "preg_outcome", + "openmrs_entity_id": "161033AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "native_radio", "label": "Pregnancy outcome", "label_text_style": "bold", @@ -73,7 +73,7 @@ "text": "Child was born alive", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "born_alive", + "openmrs_entity_id": "151849AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { @@ -81,7 +81,7 @@ "text": "Child was born alive, but died", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "born_alive_died", + "openmrs_entity_id": "164816AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { @@ -89,7 +89,7 @@ "text": "Child was stillborn", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "still_born", + "openmrs_entity_id": "125872AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { @@ -97,7 +97,7 @@ "text": "Child was born alive, but they have a problem (i.e. disability, respiratory issues, etc.)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "alive_with_problem", + "openmrs_entity_id": "161599AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, { @@ -105,7 +105,7 @@ "text": "Miscarriage", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "miscarriage", + "openmrs_entity_id": "48AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } ], @@ -118,7 +118,7 @@ "key": "miscarriage_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "miscarriage_date", + "openmrs_entity_id": "165248AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", "hint": "Date of miscarriage", "expanded": false, @@ -139,7 +139,7 @@ "key": "delivery_date", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_date", + "openmrs_entity_id": "5599AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "date_picker", "hint": "Delivery date", "expanded": false, @@ -160,14 +160,14 @@ "key": "no_children", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "no_children", + "openmrs_entity_id": "164894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "hidden" }, { "key": "delivery_place", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_place", + "openmrs_entity_id": "1572AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "select one", "type": "spinner", "hint": "The place the mother gave birth", @@ -184,10 +184,10 @@ "Other" ], "openmrs_choice_ids": { - "At home": "At home", - "At a health facility": "At a health facility", - "On the way to the health facility": "On the way to the health facility", - "Other": "Other" + "At home": "1536AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "At a health facility": "1588AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "On the way to the health facility": "1601AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -205,7 +205,7 @@ "key": "delivery_home", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_home", + "openmrs_entity_id": "1573AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "native_radio", "label": "Who helped the mother with a home delivery?", "label_text_style": "bold", @@ -228,7 +228,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gave_birth_alone" + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "gave_birth_with_help", @@ -236,7 +236,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gave_birth_with_help" + "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "midwife_help", @@ -244,7 +244,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "midwife_help" + "openmrs_entity_id": "125872AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ] }, @@ -252,7 +252,7 @@ "key": "delivery_hf", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "delivery_hf", + "openmrs_entity_id": "159771AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "native_radio", "label": "The mother gave birth in a health facility. Who accompanied the mother to the health facility?", "label_text_style": "bold", @@ -275,7 +275,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "facility_family_member" + "openmrs_entity_id": "969AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "facility_midwife", @@ -283,7 +283,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "facility_midwife" + "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "alone", @@ -291,7 +291,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "alone" + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "other_pple", @@ -299,7 +299,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "other_pple" + "openmrs_entity_id": "1582AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "other_chw", @@ -307,7 +307,7 @@ "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "other_chw" + "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ] }, @@ -354,7 +354,10 @@ } } }, - + "v_required": { + "value": true, + "err": "Please specify the # of babies" + }, "value": [ { "key": "surname", @@ -458,7 +461,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", + "openmrs_entity_id": "159522AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", "hint": "Physical disabilities", "values": [ @@ -470,8 +473,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -482,7 +485,7 @@ "key": "type_of_disability", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "hint": "Type of physical disabilities", "edit_type": "name", @@ -498,7 +501,7 @@ "key": "early_bf_1hr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "early_bf_1hr", + "openmrs_entity_id": "164819AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", "hint": "Early initiation of breastfeeding (1 hr)?", "values": [ @@ -510,15 +513,15 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { "key": "vacc_birth", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "vacc_birth", + "openmrs_entity_id": "984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", "label": "Which vaccinations were given?", "label_text_style": "normal", @@ -532,21 +535,21 @@ "text": "None", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_opv_0", "text": "OPV 0", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_opv_0" + "openmrs_entity_id": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_bcg", "text": "BCG", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_bcg" + "openmrs_entity_id": "886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { diff --git a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json index 16420bc3a6..1f2632772f 100644 --- a/opensrp-chw/src/ba/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/ba/assets/json.form/child_enrollment.json @@ -52,16 +52,25 @@ } }, "step1": { - "title": "Add Child Under 5 years", + "title": "Add Child Under 5", "fields": [ + { + "key": "photo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "choose_image", + "uploadButtonText": "Take a picture of the person" + }, { "key": "unique_id", "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "edit_text", - "read_only": true, - "hint": "WAJA ID", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Boresha Afya ID", + "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", "err": "Please enter a valid ID" @@ -80,7 +89,7 @@ "hint": "Surname", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" }, "v_required": { @@ -153,7 +162,7 @@ "err": "Please enter first name" }, "v_regex": { - "value": "[A-Za-z\\s\\-\\']*", + "value": "[A-Za-z\\s\\-]*", "err": "Please enter a valid name" } }, @@ -172,7 +181,7 @@ "err": "Please enter middle name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please Enter a Valid Name" } }, @@ -216,13 +225,7 @@ "text_size": "18px", "value": "false" } - ], - "relevance": { - "step1:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } + ] }, { "key": "age", @@ -263,9 +266,9 @@ "type": "spinner", "hint": "Health insurance provider", "values": [ - "Community Health Fund (CHF)/(iCHF)", + "Community Health Fund (CHF)", + "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -279,8 +282,8 @@ ], "keys": [ "Community Health Fund (CHF)", + "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -294,8 +297,8 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", + "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", @@ -374,7 +377,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", "hint": "Physical disabilities", "values": [ @@ -386,8 +389,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -396,71 +399,12 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "disabilities", + "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "check_box", - "label": "Type of physical disabilities", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "physical_impairments", - "text": "Mobility and Physical Impairments", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "physical_impairments" - }, - { - "key": "spinal_cord_disability", - "text": "Spinal Cord Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "spinal_cord_disability" - }, - { - "key": "brain_disability", - "text": "Head Injuries - Brain Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "brain_disability" - }, - { - "key": "vision_disability", - "text": "Vision Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "vision_disability" - }, - { - "key": "hearing_disability", - "text": "Hearing Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hearing_disability" - }, - { - "key": "learning_disabilities", - "text": "Cognitive or Learning Disabilities", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "learning_disabilities" - }, - { - "key": "psychological_disorders", - "text": "Psychological Disorders", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_disorders" - }, - { - "key": "invisible_disabilities", - "text": "Invisible Disabilities", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "invisible_disabilities" - } - ], + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "edit_type": "name", + "hint": "Type of physical disabilities", "relevance": { "rules-engine": { "ex-rules": { @@ -477,7 +421,7 @@ "key": "birth_cert_available", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "birth_cert_available", + "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", "hint": "Birth registration/certificate", "values": [ @@ -489,22 +433,15 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family-child-relevance.yml" - } - } + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { "key": "birth_regist_number", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "birth_regist_number", + "openmrs_entity_id": "162052AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "hint": "Birth registration number", "relevance": { @@ -519,7 +456,7 @@ "key": "rhc_card", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "rhc_card", + "openmrs_entity_id": "164147AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", "hint": "Does the child have RCH card 1/child growth booklet?", "values": [ @@ -531,15 +468,15 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } }, { "key": "nutrition_status", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_status", + "openmrs_entity_id": "163301AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", "hint": "Nutrition status", "values": [ @@ -553,9 +490,9 @@ "Red" ], "openmrs_choice_ids": { - "Green": "Green", - "Grey": "Grey", - "Red": "Red" + "Green": "160909AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Grey": "163639AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Red": "127778AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", diff --git a/opensrp-chw/src/ba/assets/json.form/family_details_register.json b/opensrp-chw/src/ba/assets/json.form/family_details_register.json index 2d98ff440b..cf37fb39e1 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_details_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_details_register.json @@ -60,14 +60,14 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Surname", + "hint": "Family name", "edit_type": "name", "v_required": { "value": "true", - "err": "Please enter the surname" + "err": "Please enter the family name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" } }, @@ -77,7 +77,7 @@ "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "hidden": "true", - "type": "edit_text", + "type": "barcode", "barcode_type": "qrcode", "hint": "ID *", "scanButtonText": "Scan QR Code", @@ -92,10 +92,10 @@ "openmrs_entity": "person_address", "openmrs_entity_id": "cityVillage", "type": "edit_text", - "hint": "Area Name", + "hint": "Village/Town", "v_required": { "value": "true", - "err": "Please enter the area name" + "err": "Please enter the village or town" } }, { @@ -110,7 +110,7 @@ "key": "gps", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gps", + "openmrs_entity_id": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "gps" }, @@ -118,14 +118,14 @@ "key": "nearest_facility", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "nearest_facility", + "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Village/Street", + "hint": "Nearest health facility", "tree": [], "v_required": { "value": true, - "err": "Please enter the village or street" + "err": "Please enter the nearest health facility" } } ] diff --git a/opensrp-chw/src/ba/assets/json.form/family_member_register.json b/opensrp-chw/src/ba/assets/json.form/family_member_register.json index 7a3fc58a4e..5481e20563 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_member_register.json @@ -54,14 +54,23 @@ "step1": { "title": "Add Family Member", "fields": [ + { + "key": "photo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "choose_image", + "uploadButtonText": "Take a picture of the person" + }, { "key": "unique_id", "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", - "type": "edit_text", - "read_only": true, - "hint": "WAJA ID", + "type": "barcode", + "barcode_type": "qrcode", + "hint": "Boresha Afya ID", + "scanButtonText": "Scan QR Code", "v_numeric": { "value": "true", "err": "Please enter a valid ID" @@ -80,7 +89,7 @@ "hint": "Surname", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" }, "v_required": { @@ -151,7 +160,7 @@ "err": "Please enter the first name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" } }, @@ -164,7 +173,7 @@ "hint": "Middle name", "edit_type": "name", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" }, "v_required": { @@ -225,13 +234,7 @@ "text_size": "18px", "value": "false" } - ], - "relevance": { - "step1:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } + ] }, { "key": "age", @@ -246,17 +249,12 @@ }, "v_numeric": { "value": "true", - "err": "Please enter a valid age" + "err": "Number must begin with 0 and must be a total of 10 digits in length" }, "v_min": { "value": "5", "err": "Age must be equal or greater than 5" }, - "v_max_length": { - "value": "3", - "is_fixed_size": "true", - "err": "Please enter a valid age" - }, "v_max": { "value": "120", "err": "Age must be equal or less than 120" @@ -273,95 +271,13 @@ "err": "Please enter the age" } }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Sex", - "values": [ - "Male", - "Female" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" - } - }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Client's Marital Status?", - "values": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Please select one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Phone number", - "v_numeric": { - "value": "true", - "err": "Number must be a total of 10 digits in length" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." - } - }, { "key": "id_avail", "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "id_avail", "type": "check_box", - "label": "Do you have any of the following IDs?", + "label": "Do have any of the following IDs?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -417,25 +333,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", - "type": "mask_edit_text", - "mask": "########-#####-#####-##", - "mask_hint": "12345678912345678912", - "allowed_chars": "0123456789", - "hint": "National ID number e.g 12345678-91234-56789-12", - "edit_type": "number", - "v_regex": { - "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", - "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" - }, - "v_max_length": { - "value": "23", - "is_fixed_size": "true", - "err": "Please enter a valid national ID number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid national ID" - }, + "type": "edit_text", + "hint": "National ID number", + "edit_type": "name", "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -453,25 +353,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", - "type": "mask_edit_text", - "mask": "T-####-####-###-#", - "mask_hint": "123456789123", - "allowed_chars": "0123456789", - "hint": "Voter's registration number e.g T-1234-5678-912-3", - "edit_type": "number", - "v_regex": { - "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" - }, - "v_max_length": { - "value": "17", - "is_fixed_size": "true", - "err": "Please enter a valid voter's registration number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid voters registration number" - }, + "type": "edit_text", + "hint": "Voter's registration number", + "edit_type": "name", "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -489,25 +373,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", - "type": "mask_edit_text", - "mask": "##########", - "mask_hint": "1234567891", - "allowed_chars": "0123456789", - "hint": "Driver's license number e.g 1234567891", - "edit_type": "number", - "v_regex": { - "value": "^([0-9]{10})", - "err": "Driver's license number should be of the format (XXXXXXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid driver's license number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid driver's license number" - }, + "type": "edit_text", + "hint": "Driver's license number", + "edit_type": "name", "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -525,25 +393,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Passport number e.g TAE-123456", - "edit_type": "number", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Passport Number should be in the format (TAE-XXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid passport number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid passport number" - }, + "type": "edit_text", + "hint": "Passport number", + "edit_type": "name", "relevance": { "step1:id_avail": { "ex-checkbox": [ @@ -564,9 +416,9 @@ "type": "spinner", "hint": "Health insurance provider", "values": [ - "Community Health Fund (CHF)/(iCHF)", + "Community Health Fund (CHF)", + "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -580,8 +432,8 @@ ], "keys": [ "Community Health Fund (CHF)", + "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -595,8 +447,8 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", + "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", @@ -651,6 +503,26 @@ } } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, { "key": "wra", "openmrs_entity_parent": "", @@ -683,7 +555,7 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "preg_1yr", + "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", "hint": "Has the woman delivered in the last 1 year?", "values": [ @@ -695,8 +567,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -714,7 +586,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", "hint": "Physical disabilities", "values": [ @@ -726,8 +598,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -736,71 +608,11 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "disabilities", + "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "check_box", - "label": "Type of physical disabilities", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "physical_impairments", - "text": "Mobility and Physical Impairments", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "physical_impairments" - }, - { - "key": "spinal_cord_disability", - "text": "Spinal Cord Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "spinal_cord_disability" - }, - { - "key": "brain_disability", - "text": "Head Injuries - Brain Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "brain_disability" - }, - { - "key": "vision_disability", - "text": "Vision Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "vision_disability" - }, - { - "key": "hearing_disability", - "text": "Hearing Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hearing_disability" - }, - { - "key": "learning_disabilities", - "text": "Cognitive or Learning Disabilities", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "learning_disabilities" - }, - { - "key": "psychological_disorders", - "text": "Psychological Disorders", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_disorders" - }, - { - "key": "invisible_disabilities", - "text": "Invisible Disabilities", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "invisible_disabilities" - } - ], + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Type of disability", "v_required": { "value": "true", "err": "Please enter type of disability" @@ -833,11 +645,31 @@ "err": "Please select one" } }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." + }, + "v_required": { + "value": false, + "err": "Please specify the phone number" + } + }, { "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", + "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "hint": "Other phone number", "v_numeric": { @@ -845,15 +677,15 @@ "err": "Number must be a total of 10 digits in length" }, "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." } }, { "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider", + "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", "label": "Occupation of the family member", "label_text_style": "normal", @@ -867,127 +699,96 @@ "text": "Farmer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" + "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cs", "text": "Civil Servant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" + "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_nurse", "text": "Nurse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" + "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_teacher", "text": "Teacher", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" + "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_th", "text": "Traditional Healer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" + "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_chw", "text": "Community Health Worker (CHW)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" + "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_tba", "text": "Traditional Birth Attendant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" + "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_chmis", "text": "Community HMIS (cHMIS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" + "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cbd", "text": "Community Based Distributor", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" + "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hbc", "text": "Home Based Care (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" + "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cimmci", "text": "Community IMCI", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" + "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_other", "text": "Other", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "None", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } - } - }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Mention other Occupation", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please specify the occupation" - }, - "relevance": { - "step1:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } } }, { @@ -1049,13 +850,6 @@ "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_member_relevance.yml" - } - } } }, { diff --git a/opensrp-chw/src/ba/assets/json.form/family_register.json b/opensrp-chw/src/ba/assets/json.form/family_register.json index 33d17a4ec5..bba830d7e2 100644 --- a/opensrp-chw/src/ba/assets/json.form/family_register.json +++ b/opensrp-chw/src/ba/assets/json.form/family_register.json @@ -63,49 +63,15 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Family name (Family Head's Surname)", + "hint": "Family name", "edit_type": "name", "v_required": { "value": "true", "err": "Please enter the family name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Please enter a valid name" - } - }, - { - "key": "client_first_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "first_name", - "type": "edit_text", - "hint": "Family Head's First name", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please enter the first name" - }, - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Please enter a valid name" - } - }, - { - "key": "client_middle_name", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "middle_name", - "type": "edit_text", - "hint": "Family Head's Middle name", - "edit_type": "name", - "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" - }, - "v_required": { - "value": "true", - "err": "Please enter the middle name" } }, { @@ -114,7 +80,7 @@ "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "hidden": "true", - "type": "edit_text", + "type": "barcode", "barcode_type": "qrcode", "hint": "ID", "scanButtonText": "Scan QR Code", @@ -130,14 +96,14 @@ "openmrs_entity_id": "cityVillage", "type": "edit_text", "edit_type": "name", - "hint": "Area Name", + "hint": "Village", "v_required": { "value": "true", - "err": "Please enter the area name" + "err": "Please enter the village or town" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", - "err": "Please enter a valid area name" + "err": "Please enter a valid village name" } }, { @@ -147,7 +113,7 @@ "openmrs_entity_id": "landmark", "type": "edit_text", "edit_type": "name", - "hint": "Landmark/Description of house location", + "hint": "Landmark/ description of house location", "v_required": { "value": true, "err": "Please enter the landmark/description of location." @@ -157,7 +123,7 @@ "key": "gps", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "gps", + "openmrs_entity_id": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "gps" }, @@ -173,14 +139,14 @@ "key": "nearest_facility", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "nearest_facility", + "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_data_type": "text", "type": "tree", - "hint": "Village/Street", + "hint": "Nearest health facility", "tree": [], "v_required": { "value": true, - "err": "Please select the village or street" + "err": "Please enter the nearest health facility" } } ] @@ -188,13 +154,21 @@ "step2": { "title": "Family head", "fields": [ + { + "key": "photo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "choose_image", + "uploadButtonText": "Take a picture of the person" + }, { "key": "unique_id", "openmrs_entity_parent": "", "openmrs_entity": "person_identifier", "openmrs_entity_id": "opensrp_id", "type": "edit_text", - "hint": "WAJA ID", + "hint": "ID", "value": "0", "read_only": "true", "v_numeric": { @@ -219,16 +193,8 @@ "err": "Please enter the first name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" - }, - "read_only": true, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_calculation.yml" - } - } } }, { @@ -244,29 +210,21 @@ "err": "Please enter the middle name" }, "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" - }, - "read_only": true, - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_calculation.yml" - } - } } }, { "key": "surname", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "last_name", + "openmrs_entity_id": "", "type": "edit_text", "hint": "Surname", "edit_type": "name", "read_only": "true", "v_regex": { - "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-]*", "err": "Please enter a valid name" }, "calculation": { @@ -330,13 +288,7 @@ "text_size": "18px", "value": "false" } - ], - "relevance": { - "step2:dob": { - "type": "string", - "ex": "equalTo(.,\"\")" - } - } + ] }, { "key": "age", @@ -349,14 +301,9 @@ "value": "true", "err": "Must be a rounded number" }, - "v_max_length": { - "value": "3", - "is_fixed_size": "true", - "err": "Please enter a valid age" - }, "v_numeric": { "value": "true", - "err": "Please enter a valid age" + "err": "Number must begin with 0 and must be a total of 10 digits in length" }, "v_min": { "value": "15", @@ -378,88 +325,6 @@ "err": "Please enter the age" } }, - { - "key": "sex", - "openmrs_entity_parent": "", - "openmrs_entity": "person", - "openmrs_entity_id": "gender", - "type": "spinner", - "hint": "Sex", - "values": [ - "Male", - "Female" - ], - "keys": [ - "Male", - "Female" - ], - "v_required": { - "value": "true", - "err": "Please enter the sex" - } - }, - { - "key": "marital_status", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "marital_status", - "type": "spinner", - "hint": "Client's Marital Status?", - "values": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "keys": [ - "Single", - "Married", - "Divorced", - "Monogamy", - "Polygamy", - "Widowed", - "Cohabitation" - ], - "openmrs_choice_ids": { - "Single": "Single", - "Married": "Married", - "Divorced": "Divorced", - "Monogamy": "Monogamy", - "Polygamy": "Polygamy", - "Widowed": "Widowed", - "Cohabitation": "Cohabitation" - }, - "v_required": { - "value": "true", - "err": "Please select one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "phone_number", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "phone_number", - "type": "edit_text", - "hint": "Phone number", - "v_numeric": { - "value": "true", - "err": "Number must be a total of 10 digits in length" - }, - "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." - } - }, { "key": "id_avail", "openmrs_entity_parent": "", @@ -508,39 +373,16 @@ "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } - ], - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } + ] }, { "key": "national_id", "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "National_ID", - "type": "mask_edit_text", - "mask": "########-#####-#####-##", - "mask_hint": "12345678912345678912", - "allowed_chars": "0123456789", - "hint": "National ID number e.g 12345678-91234-56789-12", - "edit_type": "number", - "v_regex": { - "value": "^\\d{8}-\\d{5}-\\d{5}-\\d{2}$", - "err": "National ID number should be of the format (XXXXXXXX-XXXXX-XXXXX-XX)" - }, - "v_max_length": { - "value": "23", - "is_fixed_size": "true", - "err": "Please enter a valid national ID number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid national ID" - }, + "type": "edit_text", + "hint": "National ID number", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -558,25 +400,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Voter_Registration_Number", - "type": "mask_edit_text", - "mask": "T-####-####-###-#", - "mask_hint": "123456789123", - "allowed_chars": "0123456789", - "hint": "Voter's registration number e.g T-1234-5678-912-3", - "edit_type": "number", - "v_regex": { - "value": "^T-\\d{4}-\\d{4}-\\d{3}-\\d{1}$", - "err": "Voter's registration number should be of the format (T-XXXX-XXXX-XXX-X)" - }, - "v_max_length": { - "value": "17", - "is_fixed_size": "true", - "err": "Please enter a valid voter's registration number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid voters registration number" - }, + "type": "edit_text", + "hint": "Voter's registration number", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -594,25 +420,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Driver_License_Number", - "type": "mask_edit_text", - "mask": "##########", - "mask_hint": "1234567891", - "allowed_chars": "0123456789", - "hint": "Driver's license number e.g 1234567891", - "edit_type": "number", - "v_regex": { - "value": "^([0-9]{10})", - "err": "Driver's license number should be of the format (XXXXXXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid driver's license number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid driver's license number" - }, + "type": "edit_text", + "hint": "Driver's license number", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -630,25 +440,9 @@ "openmrs_entity_parent": "", "openmrs_entity": "person_attribute", "openmrs_entity_id": "Passport_Number", - "type": "mask_edit_text", - "mask": "TAE-######", - "mask_hint": "123456", - "allowed_chars": "0123456789", - "hint": "Passport number e.g TAE-123456", - "v_regex": { - "value": "^TAE-\\d{6}$", - "err": "Passport Number should be in the format (TAE-XXXXXX)" - }, - "v_max_length": { - "value": "10", - "is_fixed_size": "true", - "err": "Please enter a valid passport number" - }, - "v_required": { - "value": true, - "err": "Please enter a valid passport number" - }, - "edit_type": "number", + "type": "edit_text", + "hint": "Passport number", + "edit_type": "name", "relevance": { "step2:id_avail": { "ex-checkbox": [ @@ -669,9 +463,9 @@ "type": "spinner", "hint": "Health insurance provider", "values": [ - "Community Health Fund (CHF)/(iCHF)", + "Community Health Fund (CHF)", + "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -685,8 +479,8 @@ ], "keys": [ "Community Health Fund (CHF)", + "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)", - "National Health Insurance Fund (NHIF)", "Tiba Kwa Kadi (TIKA)", "AAR Healthcare", "Strategies Insurance", @@ -700,8 +494,8 @@ ], "openmrs_choice_ids": { "Community Health Fund (CHF)": "Community_Health_Fund", + "iCHF": "iCHF", "National Social Security Fund - Social Health Insurance Benefit (SHIB)": "National_Social_Security_Fund", - "National Health Insurance Fund (NHIF)": "National_Health_Insurance_Fund", "Tiba Kwa Kadi (TIKA)": "Tiba_kwa_Kadi", "AAR Healthcare": "AAR_Healthcare", "AAR Strategies Insurance": "Strategies_Insurance", @@ -756,6 +550,26 @@ } } }, + { + "key": "sex", + "openmrs_entity_parent": "", + "openmrs_entity": "person", + "openmrs_entity_id": "gender", + "type": "spinner", + "hint": "Sex", + "values": [ + "Male", + "Female" + ], + "keys": [ + "Male", + "Female" + ], + "v_required": { + "value": "true", + "err": "Please enter the sex" + } + }, { "key": "wra", "openmrs_entity_parent": "", @@ -782,7 +596,7 @@ "key": "preg_1yr", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "preg_1yr", + "openmrs_entity_id": "160692AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", "hint": "Has the woman delivered in the last 1 year?", "values": [ @@ -794,8 +608,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -813,7 +627,7 @@ "key": "disabilities", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "disabilities", + "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "spinner", "hint": "Physical disabilities", "values": [ @@ -825,8 +639,8 @@ "No" ], "openmrs_choice_ids": { - "Yes": "Yes", - "No": "No" + "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "v_required": { "value": "true", @@ -835,71 +649,11 @@ }, { "key": "type_of_disability", - "openmrs_entity_parent": "disabilities", + "openmrs_entity_parent": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "type_of_disability", - "type": "check_box", - "label": "Type of physical disabilities", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "physical_impairments", - "text": "Mobility and Physical Impairments", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "physical_impairments" - }, - { - "key": "spinal_cord_disability", - "text": "Spinal Cord Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "spinal_cord_disability" - }, - { - "key": "brain_disability", - "text": "Head Injuries - Brain Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "brain_disability" - }, - { - "key": "vision_disability", - "text": "Vision Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "vision_disability" - }, - { - "key": "hearing_disability", - "text": "Hearing Disability", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hearing_disability" - }, - { - "key": "learning_disabilities", - "text": "Cognitive or Learning Disabilities", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "learning_disabilities" - }, - { - "key": "psychological_disorders", - "text": "Psychological Disorders", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_disorders" - }, - { - "key": "invisible_disabilities", - "text": "Invisible Disabilities", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "invisible_disabilities" - } - ], + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Type of disability", "v_required": { "value": "true", "err": "Please enter type of disability" @@ -912,11 +666,27 @@ } } }, + { + "key": "phone_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "type": "edit_text", + "hint": "Phone number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." + } + }, { "key": "other_phone_number", - "openmrs_entity_parent": "phone_number", + "openmrs_entity_parent": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity": "concept", - "openmrs_entity_id": "other_phone_number", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "edit_text", "hint": "Other phone number", "v_numeric": { @@ -924,17 +694,17 @@ "err": "Number must be a total of 10 digits in length" }, "v_regex": { - "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", - "err": "Number must be 10 digits and must start with 06 or 07." + "value": "(0[0-9]{9})|\\s*", + "err": "Number must be 10 digits and must start with 0." } }, { "key": "service_provider", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider", + "openmrs_entity_id": "1542AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "type": "check_box", - "label": "Occupation of the family head", + "label": "Occupation of the family member", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ @@ -946,127 +716,96 @@ "text": "Farmer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_farmer" + "openmrs_entity_id": "1538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cs", "text": "Civil Servant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cs" + "openmrs_entity_id": "162944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_nurse", "text": "Nurse", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_nurse" + "openmrs_entity_id": "1577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_teacher", "text": "Teacher", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_teacher" + "openmrs_entity_id": "162946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_th", "text": "Traditional Healer", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_th" + "openmrs_entity_id": "1821AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_chw", "text": "Community Health Worker (CHW)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chw" + "openmrs_entity_id": "1555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_tba", "text": "Traditional Birth Attendant", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_tba" + "openmrs_entity_id": "1575AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_chmis", "text": "Community HMIS (cHMIS)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_chmis" + "openmrs_entity_id": "163334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cbd", "text": "Community Based Distributor", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cbd" + "openmrs_entity_id": "1744AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hbc", "text": "Home Based Care (HBC)", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_hbc" + "openmrs_entity_id": "161359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_cimmci", "text": "Community IMCI", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_cimmci" + "openmrs_entity_id": "163096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_other", "text": "Other", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_other" + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "None", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_none" + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } ], "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } - } - }, - { - "key": "service_provider_other", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "service_provider_other", - "type": "edit_text", - "hint": "Mention other Occupation", - "edit_type": "name", - "v_required": { - "value": "true", - "err": "Please specify the occupation" - }, - "relevance": { - "step2:service_provider": { - "ex-checkbox": [ - { - "or": [ - "chk_other" - ] - } - ] - } } }, { @@ -1128,13 +867,6 @@ "v_required": { "value": "true", "err": "Please pick at least one" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "family_register_relevance.yml" - } - } } }, { diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json deleted file mode 100644 index b84b2b1a22..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit.json +++ /dev/null @@ -1,1055 +0,0 @@ -{ - "form": "CBHS Follow-up form", - "count": "1", - "encounter_type": "CBHS Followup", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_followup_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "CBHS Follow-up form", - "fields": [ - { - "name": "registration_or_followup_status", - "type": "spinner", - "properties": { - "text": "Registration/Followup status" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registration_or_followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "new_client", - "text": "New Client", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "new_client", - "openmrs_entity_parent": "" - } - }, - { - "name": "continuing_with_services", - "text": "Continuing with services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Deceased", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Client not found", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Client has relocated to another location", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Client has moved ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Client has absconded", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Client continues with clinic from elsewhere", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - }, - { - "name": "completed_and_qualified_from_the_services", - "text": "Client has completed and qualified from the services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_and_qualified_from_the_services", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please select the registration/followup status", - "dependent_calculations": [ - "hiv_followup_visit_date" - ] - }, - { - "name": "client_hiv_status_after_testing", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_after_testing", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's HIV status after testing" - }, - "options": [ - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "unknown", - "text": "Unknown", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Negative", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's hiv status", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "CTC Number", - "type": "Clinic of Treatment and Care registration number (CTC Number)", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Not a valid CTC Number." - } - ], - "required_status": "yes:Please specify client's CTC Number", - "subjects": "client_hiv_status_after_testing:text" - }, - { - "name": "client_condition", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_condition", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Condition of the client" - }, - "options": [ - { - "name": "client_does_her_daily_activities", - "text": "Client does his/her daily activities", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_does_her_daily_activities", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_takes_care_of_himself", - "text": "Client takes care of him/herself (Bathing, Eating)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_takes_care_of_himself", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_is_unable_to_take_care_of_himself", - "text": "Client is unable to take care of him/herself", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's condition", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Health Challenges faced by the Client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "pain", - "text": "Pain", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "pain", - "openmrs_entity_parent": "" - } - }, - { - "name": "coughing", - "text": "Coughing", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "coughing", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_health_problems", - "text": "Other Health Challenges", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_health_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's problems", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Health Problems", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_problem_other", - "openmrs_entity_parent": "health_problem" - }, - "required_status": "true:Please specify other health problems", - "subjects": "health_problem:map" - }, - { - "name": "social_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Social challenges faced by the Client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem" - }, - "options": [ - { - "name": "malnutrition", - "text": "Malnutrition", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", - "openmrs_entity_parent": "" - } - }, - { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "Failure to adhere to CTC Appointments Schedule", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", - "openmrs_entity_parent": "" - } - }, - { - "name": "transport_issues_for_attending_ctc", - "text": "Transport issues while attending CTC", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "transport_issues_for_attending_ctc", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_social_problems", - "text": "Other Social Challenges", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_social_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's problems", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "social_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Social Challenges", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem_other", - "openmrs_entity_parent": "social_problem" - }, - "required_status": "true:Please specify other social problems faced", - "subjects": "social_problem:map" - }, - { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Vulnerable and at risk behaviors" - }, - "options": [ - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Alcoholism", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_multiple_sexual_partners", - "text": "Has multiple sexual partners", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_multiple_sexual_partners", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_sexual_relations_with_different_peers", - "text": "Sexual relations with different peers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_sexual_relations_with_different_peers", - "openmrs_entity_parent": "" - } - }, - { - "name": "people_who_inject_drugs", - "text": "People Who Inject Drugs (PWID)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "people_who_inject_drugs", - "openmrs_entity_parent": "" - } - }, - { - "name": "sex_workers", - "text": "Sex workers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining_workers", - "text": "Mining workers ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "truck_drivers ", - "text": "Trucks and long distance drivers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "truck_drivers", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's behaviour", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Supplies provided" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "soap", - "text": "Soap", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "soap", - "openmrs_entity_parent": "" - } - }, - { - "name": "mosquito_nets", - "text": "Mosquito Nets", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", - "openmrs_entity_parent": "" - } - }, - { - "name": "bed_sheets", - "text": "Bed Sheets", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", - "openmrs_entity_parent": "" - } - }, - { - "name": "water_disinfectant", - "text": "Water disinfectant", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", - "openmrs_entity_parent": "" - } - }, - { - "name": "condoms", - "text": "Condoms", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_supplies", - "text": "Other supplies", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_supplies", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose supplies/medicine given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Supplies", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided_other", - "openmrs_entity_parent": "supplies_provided" - }, - "required_status": "true:Please specify other supplies given", - "subjects": "supplies_provided:map" - }, - { - "name": "medicine_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Medicines provided" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", - "openmrs_entity_parent": "" - } - }, - { - "name": "aspirin", - "text": "Aspirin", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Other Medicine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose medicine given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Medicine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Please specify other medicine given", - "subjects": "medicine_provided:map" - }, - { - "name": "hiv_services_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "CBHS services provided by CHW at the community" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "nutrition_counselling", - "text": "Nutrition Counselling", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", - "openmrs_entity_parent": "" - } - }, - { - "name": "hiv_infection_education", - "text": "HIV Infection Education", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", - "openmrs_entity_parent": "" - } - }, - { - "name": "preliminary_testing", - "text": "Preliminary Testing", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", - "openmrs_entity_parent": "" - } - }, - { - "name": "psychological_counseling", - "text": "Psychological Counseling", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", - "openmrs_entity_parent": "" - } - }, - { - "name": "house_cleanliness", - "text": "House Cleanliness", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", - "openmrs_entity_parent": "" - } - }, - { - "name": "health_care", - "text": "Health Care", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", - "openmrs_entity_parent": "" - } - }, - { - "name": "medical_services", - "text": "Medical Services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_hiv_services", - "text": "Other CBHS services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_hiv_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please fill the HIV services provided", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "hiv_services_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other CBHS Services Provided", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided_other", - "openmrs_entity_parent": "hiv_services_provided" - }, - "required_status": "true:Please specify other HIV services provided", - "subjects": "hiv_services_provided:map" - }, - { - "name": "referrals_issued_to_other_services", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Referrals Issued to the Client for Other Services." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services" - }, - "options": [ - { - "name": "legal_services", - "text": "Legal Services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Psycho Social Support groups", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": " OVC services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Elderly Centers ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Other Referrals", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals issued", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_issued_to_other_services_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Referral Services Provided", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services_other", - "openmrs_entity_parent": "referrals_issued_to_other_services" - }, - "required_status": "true:Please specify other Referrals Issued", - "subjects": "referrals_issued_to_other_services:map" - }, - { - "name": "referrals_to_other_services_completed", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Referrals to other services Completed by the Client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed" - }, - "options": [ - { - "name": "legal_services", - "text": "Legal Services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Psycho Social Support groups", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": "OVC services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Elderly Centers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Other Referrals", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals completed", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_to_other_services_completed_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Referrals Completed", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed_other", - "openmrs_entity_parent": "referrals_to_other_services_completed" - }, - "required_status": "true:Please specify other Referrals Completed", - "subjects": "referrals_to_other_services_completed:map" - }, - { - "name": "state_of_therapy", - "type": "spinner", - "properties": { - "text": "State of HIV Care and treatment" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_but_not_began_medication", - "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_but_not_began_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_and_uses_medication", - "text": "Registered in CTC/PMTCT clinic and uses ARV medication", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_and_uses_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "not_registered_in_ctc_clinic", - "text": "Client is not registered in CTC/PMTCT clinic", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "not_registered_in_ctc_clinic", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the state of HIV therapy", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location", - "type": "spinner", - "properties": { - "text": "Choose Moved To Facility", - "searchable": "Choose moved to facility" - }, - "options": [ - { - "name": "Other", - "text": "Other", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "Other", - "openmrs_entity_parent": "" - } - } - ], - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Please select the moved to facility", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Enter the other location", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Please enter the moved to facility", - "subjects": "client_moved_location:text" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json deleted file mode 100644 index da2c3c0648..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ /dev/null @@ -1,961 +0,0 @@ -{ - "form": "CBHS Follow-up form", - "count": "1", - "encounter_type": "CBHS Followup", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_followup_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "CBHS Follow-up form", - "fields": [ - { - "name": "registration_or_followup_status", - "type": "spinner", - "properties": { - "text": "Registration/Followup status" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registration_or_followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "new_client", - "text": "New Client", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "new_client", - "openmrs_entity_parent": "" - } - }, - { - "name": "continuing_with_services", - "text": "Continuing with services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Deceased", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Client not found", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Client has relocated to another location", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Client has moved ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Client has absconded", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Client continues with clinic from elsewhere", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - }, - { - "name": "completed_and_qualified_from_the_services ", - "text": "Client has completed and qualified from the services ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_and_qualified_from_the_services", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please select the registration/followup status", - "dependent_calculations": [ - "hiv_followup_visit_date" - ] - }, - { - "name": "client_condition", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_condition", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Condition of the client" - }, - "options": [ - { - "name": "client_does_her_daily_activities", - "text": "Client does his/her daily activities", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_does_her_daily_activities", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_takes_care_of_himself", - "text": "Client takes care of him/herself (Bathing, Eating)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_takes_care_of_himself", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_is_unable_to_take_care_of_himself", - "text": "Client is unable to take care of him/herself", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's condition", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Health Challenges faced by the Client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "pain", - "text": "Pain", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "pain", - "openmrs_entity_parent": "" - } - }, - { - "name": "coughing", - "text": "Coughing", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "coughing", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_health_problems", - "text": "Other Health Challenges", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_health_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's problems", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Health Problems", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_problem_other", - "openmrs_entity_parent": "health_problem" - }, - "required_status": "true:Please specify other health problems", - "subjects": "health_problem:map" - }, - { - "name": "social_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Social challenges faced by the Client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem" - }, - "options": [ - { - "name": "malnutrition", - "text": "Malnutrition", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", - "openmrs_entity_parent": "" - } - }, - { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "Failure to adhere to CTC Appointments Schedule", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", - "openmrs_entity_parent": "" - } - }, - { - "name": "transport_issues_for_attending_ctc", - "text": "Transport issues while attending CTC", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "transport_issues_for_attending_ctc", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_social_problems", - "text": "Other Social Challenges", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_social_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's problems", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "social_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Social Challenges", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem_other", - "openmrs_entity_parent": "social_problem" - }, - "required_status": "true:Please specify other social problems faced", - "subjects": "social_problem:map" - }, - { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Vulnerable and at risk behaviors" - }, - "options": [ - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Alcoholism", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_multiple_sexual_partners", - "text": "Has multiple sexual partners", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_multiple_sexual_partners", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_sexual_relations_with_different_peers", - "text": "Sexual relations with different peers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_sexual_relations_with_different_peers", - "openmrs_entity_parent": "" - } - }, - { - "name": "people_who_inject_drugs", - "text": "People Who Inject Drugs (PWID)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "people_who_inject_drugs", - "openmrs_entity_parent": "" - } - }, - { - "name": "sex_workers", - "text": "Sex workers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining_workers", - "text": "Mining workers ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "truck_drivers ", - "text": "Trucks and long distance drivers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "truck_drivers", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's behaviour", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Supplies provided" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "soap", - "text": "Soap", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "soap", - "openmrs_entity_parent": "" - } - }, - { - "name": "mosquito_nets", - "text": "Mosquito Nets", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", - "openmrs_entity_parent": "" - } - }, - { - "name": "bed_sheets", - "text": "Bed Sheets", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", - "openmrs_entity_parent": "" - } - }, - { - "name": "water_disinfectant", - "text": "Water disinfectant", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", - "openmrs_entity_parent": "" - } - }, - { - "name": "condoms", - "text": "Condoms", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_supplies", - "text": "Other supplies", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_supplies", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose supplies/medicine given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Supplies", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided_other", - "openmrs_entity_parent": "supplies_provided" - }, - "required_status": "true:Please specify other supplies given", - "subjects": "supplies_provided:map" - }, - { - "name": "medicine_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Medicines provided" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", - "openmrs_entity_parent": "" - } - }, - { - "name": "aspirin", - "text": "Aspirin", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Other Medicine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose medicine given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Medicine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Please specify other medicine given", - "subjects": "medicine_provided:map" - }, - { - "name": "hiv_services_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "CBHS services provided by CHW at the community" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "nutrition_counselling", - "text": "Nutrition Counselling", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", - "openmrs_entity_parent": "" - } - }, - { - "name": "hiv_infection_education", - "text": "HIV Infection Education", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", - "openmrs_entity_parent": "" - } - }, - { - "name": "preliminary_testing", - "text": "Preliminary Testing", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", - "openmrs_entity_parent": "" - } - }, - { - "name": "psychological_counseling", - "text": "Psychological Counseling", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", - "openmrs_entity_parent": "" - } - }, - { - "name": "house_cleanliness", - "text": "House Cleanliness", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", - "openmrs_entity_parent": "" - } - }, - { - "name": "health_care", - "text": "Health Care", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", - "openmrs_entity_parent": "" - } - }, - { - "name": "medical_services", - "text": "Medical Services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_hiv_services", - "text": "Other CBHS services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_hiv_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please fill the HIV services provided", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "hiv_services_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other CBHS Services Provided", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided_other", - "openmrs_entity_parent": "hiv_services_provided" - }, - "required_status": "true:Please specify other HIV services provided", - "subjects": "hiv_services_provided:map" - }, - { - "name": "referrals_issued_to_other_services", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Referrals Issued to the Client for Other Services." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services" - }, - "options": [ - { - "name": "legal_services", - "text": "Legal Services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Psycho Social Support groups", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": " OVC services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Elderly Centers ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Other Referrals", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals issued", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_issued_to_other_services_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Referral Services Provided", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services_other", - "openmrs_entity_parent": "referrals_issued_to_other_services" - }, - "required_status": "true:Please specify other Referrals Issued", - "subjects": "referrals_issued_to_other_services:map" - }, - { - "name": "referrals_to_other_services_completed", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Referrals to other services Completed by the Client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed" - }, - "options": [ - { - "name": "legal_services", - "text": "Legal Services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Psycho Social Support groups", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": " OVC services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Elderly Centers ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Other Referrals", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals completed", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_to_other_services_completed_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Referrals Completed", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed_other", - "openmrs_entity_parent": "referrals_to_other_services_completed" - }, - "required_status": "true:Please specify other Referrals Completed", - "subjects": "referrals_to_other_services_completed:map" - }, - { - "name": "state_of_therapy", - "type": "spinner", - "properties": { - "text": "State of HIV Care and treatment" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "registered_but_not_began_medication", - "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_but_not_began_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_and_uses_medication", - "text": "Registered in CTC/PMTCT clinic and uses ARV medication", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_and_uses_medication", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the state of HIV therapy", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location", - "type": "spinner", - "properties": { - "text": "Choose Moved To Facility", - "searchable": "Choose moved to facility" - }, - "options": [ - { - "name": "Other", - "text": "Other", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "Other", - "openmrs_entity_parent": "" - } - } - ], - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Please select the moved to facility", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Enter the other location", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Please enter the moved to facility", - "subjects": "client_moved_location:text" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json deleted file mode 100644 index 588f5ec34d..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/female_hiv_registration.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "form": "HIV Registration form", - "count": "1", - "encounter_type": "CBHS Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "CBHS Registration Form", - "fields": [ - { - "name": "cbhs_number", - "type": "masked_edit_text", - "properties": { - "hint": "CBHS Number e.g 1234/56/78/912", - "type": "CBHS Number e.g 1234/56/78/912", - "mask": "####/##/##/###", - "mask_hint": "12345678912", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cbhs_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", - "message": "CBHS Number should be of the format (XXXX/XX/XX/XXX)." - } - ], - "required_status": "yes:Please specify client's CBHS Number" - }, - { - "name": "client_hiv_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's HIV status during registration" - }, - "options": [ - { - "name": "unknown", - "text": "Unknown", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Negative", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "dependent_calculations": [ - "hiv_registration_date" - ] - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "CTC Number e.g 12-34-5678-912345", - "type": "CTC Number e.g 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "CTC Number should be of the format (XX-XX-XXXX-XXXXXX)." - } - ], - "subjects": "client_hiv_status_during_registration:text" - }, - { - "name": "tb_number", - "type": "text_input_edit_text", - "properties": { - "hint": "TB ID", - "type": "TB Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "rch_number", - "type": "text_input_edit_text", - "properties": { - "hint": "RCH ID", - "type": "RCH Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "rch_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "mat_number", - "type": "text_input_edit_text", - "properties": { - "hint": "MAT ID", - "type": "MAT Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mat_number", - "openmrs_entity_parent": "" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json b/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json deleted file mode 100644 index b5d9b1e096..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/hiv_community_followup_feedback.json +++ /dev/null @@ -1,185 +0,0 @@ -{ - "form": "HIV Community Followup Feedback", - "count": "1", - "encounter_type": "HIV Community Followup Feedback", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_community_followup_feedback_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "HIV Community Followup Feedback", - "fields": [ - { - "name": "followup_status", - "type": "spinner", - "properties": { - "text": "Followup Feedback" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "continuing_with_services", - "text": "Continuing with services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Deceased", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Client not found", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Client has relocated to another location", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Client has moved ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Client has absconded", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Client continues with clinic from elsewhere", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please select followup feedback", - "dependent_calculations": [ - "hiv_community_followup_visit_date" - ] - }, - { - "name": "client_moved_location", - "type": "spinner", - "properties": { - "text": "Choose Moved To Facility", - "searchable": "Choose moved to facility" - }, - "options": [ - { - "name": "Other", - "text": "Other", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "Other", - "openmrs_entity_parent": "" - } - } - ], - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Please select the moved to facility", - "subjects": "followup_status:text" - }, - { - "name": "client_moved_location_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Enter the other location", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Please enter the moved to facility", - "subjects": "client_moved_location:text" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/hiv_index_contact_followup.json b/opensrp-chw/src/ba/assets/json.form/hiv_index_contact_followup.json deleted file mode 100644 index c27050ca02..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/hiv_index_contact_followup.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "form": "HIV Index Contact CHW Followup", - "count": "1", - "encounter_type": "HIV Index Contact CHW Followup", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_index_contact_followup_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Index Client Contact Followup", - "fields": [ - { - "name": "has_the_contact_client_been_found", - "type": "radio_group", - "properties": { - "text": "Have you found the contact client?" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_the_contact_client_been_found", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "yes", - "text": "Yes", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "yes", - "openmrs_entity_parent": "" - } - }, - { - "name": "no", - "text": "No", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "no", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please select the answer", - "dependent_calculations": [ - "client_followed_up_by_chw" - ] - }, - { - "name": "has_the_client_agreed_to_be_tested", - "type": "radio_group", - "properties": { - "text": "Has the client agreed to be tested for HIV?" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_the_client_agreed_to_be_tested", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "yes", - "text": "Yes", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "yes", - "openmrs_entity_parent": "" - } - }, - { - "name": "no", - "text": "No", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "no", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please select whether the client has agreed to be tested for HIV", - "subjects": "has_the_contact_client_been_found:map" - }, - { - "name": "place_where_test_will_be_conducted", - "type": "radio_group", - "properties": { - "text": "Where has the client agreed to have the test?" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "place_where_test_was_conducted", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "facility", - "text": "At the Health Facility", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "facility", - "openmrs_entity_parent": "" - } - }, - { - "name": "community", - "text": "At the community", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "community", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please select the answer", - "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map" - }, - { - "name": "toast_give_a_referral_to_the_client", - "type": "toast_notification", - "properties": { - "notification_type": "info", - "dismissible": "no", - "title": "Client should be referred to Hospital", - "text": "The client should be referred to the Hospital for HIV testing.\nGive the client a referral", - "background_color": "#f50424", - "text_color": "#FFFFFF" - }, - "subjects": "has_the_contact_client_been_found:map, has_the_client_agreed_to_be_tested:map, place_where_test_will_be_conducted:map" - }, - { - "name": "chw_comment", - "type": "text_input_edit_text", - "properties": { - "hint": "Remarks/Comments" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "chw_comment", - "openmrs_entity_parent": "" - }, - "required_status": "false" - } - ] - } - ] -} - diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json deleted file mode 100644 index 037fbfe12e..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit.json +++ /dev/null @@ -1,1073 +0,0 @@ -{ - "form": "CBHS Follow-up form", - "count": "1", - "encounter_type": "CBHS Followup", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_followup_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "CBHS Follow-up form", - "fields": [ - { - "name": "registration_or_followup_status", - "type": "spinner", - "properties": { - "text": "Registration/Followup status" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registration_or_followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "new_client", - "text": "New Client", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "new_client", - "openmrs_entity_parent": "" - } - }, - { - "name": "continuing_with_services", - "text": "Continuing with services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Deceased", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Client not found", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Client has relocated to another location", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Client has moved ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Client has absconded", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Client continues with clinic from elsewhere", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - }, - { - "name": "completed_and_qualified_from_the_services", - "text": "Client has completed and qualified from the services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_and_qualified_from_the_services", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please select the registration/followup status", - "dependent_calculations": [ - "hiv_followup_visit_date" - ] - }, - { - "name": "client_hiv_status_after_testing", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_after_testing", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's HIV status after testing" - }, - "options": [ - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "unknown", - "text": "Unknown", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Negative", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's hiv status", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "CTC Number", - "type": "Clinic of Treatment and Care registration number (CTC Number)", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Not a valid CTC Number." - } - ], - "required_status": "yes:Please specify client's CTC Number", - "subjects": "client_hiv_status_after_testing:text" - }, - { - "name": "client_condition", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_condition", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Condition of the client" - }, - "options": [ - { - "name": "client_does_her_daily_activities", - "text": "Client does his/her daily activities", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_does_her_daily_activities", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_takes_care_of_himself", - "text": "Client takes care of him/herself (Bathing, Eating)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_takes_care_of_himself", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_is_unable_to_take_care_of_himself", - "text": "Client is unable to take care of him/herself", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's condition", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Health Challenges faced by the Client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "pain", - "text": "Pain", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "pain", - "openmrs_entity_parent": "" - } - }, - { - "name": "coughing", - "text": "Coughing", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "coughing", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_health_problems", - "text": "Other Health Challenges", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_health_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's problems", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Health Problems", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_problem_other", - "openmrs_entity_parent": "health_problem" - }, - "required_status": "true:Please specify other health problems", - "subjects": "health_problem:map" - }, - { - "name": "social_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Social challenges faced by the Client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem" - }, - "options": [ - { - "name": "malnutrition", - "text": "Malnutrition", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", - "openmrs_entity_parent": "" - } - }, - { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "Failure to adhere to CTC Appointments Schedule", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", - "openmrs_entity_parent": "" - } - }, - { - "name": "transport_issues_for_attending_ctc", - "text": "Transport issues while attending CTC", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "transport_issues_for_attending_ctc", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_social_problems", - "text": "Other Social Challenges", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_social_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's problems", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "social_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Social Challenges", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem_other", - "openmrs_entity_parent": "social_problem" - }, - "required_status": "true:Please specify other social problems faced", - "subjects": "social_problem:map" - }, - { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Vulnerable and at risk behaviors" - }, - "options": [ - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Alcoholism", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_multiple_sexual_partners", - "text": "Has multiple sexual partners", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_multiple_sexual_partners", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_sexual_relations_with_different_peers", - "text": "Sexual relations with different peers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_sexual_relations_with_different_peers", - "openmrs_entity_parent": "" - } - }, - { - "name": "fisherman", - "text": "Fisherman", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fisherman", - "openmrs_entity_parent": "" - } - }, - { - "name": "people_who_inject_drugs", - "text": "People Who Inject Drugs (PWID)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "people_who_inject_drugs", - "openmrs_entity_parent": "" - } - }, - { - "name": "wood_workers", - "text": "Lumberman", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "wood_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining_workers", - "text": "Mining workers ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "men_having_sex_with_other_men ", - "text": "Men having sex with other men", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "men_having_sex_with_other_men", - "openmrs_entity_parent": "" - } - }, - { - "name": "truck_drivers ", - "text": "Trucks and long distance drivers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "truck_drivers", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's behaviour", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Supplies provided" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "soap", - "text": "Soap", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "soap", - "openmrs_entity_parent": "" - } - }, - { - "name": "mosquito_nets", - "text": "Mosquito Nets", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", - "openmrs_entity_parent": "" - } - }, - { - "name": "bed_sheets", - "text": "Bed Sheets", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", - "openmrs_entity_parent": "" - } - }, - { - "name": "water_disinfectant", - "text": "Water disinfectant", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", - "openmrs_entity_parent": "" - } - }, - { - "name": "condoms", - "text": "Condoms", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_supplies", - "text": "Other supplies", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_supplies", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose supplies/medicine given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Supplies", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided_other", - "openmrs_entity_parent": "supplies_provided" - }, - "required_status": "true:Please specify other supplies given", - "subjects": "supplies_provided:map" - }, - { - "name": "medicine_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Medicines provided" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", - "openmrs_entity_parent": "" - } - }, - { - "name": "aspirin", - "text": "Aspirin", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Other Medicine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose medicine given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Medicine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Please specify other medicine given", - "subjects": "medicine_provided:map" - }, - { - "name": "hiv_services_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "CBHS services provided by CHW at the community" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "nutrition_counselling", - "text": "Nutririon Counselling", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", - "openmrs_entity_parent": "" - } - }, - { - "name": "hiv_infection_education", - "text": "HIV Infection Education", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", - "openmrs_entity_parent": "" - } - }, - { - "name": "preliminary_testing", - "text": "Preliminary Testing", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", - "openmrs_entity_parent": "" - } - }, - { - "name": "psychological_counseling", - "text": "Psychological Counseling", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", - "openmrs_entity_parent": "" - } - }, - { - "name": "house_cleanliness", - "text": "House Cleanliness", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", - "openmrs_entity_parent": "" - } - }, - { - "name": "health_care", - "text": "Health Care", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", - "openmrs_entity_parent": "" - } - }, - { - "name": "medical_services", - "text": "Medical Services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_hiv_services", - "text": "Other CBHS services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_hiv_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please fill the HIV services provided", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "hiv_services_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other CBHS Services Provided", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided_other", - "openmrs_entity_parent": "hiv_services_provided" - }, - "required_status": "true:Please specify other HIV services provided", - "subjects": "hiv_services_provided:map" - }, - { - "name": "referrals_issued_to_other_services", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Referrals Issued to the Client for Other Services." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services" - }, - "options": [ - { - "name": "legal_services", - "text": "Legal Services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Psycho Social Support groups", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": "OVC services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Elderly Centers ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Other Referrals", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals issued", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_issued_to_other_services_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Referral Services Provided", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services_other", - "openmrs_entity_parent": "referrals_issued_to_other_services" - }, - "required_status": "true:Please specify other Referrals Issued", - "subjects": "referrals_issued_to_other_services:map" - }, - { - "name": "referrals_to_other_services_completed", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Referrals to other services Completed by the Client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed" - }, - "options": [ - { - "name": "legal_services", - "text": "Legal Services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Psycho Social Support groups", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": " OVC services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Elderly Centers ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Other Referrals", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals completed", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_to_other_services_completed_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Referrals Completed", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed_other", - "openmrs_entity_parent": "referrals_to_other_services_completed" - }, - "required_status": "true:Please specify other Referrals Completed", - "subjects": "referrals_to_other_services_completed:map" - }, - { - "name": "state_of_therapy", - "type": "spinner", - "properties": { - "text": "State of HIV Care and treatment" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_but_not_began_medication", - "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_but_not_began_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_and_uses_medication", - "text": "Registered in CTC/PMTCT clinic and uses ARV medication", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_and_uses_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "not_registered_in_ctc_clinic", - "text": "Client is not registered in CTC/PMTCT clinic", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "not_registered_in_ctc_clinic", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the state of HIV therapy", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location", - "type": "spinner", - "properties": { - "text": "Choose Moved To Facility", - "searchable": "Choose moved to facility" - }, - "options": [ - { - "name": "Other", - "text": "Other", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "Other", - "openmrs_entity_parent": "" - } - } - ], - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Please select the moved to facility", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Enter the other location", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Please enter the moved to facility", - "subjects": "client_moved_location:text" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json deleted file mode 100644 index 421728c96a..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_followup_visit_for_clients_with_ctc_numbers.json +++ /dev/null @@ -1,979 +0,0 @@ -{ - "form": "CBHS Follow-up form", - "count": "1", - "encounter_type": "CBHS Followup", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_followup_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "CBHS Follow-up form", - "fields": [ - { - "name": "registration_or_followup_status", - "type": "spinner", - "properties": { - "text": "Registration/Followup status" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registration_or_followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "new_client", - "text": "New Client", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "new_client", - "openmrs_entity_parent": "" - } - }, - { - "name": "continuing_with_services", - "text": "Continuing with services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Deceased", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Client not found", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Client has relocated to another location", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Client has moved ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Client has absconded", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Client continues with clinic from elsewhere", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - }, - { - "name": "completed_and_qualified_from_the_services ", - "text": "Client has completed and qualified from the services ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_and_qualified_from_the_services", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please select the registration/followup status", - "dependent_calculations": [ - "hiv_followup_visit_date" - ] - }, - { - "name": "client_condition", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_condition", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Condition of the client" - }, - "options": [ - { - "name": "client_does_her_daily_activities", - "text": "Client does his/her daily activities", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_does_her_daily_activities", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_takes_care_of_himself", - "text": "Client takes care of him/herself (Bathing, Eating)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_takes_care_of_himself", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_is_unable_to_take_care_of_himself", - "text": "Client is unable to take care of him/herself", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's condition", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Health Challenges faced by the Client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "pain", - "text": "Pain", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "pain", - "openmrs_entity_parent": "" - } - }, - { - "name": "coughing", - "text": "Coughing", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "coughing", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_health_problems", - "text": "Other Health Challenges", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_health_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's problems", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "health_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Health Problems", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_problem_other", - "openmrs_entity_parent": "health_problem" - }, - "required_status": "true:Please specify other health problems", - "subjects": "health_problem:map" - }, - { - "name": "social_problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Social challenges faced by the Client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem" - }, - "options": [ - { - "name": "malnutrition", - "text": "Malnutrition", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "malnutrition", - "openmrs_entity_parent": "" - } - }, - { - "name": "failed_adhere_to_ctc_appointments_schedule", - "text": "Failure to adhere to CTC Appointments Schedule", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "failed_to_attend_ctc_appointments", - "openmrs_entity_parent": "" - } - }, - { - "name": "transport_issues_for_attending_ctc", - "text": "Transport issues while attending CTC", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "transport_issues_for_attending_ctc", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_social_problems", - "text": "Other Social Challenges", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_social_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's problems", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "social_problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Social Challenges", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "social_problem_other", - "openmrs_entity_parent": "social_problem" - }, - "required_status": "true:Please specify other social problems faced", - "subjects": "social_problem:map" - }, - { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Vulnerable and at risk behaviors" - }, - "options": [ - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Alcoholism", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_multiple_sexual_partners", - "text": "Has multiple sexual partners", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_multiple_sexual_partners", - "openmrs_entity_parent": "" - } - }, - { - "name": "has_sexual_relations_with_different_peers", - "text": "Sexual relations with different peers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "has_sexual_relations_with_different_peers", - "openmrs_entity_parent": "" - } - }, - { - "name": "fisherman", - "text": "Fisherman", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fisherman", - "openmrs_entity_parent": "" - } - }, - { - "name": "people_who_inject_drugs", - "text": "People Who Inject Drugs (PWID)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "people_who_inject_drugs", - "openmrs_entity_parent": "" - } - }, - { - "name": "wood_workers", - "text": "Lumberman", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "wood_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining_workers", - "text": "Mining workers ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining_workers", - "openmrs_entity_parent": "" - } - }, - { - "name": "men_having_sex_with_other_men ", - "text": "Men having sex with other men", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "men_having_sex_with_other_men", - "openmrs_entity_parent": "" - } - }, - { - "name": "truck_drivers ", - "text": "Trucks and long distance drivers", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "truck_drivers", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's behaviour", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Supplies provided" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "soap", - "text": "Soap", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "soap", - "openmrs_entity_parent": "" - } - }, - { - "name": "mosquito_nets", - "text": "Mosquito Nets", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mosquito_nets", - "openmrs_entity_parent": "" - } - }, - { - "name": "bed_sheets", - "text": "Bed Sheets", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "bed_sheets", - "openmrs_entity_parent": "" - } - }, - { - "name": "water_disinfectant", - "text": "Water disinfectant", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "water_disinfectant", - "openmrs_entity_parent": "" - } - }, - { - "name": "condoms", - "text": "Condoms", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "condoms", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_supplies", - "text": "Other supplies", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_supplies", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose supplies/medicine given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Supplies", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided_other", - "openmrs_entity_parent": "supplies_provided" - }, - "required_status": "true:Please specify other supplies given", - "subjects": "supplies_provided:map" - }, - { - "name": "medicine_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Medicines provided" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", - "openmrs_entity_parent": "" - } - }, - { - "name": "aspirin", - "text": "Aspirin", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_medicine", - "text": "Other Medicine", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose medicine given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "medicine_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Medicine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medicine_provided_other", - "openmrs_entity_parent": "medicine_provided" - }, - "required_status": "true:Please specify other medicine given", - "subjects": "medicine_provided:map" - }, - { - "name": "hiv_services_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "CBHS services provided by CHW at the community" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "nutrition_counselling", - "text": "Nutririon Counselling", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "nutrition_counselling", - "openmrs_entity_parent": "" - } - }, - { - "name": "hiv_infection_education", - "text": "HIV Infection Education", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infection_education", - "openmrs_entity_parent": "" - } - }, - { - "name": "preliminary_testing", - "text": "Preliminary Testing", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "preliminary_testing", - "openmrs_entity_parent": "" - } - }, - { - "name": "psychological_counseling", - "text": "Psychological Counseling", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "psychological_counseling", - "openmrs_entity_parent": "" - } - }, - { - "name": "house_cleanliness", - "text": "House Cleanliness", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "house_cleanliness", - "openmrs_entity_parent": "" - } - }, - { - "name": "health_care", - "text": "Health Care", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "health_care", - "openmrs_entity_parent": "" - } - }, - { - "name": "medical_services", - "text": "Medical Services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "medical_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_hiv_services", - "text": "Other CBHS services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_hiv_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please fill the HIV services provided", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "hiv_services_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other CBHS Services Provided", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_services_provided_other", - "openmrs_entity_parent": "hiv_services_provided" - }, - "required_status": "true:Please specify other HIV services provided", - "subjects": "hiv_services_provided:map" - }, - { - "name": "referrals_issued_to_other_services", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Referrals Issued to the Client for Other Services." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services" - }, - "options": [ - { - "name": "legal_services", - "text": "Legal Services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Psycho Social Support groups", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": " OVC services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Elderly Centers ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Other Referrals", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals issued", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_issued_to_other_services_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Referral Services Provided", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_issued_to_other_services_other", - "openmrs_entity_parent": "referrals_issued_to_other_services" - }, - "required_status": "true:Please specify other Referrals Issued", - "subjects": "referrals_issued_to_other_services:map" - }, - { - "name": "referrals_to_other_services_completed", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick Referrals to other services Completed by the Client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed" - }, - "options": [ - { - "name": "legal_services", - "text": "Legal Services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "legal_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "support_groups", - "text": "Psycho Social Support groups", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "support_groups", - "openmrs_entity_parent": "" - } - }, - { - "name": "ovc_services", - "text": " OVC services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ovc_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "elderly_centers", - "text": "Elderly Centers ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "elderly_centers", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_referrals", - "text": "Other Referrals", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_referrals", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the referrals completed", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "referrals_to_other_services_completed_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Referrals Completed", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referrals_to_other_services_completed_other", - "openmrs_entity_parent": "referrals_to_other_services_completed" - }, - "required_status": "true:Please specify other Referrals Completed", - "subjects": "referrals_to_other_services_completed:map" - }, - { - "name": "state_of_therapy", - "type": "spinner", - "properties": { - "text": "State of HIV Care and treatment" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "registered_but_not_began_medication", - "text": "Registered in CTC/PMTCT clinic but hasn't begun ARV medication", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_but_not_began_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_and_uses_medication", - "text": "Registered in CTC/PMTCT clinic and uses ARV medication", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_and_uses_medication", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the state of HIV therapy", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location", - "type": "spinner", - "properties": { - "text": "Choose Moved To Facility", - "searchable": "Choose moved to facility" - }, - "options": [ - { - "name": "Other", - "text": "Other", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "Other", - "openmrs_entity_parent": "" - } - } - ], - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Please select the moved to facility", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "client_moved_location_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Enter the other location", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_moved_location", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Please enter the moved to facility", - "subjects": "client_moved_location:text" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json deleted file mode 100644 index 5e7478ac78..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/male_hiv_registration.json +++ /dev/null @@ -1,179 +0,0 @@ -{ - "form": "HIV Registration form", - "count": "1", - "encounter_type": "CBHS Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "CBHS Registration Form", - "fields": [ - { - "name": "cbhs_number", - "type": "masked_edit_text", - "properties": { - "hint": "CBHS Number e.g 1234/56/78/912", - "type": "CBHS Number e.g 1234/56/78/912", - "mask": "####/##/##/###", - "mask_hint": "12345678912", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cbhs_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{4}/\\\\d{2}/\\\\d{2}/\\\\d{3})?\")", - "message": "CBHS Number should be of the format (XXXX/XX/XX/XXX)." - } - ], - "required_status": "yes:Please specify client's CBHS Number" - }, - { - "name": "client_hiv_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's HIV status during registration" - }, - "options": [ - { - "name": "unknown", - "text": "Unknown", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Negative", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "dependent_calculations": [ - "hiv_registration_date" - ] - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "CTC Number e.g 12-34-5678-912345", - "type": "CTC Number e.g 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "CTC Number should be of format (XX-XX-XXXX-XXXXXX)." - } - ], - "subjects": "client_hiv_status_during_registration:text" - }, - { - "name": "tb_number", - "type": "text_input_edit_text", - "properties": { - "hint": "TB ID", - "type": "TB Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "mat_number", - "type": "text_input_edit_text", - "properties": { - "hint": "MAT ID", - "type": "MAT Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mat_number", - "openmrs_entity_parent": "" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json index 94c98a1e34..b0dc371034 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/anc_referral_form.json @@ -65,7 +65,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "problem" + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "options": [ { @@ -73,7 +73,7 @@ "text": "Vaginal bleeding", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Vaginal_bleeding", + "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -82,7 +82,7 @@ "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", + "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -91,7 +91,7 @@ "text": "High blood pressure", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "High_blood_pressure", + "openmrs_entity_id": "113088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -100,7 +100,7 @@ "text": "Severe abdominal pain", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Severe_abdominal_pain", + "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -109,7 +109,7 @@ "text": "Severe anaemia", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Severe_anaemia", + "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -118,7 +118,7 @@ "text": "Convulsions", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Convulsions", + "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -127,7 +127,7 @@ "text": "No movement / unusual movement for a child in the womb", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "No_movement_unusual_movement_for_a_child_in_the_womb", + "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -136,7 +136,7 @@ "text": "Pregnancy pains before 9 months", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Pregnancy_pains_before_9_months", + "openmrs_entity_id": "153316AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -145,7 +145,7 @@ "text": "Early age pregnancy (below 18 years)", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Early_age_pregnancy_below_18_years", + "openmrs_entity_id": "163119AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -154,7 +154,7 @@ "text": "A severe headache / dizziness", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "A_severe_headache_dizziness", + "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -163,7 +163,7 @@ "text": "Swelling of the face and/or hands", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Swelling_of_the_face_andor_hands", + "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -172,7 +172,7 @@ "text": "Fever", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Fever", + "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -181,7 +181,7 @@ "text": "Shivering/trembling", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Shivering_trembling", + "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -190,7 +190,7 @@ "text": "Nausea and vomiting", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Nausea_and_Vomiting", + "openmrs_entity_id": "133473AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -199,7 +199,7 @@ "text": "Water sack broke before contractions", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Water_sack_broke_before_contractions", + "openmrs_entity_id": "129211AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -208,7 +208,7 @@ "text": "Cord prolapse", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Cord_prolapse", + "openmrs_entity_id": "128419AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -217,7 +217,7 @@ "text": "HIV care and support services", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "HIV_care_and_support_services", + "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -226,7 +226,7 @@ "text": "Family planning services", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Family_planning_services", + "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -235,7 +235,7 @@ "text": "PMTCT for mothers", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "PMTCT_for_mothers", + "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -244,7 +244,7 @@ "text": "Fistula", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Fistula", + "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -253,7 +253,7 @@ "text": "Difficultly breathing", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Difficultly_breathing", + "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -262,7 +262,7 @@ "text": "Breast engorgement", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Breast_engorgement", + "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -271,7 +271,7 @@ "text": "Blurred vision", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Blurred_vision", + "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -280,7 +280,16 @@ "text": "Perineum tear", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Perineum_tear", + "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "" + } + }, + { + "name": "Pregnancy_confirmation", + "text": "Pregnancy confirmation", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "152305AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -289,7 +298,7 @@ "text": "Other symptoms", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_symptoms", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } } @@ -307,8 +316,8 @@ "type": "text_input_edit_text", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "properties": { "hint": "Other symptoms", @@ -322,7 +331,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "service_before_referral" + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "type": "multi_choice_checkbox", "properties": { @@ -334,7 +343,7 @@ "text": "ORS", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "ORS", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -343,7 +352,7 @@ "text": "Panadol", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Panadol", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -352,7 +361,7 @@ "text": "Other treatment", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "Other_treatment", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -362,7 +371,7 @@ "is_exclusive": true, "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "None", + "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } } @@ -374,8 +383,8 @@ "type": "text_input_edit_text", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "service_before_referral_other", - "openmrs_entity_parent": "service_before_referral" + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "properties": { "hint": "Other Treatment", @@ -405,8 +414,7 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/child_gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/child_gbv_referral_form.json index cc26307983..375ab3a7a1 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/child_gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/child_gbv_referral_form.json @@ -194,8 +194,7 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/child_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/child_referral_form.json index 6aa479fae2..7c9edf5beb 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/child_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/child_referral_form.json @@ -378,8 +378,7 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/female_fp_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/female_fp_referral_form.json index 748a091269..2f0c80ba2a 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/female_fp_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/female_fp_referral_form.json @@ -561,8 +561,7 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json index 2a614958a8..519a0956d2 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/gbv_referral_form.json @@ -65,7 +65,7 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "problem" + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "options": [ { @@ -149,8 +149,8 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "required_status": "true:Please specify other symptoms", "subjects": "problem:map" @@ -176,8 +176,7 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json index afad296b31..d043941819 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/hiv_referral_form.json @@ -65,24 +65,42 @@ "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "problem" + "openmrs_entity_id": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "options": [ { - "name": "pain", - "text": "Pain", + "name": "frequent_fever", + "text": "Frequent fever", "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "pain", + "openmrs_entity": "", + "openmrs_entity_id": "frequent_fever", "openmrs_entity_parent": "" } }, { - "name": "coughing", - "text": "Coughing", + "name": "weight_loss", + "text": "Weight loss", "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "coughing", + "openmrs_entity": "", + "openmrs_entity_id": "weight_loss", + "openmrs_entity_parent": "" + } + }, + { + "name": "living_with_a_spouse_with_hiv", + "text": "Living with HIV+ spouse", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "living_with_a_spouse_with_hiv", + "openmrs_entity_parent": "" + } + }, + { + "name": "living_in_a_risky_area", + "text": "Risk area/location", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "living_in_a_risky_area", "openmrs_entity_parent": "" } }, @@ -113,8 +131,8 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "163182AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "required_status": "true:Please specify other symptoms", "subjects": "problem:map" @@ -127,34 +145,16 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "service_before_referral", + "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" }, "options": [ - { - "name": "cotrimoxazole", - "text": "Cotrimoxazole", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cotrimoxazole", - "openmrs_entity_parent": "" - } - }, - { - "name": "aspirin", - "text": "Aspirin", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "aspirin", - "openmrs_entity_parent": "" - } - }, { "name": "Other_treatment", "text": "Other treatment", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "Other_treatment", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" } }, @@ -180,8 +180,8 @@ }, "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "service_before_referral_other", - "openmrs_entity_parent": "service_before_referral" + "openmrs_entity_id": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "required_status": "true:Please specify other treatment given", "subjects": "service_before_referral:map" @@ -207,8 +207,7 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json deleted file mode 100644 index f7ea38452f..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/referrals/hts_referral_form.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "form": "Referral form", - "encounter_type": "Referral Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/general_neat_referral_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "HIV Testing Services Referral Form", - "fields": [ - { - "name": "problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick problem/condition associated with the client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "frequent_fever", - "text": "Frequent fever", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "frequent_fever", - "openmrs_entity_parent": "" - } - }, - { - "name": "weight_loss", - "text": "Weight loss", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "weight_loss", - "openmrs_entity_parent": "" - } - }, - { - "name": "living_with_a_spouse_with_hiv", - "text": "Living with HIV+ spouse", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "living_with_a_spouse_with_hiv", - "openmrs_entity_parent": "" - } - }, - { - "name": "living_in_a_risky_area", - "text": "Risk area/location", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "living_in_a_risky_area", - "openmrs_entity_parent": "" - } - }, - { - "name": "Other_symptom", - "text": "Other Symptom", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "Other_symptom", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's problems", - "dependent_calculations": [ - "referral_date", - "referral_time", - "referral_type", - "referral_status" - ] - }, - { - "name": "problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other symptoms", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" - }, - "required_status": "true:Please specify other symptoms", - "subjects": "problem:map" - }, - { - "name": "chw_referral_hf", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "chw_referral_hf", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Choose referral facility", - "searchable": "Choose referral facility" - }, - "options": [], - "required_status": "yes:Please specify referral facility" - }, - { - "name": "referral_appointment_date", - "type": "datetime_picker", - "properties": { - "hint": "Please select the appointment date", - "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_appointment_date", - "openmrs_entity_parent": "" - }, - "required_status": "true:Please specify the appointment date" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/malaria_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/malaria_referral_form.json index c2d9dada9a..2a95c3f6c1 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/malaria_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/malaria_referral_form.json @@ -380,8 +380,7 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/male_fp_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/male_fp_referral_form.json index deb125caee..855a73ad13 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/male_fp_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/male_fp_referral_form.json @@ -237,8 +237,7 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/pnc_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/pnc_referral_form.json index 6cc0407f1c..8e67d73d24 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/pnc_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/pnc_referral_form.json @@ -506,8 +506,7 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json deleted file mode 100644 index 92a6bab2b1..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/referrals/pregnancy_confirmation_referral_form.json +++ /dev/null @@ -1,221 +0,0 @@ -{ - "form": "Pregnancy Confirmation Referral", - "encounter_type": "Pregnancy Confirmation Referral", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/pregnancy_confirmation_referral_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Pregnancy Confirmation Referral", - "fields": [ - { - "name": "problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick condition/problem associated with the client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "loss_of_menstrual_period", - "text": "Loss of Menstrual Period", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "loss_of_menstrual_period", - "openmrs_entity_parent": "" - } - }, - { - "name": "vomiting", - "text": "Vomiting", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "vomiting", - "openmrs_entity_parent": "" - } - }, - { - "name": "fever", - "text": "Fever", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fever", - "openmrs_entity_parent": "" - } - }, - { - "name": "severe_headache", - "text": "Severe Headache", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "severe_headache", - "openmrs_entity_parent": "" - } - }, - { - "name": "nausea", - "text": "Nausea", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "nausea", - "openmrs_entity_parent": "" - } - }, - { - "name": "feeling_lightheaded_or_dizzy", - "text": "Feeling lightheaded or dizzy", - "meta_data": { - "openmrs_entity": "conceptc", - "openmrs_entity_id": "feeling_lightheaded_or_dizzy", - "openmrs_entity_parent": "" - } - }, - { - "name": "frequent_urination", - "text": "Frequent urination", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "frequent_urination", - "openmrs_entity_parent": "" - } - }, - { - "name": "painful_breasts", - "text": "Painful breasts", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "painful_breasts", - "openmrs_entity_parent": "" - } - }, - { - "name": "other_symptoms", - "text": "Other symptoms", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_symptoms", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "none", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify reason for Pregnancy Confirmation referral", - "dependent_calculations": [ - "referral_date", - "referral_time", - "referral_type", - "referral_status", - "service_before_referral" - ] - }, - { - "name": "problem_other", - "type": "text_input_edit_text", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" - }, - "properties": { - "hint": "Other symptoms", - "type": "name" - }, - "required_status": "true:Please specify other symptoms", - "subjects": "problem:map" - }, - { - "name": "chw_referral_hf", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "chw_referral_hf", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Choose referral facility", - "searchable": "Choose referral facility" - }, - "options": [], - "required_status": "yes:Please specify referral facility" - }, - { - "name": "referral_appointment_date", - "type": "datetime_picker", - "properties": { - "hint": "Please select the appointment date", - "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "referral_appointment_date", - "openmrs_entity_parent": "" - }, - "required_status": "true:Please specify the appointment date" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/referral_form.json index 34bfad9c86..80a1a73630 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/referral_form.json @@ -171,8 +171,7 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/referrals/tb_referral_form.json b/opensrp-chw/src/ba/assets/json.form/referrals/tb_referral_form.json index c3ccb045bb..751826886e 100644 --- a/opensrp-chw/src/ba/assets/json.form/referrals/tb_referral_form.json +++ b/opensrp-chw/src/ba/assets/json.form/referrals/tb_referral_form.json @@ -207,8 +207,7 @@ "properties": { "hint": "Please select the appointment date", "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today" + "display_format": "dd/MM/yyyy" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json b/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json deleted file mode 100644 index 5af5debd12..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/tb_case_closure.json +++ /dev/null @@ -1,141 +0,0 @@ -{ - "form": "TB Case Closure form", - "count": "1", - "encounter_type": "TB Case Closure", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/tb_case_closure_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "TB Close Case form", - "fields": [ - { - "name": "client_condition", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_condition", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Condition of the client" - }, - "options": [ - { - "name": "client_does_her_daily_activities", - "text": "Client does her daily activities", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_does_her_daily_activities", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_takes_care_of_himself", - "text": "Client takes care of him/herself (Bathing, Eating)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_takes_care_of_himself", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_is_unable_to_take_care_of_himself", - "text": "Client is unable to take care of him/herself", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's condition", - "dependent_calculations": [ - "tb_case_closure_date" - ] - }, - { - "name": "completed_medication_as_required", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_medication_as_required", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client completed medication as required " - }, - "options": [ - { - "name": "yes", - "text": "yes", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "yes", - "openmrs_entity_parent": "" - } - }, - { - "name": "no", - "text": "no", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "no", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:This question is required" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/tb_community_followup_feedback.json b/opensrp-chw/src/ba/assets/json.form/tb_community_followup_feedback.json deleted file mode 100644 index c371dfedff..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/tb_community_followup_feedback.json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "form": "TB Community Followup Feedback", - "count": "1", - "encounter_type": "TB Community Followup Feedback", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/tb_community_followup_feedback_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "TB Community Followup Feedback", - "fields": [ - { - "name": "followup_status", - "type": "spinner", - "properties": { - "text": "Followup Feedback" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "continuing_with_services", - "text": "Continuing with services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Deceased", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Client not found", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Client has relocated to another location", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Client has moved ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Client has absconded", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Clients continues with clinic from elsewhere", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please select the followup feedback", - "dependent_calculations": [ - "tb_community_followup_visit_date" - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json b/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json deleted file mode 100644 index a2bd0c4463..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/tb_followup_visit.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "form": "TB Followup form", - "count": "1", - "encounter_type": "TB Followup", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/tb_followup_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "TB Followup form", - "fields": [ - { - "name": "registration_or_followup_status", - "type": "spinner", - "properties": { - "text": "Registration/Followup status" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registration_or_followup_status", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "new_client", - "text": "New Client", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "new_client", - "openmrs_entity_parent": "" - } - }, - { - "name": "continuing_with_services", - "text": "Continuing with services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "continuing_with_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "deceased", - "text": "Deceased", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "deceased", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_not_found", - "text": "Client not found", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_not_found", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_relocated_to_another_location", - "text": "Client has relocated to another location", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_relocated_to_another_location", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_moved", - "text": "Client has moved ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_moved", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_has_absconded", - "text": "Client has absconded", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_has_absconded", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_continues_with_clinic_from_elsewhere", - "text": "Clients continues with clinic from elsewhere", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", - "openmrs_entity_parent": "" - } - }, - { - "name": "completed_and_qualified_from_the_services ", - "text": "Client has completed and qualified from the services ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "completed_and_qualified_from_the_services", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please select the registration/followup status", - "dependent_calculations": [ - "tb_followup_visit_date" - ] - }, - { - "name": "client_condition", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_condition", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Condition of the client" - }, - "options": [ - { - "name": "client_does_her_daily_activities", - "text": "Client does her daily activities", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_does_her_daily_activities", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_takes_care_of_himself", - "text": "Client takes care of him/herself (Bathing, Eating)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_takes_care_of_himself", - "openmrs_entity_parent": "" - } - }, - { - "name": "client_is_unable_to_take_care_of_himself", - "text": "Client is unable to take care of him/herself", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_is_unable_to_take_care_of_himself", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's condition", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "problem", - "type": "multi_choice_checkbox", - "properties": { - "text": "Pick problem/Social challenges faced by the Client." - }, - "meta_data": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "problem" - }, - "options": [ - { - "name": "other_problems", - "text": "Other Problems", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_problems", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's problems", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "problem_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Problems", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "problem_other", - "openmrs_entity_parent": "problem" - }, - "required_status": "true:Please specify other symptoms", - "subjects": "problem:map" - }, - { - "name": "client_behaviour_and_environmental_risk", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_behaviour_and_environmental_risk", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's behaviour & environmental risks" - }, - "options": [ - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - }, - { - "name": "alcoholism", - "text": "Alcoholism", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "alcoholism", - "openmrs_entity_parent": "" - } - }, - { - "name": "vulnerable_environment", - "text": "Clients lives in a vulnerable environment", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "vulnerable_environment", - "openmrs_entity_parent": "" - } - }, - { - "name": "hiv_positive", - "text": "Client is HIV Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_positive", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify client's behaviour", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "Supplies/medicines provided" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "other_medicine", - "text": "Other treatment", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_medicine", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please choose supplies/medicine given", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "supplies_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other Supplies/Medicine", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "supplies_provided_other", - "openmrs_entity_parent": "supplies_provided" - }, - "required_status": "true:Please specify other supplies/Medicine given", - "subjects": "supplies_provided:map" - }, - { - "name": "tb_services_provided", - "type": "multi_choice_checkbox", - "properties": { - "text": "TB services provided by CHW at the community" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_services_provided", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "other_services", - "text": "Other TB services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_tb_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "none", - "text": "None", - "is_exclusive": true, - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please TB services provided", - "subjects": "registration_or_followup_status:text" - }, - { - "name": "tb_services_provided_other", - "type": "text_input_edit_text", - "properties": { - "hint": "Other TB Services Provided", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_services_provided_other", - "openmrs_entity_parent": "tb_services_provided" - }, - "required_status": "true:Please specify other TB services provided", - "subjects": "tb_services_provided:map" - }, - { - "name": "state_of_therapy", - "type": "spinner", - "properties": { - "text": "State of therapy and (TB) care" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy", - "openmrs_entity_parent": "" - }, - "options": [ - { - "name": "registered_but_not_began_medication", - "text": "Registered in TB clinic but hasn't begun TB/DR-TB medication", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_but_not_began_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "registered_and_uses_medication", - "text": "Registered in TB clinic and uses TB/ DR TB medication", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "registered_and_uses_medication", - "openmrs_entity_parent": "" - } - }, - { - "name": "not_registered_in_tb_clinic", - "text": "Client is not registed in TB clinic", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "not_registered_in_tb_clinic", - "openmrs_entity_parent": "" - } - }, - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the state of TB therapy", - "subjects": "registration_or_followup_status:text" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/json.form/tb_registration.json b/opensrp-chw/src/ba/assets/json.form/tb_registration.json deleted file mode 100644 index cdb6125a42..0000000000 --- a/opensrp-chw/src/ba/assets/json.form/tb_registration.json +++ /dev/null @@ -1,339 +0,0 @@ -{ - "form": "TB Registration form", - "count": "1", - "encounter_type": "TB Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/tb_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "TB Clients Registration form", - "fields": [ - { - "name": "community_client_tb_registration_number", - "type": "text_input_edit_text", - "properties": { - "hint": "Client TB Clinic Registration Number" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "community_client_tb_registration_number", - "openmrs_entity_parent": "" - }, - "required_status": "no" - }, - { - "name": "client_tb_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_tb_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's TB status during registration" - }, - "options": [ - { - "name": "unknown", - "text": "Unknown", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Negative", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify Client's TB status during registration", - "dependent_calculations": [ - "tb_registration_date" - ] - }, - { - "name": "place_of_domicile", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "place_of_domicile", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Place of Domicile" - }, - "options": [ - { - "name": "a_family_with_tb_patient", - "text": "A family with TB patient", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "a_family_with_tb_patient", - "openmrs_entity_parent": "" - } - }, - { - "name": "a_family_without_tb_patient", - "text": "A family without TB patient", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "a_family_without_tb_patient", - "openmrs_entity_parent": "" - } - }, - { - "name": "community_gathering", - "text": "Community Gathering", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "community_gathering", - "openmrs_entity_parent": "" - } - }, - { - "name": "pharmacy", - "text": "Pharmacy", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "pharmacy", - "openmrs_entity_parent": "" - } - }, - { - "name": "traditional_doctors", - "text": "Traditional doctors", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "traditional_doctors", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify place of domicile" - }, - { - "name": "district_council_number_of_current_tb_client", - "type": "text_input_edit_text", - "properties": { - "hint": "District council number of the TB client in the family" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "district_council_number_of_current_tb_client", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Fill in the district council number of the TB client in the family", - "subjects": "place_of_domicile:text" - }, - { - "name": "community_gathering", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "community_gathering", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Type of community gathering" - }, - "options": [ - { - "name": "school", - "text": "School", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "school", - "openmrs_entity_parent": "" - } - }, - { - "name": "worship_houses", - "text": "Worship houses", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "worship_houses", - "openmrs_entity_parent": "" - } - }, - { - "name": "mining", - "text": "Mining", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mining", - "openmrs_entity_parent": "" - } - }, - { - "name": "public_meetings", - "text": "Public meetings", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "public_meetings", - "openmrs_entity_parent": "" - } - }, - { - "name": "prison", - "text": "Prison", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "prison", - "openmrs_entity_parent": "" - } - }, - { - "name": "others", - "text": "Others", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "others", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify the type of community gathering", - "subjects": "place_of_domicile:text" - }, - { - "name": "other_community_gathering", - "type": "text_input_edit_text", - "properties": { - "hint": "Specify other community gathering" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "other_community_gathering", - "openmrs_entity_parent": "" - }, - "required_status": "yes:Please specify other community gathering", - "subjects": "community_gathering:text" - }, - { - "name": "client_screening_results", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_screening_results", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's screening results" - }, - "options": [ - { - "name": "coughing", - "text": "Coughing", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "coughing", - "openmrs_entity_parent": "" - } - }, - { - "name": "hemoptysis", - "text": "Sputum with blood (hemoptysis) ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "hemoptysis", - "openmrs_entity_parent": "" - } - }, - { - "name": "fever", - "text": "Fever", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "fever", - "openmrs_entity_parent": "" - } - }, - { - "name": "weight_lose", - "text": "Weight lose", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "weight_lose", - "openmrs_entity_parent": "" - } - }, - { - "name": "history_of_night_sweats", - "text": "History of night sweats", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "history_of_night_sweats", - "openmrs_entity_parent": "" - } - } - ], - "required_status": "yes:Please specify clients screening results" - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml index 5c7b0ac535..4f789121b2 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_calculation.yml @@ -18,25 +18,4 @@ description: set surname as the one added in step one priority: 1 condition: "true" actions: - - "calculation = step1_fam_name" ---- -name: step2_first_name -description: set surname as the one added in step one -priority: 1 -condition: "true" -actions: - - "calculation = step1_client_first_name" ---- -name: step2_middle_name -description: set surname as the one added in step one -priority: 1 -condition: "true" -actions: - - "calculation = step1_client_middle_name" ---- -name: step2_reasons_for_registration -description: set reasons for registration -priority: 1 -condition: "true" -actions: - - "calculation = ((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15)) ? step2_reasons_for_registration_under_15 : (step2_sex.equalsIgnoreCase('Female') ? step2_reasons_for_registration_female_15 : step2_reasons_for_registration_male_15)" \ No newline at end of file + - "calculation = step1_fam_name" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml index 480b3d2971..fb6bdc3d8c 100644 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/all_clients_member_relevance.yml @@ -24,27 +24,6 @@ name: step2_id_avail description: identity relevance priority: 1 condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step2_service_provider -description: service_provider relevance -priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step2_leader -description: leader relevance -priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step2_marital_status -description: marital_status relevance -priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 14) || (step2_age != '' && step2_age >= 14)" actions: - "isRelevant = true" @@ -95,26 +74,5 @@ name: step2_other_phone_number description: as primary caregiver phone number priority: 1 condition: "step2_has_primary_caregiver == 'Yes'" -actions: - - "isRelevant = true" ---- -name: step2_reasons_for_registration_male_15 -description: Show up if client is male and age 15 above -priority: 1 -condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 15) || (step2_age != '' && step2_age >= 15)) && step2_sex.equals('Male') " -actions: - - "isRelevant = true" ---- -name: step2_reasons_for_registration_female_15 -description: Show up if client is female and age 15 above -priority: 1 -condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 15) || (step2_age != '' && step2_age >= 15))&& step2_sex.equals('Female')" -actions: - - "isRelevant = true" ---- -name: step2_reasons_for_registration_under_15 -description: Show up if client is below 15 -priority: 1 -condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15))" actions: - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_update_calculation.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_update_calculation.yml deleted file mode 100644 index 9fa01dc9be..0000000000 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_update_calculation.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -name: step1_age_calculated -description: Age calculated -priority: 1 -condition: "true" -actions: - - "calculation = (!step1_dob_unknown.isEmpty() && step1_dob_unknown.contains('dob_unknown')) ? step1_age : helper.getDifferenceDays(step1_dob) / 365.25" ---- -name: step1_wra -description: wra calculation -priority: 1 -condition: "step1_sex == 'Female' && (step1_age_calculated >= 10 && step1_age_calculated <= 49)" -actions: - - "calculation = 1" ---- -name: step1_reasons_for_registration -description: set reasons for registration -priority: 1 -condition: "true" -actions: - - "calculation = ((step1_dob != '' && helper.formatDate(step1_dob,'y') < 15) || (step1_age != '' && step1_age < 15)) ? step1_reasons_for_registration_under_15 : (step1_sex.equalsIgnoreCase('Female') ? step1_reasons_for_registration_female_15 : step1_reasons_for_registration_male_15)" diff --git a/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml b/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml deleted file mode 100644 index 51a4487ebf..0000000000 --- a/opensrp-chw/src/ba/assets/rule/all_clients_member_update_relevance.yml +++ /dev/null @@ -1,121 +0,0 @@ ---- -name: step1_dob -description: dob relevance -priority: 1 -condition: "!step1_dob_unknown.contains('dob_unknown')" -actions: - - "isRelevant = true" ---- -name: step1_age -description: age relevance -priority: 1 -condition: "step1_dob_unknown.contains('dob_unknown')" -actions: - - "isRelevant = true" ---- -name: step1_phone_number -description: phone number relevance -priority: 1 -condition: "step1_is_primary_caregiver == 'Yes'" -actions: - - "isRelevant = true" ---- -name: step1_id_avail -description: identity relevance -priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" -actions: - - "isRelevant = true" - ---- -name: step1_preg_1yr -description: pregnance 1yr relevance -priority: 1 -condition: "step1_wra == 1" -actions: - - "isRelevant = true" ---- -name: step1_insurance_provider_other -description: insurance_provider_other relevance -priority: 1 -condition: "!step1_insurance_provider.isEmpty() && step1_insurance_provider.equals('Other')" -actions: - - "isRelevant = true" ---- -name: step1_insurance_provider_number -descripltion: insurance number relevance -priority: 1 -condition: "!step1_insurance_provider.isEmpty() && !step1_insurance_provider.contains('None')" -actions: - - "isRelevant = true" ---- -name: step1_type_of_disability -description: type_of_disability relevance -priority: 1 -condition: "step1_disabilities.equals('Yes')" -actions: - - "isRelevant = true" ---- -name: step1_preg_1yr -description: pregnance 1yr relevance -priority: 1 -condition: "step1_wra == 1" -actions: - - "isRelevant = true" ---- -name: step1_primary_caregiver_name -description: ask primary caregiver name -priority: 1 -condition: "step1_has_primary_caregiver == 'Yes'" -actions: - - "isRelevant = true" ---- -name: step1_other_phone_number -description: as primary caregiver phone number -priority: 1 -condition: "step1_has_primary_caregiver == 'Yes'" -actions: - - "isRelevant = true" ---- -name: step1_service_provider -description: service_provider relevance -priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step1_leader -description: leader relevance -priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step1_marital_status -description: marital_status relevance -priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 14) || (step1_age != '' && step1_age >= 14)" -actions: - - "isRelevant = true" ---- -name: step1_reasons_for_registration_male_15 -description: Show up if client is male and age 15 above -priority: 1 -condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') >= 15) || (step1_age != '' && step1_age >= 15)) && step1_sex.equals('Male') " -actions: - - "isRelevant = true" ---- -name: step1_reasons_for_registration_female_15 -description: Show up if client is female and age 15 above -priority: 1 -condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') >= 15) || (step1_age != '' && step1_age >= 15))&& step1_sex.equals('Female')" -actions: - - "isRelevant = true" ---- -name: step1_reasons_for_registration_under_15 -description: Show up if client is below 15 -priority: 1 -condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') < 15) || (step1_age != '' && step1_age < 15))" -actions: - - "isRelevant = true" - diff --git a/opensrp-chw/src/ba/assets/rule/family-child-relevance.yml b/opensrp-chw/src/ba/assets/rule/family-child-relevance.yml index 5e4d661239..0ed45d8c24 100644 --- a/opensrp-chw/src/ba/assets/rule/family-child-relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/family-child-relevance.yml @@ -41,13 +41,6 @@ condition: "step1_disabilities.contains('Yes')" actions: - "isRelevant = true" --- -name: step1_birth_cert_available -description: birth certificate availability relevance -priority: 1 -condition: "!step1_dob_unknown.contains('dob_unknown')" -actions: - - "isRelevant = true" ---- name: step1_birth_regist_number descripltion: birth registration number priority: 1 diff --git a/opensrp-chw/src/ba/assets/rule/family_member_relevance.yml b/opensrp-chw/src/ba/assets/rule/family_member_relevance.yml index c14379bb4c..f5c933ed41 100644 --- a/opensrp-chw/src/ba/assets/rule/family_member_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/family_member_relevance.yml @@ -29,27 +29,6 @@ actions: - "isRelevant = true" --- -name: step1_service_provider -description: service_provider relevance -priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step1_leader -description: leader relevance -priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step1_marital_status -description: marital_status relevance -priority: 1 -condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 14) || (step1_age != '' && step1_age >= 14)" -actions: - - "isRelevant = true" ---- name: step1_preg_1yr description: pregnance 1yr relevance priority: 1 diff --git a/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml b/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml index 5d515e58ea..d756714a44 100644 --- a/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml +++ b/opensrp-chw/src/ba/assets/rule/family_register_calculation.yml @@ -18,18 +18,4 @@ description: wra calculation priority: 1 condition: "step2_sex == 'Female' && (step2_age_calculated >= 10 && step2_age_calculated <= 49)" actions: - - "calculation = 1" ---- -name: step2_first_name -description: set surname as the one added in step one -priority: 1 -condition: "true" -actions: - - "calculation = step1_client_first_name" ---- -name: step2_middle_name -description: set surname as the one added in step one -priority: 1 -condition: "true" -actions: - - "calculation = step1_client_middle_name" \ No newline at end of file + - "calculation = 1" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml b/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml index 0d48b39234..9bcf1d69bb 100644 --- a/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml +++ b/opensrp-chw/src/ba/assets/rule/family_register_relevance.yml @@ -12,27 +12,7 @@ priority: 1 condition: "!step2_dob_unknown.contains('dob_unknown')" actions: - "isRelevant = true" ---- -name: step2_service_provider -description: service_provider relevance -priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step2_leader -description: leader relevance -priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" -actions: - - "isRelevant = true" ---- -name: step2_marital_status -description: marital_status relevance -priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 14) || (step2_age != '' && step2_age >= 14)" -actions: - - "isRelevant = true" + --- name: step2_dob_entered description: dob_entered relevance @@ -146,12 +126,5 @@ name: step2_preg_1yr description: pregnance 1yr relevance priority: 1 condition: "step2_wra == 1" -actions: - - "isRelevant = true" ---- -name: step2_id_avail -description: identity relevance -priority: 1 -condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 18) || (step2_age != '' && step2_age >= 18)" actions: - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml b/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml deleted file mode 100644 index f9c76f1c5d..0000000000 --- a/opensrp-chw/src/ba/assets/rule/hiv-followup-rules.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: schedule_every_month -description: monthly -priority: 1 -condition: "true" -actions: - - "hivFollowupRule.setVisitID('1')" - - "hivFollowupRule.isValid(28,35,365)" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/hiv_community_followup_feedback_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_community_followup_feedback_rules.yml deleted file mode 100644 index a0ed8f53d6..0000000000 --- a/opensrp-chw/src/ba/assets/rule/hiv_community_followup_feedback_rules.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -name: "hiv_community_followup_visit_date_calculation" -description: "calculating the hiv followup visit date" -priority: 1 -condition: "true" -actions: - - "hiv_community_followup_visit_date_calculation = System.currentTimeMillis()" ---- -name: "client_moved_location_visibility" -description: "client_moved_location visibility" -priority: 1 -condition: "followup_status.value == 'Client has relocated to another location' || followup_status.value == 'Amehamishiwa mahali pengine' || followup_status.value == 'Client continues with clinic from elsewhere' || followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine'" -actions: - - "client_moved_location_visibility = true" ---- -name: "client_moved_location_other_visibility" -description: "client_moved_location visibility" -priority: 1 -condition: "client_moved_location.value == 'Other' && (followup_status.value == 'Client has relocated to another location' || followup_status.value == 'Amehamishiwa mahali pengine') || client_moved_location.value == 'Other' && (followup_status.value == 'Client continues with clinic from elsewhere' || followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine')" -actions: - - "client_moved_location_other_visibility = true" - diff --git a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml deleted file mode 100644 index 63cd5fb583..0000000000 --- a/opensrp-chw/src/ba/assets/rule/hiv_followup_form_rules.yml +++ /dev/null @@ -1,155 +0,0 @@ ---- -name: "client_condition_visibility" -description: "client_condition visibility" -priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" -actions: - - "client_condition_visibility = true" ---- -name: "client_hiv_status_after_testing_visibility" -description: "client_hiv_status_after_testing visibility" -priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" -actions: - - "client_hiv_status_after_testing_visibility = true" ---- -name: "ctc_number_visibility" -description: "ctc_number visibility" -priority: 1 -condition: "client_hiv_status_after_testing.value == 'Positive' || client_hiv_status_after_testing.value == 'Chanya'" -actions: - - "ctc_number_visibility = true" ---- -name: "health_problem_visibility" -description: "health_problem visibility" -priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" -actions: - - "health_problem_visibility = true" ---- -name: "health_problem_other_visibility" -description: "health_problem_other visibility" -priority: 1 -condition: "health_problem['other_health_problems'] != null" -actions: - - "health_problem_other_visibility = true" ---- -name: "social_problem_visibility" -description: "social_problem visibility" -priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" -actions: - - "social_problem_visibility = true" ---- -name: "social_problem_other_visibility" -description: "social_problem_other visibility" -priority: 1 -condition: "social_problem['other_social_problems'] != null" -actions: - - "social_problem_other_visibility = true" ---- -name: "supplies_provided_visibility" -description: "supplies_provided visibility" -priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" -actions: - - "supplies_provided_visibility = true" ---- -name: "supplies_provided_other_visibility" -description: "supplies_provided_other visibility" -priority: 1 -condition: "supplies_provided['other_supplies'] != null" -actions: - - "supplies_provided_other_visibility = true" ---- -name: "client_behaviour_and_environmental_risk_visibility" -description: "client_behaviour_and_environmental_risk visibility" -priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" -actions: - - "client_behaviour_and_environmental_risk_visibility = true" ---- -name: "medicine_provided_visibility" -description: "medicine_provided visibility" -priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" -actions: - - "medicine_provided_visibility = true" ---- -name: "medicine_provided_other_visibility" -description: "medicine_provided_other visibility" -priority: 1 -condition: "medicine_provided['other_medicine'] != null" -actions: - - "medicine_provided_other_visibility = true" ---- -name: "hiv_services_provided_visibility" -description: "hiv_services_provided visibility" -priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" -actions: - - "hiv_services_provided_visibility = true" ---- -name: "hiv_services_provided_other_visibility" -description: "hiv_services_provided_other visibility" -priority: 1 -condition: "hiv_services_provided['other_hiv_services'] != null" -actions: - - "hiv_services_provided_other_visibility = true" ---- -name: "referrals_issued_to_other_services_visibility" -description: "referrals_issued_to_other_services visibility" -priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" -actions: - - "referrals_issued_to_other_services_visibility = true" ---- -name: "referrals_issued_to_other_services_other_visibility" -description: "referrals_issued_to_other_services_other visibility" -priority: 1 -condition: "referrals_issued_to_other_services['other_referrals'] != null" -actions: - - "referrals_issued_to_other_services_other_visibility = true" ---- -name: "referrals_to_other_services_completed_visibility" -description: "referrals_to_other_services_completed visibility" -priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" -actions: - - "referrals_to_other_services_completed_visibility = true" ---- -name: "referrals_to_other_services_completed_other_visibility" -description: "referrals_to_other_services_completed_other visibility" -priority: 1 -condition: "referrals_to_other_services_completed['other_referrals'] != null" -actions: - - "referrals_to_other_services_completed_other_visibility = true" ---- -name: "state_of_therapy_visibility" -description: "state_of_therapy visibility" -priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" -actions: - - "state_of_therapy_visibility = true" ---- -name: "hiv_followup_visit_date_calculation" -description: "calculating the hiv followup visit date" -priority: 1 -condition: "true" -actions: - - "hiv_followup_visit_date_calculation = System.currentTimeMillis()" ---- -name: "client_moved_location_visibility" -description: "client_moved_location visibility" -priority: 1 -condition: "registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine' || registration_or_followup_status.value == 'Client continues with clinic from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine'" -actions: - - "client_moved_location_visibility = true" ---- -name: "client_moved_location_other_visibility" -description: "client_moved_location visibility" -priority: 1 -condition: "client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine') || client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client continues with clinic from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine')" -actions: - - "client_moved_location_other_visibility = true" - diff --git a/opensrp-chw/src/ba/assets/rule/hiv_index_contact_followup_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_index_contact_followup_rules.yml deleted file mode 100644 index dd93a390b2..0000000000 --- a/opensrp-chw/src/ba/assets/rule/hiv_index_contact_followup_rules.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -name: "client_followed_up_by_chw_calculation" -description: "client_followed_up_by_chw visibility" -priority: 1 -condition: "true" -actions: - - "client_followed_up_by_chw_calculation = true" ---- -name: "has_the_client_agreed_to_be_tested_visibility" -description: "has_the_client_agreed_to_be_tested visibility" -priority: 1 -condition: "has_the_contact_client_been_found['yes'] != null" -actions: - - "has_the_client_agreed_to_be_tested_visibility = true" ---- -name: "place_where_test_will_be_conducted_visibility" -description: "place_where_test_will_be_conducted visibility" -priority: 1 -condition: "has_the_contact_client_been_found['yes'] != null && has_the_client_agreed_to_be_tested['yes'] != null " -actions: - - "place_where_test_will_be_conducted_visibility = true" ---- -name: "toast_give_a_referral_to_the_client_visibility" -description: "toast_give_a_referral_to_the_client visibility" -priority: 2 -condition: "has_the_contact_client_been_found['yes'] != null && has_the_client_agreed_to_be_tested['yes'] != null && place_where_test_will_be_conducted['facility'] != null" -actions: - - "toast_give_a_referral_to_the_client_visibility = true" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml b/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml deleted file mode 100644 index 23df1d54b1..0000000000 --- a/opensrp-chw/src/ba/assets/rule/hiv_registration_form_rules.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: "ctc_number_visibility" -description: "ctc_number visibility" -priority: 1 -condition: "client_hiv_status_during_registration.value == 'Positive' || client_hiv_status_during_registration.value == 'Ana maambukizi'" -actions: - - "ctc_number_visibility = true" ---- -name: "hiv_registration_date_calculation" -description: "calculating the hiv registration date" -priority: 1 -condition: "true" -actions: - - "hiv_registration_date_calculation = System.currentTimeMillis()" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/pregnancy_confirmation_referral_form_rules.yml b/opensrp-chw/src/ba/assets/rule/pregnancy_confirmation_referral_form_rules.yml deleted file mode 100644 index cf2480e5f3..0000000000 --- a/opensrp-chw/src/ba/assets/rule/pregnancy_confirmation_referral_form_rules.yml +++ /dev/null @@ -1,47 +0,0 @@ ---- -name: "problem_other_visibility" -description: "Specify other symptoms" -priority: 1 -condition: "problem['other_symptom'] != null || problem['other_symptoms'] != null" -actions: - - "problem_other_visibility = true" ---- -name: "service_before_referral_calculation" -description: "Service Before Referral" -condition: "true" -priority: 1 -actions: - - "service_before_referral_calculation = 'None'" ---- -name: "referral_date_calculation" -description: "Referral date calculation" -priority: 1 -condition: "true" -actions: - - "referral_date_calculation = System.currentTimeMillis()" ---- -name: "referral_time_calculation" -description: "Referral time calculation" -priority: 1 -condition: "true" -actions: - - "def getDate(dateFormat) { - import java.util.*; - import java.text.SimpleDateFormat; - return new SimpleDateFormat(dateFormat).format(System.currentTimeMillis()); - }" - - "referral_time_calculation = getDate('HH:mm:ss.SSS')" ---- -name: "referral_type_calculation" -description: "Referral type calculation" -priority: 1 -condition: "true" -actions: - - "referral_type_calculation = 'community_to_facility_referral'" ---- -name: "referral_status_calculation" -description: "Referral type calculation" -priority: 1 -condition: "true" -actions: - - "referral_status_calculation = 'PENDING'" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml b/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml deleted file mode 100644 index a4baef0a61..0000000000 --- a/opensrp-chw/src/ba/assets/rule/tb-followup-rules.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: schedule_every_month -description: monthly -priority: 1 -condition: "true" -actions: - - "tbFollowupRule.setVisitID('1')" - - "tbFollowupRule.isValid(28,35,365)" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/tb_case_closure_form_rules.yml b/opensrp-chw/src/ba/assets/rule/tb_case_closure_form_rules.yml deleted file mode 100644 index a0aaaddc10..0000000000 --- a/opensrp-chw/src/ba/assets/rule/tb_case_closure_form_rules.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -name: "community_gathering_visibility" -description: "Display community gathering types if community gathering is chosen" -priority: 1 -condition: "place_of_domicile.value=='Community Gathering'" -actions: - - "community_gathering_visibility = true" ---- -name: "other_community_gathering_visibility" -description: "Display other community gathering types if others is chosen" -priority: 1 -condition: "community_gathering.value == 'Others'" -actions: - - "other_community_gathering_visibility = true" ---- -name: "tb_case_closure_date_calculation" -description: "calculating the case closure date" -priority: 1 -condition: "true" -actions: - - "tb_case_closure_date_calculation = System.currentTimeMillis()" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/tb_community_followup_feedback_rules.yml b/opensrp-chw/src/ba/assets/rule/tb_community_followup_feedback_rules.yml deleted file mode 100644 index d11e4e00ae..0000000000 --- a/opensrp-chw/src/ba/assets/rule/tb_community_followup_feedback_rules.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: "tb_community_followup_visit_date_calculation" -description: "calculating the tb followup visit date" -priority: 1 -condition: "true" -actions: - - "tb_community_followup_visit_date_calculation = System.currentTimeMillis()" - diff --git a/opensrp-chw/src/ba/assets/rule/tb_followup_form_rules.yml b/opensrp-chw/src/ba/assets/rule/tb_followup_form_rules.yml deleted file mode 100644 index a2817612b0..0000000000 --- a/opensrp-chw/src/ba/assets/rule/tb_followup_form_rules.yml +++ /dev/null @@ -1,70 +0,0 @@ ---- -name: "client_condition_visibility" -description: "client_condition visibility" -priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" -actions: - - "client_condition_visibility = true" ---- -name: "problem_visibility" -description: "problem visibility" -priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" -actions: - - "problem_visibility = true" ---- -name: "problem_other_visibility" -description: "problem other visibility" -priority: 1 -condition: "problem['other_problems'] != null" -actions: - - "problem_other_visibility = true" ---- -name: "client_behaviour_and_environmental_risk_visibility" -description: "client_behaviour_and_environmental_risk visibility" -priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" -actions: - - "client_behaviour_and_environmental_risk_visibility = true" ---- -name: "supplies_provided_visibility" -description: "supplies_provided visibility" -priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" -actions: - - "supplies_provided_visibility = true" ---- -name: "supplies_provided_other_visibility" -description: "supplies_provided_other visibility" -priority: 1 -condition: "supplies_provided['other_medicine'] != null" -actions: - - "supplies_provided_other_visibility = true" ---- -name: "tb_services_provided_visibility" -description: "tb_services_provided visibility" -priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" -actions: - - "tb_services_provided_visibility = true" ---- -name: "tb_services_provided_other_visibility" -description: "tb_services_provided_other visibility" -priority: 1 -condition: "tb_services_provided['other_services'] != null" -actions: - - "tb_services_provided_other_visibility = true" ---- -name: "state_of_therapy_visibility" -description: "state_of_therapy visibility" -priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services'" -actions: - - "state_of_therapy_visibility = true" ---- -name: "tb_followup_visit_date_calculation" -description: "calculating tb followup visit date" -priority: 1 -condition: "true" -actions: - - "tb_followup_visit_date_calculation = System.currentTimeMillis()" \ No newline at end of file diff --git a/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml b/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml deleted file mode 100644 index b5727279ba..0000000000 --- a/opensrp-chw/src/ba/assets/rule/tb_registration_form_rules.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -name: "district_council_number_of_current_tb_client_visibility" -description: "district council number of current tb client when a family with tb client is chosen" -priority: 1 -condition: "place_of_domicile.value == 'A family with TB patient'" -actions: - - "district_council_number_of_current_tb_client_visibility = true" ---- -name: "community_gathering_visibility" -description: "Display community gathering types if community gathering is chosen" -priority: 1 -condition: "place_of_domicile.value == 'Community Gathering'" -actions: - - "community_gathering_visibility = true" ---- -name: "other_community_gathering_visibility" -description: "Display other community gathering types if others is chosen" -priority: 1 -condition: "community_gathering.value == 'Others'" -actions: - - "other_community_gathering_visibility = true" ---- -name: "tb_registration_date_calculation" -description: "calculating the registration date" -priority: 1 -condition: "true" -actions: - - "tb_registration_date_calculation = System.currentTimeMillis()" \ No newline at end of file diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java index 0da49bb1ba..425c6a0252 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java @@ -26,13 +26,12 @@ protected void processHealthFacilityVisit(List> hf_visits, C if (hf_visits != null && hf_visits.size() > 0) { linearLayoutHealthFacilityVisit.setVisibility(View.VISIBLE); - int x = 1; + int x = 0; for (Map vals : hf_visits) { View view = inflater.inflate(R.layout.medial_history_anc_visit, null); TextView tvTitle = view.findViewById(R.id.title); TextView tvTests = view.findViewById(R.id.tests); - tvTests.setVisibility(View.GONE); view.findViewById(R.id.weight).setVisibility(View.GONE); view.findViewById(R.id.bp).setVisibility(View.GONE); @@ -40,7 +39,8 @@ protected void processHealthFacilityVisit(List> hf_visits, C view.findViewById(R.id.ifa_received).setVisibility(View.GONE); - tvTitle.setText(MessageFormat.format(context.getString(R.string.anc_visit_date), (x), vals.get("anc_hf_visit_date"))); + tvTitle.setText(MessageFormat.format(context.getString(R.string.anc_visit_date), (hf_visits.size() - x), vals.get("anc_hf_visit_date"))); + tvTests.setText(MessageFormat.format(context.getString(R.string.tests_done_details), vals.get("tests_done"))); linearLayoutHealthFacilityVisitDetails.addView(view, 0); diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java index 4bdc8712ce..cad252431a 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java @@ -4,8 +4,6 @@ import android.view.Menu; import android.widget.Toast; -import androidx.annotation.Nullable; - import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.core.fragment.FamilyCallDialogFragment; @@ -29,7 +27,7 @@ public OnClickFloatingMenu getOnClickFloatingMenu(final Activity activity, final break; case R.id.refer_to_facility_layout: if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { - launchClientReferralActivity(activity, getCommonReferralTypes(activity,baseEntityId), baseEntityId); + launchClientReferralActivity(activity, getCommonReferralTypes(activity), baseEntityId); } else { Toast.makeText(activity, "Refer to facility", Toast.LENGTH_SHORT).show(); } @@ -42,27 +40,17 @@ public OnClickFloatingMenu getOnClickFloatingMenu(final Activity activity, final @Override public void updateMalariaMenuItems(String baseEntityId, Menu menu) { - // UtilsFlv.updateMalariaMenuItems(baseEntityId, menu); + UtilsFlv.updateMalariaMenuItems(baseEntityId, menu); } @Override public void updateMaleFpMenuItems(String baseEntityId, Menu menu) { - // UtilsFlv.updateFpMenuItems(baseEntityId, menu); - } - - @Override - public void updateHivMenuItems(@Nullable String baseEntityId, @Nullable Menu menu) { - UtilsFlv.updateHivMenuItems(baseEntityId, menu); - } - - @Override - public void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu) { - // UtilsFlv.updateTbMenuItems(baseEntityId, menu); + UtilsFlv.updateFpMenuItems(baseEntityId, menu); } @Override public void updateFpMenuItems(String baseEntityId, Menu menu) { - // UtilsFlv.updateFpMenuItems(baseEntityId, menu); + UtilsFlv.updateFpMenuItems(baseEntityId, menu); } @Override diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/HivProfileActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/HivProfileActivityFlv.java deleted file mode 100644 index c4c2717803..0000000000 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/HivProfileActivityFlv.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.smartregister.chw.activity; - -import android.view.Menu; - -import org.smartregister.chw.util.UtilsFlv; - -public class HivProfileActivityFlv extends DefaultHivProfileActivityFlv { -// @Override -// public void updateTbMenuItems(String baseEntityId, Menu menu) { -// UtilsFlv.updateTbMenuItems(baseEntityId, menu); -// } -} diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java index 878c2544d7..5e18e32add 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java @@ -16,8 +16,6 @@ public Boolean onCreateOptionsMenu(Menu menu, String baseEntityId) { } else { menu.findItem(R.id.action_fp_initiation_pnc).setVisible(true); } - UtilsFlv.updateHivMenuItems(baseEntityId, menu); - UtilsFlv.updateTbMenuItems(baseEntityId, menu); return true; } } diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/TbProfileActivityFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/activity/TbProfileActivityFlv.java deleted file mode 100644 index 700e1d3cf3..0000000000 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/activity/TbProfileActivityFlv.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.smartregister.chw.activity; - -import android.view.Menu; - -import org.smartregister.chw.util.UtilsFlv; - -public class TbProfileActivityFlv extends DefaultTbProfileActivityFlv { - @Override - public void updateHivMenuItems(String baseEntityId, Menu menu) { - UtilsFlv.updateHivMenuItems(baseEntityId, menu); - } -} diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/application/ChwApplicationFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/application/ChwApplicationFlv.java index cd7337442d..e2b50862e7 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/application/ChwApplicationFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/application/ChwApplicationFlv.java @@ -51,7 +51,7 @@ public boolean hasWashCheck() { @Override public boolean hasMalaria() { - return false; + return true; } @Override @@ -78,21 +78,11 @@ public boolean hasStockUsageReport() { return true; } - @Override - public boolean hasHIV() { - return true; - } - @Override public boolean hasFamilyLocationRow() { return true; } - @Override - public boolean hasTB() { - return true; - } - @Override public boolean usesPregnancyRiskProfileLayout() { return true; diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java index f021803394..3364f89b4e 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java @@ -6,6 +6,7 @@ import org.joda.time.DateTime; import org.joda.time.LocalDate; import org.joda.time.format.DateTimeFormat; +import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; @@ -17,6 +18,9 @@ import org.smartregister.chw.anc.domain.VisitDetail; import org.smartregister.chw.anc.model.BaseAncHomeVisitAction; import org.smartregister.chw.anc.util.VisitUtils; +import org.smartregister.chw.core.dao.AncDao; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.referral.util.JsonFormConstants; import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.ContactUtil; import org.smartregister.chw.util.JsonFormUtils; @@ -73,6 +77,7 @@ public LinkedHashMap calculateActions(BaseAncHom evaluateDangerSigns(actionList, details, context); evaluateHealthFacilityVisit(actionList, details, memberObject, dateMap, context); + evaluatePregnancyRisk(actionList, details, context); evaluateFamilyPlanning(actionList, details, context); evaluateNutritionStatus(actionList, details, context); evaluateCounsellingStatus(actionList, details, context); @@ -183,6 +188,19 @@ private void evaluateRemarks(LinkedHashMap actio actionList.put(context.getString(R.string.anc_home_visit_remarks_and_comments), remark_ba); } + private void evaluatePregnancyRisk(LinkedHashMap actionList, + Map> details, + final Context context) throws BaseAncHomeVisitAction.ValidationException { + + BaseAncHomeVisitAction pregnancyRisk = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_pregnancy_risk)) + .withOptional(true) + .withDetails(details) + .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getPregnancyRisk()) + .withHelper(new PregnancyRisk()) + .build(); + actionList.put(context.getString(R.string.anc_home_visit_pregnancy_risk), pregnancyRisk); + } + private class DangerSignsAction implements BaseAncHomeVisitAction.AncHomeVisitActionHelper { private String danger_signs_counseling; @@ -227,9 +245,9 @@ public String postProcess(String s) { @Override public String evaluateSubTitle() { - return MessageFormat.format(context.getString(R.string.anc_home_visit_danger_signs) + ": " + "{0}", danger_signs_present) + + return MessageFormat.format("Danger signs: {0}", danger_signs_present) + "\n" + - MessageFormat.format( context.getString(R.string.anc_health_facility_counselling_subtitle) + " " + "{0}", + MessageFormat.format("Health facility counselling {0}", (danger_signs_counseling.equalsIgnoreCase("Yes") ? context.getString(R.string.done).toLowerCase() : context.getString(R.string.not_done).toLowerCase()) ); } @@ -260,6 +278,9 @@ private class HealthFacilityAction extends HealthFacilityVisitAction { private String anc_hf_visit; private String anc_hf_visit_date; + private String tests_done; + private String imm_medicine_given; + private String llin_given; private Date visitDate; @@ -280,6 +301,10 @@ public void onPayloadReceived(String jsonPayload) { anc_hf_visit = JsonFormUtils.getValue(jsonObject, "anc_hf_visit"); anc_hf_visit_date = JsonFormUtils.getValue(jsonObject, "anc_hf_visit_date"); + tests_done = JsonFormUtils.getCheckBoxValue(jsonObject, "tests_done"); + imm_medicine_given = JsonFormUtils.getCheckBoxValue(jsonObject, "imm_medicine_given"); + llin_given = JsonFormUtils.getValue(jsonObject, "llin_given"); + visitDate = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).parse(anc_hf_visit_date); } catch (Exception e) { @@ -289,7 +314,49 @@ public void onPayloadReceived(String jsonPayload) { @Override public String getPreProcessed() { - return super.getPreProcessed(); + String jsonString = super.getPreProcessed(); + List testDoneItems = AncDao.getTestDone(memberObject.getBaseEntityId()); + Boolean showTT = AncDao.showTT(memberObject.getBaseEntityId()); + + JSONObject jsonObject = null; + try { + jsonObject = new JSONObject(jsonString); + JSONArray fields = JsonFormUtils.fields(jsonObject); + JSONObject tests_done_fields = JsonFormUtils.getFieldJSONObject(fields, "tests_done"); + JSONArray testDoneOptions = tests_done_fields.getJSONArray(JsonFormConstants.OPTIONS); + JSONArray jsonArrayItems = new JSONArray(); + int x = 0; + while (x < testDoneOptions.length()) { + JSONObject testDoneJsonOption = testDoneOptions.getJSONObject(x); + if (!testDoneItems.contains(testDoneJsonOption.getString("text"))){ + jsonArrayItems.put(testDoneJsonOption); + } + x++; + } + tests_done_fields.put(JsonFormConstants.OPTIONS, jsonArrayItems); + + + JSONObject imm_medicine_given_fields = JsonFormUtils.getFieldJSONObject(fields, "imm_medicine_given"); + JSONArray immMedicineGivenOptions = imm_medicine_given_fields.getJSONArray(JsonFormConstants.OPTIONS); + JSONArray jsonArray = new JSONArray(); + int i = 0; + while (i < immMedicineGivenOptions.length()) { + JSONObject immGivenJsonOption = immMedicineGivenOptions.getJSONObject(i); + if(!immGivenJsonOption.getString("text").equalsIgnoreCase(CoreConstants.AncHealthFacilityVisitUtil.TETANUS_TOXOID)){ + jsonArray.put(immGivenJsonOption); + } + else if(showTT){ + jsonArray.put(immGivenJsonOption); + } + i++; + } + imm_medicine_given_fields.put(JsonFormConstants.OPTIONS, jsonArray); + return jsonObject.toString(); + + } catch (JSONException e) { + e.printStackTrace(); + } + return null; } @Override @@ -299,6 +366,9 @@ public String evaluateSubTitle() { stringBuilder.append(context.getString(R.string.visit_not_done).replace("\n", "")); } else { stringBuilder.append(MessageFormat.format("{0}: {1}\n", context.getString(R.string.date), new SimpleDateFormat("dd MMM yyyy", Locale.getDefault()).format(visitDate))); + stringBuilder.append(MessageFormat.format("{0}: {1}\n", context.getString(R.string.tests_done), tests_done)); + stringBuilder.append(MessageFormat.format("{0}: {1}\n", context.getString(R.string.treatment_given), imm_medicine_given)); + stringBuilder.append(MessageFormat.format("{0}: {1}", context.getString(R.string.received_llin), llin_given)); } return stringBuilder.toString(); } @@ -404,7 +474,7 @@ public String getPreProcessed() { public void onPayloadReceived(String jsonPayload) { try { JSONObject jsonObject = new JSONObject(jsonPayload); - nutrition_status = JsonFormUtils.getValue(jsonObject, "nutrition_status"); + nutrition_status = JsonFormUtils.getValue(jsonObject, "nutrition_status").toLowerCase(); } catch (JSONException e) { Timber.e(e); } @@ -427,12 +497,7 @@ public String postProcess(String s) { @Override public String evaluateSubTitle() { - if (nutrition_status.equalsIgnoreCase("Normal")) - return MessageFormat.format(context.getString(R.string.nutrition_status) + ": " + "{0}", context.getString(R.string.anc_nutrition_status_normal)); - else if (nutrition_status.equalsIgnoreCase("Moderate")) - return MessageFormat.format(context.getString(R.string.nutrition_status) + ": " + "{0}", context.getString(R.string.anc_nutrition_status_normal)); - else - return MessageFormat.format(context.getString(R.string.nutrition_status) + ": " + "{0}", context.getString(R.string.anc_nutrition_status_severe)); + return MessageFormat.format("{0}: {1}", context.getString(R.string.nutrition_status), StringUtils.capitalize(nutrition_status)); } @Override @@ -554,15 +619,17 @@ public String postProcess(String s) { @Override public String evaluateSubTitle() { - if (fam_llin.equalsIgnoreCase("No")) - return MessageFormat.format(context.getString(R.string.uses_net) + ": " + "{0}", context.getString(R.string.anc_malaria_field_no)); - else - return MessageFormat.format(context.getString(R.string.uses_net) + ": " + "{0}", - (fam_llin.equalsIgnoreCase("Yes") ? context.getString(R.string.anc_malaria_field_yes) : context.getString(R.string.anc_malaria_field_no)) - + "\n" + MessageFormat.format(context.getString(R.string.slept_under_net) + ": " + "{0}", - (llin_2days.equalsIgnoreCase("Yes") ? context.getString(R.string.anc_malaria_field_yes) : context.getString(R.string.anc_malaria_field_no)) - + "\n" + MessageFormat.format(context.getString(R.string.net_condition) + ": " + "{0}", - (llin_condition.equalsIgnoreCase("Good") ? context.getString(R.string.anc_malaria_net_condition_good) : context.getString(R.string.anc_malaria_net_condition_bad))))); + StringBuilder stringBuilder = new StringBuilder(); + if (fam_llin.equalsIgnoreCase("No")) { + stringBuilder.append(MessageFormat.format("{0}: {1}\n", context.getString(R.string.uses_net), StringUtils.capitalize(fam_llin.trim().toLowerCase()))); + } else { + + stringBuilder.append(MessageFormat.format("{0}: {1} · ", context.getString(R.string.uses_net), StringUtils.capitalize(fam_llin.trim().toLowerCase()))); + stringBuilder.append(MessageFormat.format("{0}: {1} · ", context.getString(R.string.slept_under_net), StringUtils.capitalize(llin_2days.trim().toLowerCase()))); + stringBuilder.append(MessageFormat.format("{0}: {1}", context.getString(R.string.net_condition), StringUtils.capitalize(llin_condition.trim().toLowerCase()))); + } + + return stringBuilder.toString(); } @Override @@ -571,7 +638,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { return BaseAncHomeVisitAction.Status.PENDING; } - if (fam_llin.equalsIgnoreCase("Yes") && llin_2days.equalsIgnoreCase("Yes") && llin_condition.equalsIgnoreCase("Good")) { + if (fam_llin.equalsIgnoreCase("Yes") && llin_2days.equalsIgnoreCase("Yes") && llin_condition.equalsIgnoreCase("Okay")) { return BaseAncHomeVisitAction.Status.COMPLETED; } else { return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; @@ -716,5 +783,69 @@ public void onPayloadReceived(BaseAncHomeVisitAction baseAncHomeVisitAction) { } } + + private class PregnancyRisk implements BaseAncHomeVisitAction.AncHomeVisitActionHelper { + private String preg_risk; + private Context context; + + @Override + public void onJsonFormLoaded(String s, Context context, Map> map) { + this.context = context; + } + + @Override + public String getPreProcessed() { + return null; + } + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + + JSONObject jsonObject = new JSONObject(jsonPayload); + preg_risk = JsonFormUtils.getCheckBoxValue(jsonObject, "preg_risk").toLowerCase(); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public BaseAncHomeVisitAction.ScheduleStatus getPreProcessedStatus() { + return null; + } + + @Override + public String getPreProcessedSubTitle() { + return null; + } + + @Override + public String postProcess(String s) { + return null; + } + + @Override + public String evaluateSubTitle() { + return MessageFormat.format("{0}: {1}", + context.getString(R.string.anc_home_visit_pregnancy_risk), StringUtils.capitalize(preg_risk)); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(preg_risk)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + if (preg_risk.equalsIgnoreCase("Low")) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } + } + + @Override + public void onPayloadReceived(BaseAncHomeVisitAction baseAncHomeVisitAction) { + Timber.v("onPayloadReceived"); + } + } } diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java index c2dbd46a7c..6816075f25 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -28,21 +28,16 @@ public List getNavigationItems() { NavigationOption op7 = new NavigationOption(R.mipmap.sidemenu_malaria, R.mipmap.sidemenu_malaria_active, R.string.menu_malaria, Constants.DrawerMenu.MALARIA, 0); NavigationOption op8 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.menu_referrals, Constants.DrawerMenu.REFERRALS, 0); NavigationOption op9 = new NavigationOption(R.mipmap.sidemenu_updates, R.mipmap.sidemenu_updates_active, R.string.updates, CoreConstants.DrawerMenu.UPDATES, 0); - NavigationOption op10 = new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0); - NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.CBHS_CLIENTS, 0); - NavigationOption op12 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_index_contacts, CoreConstants.DrawerMenu.HIV_INDEX_CLIENTS, 0); - NavigationOption op13 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); - - - //Reordered the Items as requested by Ministry of Health National AIDS Control Program (NACP) - if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { - navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op6, op8, op2, op7, op13, op9)); - } else { - navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); - if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) - navigationOptions.add(op8); - navigationOptions.add(op9); - } + + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) + navigationOptions.add(new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0)); + + navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); + + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) + navigationOptions.add(op8); + + navigationOptions.add(op9); } return navigationOptions; diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/repository/ChwRepositoryFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/repository/ChwRepositoryFlv.java index 72a4027868..961b5a551e 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/repository/ChwRepositoryFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/repository/ChwRepositoryFlv.java @@ -102,9 +102,6 @@ public static void onUpgrade(Context context, SQLiteDatabase db, int oldVersion, case 23: upgradeToVersion23(db); break; - case 24: - upgradeToVersion24(db); - break; default: break; } @@ -374,14 +371,4 @@ private static void upgradeToVersion23(SQLiteDatabase db) { } } - - private static void upgradeToVersion24(SQLiteDatabase db) { - try { - DatabaseMigrationUtils.createAddedECTables(db, - new HashSet<>(Arrays.asList("ec_hiv_register", "ec_hiv_community_followup", "ec_hiv_community_feedback", "ec_tb_register", "ec_tb_community_followup", "ec_tb_community_feedback", "ec_hiv_outcome", "ec_tb_outcome","ec_hiv_index","ec_hiv_index_contact_community_followup")), - ChwApplication.createCommonFtsObject()); - } catch (Exception e) { - Timber.e(e, "upgradeToVersion24"); - } - } } diff --git a/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java b/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java index eeb85d7aa6..551be1c1d1 100644 --- a/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java +++ b/opensrp-chw/src/ba/java/org/smartregister/chw/util/UtilsFlv.java @@ -9,9 +9,7 @@ import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.core.utils.MalariaVisitUtil; import org.smartregister.chw.fp.dao.FpDao; -import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.malaria.dao.MalariaDao; -import org.smartregister.chw.tb.dao.TbDao; import org.smartregister.util.Utils; import java.util.Date; @@ -59,20 +57,4 @@ public static void updateFpMenuItems(String baseEntityId, Menu menu) { } } - public static void updateHivMenuItems(String baseEntityId, Menu menu) { - if (HivDao.isRegisteredForHiv(baseEntityId)) { - menu.findItem(R.id.action_cbhs_registration).setVisible(false); - }else{ - menu.findItem(R.id.action_cbhs_registration).setVisible(true); - } - } - - public static void updateTbMenuItems(String baseEntityId, Menu menu) { - if (TbDao.isRegisteredForTb(baseEntityId)) { - menu.findItem(R.id.action_tb_registration).setVisible(false); - }else{ - menu.findItem(R.id.action_tb_registration).setVisible(true); - } - } - } diff --git a/opensrp-chw/src/ba/res/drawable-hdpi/ic_logo_ba.png b/opensrp-chw/src/ba/res/drawable-hdpi/ic_logo.png similarity index 100% rename from opensrp-chw/src/ba/res/drawable-hdpi/ic_logo_ba.png rename to opensrp-chw/src/ba/res/drawable-hdpi/ic_logo.png diff --git a/opensrp-chw/src/ba/res/drawable/ic_logo.png b/opensrp-chw/src/ba/res/drawable/ic_logo.png index c799be157a4ade366de297288d2395878d9f1af0..c075e49c194be8eda864b7b9a4429dfc225e34d7 100644 GIT binary patch literal 736484 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%0D=NHg~6Xd)b50 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

    00*jC{wS&M|a&_YXD*2J7;4u<|eNv&R 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 z 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/hhBSf((-qj$|fwxwM(Yy{f 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

    Bw`)i#19&!~q}ql27g;v-Mf)7S0q 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 h$MK058siE=>@Ko#1 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

    yIyH^Gvr&gbv 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 mbiGgO8dTH#UdT)%&$MF_kpE~v|=NF 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 HjDr3TS+MPT literal 706227 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

    0(_dm6jod%4pc?yW#A$yDo0VvB{(H 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%0AErt`Cg1+~Dr2aXLM&{$D8-l3_ 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

    vlFLcerW+MCZzb}F=Cf%$1LdyJEV1s zBG%L)&1aKj$vU3ynH3R^Z)Oe2w_XA?21S`TZiQFk7j3X;JT%Ht?E_i3)F>5z>@upD zq$ezIC+sDJ=f~}0^kdPf_Ykwu4Y%MmL?txISuZEpZzf%^t)lN{eEs~4|8wE{JOcrm z>{WTv*JR@ejL{@FCgWsRxsBI|w=`gb?N);8pxI*>mjPee@fq`TcO?dbw&zx8U}T5B z4@3Axc2mu{oHE)4SMdUs_{5u=y!4qS?cGh^80{lltWb5_<4A()B-Y+*aX+R?&dkG_ z7QAZNvZ2nI2ywKTTl0G$`gmv!6O4+i^q~k3PEx0wj3T6N$(e2ICN^sV$Z5tKN~bn4 z?L>39-8k=g?Wuvl&aq)Ne{!aLI?dfSxxV?Y?d~#QB%9OjF^jb%ew$p#q!=+teP7%s z6yh0g91`ug+=DsH<*z^RL-oz*y6O!F5pX2}%^({uhg1DhrXNh)O<4zN+WJp6YyB6sF8# zOVF24z7-JkWun>lpV_KIoVn*s0VlJq;4iYDZoV-KmHQm&ZDQ7rF=_I;aI?;F1`J`C zL!ZOK!=)*b^n5OmAwQ77^*id_!6V7Btl=wc-t+UK8l8D(+36{|qOe=caUL%aj4Wu| zX~J3k0Gt_-_VjT8Ux#Ij~h{DHHY)o zYp0T^`WF6KwYMGqhMcltwoA6^d|erSYl`{l2HugZx~|KV#)@bsrqo6K0(&LjCs5il z?1o)4V$38YR>{0^6=NHRrCoU1>eL~j1w_Mi0<0NN(oHSq(;upTP8p?3k(7<;n9E<@ZSe~a8%}mS`o;WR5P0fQyfbf#xJ$c z=adjn%pRe?9v&-mq_>caBzYR)mgw3V2+hsbRj&Y#0avqjC6>{ybU$Tf!*pt+v~wwG z)Ek;9GXdOgd@*9eco^J`_Pb|L@p?<-5A$ zMe8b=sYd+g?M5X^a!vNLH~Z8ludhYLyTq}MiqE*5<7?QNEz)epTq=#J!dS5O?U~NX ziBc4?NM!5^G+2>EgEl}j#;7EB5!>akG&9(n4qzKcRKBPTh3UW>^WVfK2=RN-TZdMV)SwuL()1Er-`8evzd`& zT4rVx<_!*68*8czOE&Y(LiAe>AM33aqG-FctGl9A8hm z0}c}4FDp41b=%Nrj9;$qFhmoli-W|y9=9*b~AO47=kP|Cq$nOO`?&Tg9m#`*%x zIy$N~I?KSsuUtiOlpuunI|v(02S7Z&0%MzFrOqyP<}>@Jxpe=R|L5E`P)VK!W~qp$PfHv+idZL$ku9>s&H`$ z6%(|t>J*1H07r~I92s>!3ujM&h~$E?x=&ISiOQp*PRK!K%ae&i+M|Nn$&Cm!q*AMe zCq9)?9r}J44*I9Uuvl^w`j3E#?F^;_V9SPwu^1SIQ)z{Lv{J>$wvWt=?YJ*BDnK27fW6|NpP0fba%IqTTX2vmK> z*PLEy7>cmkJmAlzeK;m;qU-E6%j~uR490q;J4cJkoY%V?4pfIsV_>B{{qOY zChr;(>aSm$sd=2QV=(8iAtU?AF`@VBt;gO+my1@P1LX|D{1mcNk@Xu0(!TMU7@Xt3 z$ND_BD&`k3Y=kQ8m2^92#IV>472-B~CsnraZ^KVtREvZ#BWbLlnO(9K@HA*?Bb%(i zdpA71ijY{xFLbIx^VF0e*_;p&s45yeTi1C>)x=oa(YjGYI}5w$R52r`EZ`M#bc^96 zLE%z+&}K{CJ?^Fjq-X`QB3OWrrEm6lvraC{?9SbT%%dJ}iT}Q=Wg=HR-UlukX^@{|pj&{26_J3-`Qz**PRI{6G)}&nL&8Qd1+yy`Qi!3k5{A zo&(l9eRAdW+sy~Gz8``P$+(oKs3r99@M&3eD;k}};~rL8R{gvi<{ z)JfCgO@JpWaTUJ!VNoHNP4o-A$#ID{!=xDS&}70J**c#>GA|Qqhw!7n@!iP$>2Q{J zw_st+Roq^$y1q`lnZA+U4_xus`_tz=?~=S?iDaz+p+|7%vmqAJXKGW`lYA5KNeIW> zh(Dz>SLUUd={-@al`PpyS(x;Jk5;7A11yt*M*a?Qv=w?s_LqlIAJa<#wxcMxv(uL* zOPX6APov+GRVO&*bwv#fsCJ4%1Qn%l7J1L z4yc7YE#3cf$Rhhcam?<*%1PN%*Q~BfK(y$`;kO8u#c3HwgA+H+W!Yh(E9f@5)8}#} zFRl_kf+T4jGndA3f{2tcfYDaONiN26VpA&Vh!i~{a~u|=gK@^=q_mByR52cIY?(gR zIM(_L?kF3O8XV+AS}YgzwI>Dm4t>W7(Nlgfv$kf8I-t_}iiu=N3%JK3l+ZzULMW3G z&$~6L^nF9$jNf=y*!{Zu(}=`z6B4wQ2#(f@<4OELY7iEBR~tT))Bc_?mDTjan78um z4ySjDwzyNxEh}j`7JNkp(xciUpnKa&3F=HhCz2gMZEX1?rKwqY773`h9Nq(@EQM}C zkaBT1MA=u4{lhFezeP0>2N#{Q!=&ZX-wv5_vl_VgS*Z(vQZu(3eX8VPROr#MU%c*~ z5ucfnmFSq#6g><&v*Uda(mT)Ve6;$UlI3FZGctxB{VG}T(`{g90uAXJ!Eujs?}qO& zdry|8B8`;G&Y7n;d4=Y8E1LWpk3ruqG&6FIAD4ZAhZ{857PMIODq2^UR=Mp`jr4mN z?yhDBg8x8+Yhv3YQ<^5`@(vy~9ffw#8TvdLJ5uiE#$HzO{@vUi8fj-I2;w z&FpvYP$EM6006LNQ|v@Pq@gZKX~F{RG^Dg*z?p2YE@?d?v$cNOEFf_7t#Yav_Tg?Z z;KfR#Zy!aY?@qtP?vIT7wnXR10I=!AVFz@zUX|0+?)R~HlxE{a8F#(TuwG96mX@+gHNEaKv6I7^O(&#@ zL;P|DpL=(o8ohP87wV$lCC_Q>+zTQ21EN@%5rZi7Y}q>U_knWjAC2dy>(2g^OOhaJ z!%vA=IEYd2sjnl}a*G-B?GeMlJ8e}ZnuQAgz?^DGa&7A+>(%*O?zL&BbPHYGfg3aUPoRV( z<56znJoH;Fd5feNbES7X(TXN>Bn*A;xK_f*$!FQ1cFU@{!9Me%HpmU{tg!1V+Eav&Z13WYOm*x_@w6P_7d#1 zQff7K5wsulT7%G$hk23rpi<~O_ZNc zx^YNMsXmLaTA)o1BDo%P4D31IXh0(Eo`p9M(P7U1I<~lQG#EwptgWBuBvxgKd-H0P z2(?4G`ghzBNJ&^riPogx#gK6N&sPclx!K|-L#*k^GN<9syzwIAf?zS6u;m8vq*>WN z_RHrIXYA%?;z*t0G}k0~`URD#$6~3d=d=yrKuM^@n$wvtu5o23{NJ8QMBvxmEP0ts zumRk~wn0Sg0&zAq#cK1tNmz9-Oxkk0h zI1ZezVrzZlz1Iibw=Y7#876Q0j>tjo5A%71@cbt(o2!@WqFKXwNT0%GzcE@?%kO#f zoIg=3;Nl&GOyFbg^iy8}H7Mb-j^Q+A`g}lBk*DbUpsDw0@^Q|upDz>`g#5nv?bw=6 zEv;@%R(Ek)@3BlrVD1tl9X==5NQduTP7tc=r&ebK+E=;c0u_^oIVkKj(g+LXO)UO& zKSk`wsbb+bv~tvc7AO7w=pUfj(;l!6_>U7m{U5Nq_rpKRW^Yb=Aw{iPwCU&pA%0LI z(XX;{AORInEvf6WH~g{t*nqYs;E>+%piz><*wa&qNfhpIEDi~{3PA4pFX@t?y{4#? zl5)h&$&V37IfJ5ZGO-bwbG6*TEgREyq{o%%OP7CszARpP7QmAW2n*Jm+>l}5K0^h2 zG1AAIIM!QS*v?!1j!+%(5ZpnEHQOjstZu;K@96a`>%#Ky6v7Z9@xTj@)mEBlEh ztU``=xC-tgP~c3sg#3E9*YQZ6;TfZWi6G*z8&=+qlwLV;EAa&8lW*bF_#8(My{^-C zrv*Uw?(}S8ekH9`&)uBlJ5Bl;o_YomG3Cy@LYttZQY?R9*#7R(WXB82oN;<18?E)S zCk!$>$AJ`V5sjiA`~HylAD2~-tLrb|@$rsB(kV>5(5nEoArEl$58-?D{T#YH8A3%& z9n$(ABxAQ{a#}rbY~UQK6C%^;C5PR)4n*{sD+2zHH~oL{nPJ6DbR$6vTQ)Bb7ryt! zB!?~mAG|zu3yXL44IY8s@R6OUPv*PFyTbUa?E8s`jBMJn!_|{H%4fv3`VpK(oiGod zoOz=Qwc|e*Q`YHal3OO_ji@PLGM-{Ynz^xFxQL3+z-jjg7KWTYV@S$eVgom)!C6*# z9i<5}>*4LyOE>G{)tTf_NI}X$Gs|2(+Tl9iCd}@_e9ijJ*3AJ2iIEH|Iw;v1Wv6!1 z<7%7M-)0uOhTY+z0*cRNove6_m0OXLj7wZO_G@G^o)}mnlFyMVyh+U)!|9>W4)nA* zWMg>j>D7{63$^->5hyzdCIS(cS+RrOCx?$mD?QywWvIIt(5(;`<1m(o4t)ZhvQE&) zTv#Q@)q8qBKx&XVW*469K^Z#G935aaoYW~L*?tD0wlqAXcrUq1jU!YA>NLJKs*&(j#v zAoM(?Sg8<~XlX_2*dxBvM~wE;atvd*cvr@qP5;=WW0@X!~mvJ({SwV^O2XWmE7oG zyjK@EgWjz&@8iD4f+}Y&n{oPL1I}V|5d}JhKC{Srca4fHPiy3uRHL}Qe|cxRuL;*b zz&Nfwr+gZE0pxxjTk@-y)ulN^o@AM8%JXaWub;lHO1A2xGS7eI?s;bH-fz?OblQRH zeHk`=jb{!B^qUpl%;^1C%J2o<=b0_0rP}VahOMl~F?4wkG#!Az6?m$P=Crl-x{C^Y zxoQjEO9?9@ii;Puo_=M0qFfEiCYz@wSbh7<`>pzD_4@l=kQBf81AJS`)$n z-hT=`rE}=@$3gA>_$m=z=6Mo6#>2-VaelO%Ar0%{`}L}yR7bqYn@@fkdEZ5U{Oqj! zL^d`j>(}{_o1Wjr*C<2@3*ey&#AHW0&(oD8djq4%;lp}aE3(&#F(?hW)`GdhueDA5 zo>{exA!YlcwRmgEiM{V-tgqdY@BgpfhX{OUWb(?dNI^eP%s(m>{i0?A-tU(D)uI8<6+qtc{cH7&y|Nd;v&w{9ENkonUYpqxW?|(y_-C11YW-oiuRZlijW~DSV?3?&pgn%l94CHPim&kdG8J;c&E7zN^|!(s3Wu z0TIrtoPy)27>F;WAyWfs3}rc8HFRt%?gHy!Yh8U>+02AlJ~l=Hi~c9M95DUjaxEoc z$f(NA)2+KY$VZy?xS}xaZ%K`Jm{$$iK^4XJ)Qn_e*EU#VGDS_o83Ky5tep^C>f2xa+wgSIT{@*Rz*u-Lo*a4FQ%13~u=B zDDEospsKAq?pkEd!HD%$A6?wbbVcrYiR(&sPC2j2>l>Ls?xEud*(@g%;uY1 zA1gXtUkS@jhROeX%73?5={{E|(m@u*{7k8O(`?i!S{O05xRlb3YS`!p+g1Mu2rKlY zocH?f@w|2X9+oc%!U$sVAC0n+>o(Z(h_c(%ly&N9Z_jn5lI~PXek0z;igFuvDNu9f z6=azXbIUDRgs1J{mOY=Yr6!SF`n(eRgkyRs^;~pC9#w9c*KWn1B1i1eea7bAy1od!)T@X1>YhC+<{Cp$SJEDSM2Qp&A)7-_k> zZHRzr6x76mKi$gY01)H#yW1PMIT;>Xx_s$1Uj}lcu^m{b- zXNQ0>h0D$lZ|k4^VRqFg@AISvzLzYKnNBe)?iqO$vhd`YgCO5^3lZR%gyr}=hs>fn zA^8a7Rfh_;M}+2^o|Tn6yO7RqVZCrLju=Jq45dSw#Jt7bGtO!k8L?!q-CPsjW7hI| zq%b)S3p?jz)m{bb+80mOx8Z=+mLt@I9l`z*e^Z}MHfLE(Y#WLDq|=wXi{A~J;(UA zhQwJ5?m*-#zB_ypS~sjz9(f`m2&Zse>-zFSD#@Lp>hhICC-Z<SkZ)|@S@xREBY2t%7aDybe)=Xz z?|oye)lTe(Y1w)K0?%yO^P_{>r7kvt>FM3*jX zAM+30%UsOpJ;4acXbU#hjt<6_Q2c*b0Bk?5v)g|V!;6$FmriVA&t1_imz_7?NB;Pm z!vL^AydYSfF7@e2ZGzLl^OEA_F*j`id{kSl)mIp9Hc_bKWO(CGnTMDfrTEd$alYy? zVIj`YH5)l}b7#a@ulpc*P+Fvi}jD|FtAq7m+XB;VqXmPZ28@sLoBh#d^ZzfdBYLg2v^i`J%}p0 zUjG=}am~Rt_0*?6{FtXm9K1|aIjKeFX^*ZA+lTG=s#~7n%`}@X{Gr(WJnazoSmcC` zU$2Gq-?f8S2^Z4;btnW?NR!!NFOSe;TIKlvJ|C&v$_IlCj|T$05(3A*?hW6RBxR+a z8;Hp~DSYmO@kN=ShMp?<$!0?~s7OwZomf&*7g8ZrT7$Slp3FuIhMGmiS??;tl7!nt z#Na@d%Ak4)kIr$`*Wo9!Dr0uF7=DSex^By)YmZIAPr7T<`F$$(YA#fu2EUuzFF{$H zkI1f|*)IE)UV}HpxWzLU%{kl01)g>{XZk1B9lY^-nMmw%vwB>Z6F(fS&ObxVf%54) zFCMEz6wy3xQ=d9*4!6=y^JMeL@sf z;2GJMZFH-XG|Ety!~~|~h0quXvdy2i9O{^r;tXI^UCu3$UuY{`vY&jm%`~u&Qgf%R zsaA6vN;&5^8Kl(otpNY)`ADg`%|K-8*4<3U}W-&G)E&n7;-YRZSK`%;ToxO##*x%<`@_T{qh6rQb*caKN($oSCN=N-?R9af~ z7%~Z^@rT+G=F|wazI_q2Aj?vfG96l3FUS-Bfjse_NrL+{e zhw|?#otYIda9Pbgo*#!fH{@avu;-;j=aX}p|7!@0f^O0RlPMrbZ4qse2G610 z$uv_)ZPTJ^pNJEE`xpTj1E%4T>CMk4>(j$VTssbyQ-2htYbMs90v>g7H+s(^bn?`n z0P{ukcHVCEyI)6wF=wZwtlo;WIw~!;x6Ktjp&0biNMAG~T_K2matxAUbF;;TfN_sj zjq}i-+7fnnfz|Y}c@B*K0$J9~^8WP3{PW1J>@YkG-+Pj*8Ydf$P|F`>%gkkJtSXPr zw*Mp1dd3yklf%X4`81I40-l14Y>Cxn z@AJ<&-Dht(XnHOGxDU8ZjQ7nz^*brXmGG6sdMphMCD1YYk8Lj(+POi%f5#rORs|8w zLEvhpn&|Xn9~C58%sW>%x4X)KJL&gp;a4jPz;MGmhA#RDvXJ63R^Wu{m&A_)R*;?$#E33Zt zm7&hLl=Rr9(3`so+y@rL#PKcSj?E2Y$2pBIw*syiDBFxE_6W zYvY^$4bzcP!x;qY_iLz^B&glNo;4HovwstWPQ}abj~;jDn@m}m-Nt6MP*j(MtowIp zleTC}FeD)Sl`bhj9MFvjZNr>7AM_UF-HuCMURIPWt)e~?=_(CztEScNVX9umSWd0! zWzl|f{{97+H2GwvJ#n_EDjr8DKyE&1y$k_Y^q9sr|M=7QJpdK&R@!@W>*_dERn@F+f8rE;C*arQ%k ze7O^S>L`f`kS-y+Y*i#ekx4fC$Do+ErjI<<_ir}X%qXXqbydEm7(92-@NjOmT_8LCfRv^86v z5pwkC6R()Fu6$P$g?(8R_U*xXIexX9?ndng5nFdSK;+5M=~*_Hli!#{UG+VAuk+-X zVPEl2cMTeUYcd(Hw{^$sR=REpcfveUH|9j%z@x_v>HY!#s_VJ@>i@PXJPq-T$PIXU znPr^|0I=G9R62cCh+kaX993VnHM?6$g{TAOdw}z=ve-5eKF*C=`>r2I1gjq7$01kY zv1XuWllG+F%747|>?ujWVb-pqltp8(14?835y2}2UZ)_q$4;?_@eBe|QMfUehpxcC z;V^sbtfDk4bYP#ag?Pi~8k6YGjUC-X<3>)vT%FQJ7REOQr;X!-*Tt0)zcG5Br{#nP zJ3-qHbH-X5-2;n29FC23#tw=mcy~Xuu9Owoq2`h<6|qS?&`1Vi2ab4npk+Htoo9{k zIpchN!x^;m;vZ%mUqQqVTShO|;frGmIRvb9-(Ip8f$4E*Uk>WeM4r2Z(lq~p$_rleJ+_X)MNIPqQCBx!(O0cF?xEdYl;<~EU4f{{B)A7e5C6?3}$u3qkQgIs_ zi9as}8v!Y=F+5CG3`10@3VS}p@cg3w-om9Ar1}J#EP~1Xi0R!1%phaOCY0pxaut^;IFC;K=GJXZiYkoQl4bNQ^13yrQp%vgQCE>RTEtG>*ThkQ zt}E=!hT4CN!~+%P92$oNUsJ#DeI+B_{%l+wQRVxkUJP#Q?Z!sl0$Nt;&O-Nw?VAf# z5u7BCb=%JwwsAhHpP0%wB4t^Qd>6cL8v+@P>^09bbtl_uK&%CCdJFJnjL|mi~|RjSma`C|A~DV zy<+av+OMUCvye|3O1ju`Fsr2&AL=4WRk~{KN{zjOA*17wqot*3b>8-*H+}{R0e$56 zJpN8Tues_8C|BHG*T1N9*X(&@(rz=K{9+Yn0&CD)UXFe~37E#>9VQR!gt zJtSieY1F-el#6S+r)vGI$FsFZ!J&L-_Jj9$YQ|Ps8(7fo)oapSoVmDpSM&595TC!G zP=rre#ZGE)-$pK_j`JGp)l5OVVW8hWFRb-rj3AiDt%wBnF+Yrx3aX>B5)a}r!{2fD z`O#>ah7l}IHmL&}J(jq+qKg#IPqIXvkIbShV z7Axozd9KNz_gfOy$$E43Eo!4{CAK~eIYmw11rg?~4BF8?wo~O#lee06M3#U7wj4e$ z+%)sz^LrMJ+Pq*-HPfQM4g>=@TH#^xYi)??dr8|`C(p^!#|e`M>)cgk#&2cSN;GCn zgKtM7OB|RAM5Y&6Dj?)->G?0wg%oGT<_r5r0wk6P5mPth2AkTP`O_hwQY90o6Vc$~ z9=)VFSORreL`fP}_!=C-Kt-YEpHgR@0ey;+qL73X$dT0#mA3Pv~_ja7;(c^k5jOIsEApT;w9-(e%Gum z1Hj$w?YYI6Axo9sGCb$NAI(^j3Bf-?Em`n7b)$*`If`OACgKBlzrcgvk9bWSrMg|% zx6+5IO79w+FKjWRy_b!#*DRqqWTs=eYekEMf-E^gl(dZfsL*HB@k_%fT(w1%_LWYX zV>{hpKGCpWH3EtWY%=j7DTtD$A^NMqf-Mq(o57+^8z6A-;6cXT2@NCDk@j zNZQ3>Zi*(<%DEKuU}-XZ%2symTr7o%RM406`jX0C_&;cy66zvs>Vx#mBx8Bo4h3B< zo;ejl7Bd16p)}lavi53tRK8l7VQt)uEg9QR&sHQ>{v_bpOW-k)pOtNGHs}@W<3Wmq zH{xKxFJe{~hTWrAovD~7EKcb~PHxi^5B%`23V2%ThTQWi5arjSRFu-4O~UDOcg^*JXkMpP+AX7k2~?OXDX zdk~bx8oLlXFBKjFayV)?Lza5Cu^6-KXxP((RhdL99B{c`QVK-K#Gx3fCECjNMc=X+ z1abZr6&6ATydN_E9U^&y@qa(qe|q=$AcB~=sF;KQTvGTDZF%6!rcV#=nX_w=aYW8i zaBDJWUnaW(U^d-ZEHpm**uzSnFI&jpBc7fd@+_rwR6LWbi%$00M(bz5yr(G~sHf`IR<5Rh)PPEZ`-Ztstt(e_=SMa9&3~;uMdVOXo zV{>9?LD@7WZy)}(WcnWKGRM-_OID?b06Z4QNGxN){?qg=oLB&++VxB+}gL^T>4@T0qA~j(wOXg{Qhw# z4ZRE?@rruo({MoR3ogaA;WxG53TVI2v?Cb8;2u#e0p&%ETQn-011Y=y+CJ1Y{fx+l`3{V#DH4>HXa#>!}}nz9vsdwgYR| z%bc>c-F#uh$mrZJd4fLsuszMeLec^J?}??7Le%KsC-ME->a;qMbn5`n`Tx3b0v-e2 zQBVaR$XoO_Bfw?eYYs^*Oe(sTT|5tW$ynMw_;i;=YMy7wsy~O)`(D!_aYH2U7dyRy zmK;!%Y;S75d{kP-6!8t zYWMNdm%I02b|>T|0&(k*z;5(lW>$)FYgcnQcg!G?rIb*bM3x@@lR8Iu#lf zI(kC;Z@;%MwmEnfY}}Ly$?wW-geP^u4Gf>LJbcxDWBYkT2-rBqK;gm(NPIRLn;qzj zftNDGImM%I7frLrNWdg1rcC%}nalx^2HA{SZl629>DRO;IwUE>CMgj6zlH44J1KQz)Qsq&JQN@)xLe6lJQR%dJ+ zt#o#|6z*vi#N%h^$;DDU$)(@b^(#uM;wQv$3^mGM*aP z@wqR$z3y%r;{))oUUNN+Az&nnd_f=c$mPXO$tUs0Qp~u1hJ!WXgs;+b_w3s{;R8gQ zEOy&E8J+i-bb7v0Jk#d$0MOT*r=RLW=ukdYly5nR3 zcB!#3ucczDVS(p9O}Qd0OXg$FC6tjaZJ-=Ok9g7&N*v7zodmyeo);Vy)s-UuP2-|U zQA|yI^U=DSpX2)6$m>EXSycQYc@Bx;?m_z5&9jIIsptijigSqEkp!e?L<@(h{QFOIO>@={K!>6bBoI;~6FL*@OqQF=u zrq!yn$lwMLTms_eOUmGECZ4Ytr8xe9P>m+m@a;HY>@eM7`1+cq%VNwP_RU{~22%@aV&{Em$K-}PZP(%Q!v<~@UTSG|fGa1O zsWv()qA*#y1%WZ6)B5Yfg)omjz8YnnYW^*?@Eh&R+nJ=W_qV1RwGy|>N|*n;6!||d zok|@IGyiXO0=adZRHCDSO5v8I!#G(*QJpNOyfP_=K%0h;*I>X#&`L_&kHxrkCij)fHKH`qER?~lh>Eg8#==5No|B0bR+Xj%CS96{ zKdedW^RjZOuOd)GJC`n`4RO)Eq+VQ7wu+yg1V8OS$1q6WlMRB{WMu@oVfua;cV}oO z-iRq`gfqt{YcWX&ecT?n$OM;#xGtwJOXHd}0hnv6QyLWV*{$@0$dt1H%(9P;8W?>M5%$%ZFq5@8X%ZqgP)1WaS|Aw%=*ZGRWu+Pqm(CeRp& z?6fC-mIUKR&QV|-PB8mqgalRW5pp)m9XQ+Zu0iOUG@=P%GYhbL zloDmB)de-5>5|CjS4CE{xRObsd9@J+KCIrQPv1Z4ODS+knf%q@d??Yl=TS8!zLB zZ2l5iYRR&-3l4EZ-=nnJdOZ$37m?@q?)S>_;0MZ2&}#U`NWd&Q36_tTwGT>cHa=*o zNvLk}b45LB8pnYVBUgsFlwIxGIr#7!_}+YZJ?HL?GJJitsL2;QXrk-}FQEO~Tns#{ z{$)JB=Pu`9VLO9lhP7!NH7 zB=&hhY+A+nR%7(Dbqt^~XYMmAWb6uoyh3GeNEn9#Z4yg}Yx<4f=wy7${ZW%w#MKr$ zW*KVZv2M#RO;Qg;dU*sf{ZhT;% zf7+hVy1NnyW3EDR1@=v%qA%`<30lBMbN%<585kJZjEx&X3}_Y(mY{5I{b=ToWs<$Z zaFQ|RfM-I3?FW44^{oy(`N?0alNgGxgpYrGn0q1Gl1P%7Mgz70>Yo%E&;O`OJ{Wfg z`TkqK!;>Q$WvyJyr!6R@S^s~K^;S`FM%%V78rxHVGmJh=KLzwNOX}9?l|en!dybZ?6XKsxC;n0V7SBBWj`<{qJ%2M=%4B@9)-mx zXL~@9*F;IwQ@ZnW*2b058lDV>Mq|=Pr1z}U4b=dnoLu13K6ldb+Z z*=9Nyl}|Ieu>2wJmZhp>mIT)-lKgh!W1vbck{5OM(4qaR3+JEwa7A71gWe4*bECFg z{nJey;Q?oYx%gvDxN`OgTp9IE^QpR+DbZ!uFbR)jFBKbX)PGs37fnM zqwi1L5w8|GoejyKL)mzTGWHPUn8pLeS85s+cDQ(A&>kwv9RH!faQCb#_zXhIOtk@;%g^*VnjP+`@&5nDA| zH#7+%kDCC9iz0jXcd7l~CV>^OKg`N?u))jE#o9rl`>|>Vp`PtUG zYVtXFdg0CEXAPT2B*x?24MVN;G?=D0o;@CYR6#StpSpbdbxhlUVE7Rp6^~}8GY$kjwhI_1kFH(8;>aix+4L zp^h{!@qvLEJEE60sZZP-=AF>qULoPAf4`B){FK7lDsABl{$2F&IQ|3kUmu7)`+qFJ z=b#DD=~5N$_sN!>yPvKulCD4hmq}`h?^+`fdnZMF9?bW_34Lr1Dg9G z5}`l>`*wVfKer-%YZSOomKPuYpNjH7M;8}+N29#|{L>8OPzA^S%J`YcV5bp2mR4T! zvdjjtSVs!>G1AvNPf+$&pXybVJ)@mHOnUnEE74*sZnb^~9aK^A-8Z&)?5(oy` z-1XvuUVP8M(m*YgC$G{(?N^n{F~!SfV3~+6t=?pE-89?(on>BrlmP%wpdM_Wcb>Bc zDnlFgfBV#jR9r3~QxUisIXRvU%A_?i@>#>NA64+1887bFPt)LGiVhAe#~1Y!yov&a zj|WRDdW>2~r68y^b%(CtJ?fvm{b>rboeou8$U>y!!k$A^nYu0g>qb5CjuKaI)e{rby4YNeIxY|jt*c9NlGAIm zhZOR^E_a$@ydM7j^v%?n%G*Z`N5e6h0?qOf4G4`8_9=w<{+=l0410<(W=NpF5b(2> z=#l%&uD{<119tg2T^5|xdSBF@U z6gNpEXKh!L7nUL&E?=bScB(2{cmMa!B@{qL@G$+n0Yk4{snZ>b z#Y}taX*bwu)z5UEKOhL5S(7i_fM@XXhuYEkoj&qy8t0dHxxRl;Pw~#1CIC$cWV5Unb^4j-Z$8+Bzfh^?~-k!$Gd)B7h z@x>4)ov9$~h~A>8vIALF+6cYHZ2ja^W{AzMMKPiIDO$DIW^r6k*lhECB0dlkU>K8T zf|*OG^zzH*4JdnqCm^$>?rW5%VDiq!KYfbT_mbjWvd|wi!pB4oHHNWFw1M2GEQ1NG zzL+=(0@GU_$)U0Hqnky@4h#KqUifaTf|1^9!`j04*sZoqJ@`vc{CGIgQgL^bvAV&0 zNO!y{RJV0p^@#cJ0V5AFpwWU&!kyvoZ->!A%35HbmC!es=C!^y$OseU_G|vd6Om;%yEZ~$Rpjzj5URg9mtPyDoe{!^!F82 zPzq{=m29F$^@S|hi#LB3yBa+|(>zx%+bFUKg|0=h^YSTKcVi0P#V+0+kRLoAOT4@h zY)zUJKVA>Ak?}3Kc85O~dD@RjwJnq)iZ+3b#^5V;dhs58@7Mwlb0E>|17(P9jARHz z$0j&EuGq}2@WF6ly+;jX?b$K@*YV~)0^$6>6kaC0Ox@w(lG`Re%4#)yvXtd1KsC;K zO!xvbCISs+i25TTd?|!%DFnl&C|%wt0TK25<|-ub)%Qub1`@Y{eJxt6Jb(OSnp%W> zC5dABLFh9(oSxvoVA#YGKPrj%WOft4{y2mjmPJgH9;S?UGBj>6by>t#BVYEj&_(;n zGQhWwGy2sGfmNg*K?bt^ES!2*snvNtp~w%vpVjav7MDCa^bT`zSw^)y^+k7L&~PI7 zpfgbhN>yT53_axqz8GxEsfh2Y-4738LXmROXpEv*Cej)`WfkV0DxW_K!nrrlpUbA5 z4{?Qess&?OZUjLS@&qDxi%C`np%Hso&byYu#)kYkY@|v5Z9%EnLqa_JFYwqVASn!6Xl;M!;ccpZ{ENr$#pd zNZolpWrcXYRYKz8<1%;HuRCK2-A>Hz{mpTZV89Np(>Wm+Z&05>z=`Tfk&imk_Ji%1 z5qS`}r+>I!3%@cDib@K3rxtj0MN-shMy3z=QpQ9}Io^)0#0> z8>PCU)24qMRrv%RE4kY)&7cznR6~Ft3Q2oI*kBUO8JVMJHr&=D3Cin!2y7z4y@vR#j$L=zvQ>F`!HckzS_@ zlZHNZ8Iu}2iyo5)N3vQB5W}Qg!%?QC3>T$&ekAqSw^Sg)*vcc55p~^$p!%%@&5JJa z)-Qx9O9>Dq8$M=p9E2{^4Qwp1Y^AcVxd%p z44hwkEJTc*MhOtd(Q#Z;6<<9!;;DnxbS3M|m$uO~ZrqaH@OI1{EeqqKfHFeu77(A)Ml{Dq3DME9S*$ljm2iu8l~KEbl8n+Bg(|Yl7{`1W5Bf{H}1?C zOp7X#3lT%QZR>;!yRM2-x~-v}F6 z8bpLgGmh^uTysyQbaX-(z%sEg;pLs?egDlAR^vyuDwd{CUFN4i z8^j4zEE>*{Q@hfkCy8I2Ku_rW}y-!@qt6K6z_b1yOd0U-lnE@w=_N(7TE_S*I1PeZCxGpwB;sS25lyVp{b~_<9>V4?F zM`6!h&mV*y(Rx=w8L|h}02aHVz zRPOO`ot>8(J!VgPzK$3))$+IZVQ3mOL)lxoa{H$c6LbuTiSfxN3#L^@4Sxkhz*~gF zq_7}ei)?V2aA7lQ2MtQdYEtXcsj4nH4R%iblp%_@3Kpy=^W>k{gH7HlPvUdy{_9^p zVx_=Xq0<26UddtK>!Q;dy;KBQBUxp)hYrAI3^D<;)-(RooB2vO!+(_>*Gei@9dq!j z?~VPU92!C1?J8zXr{_W|`h{ zg`$h@d+2k<8m!5F)Z~ZQmi_oq?vMSb7Y$7`E9eJHt@OAz_i5j%fI zrAEDQp{x3y33tbm@{QvCo|GVhP^aCh_wFF;e$e~Na zLHixxCr%6vwzItUEY_X8V)=8K87PqM;Nf(U$M=Oaxe_y_j1nDJ4=4RJ5Q3Lt(KL0D z>o*S3E=OPv*zbDu)#{LVy)Of0{P9UB`*X0*K-GLk95Wc8ac8Ctc)$#D|ub44q@5}4JB&3HGT9S zeZo0GcWO;9LO)7i78;Vx-_aR*8toLp+h$-ZE0AR_Z8^z>Fckn}Ep5!kuC_{u1HEa6 z&M%K62>ER=I5LYBsg@N>MOGgN?1NCk>u!dImA6P5mk^}Nj^1Og%(624GWX|8e+07! zzws-~Y$*x_q?;?=Xc6Iq+#O)X>K67skCxYN#Ra) zC98qyeXx_db@90AOWz!#`;fAF(Ty<@72uHftMUx@`O`N_oTD{AX^+soZ#(EXUof7Md3XXZ2C>&giPXN6#v6msit!!IvI1!XG9m@6r>q+5yMoIm59ZTnf=3k=`=bpML)m8cYR*kM7B=% zSIvH*O{PyUCAZqth1_u))TtbtSo|GkHAN;FZb8b~#kJ^snTa*Qjr^S%RyI{PJYOK7 z+f2+Sd)iY^=5fX&%2>;C|H{sEuG-&dH++WQ;J>(xW%RLBDe_Yi9yUyas{4~Fi4y#^ zIK+155Mm3ESfkH$dUB0dCEs9rYW+L68Ej&2z{&eGwUJSJ9+#e_@zL3g)-{h{NQ{L| z#_}=Fv4-}K(u2Gcp(*mEg@nOgRXuRf``&f^ov}Xp~jkKhF|cqZ$Gd?b?_Z`zuxIu{f_GCrvAK?2aJe+ZaoKNlvWP~ z{HXo<@M*l2GYC(bF*JN;LcHFHf2wXRPUUYik@~3c&6mtaYjirWw%vH~Xg|L~*-Ii3 zjwJc>B?wYYn@**5h1;(=;z=$?2E%HBzwDW^v(JHDJKUKPn-6>|tzLfY4(rAe#yG%o zao2ytu1P|-1s@`tC)A}eqNH62`CeBDr@^O3MF_zfyuH{tD{}fM*kOgRl9;=59<3QG z_As+*17RjUw3o>zP2Ld6D@11;yr1Koy){BA3*L^u={9*}V2V>Y=DVw~Vs=0Pi`jXx zum{bheiRK$6W2rX#D>S2MIOq)IQo zVlel*!upBHRH!6T#&gKIY^!1=*AjyL{IP`T}kj8oB%nRzm{uFNi`h)@ch=$qx z=c&t)M=j`oZ;G@KS>egcc2nV2Su6^Woke1+ax`ht<2d*JP2TYnXX$25*9k zMuvu9!BFYq3g&Qd>FGyJsp5As;&8CsGKozP4~hg=ex`BYKm@~ZW-0zpxu-<|6tHPw zX!})gR)FF7^YI-j%cirF&ip{%l8n4~{VNQPtY#ay0w$`;NHnPlZ2u!3WX=?_t%hlE z_8G)A6OVKhgg+)4HI{cjgq)r@1$uF!@|p?c)b2>rVymRz!6hx264+%^IMV&OfYl8{ zGP+-NBm}0+u;X_B_nGgS1K(vD$ie|sU#l|uk}c;xm4FPj;Px_aQA`;YyhRB*o#7~3 zxMm7`IlcOX2^NM7zX0>vF|#STVN=91#6qw_vp?bom9lPvQ}9&be~a8|p&H;EJvwPh z8N_o^otip#%d118&hk^GM2U$IlHiW?-+1*xngC+y5(erSnGYH%KZ(0hLfvHbGECE} z>S&CQ1m*0gjr1@j%{Yu~v)??OK6HzG5)NO)^`JsR@Veh7odn(=L;zCOl-3#=w{@F4 zF(3@j1=wW|$)WJQ$gs$P^fKxlhrD|6QBxC!v50h)GdSNOAg<1$V6ak(Skk<(U^!(@ zkgKN>kG-xN-^Jlwuf?G!U#3)KFR*Z2nnW-fN64SM^ZClW4f-EGG9QD_=U#xxsDgu( z@c{W+S=3sMm!)nGa>%>8=9S*He&hW6AGOThNAJwnL1+!IwNmmk%{qzVUhuFM>V={D z+HqG8@(v%IzunJ}UzDM4RBjN!c1vE-B9_S`bkzxnc;eHMG)+cHE*)a-*&H}5ho9`< zFl^1D%Bz*21cliq7~bA}jr33(yf4jxWfS5Odl1*_V5=O3oJtX@JFq5&ZFjuCaKo;U zQ@i-lvUmv;D?PVoEmc$sQBaEBZ%H(-3MM@OSxJMz-BRS<72UQ`%D<8JFtSjjmHyVowEk|rrU3i3}aoo44F=Nj#g z3=oAN97giF>*Ki_^zL-B3(i$rl*8lN5JOqVtj`B2_v80qEM8osq#IzLOjvKL_M#3I zc=%gVN&=qbBjEtyxELh=hRzGcvHVpaE$MRK?RdY}P7`s6O6KR|uDT*s?c!Z*ZrB@i9LO0IXrIZUsBRuI>Vl=@ zz*PMf-NAMkd7*Kq5G-KMfxTg?$F0JY!!lLoG4rn%;*qu`aq!UQZLY}<*FXC$3*er; z+GP7wL+$n6M2~HJdWQ!(i&LyMp5wAnfGXL-yQc}8Gqac62FzABOfM@hc_Jk_Bb!)G zYbE?V@o7&Pbux@sF05$MT>}J}&dvr;E^tRvgnfvp`MgQP11&?~sUb|?kx~(J?6ys( z@)6zb)GIGueer6W%T1Q6G-xuWaD0gx&e4$TbOR{kFZjTW${ba~+%_zmEsa+;xN=`K zsPhB-sq4CoAVEp+HjpQ4R#h>3Nn|Y?axXD`Z{*=p$)10+aOh)R)@S|WxfO{9{y|TT zGUorMERTGwyZ65=!5zNkiL>QFzKOHc8W8b^BP)^Kpl>?pjdld`2K_G%SuZxbaEKgo zjaAVm22uxQDihOB<#^=Hk$wV{80OK@mnxvxuM4}Ug5|6Z*+IV9v=TG*wY_jdK0rZ2 z+&UIH13QSbEJl(5HwkLogb-sRzJipzSh|6B9u?w@5$D|H+hU_^G4%_u_xQfGIL?9t zO(yw@`c{KsQ$jbbp@B2Fhu?Yo$^I_vQ4Gu-f(MzQ2F2ttmuGRz)yG*SH$Fyu@E0km z2HSkn!o1po3bvm3KHDGwf^Yj>`JI z5uha832AS0;of_BnBI~>A6irYp;i|9f|-(f`Lnz_HJP49;li>1WM`Rja_7a=IXcGT zsSEmcsWrI%L#ShVHl25}K$YoZC68JQVXM9ZNYNNp3TQ&u)aMP~&R=S`qAhy9Lh;9S z==h{db!&jy@!gi&&Z}ymlw}iF2&17lB{4CbwaVO++TOJdLcAC z)cLSH|Mf83;7gWe%v}Fxnaxf)rmFnebkzQ|iLyJPQzuo{mjG8cU_#CtE7$~$U?;bQ7bld<|f^DBQMd8^&vu( zT<|>| zOBwWK^BkI3!7q^dAg%%yB@Ve#(*qIqFRTE|~X)Fg3voo4JG z9mDwp&OEvl2OUa&P~mkTM*9y^j^niEmqDte>WRX`+SvYpJ#H`VgJ(|qgQeFVe`!bH+eg$} zqwnSm;UoxbJ15vq^9fnlv{i7WyuH4hze%lN!`??u8! z#JW>iMqjBM9>g;=h&KDS{{HEZJU3-V_s{}tG*5I^`bcsFib z^p&;l7ErNEo^1;vsGPDTF?Q46gJPv7FQ!1K6SAD|9o6b4`i8295o-SYcoT!#Rqaa{ zAEkNTjAld!UoBKTq8qeP{Q*WyYcd$EYB~z8EK4{#2H^PLgy0l*nJsaKp{|`a!An;K z?gdAAN=u3X&BsQZ$`>?TRTw&e9l zUd&hNFr!-+qhx=DH0`d8 zYBOSuop=S|!T=Kjpe@)t#BGg{s5LrtMIh><8Cw6#C@qgr5dn&WCeK{Py^9~iQ=P_| zNGVW-#wb^%L{w%ghX_3fELD@I%>AKjlSUoo39?^KP?3w97SlKW;K1s%Kk%IYZqOFR z%ZlWJFB)l`5_8`2(*F0_4<}F~ZEhvX>7T1>@k~M;ao?It32Y%=zZ)1abhHe?qtOJt zcOY|>W+PDMwV7{C3 z1<5TFoBBjVFQq0ivFK1!De!)Td9OqG#dZ43GN#M_ljn#3UzE(>G+`PXc7Jp`OoIiB ztC{@{Q6--)&EYO2`2_73XR%f}iiV3Vfz9A~%mQl7#IpV*-bY@TKAnY%Ho-1vhi%*h z-k+^4Ehb0VDn=jU^FoLZ7ISl`5|yTJ=zBR`WDmX*N47uNsN|6U#zxEp9q^q9ZE3#R zPb~b(T=_EzkHYkq*VzuC7+chL`CIJ8mWE5-;>Yr1iG$HwTpMYxC*DI5IP89wHcvoS zJY;PV+EI}R;oEV2gGG?`M^8Zg3bT&PP-Se+mo4lzxaid|>kom2xrOlICaeaxJj(h- zITZ~mn{PTc%7dL|1sd_?LJIAbctc$VL+m6y1h28rh*tUhD688Z!iPXyiU2FQwg1Ng z%=U)<`))wVk(c^zWwS!Dz((ZWLC8?S)-I@iQ?yf#;exLdur&K+(O!z1_Y$c9eMYs)FasanY0f*pBXRSAu2%a`lTs>8e zO73aKO!njqe{>=RQo7uQg#n>M6fR5^uhpPgWP~5Hl_|1hEa5T*lIu)qu3QZyjeBA? zI%ei=mdaTe-zIY{tx6?Hiz}}voS3-`_B1olVbd9pUP$^Lnm7!&D3J`uFq4SuGf?Q0 zgtLo?wvXF$XE3HDZ;#2|a-dMw*i=OqYv6MWKjO$~;W%{J@osFKCCT~_^#KJ!L*6@Y zdaebLG+mSnDzy8~DX+%LD#sDecsNx>b#zBsG6y9wj5iNGDRA=WUEigQ-7IZwzXurX zjGQ9ObB*pdOd(I2A-GacRB<<{DCh2C#dU7855VOknNS=+3xm>@c5B*I(6r`943+RZ zQh0xB^N@hBvUIbT5I|&u1YWwOXgUWXGNSRKnT^vlr{;bVs11w3Yb>6~kuWCe^6C|n z$mzd)ikJUQb2#LE$Glruwxb%6{Tq z9?2L$3NiKA%qWs9b*3VHg$rgV)xPT`%gX(fjs~M86N{P3Km5sm;j-vH4;Tjua3eG7 zgr{K_CIU3f_M?~*Goa)v9$@v2E1|%v7z!;r9ihG#Jt)aS5m9tNO@ey-d~K3#prrcW z)}4OKTS}KPP;D>Grq5?87s`@v`j6!Sf0Q3Zn4*PS9lSWg5kV7`LD0CNpP60<@}^J4 z6Y=W@;{+%gC+HB#;r(1q!95`GTP8JE^ODWPT2KaG*?AOXoKzPMJ2n;i?EGLV=v< z`>-o^S+)9VgpxMusLT4?{zWCC?^J3vTB-o_k*=M4PcL_)lWDdka|b+@YtvgKGpX*WO4r)eb9RXv1M>~Cp-nh}mBX`MrkVE5> z01yUlJ#0^e@IyEtn)Az(q^0bXMeGhZ71WTO+cw zl}|1Q7N7lLhqm%AvWl(AbU#oGB!-$OX%cX8*ZVR!)dudP@&gp;H7Wk6Mi_s+s4y{M zyXu)XYaL3!xtP!Pllb1=x1WbR?+O#Yp?w}1^hTFRB{XoVu#!fdf4R2c5O7V8ajr6s z-5s$5eUvDiWAnY0-pqqrAOjvy>h(NATrNl$_)%@w8*s4Rb2--_Oksl$p7$w%M>GY38P0TUw8YoQ0^ND2aFJ$t`?{gkFD zpQI^w6VD!EY2srT@>fGIvx+J+qClIUTf-Ei%aZaqhE?=H+?z{cGHrrxcQow8&dH1$ zCXb0+uC7V&Dck+p<$zk`X$@)8kQCAjWWQ)ieXuA{YjnM3psJtE+6gWD%Ljsg)9Zvm z9DqkrVsu-N3DMsfo6!)I-bneX(9ZCNf=*%VjEO6Zt*Ir0GBesHh}D|Ql(|tHwr_uD ztq01c5fYhG*M%&zW4G%7#9oJ3JlS!b;*pn{k0D`iwW$sHmMTd~*(XzYxRW{Z+Vu!B zuqu7>Pj4C=HfD!`PC6$J(Yv6)Tm#Qy6E@0<88NIqM6HuA4V>YIZ<<)U3*JyTO;n8; zKff`fp+8b`PB6>E`e#7!U!_|O(PXp4U`MBR7jPFL^R4mukhSV}K~&0PCzFD#ex72u zF_rbLVST33haA{2>o4X*(6`vMGcvfhHnMK<-ze?n{|}{wkQIAgSSCu}w#cTE<6t~B zOK(w}$O}^?RucTM>3&#<0oCd;xMf2bpijwkmJKVhC1=Xh$IB`+bg18i8f#&$KLAE} zG>W_BL@^|{czO4y<@4RS%m!$6cuJ+m>Co{RVLn=iR8g$ZSaH^95ym4S4q4q}4q`M? zjfs6npft3=kcOF)ei~3NgT`VXM@NC4AY;mkULj>s@h_2kfXnJ8_fWpTM@@A;LiqkuED*@^Lr(xLh(t z)9!&?biCE(OPI06i@_hVl(V!oU=X(3!dRgMki$FsaV1ix+#o`D|7z$RQZhAwa_FsW z7Z2k6_yMB&qwz3`LiaCGFt+{;!e|*Upm$-L8Ss_6x~A7DI`a{QkjjAGX8kx?S4Pd^ z+AIss!giaqHZQ)Mg-eS_!|Lo9WQ5-@@`)Ki4~1w6yf$yG{rUiW`^Lt(s8al<=dlyQ zza2nb*I~`>8lqZ*aPg;0g#7k(ck1#g^E~OQOIZvz1Y~=h_6jXQX0|zVYIE6{M-2=5 z=v#>9oKMx29Mvhtb*U18>>CmZIqK(s@H|Ab;6G=8pwXnskL~YvRrGx z`_hPg6cq|7omw&64j$q0b>x1(c$xRF(H0~~26&EqcQBsh!$7bjO=Hu#g|#ro)Q}vj zv`>}W{v{ViBbQNcGO>DvNs?eOIPW&BStGXS<{-ASs8sm2G$*+ByujWd^yvfqEUhPP zG^Zf!fn9AOZLdL}bm)_yQkiVT#n?6YN}1h{8zV7${=0Tr>KDnZi^!`#wy-vfqw+(U zm{{C;$KG9ut4+Q!8wS6mbJ|b_x5KNm56)8or+P-8I?{%nlcHLe!AWpuvs%n*KVpPNLe_y zl-wgOscXCPcdw*t)}L(M&XnL2fdMl?mrx}ao>CiVC+h%FM_nlJ!(~lHWpS;%mby_) zQ@-T2uaFQ+;8NrY=X7MNxFNPeec-jRsLUfa%Tm(lfnV3$Ja^=xo*1ebDP~g9Fy)V= za*eMYAJNMm*1EhpnM4vIw@9opmA=^YBX1Lg`3~QYT_@X3FT`dGE~BA0=rzZ6h+$)+ zlg^1@w^%J4KgHF7yJhyc4`@qG=uUSt?N<#a&NJ~|t9V^XSNmI$v*5^Z2H?znI?G=yjOy?oDI`!vma@V(6m#N$t11`RW`b*zW>0A#kBny?qWH62K<95 zDJCAY=eh3NC)?Y?q?x>=p-~AkekS&^IWfD2LdL z@?_48DJL*E(KlW%l>x<#M<^)AH^0?jZvU{utiNYl4We~_)pgx8CTzth5Ue!JN+v_Q zCn!!>yXjH+RJq~TBqLB{gqUn%;mrSHSPKuM^wfmyYE(CN=hH2GKQ%DA&GUdbZO)lXO{`g>&207lu&lCeuzJWx*FDX<6cpC3Ylq*1 z3Fv1k{Z2(K;%>MpH=ZvL4@y_~pTp*7c(!)o66J1uQom)_TfqnA-+)843$G(Zbu8y7 zky$$lB%`CVDZ0V8Prp3S(5^;}vc7od#!yObNt({VI!$FKrYk-@C+^w)QQJYtxVUMA zKiY1^{7t?oo$~j`FbV0e53iF~Uxh~4ty!@y594>3ov79vd$G;hYf;}lRq3j4GHUDW z35V9~86rFNBxAP@|0pCC2~7r{#mlqmnue2)5-H|s;m%uXkBY!e<4Mf?LPt5z$tvk; zM1$bYRcR0@v8$7QXbtk|?KH93d$k~?j@uJ_(|CX`4-Z%1;8GmI5&FXG{(|(_D+0~ezR&Yjr^B0~Nj?u-;UGPJ zCF89(FVCqsde#7c1XC@sAW5sD{gA3)I`4G83*le`Z_M%KPa1BMYz~JX$qtlX*IW>0 zK-f>%R_;Em-+-6KOMOZHf8y>`bInJvHKg%o)%?f=SYwp+nhy)BS|WO&x@H$Yb;_iO zeRxD!{s5tnB0tE?Um&J$3P)rl3%M1>O(?c1ec>a5LOdNrH79ElQe_|5luQ^|xhP4uJXrb3*Ua8~B6x+alvAMSklUB<6a zcVT!^!llu9+BQ}8n+}kHcrc3MgU7W6VQ{w7DhP1pyF&Vr}^13C#ggSB)pjn8FUgd`W zYuN`qX2j`Y+=)=w-}etOaOG9l;=foyM~MG@J+v+QTuwZw-F}^lz&?K%K|`Yvly~HL zI8R~%+Q_x6X`!@Pt@)By3!Wy_p2}&i$$2>$SG!}K1#yPiJ%u)#mO9BSA*B+^qo1w_ao~p<-C`@st{*-&kk3M=zb z#Z`Ib#Hnwk(8%PBB@{D0Fx@oL{>}aqcS~N8v3?eQ{+mG;b(Xp|A@148rP0GR;mkqw zDBobCl$0bL%F2^DP)FpjTWN4THfPvsUgs$g@3Hks?0c3{FtYJzQz-qNN+;YXJD->a zO6&LWHw+pLtocz`Sv*LofEShrP`I7{vAc8=#Mo0cvNVt4Ulx;dx6J!=0y3$ghDmH$ z3bPjd-fX|8jS%4)5MIdlt*tNG_=^<4=&N|wZUT|i$`uOKu0EJZaU~ixj-1X?L*t55 z|5mH17hDIyZDd4gVoM;vRKf#Dfo zu6n7_UNt+OoWx!yIyEO1^~}@y2spobPYI-Fn`~!{n~0UX^KkJW$#P~)JXy3}{U1B0 zrI)zLc?CRg50?Ede35UDsvA#Y0-`IvTf>G&mb&A_Q{fYLK zzw5w^Z!puuY4jTG3Qo=+8xJ8&@g=*;ogpoGx#LH%@U|lg|lV|UmAd< zd3;oVii%hB{e<9P&_b+M7Kl*rK(n$pUAXIiTAl0qFnbXCB2*oVFI?L}k$Xn3IFg3C z#cQ5xaHR$5%MzPqQ*)h0f&j``~L}u8`6=1@w-&2a`EYbB)0&zRZ zm;Vm8(;CjIOs1dRD(%Jk*1*C_o9-`M1e~@3C(OepvvhOf$n))fQV1yT!p`jq`lYh* z0Tra=)#?qdf%kqTL!9msHMi~_v-if!;Aw19Z-gg|O(OS8Pq?*U?zh;!fZzk_^7m4C zhMWx&{<@tH~HMQ;4zp0XD^Oe>4F4S|F>$(t>7z(8t7)S~WTTw`^362nX zw1Jj(u5sI(VS~dT9UaMGrHUa63r7YA04Z%Lx%%$RYJEFhE5Enj4|8(?fR|H`)si75 zb|3R;ZJQNsna}Hc`%#T+-AJwScrjy^sod^TvP*KZw8;`Hd8}=}%Z``n`T}vjB#9b6 zVDL(%g5`(6#p`V_)yJ;{56KnD^vmxl91OfZR60^gCH%Eyoc%DlWA67J6P+_*yYnBl?(PGG?TNoDF&>a0^`lqDW)Ry27UEJuv z?XVs`Q&%+Lrrztw;|g)DCH-H|Nk9%%0~6rCo`)}SL~P?6HFwSD8d8cRSoe!R;X6C8 z`~q($CXRL(L4n_7pyd}OiwqstB$99s<^DzGxfmVsn2Hjg#X9D|7RJ|<^z=cK1qz<` z^MK)g{HrTLBT~@dqgsM?GHeLk3W0Wg&QYddgAhUXwX6!29}rQwWR{CZfpCE*U1+LmjPllf;=on3Z2r)&u+e(L}ne{#8s8};8Q|+Bg!?=M@z*EY_ z3<`7=?%YaRF|mrl$VKYgrVF&VHRscMA~?lm|2UQ$H;a=BR#~1w%!Hh^3TJvCZ3Ou9 zNDC5$3F~gufD$ob$;qKSGsQ_&#qv;O0vy{hsM`1l8W#mb4+&4D#is0mPjbwVID7_DwO`Ig%-6bx4JVzb?UXqW#*92L-d!360l_}VLfWhl_bTZ+h>?nljTV}P{9}|Jouv5%0S=0%0o}Z1lM9aWzBne-(rXs{0ph!ju8G=4D`3Em0T{AiE*%4en2*gk1=QXA4Y(6F+-AYx4qR`ka6*!+i|eDK=K41$FsM4kRBB2Q!Q9b|>Mo zSxefT=cMTygA~{w@&JXuPqMQGbB@r#d{5Ws-|4c9-h+!+$`pmM(yiV=A>=!`uu1Rj z^E(lL+dg4xT=6&i-YLU}=&+o`K858`G4n6azL!;-z+zqvoi-f{5Leq6s+fiaeUfFN zpXAO@s1;iBA+GYa?m|PP5EXtMWwdv_(w36}HBq|8LyS&@S{!k;Ik-$eDGRsF*2#a8 ziTxym6|Juu46pZtuK#ljGT9(4^SCf9zHZ#dv*FpZOdV;0ZhGo#q{vce!Ozw2&aBu` zYZAy^8Ulb$a?X0=o$-bWm|M(sL!$*>Q2f^)^vSP;2se079EZ-*kB@u(^aKr`Akhd5 z(fCfMez?X%H)JA14`LM}R=!L?*2^tZ)@$UAQLe7lE?fp7b^P<1AP6nZS%|R^%<~1$py+`l>5IU>S2Xw(sVHDHph$WUKUGzc1pQl>60oztU=NZJmu=cn^$HVG$5i7U9JZFC$ z@2&Rvqp!;+)ynMFN~Fy%7&km>gc0-s$ksK6wGb?f&mLIE|GwPgA;Zk~)|1rR+l&2_ zq=n9kuXFb4v^N98M?ppmHEVsH1w%>ha+QIu49p%k_^{r#@2w$vm8 ze!q|XKb0T*V{cg%Cu_<)p;!6(0w2E@=QxPMe0d4R+MNzmG&Bw#$5b|y|7%i9OP{cy z_je}#*E1)qVfHc>u}quSGh!GMSyu94NN^Rf>+o_wawV?hfD%lG<*aO?Y)ocSXqkz) zrlO84yQT$WJ`<*33X`N=4#AVfFb6&y@`ERP^=w% z=_EZX0e3BpUdtOdA$1Ugmw}a1|9MZhGZH_JcgReHI`PV!so@2MXr71k2@@2H@gi!bqnz z&@yjS?6xq<21&^wrw@4Y`{oT*KSa#2l1Dyo3xVb>zWWnRh&yiDa{Y$D4I>~m zP);8bwHgC12-8JksueBQS{q+(Q9#NSIQt|7SHm!dn)E&pHjl`1L$r`y+4hf^YqaKM zh81*@A3rf7Hc>h$+)O;0vm7)Lo1e!AQd`u$wOe}vp&4HnJfF1(f*Ad|;-Ez+wtmcW z*t|VYUftB%Nj+9(YPza)AoLTsbl*{E<4%C`6NoSJA-H*K9}lOzE}qNmNP<6V6c$4M z6x$MJGiVsB%wGl+q33bQU_*&!L-vfBD09erbY`Jq&DL~7HdLexQbN(&5*kl-Bb+M= zU%b|_O<(e*2uG+SAzIXHA|44Jyd+TZltdW$Z(jN8EuMLA^UA$nm4d<>r!UU+#X0=K zf-th`uhuZ@x?FEX@qP(bWh)kyF-84~lAG{CEywzBmp0m}iOHF8^3N37<&aDFLSjpw zJJo?d^K3AnhG+eFL8Ig-!QuD6b1hnVs9V>TsQj_fD3~aBnQoiW4l!&0hS%hCDm#R7 zCw3dVwMXOg|5<=y-vkewpmF0Zya5Dr9;8+PoZfOz3fw$Q6*nhH&Y{$e0BggSx%X|WTmyk#Cf-vO|QpZo40IyDM8{?wZ#wIFID0Xx7c|2A^r{Fw;?^x^Be5(8f7}{ zx{n%R!&9Jt?~gC~k&WFqoPQX3P@i2e6dcP`c!CR2q2EKH3hMEMuCL>EvM)Ob{5xOm z-pK7f#ZRE$lq*VzWZ-qu?#%f^VE z(o>pJq|!}_CU_B}s`Qo-lZsbqN&Qha&*Md=QS}tbx8-4cMTI=YmL3X%p=7&50G;va zT;hAeLwh6YG8zTpE-@q$biYR zO{e(E-%70a2$Yin7&QN`zKWaj2chLe^Iko`MxNJi`WO1@X`=amDa5q~<5A2zLC6z> zJv}|!OinK63a8Mkpc768$X0~HBaxbL0Yhrl(R!k)j+$P06>#EKC_`#6(Yt~0LYO8l z1 zkCL}?7B}J_IJD+!$=H7|&i}<2Y{{U95=EW%2!LGO8`GpCKw+X7`~k&ZRe;Q}>#(Te zq%4fuBhVmyAI`W~xQ+xt+3N$93=vNc@mIVWN)z!;&}gUl0Xs#m#w>Q%*c!?r+UiL9 zOZu)?gGDa|xBjSPlLfnGv0f^xddjrkpKuuSfO(c5L|ZgU9f{>sSMne4sP}oac?N@$TV+pC7#hU$X^H20&#Q zyR#~0Q`Jy%TD$GVBry= zQMlh#0&FJ4^EL0XOpAASqVT1)aQ#3M`KIK=B9wLZ z9dP{vYntU#?oRkklNI@P^OO8f zmOsXrs*%MrF?mW#-PjKJf?jk)htAZKylp*%mZE#zraIdHv8X3r(haiHGb&Zb^Amt)ri;h zsy$h5GyW-Vc3zd!|hxTGd?@>cd&8WN!W)~+a7*;lXJ85i* zCh}qrJ$@z+7iI?L_jg)KeUNzXT;4a9a!S3TWz$3P^$F`5eEnN)9>!8Ft%$a08*zui zpXD?4steScZ$cTk*%3a9{$JN2fQ!<5@oRr$hz|$dV4y_j#&eL{mGJWa5OK{{RxEjR zo)vN%tzY_&)?nNYG?BHoPV&M2oi(Qra)hEV)+Q^bzY$!Q{(Iinvrvt<)P_H7lt3)I zxOTHdd8GG^SmT6AFo_o)7T@|72D{#E&LPR6S*CO*al)AVKLdIDgqodhvwn z_gtxOFnO_l#^YqH_x=W`(r<^4n#}kmAzNZNvnP3gC%@GuhsxOQ0}@Gh!t-ECEj7s< zD`pWN{)A@)tjZ)FmS0vgQ`PR^^;}FpH%Z~NH^DdP5ScX#)@2I~S1st~@Jc=$=nRJT z8F(y0`*aGOiJtPz*=FmfiSC(!i~^n_(18rI$)V|-7?Hzc7@0wzbW_ZifhT`rD@X{% z`{r0EP$6NA*`Sn@LC1e;3OKU~e&@puyJl{Zj)oL^U2#G#av9**Ho^UoPxS?;RpPmO zp~TGgra2lCyD<{>#FoCuE>chP_Bs+*SnY(mu1>FJ_Uddjp?}-8ikI2@70qy_$L2Yf zEsRgd-DIe*k-F%{Hkz>)Z4^NQfY-!P$=31wQp%hiow7hcg{kGHhmuOf96$(>L<@Tvh-J`&0J<{tpuxtgFkVqQPs^dCT35?613|MT!@}YUITlAaofQ z%B&GO@2MqD>9;V2slIJfT8PU>A`y43XHC57o%W$yQ24!X1iWMeBih~wlXW}}PGo^- zimG^_+R-UtPhp%;q|E{zR~R!GHbOi;{Qlqb=}jHrO8%dd?;pu?)CWR?nncv3r4^P( z-YWh(xl1eDPK+k_h8{$YTJI4r%DiloQ2aq_0aT-gds%@qI7Co&53GlnxYC{9CCRdj z+v+(Vy?=O>j2G|jN(eq*SH!b8W!NejKu5xL=gQI~?0w20dqBgUPWhI{ZcCPu!CLq`X2W{vlS|7Oc_Tx`3+50Yp z6N16=N-it~Qt%@1;Ngs7S+Jx}tvr9YgfRn?(`o>bdO9+6Pv}5;llLGixcL4?o&YI@d95uwBt(FBHd5$n zgbH1O@Mai$LJvQKUsh9rf@{jsPVelHO*F5Drm0~92kqqUnhtt8`(z7?0ff#=8RsE* zlsfG>!3sPaje7X?yZ!l#>VDOAa(?+QOz6(AW4pt7>Ck0CWMJ>%8l`~`Lt*JoSEr{) zmU%FT_Cxt&1$yyO_!`XwKqBsQQ$*QUJSU8bjK$Oj(@yG_7m_sX+16|e>RFJ-6TUV| z3-ex}#s|F+xCpdEt$w_DFPI`6Ww~v@rg@**Iz+-=4Cx+I*<^(Oi51&TN1pDwS;oYx z^r-14o)n06Ox1&ANapjo>)HONn@~C3+PNTqVK0S1&S>)FS?6}C<0`C~uP7_Gc$Su2jD)t*TFwD`p_G~ps; zrb51q8b+oM=9w=3L@^3LMkEL~0*yE7RFmcB5BoD0419LDPUf2an>hb?*hSb56DD)N zoyN2m(nZR}`9WIY+Ks7o=9&|E( zlbkHsR(ycyFtYS-S41yyZ`6y8uml(v`=h{u#H5yx?^9N;!E&Pi*850${h&VKYIecf6{Vh8z5u ztd>7G^?d8#+f!~KcmU1qjCi#b3ZRSN?5FwK9B|;LHwlfLoj5%&hhTthd$>49mg@rJ zSz9BtOvoZbGKdSHZ+@*A|5skfzM!=WE(&*2giD9+UQ}E0d}$%#qAR3%fzU0|cuvV8 zyFDS5f+Fn~45L!K1iHsZsQL9q;3)=DsOCY?Vub@w^tcX}@n#@!s+V4FHmDGQ8t)*u z=}uCm99Z*;fghjutX^FQb1QwB=&%YXjD^aAcflhhm*N#_E2z#_-7 z9OmZ70=L8Kd3RtH<IO0yQ=&VY&@uXu&WUVJL_bbBrnwkI7w1c+^?7_JOEQWpFFw zeDvzWEktB5HBd0yGrAg8ggQ+-#W23zd*hdtO!y(T2?{b0T4GK@jV>`{CH$AfH%FV( z(R}Br?_@F%U8+!v_@_qg;bC)_OK@-r5L&@R3&a*K!G!@_m>{9Hk-+msFjz5_%rT`{ zr?0wy)d5Sz$5Yj{CHO7vV}K8P1^~UP>ZIy!DmhjEaHG40FHXbSH4>p*fcof_aXEK;Q>Riqu7;2KZNqAaaLS7ZybgB0Wl2*z2l&6{-|sNFM2 zKj(s<=P{WSr3|V^@JYoXUiQP9KxV4@(nBr&=;`xwn-1hU>#UWFVDgBgJfvM#8C8G7 zuDR~4wditDRZ~f%uA%mk6KIO`sgTlI$;TVQCMCCAsi9Q?F^6_pq44+xrDDnzwbcis zQr&J4E6!g0_2VPoR|;z5Wr5*(JI)8?usbmLB*G+CIEga*31(;vn{~T43ZtB+c^-tB zCSQB}kF0I6TEgeXB<_K*bBB1eH?1*+f~fX8Q?kind`HQVhaIo>gkUaYT#YGOtEC`r z7$(xzR)eYL_4cD73+oWsqDrj~Ew10;pc17rHvB6uqZaup2S!z;)a}e|z4?A)l}_@= z_la$W)WRunx)u6X-79PO+6Hh{a>v20NuonMGHAUS04xuvid_ zMxh@}^yMoJk>09$Qkba3OV>kGmjJLfKXdUOV^8C)H{lCw3Eh}Rbw|p1|9aqj|F(;s z%Z6HG+AD{`=D}0{j00B&-_hVv0t#2if#M{RbTshDnnxO$K4%C`?>pV=+d;=d*GZnIvK2oiDEhtq`Gds4T#=a-9)|Zfd(^v40C7yJM ze3f?yD$nN!iNiNbKAJ3l08Oqxzzp~)Wb<^4R=@p4`0+jCdTg;9solch*u4u;1F3HU zHEcoley5ENH;Qf#I5$7Pm69nOW4+;u`tf!synQJA`gLXHp?;SxV87M8+3>y1m&X@G z#R%lX8vn-0cq_xDzo)RU1vn(?+85RF(R^%(?U_6R_ca`tr5dS{)+KfsVc!FL*`_B;P%+S@v zW_?##p_iI01c*Kv)&-M?$$Q!Ri9qh);uuA>7H00) z+rAKjHyNI2h9G`H&Bj>N&kj+~T&e9i&!7dNpEJwRmVux|s&0QCi*!)xPPOr{O$KEyQ~4w}FX znVse>1(Vlo=+Vguf!jbK4y^xFY^ z*9C0Wib!_(hY^?rbpUzaK;9~bG5KtwHJnLcHdMyRX=a_*y|%!|6IMVWS<(dH>pS75 zhmf`oZR*PZ5{adc{z@-RA|U?fblTDPO#s}TU5I&VVAZClr+cMpcjjjQqtRSO0zz+=r_Uw!ug{9;!giSr5P~^9vye z7UiWiB%IN)JpBUt+e@s17?4>z-`^M{4ne4A=thw?@LuAQRX>6y6~_Kyz2o-unJ~!y zjyFH{E_!k8_}~ijmwPx&*YRR0qeP!WM>u-xtRc_ClB;3!050N`W%TyA2F>HZMGsf$ zJ0B^~LwfN1Q+uCkD=-g_t*wr#{WU(5yGC;%lJi_g`py&tv4Oc7yLesQmkQdsF z6ZPI%K}so6hNRYBACr-Npj%snvzdUcr)uJu;zqcT8FBpC9DsB~%`i8}jhg@(eWJHf%`r|d)cjUyR9#4oag_*>b zbuhKAA9^JYf$el2CoZ~Ax4GNn?r)I!(!b|v1*<20FLgYw2{(;ynJIJQ$TE^`5X@}%Rw@v*!F+=JYonu48ftGm?-IBNzfIg9(?b* z_WXH&AcI6w)T*vLa$6>|EJNoUQF2{HlW_(cQ(g?g=0_$Au z7;K3B4|6X>m@*#+7L7Y1PYb&8NowuZf@pKRV6IPCM(HI$xF!Ai-v)yuF6G0zSGX$C zns@=o3Jt`BO}lk+a(3mmqy7NsOnw|(6ER3~m~w_lfc$hmJ;Bbk717yI@49~{yyWzE zF5?DkwUa{9cL;CwHwcse=mq5D`HK|W|A&C!8~KL+HL0>q46x~i(Ai1c^42g~Uu!FT zLRev-Lo;&>#dZu8ri+bMl>$-OL(DV{v&A-vpDA5^=ScAN<%ZlQ8C+P~bZXSM!O;ZR zYboSvZBc|><1xTzngZMj8SXq2|6t5ki@|Hnm1Qd7_%)3^Ti?kX77K~xBqvEWv_8xE zti%R1%8STd@#lC_a}1yd;t$jkS0kt^?%Ngt!ys2-D!{=FX|RO5hl8y59ole}D*WY; z^ieylx!&<@yMcUqJ&@4tct`tQ4qt5T@MTg3X@3SKV8;#I+Ac~J)G=iCUaw^I+@~Q4 zmK3Bl#hp<$%>l1iqKrF{i7ZlfqCjF8vn_j6`E_iG%bAo2q|Uz64`Rz9$j zo7sJDsu?@3%_C5P(N+^OqMG1J5Q}mVaI^~f3#cyzkW4Q#{J$WKJjlo+gF-qrWojan7cd9 z`HAF8!`idLnpDS52ha1o`}?qBJgX=MDpS+U_XHV?JQE!Iw#P5EkN{VkgTC|as0`r< z3ZEerMy^#^TTOQw;d|+6P3GJVEnUaECYydQgGmCee&wxtbrP`1hH_Ega3OvGFB%z; zzsXlvS=Zk^fL&k~-|M^0m$IamagjQ|qS$zO4hc^vjdF~oqe;vfv|hxU%@`@~y(Vhj zZstmX9G5REG6%O3yVv3lU>g(86&jpmq>>y17Kmc|dR%$)cIQqvf-4Y{uD9kjDCXD4 zCpzDv^hL)1;HNpx;|x8N#^LSlT`HE`*eF=r*!)ZVc#V4Mc@+-V|9nZc;dcm_)JT`Z zKof2unXFxkW&a}IpV(MZSR*vD)`;2{B0sU|Ap4beN!r#MaGHV^w_1fkrEX16N?wfA zZ29B*1rxMhaaeItcUw2hM|a*#Tw5F1J%jnrk$PbxcDI(gWt5Bez3~i|Niko{`N#d< z$xPdRU4e&Ca@@_HuAjxaB`Z$o2UOEWH*#m@s}@a$boDRrmU?a8RQ}iLRi-f$SR9+8 zCRJeWtPPnL)Nqw&GVN7X{g89iaP{;5Xp0h^pmrcGj+qZT?ipICV!W*(39g>^UAkQ( zn*mDv%YYsm7gQ$(17v;K?o5NI+Y#ot^YQO$@-PviInMzVLb%8~p~?JHv$^6`enoj@iCNNRk_cA4a1Wt)4$?I|8=?#jqdtFI&%roaMnZOGxFszRj6uTTigZbOS z-wAb1D z^UGo3$)UIo>$kalO<`=^(zgKoZ)Lze8Db&yzk4)=vXLv-P;biZlO|MoWQttH-FNP_ z0N>XYB_Nhz_|%pGNq+$-kP1!J91sudM*@eV|2+gZU=ER~ZfE&#NqA*Sou4^DwpoI{ zJ)*KrPI2WqXxe#L2xn;B&iHnNaUu)X9F|EFP#_A6JTOr2pBGRa%v*#67X-6G_Y-mH zH=geIr>;GaX&AhfE?PLE)lE3c{j{_SmCK%75fR~b9$cjXyNKXMk@1VfJ2`)a5{o^>GvVKVXbVk(?o^}c=6$}ugSN^H|UFV4WqQi-C4?MUnbv^u%jyx z#Bs0_x!8Q+svzN?r~_mn<;YjU=qwbltd;xOdtGEf5Y&fGseN||1jK=LzkFsy+D%$5s3vZYY%vm7A`p8?PIWyFthsJtsoh zUwa+TjG;;qx*Ba?d5(=zL2l#bOrlgoztTsO4QyVbhU5lCiFE5xR5q`fuwUSRfwIK* z9F{5!H^4(tjigY50ay$uLV_vf{-zrw`1pzXO49KKXsuD$+#Z!pe$@YirfN4=&iSN$Gpyde0}sHPV#d~2W54ed9%~IsyJa%z@uJR@%DlJti(cM&hg z2Cr?Q|M>qbKwqS84cv!pXT>jG#%`BUsp;0^{X}Tzam!nlj|z9ALwmnS(7S+bz^*Gd zfz`{RK-hruMh_|5>y^P~cVuKg)Cu8$!9Z0jST*QuD<=l;dI0ho1_WG{iPIUc7XJnm z2Sq6?8yqDpOpe=rLBF=k++Oc}ZJgqBgR-%{BTMlAp~aP{WOcwKGVA#T#ECR?wjT5G zw=!+iv#uQ0O~_r2ns(96Nm%&mNo)xF=B%}d46~hQEjz0kXvE6(u;dqn@gs-ZeS0JQKp8h5lWbxLT)cDmAz(o^YizXBD(mn}deQ4^-;NS$ zgDWuzV$XfS8(`!iu6Hy}P&A44Vj^!o^bv~7+AS#li=qEAJ3?ss#MB5*8*m!{BHj4cVz3c`>m+;rROOUJbdVF0@MUPR4b*2q_wMi zsOo$K)!LA0*^846^8*U~<3AI@!m_WN>5KX2H_ypEu1)zcb+_aDnLxPZW%EA6bGF@H zKJ_kQ#Rp2qynu=n2xos<3qjuae$vl6BGQ)am@&2Nl|+*a+`GJA{pOPfn+eWOWxgY@ z;M*{G_CQ{oPtC6j(PYvL_00a#6phlflDA{qo!5EXA~3(O(&$mcYD*wR z*W2IEf%4LvNNV$MqKb-WjH3kiA7!5*;6!dCR-Z@y&Avj#jWEZgQ%|?AT1>__iHn1l zA%>S~4|)v{QOs22!(7nw)b{7LtAB7)J$oSUA?a)X<-2KB1kB^$BuJwqD51D-It#1U zY9SA+P0cTJn-EJsUeDM1g%T_7r|fUUs`A}K35(qs%mGu{_&yKfffL2peQO&xBw3@yIP{=mkuI9_ zCG-^v{GLh!tSR$dHRa5rA27o+_53)q345 zCkaZc0eC|~CaUDVTOk*rz0RG!12+H5^-ANmx^Jo3QB5=6tKOHvO2x)Xet*}e1MiVq zbNb40)zPCJ&7Im8179N-X-l9rWfvAj>eNj|QbX9vCh|Oo-GfreTQTnfq8)UlsA||B zUHJ|B)_1c@n|lof&tQKX2^Aml)+bqBn~`Cn7`#-mR@u7B8yhe|o@N|Yf#-g?gW9qA zp9c_G6v)7UXXFZ4@fUBGh!!);CUZ3Y5xgp*Y!M` z<}^b!kY~#FOnyixzxRj1nt(!$oDMQM(0z}^N5F*DbJpq_uT7)&`{RaSRr*^y)fuBY zFt}U;2%vN}33D2BLbt1tdOVpwTI)>W4ApNK%K{E@>w#-HrW)>i%JvfNu*2NMQ_)1c)Hnfe=aY2W>cd*; zZ4j`TMea8JOUTR;d0iOlZZMCAPz1rEA==vU*4BM1Iv-fxq_6x8?Yn`mrG5{xWxS?b zGp`Q?*7HbD#bqSI7_^<|K)lx`chRW9ZEY#U%62h5y+**J_ah4_eLUB}mX#Kby5J+v ztC<5?)HAZe_YQiP)g83?YpByZUA&U02WU??B|xP&IoAZb>eGm_}>AApolOIYfHea-bOfXP-tA20a) zpf}s_z(VSLFT-1ry_YXIEp?gG!m6rorucB{#J!Vnetv$b%@nyot1FMv z!*lRK!A7$=4m2GT<2c9pPb&|?RQc)^MW68InW$K3ls#EB?^NtXp*$c_CurrJEoD=7 z|FtY6k-<)ZK9uQNLt8P8mymPzWXeH?*j-cDzHxbw*KFT9Mj zl#dUQm!?>aa2zq(B`9a`ku|*2OBa3GD;x6gkAl%DJn&b6EMu9{yvc)1?($;>iu_~O zELE3qPxs*Rs!8-z}Vm zcsM`qo1N@{5~L^P6!^A%waCwv{2Fz7A8nv1x+y|1Dcp|ftdJR&-e}fvKe(OeN|1Yc zdWr##e(JpRBi($uNX4j0$hQtm3~p6DX%35yz}7xB>s9`h{C06kU@zO{L*e7T z1*~eD4NkFe!cbbXqi6R$b#&^cZbn`H0W2QA>mJbmc#A%3uVkQWE%la+!y#*G{+jp* z{kyqu^C8@bC3%-EoMD4VgsjBCK@n1+bQJQobB$PE`PX;rsuhz>wZzo@XGZ=(F&j9vS?62K!1jP9~^|hQ-Fo2&2 zE*>dRmqbz=Sj8{OY9SPcN?+Dp76p$q?*$Hg?u^5mntEBs425~MwL+mNVpyXEFQIHa z56W+-JF5?iza&^)hLThUB@+rFg>KDBs}N^QYDe0}32S>%m8Twfc~5Vyj>cyC+>~1g z9tyx^{URV-c29qJU-I76pKdxU|G7vB|BTw*NjzX6obvXxsKkNFwQk)CX;7k4CTPn< zFrgXbJDD9t;9ep;z{KmBNQeeO=N#)jM9rS}l+C0;Y++d~WLTV6Pm|4Ms2v+{0H74i%P;JNkATdH4H?KgW-uxzD~FD9>$ym83v@WXYpn@-Z_uxTSHE z7fuV4yl7K7BwJGr+YxaZy51Y|+e)XMZa>E1x=`+!JX2glp|rg@%?gl%h8a4%;XClX zqg=W@5?gvWbHW{M-hS-vAG5BNIxTpnLm_#k7z_KYatt-fGqbW1{rR!uzYWyT56*qt z8*JH)-6T)mdCZhMxB`1>w)?-h?~X~RI1Z%K<~MQm`pI6b(N{AQZK#V-*Tpt?^Hqy6 zhK)ZaeyNgV4R1K?vQvYTTiSO;viY3<3aio3y5g+izO*uEI&m5cKde&{wQ}sL1cfvf zt%bCeH~HrRe<``Ar^)Zm?)ZP$F9Zfg5t~IyA0aexSDQ|I+M9Pz+-MC>8U(Ff2kz=n z>i$WYT~jmV;>0LEG`gZ5L_Z>6T-H1_4$dp}WJ2d#I@E&=sf;^4_eH^lI!{HaUUmZ^ zf5)TCrQJmTlBc7l1fh4XBH6li-90|1cn4EJD)*(ty0B5p-OV%0_*-2UYlg)|cz;k? z1rlX0Hv^R6Q=FG~;?Q1XSv4RfSSOBb@s#s}{}G|_bQ{v$o$k+t)8l6bA2C1LMGt>X zD^l+3*x_{`p-@i{J7xsTr0(vIMORfdwR~HB!mj5S`>l!Y58S|(V23iKlzop=P54A0 zhP^Tp%g(9P$!ubCRf(TmU>%nZ^lUDt?vS51TN&`c+8wT5MX3}{Z9cyoQrvi6^W#kB z?LA*gD_(yPM1>iVzf2DXsiSKB->u&!;?OO~{^MDrqH^K*zwQXfD1NB6;@_`#GBqbK zgUd~bKs2M(Ce)Va*<7%n5c@eR5F`qyz>Vsk*)NsLgrGDx_zYCof`Ul(h+RCW7n>*? zadwo#?vaET?F_Dka9~SNDSTfFJ``IETxDCs7?or?DGH!>F7;G|VJ2(})&)D6ho{tr zgY^J{!7z(3Mxx2QE~^uD(6JZlz-E}|l2?>6Nc>%eIQF4mS!~qlJ-Cyd>j^w96GE~m zN82n(WBNcey+i?ob^rSS8&W;eh9AkVBbm-Hnif>7rHUTqz9i1DJkf<+M>&kJL18@xBd=PrHBixVT{aVG)U4wUoK4EzL%<) z^dSlDh&VZ6ai2&*RM)`6JIK{}$YM3^hp*Yg0L~*ip@q7@S)DJh$CTzQg`{%-sh>>N zZn3}+dM=;b8foqf%@)pN??i#4R9&Jo%5&oibM=1_Z2CBkTk71=I`GruKQ$S9ok9hp zWrbpSg+s2k2LpU&(^_RnQc6RnvIaEUHtRavh2G;xl9E{6Ah-*D1J;8@RjJhLofK=t5>~GENaE6bg5J_reWTW*j`Vqodan@6I{g9%Hv1~y;PlAcATS(PhHu%5+8tj)B zJc!F)@2+2HD4z`let0p91`lfznh$f(RcVCW7lW;bxw`Z>2}?Va5eBWGBE(U*{Bo!) zepQZ4x{9Ej3n9%M{?8{w6^EJMT0^EYeX*a->R(0dToMX-1y!u=KM-DGC}cB~?>-F0 zZ&RQ-iXN-9LRHjYt>{qra~WJ!PZqrdCi2|Bl+XNq8$%A+QPA_@!u5NVsza7YTSlSM z!mpR(fLC4!*>JU%-E7sA2{q;ERU;iJ+*}+(PxF*NHynCOGfW1#e z`u1w)MQ7$DMMTTTLy39h^+MxnCpg?;5=;Rz@7U8OcsML@`AC&#e|sWw`h?iBOC%uZ zFS&RIr4lq!aQj!na9f@u-&Xi{o!10A#ojRj1U2g^D~^jaFe!?S44-3b9MEjMQf7rp zrdwSfD>8WXaMj~H55~kH+V(_`5_dqSA41H9$iZvxn`J_OCIa2GyB(YFFq-;&FYU(? zvI$=r|E5Wt>LVK;{!^CLI$HZJ+O#QBq+tFRw_N>tt|7+4s$u{?s+1ymEM|%w!0fl4 zZ%wGJZ#p9ZZW2HTm5qV?n9V{LWB|4#RpWXLpGRA&CPWUMf6Fd=(S%na(D;f^Z}8-s zVVY)LEwUv8zon=Rw2N=OLh{!hj&^-$z!PsGN?_SV|IMhB!u z*E`gj>tP>}<|e8Ea)5dq%ecp%h3gy4E_tUV{?AU5fG&t0qe;!Qmv3wyL?%Ag&5juMA4`3Ir{-)4>95ciRf znCNk#n!?L}3kfF$+i|S**HHWLtO)tcFLZstyhU%ahF*kp8s${FO<=Is&t*;*akYR+ z7&)tL2sfcSmK5I)+&jC~5s{Msc>5-1Z-QH47wFPPN&dsKL?vmQDVG;rjvOC)w`w2| zY5{RqZk5Yxp$7E383^}7d3&W$rzqnX#aW@2*Od!SqnZ)&^sdsumYAmde4GVY~WiIps z8DYP)ZEMr~Hb96u>;N+hp+19wNJ_q%oNuF11E@eWa12?aOpn**xCv;%;>vNJXBUn*{J4*gn$KMO_qu{A_|Pu!&7U3e z_VCT->$Y&FA9ukdJc&OZzn?F^*~g(g3zi{R{g92l(B=T}qT|h+Q=zHX67mD0{2lm% zSC08O24ZOlF1@&`n6sk>>NOdERSeUD_(G18IZ^uqMO~_a;{#{}%{2NSTtkrfb~7aV z^tJgpCWx(pj5K;4u3P)b3+7T)!QI4|BdbiOB z93>W{qtSb4M}s%sZwTsPnr2^5u%2^>Zh|HDuq5{2kjgA0>K{x%=vB2|wV0DxhO8p% zW~ZyMvIufK`=y4jm#eYw)ulnLZe{88RCH`DqlB#bu`)oUFc038> z_*$widj4;OpfL6ST$r)4LOtJIV0bIQppuh%v%nCjzw_}E@szvD`1t*?`93vk$rt!? z;C%H#SR+E8+?%=ChM6;8mnL;fCq`;Y0^#YVf z(&LB4+S;+b>I{+HCUB^*wT!ZgflhM*!~ewNZMJ9yUE2uq?0C{xzb&B1jFLc&m-fst zTU9ZGA_k$CbW|RTZufxL?ShqdFpZxsY?}Il=p-d33-~Ea@-G&%C}gId+V~!6&}DeD zD4&cU*mx(SkR~+e2Q%QMI*rJQxHPybYnq1{27}+R53=g8SyRgn++zzH9uCwje5`=4 znl+yfp2#Od-*ZqgE<}=_&9n9q7NET|5HV)K&5k3ZS%#lqzW<$A+3xTADe0@ZZm-xT z$x~&#IAJHyY(%Io)Qdoal?;-Uxr}{DeEo7@PP#N{Av;;4RPr*$gAGh>k*c z=J-{$B@+%CaoE?p-h5U4fQ#t9t8}+bPdE6Z2_Qbm(KketNoiG_^&N8iz=|W+mFuAj zDEO~9%i!{%G*_hU-FT|fdW&fIIh_$mjaYrC7XV$Uo}#NVJlpZ!y3cbpc59*CVd4=+ zvACt0`0lq+-JJj0YR{8GL(TLK4UZ1n=79(q^-GK;^!txHH?%rmHc?RHq{#G8_XMEzCnBcV zVzTMe!D1r!*QWp$;{fVz#zA%rqUHx-NO&x3)&aUW%;f$1~My5H5$_c~zQYj2N3sFcn4 zH5TY*@^HyejZ=oAmQ<4Gb%LVVnr~c#8?m!>Q<`AAIXS}ZwlG|l&IRqZ{jc|gnwN|H zXRhn{{ZgY5KH=!hFqNB-11YZGgUZlh9J@pit(CVnt(mg~*Wg4JFRJjzG}?8JdpErB z$8g+Lv-ibU-kQgUB8N>u>$;2L^|WpSHnYj}fRhY_nPUOD$__lLS<7MMpN&OG7M(D) zs{--kiJD3Ttv_WGRh)EFiM#xgY|49W*L7x<{atkd)cj0P%EbLufxt(*L%WR>XbDJU zC=?iKG9pI!57busoWH+Jy{~(mxg<464xKcCd+vUfwFcEVWIWU7EH;ehC;+ zkjzi&YUG0*fWttN1V1M^JpW5$n5G#F%?IVS2nnN$6AS86Az=86Z*9ySC- zA%B?|pcT5eGikI$p@B2RgN@Eq3S-^1Rw5JG+sD4b49JG~NkUCpeDE@_n?=I zM7R$wi7so0cth=>7ikhSxIluS^}INd>NApnuz}di#yq3P2M$wMx#Fmiv43%B4F=(6EaONTS9zY`UyCOz90A6V z_#0xNT=63td^z48RUt|~1KVcp&3ohs@sMp4bUna(UzgPx>94?6L;y|FD>_x1==bc&*d3N8W5IVCr;GzMZ`K5;la-f2qoCv^TK3Nk> zb|D%39^PX%huIh>$Tj0X%q4C<&~}IPk5(bXm1-+5~y zkA=!^mUkU30Ul*hD4!6cIZ#6~b;yU2R&xA0Q~?A8aP52;C{iqD#|a>n)c?-{Jl8pi z%`%`15M&C#CLFL@c<+hArI4I_kQ1|=4dHMecqmzuq4&J$e4?58+?l1Nb2uB3wnB~; z2$dZ3K?Rca=Knvo&a$h`sN32E*8nXN+>5)r7ur&!xVuAfcXuo9TA)bK;%;H93L{aqwi#0k~oUL%|_hA2CoK^ng*l{(Fi!<0VNJ zHADmgGTlKaxHCTLbayM1!Mz;ty*LQ#o^P(<=Aq}iIQ+6&Ymo*_8fsV#)rYE|YF6DgGPL-!i5`-|k~PP?0Q6xnV8p z4x0~&&O|$$>4XrWn`&wQh`Gwak=dke5|@6JVa)bkoWS9c?UHEi#?bbn-vUMA>4}AD z;9>6DvBMkcTYBdmTr#v`Mrx&_4L+Gk?G&Y(=X5 zxJFQIE^a^1=SRuLn`kb@Jq~(*|Lk4L_v#eO8m;wXp-v_7pyKWqrB~l=od)&*6oQQh zm5lev3;~T+`lJ#3FUS%3-Z}BQuKhlB=S{lCmi4P_K7SgREg2$yK~mBSzquFKg#M}# zy}x=g&PIyfF;y)$_gDokY+s4~yf!l5Hwizn^cSyst7lEmsoo#^4q@frh=qa!uy3r} zJc!J6@a1;1tWY zXAkB4MJ*!+4yiy~4czFXf8I(ij42cp|9&24s*5Rc(d&a$u#!r|e$%J}L`x(weobNG z3;8j@mb2_lr}$4WtW!|p;??h+%=a%$)j(8v?9S_K6AOx|%4v#1dusc2tp$gwRlT{>*>!b^>}iZn7x{nmrHkBJsn?GEeRVF@;Hgf)2~F$?Y{7k{;_ zY-^;y>Lb02;y|LRHzkAoY`f5S-ww=PQCA=2^!bi}^mWW|D*7RJy!_LLsRdC<0Nxm9 z{$50v=UY6s@D9~d&OirLsO~`YYP!BYbI4@D^^40^@;BKp@L!psg#*$cF(H8EU#Sji zJ&m&aoLmi{iHrNir^=TDyRM3v=ea2?P$7rZM-V>#CmAUxyQNDZ1J5nGtc3VD3r3?K zapSu>-TnyVtJiSV8GRa~CNA;K?2Dg1|3@7K@P3MLWBiZ$)m-o+nZ5PC{-3kf8t&n1 z{)@0H*|3>HY=RP!l&&T3_Eo?`ckkU-7zS7gcCP|(R(m@v|(9(`A8X=b? zYyn6BSmDG&8wT#Qh%(3>W4meMV;Rv0lDkI+%ZDNR{0$LZKwvW|In}OjrE)sX z9{Z;&Tl86u54yRV$1~5XS@4T1HpkEXw5)1%u`ZPpfw>5I*~OTYc(mA|FZd?_D=WUd zaGQnbUiA-tqtDtZ1A7+Z=^@=w3V@|o%uqrbRZq(Av|@xqZ)4#P>0ByTOH#iUs^07z zSF|Q8K(7U7qHSBBGm$xsr-19e=HM2Lo+uXx&4Tj+>47U@9XOyDSqZbACp1RLZz04_ z2<0yViaP+|5MGg8sFGWrEIKg!bD)r-v$~R+%)u*t+sE_Ey^wzud81jX}!-+^taWp2-V(5>h_<@)_rr-1*nz@W#N-=vR9gB9CY z3Kq9RvGLM7o*LbRLI{QQCP`IPMqF1qzv+@aMYv7q=F)BBQ*L#RFZoy7`66dUdSq@P-Nuau?2AZo=P$hOz6cH3Wq&x9QoUN@DRy%^O(i{F`muzeSP2 z+7eG+`HS~ZHhS+bOlS2a)J8?`{4wnLS3~~=%W^=5KC_Kq>m5;pIR zn4foV9LtJ3%F2TEqU@%8oKNCYYu>{qk`MG^xaLZ2VDrY%zKohzbn8=BT$oZMcsjc?APq zni}fGzkU(%{=Si?Wl~mAiTd-03HGyb5+KIHeCU`A{8v29p3DHADt2Z}Eaj(ozUFT} z4n7NU837ReVRs71=HCAF)d9s+Ljb#AHc4tKLoBAWaj*GDRBsW*^vl6$w92<_7cI~I zGNbtTUY9lQbaq`%IclA+w(G-7>oo&FoujJo$#jiAMj)jFi;IH2E{b|d!g?E zXaMxFkYLYA(kh+))ycBh0I|=&L*mchkJ@zh%E5SRORX_NhT0#|no?UUY^f=e_8cT} zwiLb}n#UhnDsT%lGzeB0o~z8@ejJTPzdlu<$#=)8<{Hiv%bGp^`^CXzY)+m=LS z`W<8|BEhJDIc#r&i3vf;ILL+x8#E=dya&zm6vt5^z)SjE>m_0Um{dLgJIZc)2NvaF z2N6wd4sS`qUykxxPLPV+Z%*RI4Ix$ehmU>!^q-YmOk2xF_aEh!x82C?a!*%g*hJg8 z|D#_BVKUS9EIzkpdxSnug28Tcv2Kg8+4yum|8~9EF)`<>XJ5J*ldeQ^Fn0y4e4L=qGL1aR4}gLCpdibfR$c2eAS*K#;#8h=%N*r zI%WN=p2Lx?`$=8ZS03jgDm7L5JeNV$oTo7mhGx!sM`0+I?7Zf!< zPOWgqkF%5axJ(|)-qI@jP2?!9dhP4qAMcC7h>o;1glVHxtut`ac7{CUA8NtS-}Z}d zP?U=yCI8sEX_bnjPZIlx<@S6iOO2*rs;_s@* z5nJ+`MXxmf(~ugw zkEQJxsaJ%TeBvQFzCiqjmFb6lilNH4GjYO6{^3>+()O+kUOlh3kg2|{9|%GSm}Dp# zLSeG`FSY|KmZmFjF99a^o7uC(vGtF-P_!)l4?LXhNa@sh$IV*5_aP=E@y=WVG?9&pFOnf|776%@$ zM7?%>zrJxVEGxr6csYJTQz%uP0XvFC4{lr8=7(sXG)&LW2bGo*jM+eYR$DQqINOtZ ze4403wTF9~Sen42ts&*`#7*=wDWDdjigFpx!NGFPC--qd@khIu9B6(CB#F53xf|CLfm*bC$&rkR69+zA){I z5a#rL=~e7;9Nzq0!!n1d!UPf?^h#<31Pcrvc!e3v{J%RFP!#*z7Px%%c$*-}Fsn zn7GUeKasg}MnV2c)=MibZGGyiU5f2@udmhVEryI7vFS~qH(6@SQReP0NZ*<@QLR=Ofp0~HT*rXu_Ai|5 z{tJ=U2h_%fBsR+XGJw8{v06D|FXB|&FP}v&t|(a~lq(VwM7|aJR>Hi`EE`P>3uzS` zHrqm%O_1lYNfIqf3Ac&cseCS62ejVEa#EJR_&|jR_?%1p3-VT6XMC4@S!B zpmKLxoBi0P)cG{ENs{3hHGcFO0hcowZ?D-=^37ZioAATJViw&{AvOOU3eL=NeEoT% z&GmqDI9Rl!q`BNxLzTcw9hUoCm4><3h78@wMud%J3 z?MaCwYu@imkd2CzTs)u;RrV(frs&LZa4$l|eg>jwKbyBM%tL zoi5Hwf#cwy0-Xe3Y_E)B{L%qOA@}jKaoDKV#oVr*9&WIC1 zmvp1k=bwvRH%QBE0RimuRZ!Z+Rj21GM{OA4w~Zl#?Kk7EL-a#r@A$i!j1e`}l|V0y zG!ZVJdX~h*3p@GkZ8LBq|0x`>3Narb6B4)Mvl?T?l1V(4CbdG{ySwRP2Cl{ z#@`+Vrne$2Ivse-8sMSTiH9kykjt@4+bpET+t%XQF6cK7jN$8y{>-muEos5_pjxn1 z2e{5Bw4%bgVyerGi0xqlyHJ+8c4$mdfXu@e~)0Ky>d1PFew%w}19C|&AE z3x)w?KjkQ1-gmv61Ps1c5>XlJef8^1Az-uV4UfCxXm7|{*X%Ny?%+PKz)M9zX2KLH zV>!Zp zak}WUW58j?*7&h|Ld zA6MzUS>hiplhHV_-#=XvKfzpC_rxDE4Ad>Ri^K8N*QXfDj_|47{VCmYx%?9`EuWob zVuD*rX#D2(Y%1$_&u>OH~ z4t0U1d`&pw6Tfhp;7~))>fL%hP(K1?+QG8!vUoJnDzZ1n*A{DjLJ*Z6lcmj^?e^`6 za_Et}+~Lb5rLiV%0J6$`#-F3&ioa#xFr0)B9700z`t9pI0|$smz1OY@+lxtCCQ~v6 z@$tat*R8Jy$9kWcO&JDL6HET9*sA_-(>ie(Cd%)zcWbrenWh&Z4aKBg>3(zTxV$9j z^G1FwgU=wW&WN~M>%cv9&01X~LvF{=%GE`Dl!e$dRf!{1;bZ)3nb>qgE*eNS4lQD0 z84WZSc4UcIg^$9v1ZKF>`(qgj_@VT~g^!bSM9PhN`0o{C6fd{4{7jKUW`RRn=kNwcjjnXd$=J z+D*X&lVpQr+Gj;*bRa%{m*Fv{Co^6MzCgy;?}s{>qix@uHLxk&;e(=KaE%z3!`_Z7 zOB0Z5DHCz4YQx>A9uFFuCht}S7{_x0PO}sBmy2?4KU9cL^d6iJ=h2iu!RVrH>4+zo z^{rFw%f!WYW=MVPV1HyN7A8<}^Ea#9`Ra@hr;rf7T1`z2MBigAZqj$J!OGV5r# zRrx9N45QlxJT>QOXQ+zsOxo#@}G$e#fZ=C1zd zeE%RHH}^1R@8{(43eD)K-EO9~@oPT}B|@P=6;PO!Mv^71XK@j=tv$hXlBE5-?@Gz! z30h-pRZfvP_OEeOO5i%bV#P`)t7mnzLU|fgDnUw9DxGi+`wA{ZYS!jt0;O^Q(Y=zG z=a!Jw(75OFxUoni?w!7g)>;hJ5St8JzArVMkEH&0&?nAHdmz|<|Ecb1`^)rSK9UhL z-XZ#rTZoF+^ds*p;aR$^q;a)2+RI3GOtoj{>4qgA^knvizzNqS+&eENp3+7;dI4w3 zbv$eaE`k-dM~sojYSia5sD%~v$Vl7~>!)nT8_i_wo#%+aA_I z6?h_e6;p{M9x#5b(Bj17{82Q=j|&_>B}-N_3_j9@;=3>T+<`@FYx*e$>(3%D;HoMq zXcbJ3^kAH??#9F*WRnvc;l0#hvEqg2aQIMngv z_rhjEfG=p{d5^!&>uPU14!dJ1qCWz;*6I_+ynRMQQ#|p2sj<#hZ*wMh8*@(CS`kzb zi5I=uttq$Lvl$gyFBr?*q`HPDJE=FnWTCm+G;i1RuihyTuvzgZgiEU@EkiCfc=G<9 z9ESB|W5>OrJIIkfBsH?Us&v-8u~vjGE1U~O1CI?dW4v*dJuJhgTX)*T`#I?d-9Mks zo}qvC@<1ogA{gXsqzww{BqFwya_W-84q3|g^XC`Z=PxW2L~C&LXKp!9wZ{{Ap3<;e zaz{)0XldHM>HGR`un-M1^F~Kw;urs}k^l&S(vn?U1d0i8Rmq5iPWzIG&s=8(u$L z3R&zq$%C3ygHtRo9J+X}C)ZNx@)&kCPU>zkl~Gtx`@4s8CG0CfDrTBW%S!WPf@va< zX8r|^{1#DfGHrq|t?RgLFBGE@L93@qdNO!K84;}myC*+TUY>>{AxL7^qz9Y(ZO#VM zRY^zQtzGLIiL9*~;<56IsPLaJfQaJN=E#^@51yR8T9cA*`@4gbwE8$|fJin<*IQj& znA!V9j2#LGPt89C_bq}8=^MSLKCL<<%90BFS{QR%gbT`L$d0xcNSU0gCB$Mg^gG9* z-g~w~cnxgaS}=x{e%N=!)1$V)rB)hxk8gxMZE$l4M*8Y%7h`nFqKN8VVh-Ov=}JMLE?v|~&Z=n;SG>|h z(A?mgaIzc(Q}hapOo7L%jH}C{$X5Gx=U}C+Md|J!>+BQ?LxI29ODuU$2PnAqc74N9 zI|m&{xh>CKZv`D*d=XVdV@C=W1%oE#@)LA&7Ni0O(!HL6C;> zd9eL&@lALq2Lg!_P$_mmWsI{cr8%ul3?-Pzwnk_PZK*8;!r zb-l0DaG>P~pyriiHc5$@`>n?pmukz_Uy5=n$(CM-&lyif_R(H{u+dU1dGRKL*@wyg zeJmrdK2?9u@Hr?v;&b3bJwAzN!N7rXT|U#F{TCPpkyW8GaGYH}XP>uPbez}VB}pem^HG0DKvP36M0r$BWFFFu>@bf92QL%=Xv7+Ub%r1M-_ z^L0m+;vh3a-sJliH)9i0KGAICH%z#*FajuoLfvOm$Lwhnyx<~ z;0)>8b$)M#YFIug^TOCiIXPCqnVl?oSZfjCJ_{wkE3l@0&?#4P4=7R|jR8^rd_}Ur z>TjtCz0QYd_8J2cg`ffWTLPzECg`$}LL!{D8Zz3{j#>-&!1^aZ1~^TyDn?0K;>a6K zCLg{w-EV=X>o2CCCG%kcriO=-y9WCg?$h_o(3Z0BRqLD!zcx*{KOxvr83F3N;n=&0 zB+bSHo)EJ51NpeU^Wz4e^DSNeJP+1SABq>B`v4s+Ug9QmOxsDrji#la1h#a+QBqwJ zXVzA}m_FE~Wv!efKG|6|Q|lTD6%_(SbvQ>yKgz3XB+SiY!9#jm_A7ajEeh51jWnQcVM&%%{=Y9SdUT7T0ZcNaT zpC5vnl6Jva5{)#79OuPp>943A`6F~gOajKG`WgJXN=N;f-R$+}f3?H#pN#bXW7zij zC0*lhbZH&IF572ztM$UR!sTBS|k z(73G@(MZ8)ANDx7o?O+tHdOt}^Vl~n!=&50*gY|Sj#;loWTV(MS<=zegTmZC?^Vgv zb7}0t1scLpeU+_R+Eo6FxjlM`fS*c*ht6g|GE(66cOZBf#8kXpV-o7(9N5nA(~dyd zPPy}cy#R$KCV7hHHNFJsl;uf{NW2x)Kc+U94Gz~a`Iw{*dL57{7+2|10GfFpR_8)I zsv})Im(t+e3?&Zy(LNHQRdDTkY_@^X3&{5S*BR+dbwiM_LtQz>VudSQAa43QFvXur z?B=h7eoGa!O-D$P_N!`46yS(hu!@^Qf9JfD7`ApJQ7At^8F8yn8VDg@3W5o?5)PAU zmfKdabe7ja!_Cw7)4qE1Q7aN%qJrn#{Lh%g=n-zDez!=^x2FlkX9p_Y-JB^3Py{5( z`<|u+&i%h`9f>bQ=-L_oCR$IuJ1!Fpvwxtt$JO!Q8GG(4HX67Sb<7Cxb+OLE>;*Y9;@&#VzK#pm5Q?5(+<@e1Fz4Zc)6W?rnF*_$k z!|)BCsgLa}EcQ)hgK`xM{ZEit+MZMw{m+^Y+2ulLmONH?jB^G2mp%F(nUH@xR$Ub! zh%)Uv3Ir>&D5`tgxq=czA5}#j?kVbA_W3ZefC}x31<@HnrC9=5wmXO|6cjoCCTh+7 z6pA=Qzld{U5U#C8Dk}{BtCigpw2g_qy373`4c2^)uRrT`#{+nXRuy@>!+LoWMA58d z;NO=I-(EfpDgEPgrHokB8UgTUf7+>w2#~eDSsuNZfQkq5Le~K_cv4jP5%y_9s(VH2 zi?h*4F`7pEe5b)3E|!Gz;4_whT<)$?A_J0oFOfB8QfGPy}`kf++EZ5_+c!! z8PUSHZAP%NEJ+@3>6n(>?;g-`zDl#$da`Q`;S75xL`*oO%uOHtCygWMD0SQzr1CYE z$oJUDWCw%0&O%b^ss`NK;W4{;pN6;YYl0|en8na_b=r&h^L7ZG<$KLXX*bNeNNn~k zRf$Zn6J#@Z*N6)OxE;v}tNZkx=DipE(kQPOU-X9EBht^u@DEj5PMq`LjYyB~rw@&) z%861p(>zyrAXfvN41x)8Vs2Oz4>n-;n!V~a^2s=<0O3V?7Gh6?%p8+ zIlXJUn*8U8%d-HMIw8uN!oZtC9;GQ)hH&6pW9Lj*vdMYs7rlIx)TJfT8(tQHDF_nW zd@7gCEvcCf5T#oki{j;g?0#5IEY|R4KjePF;T6OEcu}QeD&Ah-(^Qi`jm36w8S83l zHYe1yeHdRsE4m-yD0)Y5lgZa$yY?Xp8f20pqfAcmq+XtdF=t#L>|(Hgy2kQHNmIo0 zI5;ozQPs2E$h_=w_|v^uK6gqpku0-^uBKoPI5$TP@bhZ3H92<TGh7I8)?xoQY4494 z70Mx&HOQQO*B{9kDbqiADbk5&RUyT^n{s4yn5@4uFohHEe%H?lSc9{vV470ajM8HH z4CmwG!b_Z8sjQz1%M~Ux6W8ge-OTXZU+|2E}{a2N#-q#&2D=wo?8Kv{Uif}YRhzoIq>?@<{J_f27; zRsL6h+j;Wi|Fpq^QAUgakDh%tXdZi@+d}DC1n`)Cbf|0HX-jH2wJLU}^zM7lKQrPc zQ|GBQmk}?nz&|k)=@o%r5PkcpObO$`(lerZWEBojh4lJZyBD!CL##(w%a zoBO!$auCH;ka_U2D1P!*I&N?5?h_WyCGWsWtaZc$E%F{L?%7US(r}`8Sc3S*7{MOj zScZtSI<3bIxzropwQOG_FcC~`Qm#e-lOzZ`CMGf&1W@M=QR!WSt<v$G@Tack+B7MM=U>a)Th zAQs!w$+^MLV(HuMbi1i^Gf+zHPT_Z=T#Qg^2luA*0Q3v@%@k|uJVCJ6Y{%mtW09AC zBr_5>GSopZkA28}cK3sWR);69y=f5Xaqi>*LY>FE=+JVts*b_jX`<`Wz~wJ*)5Y=< zlKVqn>h7hR|2FM+Uz+1N3nK2#RE3i-Ugx(QfQ1X?sQ)pECHs<;Yqx;nDm4myAVBzG z+?GRc^7xlSSkn0TZY}+bYIAZ!Vy4G*E$n%^vdp>Y2R~i!8y|~ldT^sT?LC5yH#E7e z^FGmS$bSa!mxpU(j?OE=~W+2S*G+UuZY;SqB6GDicRXK7T->tna6)hP49@+)yG z8A?J~G>Bktq3ymQ082D4FjY)cK3_qDia5p;=16FF|K4AmAQD=Z=ZPpPN?%GgI-p@y z{y7v)xu!aH>P}`>;>`-Uf(t*x3;s%)9k8&1Rq8Iwl+wu_NVLHA%iW@_ZN)CL)@8_uf-ajX6^fJ{8DEZ)w_}XgOx{TQQ z9$)?^89XhW48MNW1{VgwqtBO#moI5GlDZHPg;K9#lQWqGtp6FrRiazL9dma?9mxtddvOk6ZvnsyRblkxN#*u-$ui;{PBHMJwS>^~aBv>48-6G1j$X zmeMr}Jr-!2-YO{8bic$y>5=KD`F{)+-P*8N)kulF3$_+!SR_rf*a>jsl9CV}?Y3@Z z&|>5A!jRta!c_bRqr9X8j{Bt%JdZ}?7+($|HhPERG`CCdUIfz&8_}z)8xAt+E;v2+ zF~IphXA^_QqS#_fK1@BW&IsJE&dipT7i}=tyrky3;DTq3f2RIYA^nVl{a%29kiYw6 z8(>Ww)Do}t5UkPDs$3;PvcGLi+;F)R>?oM;K5IQVBsTiZYA$cZp&kFs=j`iZqxJi) zhj9m!jV?deik+6l&MQP<$5Mhh;cw%)!IN@_3ff2?uG|o^sx)}M`SxH%kHSR}Zp=jw zElN5UBM(1|fr(7Rrtw{e5WRVQ`2!WD74udJARb(vzhq;L|>U!49QZ zw(xjsBf5T#0;RYG6=}@WRrt~o$_~=;>U0?0=*k3|mgQOW_>Q}saQJ(_;&S^a1>M5~ zJv=qR1y{z+@E22Sh6?G*`2$gNbir7Uuiwt$h105alI3M^=dm6e&~!(rh|yH0O01U! z{LMfvVpD=U(P)GU;Dod|R)LEtPM$2WSb^+z;*=pd2yA|Xyi#vntLH zz%a;e;PK*if9mmy&&qm&*HQAm3M{Yn-+irpI^z6)wZ9WOU5?BDR=FbP{3hufBm4J( zcI|;{KJG9^h3P%5$4zC8L0I?@daP2(<`bKThNWUI<}e+wpYVHFG~B$POcj*PHA2vm z8?+QsSm}tBE5U?J>I0VJD6K)u$O_6pkEr}YiKm^`&*<6XY+*YVxv455DBSg9i4VaO zvxk7P#3pi*OVL_OG#NBj%#8ldiL7bgbjq2NuKlOC!(Hae!d>^IFM z9v)gLA>tp%Md8uUf-QVpo3yq<99zZpuxZ#DuV{H2d*C-&2`C^32q?vn7nK-6V7}j! zKDLbNKeU9K#owv|=cK?#+%)$LCIY$&ap4AggpeyH4@$vkC~n2a!h%83k3XHtZi=L> zrjZOocFmrU98SLIUX-grF7Iiuez_;-#-&}1@cyE5;m{Ik3x4b zC##8(`W2PN|caBoJw%dG4y*+5}EMu1Ha>oIjYs!7xum;QurQijz157 z^2UlRwn%67JBT~i=puy~f`c^qX#yaS!f+|aaaG>WYahptf*oBq-3zJ+rf)$~~f zyUQv7^W#4Njb#21oJ@ABnWdNbd+?NUH)Z_t1gPGW0Qt_6)0rVcEnj4qQXpQk(E}hCtYiojs@UQ4fu3>vt2(*NS(~-)MTd7FTTtzU0PmWtwmhhlO; zOPz$;)bWhx-+U>R6_=sS!`a>okjCEjRzIM89;1=Ya?IH`rP_(!Ju(`QMlvO2aR?YGO!=Mg&j-cwt=P~+#S9R{rr?POVJO>+x z6wy8=#F`#13tlTCql70aDn*B3sJXhu71hwoPX0Rh=_NJ;IqO0Qc$@2%Gp|R_v?CVM z?UYp5q^tTbSJ{m_lqX=2{XfkSbiDdqj_PvL#%uJ=Fg; zh04}$!f3Y=es;ODv=+r zikRBQ{^*OXSZfd$|Cc%bQZQIx{f8x@zW_V+Bh*G>X#k}{z@J24ro0`r+HC1#A)gxoQ z8_P6W__FKu0I75he)Mzlo7*|f91B|_+(007`z)*c$mgJ5~n<0Tq6D_9HumP=*n zrq0+_iE^hr_b${rRDjfB1<2R!nrL(*jq+5sn-p{eI4tbkIDHsXGG|6E zf4&&+h_c6ihG$>9qhaxa2%k?lJaa2BIFg~nTT5ev)n3E|j7W)~_PB`TuU4e5`wKVu z-sw7CK2W2MIBs@!KO-%JYW<@xZ}d^xi2JHWYh><8-eeZ=Kjh3}esn*RdaJB4o!=!% zBoPiUTC)UpGATDZ<4bkFkyV%BtVXl~^F1$}6x`jY1RY+9g4}Moj`aX1XI;2Y0oMou zRpS^7+tXWAFaa{^@i+6PnY40-X?aEOo#e)})?a1hR@?02SEl99!U$;w`@J z#b*oevOJ?3C-p6RV$Vq*2Wi=Q^fdFLLMH+?9XB+CfE#V0 z({aDfmc3>3#y@ZlqZ#nS_?;!PrpA*x!#<8=NL2G@Q0|%$oE9{0iEJb6)z~3JLq&$MTv1!wN&KEDS%co_6e`+Jl;M6TO5y3k{`1NI zT>pR0{`0PE@yJowMQuzYkI9^tGXTb?N`8}68r)dkgUO7?ygID1PfdosRUSv>6j5wR*jx4 zh-?x+tI#3!HzsX$YDa}NO2}PfbgG;f-Bj*NjK853e(N)(^azdUx0Tva3Tm0ckBx601zow*p*N5q$Gd1G| zKa)8RC;7R7-w5S-?rsBz@NWdx-AJYF)G5|v#T@=VHzzhv!+frFNu+U{6(6+RrtP|K zu?>6IJp9n3i;9$o`#Gepa|yX9(k+Nr{!6niVN3b{csQs}rCZXtK`E!TH(6A4go*Y#OxU>QQ2ruaq8&oM1YSzqk%_ToWD3bvvK$J3Z3o#)Eco!oP79Wy6(tl;KjVx{o?)NPl4gU;; zvWaRo{>7Qd3et7lEcdT>X>-)PL$GuM*3Zbom$`-4qm_4}ewa9@IxSvJ^<^3}5IXIk zi)JVNi;D)m?ii!{p*MTutgIg~VPqK6e~2kHhu8te&6!Ze)nfMuwPf$#XFH9GMs?Q4 z5cY808i9E1O!Wpa3NE;j!MsSKU5|4$CNGaSgD03pq7R~VMQYmX1KhE9H>Q&a-2xk|3D{FB#hK~;Nv+DhBGM!f<|1Rh8YUiB&X4ws5A7BWDrk7VL+R<2^gy&Z( zv#wigj(4A&KjeQpehyD%p6>AER6O2D$biN3rX}n7LL$Jiws{6CI5Yi=m$j6qp@W6)WbIMRZ zo>UK!Gzl*4sHAD*j`Ke5`#FR=)2o}Tqvxg0Wn$q_pF?fHdRqo zzOpqw4#Aj-vWaqMZ;yA#%RH{hN*{9H77iT&Z9jy6{mm*1HOn}N89o^MPv{RQe!lgG zy0*rdqiS!TYA{Dqdk5brzCT+HM3#{Q<^<{f5|JG#kEF${r zt5yIy%`Z}oi5fXMQzQ>vj}GhjK}qY{3r+_o<;-dwWmVkXoITpKe>SLk;(QrHo^28f zMxV=6?_Z>|&xa`jBFqV^`y#|#g~45WLat+{p*xEiAd0fUj%IYbAMKsy)C=OMvI{Eh zzDQYYogf%omZV;E4YbluBB~@3-nE}E+g5|J25EOZ-v|iR?tT;$JKyFDWwuZa{K^2^ zSh6hH4(DH+?^Bz;c$2zef^P199>wX?IuN?kaO&0ep&gd*eN68}%OLf7GKAghC zk3YFc<(n`eA3i0E3g_TS9BMj|D+rsk7n3?0vY0sJ>r+>0G+Yi|mi-+$A6gi}>&&`8 zaWB?4g2N=tbkGrQegj(O4$d22s6toZZ4lCV#uZ=Rd9yLY@bYR z{IiLXJ0`^aw#fWD@7zLC5)bm@-(hn*ZxkNnT919Wn;W-#NX;8|$A0)-w2=wnmU7GD z0%M=Pe&5lz|15{*|9e3gFbVY`1Iyw0D2R_B12Vv0QSU-WnrgI`KH=1vuQ-Y}k2z&Y z&yptM^|bZDnP8J6JcuBZwVz|+gDZP^MINtRkuRMJva>re2p#{V2UaZcrAkXFe4jwc zf}7>!Qd<<>&lu#UVa%Lk3=~6#R-i6eaWDydl2%NW0tnp0r1YHd5v-Q;p2I{55iA2l z(0Hq7D|_4=78;LcxUttdV@-d?d*n+_5JS$?A3fhMwQYvag*lC18HK>eAqqhUewM`NOEIN+mb4aE7@;!ln$ExKh#>a%FuBtP1v7tl=~Qj8V?vjr zGN?gzKj|aM_7BO0#SINbMEqjnLRn#EYsF(0f8`7Y=gtH+Q_>rfM0uiKt-tvnKfXxI zrn|c5Casf`dLK|#Jq$oNt&t?DRL#vX%3%~^=&t7W!RyOUyXe`g?WkR+IrZkvYc-_r-;JsCc8O=w;S|C8fUHnDB z;Q4qBbz#2XthJ2O`yWR=+z$+bqVIE`7nc<3F6xAi%(xw01f5Ma-4ON`K^~!HaDaT$ zFHjN^4j!IRLx)EsKKnw>s-J1j#pN%n5T7baQ3|CS!_R_}%r2U8TX^L% z$`6Puy;~L+xpk)+^C6k61@*kKwp}75Cs3w~BR^4)=+IO8NKPD~$Bl7GF){Q0oT?8e zt4HanZ8Rul;$6Eq2A(n7NiHisXi`gHIbCW)o*+}iAtrvuX#ci4WzTh@KSJzTMbBgH zt5%yGQhh5XlA#`sWAY6R_)9P69%4bbl>9_y%%4`5X{VR3wL=ij+FkQ&u@?bFJ1?R( zD792cF4g~f0lsM})e6O+a4=Qk{;K|YIo8fr@7Fmcz2C$%B50{S*HbET2xdENWGnrG zZ*T8uyMCl+r>A&_4V$Y22V|%IPUi|cne8j8H8m9)pW1oPH#5x}EP~djrUKam9!6WP zCWO&+EWuDwQBha7d6drQKFN-{9YhUqW}GYx-ls|;CzM*O{<#$KS7Z+wu)OkL3((m} zb7>rBz_Mj?zg7?q+KxXNGP;mlKnS^Q*dwV*;T$9r4eT5(bo*`BEsyzb0iNHbddyy5 zZ^lJ2eA0_U)hR3o&O%(U6|iX_WI;Tj_=H#`PG`9Nx~z8R0lBW*TqY*2Zss|yTHZy6Vs+g9p^A-HDr#fox_Y)ju5&r5`r3<#Mc7>6XUbf}i`!*` zpzFpMP~YB;Qr6Q<&sX{lu#^!Uzd+>vA7ivHbnr+@7b} zu4jv%K9PK!CYRaBOhDT03r18RV*Vu2yg@yBz+H1d%wSA9Rr0vR0+tTz#~__~$QR}R z*5A87mff%5|Hl?LBjYdb$^i}+s4Vh)Y(kugnOQ~qW0m#|Y?Tu!Ia&L0oNT#uhc=>E zaJF}o8mR80?1#KCBH-F>S0%l*easz^AQvbl=P0}kwwvcMJ zD4d#J69yW?jmfuSD6{VUsH9e_nZA4rjmZx$WQnkCVZ2^J@ws2+z{7XK3QLS&MM!Ru zQJGRBlIqPAOvbEWLYep4VxTiZ0}Rl@(Wd=Bw$7@p4RG7mxVt+PcPZ{(pv5Wf4#g$7 zJH?^6LkkoMQrz9$-CcqcoRfXAFV@;8e<073ihXsVGD###ddHoRA;$TW1D3ZvreZX|~t9iifkOm!(d zg-ehWRX#TvY7Um)Rx48a6DWDSVA?@H!R$5$vDSC#+Ey1*yqy0uZtc7m$4}5SvA6_raM_$0Boitz^GhwHN2;WV&ANCzPF)baToXqGi!B03Y%vUy-by}$k=68A!i zt4Qw|Q4)Ts93ZRhTUhv&kn%06`|&6*A~P$9BF-iKYA&h)EH4sY@~yfXg!pbg8eF-0 z5om*Z4^_?>`FyA)^W)USdcv$DQ$3_IK%c()Hcth>NEVGV&CB;W_R=4m4SBA04W8*6 zXQuu2nx|qoZhVF#DKCbL(uJfrxQpqUO84ok_PYuDCb7Y;2rp`zz71uW_Pg&7+S`n4 zZm5=tF%=my_jn#QQ{rIJU58VAOq$3WOC-)8MQdW|sGOmi7{cXVUH0l~cAql~bc3GO zp)&&sp=Eo6bAc7EO`cN-2T3hQiynj19lV-h@op<<0XLz6gV`^Qd$-2V2wGL0XdGRS z46FP+8ChEFAI8I+Xs&$uMq7^=7P^P=ID!&#K zQ7gX@xH*ZtZwuJREd9w^{bIlT=-B=|yVnd}`+yCF6&+}^iTJ5YsBN-%N=vOk9)Hlo zC5n-GnlYP>7~S^tLJjrTFC0ycp??%lQWeM35VNt^t6i_1qKO<5^ZS&eR3Qfu(MjTB zcD>%L{g>ZfcFZJ3-uL#1@_A}a6>xF5LJRKyVcT)19Y?Ngl;fHj)cr=r)kW>-BhDep z=~va2*r+Xzyp9We_IofUiWf2O!1V_fZo`Bn)uA zlz`29BE^G7`Zk8q?le|v@ooIZq}y9auG0ukYnMs$1iXSwjAhNupToO{O1~`tGHh{a zd^ZbfgYN${pre-=w&OjFZ>;LZbgY&Ynw@b31SbVUqg3M5a_KZ%p%ZL9QY-_h95|qo zR9M)i@nmHE{Y5+9@2mGfZI^@o;5Q`jrZ48;(9lWq$Ow#)--FWm%0e97m|m@yH)?V! zS4Ii?KNIO%ovov23BIP|FG>{{j1+N~jYC}(<=XCg)*mhIISg7ASIDl`=IDaOXFoDi zTA2+-HK8j|n_N5AT|}3M#PJQ8+zho_UOG9RtuOs>`7JnFYG3FwL?3^@R{VKMYwNVL zoGSXeZ?M_S7~B|>a=e)qVfWNTf*!#J>}L8xzoC)E7MQuF#?xqLh3&pD?X#u9td-QFA8oq;R- zrn~3ht`j+|FKbR#`+!2WHH)eeszVo*u$G79{BoPH9x@g1tN|%um!;2^r6mh4Ihm(_ z{PBtT&#t+=^MB7*hqV9WZ*CU(nNFAXx{${zDMBDm=9N}21!0oxADq+T{rrq{G1tlF zf?I{jbJZ{t+S^mzi(cRdaJY#gTEA^}{M50kv zfbOCYsHk9|%gy(k{GOoBY=w{}*K68}04e8yJaA8Zx66Tl>Et_*Dp}wvH99mTC2R!j zsd6Vxr$FXjhnXD$?gfFX7aSdT>VEeX#t_cLBe#HJ$^vT?G-hF0CvZ2fvFtG=D)7AS zCci?^vZw`Pa{R;6oW}9#DX;)=&kQqs>s@i|<1KWg*6PtC1u*2bGWHbp0X-Sb`0?Yhj%^?zChX07R4kAw}%qWt1OjtkU0?M&fjEHCOQ({!-&e?wvLqzfP0e zY2?8<;ueU1sz%I^C>e} z4de*(ld8S6og_i=iamqhobHr@7mkcILsKbje%~T6+sb$y8EZ60Rc`bT1 zwIms80yzO3Nl3yXD*;`iFhPu(1oTU6GPmHzq`|293?um%@FeVE+FZU^5E>9i$$qyquB>KBh`1n38bnuEI!ihV{iao;L?<6!d zH1eey?qVu@Jy)f6OIAHaJY0Esb%yvD7vq^7MW5rJ2ldE=*A3UZJl-_FABw*=RVR`9 z7C^ASLj%3=EI~C_<3=}jM59pf-(T=lsrO6k4u+z(;b?yZ4$~(w*B=KwX0BB>Cb|0r z?7mVU+Hunm#76y$%eR%=ONMKF{f&46O<};znbya>=IcB%OV6{|uUeBs{Ia4EO@7); z@yAPMs7|mUWA0bKDsv<-Sm6%cT99f2#5*0C|N2Pr`oNF5O|IR6+q4nD&kiY8X_%PE zAj+5MOl+&+WC;CA9{Ehi0w4CnPHk%z#?4Hs(!Li~nR(Tk(3+=j%}Ba2kn9UJ219nP z#|Y}D1O6c3JkTNg`KVUtmo4jXJ_l}=iP+$ zpUxr?2Ae_)s@DWRS2;dk{j;7L6n~prx*kypfZ2KjdAe-*gVlU3Nhrt6Zc!0ytv&e( zI2;CEW#h^!W7Xb9tP~lQYqEkE$QA^*#TNsj81C zi9*e*g>~X9u}N*im7X!QRNK+18q7WU4Z2yo${w+-K=N((#3-5p%-b9Hk3mJzA~nm% zvimA?$`Kdd;#fcJbX@((q0c-v!zmVR?agn=5(evRt1B5jlsq8u|Kw6a>2eO{ca?|7 z`;|t{*iL`@+er_p1z9k-EpH^|-ToS*`Kahe@ygU5PZ64J!M-p)vi;&Li6H z+gsYSy3#kDZViplL_c1cMO`SS<8O9rho4{6-bu-S6aaR;e}Qn`oAMB6BqIh< zIS@K_eTBm3wgw!QPeNH776D(J(J}L!u&xHTiKoEdlrPB&BUMxrF$YWwu-ZCfWR!?z z;6nTTKqPj~+bJ7~+5Im$c{gJ_t8NYQe!e{bgi}r%|IfRoTdEkOt0{Bwrk);1tT5kq z=E;Z{3C5y`0*!-QVAL@SfXM(c#C5e*${hW$<<#VVKFG7ouoexj@`g-;6)a>xAt%l% zG#yOt#}UMy6NH{qA;j+s-KHI6T1QXQa5j?#_g*3)^79gbTX37}TQTXzLQ#-&s*;Ul zh}HOhSL(dx&_vjzgsvsP6k|US3}h$sJ+-y(08`{Fcji)wJ`lQU_B_GVV^lDkDNWSJ zK_9Opzp@_q*7%u>M2dyvZgmk7pn|ZlOqlbfm-Z5HYJhdADC;MaMMgbRMYRYM=>|Uw zl|BS5Dffn3DFWeQ9NR*J067dblORJP^5B#y6+7bcAnLXc2HzuS$e%&UMU#5zNp#kX zd~psoRhZIeNt2{dNvdRMSOjz5H{ohG9p9zFvwPqY>G{3c9uobL3292P44%9c^Z`#6 zl@e$j|NYh<^F&Srw zvUwUQaP?A-DJMxhVmSKF|jZbFyRgr?WKn0vp%OACvOVg1`)1dg{m zoIf>k6X#LF+VV_!lVzk#1M-&IHvM3wN%>9IuZP;LyM;vm`EGil_qo0oA88IDqnhZF zpwPfyw{Kz22*}I0SNa~p+xx%qVw8orJ3HBu#%-@W7X3;Gg%{Ot6jU(`Wp>K)ED|| zm#0DT+G9zE!C2Q~XB%LF^{vT0qLY^fE*}v~sQh*`8M9GZC=)duASBD#xc|7juSLs| zL+Jwy%jY-Z9iJR}fa>!M!0fq=2sDfcRH5_AJq)_OO_t};7g;R6r(aT=@ep|YK6KnK z1WyH8UQEDe;V-PEt5bpg<1sl9hN&pAH}7NNIab?1NgjLHCsiIasBoX*0#dAO3uId_ z>XU?rq+`Q>oh5Sl$iPU-$OhGC~?k@mr1L=*6?mK%x zR$KCDFLFfOr^(Z-jH`+SrlH8>|NPAQ(!p1<{HMln5ea91ZVTf>)ts0!g}hEg!R)E6 zLTi@sxdApjgk_x?Ilu$ZoaOvN@4S9bdqvaZl3Vx{8s9e}$WBqH6K;cgRxQ`SiMT)# zsXoG8$fECC+y*PJTyFv#b2bHRB`^#bb{KayZsXQeR|$A*jO=*M7NqVP&jHPb2owBk z^4oo)Jkc>RtJ#YL#+)ARFu}JV>K=NyA)H~#=+kvAv`F7i%c*OUA*n!j6;IxlIG`?} z@~PPL{*$Gl7nXz4`Df_QofWNGNvf$>zd8Ha?eD?R=QH&M^nVkuYLw^s1uaNtH4XW{ z7PRj4X<&5=rPfj-P^a~D9~{PYc)c~mdHEiA+___F=7MtECVPf}A4Ke(`@7{1sk3zB zN3%rGS9knf;iZ?&1~c zDCs-{suV${jsLS5Hk#9FnBR}zKkyzYUPP-qW8Igi#&yU%#M*|6ah7$(0U}vP6GN?* z)#eY;4Cc>~1g5jPM}^)XGCXzN)l1RJs4rYK;AkD>}F zzwJGt#XD=2Y!gGne_NdSpok?;c;N&5AO~j10TPaMNM2eEI=WMDSuMm8G@?xK#7Z(A zEyN^b1(Am5i1kX}h?(#9-wXXF+=$JNuF|O?ep#{u_PC%wT4TFN)H|DC=aQn3rk1o* zXA2s{>j~6eSnC|k=WDNPebak6(n4f4&%RlbnDb{_`cIkC2pJ!t@JuxVx5w2pduvY>ujH(4HL~T z=RA7Eus6}xTKjM<)|qa9Xpycr}Mq%g;SmN z=9D_I&uI}pW?ICQ%(caA;dZAZ@v>3*D2v+~1JXodyseS{jOW;LKma-7?&_IN^g^)U zhHr1Rph@eh#n&ilGJ78Pa96ZP*u@J|m+4du({c_8!rYiq{lzJaNgf&Gho1LAuW&h0 zH%64kZa6OuJSky^b{BP42Ake}mRPT3G*8n)L>XMjOYZ6oj=6Eg->W+%iuW?YvZpji zSMzoVU=|z@h9_j3!_8=^A!Y$xq8GTKP+<3X7o%I%x=zM$RDPLcqOz5d%dNKinP=Gu z%Mge)_!ki`0+q;D2lb1GVs|`YBh{uwPXfY0U>lK8wUk7#Y+zix;;k*MsoCqy-b|M% z(nti{6g( zk#_PXxy=@oCA6LZ1vONY4Hg>A@awjOoNv>krhd4 z=H4uZZ;uW5??fpQsIU_XRBMvH9@OksIkwlii}E=hOY-S63KI*8=K~gXA73G5HySG9 zyv}|eWZJ#y2N=^??)3Ca6Z1d{9(Q-=_prTq>AeoH$pbROwtxO396h-w8A79dpCKWe zl#c}*_Q=&-nXVf|FF2>s?)jO4R&W_3vLs1swR>d;?0JSv_~Zh_b5Gu3emFtOfmG2A#9!*9kit1ipBOBFVb z<&m8WPQ^zDbQzt;2Ft?SzUNqZ4#gRhW{ddR=Doe#oIAfX)cF6RKLwM`8j9AbXkV(l zwE}?@BhNy2;QPH5>->JUt~WX(za8D*ECoNt=D7d{qJ5`TaV|O$@diB+!e8fN`COGW z`r_v12?x^uYo!vD3NAw#JWf)3C9?BuQWUFE>HD_n$swp>XuIZu9pgv)Mo z2KQUg;ARJ!F>-1vG@yR6D~c(hMV7g-hkzS+poTcYHjNsVZ|Qcj2QfjTg6uDc3%L@ zwNuWHY*EEyY^xVO*Q%A3^63_!Bvg53Mj@x#x!+FV@jVhP{_6HqAz<_mJO#|qpD#3AxKMolnwvtSP6iY#?*Lf_F|U1@`lfzZxw})fPR|=6Be01uUskdj8Lw~z zF?pPb7UTrklu=WUDdG_EYghY8m&*YD()KGVN6)X3xyP2zoYPa=&%V%pLQiC;3@U>e z-j~u_ler@K)olk&0_UwNRO-f4YnW*^n^8@?1!oKVwI>{bhd?QfjU4Vtsh5|8klZoK z=}c-h*tfN|+CxyAD#NV^@i3sDmok;OI4%*aoadJyax+XL=zpq_Kgibfiow6(j_Yx` zIdL>`6WZ%MQ=@ls= zE2`f(!KNsDEUSE{IDi^O)HLFqAZ1F(&wm|JD)E2jUHJQ!k-p}CMoFAF72%+<7XnJG zk&u+BDXLl8XkAmQoXV_S`=^zTN$6l(O*w67UP=6IqPEf_EmZPy!#ryQI)DMV!1@E@Hg~A0zdSW?E@ML1BQ+0uCd!S(8PRhhc=&qp1Z)uP-!zi;}ebtzlq@iL2WAV;5lOFABgtK;nEE^C1QXxQ5 z)O7`B)5nd4!e<-s`jS8~P#yTh(^ej7de3D(xIG)gF<|_DM<{Z0MI-PwKKCTxu?a*O zygGmtUrS>hs3J59+RAmushcglzhbHGM-TKSTM~O=Jv8>F)3X}yj-4aejY=?xtKnyl z%K{{bMr<}|_bun6B+)L;b5DNxHb(TQ*g$XksM)l!>-(;KG5Yq$gl2||B1J_sHy41t zn$J0)lpxkCi8K9hJr$i7X(J6Io!eHsH!>7{R%uc?<|7=O!L($V4girxr~%48L$r`k zruxZ1N-G0*rr1`Y-;I}2E*8rSt}N`KTBK2Cz5Oo37V6En5BgWNXY50o>Bd1_A`dpi zm3guH8Nw~Z*5us8Lu9k@wMxhy>2ya2UvEKIs^tyAXIs}bKimSL#$?Zw#*LPHLBrvd zxZUBMXKa`aGeLbMoYWTo!k{g}hP0rl?G~PVi1fY?*BgW+!jl;z@FTu>7w)Aswl$7v zPIGlZrzF@`R+2B$B#0QKfjv&cGpnykz9Y3v9mm zx_`TX836BkZt(j1Mi}Ww!ZEh;M*gaU-khgS@Q7o>%k*nfr#-tv4uUD8jn^`4d5gvX9*j;x7KGPHAHer3-^j(@g-SAKIHKLmj)>Cw^fLW(JxGtm#ugDZ8 z>g~qpE8A`{qxgm}i~3p-xvj3Rw;r#%%s5jHZ)aFVE+bTWA!4l8#nG0Lf=5VIf_OwH z2-Gbb?Q{7HSGl{ncq;+CSP?K)BxX(M0FwDJfJ*s2;E#W zeSM(HrMu69V_KXwmPRE!o&u~Sfz==y=_ z1->~({mlQ%0%TE^VI2GC=VRgx6VyJwl@rJ-KizeHoU)uHjUHmh>1$d(d>L@Z&NFQ3 z9S!&jbE380AGXKPdmvvk>-!IB7rN=%H#%4&TMrqx)z)Nf4AM#e1ykgkwEme62K}EW z0W(>m?@Ld)%iDn!EY^mS#n^jqsph2S(%maj>3vPu2x9oSkSoLVVXQgeNH8^dv*J-mpD_Hf=1y0Aj+n-xm)!v|gVxaKzo08fj7Z$#XL z#y_7Ga1$wsM4XAVxmB02hDL=!13!H)cddywE?)ml4aB-lNpbOy*5Ua2dZ9em1*dks zDCzpDI?u1OR7+7~?*$crzpl$!7R=|Z{?TDY$YxN=iVA$)6yLpk2Wd1PZTbpyA4W6e zBaNyvKra1Z8UDz}V|gu3@vm{VCp8 zWrqephn>wT83J{1C3ae!jneZ2On$MXQQ?e8GA;zIh zXwamEypsKC+Q`VMa#O;wyQiXSYveK)z^3;5%T3e(%`4DqZNb6Vn6fVdAga^ygC%+5 z@OWyKIb2I`R&-wu<@`tW#g0n{M^T~Gk$r6DLTsKw+^{?P=k9n_c@tB{gx1AJ-`Q;2 z_&7)_{mEC;J#&4oV$;vcK3kbOSpnp^!a`i;&#dqKnzT5fBcM}y;d0UlCT$AljB&kevvb{1=oJhGxW|h!_||mo>tJ!e^ac8>TJ-ceEaxsvtq|@;sO&f+ zM36;a213Q`rUjQYM^ARb%)arBGp3aF1O(fa9JN*0!I**Jj@jRF`IV?jkBB9Gy#jLO zAt=Hm`2>q(lFzVdidbKJD}CVE9}!P+!Avhhyom_~i_hN6jWJT2U$%hQ_M0+6KK!k1 z2-9oA1`U*dfj|sYWrH9)U?%~pcr(@>eWP1|5A6h)&43B)XUg$<73p=?wq-dT=M%sk z1P!xD8ITbSh@ZN0`1j{n{{{P&>#bg+_Iac87*9)RZ#oN=4;V_bj=P`RCFIEqIFxJq!b%@ISY zt&gB709?E8^hp*EGQAK58ATUGg051$wRVamZ5Gna3@;bgw81`}Nd08_-jl^pooT1` z>|h)zM0X2)cz7r;_v84Z&5v)ria1nayDm+V^;y z|Ngx($>d%aG9r^Xmv_<+H@cBGkXk^bg+c6s{Qqe2SSl0$j0G&a7~`^({}O&2>t<5I z3`u$QGd#RCpTGWE0sEbPv`MWYcPQk7>rUKXl6&?|);>@v_7AX=XYqolyHG>l%a=Hm z>>ZdIpw;k1A#=&r64E!t5wgh8NGEt~;Rfbxe2C>FQzW6F7`zPh!@e{pLP_jgZLoqqv_dF#(|mMjko7vR4n*RGIxtOT*U$?n^CjhCb%NrUTUS_oe*?wSf#l_}nus`}pTNtvoi7 zWI?qK4jBQ9f<prWZG_O$MmKDD+e8C5 z9%<^`>exxp!D{>I=-#FyxQTK#?qV#$D;zszQ`2*XSyD}=h`y^UwIQ>xSjYY9x#BE| zX@6#x%=*~RUDK(Uti0*f1jC~z7@u3UL1r}I=P5@r4;Scd?`pE+t!5WTYiZys+{!yy zmNmsMjns`q#}m#X1dq;@n4P5vm%*9R?cw5t?hG!63|=r6#$>U?x(zMD*zbiu)YAa& zpamvdtP1V8!+K!Be@{rT9*U0ke~!{sYwTsk_jS1HlUC>rH`8N+K3g_62g}GYi+>Po zO)a*^CH$X|@Y82Jx^5()tcoY)vwnqB=kSImxFtXY(-S6fgus_Dh12PLzWV7%hWNkV zoRfiL1($pU_yDmIbJXsv$)U;aefx87v~sS>KKkA)cdYcz1Ec6t>c=5OVV;70tjh3= z3X;a1g~Pn!zE8e=aTy4~#uToy>A`@HdUsTEHZ^w;qX{?-t)#sR`sr7@))w0a;=Cx_ z476V25qvQ8`v=@K`zH?$JXRBVv)n@2>R#QByT4CN=YAX;D|XOwzQ1Cbj@LI66qyq) zgr8^Tc*B6XutX%I-7Y`oN&(SuhvZz8)_DPtb*BpnLMVKx`->rS{3l|z2=i;AwbMR< zgT+tTSfzluuXpQzDT~0WYNOZeYWjTknW*Y$5j4mB*`4fx{T%Fye&XNzJy( zBX#(CN-;tWg1iWRie?U|MgQZsD&wtK>FQ35iAY6h5A6%8pzUV^!srL9-=61#DU@9Z z{u_n{9R0lwl)hwEhVB$bBwNAr5rAHD0tv0ft>LsP=NKHLN(#=)^2Wy6^-`n23r&%` z?T-IhfNSiuRaP9`kN?LAR$%ksvPQg6^EjMgFaB~HwUU%G1wbpgAtGX5 z0IZF}K~7R%05XJ$g=#2NJ0>{VP?1@R?GurUan1$EUs-6p-o0F9yQ2&QB_+=EZ0O(; zv{fW@J1c)6=h%sz8$lNcyDHxPAS%4LiWF<9KkFUIy_7w?{ej*Xxp?9d>wdu1Ofv-F z3Vctpv95iey$hLJ=Ey zlSL*rq7!x#=eFj{1^s6(7kixOGUPR4OX4uBDx;p-%ha-bOIJR`IY9klVFz8$-n^BWCi3x;)`HwC@2y`0k})z9$WfY5?GJ8m1{qtS}m z({%A62`5b9g6e=r=-7^H-$%$+49h@xp!xZWuhIN3wC@#mb`l@L`d6iA)w0G;9F*CI zySSY<=!zl_Z}OOARPNO$Q9nquw!DSa<0qi?e!~Qvl;*~}aF<5=h#VKN2G5h68(=gU zHX}*rLSi!Gg*kUJ%paa>rNFr)1e4FvIxwaA03m{atM7gX-;4*|FxMl+MIWpy{d{Gi zs^_wIuT0YBAS*bU5kJqs%rurPHL)a*6?HyKFYT28{ibX~H?JWo^oia`l|gHDI@uV! zz@$kV-Qkar7E!`t2B%*RMzU9Caa_ltAjzvjrVyk0&z^u2IF%*KpJ&|rd|4310mJCc zp|ou1iw0aQNf17-U1PW<@p5eyCX1GXWM787l1@i`-ZbM)KLAeyzFC$qinL+uqLh)b z%=QN?NeK_lnkW*B?MPst*YJZSrqH7jV1nhjeHz)JBNBB|gfzukF{Ff8{?9DY+-HOt zo!Ad0f@qn6+X+rVuLRhiydCsqK&by7n_Z3n9}5Hrbc&;VYk-ggmE8T!k*ddpK3i&l1Et96$?oovrzgGjRk%PSNdN;?;mj4Bnas)Mmn85>Kg~5ujK_o z|C5`=Y z6j=c`ry9P}W_wKZ^&n{y|EURkCefyrh|%LO44Dd4=l7Xe&D=pq+89;hkyutX?dye4 zT_xq~PV^qzmx2Wdd@h>=4<=YWt*NnwP*Z6yx{dvI`GDje=;oXu^#&e=b@1o z^wdgme{1{8HMG6&yP&;pOGu#8^O!l&ay`7mzY^_KQPmmlv~_p?IC0i!ui_EsCSbbs z;jFTu)S(`h`}S0u$N@17JK>aaAp5Vx-=L|PSy?e1S?PV$GQ-126ToJ^))eEW5Oel|D<+lUbFe&lh3zm0ksrfpZy#O%7N?WS=n_HPEWUa87Y~i&aA8+%;d~=!fu? zFWto_Mu?OJSc8L;MEC$nd(WKe#52_=9Y-zJdHe1+Or<-?W5DhrS;FE52UhjJrg$i_ z#1pknqAW||-N90Fffs9Duix?y)(RH`cLpzeqhwv~_&XzdYv38QMYk4k8d8W8X!7c7 z_6{t)_On=K{=Jh2C{I@g%>PN>Tdod-)kSG^Irz-{@>iZZ^{c7=u6!4Ea7VQyo`ic>#wfb%spNjs+YOOqCX&dxO96#G~QT32c-(b1vOO zAuL%6PI&UBTb2n6DmP@eo`rV`7hV%=4n8r`anw(+TnzPO%|dT>@ktw{V?&(_Eww=Y zpKc6Q5tGf?+8>a$pv6Ss%)kLF=A zKQ31%8w^|2XM0jpJh3QorN_>#?AOGC%0ys0xDOCqee+Zwq^){owpO8!NrPh8JE2CN zX`B3MDP*a&h5%Nl^j)wsZmC-BX6XP8NYu9RELyi|F5SV{_F(Y6gEy?$Y~+tPbrcw+de_99?Hhg zZZ?83j<0ixBY2#*A+k2vpYaX#o8YiI84AJp;PvQMY2qcgF3fH+t@m<;KY}vT{fPc?bm8oYJHr&2 z;|$-GZ11~Wu9B7+)8n|zFU|R-3?`==byqvSQ;OV*C( z!>zRBoTcV0-p`8l@Touz)fZPpJItF349jx}0$(72mAkT~7r$Ze1zheouMNz@!j_q9 zI5?HPfuvjUD&WrXEV>bb{I5v{XlcXd8w>z`q6)GASCahpy4zG$`DqPB=MI9s*AqUZ zVHiM?145KM)*%oNP_v~p&2^MGRio`Lvw((?XYU`b8E)@NF9Z6riSB2eq>CizV;C@Pk zfpML0_ig|xq=x!YUkgmFdl1=+I%1yK_(g(45T7>}k%>z((;yrU5Juq2V1~2I4+JqO zLk#UwNVW{A^ZOH_sev4#!CKGs6;pFPfRZ$?yYwr zbwfjeL((nDzAys3S$34a*u=})0e&as^il&yM>W6E#7WdB84S+0+&dN;$VZkNKB!1yJJSQgl*tAj)9-n z`3J2_YMLI#2Lc#~t$#FZ^H38+4+V0ZZ?2CwYEdheDhJmpw02jH^34-FO50Ey zHIOZ0w&_^P-SW*jHoKh@-)Y>-{N%9o>(`MZ<{}V+!cwF(INy+knL2 z7J?1o|Nhs=ePjFme^k}Cw9DMmi0D3SsE&nApO?}q zT`MsU61TdHNY+Lhm;j}UNh#M$U-FkGn}vbjA84(vk7l@rLUh7JB}lIjFpC3BPi)m@ zJ`a6@X~myBOP)@57W(?~)!KF|6CxoLYL?)P8&NO*`BsnF_##^l3UGhIXhFY6ClYQX zH(whxn>?3xUS5}W>EF5KbXaxg;o&K&txbB-7fP2@IbuhMbzc$3NW;)=Ct?A$VLFD> zJRO$i_kuhZ&Ck~bHLZ)bQJF=+$zwI=OI>C|x?`T!muqnVO!2TrNKBso69e_GidP3I zzuCeDczYuM1M}JATtZ9Ai!Cc+gn_;LRmBhIAE9BCg|t-tn*zh$g&gJK-gEbpFnBAb zxa*adN0B7qRkilH)fJw0HOu+9VX5%UcZ)4lfY&?j+sEw|XS*d${PV8%G>;vh@ck-{ zE*gYknmViAxiEgi(KilYa`svJW9PIMrr@6$DH%UfhbxA(nJ`v(H41q6^dC?{A^6&`%AL7<`frOks`gn{sDo9o@Sj8 z1+PrKa;Mken`QjzLV*vFhvmtiy7{Tz;^cK(TSw|4y$<_7A!^C|UjwRS6075&%;sOA zD5PVxDU2g1muWtEOrQ?tl_GN{YQs7o{J`By^9x0q2)rOu zG@j~4zhq#hg?ivAGbaxC&Lh3I;>Q%FgeIjV<|C~}SH`v3ry;q3f>IoFm{fE@P5h73 z*Oi;TiQi-hh}Q-LWBkgQ+%jq*Gk&|VCN}5-K{QwIBevdkX=@WNfrOpHosQ5iyy(h> zP%LVZDFHX!Xbu}8RV?YZ%LTfxsUJ@q=YEz<@z1a6oVGi*Hjoze>ijmcsxLHXS4k6I z$Hq;_!g>A(PH%VOwdVJ0uj6(5Wd6%5N4x7=>pyig$X4FJ6EBat4T^n<%BW@h>`iz^ zfdy^&rL1+tP}JjMpcl}o z-jyM@B`5MhrWh6wQTbdF%JTTle*P#z8&{}<6ED7~6`hM+M13Oy#T!Pf-7ZKa9o@X8I|H}dl`Ca3f zSm$ng`>5_mL&8d?c|OiKvErgNEzLg5QWLPU^fH<0a>@lSyy3lHfNlSip``os{}WzS zp4d+?c$5e+I(c$k5k z#u~5un%p^{{=VW#oCrx3#9CaSdyC`r5_f2oAILAwas)hlYkq*FrOnUxt18d1*O`ko zr0gvppRKVyEMSf+_^V|3zdzZW9Cw3qg<(x{9a)Z=b=)pRiC!?bFyz?am|NLP@&lL$ zr}7in#?rZYjfxNWycx7MT!cNq_t%tnNMnvv$CslC+fjDF z!PtM3`~Il135K&Y(MT9w4|-{|%4x8If@x8H2U4+UsfR}(2oq_$3*xHvhxkGQ1SAH$e%B^s`*yCn8v z6^8H7dW*RTV~V{&h0ZtL7QWm)Pja{oxt6*%_VyCYsXbLq>k)0BSJ*ti-P&?dz0=|h zp-$+zL4GQ1Zemup)jT4GOFpcII!w@3Aw1qFpN}iS-M+{^WnzFYJ`1z}AJH#sPr!G9 z-zlh-YM@3?TbYLTQg8gJW1MRi1B@>kv@nXN+sPyd5%C0vv(ztCsdlFohOzXrANFN( zEuJ!{I7UGt1$2g1Fy}dSaE25=#(p7WFoB+{VgP{`r=JdyKEKg{Pp14qZkh{5fA=4+ z<$=1PGO}VV65`;EOOsXG($Ve+y*Po^9}}sF(i>xGrbmNuJzj;^?fxe?cqka-QNf`A zEg$v)GlKXWaY_~OH@u^ym|FH1OeskTq;0@SIWYQx%|D&}{B!5NYY;}74L0f}eZ+O?JtUsPMU`uHu6?9sBAstM?6JUl;Kq6d(){~47;l@edAW^)a zE4BCiHs4qbqw2|=`+H`?_PxK0fwl7n_HAP!mwXCpWs&XV6=C(_A( z?_2W|p?IHVx^ehebu)<@W@g;ZcY-Ga3`cYZP>l_IXzvwOatg!ldK+agC5L|41xvbH z5Zryswf7ys^O}r2bqePz zga6HkNl(|i@VE`y$_7o5Byw52jLCxRfN&lx-j`Wlazlbzo^vk;K|YadI7E&SS$)-f zMY9Ll7|hj-D@#b7Vo_WhM+=_Q`*nh3%{Mi%HVpb2qrZxLq3&NQ&m}J#@L2yJS!dPO z1{*DH+#O1g;1p<~XmKkJ#f!Fu;#S<xO;GSzU+hVV81&*AV;}Y zo;7Rcp4-j@)n2QjOvLHhc;zC;{uTFiY=ajO;Jon;`97VRe$XoXcFAQC*&~rssJ&<& z8NlLYP~fP}bKYEvQJr74Bb1{_POuZAx8PgkDtKdAOo{mE)Sx0@7gqy6Q*cuQ0JXJ* z2Xyw=GR)jvg=AX>N&55o74YSmwt#vBne7SJTsGgGn?St z=vc};nT{sk*PjiyRkf9ALKFBNMce?*nNk7-wE6-KMzJPdz1)H3N_8m?Elge zNk4h>{x;y@`bIgZNgl<7l zruCH}wqM!;@Kb&M1c;rEpS1#9b|P3quLUl zSe}o5dGTX%5cH6QAX%T%(9}`}HAY``c=om7YR~vD=<)!RY<((33@$ z0^d||-d^CFEM0sFKu3&N`r$>$@d_R1tTduZdOkEi8rmUi%(ERd6~${kd_U5DBcvqu zqC2L#7kQ+2g1k1vL=4D?zOkB~Z1yCk&$$G*9g_mRMtSvgGIekj78lqknCmtY{hzr` z+U_I?%z>Dc0L4##PV8aU6=y}KZ9gyp7G^K0ulGDkj}w9eL>&j1>GtD}h8Eo3D6v+Q zh&s5+$|9;q%L~8Y(P8st-#uI1s;AL^7ssQHN?8*Tm?np6fQEPuNSCLefMIV@MI?K! zg1r8vePdW21izT4jGfL^oLeSgi;tA``MxgREnanr(}WNW%j#l+F?!4wdQNAex{GO; z(S~g)npmNbvW$WD?Oqq1<%jC0L3Yo=mS{s)l9hW*papM z^jG7Um!a?0&P5K!u+CR5$M+;JHw;ymRrAL_K`J6ZtcvR=X36?tsMso4i|!xE3%~Lj zNZz#8!5^zTG%o=R;I?mI6s`xyf3y*Xw`W?lYLJL_YZLO}&-BJ(0ZZaYR3M zsf`S<(iL#*9K0L!e+s$$(u_TTGha+;;z+ZejU+Wvu`G^r5Wzm^M8hsOKn0?^t~Nv# zI-WXB zNk&YDEsrMauI|0v7cM)|itVk@IMop9fsL?IJ-C@f58C^af%*cRVqI7ZH8Hj(Y7PEs z10(P314*?+Vp|O-jov|NRw9;O&V)1E9u^vJAe0VwE%)+0#$*ZwzlY6k&qk)=S7zfL zN;Dic@>JIsIDAR1Pglb>zcNv7z)IXZ> z3-$F5d8GA_o1_L0i-Do@{#u?S(`0K<)t^Fm&5M}Xe=m#kIfEyjW@Ik=nUzDUjPrcV z_m=iM8)v0T?nFKVJA~{5T(A};zSY4woqCT34o4SzP-pYrrVE?xu9F}CE${m*A-I+) z?Hd=gQ!KvSl7ZpmqW_Vetv7GXNdU1WO7NcJOJ zdpml`k8dmeB&@M#y6$Q^fX<%5@`1h2r7dUw_^B(O%16m428~DVQc`Gc6boF9ieC%8 zZ^Qm<82F?j;p+}RG^z|bxZkfvI{GWIiXkm8SB$|jt;qLeTv z;IfcJM#!S(Q^!aX#`Fkq1_iibEobjB3zvoGxONu{Hn2GS$AEfJQ4-v6Q}rJK_SKyz zAow)*xVy8XrF+k0EJM(2))7|jzSXpsobCIBB3&jxuZ{Fu9{5`xN&O|7C&DOAU00i= zkUTKwQE@RrBO6tjAE^>v&Fc2?BgPOX*#xIDagr6S@wW(RWode*TtY=gG~wI`*$-|- zF)|DhlecP-eQeUkgz8Mj=P%kJe$!Prx=Ft?Gw(b_WRR42_(@pI;xa{1fidAMKe&?2000CR!vtd ztYu}t4D2{_a~g64QU;M@u2+@)Q+|Bkj)&iTRNe8k3ea*rO{<%~IJ!hSEDOr-y&h}5 z;%3a9?694C4PMzYxMRzFT~H<0W+w1CEL+gME4SYY+hIM=Nq+%M$BHLW&B}cd3~TQ` z+3wAVDZJ4hX}YRL&; z=NOLU&chjKUmc^v#S^B$&H!c#Z_clNOSmH--m*kWr(R-SU4L`#hhWZO=#VE%ImM@V zcSExe$o3ez({Jw-1KDv0$#Rq4E%itgwhyp0?HP~6!1%JN%o~oDn8BWYfyd(hf z;Lvo3#}6Btq7YQKgD7Xl@hd_I9&pQjY+x66J9`9c?*ziYR!}d$3`2OBpXTKdal>cS{Scpq ze@0b0>uM?F|ptENzbyCCc`0=b3Tb?pJL7ng1 z5fSDaRW;^YiT1we$)e{#ye9Yn{31g#b-?W~`!C9{7ygqtP!{hOhA-G#H0{*E=?&cx za{s`kU%YxGe?k%FmfcvzDfjJw_ZcazcgE5m4;w=NJ>O`xqy@f}UG0V%#3kFe$7IR< zm3=U043gJhLCmsmm-d}@t+MTR!}Ez|QaT^ANeo{7%Q~|^rJ#>puc)Snk4~a3#`@U= z)$Z-ckB1+8t3QGLe=A6g&|MKr!^NIq_!llO`JV~`Z3SCAE%^DR^T%*@^_%zU$yE)9 z68T853T_cujkBArG3?9dL(s5V7K%I}7cw=Bo9mZS_y0t1v|QruH;~-ekEQ9Y=vPU$ z3_o~P+>U=n)B}D@bB|vDg%Wb%-L;rC?0Y?(ra+|sfM!i51-cIjKdYZx5fiG{7w3eWxCj6vYKtRJgDirc{rW6rl zdSfizR+RE6RT`x@R0RQ&DGR->Bb;K5rs7^tB##Dyx*ld*;(p$Hy~4L*_br5&b?Mw$ z33Tl+3GM@-ow~3D`~seoF|#XzX!{HIVUmEh9hz>_^zR#PK(Gr^mkr>XrhxOws-}~j zna4o*nD3Ww5N9lcxetg(;L{#Fw*(w{H_Jc1L`w^}ngD{*fK@qqKNsALvNCuuHRJeryFW9oZ(ly{j0Lg%bk>j)Zib*F-Ot zX91tJ#LfF$M%vE03=LFYCdZOg8pE?{5dbS!iatj%{EmGwYjV?9?^sBI`8=Kip_0n` z10P76zL{sZi&2=IBM1~(Q;e8b?cOXAP{s((d_=>%B&WoF*;#Yw;)Pz;%?8bNUo?MF zf$Wb7dD5}JTxtj$Jy`#yl<%b4`Nk?^B22An=p)CfUH5t#pV?H2?z#v1Uw${{yd@C8mBXwWME zAX6aV1l^i*GAe+CDWblBE-b0=iy?x9&wUvy)ov$2-kv7o*yT_HrCSou_rAe!w_wM+T@kuSSov*OVP)N zaQ{0z^YKirS&}-_XrwZYbOJYs*(e3uWAEr@#-n7pH#*b^^w0S*io?+1vanjb-r7mT z#{c~OpD&(fEyX}c?76N>XK3f|2R;k+0Rg?!P0699(4~cVE~&JXxR2y6>&P&STh|3} z*b#c#=?MFtjq~AQ~TSn@iAKH@1|eQyt#P zS|(X~CewpC*$}=qYYA;?9YG^Cilydz5&o9p+RZ2=?P}EYy}&*QORS(N+n9hC(XKL0 z@B_gaXw=-HpQ>T==~AV;U(5@Y+G}5Z2FjmZSNAvTv2IssXc+(M@=5%3i+}x(MG}0p zy&%c`a1vZBRN2~4Ve$CEzrIamx z*t6WRcKl+$$=vBv8GEp~AVQ*c>gKJzYAtaqhgpv-N2rnO>zY!Xp)2Zt&*aZ_T8|Yk{{aSlexwbXL$)wO6la5+89%M}(U`#I$~yz= z?GCzh+AcmkEww)*T;hq7w6?CuTZH9Uqq!(c?xS=P8XCbWK}f*JkzDU77O{sl7Ct1;EU!aU(N#WWvafYXHKe{V^V!VWkvmE{Dtd4b5e21@1^4{b zp7`c<))T8x>?49o+j%&Wp7^J)=K{MwoG@3vHW7(s9@TWF)4XDH`}#)2ks~j;4yl*| zsL)P!e|QP5Hp0LY0z?P%?T;j5j|cud0n!Nc5{KS85=hILE?tf(F3XO(*UL3HrH}oq zPxDz^Powq>Q}Y3mOy5o1V-Wk~=>vJ}UU<{?MmncxRwI7TVA$jL0~)6Uq4EAUM*Z==UZb9vHDu(XFB2F8J8P{vQ+Pd|hdS4af8ZXKNmz zM&E2+>$}eIQBu>^laj|o@**992OWy18WYIf&iza}_-|j4_=^i7#5xnd!&*edHIsM{ z^ILx{=IH+7-^~jKQPg}0wq+X878hAZC&Z;`PDbV@3eMrC#`N>Cv5MpN5Xx2huOe+fBlR0TVX|0Ahy6(gCsC%4E5{2v}}uFCC<%9mQCpfv;QYaoRM$IGzzRwb)g z^n>HE!@tinNib?XLs0F_3%YW)(aS#UD04-)cenGB?v zvUkI%u^xkm+gQCPElr)j4H>?+1{yC{O9|$?f!!u$@(wiH_>)-e{>pNi+2bBd}SX5urjngdT{0Taa5eYj(O?%ld5)TIW zKQ19?R{+gKo+q({2e%P3&O4+_5wCBfER4#=aFz$jk@!(tz+8>&>(>Za_`s2O5ppfe zmtFig!og*ma77ubNQv9BVBsR+^I? zlOBqYW{5Z#XS9dTnR!Ud(bS&{7YEO@(rL$hUtJkRwk=B57lgsz=5y)O{9tfta%!|S2^|6_n}|NDQOoGu+$2-dp{t^%k$$@8z9r)MFA%HKLI?9(cimSoa6qOMag)_HBZ*1p9{E5ckPOc1@Zg464#5|qo7ft z2UGH`BO5$2jd%nNy!?Zs%3Sau4PW;_;kz`;5k5H>YvRcn*$w3eapfE>5lsO0_rY(U zWpfQQ#67T>#?oSrVbF82G?#%7IQTqenS+4AY8|j8=V$Ta_;e2XDT4m!OMua{^EfxB zyq1dE+E`s_)%AjfV^0CV$)H&4-UTcvgj@>7>-W7ZP4Rh1^?(7y<@Wvnejgu%C5&Lga{47fj90pKPC#PvY-W8-{`g#-~q`y}ab@+N?N{;C= z`1+Z2@!MC=mjY|LU{|h8EE#}CAHU&sAsJeD=(NYUu+>al9OoVEo|WRRlMZM5Gr)cA z4Zp)cffl|Cb(9EtlgL$QIyh`X%sBldPEIGN&c&AqIK$}s@BU=luZ;=8S9we{c6ZNP zLhM%JUO__2SkLKko-M%fA4$^8?e;wZqVcs}Bqp3OYR<-9y zdfJy0fQkEk5v-Pl`XNQtNwa#9VDY($yaEjjc35)Po=?kq9aK3E7yG-|k6uMI-1Kl+ zgxJRfE|ggbwgr%?Q?Un1T-YjK#&@HYJn z0z@CurYKmxPeorwzN`!oY|e?QmcxlRCFK%Lh!V~Avv7-@UJpgGTQT21L% zY;w!Jz$XW^uipY0P|D{1zyu;@dX3&Dbhe&jQBlsBKo9H4+_#O6vh}szW`;wG1M5^p z;N^O3GMc*@QFVO0Ta~3?*-Wa|9mYDETxVVNDEFsn3-RzhzZY>}hjGYQ!7%K);@SSV zQbo-z%SAVC?yIp4;r4O&!Bnr_CGx`)30e;>7Zb?1cZg!6O3T@&sbEjBeB1u=^EegW zx8H#gZLsE36dFC9{e+XwNEj!B&}w5jw%eGDuXVo7zC&eVsnJ99&D2lv%y3g*Act53 zny(Z?F%2;ll`M^NCuZ#hqI^|i5}NQ|sh<{D$~+Vs+c$i*CH4EDwd?JnFCwQ0Koqk* z+ifSAmxjPnPkGlE+NCTheQzYYdasP58dDjfMCz#C_+jjDSEM=RgEBiAdYqESN+H3r zaEWVo%FF*gApLRQ8U9xg%$856P2aXz!I5$r3-9L2R>LZMpO+e6 z9;_XA{?ha{dQd$)c;^5x|8bHT*4YNlVo%rxBYHS}f>KeU3FcT6>4kTn9D-G{@Pu=% zV*?ajM@{7Qr}e|EFo>q9kT?eg^#T1{`YH8z{hS^KMf(ndP~wxr?G`)1!l&bNQBQCu z0mMX60E9slwEXsx^YC^&) zrUGpMi$eThrt;wb_X4~h=v6~OA-SsYO)iB788_*j|APiaMB={7ok}Mt`NIAM=L6j* zc}b!vm>_e}Nn4T6_(MgVx%sIx5t8(_cjom2+ifB*kF~jWD$wuM9d$-x;e^(BsrRK8Mt^MqC4Fd0f;%KOkPC~KX7kFG#kaS{!_~>0Hxr%%dy4kupSDF# zj291RdY#2z3~;Wl)SAd4$`IUDf^ z8#-T9iAh@6G4xl>gA)$9D+*&84arVoWR*u!7bDx-2Q1PDuK!LplmsLl@Hz~E;qG*# z@oojlgKf7_KYgS=QM937U$HEk^WaH9JkCWVH9%$6$we`d++GJQeBDQ=^p>pz)oDSu zo+Ioq8eH8dz9rr6hMpuK-yGdp#sumaV3wYoO1v9}2?p=kK@OOrDf#VsSQnF1f@>1r z#L!d6nRplm99H_+AH^+k=y~Jr!XclQseFGQj`K&4Q zZBD`=(`|Z$?8hPl0}N+`-`3ah)2Mq82VMMt8`!l~A)({?tX`j$ZnPZ~6z|(5B zjeeJ4Dq~}(bXH}M_&ZJ=Da^#&mgXd?5uF#1xEfT+bnt?dskJ{4uY9H&w-lqEE9?=RFl*dX`lZsL^F; zZR~NbpX>PUXf3GDBLNY1a1}A#N@;vMWR6WiaLV-O<1;y~%fUZ(BL@v^1V-yaIKi}_AedL{^1I0e_=u4ZB-dy2r)oFdtmb+`>`V62N3E|BB!T_uyow0w3DgTOw z)oq3}mu~*C#nuqiwga40-=|QDK_4Z(G)s)+yYA;67>%SDxY<@GW1|yg!t~x|b#;&7b;Ua<{mGh!AG^uM)TS;HJ{yL(C#k$BvVUES}yUiOM{U}?jupS zS(Vi(al{0NqI!xs36nGF$G7=LzlrPUpsANNR*_a0%J5T6gc%)?SvwQF-Zz&Jd$L&O z)4Ku>lyeW1NnMmlmhbgav;1wmg_>M(tdV_*}!%Is3-S_S6;E+f|WY@G6c*jCI7nkMBucc!N*(ZN#-F_h%nW|EL^hByHP` z<>ZG?zd*{c4KYy4PASEvaELRv3~#IVFtt@NB4!vZm%1U|uSngrUS2&__A=FNs?QC* zC^KQ6tZt*T?#r>ARKjx4CO}r2<^pmHP|SlR36Y}3-odD8<;kjd2=R@j-063fs*puY zP>RDv_%pX>u9Edh8?rBqk2aN)u%beuj6HBi{%rDOP`<*09usEmkO79FR&sV@-)|Sh zQpH=VR0E-3)?$of7GCSVnF!tgh?e?x#Zx9`BVy+el8(Nn%e*ro&XD8bZv>J6&nZ`T zne9}Lm=P~8c7|G%Ac*aw2f4mKb6c%)m4AM#1T~vQxv|y5UYz1N?shug{idM0@8tgR zqR3y}DnUD_rK2CZ6({Z|?d!qA74AxY*13Ky2=K#FCT1dtf8UIW_UqP+`|h#ewfEH3 zf4v!byAq6v4U35r3(9dKpNjytWRbf8Z44fcB7D&$**vzoi!wrpRRku*mkRxHvN?}B zB8LM)9oASu)2wUF)c^1y9$5rSyc=WV$gx+3&1G_46Z|nh40`#zIUfJTl~^KE1eTA~ zrPR$kP0E~7B0ewZrhl?fq=P0zCoG{lz?lM-}t7-_#Qh5A)XANa9|Punv(;19Zbs zW0kXFdFn8(kubT26Q*LLINK{l$fM+`16F^wV26(h&b@D4IT4koxL3*vwui1-n=RD)rftUSb+T^W>HVj*&Q1_0gnq=SeQ*; zUuR8UUK`ynr&MT&v`8fM$3oEPl2<%9=Deds{YB2i+0qBsJQ4wQWZ#R0* z6@X>Wb``x1xydZ~0UzyV&*?1={?6}VQkF)ovF@%zmhaBC*#f#}7GcFnQnIDP_IFM){6`A#XWalEO{Jc5lxpgcs3!?coHS| zHwxlWQotO8c49CLrCd(1*2p0Mq(98bfa3JEP=Xdc5SFCyNQR;^AruHhqKK15A+aOk zq-KZ^8KS$?4f%9MrsznF`HeKYX&LY>$#YA+>VLSB#CrgkBO*K_5Bd_F9IDSDtB|3H z1S7<2bW`v}x-zAJ1FN{}wI;}sR zzuz48IGh@Gn100XMh0X=N!oMJ^X7H6$LY&y;PRbv>+%xy+sa3OU zT4S?Y+n1jK8Qx=7jb~dH@SrqJ$-wvY2*cHFbD;M=*+|+%gr+jeLauT)WcPTBHxyR~ zRe*GLPnhP>Rjp$I;}BGcN?S2fq3EFxI7>$fc#Fa+;h@~O^D`{qP{6SNq0@4?CxiUh z&rx?`AQKmL6-@*Y3*xO13qXm8{?lKs>n?SFR}J6s5?XBHUfk|QqO(Cmvd8?{_2$~L79yAn z#?qau$n!3l*4(2~5109bRvI2Gj77HkW~O3ri^A|5nmc@`S(EG01$twS1%>gAx<^3i z7Mn8Yn3l!XLu2N8JAHN$%d2b1^>f#fNesh3m?y|IOy+|7}|#mqn%XQ7EnU8zp@ zFBRoJsL6hhFoE;Nyt82gy})bOTyDv`(6BJH_Bes;Yu03`$0IAi5Yl{%t()zV{4#_Lx+o~#XI1|6SLcz0{XE;F3Db|dalI@_tLym=Uy zK$qvQFL>0?Yp2t9EZ<4edGo7s2x*!xRcc2;QJu=^Pp@}7gpAZwe^LGTd(4T+fxsRI zKB-_Ygj}7X&*;ub-BPhIkx!NX%0rg^WaM;E_Im2ux!+W)qI{~l9I)0&vNB!B9~QEH zJ@+F1Za~(xD0kZty&uto^FA4@5blYeWS3o@hgVoI?MhFGjQsqyVIyF+<5G5X z-*ExZgSNcTW$9LMDPB6zh$oI+GaPdS1RVf0@yoqojWI!e=X z=@O!W<(h_RgJ&_f*MAw}ZPZe8u}Oz4LCi3r&WIJx2pRSaoFIt}B&9uCPff;p>TAU7 zArcu)MoiE&$1v;iQmUf&M;9BtUChn{^^F$lI9bfhTM$(0aX_?%c zseMc398f_$N!lSXO6m8oz@#J!uLr4S#lM^tl_81iO(9cnQ^r zPa&t8uzNMe^HwhbRQ9&O1Xl#L6M#BXW4cpQi@TxPCp(ov**$d9Y_8O+m0`N&RBuRg z)xo43K~*jCMNu`xQJ>6zgez~gYbf1*Q--E@XZliL(`%w>Pb*+&1k)Gx4_fJa@TEl` z-{S`S4PO`ta^9nhzLi5{dwo82*xCr+>g(Rys5 zO5wI9y~uH{)Wa$C-4tHiP`gVXm3BbLS%uH8pz?|~B=W`1p|8-z&w&~j?>}mEl~&~1 zUuvhIrvOal>y8@*E+V?mLOFaU*V>*7jE;UJ6u55*$HWDU2d|?jSKvs-ALr-#-{=o* zNENtz)4-wgE)Cvr@v$1RtdfiH-ZtD4nJJP(rWv7 zHO@pDm(6x$M6k8jgg6G&mE);Q5)3nP00E(*m_cp44!-s)smC4z08h)=lwA@r0ehS# zuzOwpd&B9`bpDO+Yb|8`G~Og_e&^7$zK84m{ox(L&yNYX5?;uLEtLm5(CQ} zh4E!3t}Sj!+z0DN6YR$}#Cv0&Z&mk!?L^FktG@LCE2cuJth~_rr^6kTeFN{fU@Bs` zr9=c@yC_Bb|HTa(1?6 zR%JhtW3*c-h9im^)bh3YydMi``g+0%gMeSqLAl0DV5;qV3&z8&8nvUT) z&_QHju`%{8Ca_p)Mr#J2-NeK7zDSbBVAy7h7uiq#e>Xgq-={Id#!rU`2<)U;+w*mQ zl=fW&&z0r#B9YyuOD(*$@IYIW8tI|8U@*=WqV#4`rics0j_tx^rb4zyKq(tu5YQFx z8(V8PB4~brP!^4dlN;PE%iKLAv-dHpwh~CGnoia@;g?Bk1#mdeHHZp$;+KE;aHVX9 zsjDwkT4Nh#HNnwrFV*onYj=qC<3H4*2OU_)Hwepr-hZL_*p{Hq;V4q-xO6)RCg6t$ zUG;*EOq*ojG&e_EBND5DH|`}qC_F*Tg+A5;{;2t>l&8y1n@%oSl@eZ_tj0Iwpid0Z z4}+08;Dl$?>-UG1q*qc=g6+B;UG~9<`ZXI6A>c}Z!KkC*J~a>;deX#cLj{ISL5v!= zBiJ^m(Q-U8>2ADTT3o)kSaojQ(*-mW_>6!!P>*&MDy%t7uYqCAf+CU@7fA6v#PN-2 z(C`8MxMmb7NriQlTAWWv&2p++OPICJm?>r>)Xv{jnREA-lB8f)C=#-5-As(zJ&3@d z8BwVt=$#(~ta6WXK@^mqVqL{GrBC&3J)0USz-)?5v1Xkq3 z>{@tzcigAFAQ_LH&PUee_*A}Sf0|vN3k}XKuEyT3h^<>4_B{{BGiI^CH;PG`jZN^r z_M141N?6^jC5Sh;qw;4}i-xK&uIsDsyRgTHC-LQ~0ZotZ4m72=I7y$GG_J(Z zAJ84HPr==|{*7oHEoaLSPam!^l@5z#ESzzP)QRu^1S2`eu0reT*24v7cbXK>D0-79PCwcj?~CBh~Ng5|`vsiRwDI@hJKFD?A@(QQ83slke&{J0VJ1sYUjs(|!J*T8ujA z58=(a);CZwQ~Lx2eWK4j2bvSD`^?nlxxuWUdal{zB@+q{hGRSki!ty%k{`BJcfDvBlTz_2W{Akzs? z(>4)sdts?MzzSptiqTrBFpG!b?}Af!@^F8J$OQ1SMirr&B=ip{j0X7o4>%^KiBhVH z3X)oP$?0EV8!@};UlCW^6Zn4jxIt~>+V^icRDmg%&6Y9+p7plz0+YuXCKltfXGG)s z`}CzeOde@Pi3?X(sr5W}R2|_)p^e&U@kng;Cx1@g2PH4+dmqG5$qi6oiOo%%65el3 zr2f|z3TbQWs-wd-wRJ%0QYm!{4UDFR=9tH#^D|SGcQ2NyqRh{@qknG+m7J~$l8r_( zz7Fi%iZTpY8lR3u$`qH2yWWqVb@=~54>Jn zoQU#pH_}HV!N5ZF2vKo4{%iUp%L=7H()TlRwsH2QNtQT zbkc#|<|zr`XrP3XeX{i?v3{A08s)&Dr{E`0OmVQ`a3F<>%)bS|59^jTO1bUgiuM7% z2I9?EuF{(#cT(8jH;3H;e9X|GCfr&zv=13j?4U19yr^ zY1~E1?_9NJ1i$)71xD1{n1Y@%k#3$^@c|jmh)gP}^2dqK={xcF;l@LWC3k~w#3d@) z(BbDJwV}l4M?+uJn50kM--YX};0(MPd!HK>7b%qVgTD^#cWCOB{|Vkqc}v(E^XL8V zE{OcAo3}=ocsibUXW`<}Zxv5uot-ZuoJk|iaPS2O@RmFd4=m1WvR;vre>_mJeZ8Q4 zxW&n717lKA>B|?u2#MKYRV>bW6?8?eyN%Q_J%-=7bVqDgOvhk0qLO$=wJ}YE)g+ir zVC?>D`H<#h9)JhmsF+}_oYINInBF`C>85%;HQlZ2XB(QPN@r#lCvyvxgDynS9>NRuX*5G#IrtN|EB38Dc}7^fbtGYexjo`oZ!h*!&hIwX5VKnQp`Rd4HwFHHB`K`~ER)5PshWAqwT= z<2QD@M#-5B}cpxW4%Pooa4hu3S27 zRoNdWkyaGm{NVa+ap^pe!v}NkgD)YozB5&!&%S`}ubw4`t{s&DTwGU6TNNYd80fBd z+&@ePdo4Wb<$3x|rI7b4)hMrk*AHgWv4fsOuDVJks;1o0oasqJ*AI!b%kfg3R164e z2eCl65Lrt>xCWwFnsX06%p`O&y;(`;b@~E*Hap24%do&zPsVlXGCNC=h|eN)Dz4K9 z*nX%>;i?BUsMmn`&01~;|h@x%WC$z%-ubnSG|3cE#zuvOQHZKQ{gH>Es=DK3nw~1 zcKa#p-N7M~y_wEcmU&?Im@GZN&@5)CPTxOtZ%h$>dWjY2(=A3j9)a5lN7S)by!cV2 z!A2!}Y)NsJRy&c{t)$8rL&p5EI{Ytxi>K5&)QGYb=Je89l`7rG2dE1#->pN3(~_eeJ=p z-fAgCc3WIbAYVBu^T=t}Ox5+3C|#ZHlD6LUaMnhnNo-fI!83glhe4PnTUczp&|%!F z0?6W7@0~`#o4BozwPy;8l~+zC-*uLMr`0Vsr196|;^D>^+7`#ZTdTUqgwW;moVZ4l zHWqIpE>9J0M7WfL`^F1&UXbwpo=dNOm*83Soy{od3`K3x2pYvH<*vD(%%nPw85ZLy-Lxuf_}>gW@nuBbXkpe6_nb5u z_o3LrgPR{5v;Yb`9^@ug*ac<5X8gzb7P?T1t+hWCG=Q&5HN$vQgA^laE1^DZN?U}F zt1FE;luPc%fp7TV(G05&V*I81h(_5~Bed2>HN(4TM^HJM(MuN#Fl;sY@_9xY&NfI9 z&eX`VBnWuv^QGjh^x>Z{2v`C2o)j!q9oF-*;3N)st~dv4r=D_jysPm#nz~6#qZkpg z6p9sfBitPqCjoz;0RvRe_~)PZn90-83yLq~>Svo!_ZlP!;!QW|ffak=K7=OwdPuYBAy8I_fsD_#f1kxnEu_yZ+Hh8Kv@{nuzUv}Ir z@`{4Amg6Gw&gWyV5fl$q%Rx5Kd68o7`Eo2a)FtKY(7DET(L z*Iv2ATs9}~cKO>PU12{e1iDj_NZ|9bBUcc#Z~2+Xdg#-7Igi%=_X1oyEl`2xr4gni z*Rzcu5Zc%~U8?2r4hfy*ZzOwILTxP(Q*aTft&!Hl%JR}sX5OMO(YfMvShX#c^>wj?BW_@b(_NbxHLWTY@grtY_03y4o!`Z_@a_h*v;hN-<=uij zpMif1#Gjf^;E{scZ_w`JzRO1{a^bvRj_Q}&B8;a%J&W7HjBToZDJh}I?xKeEyL%HZ zYair4j>F^poD*?t&o}RZt^4vmCp=j_$oQhMVPTAEX|NJi?`GrM?-WDXi62Zh2btH8 zU;-jP z6BoUi@`JFaw&EjJhnVpbK_}f)T3&JqlA#4>YXRN2Jd+h--}&>;XeAFA^p3$4!R!xs zZgC^}txY+k`djI0EQyxFk1xLW1qrr+NvbU{aWGd{We76=(@xA!Dk+V&U* z_8+9DpyyQ|mx=Zz5aNJOnfEg~56i$do<7)--_Zz5>kKKWvB1bsm&sRI@gJ?8Zz8+R zr2i25n}_{l)l)_gxP$rc#;+A~7YC z$!)23yp5{yaKaK-`z0rvh!>)7Gq;*3wW8XpG`$25{YZ)!?%KmpL)CSlK1vDvNjLYB z@h2+(uPk()T_BdYqgwhBN_JJ#Q*(ydE*scul^qu^s_xXri#3p!)DJf zxZoytmY4M-md5ASn<3U62-8Zx5{>!jtt27eEO2{_;&$HF=sfQ@0u{jNrw^1Ti@ z!t8qE1tqtlI?VDTdD{;vz3h5O-bzW~fu>;Q0K0B?8fF25#>$8F29#FRx?Kf+XU*=P zfAMxR-yu3-o>m#4gUh?8^%^1AJFg&LkHr zD%rPzf`qrq2nRNKghzSYmd5Qa4>QltE=C8NE&QDN&>L35^Su+wvpgT1Sk}`l6IN#n zm6+qMd3@^dwk138e19es-mlmVSI+4JW3D*Y3g??G*0*LfRC}k^UXnhE9Te#y8(voL zz|)G(DUFt$EPykN3rg=9r06VnjJeiYpn`fE(cg2omQzK8Fguy`6XF>QyG+stD7ZHg zR?$0@Zr2m5FFdH9SuhwC+b6N-j|4C9!M*^f*RiDY?bsmMlg*em}W!mf8 zzK6*Dh!Hc9gY3DqCm=A;fYAFYOpZZjFzGhYw zAFR`=FXFD6k}9J_ijIFVhw^dR^Z z;MVVZri(@KIgTdIlntv{EuWh!#T~{oP79rmg4}4g@Max669i%tY#Fsgk;6(9U)uz^VwY(#AH^T z-kpYB9$8e2dbuAhcCW}>m5o1)8(xGkMIV>tef{d9fsd;COO0t9yH8I&aK5qE8)JMN zX4T0}mG}SHdW*2O8a7%R30546yA_JNYta@j#R@5I#exJVZUu@7L*DcACe4a_vDvc+GBENsax1 zjMn}#szCa??Y3`eX9@jj_X#>|fyJU(0Z}#LrhSa2#F1@Yt8}1~&VU@@!G0!-ZL{Ak z6wnn{syDO`atoX)!5wb5La$JtewMs>y+QiENZELAHPOxxP%$m_tFXhZncHTA9618! zZ+`5Mdptm4m6?`JuTr>MrgkKDb{_gyu)x?g9m=;YejXy6(`hClwd<~fgAOLjG0C=* zbPrst9~{P1ag|ta{Dv>=e4xZn^WBcTaL&^|*py+2(fZ}oGCl@wV--X(GxoTssDNR% zA8|+tF>wOSulP^5T2F^zO*_DS?7unlVZQhw?mcW zG;l}cm>s^8qzymznpvM#)36RjawRqRn&GST%aZ?le@RXxmD4lR7lS8$Ye9`(F|r)R zCnoIDB6@?7f<*-bBrdmLI%?XUos6(3vHaWfJ945VmhyXCG?ZNGM`Mty_Ge18X%EQd~Q7hgo3WY`PZp#`7 zP-&5?*G(;WnPLWtX|M`*5Y6e8^N0&t&oO9h;izCWbsr2VY()_#1I3YjAW~w@%kEu? z=gk7_XdOh4rV9Qj#c(YuY;osLo!`l0QH>p$6w}j7ZJ8JNH!v;gfIk*Xti_fuxyq9I z8GUD_kIB|a#T0}vM|2P+R%+Az#IB-1y66B`=>J&{hbhCcSEdjyh_2cu#sr;e#QisP zTUREz{cqz9+0#zV*w6kF3oDYEvA}b@czORzvz62UC zmNyj4H{|)-A;8x)Pm4v(Cy^ru&r9|&UO1|<8T{pej=a^D;p<12*EFW3GE7J(PvPkc zt=6DVsydN}%aN&in*&rY5t&YpOpsPj{hgRJ@qq?rzOs6}m_K~3cQ$#DEEluTo+joH z3Ey)rPz5Q=87kS1lvj@BdolX4^p71I5-j0J+?B6B-Q;uA^jOjKq#InAU48J90)$bB z|0=2D)W4;ypw7UwP50Ac)$8oQmTIS9_r1x$`HC>@GvjP3jV{-Yb;%r%@?^X2LRLz? zrxdrq3za|0;p`kSTb*oFy>V=$RX@$kN>=r**}4XjIK!9M?|FP* zFeGn>YH5OL*UO^W!>^DGpySU&QJrBV0guFuRVK=g|A+$*$KXzqFC*okqnGEvznkL8 zf%g((`7Od%Yuakut;p`Qx$$28HBN(-C%S#pm4&GO^~Ji|II#KUnZ=-H!}jq( z@#V*MtPE}Cs2vV&YWxUvDE*o1$7=PqX|oJAhha#_m_c+|36D~v5B`dI0*d;Ux_X2W zr7IeSMy&$q;yH4FOxPkCowM^9zxif5_dI)c*TQlZv1V=Am-Lm+P99~}!Ml>U>*ydn zbE>`U#51trUJnUDZOAH(=^?16`P7uO2;jQk(;{^Youcw5A!7^OVR$YIB&p{ zNlP02)L?z(aYR9`FxV{a@^pGBmM z=ZhHydZE_#jHfGG8{$E`kRQc+f*q$VJf^m$(P6&9V>KkXHp<;5k&hz9GxdN=ip zIAby|zHQIY7j z+-96FHx76&``kF=yYbB+E^8!e)B!=1Qz^RNSF6vm@fu5#+`LNA87yH*0juI5@zfOFc(KhI` zR#)5u1kN_CMlx|fQznA#T!Sh(it4LUe-r|f-);%hUUsVszKwB0LXFVF!q3}!hA>)0Y+YZ^ z&X#n0RThnN4<0wI2g9n`DSLZ+Nhk_aURJ9#!h(rmXW6n>}x9YG%3k}6V8;Va{6 z-ewRUZk;$mP%gmMwYzBFWO3mZ@?37}RM**g zf786tgKgVx%ucM}N&ib98Mf=YW@7X7nRw{&G6a z{j%UMQW7fLoCy@$>R*l&c4z0Fcb4CE`pgN5fN)N$KNYFJ8TAy6_RsT1(EfKB9oY$y zaBH0SQ%G#2EN+HnU{JOP%OiV|#NWnO5sluRRN@-UOa=L#Ks zf9147NxP0qDWh=tm?8!^Vr(OQ-w^%Ya){nZzcb)Q7k@Vm9;b`Atw5E_OJ_Y-0cD>P z@51lui6%UF(iV~B2vPTe#9faazpcD{NZQ8qu&u(!2;K3}DS0DRn(IsGLFRsCU4H26~J>J`-iN7|3(Q_TNowCXm?eWBjMy?Q2j<>!Za z^X@3kRvg^5y!;%22Kf1b1qbikUm#Hs>tl(BWla|~-VY-e#C_<8!IW&pTxjw}5MVb8 zyXhY)0~UE)y_*3Wneop$ytWE#;myAhf$@i*XxNB8%#i*ngaqy`o?r$_?LeGn$#<%r zw?-vOvtk^vD5Jo91716v&Zall4F7T^XkudC|NLO3Q1AxgiElQ0SZQnfKCu-7Q~sbU ztwq;-9Wr`*%Mrrz?Noc=eKy8y4PS({;9Ci{pN_Ai@IF{&qM$4;Y&!6CMeI*-X{$<} zaZ1uUSY(JV4K$cPHglt#iaa}VJf+U0JL<$&s9!8v{lnz!Euc_V+l<%XhNYnCh?spY zHW1OytWwn1Po>+TjOiDx7()Vw(2dK2M|j`HPfp-M2I(F*!f%&Ecm^&4fRTN&lu<8^ ze6uW#Cd4;}$Hg5Yw*TW_dVkQ)h*t4G$m4d{E7aF3ToZjZ(iaq2{`Y0g*Gp8Vnd^_} zQc_Zdq#U_C+Wa^)Lc>H;2cjQX$XY$5Vp(&%h_)dErjMa6X_9t~MGy$OXe{nBSD`T* zy@@$UFFmUTJRLSnJqye<1(!JV3K*kIid8rftn_42U>VpfKK(iv9!ugWDUm7WjJ`|M_d``!Y?&)LrhGeq*dMK8w>@Wm;uOeKNedi~gz! zYnZ=_owk1ev`96#_YcCNaKqh#(c3Fea>tkwG@Sj1d_6_ULL7bBrOYq(xAw|R`R2b@ zB3A^_a4g2yw5eBQlU-Pb7c>S^!NY#0h(?1(x`H;al_>fmd+MsoF*{f90vWNgex;>` zPi@LF#2p02CHiHfv0$Z^Jr!)HvwV908LqchFB}fx)2;{OZYpG$Zg#MDm>XK2mWe^4I}(yB(`2NGM-+#AtqCn<)~v)Xs5T?{7Miq{%OH zPY9KoU{9gW`Zi$xc*`o&Ki_e0CH{a=CFI;4>-nB;ovHl!%x0Z!x`)j*BZKG~BvEnsA=+if0eZ=uK_&$*&I9Xu!dvA2DeQ2?KL*&b0;Uh_!C|1%#%KHqU(~Sn;+G zEw>K=2lx(wy#8y2-{R}hCv>gs)Pgh5jWKS{?9*mq?kH`2VDN3;1aaS5Hzd-lj%5;% z#Fv+nGB`hW-YUv;?m>XFsZTm@?LUcNhlDT%UJZ2)nPs=f8FPnsbVz?j2;u)l;4%H~ zjXVHo2tb`l2^uV}2>7MG;lMdfy)+4TgF{@`@+m}ahZodnWjRUY9PM$gXs`s;RTvjv ze<$61SpVD#aCQzuM})=Ahgcr!=0O7Y)MwmY{vwuf zHcBdKU?k$(UzVbrt@VS^US8rAxV@vHA;y!&YAX2}4w`!d+{_tEv65nv1^U`7TM1vt zCeS0U3PFw%JGNCLhD-|*5oafc(n*Pr4ighvCgCo`trKf=VJRu3ecLXS7e*pZ%EGB7 zNL>ny8prE(j!zt}mUN)Il3>_rcQEJcu z7!1BW!}kwfcJ8Ec+xsWy=*Z=WA9CnQvFS{O_WOV9WO&hk(C`6eC}|UjtPl=_IgQA7 zPk?L-KcE?}^ZDw}!XNwj(tZo1zZ0f8L~br>MdqdDs;0*f^@SQUfiK<%EP}$q1@-l) z(1+IykS#!uj~Rhxfm`r8Q?sUM zwJPrrlNZkrQ<2?lYKfNsMXp?J`m6CAJrz&h6r!b=(uFe{7Ey7y|D8@v*jxtjc4AkOGaA%Uhh-?^OMrc zeaB!FJks^tgvpygY|9+!&K_*s-Jhf>9b;eh%mwcZz~WC=Q(QCX>+2g6eA7^*of_>5 zT`y?&yyn9x4_}>82Em9vrG8^yooO+w)k`MpAp!OzQHIZRn1XZMfwxRB-xQS53BLtn zGWZmtVLuiJEN~~f8-yDaa~wkOyWVeQq|RbHEpNxKKE!2(s%QFWb1v=dK-{cIlgJFI z|FV{Vd3H+SXt9T%XT^=Kvu8q%tI`f+ZJxsSex&1CW^NDG;=M~Utsb}$U>DVP?%_tM zUYm{~b6$~)?f9rn1Ags)HDY2h))ta5zNfe`85Ag}ixaZ4@KmR=(|d z1C?zF?+>9SAfn9|#+4Q@skndNg|QKeVyc8TccW8WmH(5+e7hH4XPv>!dmwU5^f-EB z7sXcE3y<<6A}_|K)L5;ZL!WV4B+$T*22JIuzHgwiu5x>;+83+U^SDQo=Yg?HY46vmqF41bP7f2X8#<{2q)3Bm_F&IlK z^Z|$Ed6(VLNfQbUW7aJa;gcpvyaNe_kA?81&J)s_DviBx)8*pwJz&c16bI@l@?tt0 zOKyCJ6DCHIZPNfJi06s6zoHoF;5GyF5N9p;8et;x&*RFr|>PS6#St#rLS-M(OS&nIQcBgN?BU z^JDCw1zSoaphIB()W0MUIMkhlF^i%TS0O*&=KXbk@>kGGATEz2>bvIl`{Q_JiTG_F z@(-!-!`ZRJH~8$)^O@u;dR-%)$Hgwye+1rZF7k$S@iwm1`(P47mU!(xP}MCm&N?o8 z)Vl7H{(=?o8U&ahJm0dT4n5LqzRKBIU(dl24pIh5J^TeL64=z5PFG+TC93}z|Fv`H zmr`Zl-BdC7fOajp&`I;vK8bvJ@ki~pxVFiB;L?(y8V4i2Ck-J-a0rw(T7?sR-sK=G zg(S$z)zclllDO0ftI0j2wLG&}(QzVt8ZD1I$Q=*Sb!Uqe*IUg&RlKr`9E77X6mX>x zgZz|$)rkolyR}Te^?!@%+xFD|M^$ZMp6Tx*MmI;eF}KQ1o=6dY5(OHUYT5{+f_F_7 zsos26L-D$=`&pn({O1qW4mLOXef>gvD+Y&tl>&QmPu~w>zHjFW?hQ=^Ek%UIlMxP1 zS2dMo4b5bwVE&TG23DFD-RJ8t>7}?*%qitX3T#N;N+}opl zU%Y{bub)EGMTIXNm=C9A&dk)VLbnx)fd}-s3>LZ^8C*K89=7)Lr(UHxw@_5CxC$Wq zR{X<7f{=2(V@Q>c*}jLG=IPssj>Eo(w%#bydTKj4sRU=kpC9PDaYc;7B~IEL`?`li zzq@eRsU4~@B}Wio4p0~O#?Fz5e5w7d3lRS#`dbwV>zZhC|Qts}8rqB7rr~hQ;CL6nt(Jr02@?6YOoWyW)uv6VJPz0+{@OOn-FYN)a zDx^fa)yrF{Zv~@2Y>``HT%fhy*nXK8Uhw;4gPQ<9l3nSOl?%`=NvEuv5fguip?G&t z*zAFjE;6jj7G^f+emyO2Pr8QKdTiy71iV8ke-kW$F10Z{(h=oG=N(TkXE?7^ndvOI z%As$55yivEfM@3T2O%?dr*;W72{7bvNEbtm(J3x)zH?>AZ_RYj6ls*Yp)SsK-^#pp zIZ-&GKxixWKfji_8;*;o7~Asfd?3lL^-(7cc)7FYeC!eZC0@v8MZIP-Vu;~uAO$kP zZw!}p8r41dGsoNL1m3Z7K-A+WF$O6w2-(Kw@2hhJdwrm>97@a4CYS{Qv?SWD`@KMq+~ z&Aq7aY};b-y%r!dAIoZKKGn(XPDiw>eA((lI}WeU?>sR=XTi){q{1?tIG%{mygC#; zo4Cki_oL|aG>^aGwR>wU3vJinuRe8yW<{!zZB$>pXpIoRl;TMP3UBI&;%6`(?9P`~ zK3(n*;L*k(9ptF!;O`RuibjYiZBmE|=+??>HDwu1A%Jc%7^`Tniak{(i2RR4K*38k zV4c=s2||%6>^Q(t-4QukT|F=mE@HmAj?QcCM49cTW1B&ZQ6MfB^UzI>SA9XWVC|R| zCQhd}&&~iwuC|wMtLm*0bp2s+J?~@*86lU*$E!_KblT%pSO#>4?H#6x+2a&wM+Lf0 z&+v(+^^ei`sR*$Ej(`+-N@FJ*dE$OLk%6idoCC7wA8QqE`o|18`L$NdVl#H)#o0r+ z4L68FR*f>KCa0F7Yk}Fe_I7fdq^w;ld6~0z#qnN0k@rZ$$I(n_|Cj?>1jxWZsFpa! zJZ|vZqRXQsCjwIXj)SfccIP29z!L`+?*aVe<#~cK+Kch#&iZ z7{=|~|DE`4nB{P=puax;xxF2fiMtqk;QaD!mtw{L0TmIw?cA3m<#YYna_`g1suaLI zgg(QPKXM5II0p+~9~p)rJOzZu$6Nq3uzN$ky#s58QAPqiK{3uUccC$RfiZWt$KO-6 z)Glxw%XpA_e2%&-uBVX*<_DXxs4D3FM6|ImAZ@QT(Ps)M7HDrg+(5WDwrYy?*V3aN zQ0)5qr#ut_(w*Pn&-)$(syOn-1lT~`gpdP#Rt(egykq<+nsrhm87PD%JKF;r)o=@h ziUY^d8sLX05y{-ClqNU7bV}YB&wrOM$?uJ%swqJENCwIUf<$?3?P~T7yTfl5?~W2x zci+VG>=@&Qs?>kQ%A*8Sq$(e+r6K}h|5zCD!qc`-2QJ3%;JZg3ae|FJ*NHBj?s)_? zDdWuH$EdKQwlm1*w6lc>zaxBC)b@6-C!PSr*6QIX;^|{qvA4Vb2I_(ztP-&GS9$AI zlOe*tjL-tO$+#fDp$@=tAY-#U@4oPfG6!>$Mlq01YqNVdUsUPnz%>(t07Jhv+LG ze{}NUlAMb9Tr2y*G7Z4Xl?#nlQFNg_k3UWPE(zN@EU~P!JU(x%y$I9HwLD1IoYg8P zcv6eYaG-O{MhnP9dhvHZ5Rc>?PkP~0y5V;(?T*-G|9LQ59=I-2#WHxYiIOT&6OL11 zj?8^IXUD!LE!j(A5kuZYU(hdzoHIg! zvqJwd%9W691h@dMRVA)E=k?N}X!?3nI10$&9`u6uRNWP-mOe%875tENZGwhZ4nuGQ zG_W-1e7M}J{JLTJemI{~znOIx3S*nG66o99)*U+2Er`kf|GH6hj0w7C5Ja*zX#VQ79tuOJvbk` z-UV0sc(xL+bc%GYiI=;FBGh)w%cXRVb1F-tk0~{ZoroRiM@~$W!n;z=Bwha&yD|qFrTBL zv#1Cw+d|^j*#`ryw(eamv^&T>ry`<1dmIe^sZn+Ck1MKe(3__hf}$QgyEr$WqI1NNrvo5#r%vh+{0EtyW@-=xJh$DPU`j;L7>z z)Nvz@nnb8yB=tpmeIk@`qwTBv?K7|QL~WT;_|Z05X{Lc@lhm#VGd+yD`3m!^4U$E{ z8smProSK9_zFBXb)6rr)Y8|1dmH#8CSRtjf%sQ{O5FI!BecwmYZly^|yf|HMFW8!A!+jUCxY2Zy^s z7}D9?nj1bc3}V;y=es=H|IzAdu0xJkjtm;3p95L5truIJ9GnnAM&sSxWWGc+7f|gM zHx>+!+RH{$@U=fesN82kd5>}7b(z45Flc}IF-YrYsjz0b(z7%6Ioes3DLX<7Nx6#m zoVHvJ?4Q4(j2(0sWC$66HHIVkPNVS768|wwb;x+LV$3mz+MJy=Ap~$#gx<0tn`{a* zBLh}<)$nzcBFg!5`jkA>MswBIcHdUBOie^$_qr{ek1M90K4VQ2o+bFFzJl0bpk zAcvu)kLt6$nEA8U%=|q4IQ6!?065e}>-2#F9~l5Y@8TZ+jx?=!n#>&t1XkE{j}NXT z0Bq6NU^hCk4*NNnryES%68QL-*o?V?Vo4!XYQ{ZHXR+!RwO)&N-{kIkpZbwKzSuym zx_Cl@SQ}>x>fipz_Hi|6azt8v5<@8L?RLwnwII(B`%}7?vs}@qO95WHErX1vylNR3 z#t&*X!&=NnE~8k9adB)v-J1JLH0-lUBWFcNWeGHeqNU~2e2%KFENqz{Hq~uJ9M6}m zIAX$R&V~;WE==K9?qB<^J>_wf{4KVr78)%w1O9kPB4n3PjN1tp*8HX>jC2R|R*#bv zAG_acJP*Z|T0X+5ih_xS&sL-NLL{DT&@28NZ$E5n|7MC~0sD=gLSBmczV+uGgX}ur z5ixJpO51Njd%YLF0hO7pwuVid<=(S!=TsHL^E||y1STYMhc_Z_)bpKB9OgFp z%pkGHMn3uVhSGwm;|2g)0*gamVTNT7HWF-Mxx+hOtfB(-Zs2QQx%Ex&3H+hqAj=7C zDL33RFC2BQ7;+IOoTa7D+L>xh=^ENdaZJIYn9^}>fh)XBD{r$?)HnUdHrzw9=D;B@ zQ;<$|sBA09)CS~@R?02wo;23K>CrNdG1HreXyB^DX3D1{?xp?;|F7)-=J$W_qnA0! zCy__*Srt)naVrhlZVP`lIvB=5}SGL{a1$ABMR4E5Y-7RIpj1!Z^p zSAoo-6I2*eK)Tx$Bndz%_oj1zVf}b_ z%WP>718fbs=w_UAX0(DjiqE}wjop)m1Bz#oM%=Xadd@pZ#{~ISsBKM@6WWAi#tu#D z4N5Is)k8RHPt0x7W5^dr>P|sXV}QD8h!pKn8_-X~XIEZ}lAJ9B{yukyh_NYO{wUvs$-on>VJxSNVv?|2 zsCGNqtfJXZJz?+PcdMZ(NBlUftoF zi|L7zY#HV(JTy=<2^-C%0be<_r-=uHj`@p`dpIPNEYjx6XNa3!D*N2GH(vvciA zMp%9~=f?v|4Ao14=T-0p55qb;Rv>KPi+G4)l{`UifaBd z-5RGah%%&aGd0G=Si6;TFs~_eeKie!cBCKE!7bJgfsvy*t%sAR0@` zy)?CIY9w7a;MLS{IxvT?qA|ZEV_~CUVUyDaC{{n~e$vtojS4hAWv5_f%ERQgBTH$n z2^y8Cw>v-jCBO>4mATT@^~_CQ1VolzRgE5K0TGYx>iF%$8Y8H^mOT~{DJt&6Z}7*C zs?i;%+0enksYh4epQiJ1cl@;If~SvcTq3vY${1M%|JMt5yaPSaKx47>N>Bs0*=gQ~WnOoKG6TQAS5K*7oE_^1 zp@$OvFl&98G(UBDlhm!FDWmOPRIed{fiWgVU_W2IxakQS>swmo}{X;IAK%qQp8-1ubo=~F#6j3b^@UAxPBb*pv(8+To zalNA2twoK#V7Zw&mIEIl^4ImT`ztZoqwcSXc@w#b~jX|eqve5(+Ld20_VIX4>Ks@cv#J4WgNvyAAfe?%mDryxG z(Lh>)cyStHr$Y&pS>@oFT2vA6f39Co9RJmA1yi;V^%4t`;7zs z^QW|`N(t!4^_!goQ-N<3MNL2xFEs_Y5y*%L`K)ttvt1<>P7zMle+OG})fFF1s)jI~ z3b|wzi8PCG<{JUV5@6z}hHB#!pBFxm^>UFX7`x?rfe6yXdiK<*l356UD)j7s{hMdD z{u+e=xrq4jH}Suc3ltrSZ?%T$IKjsC?Qg!cRARxN2Y_%WjXU#oZmmqQS`Nxct;=12 zN!Xgd%h6CTXxD1J2T}}Pr~?bk2~`e0sICugiI5exq=y`Lze1!02OF^CF#W>54OrOT zUdc7p8+|8-G}4>ss2`gb$(rlRKG*(ep1{FT{t&~%EqimQTe@JuUt#R;vv~BW@`Ovy zdRf@6&FE7fW(b1SjOA+81sPb8Kouul_on*N@=UhS;4c+ag#*e4opvwW9J%rB?u;`S zehJIMMQNo+#q{NFZ)MaoK}>cD@#q7yYcE}N!|FG8gw(SmiDqi0JpKC_fUN}jx^LKb zJp^4&5t$HP0v^|osmKHwp#tD{LsF^W1cRQvSR;#`v-Bd8u8LwYUpVr?FFdRqY|KyL zu#fEH$?@Wz>Nm0;>K9p`#UkLSbNP3%-{vR4_=)piI<^z>il`41lI8aw= z@-CXJ#hsF8&CBA9ldNOgj1UvGcCFE0YAKb6$@FQP$UaF*>Iw6EZ}VC4GJ)nB&@^u6 zuW~2`*H=`j%(^tUFQ{8qa+Nmr-29B~pKEccE>)%^Sc~vyhc6*Uauc6jqqPr9<^|Q;#qehGS~x zweG3%7|*Wq^`Cvth`4zhwh%RiONKhnrF|o0r9G1}So4P?2A9jv_Up0Rbkm>4Ekqmw zA-omJo%L-_O!OoQYVo+BRAW$U+#&0C+-qJRYsE+qV-5$)^!jwR5|^9!{|J^S&ONpB zz0UC=I7s+B8+S6P05=TnK z@$m3ayHSJ&PySkN?=oj+lka16qZ~Y&Ua-jqfwZ2U662E`%RHA7^S;zDX#;g*?42L6 z*8E_OJLu}sGBwfn{BHUsrWHsS|HSg}T=jT@=XcKnV@*T3(APSu(LBbwX{YT8UIEMw zr;c-*w9$*JO;%$MrdbQ>*xw_Gv)#Up7|nzvjP7cGA?j^}3r-zSj|Tr7c^yBzH!Qb$ zI$E&Nu6gGZ=O=ODY_V3FGz<_c)t~>ASJy@~D>TdYzDS{q4gZ6MX-k!lRtq5xeIC_B z1Cm&GQlWTDk^PDg@ZCPT=NB8N!=u)~UKomHY9Pd2l`I~zuA7bIj$Ah4W`&e>zh18Y$N3BEuH=~&^wanw*Jc}a*IJUzge!azYB605_PS5++&Ex;3H40j z?C!quvM$%)$#u@ZbaoWS|-#~(EgbCj&bZ--*l!_>65NL zJ&`)WCmX{z{EImMeDO#_W@vN*VU0+$oOoSgjUfF$tBzqcd|H~H`@TwJ#sqPa9@hW@ zdAdYpf(C}086{UQ^gWH!jKn8CAgwew^cBj@==Bd73azHgAC#6ttKgXPo>ajN$vdrK zw(pUS%cpLaUn&$EaYZc$HbtL)3Ly6OIc)Ef8B@oJ)EdXXJZ#PO^Gsjm_`~gty~a}c zTvim0{tSK*6(*4N)D&3~U#fMTeIJyW9|kGQ*~(#+d4z*`2o*oRfql*`SGoavi0dDe8Pe#HQd>yR5qhMK?vh@=gO`9 z&j@+W)KR0RjX$vJ!AJXQ8jr&&72^13h|NoMFw*#wRn+mJ6yJ^QpxofYiN$%sMGMD^ zGSa>$j8+iWP?$;{aJ$P>J(xDR?XpXf>eA$br24!NHn(d>?XJxO4uJU8G%Wvg-Zn_%R~?0M~-HpGgo;x<0`Q)-Zyc5OM8AVzAvEiISxI*AymK4Y@?2FvpU5+QK`k$TdfUSqxt`OqlJtp|Y_D`lcBE9S z1gZ0izXU1JlLlQ}BFb70v*aUyJ7DD%y1YTB8O74l@+!x8mNd3*vhM!D@!e2S8C!K1 zm*-mWA1cHS-TFiX<3T+;sM67huhE6m|Lh6oa;z@Xja@CRS!sW%Ce8m9P-;(`N4wFj z(*MBRhu6pcZUOR(j^kzO`{8fquU~Zv97QiVZ3j~FVsqfg`x!w}H%>dp2G?jnruep^ zB8+2TJ1;h3KScX;_}nJXn|A|EepuShu+8*r9~ep6uu zXZR^}L0vnIEeTfO?+*XtB)IoXMET!(`dqXV41+^3g6m(G+I?1?O-FbX>M^a6X z?{&R)`=O^txh4b4&OCC;%7Y%xsojF8sD__~g*_RGu=4BpgQn`JAq95KNoEayn#^|p z&h8v7OiTnWLB9S>PG(I0K(DJ89GtHFMna{k5a(0VFw2SuvIo4tse3XMCVpd8VzM_i zW-1c3S=|`AT$IGwbig8FwFGUBr(&9abh?~!oF(*dq;M-!*T7Omz)P>DFa5x&u3N%I`? zB{Q(Ox`vYF^rx3($IQj*p?JK@Cs3LdF?a7}qjniGM%+TN#t|Zd=f`=QTJK)=%ltq~ zb8`|9}hw@%r#?K89Ek97LP8h8^;eP;2@naRX%#~F>&1XhO>VXwdnDx zyPVZc?zrVp%pzfpcdztALBNRhuhv%MCaW+5q4s8SU~Y#DTC+5y+rzQXvBUaA{el9y|(xeC&x;I+r#o+{gxztq{buc`Wx zG9xo{-wPIrEa`psK~1KTbXv1gadig3FZHIKOmxEWA`sIjRPo*Vxu?W|g9&Bh*v5jI zCbH4miRXx+Hf`^vA7#QwCM_Zl3l@?A@}J-F;-%i%+2#xw6z`Fu>5hR<3cCF{GjA{JwgNLKb z6DxBk!7whPrY)#UD`{u@F=>_`oXlnOj?DaUM(V&o^JJq2TEkS^peGz9cP&K_wK3rg z?6>e1ydL8??JA&&py7_7ka;)EjMuXDYRAXtY~H@=ErLQ&252w^Jy1M_^vUk4XNu%& zomziQ7xicKqw{}V+o+ew-d)T^b=JjnL$Z6hNUWj6pP*o)&kFHrO^9Z3nJv;UtgfbW z?&u`#?k_r(r4Ibh-piok0%-LAxFoDv$)WGg|pNSBO=`9p!y5kfiF=x#do zOPgG%n5cbus=!e!A~a;DE{BHq;3e5|-8~FPAz}RQUcHsU8|Och2AH@p$)y#R^)$12 zwYA8*yH=R!A($9U@Q2)cY(Je>rCCASl%Db>i}sk*(AYyFW~jzKXM5;hv1W~l4(sMq zv12ljxTo4YV4x(nO@s@l;w?v9VFhRG`MD_nqNKQZ zYak0=OEsdC&Mzp)qNXcn=RowLp;n}(pWkqnBTaJ>tn|`*L?K_N90y+uw=^vQdbC;= zg&zh3JqH<6^&lq87)`d+6SWk^tg;eVX;Fik%(Vub`~FdNe7j-X4>?~p;*ceGd>RGh2@6|7H})T%cNws=*+_@xbTes6M_bWx zDh3$Q{>VVu+BFM~98UP6wT^QxLb2bONgtOz&h#;%FLYZb#uMJDPakYdh@RN_Bs}-H zTb*`(upKW_X%1VXQAx2FKJgF7E!QXhImX-BBGZCi{c?z2;q8LFi|-;8=GGoCe=^By zkFGYYbVr-yvPILBl`vX*K=J0YmKZj@%x=8&`_TftJCm)W~f_j(X4_iku{I{F;d{ z6yrn%o72)PG1(;9mU*6`KPzC()c9|Fh`ujf3Zw?zjW3aFas zc?f!wRULKh=8@a=SsmU))A#qC?Sm`7o&r@^Sjb+qvLLAfgLBjdp>*s% z_vyjO$QRyWtutp-Os^Fe;Jgrm*xI;<{;lSwyz*>Ogg)+vDOc~F#sRg5%}ezwnc+G# zgE9ClAtER9!e!he6b9K2ncGDFE!T6j@vCZYf6d@z$WD7Gd=(6w@7q0~-RS4Gi}gu` z3xwhuhdXC+2QL))W^#fegP};jwiu{uJZatt{w!$ugAZ%GhHQ8{JM%n42dF?Ns{vhh zxiU0RzcbY|DK{Bur(LzQ)>l?hi1|hYEKMsxx0TKP;BCe$aAd%CHtu3D|5nzr%crVB zgSZU%oU@Qa&O4fSJecGCTAeC$<&&HBzivVd+Ao6TTFwDH1qo~&Zg-w8cQ@Sf7p<8ei(7avtRVRosFvj`H>}f=bd{ry*_g}y{8dWzaaA~YdHWtO~ zv(dx8mD@zV4`V9V1dc*Qby$y_pa^)Qh%D6wVShO>di{FKzWgXb|I<&?qvlC+DG2TC ztS*ALEytMi%h^&{L4Y?eYbg>Wo;n6Sk{UB}g{O=)q4rWw3t=s&-nbuRRDDCda}9*5 zO7)})=KDgRLc=KA4c3_Vz$=RbRG>2X{f`R(k(~VSUl_p4xhrszP;R?cD$=ZKPxvJ6*HV5}`?bY!IHZ+4v_ zYjt;b2YFF*f>PSJe(jH+gCR?wXJ+)62%{LNV~8GmsTbT@sF9Cw{??_Ll=pACqleYQ zK+G}n&glOiTW=lIcHDM(<5Ijh1lJaKcWH5`Acf#XibH}0r&!UJ7I!F6+=?W)wzzw6 z4+QrDo9CU`op>9AKUf znot&S3QHE(6GB9bqdxPq#`CSj-G}qi910E}EfcK$4Z3I=K@oBDdliwxipX;QCvoBo zFsU@G#YPU(@86)Eh(iTagkKaO2A6S{IM1!MjmE9xoRfI@$+E$xfik?UF&-tfHC`F2 z78(TXAD(+0ejPv!&D^f1$5jRg$EC1PadOJd0=zz=Ilmv-_L;EV5dI%y6yv_*p{4XP z#HN|z&HRW%61#_#2o6-gh@3(o0Aro`u)7KvPFe1?t;u`ycuht{JY2}B-T7IMA)L>x zU9A(!X*MN-QA0lurR=3gNLK`)Q<44YN$LhZC-EKssu}s>b~Z&<*8Qoi`EqvE@@P>^ z&7?-Uf-lj^+6MpA&}MWb#-AM>+q7~aLBcY&KX1bl+c&!vmci27yp6~VY^Nj_(rz8! z(oCp)uSvE|1}XAym19fQkR+k5rApW)hBj^#V((zm19*LhqaHE_R0QtcBKW`aFE1=W z^F8zp!;l3XwNWLosxjzwYrti3EM&KaH{22&ro(`bpqdk$+~?)gt>|KeOs|Lk;A?1d z*+v_r>v=7v+Kk!I1)s#voB7L~(bHiKhYL&@2LucLDs19Fb+EPO;~91w7F2IQR__?& zEYbKXD+MtCjVM{`8ojupiW`j^W@E`fO!7Sq{I}28e++1R*-wv^R&U=EwAylH=n#sg zv1bdOct|7T*d@r_7KM^9d= z%~Ce|-$^!K!~w5;czO{AGF}$D^)>Si?|!K21L?Xx-#r&?y0jWeG2c4-mpu=M$D5+e z)7Nl_g#5!kxySy;RGTNMsnFMG=@n{9j<9EN=`;F66=7(_aLdX{K_KsdyRZob+WF~U z7Qsb<pjVf_!fWor)7_82DO3Fn?sZ6{*Aq32cPSSif8Fc)9>ciO;ZDK zE$)x2^Y=$wzl+VHu$%eVYh4FhRaMk26(U@qs~hvD2Rr|P1X|OC3q{6k;KQDt{lseK zPc-Z+hGA<(J?TrdI7ZWmt69dab54K%N#FZ;u&T;he({<&KyjseEip8&@!$?~Ve!SO#Gm2unLHnQlR(rXK$|PoY*oSs9fGROU^hL+U5Puhq3y)Ix`ceW~1Oxu6 zbOu2~{UPnJSQ-C|kV`-rXTKy;J*09c>^-5`hdU7cU4~8;WH8lzi{({5tRyob9&1)G zYBt1bEpGvLbG?MolVQff_ZE9NJrGUGpw2QZ-`ekEy@|8SLYOLRjEJrjffq@3B7_Nw z>$4h64HdUdDt*TCekjyASt@kbYuROGA*i$K_24B*p7pXroWhl)GxSnIjUPeC3%uJR zPrKdS6}(L=v`TbOROz$a=^Evi^8@=1fX($^~G%Ft^P4aKJ!jxFQ_B1jULocE$N=p}GiZ2be$#fiTH zDV>d&e4ia&_Tj6Iw5%k`!YsQw>n9HdnMa|G_f}xBT3p|$g~&wNGNAYS=cRWve(sT# zP>$p?+l`2+chB@$mjC5wzWohR;fT7(HYcW+BeXg7ERR#JaY(C)4HVeNXC}>zv(XP5 z1-)lom}C#5qKSw{`CC7VKr>|}Z_28H5j^eQ9KtQU!fmt|XYwzsLw*VTi^laj?6qQ8 zvlND;oCl#43ds#T;-_chS!)XcjIi*{dM_EnicS4*_j5*!2Hc76Dm}{>r;mn* zo!4^C?H->kL+vJe``Jj{)5IcL2p1{9Tdjc6bw}2_xY}5y`?;Ge%WDNYEqL0adACZ& zWA|w#4h4N4YzFtCJ>G1SxbJNj){fbiS=otE@R~NLAf@GQ*1WnKsZ6hz; zxVMe8b<{o}?<_`T8%2~1;!Qrdl!_$Y3IW14wpEJ_B8E^RAJKOam6|TalPzC{dhBg`~NLG54}eF@}mH+kt+|F3&8=VRBHT1 zQ$4P17kU`83r%JwjC^SUCFtAR$Tw&5U5dZ>&32l^vGH(jFrezjU&64`{L7q$4H7|cGRRYXIPRDI zOTPvceSJj$^L8{Ls9@^l^_oU1+~__uq78z^hJJf_sY?0KL~k zu~L*)NrU}!)sB*=wia{7GpH*4&|8uNtd=U%@$fdT!|<`-o%7fBICzq&#NT>;=ELmi zcZTPgM6NUA``kLzU*!1Sd1PHJjM=rFGON z))B&3Mly_OdmC@7)~h!$NBmqgR^E`W@ndTd=CerwMlH2~ii@oVo)X?VA8H|rsiRh| z)QYJgFJ*d8q+TMR1OxOGBP>=z3d2cI^%EFU`CkO!dI#1{%Xuu3ZAoGM)`d%TY;QUq{L#q|;FTL%1kiafu}*jXT1f zCbcV!iU+2G0s+^!L>X0%#`t-U7{84EO#rPyZo6K;vCs0R;)mUMIwKa;Z2;l-@)~pp zHLj?AWZi9cs(xp}Cb0}5u9-VJ6-s7!Q$UGCGJL{e!q2b>z;8<@)GRs|4G}uuVg06A zH$gjlWoPLgqW?#6dj-PQm$k^3`N%wW<`8uI5#ZY=@g?tHaHO%ReSJ`kV*a;p&&|M> zB!W++HXi5k3Ip|H?tkPZ9M*4hT@|awdM~C9xP3c^rLig(FV5r|_%Qd@41)-m6SLE8Ck%Vbs#@uZ`g#jNUeb@y3GRjJX9 zW%snchvs?fw2JgK^@~kFk*zJa9V<-ys(E%H_^FezbX!kp&t{RWGmaG-9tGQeQzXvqjHU~ ziV56-DZiResUg3UAuVYm>{R&HSBzq5%f{-i2t?xrGuIuOla|l2hYX*64w(3VqTqm< zCuixDkp)rMu!80xeO@qP)~eHA^2Zjs22=gB2#kId^YFDOigJz)y*c|a>VBVy~vd(A}}`(*=Z8DytsJNJBTSd zx{r?39nA;p=c!3LGN(4yZsm(li1UHKB!e^})Sy%k>U|LL_3DG>1lZ|dP%x<5IF9yh zEQ$s_Ju{bIP}e<|z%g72A#EljwUiIWbvHJnPS~RhY|<(l&ID7u?M{J2JbS`Dal@E^nP>DT{b_Wfq(W`%Qd zP!~8YJN}?A6pnuR%JF#&h25BRR*KhH8yXPKXAA{N<=jqr`94NqW97)mxc7Vt?JfFaSZRj zT+cSJ)sLt)h$`Mb2keHJxu(j)ez=d->&a2)>tikX!+f3rYtL{ol>jnN#wZ=8>QL`# zTd(<|dnocJlSYNSNV<}3JuN`;UQs(;6nph{qUm&(`f<40igM3a&F>b^{@ARg9ew&p zf!-!jmhM>Y(v~c5WbJZC%;{v@v1Dx;mr1oO->UcDvvk6h=3Bc~5FETmHhR#&)ET;) z6@IsW?>V>YPQ#_}kGtUG&uAk<(&nroN-WwR7*txLs#)x(5LURf(!r#xFLx=@T;+nA#F*lwXs4xEW?6d~vnfW2JZK{$ zWG)|;aFBr2MoYw%pt0*k97}+g++_=zUkibb=6mj!@uGw9e?bxILLh$Ngd=c(^cv)m zpb!s|o0F43;YIAIFN?gmzgtlEtx4MgpEZGcSeR$AXT%ugZJgw5fL?NiQdmP6FP>3d zEtI1>%{JJa&$@iyO}WO^pQKT06;>7G^C{nP9TU%duXH^twqH>tgU3!t*syz=5JH?@ ztdp&-#B7(Z$h^t**97>9rp7e`hQbo|+Lc?@Y~-)rGo~m!VnLUdNa<5P?Fx$$r5ssa zZYHv9Aqpzo5)}@({jXrpx!=~0iM~sqjU7SE!8-kyWZc-6a@D!XqAtlW3?I!mY+P{m zFPN|3KAf(w&7ft-b@t7~b#+m?Vw!o2ANgfso5I`pfW-^IKfc^dg>vHBF*<*3-q4za zl%JS;XDtuMV!!AL5kpBsRLvr_APS!Wt`|{uU)?d)K>HwG|F8Kij=vJ2m}yy;ik<7y z!FrP-pe=1OXL&3YG=yx;XPMr5d4c6=mmGmWTtUfs@qqiHb13K|HD*zdlFzGug)WX2 zZbO+ARELe6iXH>>67xiFd$E0NQa59BHA*^}(9@ido&4~5HEEscvceX0CzYQXA#k_9 zRr!0^eRrzT_Nl zH<4?{B4sU?sfl^a48m~JzN5WrFV0IonDJ`Gt85Gy=o{($v}Q?1x&1?O^Sj9DRAzP8 zorH|g`4*0`-`L0OHLyw)*)$m+zU4wPgXoZQ2%6gjr`idd)1&aaD5AL-RlJ$s@6!Z> zMEesM;>!-6vA=ooj9Z)iEvw~p@iB||J!wl30v+i)x}wzGlBKc}ko!+QNf1gXzwL^6 z&MzU021MHzCQZ1a4Z`&v0V}88!@V4eDJ|&Q=J^7-i};t0^#udjB`&`zUVd%-FV7DA zzdbuocpBWFY4~*V3g~?7cGl96(#0PP6A}hCG}x0r(unx$0RpE__n7v&?zK|Zex_RV z)&~cXl^a&E;*K!9Nd7xD2^R|iJJFUhD*LHD|M3IA=uLQZpGx!q+kCSJIjWS~yt=AP z-NfWY*C8QNlT#C=q6qI3dbY&58_XEEqk?H3%;U_ildRVkIOJq0ql6`x;^;owjqBkH zY7tmOm@_{-EQ!W{3x!V_ScO4oovGtcA_<-9m^8Ua$zfvp{jjp$aU(Fy**GI-g%JRK zTBlL4!yLYqEZY6|@N2dm%|oW@fr3=pdXo;#(<$*jHD{DIa4vbu(q^vD&% z68=6{o@2K~I$-cq6AzxfQ|Y!Lt;xXQ(?1MCO8;`g(4Uht0s)&F>7hO@ehCm4tAh%y zYr9;8410yHeg$sXIeSpnY&ns5_k6*lY|ZLvr+CaZ@h`7gc~&I`++zhs5`|lS-XTu= zOTObvn+>v$0n2r-%$@h4uI`IJy1L3O_SA!UqT14(j*L3~f!`U;pehzG*;*bR*?wY& zt9bwn^Fx$f=R&}mZVTLw&b|4ot+Wj9!q~CArJXlB-kK#-M z23~_o^@_Kd-21FV-+osjw)IjhLs1 zbAe{O+`H+ouQ^%&>}bnp4zJ=bj*t`^Sc=pWwnVrKOYt5Juw1Pq_7_NgdYs^|Sy@_& zO{Hr8tToz!Wop`poNTMN2gIs>)h#*gK|C@^!=&Lh_uA=^BD(VA>CTZD>E7((v)32S zJuLT3VIGOvy^-5aU(?-K4af_=OkxIHJ>RKg{IdVrhq7kNigC|&kJ#8Oey`x&z()@J zX$eECi!=io5pRnAI7d}h+E?5(>XOgZm}x-t6u&=?C~`Y9cjkfE6ptNMIuCNfrK84K z>V@gb?Ak~l^^*H@Skc>y;+>YVM66#4xWMx*Af;X>@H?&TbA{&7tWM_yUW`K@EPbc2q!;qsV{m8y` zF17v->eNYu*_f96k6Iog9pu>~){q#wOCs;DP<6LBgEfpSqXA4Sj3>rtX23->-*A+2 z^StU>mb#Iz6Q!7>)t0<+I6S|ds=W!lPkI@aAl0zaXeWl0+XPKd&lTEUIBZQhf+~zd zgN9glw`)jt>Di5CL&%Sz^uO->Jqv%l6m&9Cpj3z(UT&wErX=>*@_vXUYCf7>I)TX? zvm3qdplSWHJk2Hky`W4~xwFD?i5o9PCpEB>wwn!_aL~S6e%eVKm7K)iTuK&L31Kcm zV<2kO0~CsO@27g1PhL_WJv=$Qfn$9hDoJUPNTpwdqN!B-htiW8z?>2UMh^8o5q{gf zq6GDuT@hl3?yoZw*#9)QWU$x=hW;Qee6Z$={S>Q%0bfr#Iz~w22J`&U2Nx46-UcOB z9Jka2)k?w8mKX@_&PvO9x-J~!eG%|@PzCHo_$ZicT05aj+;8Qb_K<0be3gd}!cto$ zSc}-n{ABTufmdRG$qqyORl){ZlwL+$J~1K!qvEg%6Hx~oyFK`5?ETbc{Dg!>6KmCa zRX$GTCjH%oD-_i~*Uk~arG#j&{5(%zk|D(WEn>%dQKCTBG<>E>{cOI@fsB*U6Lnd~CO(bdG348M8xr@6OQg#aOBESxp74uv9I)*%4(e=pxo(xISj%y@bz`M1*NP z0qdbG6(z8BlZ3rFXFE!v6qAHBF=fSrEP~y7>UrtlU|M3_!TcrG4We#fHp@Qo!0tm5 zEM(O&<@ujqR5z0LQ@+gh-V;{F2{bkf*O4L9ea79RC0Yj=)V9SktO_1_lj-m)Y$_>F z49e5^P5Pzz_!Ad6*stU~vOU=wtD3}Rl{jf+>3bl%gXQ99P3=#-eRq{|Sk>2rC-Os` z7q1xo(o&wJPua7A*KZ{sn>Rz;(IUdm$yU}2UK+0+?&s&BqsVV^>2xWNo1{+U>-se3 zyNodws{!GVKCav#KuM18vu`o%fm4TgmMMNU=`KMx^-PxQ8xhD_6ikckifr{r@pa#W>Srp$LQ%~)8~Vhw}cz>x9UwW7R31UNE2UVRp_i=m6?in9URKL zjNr@%g&{-UvBvc;K6f_FRC3cIexGbD7)Cdl?dJ@Xik9ow?lVumQf^OT@@A5G-g8J3 zEq*+H>w9u~U+dlTLGz)rkYr6{AUpchhAR){rRVRGCB(BHH=XJyLbl^?a^=;Pp#Z9Z z@+HUcadokv<%Q3h=J!jy7 z0|ujyb!V%JfebIkjKs#QX>d5~xShbIvahBi-|2r`CcSqkZkmUvgy~6Z<}Yu+$oBS6 zt?J;VuT{tVi6hw>9D>iT0dTNZl>3{xb+30mz-g2%nS!2mU3lMoG*9%#QuJ#-ZXQf9 zgCFph2#%X}n>GEhoz)H4iC9*H<7Vw+fOg}*9E^ldU?0A`ChI~fJ-X6zz<)vV>H9dx z>AFyHRxJGTx0RGLO;~rajNf)#wmh*9C4Q5QjKKHy81vdpSN30N0BOG3hQK}`o+n`g zVr8V0^DFwQ7aN7+S1JK?MA#~lo6{n{m}))ZS|)cxrz*-y;7L`$&vlktlsb`i#4-fN zxwS`lGMO50i`Z<99A6jO$6mW;N&liF64S7)^J9$O@FJUw)!M9VA#FsC8m~p0P;YIF z#H|tNvf-_ex^5F=ByeWUFm(M`5{1O5=~Odfe|X`0qP2Kvs$GjZWf-Ou#qi@vNPJf@{QiX3MW&bbm)gFW#Y%Rbiw z;}gOuN%N=vhc}V$G`G&d6MyUcnofUQo}?>eCYDbW{~JaH;7i z6=UW<4~$>_>%7Rp!Sqf!D-FaK;WNxa6R#qY;GQzND+Qt^j2xdABrBxjvRZ7AYF_(y zUh8+R&ikQ()UCaRrn=)wUfg-U2FR`PGJAAla$zFzx6=o*_(*;8uZn(tfQdck?tHX@ z31;PWv=$v)4D_Ps9NZclWbtaKcnn!=-@2;JAG^9g2oq?rq2Qm7@L8AnV&YgOzqo=a zm#{M$kAdbPkHVo^kPFX;xr;)(G07HZVZjLv%&5RSQq@8sLgHed>>CQ}wIDE)Z(MJDf)UMGobz~+z$r;{l$2Z;j*RPr;$d!QMRJXZf6$>xQCsM}ftVjg zLd!a*?9J`l&Kzgk&*wcoS9sU5Z%TX7EHdUbcGWAz&{i!quBn1*ER1qwd2~(f3}^035mE$-;tioPVLki0WX7# z*kFccBa{2{^|;i`vZsa8KKI_)3D{7mVB(y6MbY?FH7|x~HNLyUak&te`OWiqwq6Uh2=Q7I%3bp(Dgb5e9PNEk{$aX|K!K(zlQ$Zd6gIX zny~rMxSq=8xD_+zGL!Z7Ppc}ENB$KURM5s8E1p!9LQ9mXfY?w&NGYm$UexZbq-T<8Hhok-%=T8;Cz=vG=WTRG_!n&VE~ zDhMT)<^lErq2pP?Qy*);+?2QFHm_> z2>yrPyf;L>d9x{xvOC0u?Vq@%e#Mz%_=6X*mlcHL9~**8T*37P`Ly|tGg-++hp#=L zD-~#&y??d3nxH|>xjFqLP08oNN1?hE7B} zGcwbq?`dTv2lGz<`l6tfq51X>KKE)+@6+C8WL08A<$u)E7WMu=#!s#+soI+b3rZ0B2QzZC~e#Q5kXv-VJ zysiQV_nZcB*uSF#ZxHwzo!7t~IXTJw=C9yJjNskf({3I^sL1As06e5&UPAI37ZHd!<8k!;ej&pNwIZM59PPJ9|GtzGVGlC-A z5ys+e?q)%fAaj5vd$~+*T<46R{jYZ_(PqW!+e3Z^rbV~o z$oo2rVI5J5og=q}y6u~XalqqHK~zd#O0W#6U|>?_8?v zoT2Uzpzl*8BLqU0Asj#noH5|lm@P3jvmet%HQEM+HJiZM zDknkqen1`!k-vS*w6xl6Ni$bcbp)?$${dNhyB2f~m9EB@^=Z?2ymA;t$_ODkRsCo0 zT^g!wbm%_Xu$BU-*-C--#E6WL*@z`+9(GK!B|{?U_T8{h?mGD0R?WY^-x={bt!

  • (0{1>VViH2(HO&DOKC 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 qYg+&Q%V+k(dvE>yR4p}K)zXKSAO9bik2)g& diff --git a/opensrp-chw/src/ba/res/drawable/ic_logo_ba.png b/opensrp-chw/src/ba/res/drawable/ic_logo_ba.png deleted file mode 100644 index c075e49c194be8eda864b7b9a4429dfc225e34d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 736484 zcmaI7bwHKPwm7WPEueI#NOyyDgTyAK8|iM8?vyTRcqnPulz_B=fSV3!*mO61+jGyk z*Y|zT_nUwA%e>HuG{CG#7gE1n!l!hPJD=lA?gAgB^?U z?=dW%c8;*wPo4;gdO8}LzBhNJFfq5Zwil*4Z0)3?ur?E>(&AQPQ*x9rx3ZS?b~ab{ zR@N}}es9WeMkOjjA>=6lTfolT)tJK5&eq;Vz*Cs&U+W6M>c6{LsVM$6#Pz)})&Bsc zt@M^c!ok^`f}4eh*_54&n}V00g`J0!i=Ur~f`g5nkCly&m7SBBokxI+O@M=g;@^b| z_BCfS3jsAr>3@F<))J<&a&>hSU}g32@L=)aWN~n|WM${)=VxW(VCCRohK*o$@v?U{ z_GGqqq5jVblIAX^&eo2u)(-X*zgILiad2}Lrh-BGKU=VKR8soih3#GbeNeC?WA!w4 zWMyYzW3{vUy{~_bc5ziR|35JP>u47ZFGq7$HFFmSH)m7WeOOTcXEN;U{@)+^JrD+s zfTV+|o1MA6tDK}T6|9HF%-T$VU6PYiLW)b8U4oaFon4AwTuefopM#x^jZ2DKN`gb; zKXc{mU0jXrP0jx^*ZTkFO8r0Q3P?Dc8@oCeni{%5Y) zf7$)N=fZaI|1*~r1`O-(>;2=p|I-D-q2Ja2MP69rf6?FE9)|PIFys!;)jfQI#;+zP zDW>5$x3`GoOA1NnIbvus+yU_CYuD*KhB0`fm8?RagwkM|)qVV=v`AxEJBwj$=20g% zKu41qY>P_EMETX8;?oC)uBXu(fj$XN$x$@r+O>1-T20G>r`cPivq$@>&*A!HudZ2d zIWh!YHnTWg%pd);gbMoCoMOVQ(!yzv7#X**9AAh3rEEjcm7ik&tzdYtz&bI|R7B2$ zflE=(CZK8Qqz*dHorO#Fmm&}%$0qr=!nL<^?3q>fMp7cF@bZW~)S@1VXvJ92s1GMC4XtHoA6kk-U6ne#eHSlHr%d&E*&3ohz z<8D1gw?Cz8vCiY(zs=R1t%SPeK70g*Q}u8Az{d+oDshCOns(8dTqvnL&1&&~Ic6)* zUjfUsf7@HW@mMbdMLusuIq?dk-c)C)jn@V;Xp33<4ouAdQQH3Dh8MSN&1UWJk!)YF zbmuLkHW9GcuLwQEZz8c@d#qHH?k5sa!G=Qc^AM@|jp2qQ$ zoGmE%?MC%a=|vw_&GW!078ya@;u8bhznlq%lVTv{KR{E7>tD-4pz>}P5CCf|w!5_g zyF63nHyhRdN|3j&TyJ7rFV9ME0v?VLL1;nxxy{&H$~hIoVU4TUT ze{w0<5#V5%LJdIbHJ^d8hjGbDnTlai|NCh`Ia_G|to6mt?&C=Hp&IcDSH6{Wbk=9+ zUOJjawxA`;q2OP@9FOm%A^01Z|Hh7L3A)Uk{X=!)YlCl9dvk3P5O7Ex2m>*wWLY_v z>m=JDfS4Zdb3$i(hokETdxP=J)xbpUoY893Cew7ConE8M%+x|?EXHEvI&b<5;ST{) zs^mU}+K?MKY7M{3hUs@cy|*fz4q;g2eX{DRAfHwNkW$f)nC=rCkmXp;NdJewUNy1_ z4*Fjphcz&KU}u~^>D-LK&g>=PAm!CEx4p9iYA7tcI&ZA&JdOtp@26SI1k7KH8+Ke_ z2Y0+!pVcWR?@X?T2M*Rd_~h7-{n*`dL($Xfft1S3#0QftHRn&mvkYM^pb;80kbV=< z?c>(qUP*^z=A3rzQQ+j^Rw(y5K=xiB9~y!`3OfIlzyd{q}I9E@|e)6QAesW9@M)IFo4>??xJBX_O+jZifHQhLkj3!*|Y%Nlielc zDp{Z@oIs>sz3^_|KRdf9y*YRA*9WC;eF1WBnKFp9V(sQ*ts9GYD!O{Tbjm!C-{7{%8Vsj&@*m#a^nrU#2T*D6j)@S9N@H(Af?s1LtI?ik%_3><8 zuBb+1gVXRX4fyz`05H6Q$4iKQ6=$uzIKe8TGx{1&uO}+rmKegdjv=Ef4Y5)|iFIBx zSM)-VVM6O{bwyJ!V1kP>a$O9X%DSYLqYjNtr7Bvx_E?U|-sM^SKz@Jn6x0v-nWa1? z7-vd(G!zz44Q)HMD1)LQfZDfmd}=Ho5E!dkW5-bbz^U;c8p|`TkA3==4mO@}TT5R) zAB2W*rcTAKaN%H3`;z{Z=wY`Pa9xIqx-FAW@iexr;2kXg{QRJ!rsua6b6Cc}^6L{0 z2HJ1*6g9mRX*=uRkmgc&g+<6lW;v2I&&0?eeD6L%7~H&YHuhL(V{6n3JZ?=QC#Js* z(V}jtHw7$gn@)FSeL#rOEDnOsgyH&w-;QhwMTH|f^$HOkw@*|G74g-~Y#EDel#`|@ zcfj?5L9}Ah+$F>A2F-BS?4pkzmt9!p={ zx!c8y`{dMe@x;~7&va5E_wEf0ndRt+hJGXSW8Bsh^bVx4U%&=4x#Be=>lXg}LL6P3LuH4>>V{M_frqw9Zo>6Exi{u^JD3 zeqj+t*qg;^wS?C zY*9y&Fdn}U*oG$|@iV&UVte3yja}CJp+@7>Qt+CW?ctq-21IJDAMpNMdOvZQkD&4@ z!qCiHSNRhSfiV62P1z^`*w~8D8Y5_~ozR#^6pVzzVru!W7<$=pT`);L2iMt-rZuhx zbR6E3+X#fSwF}=~0s>oiQdV`|=(&G#)BHLH5*3!#{U(PU)HHRAXh8eC7wfcLR#E~N zwza<$D}vUY1k15eR05?FBN4C1wJewXyusgmxQ|*!W5m2}ZV)}K5f47=>I7ATR8{BN zo4D=Jglyo#Mk|45)~oH> z;`8+n&nsLT$*IBx z4-*Wx-!)lpVG2eGC8MnMm(6+A6Lu1{8Gy>)_gTqmkE?VxfW}12p{8+*c`)$^jqEXQYsqb(Je`fUG6CLKZSV>Zhg7+{I`lO^7x^ynLqV&a zm87?&sBto5Qe6Hu=8y9Q#_8I+#@HY`v`Rum%(Ob>^An4ohWG1+pmSMEmiDWmX)+@( z>j+@F<1#1>jB(C-IGfM2X~?GqIUlpra$7``O+EJh@i<;ke*NJO0*T%3b}-*uUPSME zQC-dgu=uTYr?(+UN}&D&9kg$*p-Nl7iXygIjd9S&TXtLAb~P$1t5EQ$%z9&`K}x;Y zt*er0&5H+<4wVIU>X6%j#}5GGl2$P^SwXO^n5nH{66X z8UfbBr7EbO$8rI*|M6i`EZ~C*=^q;&PX{f}oHcsLc0#0>y>W(lJ)`3C0B)Fx3v~EP@Zlm6_dZ zT;>L~DAH@0`cl|lTk1p$^s&{{6=C-`l6Nt10`eNnV?D-pPE2a-N_SHyH@&bgw&*%`1Gp*OAE;VqXc5=R)ev~-o@9KEshy*l8Q zxZ!v1-zrr%`J|``3%v&PtJ|CNevG+E#w} zYrFuUOGK7OK{#f~u_dZLVIbGx511lpz&^SOJ2#@nZc{F;tbA!Y*x%|ubaE_EDEk=k zK!T$l$@tpPA+z&(WD#(8gXt-jqCqstksOLfqtJ00m);-Pt%-HnGz2e(FRVRj6Y{bn zO~;Qv>hZ40^p(ZHwcdiV1#puL)fo=0p%Rxus&^fUysXyJA*}OSJ^Jq27rl6ofAL56U z0H1`9Tn2UW(NLn#2M~R)0>3S|&u+hNVE38e0u9T{gW4U(aWMF43qpH6!3bf(r@kZt5u>lDnC$_+#(EXtT_^cxB8h z(f7ZCFt)!w*n`m8Wqr$7$n&6S*xQP)9p6G$b>RnJ;J0uS?{K7KCk@LX$C&k$60^MI zcPl2I*7f{YUGp?SRP^TZ&?H|vPSb5+2Blh<7=hB&=vZo4L;rCV4TvQPcms(z-PO3C ziQ&CF>+~<mqgO=JDC*)z)t#p^J2jTl4?$% z$|ssZkZ7reC_;tuxeRenT^;sS;WNhyuYQq+agSfGFpnq%*NujaLH#j=<bkQ=U5ysSI8%M^4$)2dFqnUz_=Z#*EhyDOGvYaz5EF;`^ zg7x$Ricor8K2L2eE@#E=fH^ytf{mJphiL#__KpyaEwo#DQPFH4p3%u<%ebCIxqzGA zj`n4rL#3tWL9RwHN~fo72(TgGj`yOV7f)1~VW_|4bc<@d|7}5ox-W~hV=bdHjd5UwRC}RPEN2t;h<0x)8Way37?Kz$I+rORj`p$ zAvtEt`K$#|VzpB}k1NmBI=8}g*0g`PtuBL}dWQa-@i>$SjWMRWH9I()ohdTi(Gv>% znWTXTN6u?Kv1@a>-1#UB3R<$iTg=C7;V2$w$~DTcB^G0Cw8*`~2qNbuZef~Dqea>( zP!MzNnfUS1l?h9KaYuf*=Bena@#?)WKz1l8m_Tr`p1R^rVk=q<9atSYEv6zUo|80E zRK>I0w5^{?{b~p3hpXF25BKgHj5s=bw@vU$xUX9F3?3#N>`bIrWLK0*V~L(TP{HWw z@IApv<+9lQD3*$)f0coMCD7y>5Ceo=z~qpLvyd%jozFZMc0H!2x67iRq5UEcghI;p zSe0_}A%8eZ1rD?? z0|C%W&0F^}8yz?fGk$RyXtbRm3L}4N z#8rwJyce@xP9l2Rs|OafIszTRqK54^jdq1VKXIH=TBPQli!iJZyS|-+4V;!-VJcM32sk7hdfIy*^b}Ux3aVgq*Le zzO=lJh)H)##3F&&9?M10o;Vm6LaOdGsH*Pd?C@x@)yzSXgG>BEssK#y`q5(~{h>94 zhNpvGw$2MI_hJ5wF+oQk|Iz&qdD=haXRMcx;Fq)ggD2Sctcrno9vP1CDCDBoJ9faq zGFSrA{fx#%F(+2^BTwf-p^cW$wEt{+J+_W9rJCffmDGa_$47ESxe6Yk(AS1AB$w5JjdtYet5Z@r{g@NdWEgWSC7t^f-Fip0bX50yA&8Z zl^0NOVC;5qx3hbDKC!zTaAPOZ4vhmuPLA}+Z@(fpu;=m6wzjH_z-}xGx~DFsR7odB zAtJgoP};-d1vrs8d*Wb3*KJyO%0`AJT^Kl-1gS|nc|3wRH6FU z9fkBEJ@1@LyeGC5QeW^eq+ zC_L>-Kk#iM<`*lA76l3&5sUiyf#Ka-NXseSS{`bMfe(0-DXkg`#(1yM{+NT*;i?`p zN1&=#1YN#glmXq387@`|vG(UHc`n-9#2{0}5@|{; zmDZ9yRt5bkn&+$K)#`2+fl+rNq5nPu) z>(JLSRMXQ}fA_WZ4Ob!T!7f>odEKFa_Q}kAm=e!Y{pc~vGtj6~yBX7|NbU6X+|0th z;SP8XnkDq*Sti&T&&-S#)`-$xQ}K^9nzf|ab(|C(r-c)ba|b6BnobNnQNBcYrXqUA z$0BT+185o4?lEC4r|>0hnvU4RVUy&kCeK(GvqVwTcidI z1Vrm?bz19gf4Xji>#{}#KyHitknh@81GEu*QeO5TpUG`wV|d(|8q9H4`r2k4`_3_D z&OH}OIvNY=Cajj;-@bj`?;}|~_CJnQUX}O(ypIwJFEdfxE z&Rc!2Cl8UG_dmj5cC0PY*^^a)2B&e*p)?l#YR%m?w`{=dmt9&=W(M{cXR*cJ^G9b4 z$@tjGDc`pcQw-1eiz>gj5L+(w=U*$PG)$m2C7+4pgxtvBnu<$qKLEQ2HIF0w3xHxIYb^4cOC=$(qqy|oFGo~KqjJdzxS^+HICI?^R>NnslaHn`f(Ac2N8{?A`<8oQxyDLFlVD~v z@r9TE_&8$Qm*Owz!zO)7zN88!0bczo8Znl{p!Q8+S_3bYc=KNKd;`K;Ir}pHvXptn zp%*J3-cW*9P)#_ZhMctDVd{03DL~lQ7!?JX=~qalKR)p`(1^zE5%5=UdB?{`AW7|{ z!a^8T7K4LJF4e-myrS}^fuiE?#ty#Q;) zPgr=rU&D^Mr`7g^E?O0$^|ln602eMRM}H)qWhRiVKpF9^HtQ1JxJ1UF&om7OiRuuG zW8o@r9bGT=8@>XScx~csqAa!Rw|H%W9yT*#@)C8qN%7%Ks7KjNb}q&7>MidYGaL9~ zs^g-F7e^Dqc%RE_nUkHY@eS2&U>tI^{7_kqEI569l^C6k+T=Xx+VnNtHm{)nCd z03yY+$m9I!PuB`dWUV6i_q@*)5?n_jrW43d<+1S+wW9T}r3UO7KDl`ok+r428ZV>o zan^ikFY~5bOP*ufl7oSBPdr}s3&El2&_-sXLhA6EaMX@HI!}UlrY`(`wN8x3YdifA zX}UNPem9ai9S?K|(%0l+<)1XanZ2-Xsl!3wy1M-_YJPmgH~0p8fKCHI1Bcmq$nC__ zevm#M+kyJ06p2I|H>;J`?r8D%M5E6>JwCuxIsXe6!~WAv8TpY`R>M4~uxN)q1j!#} zA0Y=HNJy*;LSPgbIvgN=GV*o!%9)uYW`{@^r4BlBW(-|zE=f07{64VnXpC9c&;GH6 zsnKsE?fRFj7k6Ttv5jp4zmJ)$9haMMjOAXJFrYbh9S(4A>3=sg|MQW1LqMPfu*s|z znU333mFH=)0z``cR8r#kKkPgNw|7!#_S$bf+^dRMTz?aU(TGqwm`Wxnc|WJ5XE;~P zGl2t{sBe-1`8+A3gkvv!d)DAqPDJ*mP-bfA8lA>BjYaaq3{L85VX_rZEsL`b3U|$O zm&7_-InMDjk~t?iXvFYWkA8O?6K7@h+Cs(YN+!%n8nVqYByx~jU$ETO+7TSNr-G#s zMdXK+)qD!DWrmH$wjN@(&h>X(KvOBB0{XLTQn{pIWWEWwVO@Tx0LYsWgR(hEsV5rJ z%mv}xQhpfc+oFu}x0EWUsyIdF5jSQh>nE1v^Pe&t^K)#4;@6R$Q0f&G)KSk7CyG#i z>vir2og+BC(Vu&$FlXoKB5}iSQ;9v|CF^KNWJelq$IQjhL68$3&)Zxnrv}Zv-5nHs6RfU38A7Kq-wOz zEDlzawF=)bGnSo_;xWxysN6w}9n>kN>|z($il&L}xKH%}1k9l?KwG1Hr~I}uaopv) z!p@(7;)G-tb8gaEVrH4RdO-9}<%i%D9IJI7sgO9IoYSiiSa}lH*hVg9{ z>%v)~b9dW&L<8!B^_ko*z~g&_Ly`6<-y(? zjdLH`_w<`QE}j|_aM<51u`xT0c%Y$(LOw_r`+e_}%GOwU|FD&Nw;!|}&w+uVYN1+a zbd&FHq(Y&17_iA*+~$sva{u<#u$b9TJWc)G#u?CLPcO= zg)u9M)IfjN{cW}e&Pc5a9`kET_NOQ-Y_wQ?pBC`qWK?8FWfo8ZftytRi;wp8q7rTil&q@k2)*{t|I1mUoBZUlTr9VmM5BJGH(~>(u5w}vPb+xhU+zFQtwlSbV85k z4HK!|OoZt@q-hX#dg)SK{m4?X$zA7z_}7FH`zUGQMLSk8APvf;zIpmwtY5#rKFODf zZCLRtts2#WXqgW-s4e1LaDqvguiBflidxLMCY+QGDui(8%Pr)xBJ7LJ;+?+)_irN# zaN1#7thEpOT|VB(*q9!#qHVCAP7a2JRz+nxnH=`&h!Pgl6~2#j{2=hiu;*?E_UP8eU(1i`RB>ou59yI)}A77d*FmSjhcIxdYea+dT zB>L<2X?$rWWna})25Urw*Kno6r)cYt7|E?hu@gA1Cfz4$7|Y^?7s(1m(b;v zAamQ}11UvdM_4*3DyTG9;?EK+s@BJ+@TF+r@zd5><_yy2r!yhWPkM+$+I-h5t`-m` z^yGk=k#@nxvH<+J3Jtfez*ED5G7SN@wgL&e1*a`mjm1`%B;fI?*XGPix4M3+EE`?6 z#%(bLonSsOJ;iR(-)$_C?IRxMG$ad*N@G5%UcB%WW$)N1KnLYwT4RG-`gwzM z1;!*uGsxPFno#oez7N3U=5AN`9sR+<_FIy=d*!a3ZWtv+I*?yLq3V zeRiTPAV|Q~gqGoLRfsqxh_&;M2t@vvD+tQwaO(gjw?1!zC|+$qceQNio2Be3^xJh| zY)bzu#osUMDtC+gnlxvn{r!=Kmix+zN)glGO^u>rN14yY0lmtipdH(Z42Sa_xJmMX zi+w{dt;c;R{@T^OwPyKMA2pO2>)SlLwE@1!aPPQo8-`D`YbSuO+wbeuw43xn)HRoLz=Pl&yFMB~nR&_s_m#Jt<5cF}9 zv0r~@9aJY4#-{0#tg||;Wvo^^??z+c3o>19^a%rKr3M7cm9tk zUa|_mWd?%Q!e6?IhiTHiBP^%Sq!#D{!h*+MqgpLg*Au5vANuh1zsR<%8rDCX|g2~P7Z}C~Q9RX7Z z0|$b#*SP($THL=prfTHwLMPkK9ycmmG0COk`z$RM&pMR@yq3v8xdBi)^vXI?Zh_|q zSmiM_xX)Le_qi!S_aeS#mS2`R;vvSn%2|pB>#O|gEKsvj?FlrRvbHw-(=R^60{r>D zpBqpF@we6&Dx6M)l$w4lYLKYo6GgBk6A801gNk{GF7m^Ch@Ok9v*U@ezD$M%SS`+6 zT+wv(W-D1ZsV^WjBiOs@pn3iXsE#;GjgDQ%(ev-|I`!=h5o=+vnr!r&uuMH8_u>qt z>!Q(}OBX{4QhjtjF`~hhwV0WrAsmn&45BHSKb|85*_axTB03)~c50pj<<&`gxK|1u zKfG|NI#+rCk+U#Ckg(%tF$j34=%mfOUn#ScC&y>S8WeDKAE16N*mNf;P>_4gs!C4w z@Juwc#j1-7lw^F?R$frht~6noND7RWb_qNCu*IZ=bZvHHdwH@c*mHjNV)xm30rPna z;P?q$^U>l-i7RfxW1hx-W6*tN4If{dlu!+#3%YhqKS3U3R;G6plvnui>yBY5ThQ<= zvC9_AnuE|E!V(pgx7|B|lUeH+9YD4wI*m`$B?*iBiP233Zay zB7)%Za&~mMau50gqpcWY_ieiGUlY+ETD<;dds|-ftY`0ZJ;X6h@B^H$x%R`vd~`Ce z0a`f=I%`$t*RTxw62bBiH8=us9=t?LIBww&AQ9as%&iNagz*O`^BiiHesRpFY<%`B zZ8XEqDRS0?9>#TZ%_jmvaC)6#mvVlWyN`v?Er%N-@Rk^sVruJ`&u?!7v}(Sm#k{0{ z&$9;7B-T9CaGU#C#Mhh6BaxPc#@hN0qW8Fu1c+Q56#!Mu{=I~cIH0l2YMc3*d*C2| z5Gz0+ut^<*rlQ9$4Z__T_p3$z*CtC&2>rJbW1Z-i{rU=*t0*dGk|)E*1;c%wmBDS8 z46j&`UGSO;odjzMb+pz`cg#Hzef>`4YoC6%RJL#5>9Zx~uTK|vx0q`XM_$6( zH*$`6?GyJ`0)*3n8S$4MSR+&zrh&6fxjaj!ZTCYymDRDPf8IMprAWmf#@a$+@``Ep z@Z^`ZsKY1;Mm0+$nXtE_-HUa~uWJ+6lOWP*UQI|(KUl?&yH=;o(Aq4$v(PqpjzC|h z4CbcvG>^+s0On>R6t>XU-J3V=`NRU=)*U6Jq_CmOeL_Jz85{7VRt+A}h$ARkIaf(k zUv0~iGiWc|iZ4H2JuL?bPb}T>26z49R%?8Q41t!R=Z$KaNPN)j@N zY!$O!*U(CfyHnvwC5g=@ZsrYV7P>Bev7;aTHW-w^pW1{#$n#97Z{(Y8y`r>wd#ekl zv?;ijq0NPUDf1KVx|FP{*G4?UeydZjQNj*UNVYoNO640LkJVqXnhSxt3yLGTVU$=M z>94#vHtECgP#K+)CCTR^&MEc#)}+;ou@+AYxfjE>6HNQr^cPhMavw<4^zKe<*HM2A zz`Q0!fTqXNr}Z`r1rLiiKD1`CyjiI#I~cx2@l9xrm(m88xANo4AUGG_Q<_%j9N`#wEEADctkZ53t#q_Ei zr#`axF?ijcE~%r!AF7w4{Hw|uC7tUUldi{VXfjH8^Hudh>K4z3+YAf^#AwA&l1J#H zbqU>FD+d;JFOX~lR>VN~?YDAt36z=|Scmn5~W_--;wf+*bx^k zm(jGQ$CbCm(AwjlD1*-3U;q}wr&N6Mx0_mzgxNc`xl(gqf!-CIx75kap zuaykQgXrsPzx+|68AwB-I+_*CVvcF--xf}D3}3T6 zu>g+#=^n}e_tTC3WuM$~f)K%cdQo(e;@XArRP zBqwKYp|lHI-JGx&#RKMRQ=T_(8$@z_f%K=gRTB!x;LZ_ElR08O8J;kpgS>y#l90b5=}~Ah04=TfMvet@ zg04;2I*?($Vv){}qKj;cKYJqyIYE`w`57%v(3b^vCb8Y*u>NMGjiYC>#i8b8B8E)L zrr#`IeW&_!ZgK;IDwD=|EuYh3L=3Hu(DP8+^fclA*1a@_k)`DsspEt^(;#Dlvylwk z!&{-qAE|BQ8*!p%Pe$ij^&vHD@mcIP>$2#THlKjOr{8-v_vhK%S_VMVYXyM(ot(q` zJ%`(arl_u?6@2d2wP`$ntKH@zrW zkV^cVgQ%Q&gLI#CCio&)wbYW>Nxv(Npb_{r)We{|NZr5QDq-M-e5A_rk+`skMwJe$ zJY=F+b@7Z%9+Nnurrkxs=_g!zB2>P+eZ7vGRl^%FAI~$mPh3;6eyZ3 zZa%T6A;GE7{g|A@?^W*U<-oj=r zjlPV@$WX?ngW?^rYRop-c#v3Kve24E!=|Ip*DIb9f0J)K529*nno;C6CTp{P=h{OJ zb0Kt$`DJ$A|G^%&$84CrY!!vF9)fC?Fesg*5sq1z2GJLVtu3s@Dyl#%$Ndco~iL?|5gR)C=2 z94sb03z*X}w0Bz1%(Dg5PcGmzIPd(Jck7$@OIvI!z>u0pNm2SDJj0<>*AJ(N zKZd{<5?mo~M@0EgnXFd+w1CPc~}U zrVX0pTD~*loc$RrhkI1SO&cNkOcfnYpJ-bmaYSKvx^!+X@He^bUld5>+#CZW$LJ|_ zXz=37!KTE|WHI;o0qCm;f3M5rsW3$NBsHmXPycc2o~?&wMBn5G|=tfVhjaQLf9G=sA@+4si19UWO- zUsk;+vE+79mlJ?R1ly&p)%^wjmCKz|S{h+<6keYJr-&WTTT zS!TWOW+4n!$2^;02yE}|2_fEgS5Uc{ycBhUnb(?Mgl>Oj*>S=qiul(!637I*?MH9Zcal@p(*7RYIP1plf+0(j%S2yUcFvc z%pqUmwO<(1WXx~C2WiW}YjN?eeUqpx4GEdaRa|vdFku~Hl$Rem?*CqhprE18=Fyc& zzFF1Y3L@3hUprOEkA?-`sW}gzj=Q%t8$fRMGhrD-31h0N@AzDXUNop?gz?YT9De|i zuuQ>wd?rFH`r$g@BOG+EE`+7Kz^8=I5KR=0`Y7~Mg<-bx0tJHTn^YAM`S|aM@;{7;G;O+B7t%joM%$UGQECsuxY}thI^|@U(Sy@QukHvX{g67CPWKz}S`-Z3X z@8)*9v;|aNG?5zO$jRN_X2dU?{&Wd1VqpIE$zJ<>Vc}XfF#WBdD)?hZ zOW>8&%F9&XW?>Tq@H9}ov`{<`<~#wtW+2RiF7Y8kI6usdCqQErid9LPxN{VTwZxL< zBMC*AX4(3&jF?Wp|DXkV=D%J{lc;+>E{Vdc%;lP8wMoM&GdB(977mVc6}8}a8?htb zuu`CbL}sP(j>D4%ejsy;8;uR_X~a@lO7-jmcPGg0?#v6gd3JrLB>R87-<9RI{1C_c zR5_%2!K>%DU9K&?xchj$cHZBoSaV-!*3q#G>%ezAiJTA3!JdkUd!=3$3qNP)P0kft}U2DMhA~T_r#fU< z`3xq)vUvj*3D($ks<`ZfALJtVGcW9|BAPCn8FXvZn686{bM2l!) zD(gtF*kCW_;s{Li`ZEB0(SolbyztQ~Y3_If=(wD))`_T@1y`v;V%N6ye4p$yWos5u zq9B&Nep!J1InfZuZO(Ou0}h<@w7@hw3s-oJDZLKT55`3gf`6gk^Tef*Ay+W{)z#0n z-tm_&4(GK2Az(6+$MxLxf=(Fn4ZUwMGsUt%WZevKb|cM(s;*@g zJm9=cWGnWH=(DAv*+j&3`1x(ZeY1fWb92KM-U*E1#^|mzig$C47SgrGeJa8LG;LAa zt<~kdjKP!k*FDA9)@L>BaI+urr`K3jxYv$oTG1D*dippu zg-LznFO8MSZWo0C{|AL-=hj7shjK3S1tw4{{aW7Q*^v!MFRu4yfk0WDPBgO*<9tKG zMgi4_!^^-+{7Z?Y;f!H$4C59hO`m$C&lYhEw#5d@;MwpublGO*u*zgpk$spnD0dK7 zqV~WBeKUgo3q@`KV~CaK?1{StwWmC){#EH*AAZ20^7o0XQ>`Oj%0D=NHg~6Xd)b50 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 z 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/hhBSf((-qj$|fwxwM(Yy{f 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

    Bw`)i#19&!~q}ql27g;v-Mf)7S0q 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 h$MK058siE=>@Ko#1 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

    yIyH^Gvr&gbv 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 mbiGgO8dTH#UdT)%&$MF_kpE~v|=NF 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 HjDr3TS+MPT diff --git a/opensrp-chw/src/ba/res/values-fr/strings.xml b/opensrp-chw/src/ba/res/values-fr/strings.xml index 08f929f09c..e486f02f89 100644 --- a/opensrp-chw/src/ba/res/values-fr/strings.xml +++ b/opensrp-chw/src/ba/res/values-fr/strings.xml @@ -1,6 +1,6 @@ - Ministry of Health - Ministry of Health \n WAJA app - Ministry of Health Community App + Boresha Afya + USAID Boresha Afya \n WAJA app + USAID Boresha Afya \ No newline at end of file diff --git a/opensrp-chw/src/ba/res/values-sw/strings.xml b/opensrp-chw/src/ba/res/values-sw/strings.xml index c5b522cbf2..176cbe4ef7 100644 --- a/opensrp-chw/src/ba/res/values-sw/strings.xml +++ b/opensrp-chw/src/ba/res/values-sw/strings.xml @@ -1,23 +1,12 @@ WAJA - Wizara ya Afya \n Mfumo wa WAJA - Mfumo wa Jamii wa Wizara ya Afya + USAID Boresha Afya \n WAJA app + USAID Boresha Afya Wajawazito Baada ya Kujifungua Kliniki ya Tiba na matunzo (CTC) - Ushauri nasaha na kupima - Kliniki ya TB - Huduma ya kuzuia ukatili wa kijinsia (dawati la jinsia) - Huduma ya kuzuia ukatili wa kijinsia (dawati la jinsia) + Kliniki ya kutibu kifua kikuu + Huduma ya kuzui ukatili wa kijinsia (dawati la jinsia) + Huduma ya kuzui ukatili wa kijinsia (dawati la jinsia) Imeumbwa: %s - UWANYU (CBHS) - Rudi kwenye wateja wa UWANYU - Wateja wa UWANYU - Mabadiliko uliyoyafanya yatafutika - Rekodi ziara ya ufuatiliaji wa UWANYU - Ufuatiliaji - Jaza fomu ya ufuatiliaji - Taarifa za Kimaeneo - Huru - \ No newline at end of file diff --git a/opensrp-chw/src/ba/res/values/strings.xml b/opensrp-chw/src/ba/res/values/strings.xml index b8ff5a3021..41829e668c 100644 --- a/opensrp-chw/src/ba/res/values/strings.xml +++ b/opensrp-chw/src/ba/res/values/strings.xml @@ -1,23 +1,13 @@ WAJA - Ministry of Health \n WAJA app - Ministry of Health Community App + USAID Boresha Afya \n WAJA app + USAID Boresha Afya ANC PNC SICK CHILD FORM Clinic of Treatment and Care - HIV Testing Services - TB Clinic + Clinic Of Tuberculosis Treatment Gender Based Violence Referral - Pregnancy Confirmation Referral Child Gender Based Violence Referral Created: %s - SAVE - PENDING - SUCCESSFUL - NOT COMPLETED - CBHS - Return to all CBHS clients - CBHS Clients - Any Changes You Made Will Be Discarded \ No newline at end of file From 1b0d19a87066400e1dd772d2f57c0c3e73ec11ef Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sun, 10 Jul 2022 15:04:28 +0300 Subject: [PATCH 524/915] :arrow_up: updated chw-core dependencies --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index fb853973d0..48e329b358 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -346,7 +346,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.31.19-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.32.0-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From 8ccea76c2e4dc34aba9487ee54fdec4578e2fcdd Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 11 Jul 2022 12:48:11 +0300 Subject: [PATCH 525/915] fix: last_appointment_date to max_date today --- .../assets/json.form-sw/ltfu_community_followup_feedback.json | 2 +- .../nacp/assets/json.form/ltfu_community_followup_feedback.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json index 53a3b847b9..cdca573803 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json @@ -272,7 +272,7 @@ "hint": "Tarehe ya hudhurio la mwisho", "type": "date_picker", "display_format": "dd/MM/yyyy", - "min_date": "today" + "max_date": "today" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json index aeb85bc792..a1fa730fb4 100644 --- a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json @@ -272,7 +272,7 @@ "hint": "Last appointment date", "type": "date_picker", "display_format": "dd/MM/yyyy", - "min_date": "today" + "max_date": "today" }, "meta_data": { "openmrs_entity": "concept", From 726a482e3be31206cb7305b999f9d6a99e20233f Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 13 Jul 2022 10:02:49 +0300 Subject: [PATCH 526/915] fix: preloading anc visit with data from checkboxes --- .../chw/util/ChwAncJsonFormUtils.java | 118 ++++++++++++++++++ .../interactor/AncHomeVisitInteractorFlv.java | 32 +++++ 2 files changed, 150 insertions(+) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/util/ChwAncJsonFormUtils.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwAncJsonFormUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwAncJsonFormUtils.java new file mode 100644 index 0000000000..3a8fb6da59 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwAncJsonFormUtils.java @@ -0,0 +1,118 @@ +package org.smartregister.chw.util; + +import com.vijay.jsonwizard.constants.JsonFormConstants; + +import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.anc.util.JsonFormUtils; +import org.smartregister.chw.anc.util.NCUtils; + +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import timber.log.Timber; + +public class ChwAncJsonFormUtils extends JsonFormUtils { + public static void populateForm(@Nullable JSONObject jsonObject, Map> details) { + if (details == null || jsonObject == null) return; + try { + // x steps + String count_str = jsonObject.getString(JsonFormConstants.COUNT); + + int step_count = StringUtils.isNotBlank(count_str) ? Integer.valueOf(count_str) : 1; + while (step_count > 0) { + JSONArray jsonArray = jsonObject.getJSONObject(MessageFormat.format("step{0}", step_count)).getJSONArray(JsonFormConstants.FIELDS); + + int field_count = jsonArray.length() - 1; + while (field_count >= 0) { + + JSONObject jo = jsonArray.getJSONObject(field_count); + String key = jo.getString(JsonFormConstants.KEY); + List detailList = details.get(key); + + if (detailList != null) { + if (jo.getString(JsonFormConstants.TYPE).equalsIgnoreCase(JsonFormConstants.CHECK_BOX)) { + jo.put(JsonFormConstants.VALUE, getValue(jo, detailList)); + } else { + String value = getValue(detailList.get(0)); + if (key.contains("date")) { + value = NCUtils.getFormattedDate(NCUtils.getSaveDateFormat(), NCUtils.getSourceDateFormat(), value); + } + jo.put(JsonFormConstants.VALUE, value); + } + } + + field_count--; + } + + step_count--; + } + + } catch (Exception e) { + Timber.e(e); + } + } + + public static JSONArray getValue(JSONObject jo, List visitDetails) throws JSONException { + JSONArray values = new JSONArray(); + if (jo.getString(JsonFormConstants.TYPE).equalsIgnoreCase(JsonFormConstants.CHECK_BOX)) { + JSONArray options = jo.getJSONArray(JsonFormConstants.OPTIONS_FIELD_NAME); + HashMap valueMap = new HashMap<>(); + + int x = options.length() - 1; + while (x >= 0) { + JSONObject object = options.getJSONObject(x); + valueMap.put(object.getString(JsonFormConstants.KEY), new NameID(object.getString(JsonFormConstants.KEY), x)); + x--; + } + + for (VisitDetail d : visitDetails) { + String val = getValue(d); + List checkedList = new ArrayList<>(Arrays.asList(val.split(", "))); + if (checkedList.size() > 1) { + for (String item : checkedList) { + NameID nid = valueMap.get(item); + if (nid != null) { + values.put(nid.name); + options.getJSONObject(nid.position).put(JsonFormConstants.VALUE, true); + } + } + } else { + NameID nid = valueMap.get(val); + if (nid != null) { + values.put(nid.name); + options.getJSONObject(nid.position).put(JsonFormConstants.VALUE, true); + } + } + } + } else { + for (VisitDetail d : visitDetails) { + String val = getValue(d); + if (StringUtils.isNotBlank(val)) { + values.put(val); + } + } + } + return values; + } + + + + private static class NameID { + private String name; + private int position; + + public NameID(String name, int position) { + this.name = name; + this.position = position; + } + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java index 506c426e84..b77817fb1a 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java @@ -18,6 +18,8 @@ import org.smartregister.chw.anc.model.BaseAncHomeVisitAction; import org.smartregister.chw.anc.util.AppExecutors; import org.smartregister.chw.anc.util.VisitUtils; +import org.smartregister.chw.core.utils.FormUtils; +import org.smartregister.chw.util.ChwAncJsonFormUtils; import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.ContactUtil; import org.smartregister.chw.util.JsonFormUtils; @@ -84,10 +86,15 @@ public LinkedHashMap calculateActions(BaseAncHom private void evaluateDangerSigns(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { + JSONObject dangerSignsForm = FormUtils.getFormUtils().getFormJson(Constants.JSON_FORM.ANC_HOME_VISIT.getDangerSigns()); + if(details != null){ + ChwAncJsonFormUtils.populateForm(dangerSignsForm, details); + } BaseAncHomeVisitAction danger_signs = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_danger_signs)) .withOptional(false) .withDetails(details) .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getDangerSigns()) + .withJsonPayload(dangerSignsForm.toString()) .withHelper(new DangerSignsAction()) .build(); actionList.put(context.getString(R.string.anc_home_visit_danger_signs), danger_signs); @@ -98,10 +105,15 @@ private void evaluateHealthFacilityVisit(Map> details, Map dateMap, final Context context) throws BaseAncHomeVisitAction.ValidationException { visit_title = MessageFormat.format(context.getString(R.string.anc_home_visit_facility_visit), memberObject.getConfirmedContacts() + 1); + JSONObject healthFacilityVisitForm = FormUtils.getFormUtils().getFormJson(Constants.JSON_FORM.ANC_HOME_VISIT.getHealthFacilityVisit()); + if(details != null){ + ChwAncJsonFormUtils.populateForm(healthFacilityVisitForm, details); + } BaseAncHomeVisitAction facility_visit = new BaseAncHomeVisitAction.Builder(context, visit_title) .withOptional(false) .withDetails(details) .withHelper(new HealthFacilityAction(memberObject, dateMap)) + .withJsonPayload(healthFacilityVisitForm.toString()) .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getHealthFacilityVisit()) .build(); @@ -110,10 +122,15 @@ private void evaluateHealthFacilityVisit(Map> details, private void evaluateFamilyPlanning(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { + JSONObject familyPlanningForm = FormUtils.getFormUtils().getFormJson(Constants.JSON_FORM.ANC_HOME_VISIT.getFamilyPlanning()); + if(details != null){ + ChwAncJsonFormUtils.populateForm(familyPlanningForm, details); + } BaseAncHomeVisitAction family_planning_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_family_planning)) .withOptional(false) .withDetails(details) .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getFamilyPlanning()) + .withJsonPayload(familyPlanningForm.toString()) .withHelper(new FamilyPlanningAction()) .build(); actionList.put(context.getString(R.string.anc_home_visit_family_planning), family_planning_ba); @@ -132,9 +149,14 @@ private void evaluateFamilyPlanning(Map> details, private void evaluateCounsellingStatus(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { + JSONObject counsellingForm = FormUtils.getFormUtils().getFormJson(Constants.JSON_FORM.ANC_HOME_VISIT.getCOUNSELLING()); + if(details != null){ + ChwAncJsonFormUtils.populateForm(counsellingForm, details); + } BaseAncHomeVisitAction counselling_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_counselling_task)) .withOptional(false) .withDetails(details) + .withJsonPayload(counsellingForm.toString()) .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getCOUNSELLING()) .withHelper(new CounsellingStatusAction()) .build(); @@ -143,9 +165,14 @@ private void evaluateCounsellingStatus(Map> details, private void evaluateMalaria(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { + JSONObject malariaForm = FormUtils.getFormUtils().getFormJson(Constants.JSON_FORM.ANC_HOME_VISIT.getMALARIA()); + if(details != null){ + ChwAncJsonFormUtils.populateForm(malariaForm, details); + } BaseAncHomeVisitAction malaria_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_malaria_prevention)) .withOptional(false) .withDetails(details) + .withJsonPayload(malariaForm.toString()) .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getMALARIA()) .withHelper(new MalariaAction()) .build(); @@ -165,10 +192,15 @@ private void evaluateMalaria(Map> details, private void evaluateRemarks(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { + JSONObject remarkForm = FormUtils.getFormUtils().getFormJson(Constants.JSON_FORM.ANC_HOME_VISIT.getRemarksAndComments()); + if(details != null){ + ChwAncJsonFormUtils.populateForm(remarkForm, details); + } BaseAncHomeVisitAction remark_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_remarks_and_comments)) .withOptional(true) .withDetails(details) .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getRemarksAndComments()) + .withJsonPayload(remarkForm.toString()) .withHelper(new RemarksAction()) .build(); actionList.put(context.getString(R.string.anc_home_visit_remarks_and_comments), remark_ba); From 9334625f389575362004a99225c69ebf990b2d76 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 13 Jul 2022 10:40:48 +0300 Subject: [PATCH 527/915] fix: ordering for actions --- .../chw/activity/AncHomeVisitActivity.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHomeVisitActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHomeVisitActivity.java index 4b0082b070..d9799743ac 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHomeVisitActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHomeVisitActivity.java @@ -3,6 +3,7 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.os.Build; import com.vijay.jsonwizard.constants.JsonFormConstants; import com.vijay.jsonwizard.domain.Form; @@ -23,6 +24,7 @@ import java.util.Date; import java.util.LinkedHashMap; +import java.util.Map; import timber.log.Timber; @@ -84,6 +86,24 @@ public void onDestroy() { @Override public void initializeActions(LinkedHashMap map) { actionList.clear(); - super.initializeActions(map); + //Necessary evil to rearrange the actions according to a specific arrangement + if (map.containsKey(getString(R.string.anc_home_visit_danger_signs))) { + BaseAncHomeVisitAction dangerSignsAction = map.get(getString(R.string.anc_home_visit_danger_signs)); + actionList.put(getString(R.string.anc_home_visit_danger_signs), dangerSignsAction); + } + //====================End of Necessary evil ==================================== + + for (Map.Entry entry : map.entrySet()) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + actionList.putIfAbsent(entry.getKey(), entry.getValue()); + } else { + actionList.put(entry.getKey(), entry.getValue()); + } + } + + if (mAdapter != null) { + mAdapter.notifyDataSetChanged(); + } + displayProgressBar(false); } } From 216b7528d94e58dac83a60fd8265b7966cc0604f Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 13 Jul 2022 10:51:46 +0300 Subject: [PATCH 528/915] fix: hides view medical history --- .../chw/activity/MotherChampionProfileActivity.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java index 4704c7508e..d19535662b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java @@ -263,6 +263,11 @@ public void initializeFloatingMenu() { addContentView(basePmtctFloatingMenu, linearLayoutParams); } + @Override + public void refreshMedicalHistory(boolean hasHistory) { + rlLastVisit.setVisibility(View.GONE); + } + private void addPmtctReferralTypes() { if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.pmtct_referral), From b4653fd76ce2075f81d1cb85a3fb67417382c37c Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 13 Jul 2022 12:12:51 +0300 Subject: [PATCH 529/915] added: confirmation_status for ANC clients registered in community --- opensrp-chw/src/nacp/assets/ec_client_fields.json | 8 ++++++++ .../nacp/assets/json.form-sw/anc_member_registration.json | 8 ++++++++ .../nacp/assets/json.form/anc_member_registration.json | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 2d21d4e3a9..4f5f34a815 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -691,6 +691,14 @@ "concept": "last_menstrual_period" } }, + { + "column_name": "confirmation_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "pregnancy_confirmation_status" + } + }, { "column_name": "gest_age", "type": "Event", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index 474d1d0ad2..97c7845597 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -390,6 +390,14 @@ "value": "(0[0-9]{9})|\\s*", "err": "Namba lazima iwe na tarakimu 10 na ianze na 0" } + }, + { + "key": "confirmation_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pregnancy_confirmation_status", + "type": "hidden", + "value": "Confirmed" } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json index ab2313848c..888de839e3 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -390,6 +390,14 @@ "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", "err": "Number must be 10 digits and must start with 06 or 07." } + }, + { + "key": "confirmation_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pregnancy_confirmation_status", + "type": "hidden", + "value": "Confirmed" } ] } From 7443dd4c91fb51535e5df67bc133464ef2a8f68f Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 13 Jul 2022 12:18:33 +0300 Subject: [PATCH 530/915] fix: update condition to check if clinet is enrolled to pnc --- .../org/smartregister/chw/activity/HivProfileActivity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 56c67d35a4..620ce4fcf5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -26,6 +26,7 @@ import org.smartregister.chw.core.adapter.NotificationListAdapter; import org.smartregister.chw.core.contract.FamilyProfileExtendedContract; import org.smartregister.chw.core.dao.AncDao; +import org.smartregister.chw.core.dao.PNCDao; import org.smartregister.chw.core.listener.OnClickFloatingMenu; import org.smartregister.chw.core.listener.OnRetrieveNotifications; import org.smartregister.chw.core.task.RunnableTask; @@ -478,7 +479,7 @@ public void onReceivedNotifications(List> notifications) { public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(org.smartregister.chw.core.R.menu.hiv_profile_menu, menu); menu.findItem(R.id.action_anc_registration).setVisible(isClientEligibleForAnc(getHivMemberObject()) && !AncDao.isANCMember(getHivMemberObject().getBaseEntityId())); - menu.findItem(R.id.action_pregnancy_out_come).setVisible(isClientEligibleForAnc(getHivMemberObject())); + menu.findItem(R.id.action_pregnancy_out_come).setVisible(isClientEligibleForAnc(getHivMemberObject()) && !PNCDao.isPNCMember(getHivMemberObject().getBaseEntityId())); menu.findItem(R.id.action_location_info).setVisible(UpdateDetailsUtil.isIndependentClient(getHivMemberObject().getBaseEntityId())); // flavor.updateTbMenuItems(getHivMemberObject().getBaseEntityId(), menu); return true; From d91219e4b1155a022802c9b987c1013168045041 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 13 Jul 2022 12:47:29 +0300 Subject: [PATCH 531/915] fix: reruns check for valid actions after updating the action list --- .../org/smartregister/chw/activity/AncHomeVisitActivity.java | 1 + 1 file changed, 1 insertion(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHomeVisitActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHomeVisitActivity.java index d9799743ac..d07ff8bf5f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHomeVisitActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHomeVisitActivity.java @@ -105,5 +105,6 @@ public void initializeActions(LinkedHashMap map) mAdapter.notifyDataSetChanged(); } displayProgressBar(false); + redrawVisitUI(); } } From 6eae3e0d8bd731f9b64ce8e8b36f148f1b078445 Mon Sep 17 00:00:00 2001 From: zk497 Date: Wed, 13 Jul 2022 15:11:44 +0300 Subject: [PATCH 532/915] Fixed the calculation for gravida during ANC registration --- .../nacp/assets/rule/anc_member_registration_calculation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml index 2275db2ccd..7ec6df8569 100644 --- a/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/anc_member_registration_calculation.yml @@ -28,7 +28,7 @@ description: gravida calculated priority: 1 condition: "true" actions: - - "calculation = step1_no_prev_preg + 1" + - "calculation = step1_no_prev_preg" --- name: step1_edd_note From 33eee18049559614324a517d40d57dbe49021026 Mon Sep 17 00:00:00 2001 From: zk497 Date: Wed, 13 Jul 2022 15:28:59 +0300 Subject: [PATCH 533/915] Added field to capture parity during ANC registration --- .../json.form-sw/anc_member_registration.json | 23 +++++++++++++++++++ .../json.form/anc_member_registration.json | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index 97c7845597..33b9cf12af 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -168,6 +168,29 @@ } } }, + { + "key": "parity", + "type": "edit_text", + "hint": "Idadi ya mimba zilizofikia wiki 24 au zaidi (Parity)", + "openmrs_entity": "concept", + "openmrs_entity_id": "parity", + "openmrs_entity_parent": "", + "v_numeric": { + "value": "true", + "err": "Tafadhali jaza namba halali" + }, + "v_required": { + "value": true, + "err": "Tafadhali jaza namba halali" + }, + "constraints": [ + { + "type": "numeric", + "ex": "lessThanEqualTo(., step1:no_prev_preg)", + "err": "Namba lazima iwe sawa au chini ya idadi ya mimba (Ikiwa ni pamoja na mimba ya sasa)" + } + ] + }, { "key": "delivery_method", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json index 888de839e3..639d69b03d 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -168,6 +168,29 @@ } } }, + { + "key": "parity", + "type": "edit_text", + "hint": "Parity", + "openmrs_entity": "concept", + "openmrs_entity_id": "parity", + "openmrs_entity_parent": "", + "v_numeric": { + "value": "true", + "err": "Please enter parity number" + }, + "v_required": { + "value": true, + "err": "Please enter the parity number" + }, + "constraints": [ + { + "type": "numeric", + "ex": "lessThanEqualTo(., step1:no_prev_preg)", + "err": "Parity must be equal to or less than the number of pregnancies (Including current pregnancy)" + } + ] + }, { "key": "delivery_method", "openmrs_entity_parent": "", From 1242f6403d129a4370b05d805860ca141c674bcd Mon Sep 17 00:00:00 2001 From: zk497 Date: Wed, 13 Jul 2022 15:30:47 +0300 Subject: [PATCH 534/915] Update: core version --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 6a4be49db7..021e10d332 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -345,7 +345,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.31.19-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.31.22-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From b66377a4acae8011bb2e7e302c9b9770aceacefb Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 14 Jul 2022 16:38:51 +0300 Subject: [PATCH 535/915] fix: showing leadership role and occupation for clients more than 10 years --- .../all_clients_registration_form.json | 14 ++++++++++++++ ...all_clients_update_registration_info_form.json | 14 ++++++++++++++ .../json.form/all_clients_registration_form.json | 14 ++++++++++++++ ...all_clients_update_registration_info_form.json | 14 ++++++++++++++ .../assets/rule/all_clients_member_relevance.yml | 15 ++++++++++++++- .../rule/all_clients_member_update_relevance.yml | 14 ++++++++++++++ 6 files changed, 84 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index ac78da3618..9bdf4f5bbc 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -1011,6 +1011,13 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } } }, { @@ -1073,6 +1080,13 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index f539b9d220..ea75bc0ff3 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -831,6 +831,13 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } } }, { @@ -893,6 +900,13 @@ "v_required": { "value": "true", "err": "Tafadhali chagua angalau moja" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index 7b9e6ade29..9f3a64edc2 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -1011,6 +1011,13 @@ "v_required": { "value": "true", "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } } }, { @@ -1073,6 +1080,13 @@ "v_required": { "value": "true", "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index 8a71d0eddd..b800d6aebb 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -831,6 +831,13 @@ "v_required": { "value": "true", "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } } }, { @@ -893,6 +900,13 @@ "v_required": { "value": "true", "err": "Please pick at least one" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "all_clients_member_update_relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml index 8695d0ca00..ca79c4718c 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml @@ -33,7 +33,20 @@ priority: 1 condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') > 10) || (step2_age != '' && step2_age > 10)" actions: - "isRelevant = true" - +--- +name: step2_service_provider +description: service provider relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 10) || (step2_age != '' && step2_age >= 10)" +actions: + - "isRelevant = true" +--- +name: step2_leader +description: leadership role relevance +priority: 1 +condition: "(step2_dob != '' && helper.formatDate(step2_dob,'y') >= 10) || (step2_age != '' && step2_age >= 10)" +actions: + - "isRelevant = true" --- name: step2_preg_1yr description: pregnance 1yr relevance diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml index 59d8e3abad..18e26208f8 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml @@ -24,6 +24,20 @@ name: step1_id_avail description: identity relevance priority: 1 condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 18) || (step1_age != '' && step1_age >= 18)" +actions: + - "isRelevant = true" +--- +name: step1_service_provider +description: service provider relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 10) || (step1_age != '' && step1_age >= 10)" +actions: + - "isRelevant = true" +--- +name: step1_leader +description: leadership role relevance +priority: 1 +condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') >= 10) || (step1_age != '' && step1_age >= 10)" actions: - "isRelevant = true" From 52974d907f66a92b6591582841e02f12734dc819 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 14 Jul 2022 16:42:38 +0300 Subject: [PATCH 536/915] fix: made reasons for registration multi-select --- .../json.form-sw/all_clients_registration_form.json | 10 +++++----- .../all_clients_update_registration_info_form.json | 10 +++++----- .../json.form/all_clients_registration_form.json | 10 +++++----- .../all_clients_update_registration_info_form.json | 10 +++++----- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index 9bdf4f5bbc..29b0e4bee5 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -1132,7 +1132,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_male_15", - "type": "native_radio", + "type": "check_box", "label": "Sababu za Usajili", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1190,7 +1190,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_15", - "type": "native_radio", + "type": "check_box", "label": "Sababu za Usajili", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1262,7 +1262,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "native_radio", + "type": "check_box", "label": "Sababu za Usajili", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1334,7 +1334,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_under_10", - "type": "native_radio", + "type": "check_box", "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1406,7 +1406,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_10_to_15", - "type": "native_radio", + "type": "check_box", "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index ea75bc0ff3..87f14180d8 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -952,7 +952,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_male_15", - "type": "native_radio", + "type": "check_box", "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1017,7 +1017,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_15", - "type": "native_radio", + "type": "check_box", "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1089,7 +1089,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "native_radio", + "type": "check_box", "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1161,7 +1161,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_under_10", - "type": "native_radio", + "type": "check_box", "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1233,7 +1233,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_10_to_15", - "type": "native_radio", + "type": "check_box", "label": "Sababu za usajili", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index 9f3a64edc2..d4eccea22f 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -1132,7 +1132,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_male_15", - "type": "native_radio", + "type": "check_box", "label": "Reasons for Registration", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1190,7 +1190,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_15", - "type": "native_radio", + "type": "check_box", "label": "Reasons for Registration", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1262,7 +1262,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "native_radio", + "type": "check_box", "label": "Reasons for Registration", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1334,7 +1334,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_under_10", - "type": "native_radio", + "type": "check_box", "label": "Reasons for Registration", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1406,7 +1406,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_10_to_15", - "type": "native_radio", + "type": "check_box", "label": "Reasons for Registration", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index b800d6aebb..a86762e35f 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -952,7 +952,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_male_15", - "type": "native_radio", + "type": "check_box", "label": "Reasons for Registration", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1017,7 +1017,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_15", - "type": "native_radio", + "type": "check_box", "label": "Reasons for Registration", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1089,7 +1089,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "native_radio", + "type": "check_box", "label": "Reasons for Registration", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1161,7 +1161,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_under_10", - "type": "native_radio", + "type": "check_box", "label": "Reasons for Registration", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -1233,7 +1233,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "reasons_for_registration_female_10_to_15", - "type": "native_radio", + "type": "check_box", "label": "Reasons for Registration", "label_text_style": "normal", "text_color": "#C0C0C0", From 39d2e7e4a270e49da4427b54ac4289482118f0cf Mon Sep 17 00:00:00 2001 From: zk497 Date: Wed, 20 Jul 2022 13:11:23 +0300 Subject: [PATCH 537/915] Made parity to be less than gravida during ANC registration --- .../src/nacp/assets/json.form-sw/anc_member_registration.json | 4 ++-- .../src/nacp/assets/json.form/anc_member_registration.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index 33b9cf12af..1c3c3a1bf1 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -186,8 +186,8 @@ "constraints": [ { "type": "numeric", - "ex": "lessThanEqualTo(., step1:no_prev_preg)", - "err": "Namba lazima iwe sawa au chini ya idadi ya mimba (Ikiwa ni pamoja na mimba ya sasa)" + "ex": "lessThan(., step1:no_prev_preg)", + "err": "Namba lazima iwe chini ya idadi ya mimba (Ikiwa ni pamoja na mimba ya sasa)" } ] }, diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json index 639d69b03d..7ff0f295f9 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -186,8 +186,8 @@ "constraints": [ { "type": "numeric", - "ex": "lessThanEqualTo(., step1:no_prev_preg)", - "err": "Parity must be equal to or less than the number of pregnancies (Including current pregnancy)" + "ex": "lessThan(., step1:no_prev_preg)", + "err": "Parity must be less than the number of pregnancies (Including current pregnancy)" } ] }, From 5c7648b76fc8d1b40e0cd99c6a0f89f581c353f4 Mon Sep 17 00:00:00 2001 From: zk497 Date: Wed, 20 Jul 2022 13:12:13 +0300 Subject: [PATCH 538/915] Capture parity field in the DB --- opensrp-chw/src/nacp/assets/ec_client_fields.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 4f5f34a815..f11266dd85 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -731,6 +731,14 @@ "concept": "gravida" } }, + { + "column_name": "parity", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "parity" + } + }, { "column_name": "no_surv_children", "type": "Event", From de9488c5e3ddb53cb538f0ea4f43cfe59d562ca2 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 21 Jul 2022 18:35:04 +0300 Subject: [PATCH 539/915] fix: for chws with multiple villages to load referrals --- .../chw/fragment/LTFUReferralsRegisterFragment.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java index c35e366a66..43c7705edf 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/LTFUReferralsRegisterFragment.java @@ -15,7 +15,6 @@ import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; import org.smartregister.domain.Task; import org.smartregister.family.util.DBConstants; -import org.smartregister.repository.AllSharedPreferences; import java.util.Set; @@ -44,10 +43,7 @@ protected int getToolBarTitle() { @Override protected String getMainCondition() { - AllSharedPreferences allSharedPreferences = Utils.getAllSharedPreferences(); - String anm = allSharedPreferences.fetchRegisteredANM(); - String currentLoaction = allSharedPreferences.fetchUserLocalityId(anm); - return "task.business_status = '" + CoreConstants.BUSINESS_STATUS.REFERRED + "' and ec_family_member_search.date_removed is null and task.group_id = '" + currentLoaction + "' "; + return "task.business_status = '" + CoreConstants.BUSINESS_STATUS.REFERRED + "' and ec_family_member_search.date_removed is null"; } @Override From 2da8208de998b7ab266d36d0b2bf51a1d6ff253f Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 25 Jul 2022 21:24:01 +0300 Subject: [PATCH 540/915] add: mother champion reports --- opensrp-chw/src/main/AndroidManifest.xml | 8 ++ .../chw/activity/CBHSReportsActivity.java | 2 +- .../chw/activity/InAppReportsActivity.java | 8 +- .../MotherChampionReportsActivity.java | 23 ++++ .../MotherChampionReportsViewActivity.java | 18 +++ .../MotherChampionReportObject.java | 19 +++ .../chw/util/ChwWebAppInterface.java | 4 + .../org/smartregister/chw/util/Constants.java | 1 + .../smartregister/chw/util/ReportUtils.java | 14 +++ .../src/main/res/drawable/reports_bg_blue.xml | 5 + .../res/layout/activity_in_app_reports.xml | 55 +++++++++ .../reports/mother-champion-report.html | 109 ++++++++++++++++++ .../ic_pmtct_cohort_report.xml | 9 ++ opensrp-chw/src/nacp/res/values/strings.xml | 2 + 14 files changed, 275 insertions(+), 2 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionReportsActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionReportsViewActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/domain/mother_champion_report/MotherChampionReportObject.java create mode 100644 opensrp-chw/src/main/res/drawable/reports_bg_blue.xml create mode 100644 opensrp-chw/src/nacp/assets/reports/mother-champion-report.html create mode 100644 opensrp-chw/src/nacp/res/drawable-xxhdpi/ic_pmtct_cohort_report.xml diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 5b5d214c9a..30963556eb 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -24,6 +24,14 @@ android:name=".activity.CBHSReportsActivity" android:exported="false" android:theme="@style/ChwTheme.NoActionBar" /> + + indicatorCodes = new ArrayList<>(); + + public MotherChampionReportObject(Date reportDate) { + super(reportDate); + + } + + +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java index ba89c4169e..e420c91dc1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java @@ -22,6 +22,10 @@ public String getDataForReport() { ReportUtils.setPrintJobName("cbhs_monthly_summary-" + ReportUtils.getReportPeriod() + ".pdf"); return ReportUtils.CBHSReport.computeReport(ReportUtils.getReportDate()); } + if(reportType.equalsIgnoreCase(Constants.ReportConstants.ReportTypes.MOTHER_CHAMPION_REPORT)){ + ReportUtils.setPrintJobName("mother_champion_report-" + ReportUtils.getReportPeriod() + ".pdf"); + return ReportUtils.MotherChampionReport.computeReport(ReportUtils.getReportDate()); + } return ""; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index 8416c7261b..d4db38ff7f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -133,6 +133,7 @@ public static final class ReportConstants { public interface ReportTypes { String CBHS_REPORT = "cbhs_report"; + String MOTHER_CHAMPION_REPORT = "mother_champion_report"; } } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java index 9680d8a4fb..059e49c762 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java @@ -11,6 +11,7 @@ import org.apache.commons.lang3.StringUtils; import org.smartregister.chw.domain.cbhs_reports.CbhsMonthlyReportObject; +import org.smartregister.chw.domain.mother_champion_report.MotherChampionReportObject; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -121,5 +122,18 @@ public static String computeReport(Date now) { } } + public static class MotherChampionReport { + public static String computeReport(Date now) { + String report = ""; + MotherChampionReportObject motherChampionReportObject = new MotherChampionReportObject(now); + try { + report = motherChampionReportObject.getIndicatorDataAsGson(motherChampionReportObject.getIndicatorData()); + } catch (Exception e) { + Timber.e(e); + } + return report; + } + } + } diff --git a/opensrp-chw/src/main/res/drawable/reports_bg_blue.xml b/opensrp-chw/src/main/res/drawable/reports_bg_blue.xml new file mode 100644 index 0000000000..15e178e9cc --- /dev/null +++ b/opensrp-chw/src/main/res/drawable/reports_bg_blue.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml b/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml index 67e4164880..f43966955c 100644 --- a/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml +++ b/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml @@ -98,5 +98,60 @@ app:layout_constraintTop_toBottomOf="@+id/textViewTitle_cbhs" /> + + + + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html b/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html new file mode 100644 index 0000000000..de69716b39 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html @@ -0,0 +1,109 @@ + + + + + + + Mother Champion Report + + + + + +

    Majumuisho ya kazi walizofanya

    +
      +
    1. + Idadi ya wateja wa PMTCT waliounganishwa kwenye kikundi/vikundi vya IGA and Ushauri Nasaha + +
    2. +
    3. + Idadi ya wateja wapya wa PMTCT waliofuatiliwa na mama vinara na kuanza kutumia dawa +
    4. +
    5. + Idadi ya wateja wa PMTCT waliopotea kwenye matumizi ya dawa (LTF) na kurudishwa/kufuatiliwa + na mama vinara +
    6. +
    7. + Idadi ya vipindi alivyofundisha mama kinara/vinara kwa wateja wa PMTCT +
    8. +
    9. + Idadi ya wateja wa PMTCT walioelimishwa na mama kinara/vinara +
    10. +
    11. + Idadi ya wenza walioelimishwa na mama vinara juu ya PMTCT +
    12. +
    13. + Idadi ya wenza waliofuatiliwa/kuletwa kituoni kupima na kujua hali za afya zao kwa mara ya + kwanza +
    14. + +
    + + + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/drawable-xxhdpi/ic_pmtct_cohort_report.xml b/opensrp-chw/src/nacp/res/drawable-xxhdpi/ic_pmtct_cohort_report.xml new file mode 100644 index 0000000000..4e63849b6e --- /dev/null +++ b/opensrp-chw/src/nacp/res/drawable-xxhdpi/ic_pmtct_cohort_report.xml @@ -0,0 +1,9 @@ + + + diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 8587901108..76547dc933 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -32,6 +32,8 @@ Select Reporting Month Monthly Report Print + View Mother Champion Reports + Mother Champion Reports From 9e1fda45ed3566c5d648e354200aeb853fa2481d Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 26 Jul 2022 07:43:25 +0300 Subject: [PATCH 541/915] added: sample method to load data for reports --- .../MotherChampionReportObject.java | 22 +++++++++++++++---- .../reports/mother-champion-report.html | 11 ++++++++-- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/mother_champion_report/MotherChampionReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/mother_champion_report/MotherChampionReportObject.java index b73be13839..aa066025ac 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/mother_champion_report/MotherChampionReportObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/mother_champion_report/MotherChampionReportObject.java @@ -1,19 +1,33 @@ package org.smartregister.chw.domain.mother_champion_report; +import org.json.JSONException; +import org.json.JSONObject; import org.smartregister.chw.domain.ReportObject; -import java.util.ArrayList; import java.util.Date; -import java.util.List; public class MotherChampionReportObject extends ReportObject { - private final List indicatorCodes = new ArrayList<>(); - public MotherChampionReportObject(Date reportDate) { super(reportDate); } + @Override + public JSONObject getIndicatorData() throws JSONException { + + JSONObject jsonObject = new JSONObject(); + //TODO: update this to return correct indicator data + jsonObject.put("b-1", 20); + jsonObject.put("b-2", 30); + jsonObject.put("b-3", 40); + jsonObject.put("b-4", 50); + jsonObject.put("b-5", 60); + jsonObject.put("b-6", 70); + jsonObject.put("b-7", 80); + + return jsonObject; + } + } diff --git a/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html b/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html index de69716b39..85d351c2b2 100644 --- a/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html +++ b/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html @@ -60,6 +60,7 @@ } + @@ -100,9 +101,15 @@

    Majumuisho ya kazi walizofanya

    From 3e246eb106900e079fcf7a119c6925d1db780391 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 26 Jul 2022 17:00:11 +0300 Subject: [PATCH 542/915] :hammer: implemented mother champion in-app reports --- opensrp-chw/build.gradle | 2 +- ...ampion-reporting-indicator-definitions.yml | 42 +++++++++++++++++++ ...artnerFollowupReferralProfileActivity.java | 7 ++++ .../MotherChampionProfileActivity.java | 16 ++++++- .../chw/dao/MotherChampionDao.java | 12 ++++++ .../org/smartregister/chw/dao/ReportDao.java | 20 +++++++++ .../MotherChampionReportObject.java | 16 +++---- .../chw/fragment/SbccRegisterFragment.java | 11 +++++ .../src/nacp/assets/ec_client_fields.json | 21 +++++++--- .../mother_champion_followup.json | 14 +++++++ .../mother_champion_sbcc_sessions.json | 7 ++++ .../pmtct_community_followup_feedback.json | 2 +- ...c_partner_community_followup_feedback.json | 7 ++++ .../json.form/mother_champion_followup.json | 7 ++++ .../mother_champion_sbcc_sessions.json | 7 ++++ .../pmtct_community_followup_feedback.json | 2 +- .../reports/mother-champion-report.html | 10 +---- .../chw/repository/ChwRepositoryFlv.java | 11 ++++- 18 files changed, 186 insertions(+), 28 deletions(-) create mode 100644 opensrp-chw/src/main/assets/config/mother_champion-reporting-indicator-definitions.yml diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 021e10d332..76f9232d80 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -345,7 +345,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.31.22-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.31.24-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/assets/config/mother_champion-reporting-indicator-definitions.yml b/opensrp-chw/src/main/assets/config/mother_champion-reporting-indicator-definitions.yml new file mode 100644 index 0000000000..900565a1c7 --- /dev/null +++ b/opensrp-chw/src/main/assets/config/mother_champion-reporting-indicator-definitions.yml @@ -0,0 +1,42 @@ +indicators: + - key: "b-1" + description: "Idadi ya wateja wa PMTCT waliounganishwa kwenye kikundi/vikundi vya IGA and Ushauri Nasaha" + indicatorQuery: " SELECT count(DISTINCT emcf.entity_id) as count + from ec_mother_champion_followup emcf + WHERE linked_to_psychosocial_group = 'yes' + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01')" + - key: "b-2" + description: "Idadi ya wateja wapya wa PMTCT waliofuatiliwa na mama vinara na kuanza kutumia dawa" + indicatorQuery: " SELECT count(DISTINCT emcf.entity_id) as count + from ec_mother_champion_followup emcf + WHERE visit_number = 0 + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01')" + - key: "b-3" + description: "Idadi ya wateja wa PMTCT waliopotea kwenye matumizi ya dawa (LTF) na kurudishwa/kufuatiliwa na mama vinara" + indicatorQuery: " SELECT count(DISTINCT epcf.entity_id) as count + from ec_pmtct_community_feedback epcf + WHERE date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01')" + - key: "b-4" + description: "Idadi ya vipindi alivyofundisha mama kinara/vinara kwa wateja wa PMTCT" + indicatorQuery: " SELECT count(DISTINCT id) as count + from ec_sbcc es + WHERE date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(es.sbcc_date, 7, 4) || '-' || substr(es.sbcc_date, 4, 2) || '-' || '01')" + - key: "b-5" + description: "Idadi ya wateja wa PMTCT walioelimishwa na mama kinara/vinara" + indicatorQuery: " SELECT SUM(participants_number) as count + from ec_sbcc es + WHERE date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(es.sbcc_date, 7, 4) || '-' || substr(es.sbcc_date, 4, 2) || '-' || '01')" \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index 57330dd8dd..82162ba19b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -1,6 +1,8 @@ package org.smartregister.chw.activity; import static android.view.View.GONE; +import static com.vijay.jsonwizard.utils.FormUtils.fields; +import static com.vijay.jsonwizard.utils.FormUtils.getFieldJSONObject; import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_BASE_ENTITY_ID; import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.INTENT_FORM_SUBMISSION_ID; @@ -8,6 +10,8 @@ import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.ReferralFormId; import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; +import static org.smartregister.util.JsonFormUtils.STEP1; +import static org.smartregister.util.JsonFormUtils.VALUE; import android.app.Activity; import android.content.ContentValues; @@ -127,6 +131,9 @@ public void setupViews() { JSONObject formJsonObject = null; try { formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getAncPartnerCommunityFollowupFeedback()); + AllSharedPreferences preferences = ChwApplication.getInstance().getContext().allSharedPreferences(); + JSONObject chwName = getFieldJSONObject(fields(formJsonObject, STEP1), "chw_name"); + chwName.put(VALUE, preferences.getANMPreferredName(preferences.fetchRegisteredANM())); startFormActivity(formJsonObject); } catch (JSONException e) { e.printStackTrace(); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java index d19535662b..52364f8ca4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java @@ -1,5 +1,10 @@ package org.smartregister.chw.activity; +import static com.vijay.jsonwizard.utils.FormUtils.fields; +import static com.vijay.jsonwizard.utils.FormUtils.getFieldJSONObject; +import static org.smartregister.util.JsonFormUtils.STEP1; +import static org.smartregister.util.JsonFormUtils.VALUE; + import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; @@ -9,6 +14,8 @@ import android.widget.LinearLayout; import android.widget.TextView; +import androidx.annotation.NonNull; + import com.vijay.jsonwizard.constants.JsonFormConstants; import com.vijay.jsonwizard.domain.Form; import com.vijay.jsonwizard.utils.FormUtils; @@ -17,6 +24,7 @@ import org.json.JSONObject; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; +import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; import org.smartregister.chw.core.activity.CorePmtctProfileActivity; import org.smartregister.chw.core.interactor.CorePmtctProfileInteractor; @@ -42,7 +50,6 @@ import java.util.ArrayList; import java.util.List; -import androidx.annotation.NonNull; import timber.log.Timber; public class MotherChampionProfileActivity extends CorePmtctProfileActivity { @@ -74,6 +81,13 @@ public void onClick(View view) { JSONObject formJsonObject = null; try { formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, org.smartregister.chw.util.Constants.JsonForm.getMotherChampionFollowupForm()); + AllSharedPreferences preferences = ChwApplication.getInstance().getContext().allSharedPreferences(); + JSONObject chwName = getFieldJSONObject(fields(formJsonObject, STEP1), "chw_name"); + chwName.put(VALUE, preferences.getANMPreferredName(preferences.fetchRegisteredANM())); + + JSONObject visitNumber = getFieldJSONObject(fields(formJsonObject, STEP1), "visit_number"); + visitNumber.put(VALUE, MotherChampionDao.getVisitNumber(memberObject.getBaseEntityId())); + } catch (JSONException e) { e.printStackTrace(); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/MotherChampionDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/MotherChampionDao.java index 9f02487bde..ef76b21e40 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/MotherChampionDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/MotherChampionDao.java @@ -55,4 +55,16 @@ public static MemberObject getMember(String baseEntityID) { return res.get(0); } + + public static int getVisitNumber(String baseEntityID) { + String sql = "SELECT visit_number FROM ec_mother_champion_followup WHERE entity_id='" + baseEntityID + "' ORDER BY visit_number DESC LIMIT 1"; + DataMap map = cursor -> getCursorIntValue(cursor, "visit_number"); + List res = readData(sql, map); + + if (res != null && res.size() > 0 && res.get(0) != null) { + return res.get(0) + 1; + } else + return 0; + + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java index b5155b7b80..ccfd592425 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java @@ -566,4 +566,24 @@ public static List myCommunityActivityReportDetails(String indica return res; } + + public static int getReportPerIndicatorCode(String indicatorCode, Date reportDate) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()); + String reportDateString = simpleDateFormat.format(reportDate); + String sql = "SELECT indicator_value\n" + + "FROM indicator_daily_tally\n" + + "WHERE indicator_code = '" + indicatorCode + "'\n" + + " AND date((substr('" + reportDateString + "', 7, 4) || '-' || substr('" + reportDateString + "', 4, 2) || '-' || '01')) = date((substr(day, 1, 4) || '-' || substr(day, 6, 2) || '-' || '01'))\n" + + "ORDER BY day DESC LIMIT 1"; + + DataMap map = cursor -> getCursorIntValue(cursor, "indicator_value"); + + List res = readData(sql, map); + + + if (res != null && res.size() > 0 && res.get(0) != null) { + return res.get(0); + } else + return 0; + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/mother_champion_report/MotherChampionReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/mother_champion_report/MotherChampionReportObject.java index aa066025ac..b9fc91823b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/mother_champion_report/MotherChampionReportObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/mother_champion_report/MotherChampionReportObject.java @@ -2,14 +2,18 @@ import org.json.JSONException; import org.json.JSONObject; +import org.smartregister.chw.dao.ReportDao; import org.smartregister.chw.domain.ReportObject; import java.util.Date; public class MotherChampionReportObject extends ReportObject { + private final String[] indicatorCodes = new String[]{"b-1", "b-2", "b-3", "b-4", "b-5"}; + private final Date reportDate; public MotherChampionReportObject(Date reportDate) { super(reportDate); + this.reportDate = reportDate; } @@ -17,14 +21,10 @@ public MotherChampionReportObject(Date reportDate) { public JSONObject getIndicatorData() throws JSONException { JSONObject jsonObject = new JSONObject(); - //TODO: update this to return correct indicator data - jsonObject.put("b-1", 20); - jsonObject.put("b-2", 30); - jsonObject.put("b-3", 40); - jsonObject.put("b-4", 50); - jsonObject.put("b-5", 60); - jsonObject.put("b-6", 70); - jsonObject.put("b-7", 80); + + for (String indicatorCode : indicatorCodes) { + jsonObject.put(indicatorCode, ReportDao.getReportPerIndicatorCode(indicatorCode, reportDate)); + } return jsonObject; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/SbccRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/SbccRegisterFragment.java index bb25e14a23..349ee30afb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/SbccRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/SbccRegisterFragment.java @@ -1,5 +1,8 @@ package org.smartregister.chw.fragment; +import static com.vijay.jsonwizard.utils.FormUtils.fields; +import static com.vijay.jsonwizard.utils.FormUtils.getFieldJSONObject; + import android.database.Cursor; import android.os.Bundle; @@ -10,6 +13,7 @@ import org.json.JSONObject; import org.smartregister.chw.R; import org.smartregister.chw.adapter.SbccRegisterAdapter; +import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.dao.ChwSbccDao; import org.smartregister.chw.model.SbccRegisterFragmentModel; @@ -20,6 +24,7 @@ import org.smartregister.configurableviews.model.View; import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.repository.AllSharedPreferences; import org.smartregister.view.activity.BaseRegisterActivity; import org.smartregister.view.customcontrols.CustomFontTextView; @@ -32,6 +37,8 @@ import timber.log.Timber; import static org.smartregister.util.JsonFormUtils.ENTITY_ID; +import static org.smartregister.util.JsonFormUtils.STEP1; +import static org.smartregister.util.JsonFormUtils.VALUE; import static org.smartregister.util.JsonFormUtils.generateRandomUUIDString; public class SbccRegisterFragment extends BasePmtctRegisterFragment { @@ -188,6 +195,10 @@ protected void refreshSyncProgressSpinner() { if (form != null) { String randomId = generateRandomUUIDString(); form.put(ENTITY_ID, randomId); + + JSONObject chwName = getFieldJSONObject(fields(form, STEP1), "chw_name"); + AllSharedPreferences preferences = ChwApplication.getInstance().getContext().allSharedPreferences(); + chwName.put(VALUE, preferences.getANMPreferredName(preferences.fetchRegisteredANM())); requireActivity().startActivityForResult(org.smartregister.chw.core.utils.FormUtils.getStartFormActivity(form, requireActivity().getString(R.string.sbcc), requireActivity()), JsonFormUtils.REQUEST_CODE_GET_JSON); } } catch (JSONException e) { diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index f11266dd85..6026bc9f1f 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -693,11 +693,11 @@ }, { "column_name": "confirmation_status", - "type": "Event", - "json_mapping": { - "field": "obs.fieldCode", - "concept": "pregnancy_confirmation_status" - } + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "pregnancy_confirmation_status" + } }, { "column_name": "gest_age", @@ -896,7 +896,8 @@ } } ] - },{ + }, + { "name": "ec_anc_partners", "columns": [ { @@ -3774,6 +3775,14 @@ "field": "obs.fieldCode", "concept": "referrals_issued_other_services" } + }, + { + "column_name": "visit_number", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "visit_number" + } } ] }, diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json index 2843e9452d..61e9b16cb4 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_followup.json @@ -50,6 +50,20 @@ "title": "Huduma", "next": "step2", "fields": [ + { + "key": "visit_number", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "visit_number", + "type": "hidden" + }, + { + "key": "chw_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_name", + "type": "hidden" + }, { "key": "type_of_service", "type": "check_box", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json index 6f2aadf712..6920e8436f 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/mother_champion_sbcc_sessions.json @@ -49,6 +49,13 @@ "step1": { "title": "Kipindi cha SBCC", "fields": [ + { + "key": "chw_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_name", + "type": "hidden" + }, { "key": "sbcc_date", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json index cf3e388d6e..12d7f08071 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pmtct_community_followup_feedback.json @@ -207,7 +207,7 @@ } }, { - "name": "date_of_death", + "key": "date_of_death", "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "date_of_death", diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json index f943aebd51..58a9fc047c 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json @@ -49,6 +49,13 @@ "step1": { "title": "Partner Followup Feedback", "fields": [ + { + "key": "chw_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_name", + "type": "hidden" + }, { "key": "is_partner_found", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json b/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json index 0b7aacf4d5..c0be94ca2d 100644 --- a/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json +++ b/opensrp-chw/src/nacp/assets/json.form/mother_champion_followup.json @@ -50,6 +50,13 @@ "title": "Services", "next": "step2", "fields": [ + { + "key": "chw_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_name", + "type": "hidden" + }, { "key": "type_of_service", "type": "check_box", diff --git a/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json b/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json index f24374255d..40597a64bb 100644 --- a/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json +++ b/opensrp-chw/src/nacp/assets/json.form/mother_champion_sbcc_sessions.json @@ -49,6 +49,13 @@ "step1": { "title": "SBCC Session", "fields": [ + { + "key": "chw_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_name", + "type": "hidden" + }, { "key": "sbcc_date", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json index a6904d1d1a..d1adc2ec4a 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/pmtct_community_followup_feedback.json @@ -207,7 +207,7 @@ } }, { - "name": "date_of_death", + "key": "date_of_death", "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "date_of_death", diff --git a/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html b/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html index 85d351c2b2..9c3eb91f4c 100644 --- a/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html +++ b/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html @@ -66,7 +66,7 @@ -

    Majumuisho ya kazi walizofanya

    +

    Majumuisho ya kazi ulizofanya

    1. Idadi ya wateja wa PMTCT waliounganishwa kwenye kikundi/vikundi vya IGA and Ushauri Nasaha @@ -88,14 +88,6 @@

      Majumuisho ya kazi walizofanya

      Idadi ya wateja wa PMTCT walioelimishwa na mama kinara/vinara
    2. -
    3. - Idadi ya wenza walioelimishwa na mama vinara juu ya PMTCT -
    4. -
    5. - Idadi ya wenza waliofuatiliwa/kuletwa kituoni kupima na kujua hali za afya zao kwa mara ya - kwanza -
    -
    -

    MUHTASARI WA TAARIFA ZA HUDUMA ZA VVU NA UKIMWI KATIKA JAMII KWA MWEZI

    -

    TAARIFA YA [MWEZI/MWAKA]:

    -
    - + +
    + + - + + + + + diff --git a/opensrp-chw/src/nacp/assets/reports/report-script.js b/opensrp-chw/src/nacp/assets/reports/report-script.js index 602693a77d..322fde4f59 100644 --- a/opensrp-chw/src/nacp/assets/reports/report-script.js +++ b/opensrp-chw/src/nacp/assets/reports/report-script.js @@ -1,15 +1,20 @@ function loadData() { const data = JSON.parse(Android.getDataForReport()); + const tableBody = document.getElementById("table-body"); + console.log("json data returned is", data); + console.log("check here first"); if(typeof data!== undefined && data !== ""){ - const reportData = data.reportData; + const reportData = data.nameValuePairs.reportData.values; + console.log(JSON.stringify(reportData), "Data returned"); + reportData.forEach((dataPoint) => { //append to the table body a row with data const row = document.createElement("tr"); - const dataPointKeys = Object.keys(dataPoint); + const dataPointKeys = Object.keys(dataPoint.nameValuePairs); dataPointKeys.forEach((key) => { const cell = document.createElement("td"); - cell.innerHTML = dataPoint[key]; + cell.innerHTML = dataPoint.nameValuePairs[key]; row.appendChild(cell); } ); diff --git a/opensrp-chw/src/nacp/assets/reports/report-styles.css b/opensrp-chw/src/nacp/assets/reports/report-styles.css index 7ae3674823..53ab9bc300 100644 --- a/opensrp-chw/src/nacp/assets/reports/report-styles.css +++ b/opensrp-chw/src/nacp/assets/reports/report-styles.css @@ -46,6 +46,11 @@ th { text-transform: initial; } +.pnc-anc-table td { + font-size: 0.71rem; + padding: 5px; +} + td { text-align: initial; padding: 10px 0; @@ -53,24 +58,19 @@ td { font-size: 0.8rem; } -.pnc-anc-table td { - font-size: 0.71rem; - padding: 5px; -} - .pnc-anc-table td:nth-child(1) { width: 5%; min-width: initial; text-align: center; } -.pnc-anc-table td:nth-child(3) { - width: initial; +td:nth-child(3) { + text-align: center; + width: 15%; } -.list-title { - text-align: initial !important; - font-size: 0.8rem; +.pnc-anc-table td:nth-child(3) { + width: initial; } .pnc-table .list-title { @@ -83,15 +83,34 @@ tbody tr > td:nth-child(4) { min-width: 50px; } +tbody tr > td:nth-child(1) { + min-width: 40px; + text-align: center; +} + +.pnc-anc-table td:nth-child(9) { + width: 10%; +} + tbody .four-cols > td:nth-child(3) { width: 50%; text-align: initial !important; } +tbody .three-cols > td:nth-child(3) { + text-align: center; + min-width: 50px; +} + .pnc-anc-table tr > td:nth-child(n + 3) { text-align: center; } +.list-title { + text-align: initial !important; + font-size: 0.8rem; +} + .pnc-anc-table .child-table { width: 50%; } @@ -100,6 +119,7 @@ tbody .four-cols > td:nth-child(3) { background: #ccc; } + @media print { .show-on-print { display: block; From b3d700fb7c5bb768d8279a8b2e16abb6b1fcc623 Mon Sep 17 00:00:00 2001 From: zk497 Date: Thu, 11 Aug 2022 12:36:24 +0300 Subject: [PATCH 550/915] Created string resources for CBHS report --- .../json.form-sw/cbhs_followup_form.json | 16 ++++---- .../src/nacp/res/values-sw/strings.xml | 40 +++++++++++++++++++ 2 files changed, 48 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json index a920c2ce0a..113ef00e6c 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json @@ -584,7 +584,7 @@ "name": "supplies_provided", "type": "multi_choice_checkbox", "properties": { - "text": "Vifaa/Commodities vilivyotolewa" + "text": "Vifaa/bidhaa zilizotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -594,7 +594,7 @@ "options": [ { "name": "hiv_self_test_kits", - "text": "HIV Self Testing Kits", + "text": "Vifaa vya kujipima VVU", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "hiv_self_test_kits", @@ -603,7 +603,7 @@ }, { "name": "sanitizers", - "text": "Sanitizers", + "text": "Vitakasa mikono", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "sanitizers", @@ -612,7 +612,7 @@ }, { "name": "face_masks", - "text": "Face masks", + "text": "Barakoa", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "face_masks", @@ -621,7 +621,7 @@ }, { "name": "condoms", - "text": "Condoms", + "text": "Kondomu", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "condoms", @@ -630,7 +630,7 @@ }, { "name": "water_disinfectant", - "text": "Water disinfectants", + "text": "Dawa za kuua vijidudu vya maji", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "water_disinfectant", @@ -723,7 +723,7 @@ "name": "hiv_services_provided", "type": "multi_choice_checkbox", "properties": { - "text": "CBHS services provided" + "text": "Huduma za CBHS zilizotolewa" }, "meta_data": { "openmrs_entity": "concept", @@ -814,7 +814,7 @@ }, { "name": "family_planning_and_condom_distribution_services", - "text": "Family planning and condom distribution services", + "text": "Huduma za uzazi wa mpango na usambazaji wa kondomu", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "family_planning_and_condom_distribution_services", diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 8afad7d1f4..f44d7cee47 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -78,4 +78,44 @@ Uthibitisho Kipimo binfasi Upimaji wa washirika wa ngono/wakujidunga + + + Maambukizi ya VVU + Kifua Kikuu + Wanaume wanaofanya mapenzi na wanaume + Unyanyasaji wa Kijinsia + Matumizi mabaya ya dawa za kulevya + Mfanyabiashara ya ngono + Mama mjamzito + Mama anayenyonyesha + Mtoto aliyezaliwa na mama mwenye VVU + Mtoto ambaye hajapimwa VVU + Unyanyasaji wa mtoto + + Huduma za ushauri nasaha na upimaji katika jamii + Huduma za dawa za kupunguza makali ya vvu katika jamii + Huduma za kuzuia maambukizi kutoka kwa mama kwenda kwa mtoto katika jamiii + Huduma shirikishi za kifua kikuu na VVU katika jamii + Huduma za kuzuia kuenea magonjwa ya ngono katika jamii + Huduma kwa makundi maalumu + Huduma za kuzuia ukatili wa kijinsia na ukatili dhidi ya watoto katika jamii + Huduma za kisaikolojia katika jamii + Elimu ya tohara katika jamii + Huduma za uzazi wa mpango na usambazaji wa kondomu + Huduma ya ugawaji wa vitendanishi vya JIPIME + Huduma zingine za CBHS + Hamna + + Paracetamol + ORS + Hakuna + + Vifaa vya kujipima VVU + Vitakasa mikono + Barakoa + Kondomu + Dawa za kuua vijidudu vya maji + Vifaa vingine + Hakuna + \ No newline at end of file From 53d91b020fc4cc6a06d805821fd045a984c60186 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 11 Aug 2022 16:23:43 +0300 Subject: [PATCH 551/915] fix: loading string resources for cbhs reports --- .../cbhs_reports/CbhsMonthlyReportObject.java | 79 ++++++++++++++----- .../chw/util/ChwWebAppInterface.java | 2 +- .../smartregister/chw/util/ReportUtils.java | 4 +- .../src/nacp/res/values-sw/strings.xml | 39 --------- opensrp-chw/src/nacp/res/values/strings.xml | 39 +++++++++ 5 files changed, 101 insertions(+), 62 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java index 43fc417fbd..cbeb4dc1a5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java @@ -1,30 +1,31 @@ package org.smartregister.chw.domain.cbhs_reports; +import android.content.Context; + import org.apache.commons.lang3.StringUtils; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.dao.ReportDao; import org.smartregister.chw.domain.ReportObject; -import org.smartregister.util.Log; -import org.smartregister.util.StringUtil; import java.util.Date; import java.util.List; import java.util.Map; public class CbhsMonthlyReportObject extends ReportObject { - private Date reportDate; + private final Context context; private final String[] indicatorCodes = new String[]{"namba-za-mteja", "sababu-za-usajili", "hali-ya-maamubikizi-ya-vvu", "namba-ya-usajili-wa kliniki", "aina-ya-kliniki", "umri", "jinsia", "hali-ya-mteja", "tabia-ya-mteja", "huduma-zilizotolewa", "vifaa-vilivyotolewa", "rufaa-zilizotolewa", "rufaa-zilizofanikiwa", "hali-ya-tiba-na-matunzo", "hali-ya-usajili-na-ufuatiliaji"}; + private Date reportDate; - public CbhsMonthlyReportObject(Date reportDate) { + public CbhsMonthlyReportObject(Date reportDate, Context context) { super(reportDate); this.reportDate = reportDate; - + this.context = context; } @Override @@ -37,21 +38,21 @@ public JSONObject getIndicatorData() throws JSONException { JSONObject reportJsonObject = new JSONObject(); reportJsonObject.put("id", ++i); - reportJsonObject.put("namba-za-mteja", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("cbhs_number")) ? chwRegistrationFollowupClient.get("cbhs_number") :"-"); - reportJsonObject.put("sababu-za-usajili", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("registration_reason")) ? chwRegistrationFollowupClient.get("cbhs_number") :"-"); - reportJsonObject.put("hali-ya-maamubikizi-ya-vvu", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("hiv_status_during_registration")) ? chwRegistrationFollowupClient.get("hiv_status_during_registration"):"-"); - reportJsonObject.put("hali-ya-maamubikizi-ya-tb", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("tb_status_during_registration")) ? chwRegistrationFollowupClient.get("tb_status_during_registration"):"-"); - reportJsonObject.put("namba-ya-usajili-wa kliniki", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("clinic_registration_number")) ? chwRegistrationFollowupClient.get("clinic_registration_number"): "-"); - reportJsonObject.put("aina-ya-kliniki", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("type_of_clinic")) ? chwRegistrationFollowupClient.get("type_of_clinic") : "-"); - reportJsonObject.put("umri", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("age")) ? chwRegistrationFollowupClient.get("age") : "-"); - reportJsonObject.put("jinsia", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("gender")) ? chwRegistrationFollowupClient.get("gender") : "-"); - reportJsonObject.put("hali-ya-mteja", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("status_after_testing")) ? chwRegistrationFollowupClient.get("status_after_testing") : "-"); - reportJsonObject.put("huduma-zilizotolewa", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("hiv_services_provided")) ? chwRegistrationFollowupClient.get("hiv_services_provided") : "-"); - reportJsonObject.put("vifaa-vilivyotolewa", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("supplies_provided")) ?chwRegistrationFollowupClient.get("supplies_provided") : "-"); - reportJsonObject.put("rufaa-zilizotolewa", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("issued_referrals")) ? chwRegistrationFollowupClient.get("issued_referrals"):"-"); - reportJsonObject.put("rufaa-zilizofanikiwa", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("successful_referrals")) ? chwRegistrationFollowupClient.get("successful_referrals"):"-"); - reportJsonObject.put("hali-ya-tiba-na-matunzo", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("state_of_therapy")) ? chwRegistrationFollowupClient.get("state_of_therapy") : "-"); - reportJsonObject.put("hali-ya-usajili-na-ufuatiliaji", StringUtils.isNotBlank(chwRegistrationFollowupClient.get("registration_or_followup_status")) ? chwRegistrationFollowupClient.get("registration_or_followup_status"):"-"); + reportJsonObject.put("namba-za-mteja", getCbhsClientDetails(chwRegistrationFollowupClient, "cbhs_number")); + reportJsonObject.put("sababu-za-usajili", getCbhsClientDetails(chwRegistrationFollowupClient, "registration_reason")); + reportJsonObject.put("hali-ya-maamubikizi-ya-vvu", getCbhsClientDetails(chwRegistrationFollowupClient, "hiv_status_during_registration")); + reportJsonObject.put("hali-ya-maamubikizi-ya-tb", getCbhsClientDetails(chwRegistrationFollowupClient, "tb_status_during_registration")); + reportJsonObject.put("namba-ya-usajili-wa kliniki", getCbhsClientDetails(chwRegistrationFollowupClient, "clinic_registration_number")); + reportJsonObject.put("aina-ya-kliniki", getCbhsClientDetails(chwRegistrationFollowupClient, "type_of_clinic")); + reportJsonObject.put("umri", getCbhsClientDetails(chwRegistrationFollowupClient, "age")); + reportJsonObject.put("jinsia", getCbhsClientDetails(chwRegistrationFollowupClient, "gender")); + reportJsonObject.put("hali-ya-mteja", getCbhsClientDetails(chwRegistrationFollowupClient, "status_after_testing")); + reportJsonObject.put("huduma-zilizotolewa", getCbhsClientDetails(chwRegistrationFollowupClient, "hiv_services_provided")); + reportJsonObject.put("vifaa-vilivyotolewa", getCbhsClientDetails(chwRegistrationFollowupClient, "supplies_provided")); + reportJsonObject.put("rufaa-zilizotolewa", getCbhsClientDetails(chwRegistrationFollowupClient, "issued_referrals")); + reportJsonObject.put("rufaa-zilizofanikiwa", getCbhsClientDetails(chwRegistrationFollowupClient, "successful_referrals")); + reportJsonObject.put("hali-ya-tiba-na-matunzo", getCbhsClientDetails(chwRegistrationFollowupClient, "state_of_therapy")); + reportJsonObject.put("hali-ya-usajili-na-ufuatiliaji", getCbhsClientDetails(chwRegistrationFollowupClient, "registration_or_followup_status")); dataArray.put(reportJsonObject); } @@ -62,5 +63,43 @@ public JSONObject getIndicatorData() throws JSONException { return resultJsonObject; } + private String getCbhsClientDetails(Map chwRegistrationFollowupClient, String key) { + String details = chwRegistrationFollowupClient.get(key); + if (StringUtils.isNotBlank(details)) { + switch (key) { + case "registration_reason": + return getStringValues(details, "reason_for_registration_"); + case "hiv_services_provided": + return getStringValues(details, "hiv_services_provided_"); + case "supplies_provided": + return getStringValues(details, "supplies_provided_"); + default: + return details; + } + } + return "-"; + } + + private String getStringValues(String receivedVal, String resourceKey) { + if (receivedVal.startsWith("[")) { + //remove the [ and ] and add the values separated in a comma to array + String[] values = receivedVal.substring(1, receivedVal.length() - 1).split(","); + StringBuilder sb = new StringBuilder(); + for (String value : values) { + int humanReadableValueId = context.getResources().getIdentifier(resourceKey + value, "string", context.getPackageName()); + if (humanReadableValueId != 0) { + sb.append(context.getString(humanReadableValueId)).append(","); + } + sb.append(value).append(","); + } + return sb.toString(); + } + int humanReadableValueId = context.getResources().getIdentifier(resourceKey + receivedVal, "string", context.getPackageName()); + if (humanReadableValueId != 0) { + return context.getString(humanReadableValueId); + } + return receivedVal; + } + } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java index ba89c4169e..b0849c6ced 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java @@ -20,7 +20,7 @@ public ChwWebAppInterface(Context c, String reportType) { public String getDataForReport() { if (reportType.equalsIgnoreCase(Constants.ReportConstants.ReportTypes.CBHS_REPORT)) { ReportUtils.setPrintJobName("cbhs_monthly_summary-" + ReportUtils.getReportPeriod() + ".pdf"); - return ReportUtils.CBHSReport.computeReport(ReportUtils.getReportDate()); + return ReportUtils.CBHSReport.computeReport(ReportUtils.getReportDate(), mContext); } return ""; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java index 9680d8a4fb..52abaf173a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java @@ -109,9 +109,9 @@ public static void loadReportView(String reportPath, WebView mWebView, Context c public static class CBHSReport { - public static String computeReport(Date now) { + public static String computeReport(Date now, Context context) { String report = ""; - CbhsMonthlyReportObject cbhsMonthlyReportObject = new CbhsMonthlyReportObject(now); + CbhsMonthlyReportObject cbhsMonthlyReportObject = new CbhsMonthlyReportObject(now, context); try { report = cbhsMonthlyReportObject.getIndicatorDataAsGson(cbhsMonthlyReportObject.getIndicatorData()); } catch (Exception e) { diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index f44d7cee47..1f40787c85 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -78,44 +78,5 @@ Uthibitisho Kipimo binfasi Upimaji wa washirika wa ngono/wakujidunga - - - Maambukizi ya VVU - Kifua Kikuu - Wanaume wanaofanya mapenzi na wanaume - Unyanyasaji wa Kijinsia - Matumizi mabaya ya dawa za kulevya - Mfanyabiashara ya ngono - Mama mjamzito - Mama anayenyonyesha - Mtoto aliyezaliwa na mama mwenye VVU - Mtoto ambaye hajapimwa VVU - Unyanyasaji wa mtoto - - Huduma za ushauri nasaha na upimaji katika jamii - Huduma za dawa za kupunguza makali ya vvu katika jamii - Huduma za kuzuia maambukizi kutoka kwa mama kwenda kwa mtoto katika jamiii - Huduma shirikishi za kifua kikuu na VVU katika jamii - Huduma za kuzuia kuenea magonjwa ya ngono katika jamii - Huduma kwa makundi maalumu - Huduma za kuzuia ukatili wa kijinsia na ukatili dhidi ya watoto katika jamii - Huduma za kisaikolojia katika jamii - Elimu ya tohara katika jamii - Huduma za uzazi wa mpango na usambazaji wa kondomu - Huduma ya ugawaji wa vitendanishi vya JIPIME - Huduma zingine za CBHS - Hamna - - Paracetamol - ORS - Hakuna - - Vifaa vya kujipima VVU - Vitakasa mikono - Barakoa - Kondomu - Dawa za kuua vijidudu vya maji - Vifaa vingine - Hakuna \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 8d2172ae5c..5a7f4f70d2 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -64,5 +64,44 @@ Confirmation Self Test Index Contact Testing + + + Maambukizi ya VVU + Kifua Kikuu + Wanaume wanaofanya mapenzi na wanaume + Unyanyasaji wa Kijinsia + Matumizi mabaya ya dawa za kulevya + Mfanyabiashara ya ngono + Mama mjamzito + Mama anayenyonyesha + Mtoto aliyezaliwa na mama mwenye VVU + Mtoto ambaye hajapimwa VVU + Unyanyasaji wa mtoto + + Huduma za ushauri nasaha na upimaji katika jamii + Huduma za dawa za kupunguza makali ya vvu katika jamii + Huduma za kuzuia maambukizi kutoka kwa mama kwenda kwa mtoto katika jamiii + Huduma shirikishi za kifua kikuu na VVU katika jamii + Huduma za kuzuia kuenea magonjwa ya ngono katika jamii + Huduma kwa makundi maalumu + Huduma za kuzuia ukatili wa kijinsia na ukatili dhidi ya watoto katika jamii + Huduma za kisaikolojia katika jamii + Elimu ya tohara katika jamii + Huduma za uzazi wa mpango na usambazaji wa kondomu + Huduma ya ugawaji wa vitendanishi vya JIPIME + Huduma zingine za CBHS + Hamna + + Paracetamol + ORS + Hakuna + + Vifaa vya kujipima VVU + Vitakasa mikono + Barakoa + Kondomu + Dawa za kuua vijidudu vya maji + Vifaa vingine + \ No newline at end of file From ffb5bcdede02266c9d6b7bb8cdc524c01a3e7398 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 16 Aug 2022 10:13:05 +0300 Subject: [PATCH 552/915] :hammer: updated minimumandroidMinSdkVersion to match some of the used libraries in LD --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index e924b14a08..cc1a0a9da7 100644 --- a/build.gradle +++ b/build.gradle @@ -65,7 +65,7 @@ subprojects { ext.androidToolsBuildGradle = '4.0.1' ext.androidBuildToolsVersion = '29.0.3' - ext.androidMinSdkVersion = 19 + ext.androidMinSdkVersion = 21 ext.androidCompileSdkVersion = 30 ext.androidTargetSdkVersion = 30 From 238d11f5bfa6651e1900b2d4d88a7bbe174bc50e Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 16 Aug 2022 11:09:16 +0300 Subject: [PATCH 553/915] added: teh hivst library to chw and added hivst table --- opensrp-chw/build.gradle | 2 +- opensrp-chw/src/main/AndroidManifest.xml | 6 ++ .../chw/activity/HivstProfileActivity.java | 71 +++++++++++++++++++ .../chw/activity/HivstRegisterActivity.java | 6 ++ .../chw/application/ChwApplication.java | 5 ++ .../src/nacp/assets/ec_client_fields.json | 51 +++++++++++++ .../chw/model/NavigationModelFlv.java | 9 +-- 7 files changed, 145 insertions(+), 5 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 21975cb422..a663cfa974 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -345,7 +345,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.31.26-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.31.29-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 30963556eb..a3e378f494 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -10,6 +10,12 @@ android:theme="@style/ChwTheme" android:usesCleartextTraffic="true" tools:replace="android:theme"> + + getFamilyProfileActivityClass() { + return null; + } + + @Override + protected void removeMember() { + //implement + } + + @NonNull + @Override + public CoreFamilyOtherMemberActivityPresenter presenter() { + return null; + } + + @Override + public void setProfileImage(String s, String s1) { + //implement + } + + @Override + public void setProfileDetailThree(String s) { + //implement + } + + @Override + public void toggleFamilyHead(boolean b) { + //implement + } + + @Override + public void togglePrimaryCaregiver(boolean b) { + //implement + } + + @Override + public void refreshList() { + //implement + } + + @Override + public void updateHasPhone(boolean b) { + //implement + } + + @Override + public void setFamilyServiceStatus(String s) { + //implement + } + + @Override + public void verifyHasPhone() { + //implement + } + + @Override + public void notifyHasPhone(boolean b) { + //implement + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java new file mode 100644 index 0000000000..8142c3f547 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java @@ -0,0 +1,6 @@ +package org.smartregister.chw.activity; + +import org.smartregister.chw.core.activity.CoreHivstRegisterActivity; + +public class HivstRegisterActivity extends CoreHivstRegisterActivity { +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index 03c930e040..6bf149dbac 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -34,6 +34,7 @@ import org.smartregister.chw.activity.FpRegisterActivity; import org.smartregister.chw.activity.HivIndexContactsContactsRegisterActivity; import org.smartregister.chw.activity.HivRegisterActivity; +import org.smartregister.chw.activity.HivstRegisterActivity; import org.smartregister.chw.activity.LTFURegisterActivity; import org.smartregister.chw.activity.LoginActivity; import org.smartregister.chw.activity.MalariaRegisterActivity; @@ -53,6 +54,7 @@ import org.smartregister.chw.custom_view.NavigationMenuFlv; import org.smartregister.chw.fp.FpLibrary; import org.smartregister.chw.hiv.HivLibrary; +import org.smartregister.chw.hivst.HivstLibrary; import org.smartregister.chw.job.ChwJobCreator; import org.smartregister.chw.malaria.MalariaLibrary; import org.smartregister.chw.model.NavigationModelFlv; @@ -272,6 +274,8 @@ private void initializeLibraries() { PmtctLibrary.init(context, getRepository(), BuildConfig.VERSION_CODE, BuildConfig.DATABASE_VERSION); } + HivstLibrary.init(context, getRepository(), BuildConfig.VERSION_CODE, BuildConfig.DATABASE_VERSION); + OpdLibrary.init(context, getRepository(), new OpdConfiguration.Builder(ChwAllClientsRegisterQueryProvider.class) .setBottomNavigationEnabled(true) @@ -352,6 +356,7 @@ public Map getRegisteredActivities() { registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_REGISTER_ACTIVITY, HivRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_INDEX_REGISTER_ACTIVITY, HivIndexContactsContactsRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.LTFU_REFERRALS_REGISTER_ACTIVITY, LTFURegisterActivity.class); + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_SELF_TESTING_REGISTER_ACTIVITY, HivstRegisterActivity.class); // TODO uncomment these when NACP is ready to test these modules // registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.TB_REGISTER_ACTIVITY, TbRegisterActivity.class); } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 6026bc9f1f..e69f6973e6 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -3894,6 +3894,57 @@ } } ] + }, + { + "name": "ec_hivst_register", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "registration_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "registration_date" + } + }, + { + "column_name": "client_testing_history", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_testing_history" + } + }, + { + "column_name": "client_group", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_group" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + } + ] } ] } \ No newline at end of file diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java index a7cfb9b4a6..fe61225a5f 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -1,7 +1,5 @@ package org.smartregister.chw.model; -import static org.smartregister.AllConstants.TEAM_ROLE_IDENTIFIER; - import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.core.model.NavigationModel; @@ -14,6 +12,8 @@ import java.util.Arrays; import java.util.List; +import static org.smartregister.AllConstants.TEAM_ROLE_IDENTIFIER; + public class NavigationModelFlv implements NavigationModel.Flavor { private static List navigationOptions = new ArrayList<>(); @@ -36,6 +36,7 @@ public List getNavigationItems() { NavigationOption op13 = new NavigationOption(R.drawable.sidemenu_pmtct, R.drawable.sidemenu_pmtct_active, R.string.mother_champion, CoreConstants.DrawerMenu.MOTHER_CHAMPION, 0); NavigationOption op14 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); NavigationOption op15 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.menu_ltfu, Constants.DrawerMenu.LTFU, 0); + NavigationOption op16 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hivst, CoreConstants.DrawerMenu.HIV_SELF_TESTING, 0); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { AllSharedPreferences allSharedPreferences = org.smartregister.util.Utils.getAllSharedPreferences(); @@ -43,9 +44,9 @@ public List getNavigationItems() { if (teamRoleIdentifier.equals("mother_champion")) { navigationOptions.addAll(Arrays.asList(op10, op13, op8)); } else if (teamRoleIdentifier.equals("cbhs_provider")) { - navigationOptions.addAll(Arrays.asList(op10, op11, op12, op8, op15)); + navigationOptions.addAll(Arrays.asList(op10, op11, op12, op16, op8, op15)); } else { - navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op13, op8, op15)); + navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op16, op3, op5, op13, op8, op15)); } } else { navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); From 7f97d1a2f234c3ea597f58598cca0540d799af10 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 16 Aug 2022 11:33:35 +0300 Subject: [PATCH 554/915] fix: linking to fragment --- .../smartregister/chw/activity/HivstRegisterActivity.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java index 8142c3f547..07d9f4ccdb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java @@ -1,6 +1,12 @@ package org.smartregister.chw.activity; import org.smartregister.chw.core.activity.CoreHivstRegisterActivity; +import org.smartregister.chw.core.fragment.CoreHivstRegisterFragment; +import org.smartregister.view.fragment.BaseRegisterFragment; public class HivstRegisterActivity extends CoreHivstRegisterActivity { + @Override + protected BaseRegisterFragment getRegisterFragment() { + return new CoreHivstRegisterFragment(); + } } From 276b32ebd91a69c6c2940c632b0b07c07d4b0d8c Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 16 Aug 2022 11:39:52 +0300 Subject: [PATCH 555/915] Create: HIVST forms phase 1 --- .../json.form/hivst_mobilization_session.json | 190 ++++++++++++++++++ .../assets/json.form/hivst_registration.json | 143 +++++++++++++ 2 files changed, 333 insertions(+) create mode 100644 opensrp-chw/src/nacp/assets/json.form/hivst_mobilization_session.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/hivst_registration.json diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_mobilization_session.json b/opensrp-chw/src/nacp/assets/json.form/hivst_mobilization_session.json new file mode 100644 index 0000000000..8669e525f9 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_mobilization_session.json @@ -0,0 +1,190 @@ +{ + "count": "1", + "encounter_type": "HIVST Mobilization Session", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "global": {}, + "step1": { + "title": "Self Testing Mobilization Session", + "fields": [ + { + "key": "mobilization_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "mobilization_date", + "type": "date_picker", + "hint": "Mobilization Date", + "expanded": false, + "min_date": "today-6m", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Please enter the mobilization date" + } + }, + { + "key": "female_clients_reached", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "female_clients_reached", + "type": "edit_text", + "hint": "Number of Female clients reached", + "v_numeric": { + "value": "true", + "err": "Please enter a valid number" + }, + "v_min": { + "value": "0", + "err": "The number must be equal or greater than 0" + }, + "v_required": { + "value": true, + "err": "Please enter the number" + } + }, + { + "key": "male_clients_reached", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "male_clients_reached", + "type": "edit_text", + "hint": "Number of Male clients reached", + "v_numeric": { + "value": "true", + "err": "Please enter a valid number" + }, + "v_min": { + "value": "0", + "err": "The number must be equal or greater than 0" + }, + "v_required": { + "value": true, + "err": "Please enter the number" + } + }, + { + "key": "gps", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gps", + "openmrs_data_type": "text", + "type": "gps" + }, + { + "key": "female_condoms_issued", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "female_condoms_issued", + "type": "edit_text", + "hint": "Female condoms issued", + "v_numeric": { + "value": "true", + "err": "Please enter a valid number" + }, + "v_min": { + "value": "0", + "err": "The number must be equal or greater than 0" + }, + "v_required": { + "value": true, + "err": "Please enter the number" + } + }, + { + "key": "male_condoms_issued", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "male_condoms_issued", + "type": "edit_text", + "hint": "Male condoms issued", + "v_numeric": { + "value": "true", + "err": "Please enter a valid number" + }, + "v_min": { + "value": "0", + "err": "The number must be equal or greater than 0" + }, + "v_required": { + "value": true, + "err": "Please enter the number" + } + }, + { + "key": "kit_used_in_demonstration", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "kit_used_in_demonstration", + "label": "Was a kit used for demonstration in this session?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Yes", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + } + }, + { + "key": "kit_code", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "kit_code", + "type": "edit_text", + "hint": "Kit code" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_registration.json b/opensrp-chw/src/nacp/assets/json.form/hivst_registration.json new file mode 100644 index 0000000000..e4df638df3 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_registration.json @@ -0,0 +1,143 @@ +{ + "count": "1", + "encounter_type": "HIVST Registration", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "global": {}, + "step1": { + "title": "HIVST Enrollment", + "fields": [ + { + "key": "client_testing_history", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_testing_history", + "label": "Select the client's testing history", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "new_client", + "text": "New Client (MP)", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "new_client" + }, + { + "key": "returning_client", + "text": "Returning Client (HM)", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "returning_client" + }, + { + "key": "known_positive", + "text": "Known Positive", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "known_positive" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + } + }, + { + "key": "client_group", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_group", + "label": "Select the client's group as screened by the health care provider", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "fsw", + "text": "FSW", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fsw" + }, + { + "key": "msm", + "text": "MSM", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "msm" + }, + { + "key": "pwid", + "text": "PWID", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pwid" + }, + { + "key": "prisoners", + "text": "Prisoners", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "prisoners" + }, + { + "key": "agyw", + "text": "AGYW", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "agyw" + }, + { + "key": "others", + "text": "Others", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "others" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + } + } + ] + } +} \ No newline at end of file From ef8e3bf7e2125340c0584d8b60f3a5003467a207 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 16 Aug 2022 13:13:25 +0300 Subject: [PATCH 556/915] fix: loading the profile view for selfTesting clients --- .../chw/activity/HivProfileActivity.java | 8 ++++ .../chw/activity/HivstProfileActivity.java | 43 +++++++++++++++++++ .../chw/activity/HivstRegisterActivity.java | 20 ++++++++- .../chw/fragment/HivstRegisterFragment.java | 12 ++++++ .../src/main/res/menu/hiv_profile_menu.xml | 5 +++ .../nacp/assets/ec_client_classification.json | 7 +++ .../assets/json.form/hivst_registration.json | 2 +- opensrp-chw/src/nacp/res/values/strings.xml | 1 + 8 files changed, 95 insertions(+), 3 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstRegisterFragment.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 620ce4fcf5..1381545941 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -499,9 +499,17 @@ public boolean onOptionsItemSelected(MenuItem item) { PncRegisterActivity.startPncRegistrationActivity(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), null, CoreConstants.JSON_FORM.getPregnancyOutcome(), AncLibrary.getInstance().getUniqueIdRepository().getNextUniqueId().getOpenmrsId(), getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyName(), null); return true; } + else if(itemId == R.id.action_hivst_registration){ + startHivstRegistration(); + return true; + } return super.onOptionsItemSelected(item); } + private void startHivstRegistration() { + HivstRegisterActivity.startHivstRegistrationActivity(this, getHivMemberObject().getBaseEntityId()); + } + protected void startTbRegister() { try { TbRegisterActivity.startTbFormActivity(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), CoreConstants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getTbRegistration()).toString()); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java index b7b80e6c72..32917003fb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java @@ -1,13 +1,40 @@ package org.smartregister.chw.activity; +import android.app.Activity; +import android.content.Intent; +import android.view.Menu; +import android.view.View; + import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; import org.smartregister.chw.core.activity.CoreHivstProfileActivity; +import org.smartregister.chw.core.interactor.CoreHivstProfileInteractor; import org.smartregister.chw.core.presenter.CoreFamilyOtherMemberActivityPresenter; +import org.smartregister.chw.core.presenter.CoreHivstMemberProfilePresenter; +import org.smartregister.chw.hivst.dao.HivstDao; +import org.smartregister.chw.pmtct.util.Constants; +import org.smartregister.domain.AlertStatus; import androidx.annotation.NonNull; public class HivstProfileActivity extends CoreHivstProfileActivity { + + public static void startProfile(Activity activity, String baseEntityId) { + Intent intent = new Intent(activity, HivstProfileActivity.class); + intent.putExtra(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID, baseEntityId); + activity.startActivity(intent); + } + + @Override + protected void initializePresenter() { + showProgressBar(true); + String baseEntityId = getIntent().getStringExtra(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID); + memberObject = HivstDao.getMember(baseEntityId); + profilePresenter = new CoreHivstMemberProfilePresenter(this, new CoreHivstProfileInteractor(), memberObject); + fetchProfileData(); + profilePresenter.refreshProfileBottom(); + } + @Override protected Class getFamilyProfileActivityClass() { return null; @@ -18,6 +45,11 @@ protected void removeMember() { //implement } + @Override + public boolean onCreateOptionsMenu(Menu menu) { + return false; + } + @NonNull @Override public CoreFamilyOtherMemberActivityPresenter presenter() { @@ -68,4 +100,15 @@ public void verifyHasPhone() { public void notifyHasPhone(boolean b) { //implement } + + @Override + public void refreshMedicalHistory(boolean hasHistory) { + rlLastVisit.setVisibility(View.GONE); + } + + @Override + public void refreshFamilyStatus(AlertStatus status) { + super.refreshFamilyStatus(status); + rlFamilyServicesDue.setVisibility(View.GONE); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java index 07d9f4ccdb..1da03556b3 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java @@ -1,12 +1,28 @@ package org.smartregister.chw.activity; +import android.app.Activity; +import android.content.Intent; + import org.smartregister.chw.core.activity.CoreHivstRegisterActivity; -import org.smartregister.chw.core.fragment.CoreHivstRegisterFragment; +import org.smartregister.chw.fragment.HivstRegisterFragment; +import org.smartregister.chw.hivst.util.Constants; import org.smartregister.view.fragment.BaseRegisterFragment; public class HivstRegisterActivity extends CoreHivstRegisterActivity { + + + public static void startHivstRegistrationActivity(Activity activity, String memberBaseEntityID) { + Intent intent = new Intent(activity, HivstRegisterActivity.class); + intent.putExtra(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID, memberBaseEntityID); + intent.putExtra(Constants.ACTIVITY_PAYLOAD.ACTION, Constants.ACTIVITY_PAYLOAD_TYPE.REGISTRATION); + intent.putExtra(Constants.ACTIVITY_PAYLOAD.HIVST_FORM_NAME, Constants.FORMS.HIVST_REGISTRATION); + activity.startActivity(intent); + } + @Override protected BaseRegisterFragment getRegisterFragment() { - return new CoreHivstRegisterFragment(); + return new HivstRegisterFragment(); } + + } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstRegisterFragment.java new file mode 100644 index 0000000000..b38d7b8a18 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstRegisterFragment.java @@ -0,0 +1,12 @@ +package org.smartregister.chw.fragment; + +import org.smartregister.chw.activity.HivstProfileActivity; +import org.smartregister.chw.core.fragment.CoreHivstRegisterFragment; + +public class HivstRegisterFragment extends CoreHivstRegisterFragment { + + @Override + protected void openProfile(String baseEntityId) { + HivstProfileActivity.startProfile(requireActivity(), baseEntityId); + } +} diff --git a/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml b/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml index bdc628c76f..ab37a148ca 100644 --- a/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml +++ b/opensrp-chw/src/main/res/menu/hiv_profile_menu.xml @@ -46,6 +46,11 @@ android:enabled="true" android:title="@string/pnc_registration" app:showAsAction="never" /> + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index 071cc6a406..a7e1ab017d 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -529,6 +529,13 @@ "creates_case": [ "ec_sbcc" ] + }, + { + "field": "eventType", + "field_value": "Self Testing Registration", + "creates_case": [ + "ec_hivst_register" + ] } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_registration.json b/opensrp-chw/src/nacp/assets/json.form/hivst_registration.json index e4df638df3..f6bf61dcfd 100644 --- a/opensrp-chw/src/nacp/assets/json.form/hivst_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_registration.json @@ -1,6 +1,6 @@ { "count": "1", - "encounter_type": "HIVST Registration", + "encounter_type": "Self Testing Registration", "entity_id": "", "metadata": { "start": { diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 76547dc933..4ffaf6fa55 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -72,5 +72,6 @@ PMTCT TB Referred Clinic + HIVST Registration \ No newline at end of file From e1546f8d55d21354049ce62ca4d5f7cb38df1b2d Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 16 Aug 2022 15:38:50 +0300 Subject: [PATCH 557/915] fix: defined register to hivst action --- .../src/main/res/menu/anc_member_profile_menu.xml | 10 ++++++++-- opensrp-chw/src/nacp/res/values/strings.xml | 1 - 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/main/res/menu/anc_member_profile_menu.xml b/opensrp-chw/src/main/res/menu/anc_member_profile_menu.xml index 32c1c426fb..6b354b9891 100644 --- a/opensrp-chw/src/main/res/menu/anc_member_profile_menu.xml +++ b/opensrp-chw/src/main/res/menu/anc_member_profile_menu.xml @@ -56,6 +56,12 @@ android:enabled="true" android:visible="false" android:title="@string/cbhs_registration" - app:showAsAction="never" - /> + app:showAsAction="never" /> + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 4ffaf6fa55..76547dc933 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -72,6 +72,5 @@ PMTCT TB Referred Clinic - HIVST Registration \ No newline at end of file From f2c3af7599cfadd7df1f5a0f66a328b3a71e196d Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 16 Aug 2022 15:51:55 +0300 Subject: [PATCH 558/915] fix: check for HIVST registration --- .../java/org/smartregister/chw/activity/HivProfileActivity.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 1381545941..b95764ba7e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -41,6 +41,7 @@ import org.smartregister.chw.hiv.util.Constants; import org.smartregister.chw.hiv.util.DBConstants; import org.smartregister.chw.hiv.util.HivUtil; +import org.smartregister.chw.hivst.dao.HivstDao; import org.smartregister.chw.interactor.CbhsProfileInteractor; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.HivProfilePresenter; @@ -481,6 +482,7 @@ public boolean onCreateOptionsMenu(Menu menu) { menu.findItem(R.id.action_anc_registration).setVisible(isClientEligibleForAnc(getHivMemberObject()) && !AncDao.isANCMember(getHivMemberObject().getBaseEntityId())); menu.findItem(R.id.action_pregnancy_out_come).setVisible(isClientEligibleForAnc(getHivMemberObject()) && !PNCDao.isPNCMember(getHivMemberObject().getBaseEntityId())); menu.findItem(R.id.action_location_info).setVisible(UpdateDetailsUtil.isIndependentClient(getHivMemberObject().getBaseEntityId())); + menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(getHivMemberObject().getBaseEntityId())); // flavor.updateTbMenuItems(getHivMemberObject().getBaseEntityId(), menu); return true; } From 0fd56f2d5e21fdc3411ff8743d8258e90cac6e24 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 16 Aug 2022 16:01:02 +0300 Subject: [PATCH 559/915] added: action to register to hivst in anc --- .../smartregister/chw/activity/AncMemberProfileActivity.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index 20e7ff635d..b7b40843b6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -40,6 +40,7 @@ import org.smartregister.chw.custom_view.AncFloatingMenu; import org.smartregister.chw.dataloader.AncMemberDataLoader; import org.smartregister.chw.dataloader.FamilyMemberDataLoader; +import org.smartregister.chw.hivst.dao.HivstDao; import org.smartregister.chw.interactor.AncMemberProfileInteractor; import org.smartregister.chw.malaria.dao.MalariaDao; import org.smartregister.chw.model.FamilyProfileModel; @@ -193,6 +194,9 @@ public boolean onOptionsItemSelected(MenuItem item) { startCBHSRegister(commonPersonObject); return true; } + if(itemId == R.id.action_hivst_registration){ + HivstRegisterActivity.startHivstRegistrationActivity(this, baseEntityID); + } return super.onOptionsItemSelected(item); } @@ -203,6 +207,7 @@ public boolean onCreateOptionsMenu(Menu menu) { menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); menu.findItem(R.id.action_pregnancy_out_come).setVisible(true); menu.findItem(R.id.action_anc_registration).setVisible(false); + menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(baseEntityID)); UtilsFlv.updateHivMenuItems(baseEntityID, menu); return true; } From a433be0259f450683ce25b1b04b00cfc96a60c33 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 16 Aug 2022 16:05:58 +0300 Subject: [PATCH 560/915] fix: condition for showing hivst registration in index contact profile --- .../chw/activity/HivIndexContactProfileActivity.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java index bf16b85e91..eda9dec86e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java @@ -34,6 +34,7 @@ import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hiv.dao.HivIndexDao; import org.smartregister.chw.hiv.domain.HivIndexContactObject; +import org.smartregister.chw.hivst.dao.HivstDao; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.presenter.HivIndexContactProfilePresenter; import org.smartregister.chw.tb.util.Constants; @@ -146,6 +147,7 @@ public boolean onOptionsItemSelected(MenuItem item) { public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(org.smartregister.chw.core.R.menu.hiv_profile_menu, menu); menu.findItem(R.id.action_location_info).setVisible(UpdateDetailsUtil.isIndependentClient(getHivIndexContactObject().getBaseEntityId())); + menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(getHivIndexContactObject().getBaseEntityId())); return true; } From 89a6ce14c6834ac38ce1d1b4e2285110c2d627e4 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 16 Aug 2022 16:10:14 +0300 Subject: [PATCH 561/915] added: action to register to hivst in pnc --- .../smartregister/chw/activity/PncMemberProfileActivity.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index e7e55d3bba..018bae12e9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -44,6 +44,7 @@ import org.smartregister.chw.core.utils.UpdateDetailsUtil; import org.smartregister.chw.custom_view.AncFloatingMenu; import org.smartregister.chw.fp.util.FamilyPlanningConstants; +import org.smartregister.chw.hivst.dao.HivstDao; import org.smartregister.chw.interactor.FamilyProfileInteractor; import org.smartregister.chw.interactor.PncMemberProfileInteractor; import org.smartregister.chw.model.ChildRegisterModel; @@ -285,6 +286,7 @@ public void openUpcomingService() { public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); flavor.onCreateOptionsMenu(menu, memberObject.getBaseEntityId()); + menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(memberObject.getBaseEntityId())); return true; } @@ -301,6 +303,9 @@ public boolean onOptionsItemSelected(MenuItem item) { } return true; } + if(itemId == R.id.action_hivst_registration){ + HivstRegisterActivity.startHivstRegistrationActivity(this, baseEntityID); + } return super.onOptionsItemSelected(item); } From 0b704f7e590201a2e557366ac1728de20d46d026 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 16 Aug 2022 16:24:55 +0300 Subject: [PATCH 562/915] added: action to register to hivst for independent clients and family member clients --- .../chw/activity/AllClientsMemberProfileActivity.java | 7 +++++++ .../chw/activity/FamilyOtherMemberProfileActivity.java | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index d173ae7909..3eb33aed51 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -18,6 +18,7 @@ import org.smartregister.chw.dataloader.FamilyMemberDataLoader; import org.smartregister.chw.fp.util.FamilyPlanningConstants; import org.smartregister.chw.fragment.FamilyOtherMemberProfileFragment; +import org.smartregister.chw.hivst.dao.HivstDao; import org.smartregister.chw.presenter.AllClientsMemberPresenter; import org.smartregister.chw.presenter.FamilyOtherMemberActivityPresenter; import org.smartregister.chw.util.Constants; @@ -47,6 +48,7 @@ public boolean onCreateOptionsMenu(Menu menu) { menu.findItem(R.id.action_cbhs_registration).setVisible(true); menu.findItem(R.id.action_tb_registration).setVisible(false); menu.findItem(R.id.action_fp_initiation).setVisible(false); + menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(baseEntityId)); if (flavor.hasANC() && !presenter().isWomanAlreadyRegisteredOnAnc(commonPersonObject) && flavor.isOfReproductiveAge(commonPersonObject, "Female") && gender.equalsIgnoreCase("Female")) { flavor.updateFpMenuItems(baseEntityId, menu); menu.findItem(R.id.action_anc_registration).setVisible(true); @@ -131,6 +133,11 @@ protected void startFpChangeMethod() { FamilyPlanningConstants.ActivityPayload.CHANGE_METHOD_PAYLOAD_TYPE); } + @Override + protected void startHivstRegistration(){ + HivstRegisterActivity.startHivstRegistrationActivity(AllClientsMemberProfileActivity.this, baseEntityId); + } + @Override protected void removeIndividualProfile() { IndividualProfileRemoveActivity.startIndividualProfileActivity(AllClientsMemberProfileActivity.this, diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index bf8ca3b60a..454d6cbf0b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -19,6 +19,7 @@ import org.smartregister.chw.dataloader.FamilyMemberDataLoader; import org.smartregister.chw.fp.util.FamilyPlanningConstants; import org.smartregister.chw.fragment.FamilyOtherMemberProfileFragment; +import org.smartregister.chw.hivst.dao.HivstDao; import org.smartregister.chw.presenter.FamilyOtherMemberActivityPresenter; import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.Utils; @@ -67,6 +68,8 @@ public boolean onCreateOptionsMenu(Menu menu) { menu.findItem(R.id.action_sick_child_follow_up).setVisible(false); menu.findItem(R.id.action_malaria_diagnosis).setVisible(false); + menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(baseEntityId)); + flavor.updateMalariaMenuItems(baseEntityId, menu); if (gender.equalsIgnoreCase("Male") && flavor.isOfReproductiveAge(commonPersonObject, "Male")) { @@ -252,6 +255,10 @@ protected void startPmtctRegisration() { protected void startLDRegistration() { //do nothing - implementation in hf } + @Override + protected void startHivstRegistration(){ + HivstRegisterActivity.startHivstRegistrationActivity(FamilyOtherMemberProfileActivity.this, baseEntityId); + } /** * build implementation differences file From eaf32ae78ee237f575bfa2a64e4788588f6dacee Mon Sep 17 00:00:00 2001 From: zk497 Date: Wed, 17 Aug 2022 11:28:46 +0300 Subject: [PATCH 563/915] Create: HIVST forms phase 2 --- .../hivst_providing_self_test_kits.json | 433 ++++++++++++++++++ ...t_providing_self_test_kits_calculation.yml | 0 ...vst_providing_self_test_kits_relevance.yml | 14 + 3 files changed, 447 insertions(+) create mode 100644 opensrp-chw/src/nacp/assets/json.form/hivst_providing_self_test_kits.json create mode 100644 opensrp-chw/src/nacp/assets/rule/hivst_providing_self_test_kits_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/hivst_providing_self_test_kits_relevance.yml diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_providing_self_test_kits.json b/opensrp-chw/src/nacp/assets/json.form/hivst_providing_self_test_kits.json new file mode 100644 index 0000000000..c33e794950 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_providing_self_test_kits.json @@ -0,0 +1,433 @@ +{ + "count": "1", + "encounter_type": "HIVST Self Test Kits", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Providing Self Test Kits", + "fields": [ + { + "key": "pre_test_counselling_and_instructions", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pre_test_counselling_and_instructions", + "label": "Has the client been offered pre-test counselling and instructions?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Yes", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + } + }, + { + "key": "clients_testing_approach", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "clients_testing_approach", + "label": "Client's testing approach", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "assisted_testing_on_site", + "text": "Assisted testing on site", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "assisted_testing_on_site" + }, + { + "key": "assisted_testing_off_site", + "text": "Assisted testing off site", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "assisted_testing_off_site" + }, + { + "key": "unassisted_testing_on_site", + "text": "Unassisted testing on site", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "unassisted_testing_on_site" + }, + { + "key": "unassisted_testing_off_site", + "text": "Unassisted testing off site", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "unassisted_testing_off_site" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + } + }, + { + "key": "self_test_kit_given", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "self_test_kit_given", + "label": "Was the client provided with HIVST kit?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Yes", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + } + }, + { + "key": "kit_code", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "kit_code", + "type": "edit_text", + "hint": "Kit code", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_providing_self_test_kits_relevance.yml" + } + } + } + }, + { + "key": "extra_kits_required", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "extra_kits_required", + "label": "Does the client require extra kits?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Yes", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_providing_self_test_kits_relevance.yml" + } + } + } + }, + { + "key": "extra_kits_issued_for", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "extra_kits_issued_for", + "type": "check_box", + "combine_checkbox_option_values": "true", + "label": "Extra Kits were issued for?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "peer_friend", + "text": "Peer Friend", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "peer_friend" + }, + { + "key": "sexual_partner", + "text": "Sexual Partner", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "sexual_partner" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + }, + "relevance": { + "step1:extra_kits_required": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "peer_friend_kit_code", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "peer_friend_kit_code", + "type": "edit_text", + "hint": "Peer Friend Kit code", + "relevance": { + "step1:extra_kits_issued_for": { + "ex-checkbox": [ + { + "or": [ + "peer_friend" + ] + } + ] + } + } + }, + { + "key": "sexual_partner_kit_code", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sexual_partner_kit_code", + "type": "edit_text", + "hint": "Sexual Partner Kit code", + "relevance": { + "step1:extra_kits_issued_for": { + "ex-checkbox": [ + { + "or": [ + "sexual_partner" + ] + } + ] + } + } + }, + { + "key": "condoms_given", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms_given", + "label": "Was the client given condoms?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Yes", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + } + }, + { + "key": "type_of_issued_condoms", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_issued_condoms", + "type": "check_box", + "combine_checkbox_option_values": "true", + "label": "Select the type of condoms issued", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "male_condoms", + "text": "Male Condoms", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "male_condoms" + }, + { + "key": "female_condoms", + "text": "Female Condoms", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "female_condoms" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + }, + "relevance": { + "step1:condoms_given": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "number_of_male_condoms_issued", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_male_condoms_issued", + "type": "edit_text", + "hint": "Number of Male condoms issued (Pieces)", + "v_numeric": { + "value": "true", + "err": "Please enter a valid number" + }, + "v_min": { + "value": "0", + "err": "The number must be equal or greater than 0" + }, + "v_required": { + "value": true, + "err": "Please enter the number" + }, + "relevance": { + "step1:type_of_issued_condoms": { + "ex-checkbox": [ + { + "or": [ + "male_condoms" + ] + } + ] + } + } + }, + { + "key": "number_of_female_condoms_issued", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_female_condoms_issued", + "type": "edit_text", + "hint": "Number of Female condoms issued (Pieces)", + "v_numeric": { + "value": "true", + "err": "Please enter a valid number" + }, + "v_min": { + "value": "0", + "err": "The number must be equal or greater than 0" + }, + "v_required": { + "value": true, + "err": "Please enter the number" + }, + "relevance": { + "step1:type_of_issued_condoms": { + "ex-checkbox": [ + { + "or": [ + "female_condoms" + ] + } + ] + } + } + }, + { + "key": "sms_notification_service", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sms_notification_service", + "label": "Has the client opted for sms notification service?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Yes", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/hivst_providing_self_test_kits_calculation.yml b/opensrp-chw/src/nacp/assets/rule/hivst_providing_self_test_kits_calculation.yml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/opensrp-chw/src/nacp/assets/rule/hivst_providing_self_test_kits_relevance.yml b/opensrp-chw/src/nacp/assets/rule/hivst_providing_self_test_kits_relevance.yml new file mode 100644 index 0000000000..5d73ad347d --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/hivst_providing_self_test_kits_relevance.yml @@ -0,0 +1,14 @@ +--- +name: step1_kit_code +description: kit_code relevance +priority: 1 +condition: "step1_self_test_kit_given.contains('yes')" +actions: + - "isRelevant = true" +--- +name: step1_extra_kits_required +description: extra_kits_required relevance +priority: 1 +condition: "step1_self_test_kit_given.contains('yes')" +actions: + - "isRelevant = true" \ No newline at end of file From c4cd4df15c1b195a8678591b5b9fc7920bcb2170 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 17 Aug 2022 11:38:02 +0300 Subject: [PATCH 564/915] renamed: forms to match library --- ...st_providing_self_test_kits.json => hivst_issue_kits.json} | 4 ++-- ..._kits_calculation.yml => hivst_issue_kits_calculation.yml} | 0 ...test_kits_relevance.yml => hivst_issue_kits_relevance.yml} | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename opensrp-chw/src/nacp/assets/json.form/{hivst_providing_self_test_kits.json => hivst_issue_kits.json} (98%) rename opensrp-chw/src/nacp/assets/rule/{hivst_providing_self_test_kits_calculation.yml => hivst_issue_kits_calculation.yml} (100%) rename opensrp-chw/src/nacp/assets/rule/{hivst_providing_self_test_kits_relevance.yml => hivst_issue_kits_relevance.yml} (100%) diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_providing_self_test_kits.json b/opensrp-chw/src/nacp/assets/json.form/hivst_issue_kits.json similarity index 98% rename from opensrp-chw/src/nacp/assets/json.form/hivst_providing_self_test_kits.json rename to opensrp-chw/src/nacp/assets/json.form/hivst_issue_kits.json index c33e794950..8ac33c3955 100644 --- a/opensrp-chw/src/nacp/assets/json.form/hivst_providing_self_test_kits.json +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_issue_kits.json @@ -155,7 +155,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "hivst_providing_self_test_kits_relevance.yml" + "rules-file": "hivst_issue_kits_relevance.yml" } } } @@ -191,7 +191,7 @@ "relevance": { "rules-engine": { "ex-rules": { - "rules-file": "hivst_providing_self_test_kits_relevance.yml" + "rules-file": "hivst_issue_kits_relevance.yml" } } } diff --git a/opensrp-chw/src/nacp/assets/rule/hivst_providing_self_test_kits_calculation.yml b/opensrp-chw/src/nacp/assets/rule/hivst_issue_kits_calculation.yml similarity index 100% rename from opensrp-chw/src/nacp/assets/rule/hivst_providing_self_test_kits_calculation.yml rename to opensrp-chw/src/nacp/assets/rule/hivst_issue_kits_calculation.yml diff --git a/opensrp-chw/src/nacp/assets/rule/hivst_providing_self_test_kits_relevance.yml b/opensrp-chw/src/nacp/assets/rule/hivst_issue_kits_relevance.yml similarity index 100% rename from opensrp-chw/src/nacp/assets/rule/hivst_providing_self_test_kits_relevance.yml rename to opensrp-chw/src/nacp/assets/rule/hivst_issue_kits_relevance.yml From fd71c56c966f7b2a5e4a369b92bb025f7fcd11bf Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 17 Aug 2022 11:38:33 +0300 Subject: [PATCH 565/915] fix: loading the issue kits form --- .../chw/activity/HivstProfileActivity.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java index 32917003fb..21be3ac125 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java @@ -5,13 +5,15 @@ import android.view.Menu; import android.view.View; +import org.json.JSONObject; import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; import org.smartregister.chw.core.activity.CoreHivstProfileActivity; import org.smartregister.chw.core.interactor.CoreHivstProfileInteractor; import org.smartregister.chw.core.presenter.CoreFamilyOtherMemberActivityPresenter; import org.smartregister.chw.core.presenter.CoreHivstMemberProfilePresenter; +import org.smartregister.chw.core.utils.FormUtils; import org.smartregister.chw.hivst.dao.HivstDao; -import org.smartregister.chw.pmtct.util.Constants; +import org.smartregister.chw.hivst.util.Constants; import org.smartregister.domain.AlertStatus; import androidx.annotation.NonNull; @@ -40,6 +42,12 @@ protected Class getFamilyProfileActivityCla return null; } + @Override + public void startIssueSelfTestingKitsForm(String baseEntityId) { + JSONObject form = FormUtils.getFormUtils().getFormJson(Constants.FORMS.HIVST_ISSUE_KITS); + startFormActivity(form); + } + @Override protected void removeMember() { //implement From 95f3c2b583edc8c64643e1f3e49737b6348e267c Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 17 Aug 2022 14:50:52 +0300 Subject: [PATCH 566/915] fix: implementation to persist self testing data to database --- .../chw/activity/HivstProfileActivity.java | 7 ++ .../nacp/assets/ec_client_classification.json | 21 +++++ .../src/nacp/assets/ec_client_fields.json | 86 +++++++++++++++++++ .../assets/json.form/hivst_issue_kits.json | 6 +- 4 files changed, 117 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java index 21be3ac125..c12a24ee53 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java @@ -5,6 +5,7 @@ import android.view.Menu; import android.view.View; +import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.core.activity.CoreFamilyProfileActivity; import org.smartregister.chw.core.activity.CoreHivstProfileActivity; @@ -17,6 +18,7 @@ import org.smartregister.domain.AlertStatus; import androidx.annotation.NonNull; +import timber.log.Timber; public class HivstProfileActivity extends CoreHivstProfileActivity { @@ -45,6 +47,11 @@ protected Class getFamilyProfileActivityCla @Override public void startIssueSelfTestingKitsForm(String baseEntityId) { JSONObject form = FormUtils.getFormUtils().getFormJson(Constants.FORMS.HIVST_ISSUE_KITS); + try { + form.put(org.smartregister.util.JsonFormUtils.ENTITY_ID, baseEntityId); + } catch (JSONException e) { + Timber.e(e); + } startFormActivity(form); } diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index a7e1ab017d..df19d5576d 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -536,6 +536,27 @@ "creates_case": [ "ec_hivst_register" ] + }, + { + "field": "eventType", + "field_value": "Self Testing Kits Issue", + "creates_case": [ + "ec_hivst_followup" + ] + }, + { + "field": "eventType", + "field_value": "Self Testing Results Registration", + "creates_case": [ + "ec_hivst_results" + ] + }, + { + "field": "eventType", + "field_value": "Self Testing Results", + "creates_case": [ + "ec_hivst_results" + ] } ] } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index e69f6973e6..4f3ac01889 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -3945,6 +3945,92 @@ } } ] + }, + { + "name": "ec_hivst_followup", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "client_testing_approach", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "client_testing_approach" + } + }, + { + "column_name": "self_test_kit_given", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "self_test_kit_given" + } + }, + { + "column_name": "extra_kits", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "extra_kits_required" + } + } + ] + }, + { + "name": "ec_hivst_results", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "kit_for", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "kit_for" + } + }, + { + "column_name": "kit_code", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "kit_code" + } + }, + { + "column_name": "hivst_result", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "hivst_result" + } + } + ] } ] } \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_issue_kits.json b/opensrp-chw/src/nacp/assets/json.form/hivst_issue_kits.json index 8ac33c3955..7f9a69bb55 100644 --- a/opensrp-chw/src/nacp/assets/json.form/hivst_issue_kits.json +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_issue_kits.json @@ -1,6 +1,6 @@ { "count": "1", - "encounter_type": "HIVST Self Test Kits", + "encounter_type": "Self Testing Kits Issue", "entity_id": "", "metadata": { "start": { @@ -74,10 +74,10 @@ } }, { - "key": "clients_testing_approach", + "key": "client_testing_approach", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "clients_testing_approach", + "openmrs_entity_id": "client_testing_approach", "label": "Client's testing approach", "text_color": "#000000", "type": "native_radio", From df039845cb127dcfb200ffa49c2ceb2761964561 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 18 Aug 2022 11:53:39 +0300 Subject: [PATCH 567/915] :hammer: refactored --- .../activity/PncMemberProfileActivity.java | 59 +++++++++++++++---- .../chw/fragment/PncRegisterFragment.java | 12 ---- .../chw/model/NavigationModelFlv.java | 2 +- 3 files changed, 50 insertions(+), 23 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index e7e55d3bba..8aa8b0635c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -21,6 +21,8 @@ import com.vijay.jsonwizard.utils.FormUtils; import org.apache.commons.lang3.StringUtils; +import org.joda.time.DateTime; +import org.joda.time.Days; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.BuildConfig; @@ -44,6 +46,7 @@ import org.smartregister.chw.core.utils.UpdateDetailsUtil; import org.smartregister.chw.custom_view.AncFloatingMenu; import org.smartregister.chw.fp.util.FamilyPlanningConstants; +import org.smartregister.chw.interactor.ChildProfileInteractor; import org.smartregister.chw.interactor.FamilyProfileInteractor; import org.smartregister.chw.interactor.PncMemberProfileInteractor; import org.smartregister.chw.model.ChildRegisterModel; @@ -156,9 +159,45 @@ else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(Utils.metadata().fa @Override public void setupViews() { super.setupViews(); - textview_record_visit.setVisibility(GONE); +// textview_record_visit.setVisibility(GONE); + + PncVisitAlertRule summaryVisit = getVisitDetails(); + String statusVisit = summaryVisit.getButtonStatus(); + if (statusVisit.equals("OVERDUE")) { + updateUiForVisitsOverdue(); + } else if (statusVisit.equals("DUE")) { + updateUiForVisitsDue(); + } else if (ChildProfileInteractor.VisitType.VISIT_DONE.name().equals(statusVisit)) { + Visit lastVisit = getVisit(Constants.EVENT_TYPE.PNC_HOME_VISIT); + if (lastVisit != null) { + if ((Days.daysBetween(new DateTime(lastVisit.getCreatedAt()), new DateTime()).getDays() < 1) && + (Days.daysBetween(new DateTime(lastVisit.getDate()), new DateTime()).getDays() <= 1)) { + setEditViews(true, true, lastVisit.getDate().getTime()); + } else updateUiForNoVisits(); + + } else updateUiForVisitsDue(); + + } else updateUiForNoVisits(); + } + + protected void updateUiForNoVisits() { + textview_record_visit.setVisibility(View.GONE); + layoutRecordView.setVisibility(View.GONE); + } + + protected void updateUiForVisitsDue() { + layoutRecordView.setVisibility(View.VISIBLE); + textview_record_visit.setVisibility(View.VISIBLE); + textview_record_visit.setBackgroundResource(R.drawable.rounded_blue_btn); } + protected void updateUiForVisitsOverdue() { + layoutRecordView.setVisibility(View.VISIBLE); + textview_record_visit.setVisibility(View.VISIBLE); + textview_record_visit.setBackgroundResource(R.drawable.rounded_red_btn); + } + + private void refreshOnHomeVisitResult() { Observable observable = Observable.create(e -> { Visit lastVisit = getVisit(CoreConstants.EventType.PNC_HOME_VISIT); @@ -225,15 +264,15 @@ protected void onCreation() { notificationListAdapter.setOnClickListener(this); } - @Override - public void setUpComingServicesStatus(String service, AlertStatus status, Date date) { - findViewById(R.id.rlUpcomingServices).setVisibility(GONE); - } - - @Override - public void setFamilyStatus(AlertStatus status) { - findViewById(R.id.view_family_row).setVisibility(GONE); - } +// @Override +// public void setUpComingServicesStatus(String service, AlertStatus status, Date date) { +// findViewById(R.id.rlUpcomingServices).setVisibility(GONE); +// } +// +// @Override +// public void setFamilyStatus(AlertStatus status) { +// findViewById(R.id.view_family_row).setVisibility(GONE); +// } @Override public void registerPresenter() { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PncRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PncRegisterFragment.java index a14e37c881..01ce3f2379 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PncRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/PncRegisterFragment.java @@ -12,26 +12,14 @@ import org.smartregister.chw.core.utils.QueryGenerator; import org.smartregister.chw.model.ChwPncRegisterFragmentModel; import org.smartregister.chw.presenter.PncRegisterFragmentPresenter; -import org.smartregister.chw.provider.ChwPncRegisterProvider; import org.smartregister.commonregistry.CommonPersonObjectClient; -import org.smartregister.configurableviews.model.View; -import org.smartregister.cursoradapter.RecyclerViewPaginatedAdapter; import java.text.MessageFormat; -import java.util.Set; import timber.log.Timber; public class PncRegisterFragment extends CorePncRegisterFragment { - @Override - public void initializeAdapter(Set visibleColumns) { - ChwPncRegisterProvider provider = new ChwPncRegisterProvider(getActivity(), commonRepository(), visibleColumns, registerActionHandler, paginationViewHandler); - clientAdapter = new RecyclerViewPaginatedAdapter(null, provider, context().commonrepository(this.tablename)); - clientAdapter.setCurrentlimit(20); - clientsView.setAdapter(clientAdapter); - } - @Override protected void openHomeVisit(CommonPersonObjectClient client) { PncHomeVisitActivity.startMe(getActivity(), new MemberObject(client), false); diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java index a7cfb9b4a6..853e91dd87 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -45,7 +45,7 @@ public List getNavigationItems() { } else if (teamRoleIdentifier.equals("cbhs_provider")) { navigationOptions.addAll(Arrays.asList(op10, op11, op12, op8, op15)); } else { - navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op13, op8, op15)); + navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op2, op6, op7, op13, op8, op15)); } } else { navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); From e13f18fe93a22c8f41b1e4c3bd86d5fa8568dd66 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 18 Aug 2022 16:24:46 +0300 Subject: [PATCH 568/915] :hammer: enabled child module in nacp --- .../java/org/smartregister/chw/model/NavigationModelFlv.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java index 853e91dd87..5eccefe623 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -45,7 +45,7 @@ public List getNavigationItems() { } else if (teamRoleIdentifier.equals("cbhs_provider")) { navigationOptions.addAll(Arrays.asList(op10, op11, op12, op8, op15)); } else { - navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op2, op6, op7, op13, op8, op15)); + navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op2, op13, op8, op15)); } } else { navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); From 6eb182390e996ecc64bf33dafafc3764c427ec65 Mon Sep 17 00:00:00 2001 From: zk497 Date: Thu, 18 Aug 2022 17:11:07 +0300 Subject: [PATCH 569/915] Implementation to view HIVST result history --- opensrp-chw/src/main/AndroidManifest.xml | 3 + .../chw/activity/HivstProfileActivity.java | 18 ++++++ .../chw/activity/HivstResultViewActivity.java | 24 ++++++++ .../fragment/HivstResultsViewFragment.java | 34 ++++++++++++ .../chw/model/HivstResultsFragmentModel.java | 55 +++++++++++++++++++ 5 files changed, 134 insertions(+) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstResultViewActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstResultsViewFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/model/HivstResultsFragmentModel.java diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index a3e378f494..e7a4574320 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -16,6 +16,9 @@ + columnList = new HashSet<>(); + columnList.add(tableName + "." + DBConstants.KEY.ENTITY_ID + " as " + DBConstants.KEY.BASE_ENTITY_ID); + columnList.add(tableName + "." + DBConstants.KEY.BASE_ENTITY_ID + " as " + DBConstants.KEY.ENTITY_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + org.smartregister.family.util.DBConstants.KEY.RELATIONAL_ID + " as " + ChildDBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + org.smartregister.family.util.DBConstants.KEY.FIRST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + org.smartregister.family.util.DBConstants.KEY.MIDDLE_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + org.smartregister.family.util.DBConstants.KEY.LAST_NAME); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + org.smartregister.family.util.DBConstants.KEY.DOB); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + org.smartregister.family.util.DBConstants.KEY.GENDER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + org.smartregister.family.util.DBConstants.KEY.UNIQUE_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + org.smartregister.family.util.DBConstants.KEY.RELATIONAL_ID); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + org.smartregister.family.util.DBConstants.KEY.PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY_MEMBER + "." + org.smartregister.family.util.DBConstants.KEY.OTHER_PHONE_NUMBER); + columnList.add("T2." + org.smartregister.family.util.DBConstants.KEY.PHONE_NUMBER + " AS " + org.smartregister.chw.tb.util.DBConstants.Key.FAMILY_HEAD_PHONE_NUMBER); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + org.smartregister.family.util.DBConstants.KEY.VILLAGE_TOWN); + columnList.add("T1." + org.smartregister.family.util.DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T1." + org.smartregister.family.util.DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T1." + org.smartregister.family.util.DBConstants.KEY.LAST_NAME + " AS " + org.smartregister.family.util.DBConstants.KEY.PRIMARY_CAREGIVER); + columnList.add("T2." + org.smartregister.family.util.DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T2." + org.smartregister.family.util.DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T2." + org.smartregister.family.util.DBConstants.KEY.LAST_NAME + " AS " + org.smartregister.family.util.DBConstants.KEY.FAMILY_HEAD); + columnList.add(Constants.TABLE_NAME.FAMILY + "." + org.smartregister.family.util.DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); + columnList.add(org.smartregister.chw.hivst.util.Constants.TABLES.HIVST_RESULTS + "." + DBConstants.KEY.KIT_CODE); + columnList.add(org.smartregister.chw.hivst.util.Constants.TABLES.HIVST_RESULTS + "." + DBConstants.KEY.KIT_FOR); + columnList.add(org.smartregister.chw.hivst.util.Constants.TABLES.HIVST_RESULTS + "." + DBConstants.KEY.HIVST_RESULT); + + return columnList.toArray(new String[columnList.size()]); + + } + +} From edab808a0f69c1f63930f5d9a91d3b1e40571fc7 Mon Sep 17 00:00:00 2001 From: zk497 Date: Thu, 18 Aug 2022 17:16:39 +0300 Subject: [PATCH 570/915] Removed unused import and comment --- .../org/smartregister/chw/activity/HivstProfileActivity.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java index e3208119fc..3debf477a1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java @@ -5,7 +5,6 @@ import android.content.Intent; import android.view.Menu; import android.view.View; -import android.widget.Toast; import org.json.JSONException; import org.json.JSONObject; @@ -60,7 +59,6 @@ public void startIssueSelfTestingKitsForm(String baseEntityId) { @Override public void startResultViewActivity(Context context, String baseEntityId) { - //Toast.makeText(this, "ZAMEER", Toast.LENGTH_LONG).show(); HivstResultViewActivity.startResultViewActivity(context, baseEntityId); } From 3a7e0afa1a290c1bdf8bc4ba8a7a53c8225d09b0 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 19 Aug 2022 09:03:40 +0300 Subject: [PATCH 571/915] rename: base class to match base library for hivst --- .../chw/activity/HivstResultViewActivity.java | 4 ++-- .../chw/fragment/HivstResultsViewFragment.java | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstResultViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstResultViewActivity.java index 3686a40beb..076023691e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstResultViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstResultViewActivity.java @@ -5,7 +5,7 @@ import org.smartregister.chw.fragment.HivstResultsViewFragment; import org.smartregister.chw.hivst.activity.BaseHivstResultViewActivity; -import org.smartregister.chw.hivst.fragment.BaseHivstResultRegisterFragment; +import org.smartregister.chw.hivst.fragment.BaseHivstResultViewFragment; import org.smartregister.chw.hivst.util.Constants; public class HivstResultViewActivity extends BaseHivstResultViewActivity { @@ -18,7 +18,7 @@ public static void startResultViewActivity(Context context, String baseEntityId) } @Override - public BaseHivstResultRegisterFragment getBaseFragment() { + public BaseHivstResultViewFragment getBaseFragment() { return HivstResultsViewFragment.newInstance(baseEntityId); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstResultsViewFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstResultsViewFragment.java index 912c40a2da..2896c12d46 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstResultsViewFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstResultsViewFragment.java @@ -2,21 +2,21 @@ import android.os.Bundle; -import org.smartregister.chw.hivst.fragment.BaseHivstResultRegisterFragment; +import org.smartregister.chw.hivst.fragment.BaseHivstResultViewFragment; import org.smartregister.chw.hivst.presenter.BaseHivstResultsFragmentPresenter; import org.smartregister.chw.hivst.util.Constants; import org.smartregister.chw.model.HivstResultsFragmentModel; -public class HivstResultsViewFragment extends BaseHivstResultRegisterFragment { +public class HivstResultsViewFragment extends BaseHivstResultViewFragment { private String baseEntityId; public static HivstResultsViewFragment newInstance(String baseEntityId) { - HivstResultsViewFragment hivstResultRegisterFragment = new HivstResultsViewFragment(); + HivstResultsViewFragment hivstResultsViewFragment = new HivstResultsViewFragment(); Bundle b = new Bundle(); b.putString(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID, baseEntityId); - hivstResultRegisterFragment.setArguments(b); - return hivstResultRegisterFragment; + hivstResultsViewFragment.setArguments(b); + return hivstResultsViewFragment; } @Override From 5d68e0a6c4d271df10d100132ea90884249acf35 Mon Sep 17 00:00:00 2001 From: zk497 Date: Fri, 19 Aug 2022 09:14:24 +0300 Subject: [PATCH 572/915] Create: HIVST form phase 3 --- .../assets/rule/hivst_results_relevance.yml | 14 + .../nacp/assets/json.form/hivst_results.json | 246 ++++++++++++++++++ 2 files changed, 260 insertions(+) create mode 100644 opensrp-chw/src/main/assets/rule/hivst_results_relevance.yml create mode 100644 opensrp-chw/src/nacp/assets/json.form/hivst_results.json diff --git a/opensrp-chw/src/main/assets/rule/hivst_results_relevance.yml b/opensrp-chw/src/main/assets/rule/hivst_results_relevance.yml new file mode 100644 index 0000000000..d209fec132 --- /dev/null +++ b/opensrp-chw/src/main/assets/rule/hivst_results_relevance.yml @@ -0,0 +1,14 @@ +--- +name: step1_client_test_result +description: client_test_result relevance +priority: 1 +condition: "step1_disclose_result == 'yes'" +actions: + - "isRelevant = true" +--- +name: step1_prompt_for_referral +description: prompt_for_referral relevance +priority: 1 +condition: "step1_client_test_result == 'reactive' || step1_client_test_result == 'non_reactive'" +actions: + - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_results.json b/opensrp-chw/src/nacp/assets/json.form/hivst_results.json new file mode 100644 index 0000000000..245c9343e3 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_results.json @@ -0,0 +1,246 @@ +{ + "count": "1", + "encounter_type": "Record HIVST results", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Record HIVST results", + "fields": [ + { + "key": "disclose_result", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "disclose_result", + "label": "Did the client disclose the result?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Yes", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + } + }, + { + "key": "client_test_result", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_test_result", + "label": "Select the client's test result", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "reactive", + "text": "Reactive", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reactive" + }, + { + "key": "non_reactive", + "text": "Non-reactive", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "non_reactive" + }, + { + "key": "invalid", + "text": "Invalid", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "invalid" + }, + { + "key": "wastage", + "text": "Wastage", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "wastage" + } + ], + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_results_relevance.yml" + } + } + }, + "v_required": { + "value": "true", + "err": "Please select an answer" + } + }, + { + "key": "prompt_for_referral", + "type": "toaster_notes", + "text": "The client should be referred to a Hospital", + "toaster_info_text": "The client should be referred to the Hospital for HIV testing. Give the client a referral", + "toaster_info_title": "The client should be referred to a Hospital", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_results_relevance.yml" + } + } + } + }, + { + "key": "peer_test_result", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "peer_test_result", + "label": "Select the peer's test result", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "reactive", + "text": "Reactive", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reactive" + }, + { + "key": "non_reactive", + "text": "Non-reactive", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "non_reactive" + }, + { + "key": "invalid", + "text": "Invalid", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "invalid" + }, + { + "key": "wastage", + "text": "Wastage", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "wastage" + }, + { + "key": "not_returned", + "text": "Results not returned", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "not_returned" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + } + }, + { + "key": "sexual_partner_test_result", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sexual_partner_test_result", + "label": "Select the sexual partner's test result", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "reactive", + "text": "Reactive", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reactive" + }, + { + "key": "non_reactive", + "text": "Non-reactive", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "non_reactive" + }, + { + "key": "invalid", + "text": "Invalid", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "invalid" + }, + { + "key": "wastage", + "text": "Wastage", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "wastage" + }, + { + "key": "not_returned", + "text": "Results not returned", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "not_returned" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + } + } + ] + } +} \ No newline at end of file From 09d0b5149e5f2cf3986bd0a479d0f345c593c9b5 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 19 Aug 2022 11:59:00 +0300 Subject: [PATCH 573/915] :hammer: minor code cleaning --- .../chw/activity/FpFollowUpVisitActivity.java | 9 --------- .../smartregister/chw/application/ChwApplication.java | 6 +++--- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FpFollowUpVisitActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FpFollowUpVisitActivity.java index bdc43e2073..ac9f7536a3 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FpFollowUpVisitActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FpFollowUpVisitActivity.java @@ -1,7 +1,6 @@ package org.smartregister.chw.activity; import android.app.Activity; -import android.content.Context; import android.content.Intent; import com.vijay.jsonwizard.constants.JsonFormConstants; @@ -20,7 +19,6 @@ import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; import org.smartregister.family.util.Constants; import org.smartregister.family.util.JsonFormUtils; -import org.smartregister.util.LangUtils; import java.util.Date; @@ -80,11 +78,4 @@ public void startFormActivity(JSONObject jsonForm) { startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); } - @Override - protected void attachBaseContext(Context base) { - // get language from prefs - String lang = LangUtils.getLanguage(base.getApplicationContext()); - super.attachBaseContext(LangUtils.setAppLocale(base, lang)); - } } - diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index 03c930e040..90c9cf52ff 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -40,6 +40,7 @@ import org.smartregister.chw.activity.MotherChampionRegisterActivity; import org.smartregister.chw.activity.PncRegisterActivity; import org.smartregister.chw.activity.ReferralRegisterActivity; +import org.smartregister.chw.activity.TbRegisterActivity; import org.smartregister.chw.activity.UpdatesRegisterActivity; import org.smartregister.chw.anc.AncLibrary; import org.smartregister.chw.anc.domain.Visit; @@ -352,15 +353,14 @@ public Map getRegisteredActivities() { registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_REGISTER_ACTIVITY, HivRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_INDEX_REGISTER_ACTIVITY, HivIndexContactsContactsRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.LTFU_REFERRALS_REGISTER_ACTIVITY, LTFURegisterActivity.class); -// TODO uncomment these when NACP is ready to test these modules -// registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.TB_REGISTER_ACTIVITY, TbRegisterActivity.class); + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.TB_REGISTER_ACTIVITY, TbRegisterActivity.class); } if (!BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.MALARIA_REGISTER_ACTIVITY, MalariaRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.FP_REGISTER_ACTIVITY, FpRegisterActivity.class); } - + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.FP_REGISTER_ACTIVITY, FpRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.UPDATES_REGISTER_ACTIVITY, UpdatesRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.MOTHER_CHAMPION_ACTIVITY, MotherChampionRegisterActivity.class); return registeredActivities; From 7cd212e7dbb3ab056c35cbe2fa9ab79d9be7bf40 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 19 Aug 2022 12:33:23 +0300 Subject: [PATCH 574/915] fix: loading hivst results form --- .../chw/activity/HivstResultViewActivity.java | 35 ++++++++++++++++++- .../fragment/HivstResultsViewFragment.java | 22 ++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstResultViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstResultViewActivity.java index 076023691e..56388a757d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstResultViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstResultViewActivity.java @@ -3,20 +3,53 @@ import android.content.Context; import android.content.Intent; +import com.vijay.jsonwizard.constants.JsonFormConstants; +import com.vijay.jsonwizard.domain.Form; + +import org.smartregister.chw.R; import org.smartregister.chw.fragment.HivstResultsViewFragment; import org.smartregister.chw.hivst.activity.BaseHivstResultViewActivity; import org.smartregister.chw.hivst.fragment.BaseHivstResultViewFragment; import org.smartregister.chw.hivst.util.Constants; +import org.smartregister.family.util.Utils; public class HivstResultViewActivity extends BaseHivstResultViewActivity { private static String baseEntityId; - public static void startResultViewActivity(Context context, String baseEntityId){ + + public static void startResultViewActivity(Context context, String baseEntityId) { Intent intent = new Intent(context, HivstResultViewActivity.class); intent.putExtra(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID, baseEntityId); HivstResultViewActivity.baseEntityId = baseEntityId; context.startActivity(intent); } + public static void startResultsForm(Context context, String jsonString, String baseEntityId, String entityId) { + Intent intent = new Intent(context, HivstResultViewActivity.class); + intent.putExtra(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID, baseEntityId); + intent.putExtra(Constants.ACTIVITY_PAYLOAD.HIVST_FORM_NAME, jsonString); + intent.putExtra(Constants.JSON_FORM_EXTRA.ENTITY_ID, entityId); + context.startActivity(intent); + } + + @Override + public void startFormActivity(String jsonString, String baseEntityId, String entityId) { + Intent intent = new Intent(this, Utils.metadata().familyMemberFormActivity); + intent.putExtra(Constants.JSON_FORM_EXTRA.JSON, jsonString); + intent.putExtra(Constants.JSON_FORM_EXTRA.BASE_ENTITY_ID, baseEntityId); + intent.putExtra(Constants.JSON_FORM_EXTRA.ENTITY_ID, entityId); + + Form form = new Form(); + form.setName(getString(R.string.hivst_result)); + form.setActionBarBackground(R.color.family_actionbar); + form.setNavigationBackground(R.color.family_navigation); + form.setHomeAsUpIndicator(R.mipmap.ic_cross_white); + form.setPreviousLabel(getResources().getString(R.string.back)); + intent.putExtra(JsonFormConstants.JSON_FORM_KEY.FORM, form); + + startActivityForResult(intent, Constants.REQUEST_CODE_GET_JSON); + } + + @Override public BaseHivstResultViewFragment getBaseFragment() { return HivstResultsViewFragment.newInstance(baseEntityId); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstResultsViewFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstResultsViewFragment.java index 2896c12d46..6e3b5ee186 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstResultsViewFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstResultsViewFragment.java @@ -2,10 +2,18 @@ import android.os.Bundle; +import com.vijay.jsonwizard.utils.FormUtils; + +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.activity.HivstResultViewActivity; import org.smartregister.chw.hivst.fragment.BaseHivstResultViewFragment; import org.smartregister.chw.hivst.presenter.BaseHivstResultsFragmentPresenter; import org.smartregister.chw.hivst.util.Constants; import org.smartregister.chw.model.HivstResultsFragmentModel; +import org.smartregister.chw.pmtct.util.DBConstants; +import org.smartregister.commonregistry.CommonPersonObjectClient; +import org.smartregister.util.Utils; public class HivstResultsViewFragment extends BaseHivstResultViewFragment { @@ -31,4 +39,18 @@ public void onCreate(Bundle savedInstanceState) { protected void initializePresenter() { presenter = new BaseHivstResultsFragmentPresenter(baseEntityId, this, new HivstResultsFragmentModel(), null); } + + @Override + public void openResultsForm(CommonPersonObjectClient client) { + String baseEntityId = Utils.getValue(client.getColumnmaps(), DBConstants.KEY.BASE_ENTITY_ID, false); + String entityId = Utils.getValue(client.getColumnmaps(), DBConstants.KEY.ENTITY_ID, false); + try { + JSONObject jsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(requireContext(), Constants.FORMS.HIVST_RECORD_RESULTS); + + HivstResultViewActivity.startResultsForm(getContext(), jsonObject.toString(), baseEntityId, entityId); + } catch (JSONException e) { + e.printStackTrace(); + } + + } } From e905b828e5b033564514c035857f4248a96589fc Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 19 Aug 2022 12:58:18 +0300 Subject: [PATCH 575/915] fix: loading result form based-off kit for --- .../assets/rule/hivst_results_relevance.yml | 21 ++++++++++++++++++ .../fragment/HivstResultsViewFragment.java | 6 +++-- .../nacp/assets/json.form/hivst_results.json | 22 +++++++++++++++++++ 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/assets/rule/hivst_results_relevance.yml b/opensrp-chw/src/main/assets/rule/hivst_results_relevance.yml index d209fec132..983d6935e5 100644 --- a/opensrp-chw/src/main/assets/rule/hivst_results_relevance.yml +++ b/opensrp-chw/src/main/assets/rule/hivst_results_relevance.yml @@ -1,4 +1,25 @@ --- +name: step1_disclose_result +description: relevant if global kit for is client +priority: 1 +condition: "global_kit_for == 'client'" +actions: + - "isRelevant = true" +--- +name: step1_peer_test_result +description: relevant if global kit for is peer_friend +priority: 1 +condition: "global_kit_for == 'peer_friend'" +actions: + - "isRelevant = true" +--- +name: step1_sexual_partner_test_result +description: relevant if global kit for is sexual_partner +priority: 1 +condition: "global_kit_for == 'sexual_partner'" +actions: + - "isRelevant = true" +--- name: step1_client_test_result description: client_test_result relevance priority: 1 diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstResultsViewFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstResultsViewFragment.java index 6e3b5ee186..99997fbd4b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstResultsViewFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstResultsViewFragment.java @@ -11,7 +11,7 @@ import org.smartregister.chw.hivst.presenter.BaseHivstResultsFragmentPresenter; import org.smartregister.chw.hivst.util.Constants; import org.smartregister.chw.model.HivstResultsFragmentModel; -import org.smartregister.chw.pmtct.util.DBConstants; +import org.smartregister.chw.hivst.util.DBConstants; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.util.Utils; @@ -44,9 +44,11 @@ protected void initializePresenter() { public void openResultsForm(CommonPersonObjectClient client) { String baseEntityId = Utils.getValue(client.getColumnmaps(), DBConstants.KEY.BASE_ENTITY_ID, false); String entityId = Utils.getValue(client.getColumnmaps(), DBConstants.KEY.ENTITY_ID, false); + String kitFor = Utils.getValue(client.getColumnmaps(), DBConstants.KEY.KIT_FOR, false); try { JSONObject jsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(requireContext(), Constants.FORMS.HIVST_RECORD_RESULTS); - + JSONObject global = jsonObject.getJSONObject("global"); + global.putOpt("kit_for", kitFor); HivstResultViewActivity.startResultsForm(getContext(), jsonObject.toString(), baseEntityId, entityId); } catch (JSONException e) { e.printStackTrace(); diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_results.json b/opensrp-chw/src/nacp/assets/json.form/hivst_results.json index 245c9343e3..d5497cb0ed 100644 --- a/opensrp-chw/src/nacp/assets/json.form/hivst_results.json +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_results.json @@ -41,6 +41,7 @@ }, "encounter_location": "" }, + "global": {}, "step1": { "title": "Record HIVST results", "fields": [ @@ -71,6 +72,13 @@ "v_required": { "value": "true", "err": "Please select an answer" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_results_relevance.yml" + } + } } }, { @@ -189,6 +197,13 @@ "v_required": { "value": "true", "err": "Please select an answer" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_results_relevance.yml" + } + } } }, { @@ -239,6 +254,13 @@ "v_required": { "value": "true", "err": "Please select an answer" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_results_relevance.yml" + } + } } } ] From 9da43d7740ba4cb0c32c98e12ee6d48b082dd62c Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 19 Aug 2022 13:00:44 +0300 Subject: [PATCH 576/915] fix: move relevance file to flavor --- .../src/{main => nacp}/assets/rule/hivst_results_relevance.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename opensrp-chw/src/{main => nacp}/assets/rule/hivst_results_relevance.yml (100%) diff --git a/opensrp-chw/src/main/assets/rule/hivst_results_relevance.yml b/opensrp-chw/src/nacp/assets/rule/hivst_results_relevance.yml similarity index 100% rename from opensrp-chw/src/main/assets/rule/hivst_results_relevance.yml rename to opensrp-chw/src/nacp/assets/rule/hivst_results_relevance.yml From a433191daddd335fb572cadc53a10616fc47944b Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 19 Aug 2022 14:28:37 +0300 Subject: [PATCH 577/915] fix: saving hivst result --- .../chw/activity/HivstResultViewActivity.java | 4 +--- .../src/nacp/assets/json.form/hivst_results.json | 16 +++++++++++++++- .../assets/rule/hivst_results_calculation.yml | 10 ++++++++++ 3 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 opensrp-chw/src/nacp/assets/rule/hivst_results_calculation.yml diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstResultViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstResultViewActivity.java index 56388a757d..cca063c2cd 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstResultViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstResultViewActivity.java @@ -32,11 +32,9 @@ public static void startResultsForm(Context context, String jsonString, String b } @Override - public void startFormActivity(String jsonString, String baseEntityId, String entityId) { + public void startFormActivity(String jsonString) { Intent intent = new Intent(this, Utils.metadata().familyMemberFormActivity); intent.putExtra(Constants.JSON_FORM_EXTRA.JSON, jsonString); - intent.putExtra(Constants.JSON_FORM_EXTRA.BASE_ENTITY_ID, baseEntityId); - intent.putExtra(Constants.JSON_FORM_EXTRA.ENTITY_ID, entityId); Form form = new Form(); form.setName(getString(R.string.hivst_result)); diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_results.json b/opensrp-chw/src/nacp/assets/json.form/hivst_results.json index d5497cb0ed..5cd71af9a3 100644 --- a/opensrp-chw/src/nacp/assets/json.form/hivst_results.json +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_results.json @@ -1,6 +1,6 @@ { "count": "1", - "encounter_type": "Record HIVST results", + "encounter_type": "Self Testing Results", "entity_id": "", "metadata": { "start": { @@ -262,6 +262,20 @@ } } } + }, + { + "key": "hivst_result", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "hivst_result", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_results_calculation.yml" + } + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/rule/hivst_results_calculation.yml b/opensrp-chw/src/nacp/assets/rule/hivst_results_calculation.yml new file mode 100644 index 0000000000..77f0bddeff --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/hivst_results_calculation.yml @@ -0,0 +1,10 @@ +--- +name: step1_hivst_result +description: hivst_result calculation +priority: 1 +condition: "true" +actions: + - "calculation = (step1_disclose_result != '' && step1_disclose_result == 'no') ? + 'client_did_not_disclose' : step1_client_test_result != '' ? step1_client_test_result + : step1_peer_test_result != '' ? step1_peer_test_result : step1_sexual_partner_test_result != '' ? + step1_sexual_partner_test_result : '' " \ No newline at end of file From 766118803c0c8a2c6afedaa33a3071f464bb42a4 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 22 Aug 2022 10:57:18 +0300 Subject: [PATCH 578/915] :wastebasket: resolved codacy issues --- .../activity/PncMemberProfileActivity.java | 9 ++++---- .../assets/json.form/anc_hv_observations.json | 6 ++--- .../interactor/AncHomeVisitInteractorFlv.java | 22 +++++++++---------- 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index 8aa8b0635c..0f312cdc7e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -1,6 +1,5 @@ package org.smartregister.chw.activity; -import static android.view.View.GONE; import static org.smartregister.chw.core.utils.Utils.getCommonPersonObjectClient; import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; import static org.smartregister.chw.util.Constants.EventType; @@ -395,17 +394,17 @@ private void setEditViews(boolean enable, boolean within24Hours, Long longDate) String pncDay = pncMemberProfileInteractor.getPncDay(memberObject.getBaseEntityId()); layoutNotRecordView.setVisibility(View.VISIBLE); tvEdit.setVisibility(View.VISIBLE); - textViewUndo.setVisibility(GONE); + textViewUndo.setVisibility(View.GONE); textViewNotVisitMonth.setVisibility(View.VISIBLE); textViewNotVisitMonth.setText(MessageFormat.format(getContext().getString(R.string.pnc_visit_done), pncDay)); imageViewCross.setImageResource(R.drawable.activityrow_visited); - textview_record_visit.setVisibility(GONE); + textview_record_visit.setVisibility(View.GONE); } else { - layoutNotRecordView.setVisibility(GONE); + layoutNotRecordView.setVisibility(View.GONE); } } else { - layoutNotRecordView.setVisibility(GONE); + layoutNotRecordView.setVisibility(View.GONE); } } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json index 33199b90a9..eef228f461 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json @@ -98,11 +98,11 @@ "openmrs_entity_id": "chk_ors" }, { - "key": "chk_zinc", - "text": "Zinc 10", + "key": "chk_traditional_medicine", + "text": "Traditional medicine", "value": false, "openmrs_entity": "concept", - "openmrs_entity_id": "chk_zinc" + "openmrs_entity_id": "chk_traditional_medicine" }, { "key": "chk_paracetamol", diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java index b77817fb1a..e9a575bc36 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java @@ -179,16 +179,16 @@ private void evaluateMalaria(Map> details, actionList.put(context.getString(R.string.anc_home_visit_malaria_prevention), malaria_ba); } -// private void evaluateObservation(Map> details, -// final Context context) throws BaseAncHomeVisitAction.ValidationException { -// BaseAncHomeVisitAction remark_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_observations_n_illnes)) -// .withOptional(true) -// .withDetails(details) -// .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getObservationAndIllness()) -// .withHelper(new ObservationAction()) -// .build(); -// actionList.put(context.getString(R.string.anc_home_visit_observations_n_illnes), remark_ba); - // } + private void evaluateObservation(Map> details, + final Context context) throws BaseAncHomeVisitAction.ValidationException { + BaseAncHomeVisitAction remark_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_observations_n_illnes)) + .withOptional(true) + .withDetails(details) + .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getObservationAndIllness()) + .withHelper(new ObservationAction()) + .build(); + actionList.put(context.getString(R.string.anc_home_visit_observations_n_illnes), remark_ba); + } private void evaluateRemarks(Map> details, final Context context) throws BaseAncHomeVisitAction.ValidationException { @@ -252,7 +252,7 @@ public String postProcess(String s) { // evaluateNutritionStatus(details, context); evaluateCounsellingStatus(details, context); evaluateMalaria(details, context); - //evaluateObservation(details, context); + evaluateObservation(details, context); evaluateRemarks(details, context); } else { Timber.d(actionList.toString()); From 4b2438d0ebf64e3dad032a85719ee44a248b257f Mon Sep 17 00:00:00 2001 From: Danford Nchembi Date: Mon, 22 Aug 2022 11:15:34 +0300 Subject: [PATCH 579/915] Final release of CBHS report --- .../org/smartregister/chw/dao/ReportDao.java | 112 +++++++++--------- 1 file changed, 58 insertions(+), 54 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java index b19dd392be..6fa1480af1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java @@ -233,60 +233,64 @@ private static HashMap> getVaccineSched public static List> getCHWRegistrationFollowUpClients(Date reportDate) { String sql = "SELECT\n" + - " ecr.cbhs_number as cbhs_number,\n" + - " fm.reasons_for_registration as registration_reason,\n" + - " ecf.client_hiv_status_during_registration as hiv_status_during_registration,\n" + - " '-' as tb_status_during_registration,\n" + - " ecr.ctc_number as clinic_registration_number,\n" + - " 'CTC' as type_of_clinic,\n" + - " (date() - fm.dob) as age,\n" + - " fm.gender,\n" + - " ecf.client_hiv_status_after_testing as status_after_testing,\n" + - " ecf.hiv_services_provided,\n" + - " ecf.supplies_provided,\n" + - " tasks.issued_referrals,\n" + - " tasks.successful_referrals,\n" + - " ecf.state_of_therapy,\n" + - " ecf.registration_or_followup_status\n" + - " FROM ec_cbhs_register ecr\n" + - " INNER JOIN ec_family_member fm on fm.base_entity_id = ecr.base_entity_id\n" + - " INNER JOIN (SELECT entity_id,hiv_services_provided,state_of_therapy,registration_or_followup_status,\n" + - " supplies_provided,client_behaviour_and_environmental_risk,client_hiv_status_during_registration,\n" + - " client_tb_status_during_registration,client_hiv_status_after_testing, count(id)\n" + - " as number_of_followups from ec_cbhs_followup group by entity_id)ecf on fm.base_entity_id = ecf.entity_id\n" + - " INNER JOIN (select for, sum(case when code = 'Referral' and business_status != 'Cancelled' then 1 else 0 end) as 'issued_referrals',\n" + - " sum(case when code = 'Referral' and business_status != 'Cancelled' and business_status = 'Complete' then 1\n" + - " else 0 end) as 'successful_referrals' from Task where focus in ('Suspected HIV', 'HIV Treatment and Care') group by for)tasks on fm.base_entity_id = tasks.for\n" + - " WHERE ctc_number is not NULL\n" + - " group by fm.base_entity_id\n" + - " UNION\n" + - " SELECT\n" + - " ecr.cbhs_number as cbhs_number,\n" + - " fm.reasons_for_registration as registration_reason,\n" + - " '-' as hiv_status_during_registration,\n" + - " ecf.client_tb_status_during_registration as tb_status_during_registration,\n" + - " ecr.tb_number as clinic_registration_number,\n" + - " 'TB' as type_of_clinic,\n" + - " (date() - fm.dob) as age,\n" + - " fm.gender,\n" + - " ecf.client_tb_status_after_testing as status_after_testing,\n" + - " ecf.hiv_services_provided,\n" + - " ecf.supplies_provided,\n" + - " tasks.issued_referrals,\n" + - " tasks.successful_referrals,\n" + - " ecf.state_of_therapy,\n" + - " ecf.registration_or_followup_status\n" + - " FROM ec_cbhs_register ecr\n" + - " INNER JOIN ec_family_member fm on fm.base_entity_id = ecr.base_entity_id\n" + - " INNER JOIN (SELECT entity_id,hiv_services_provided,state_of_therapy,registration_or_followup_status,\n" + - " supplies_provided,client_behaviour_and_environmental_risk,client_hiv_status_during_registration,\n" + - " client_tb_status_during_registration,client_tb_status_after_testing, count(id)\n" + - " as number_of_followups from ec_cbhs_followup group by entity_id)ecf on fm.base_entity_id = ecf.entity_id\n" + - " INNER JOIN (select for, sum(case when code = 'Referral' and business_status != 'Cancelled' then 1 else 0 end) as 'issued_referrals',\n" + - " sum(case when code = 'Referral' and business_status != 'Cancelled' and business_status = 'Complete' then 1\n" + - " else 0 end) as 'successful_referrals' from Task where focus in ('Suspected TB') group by for)tasks on fm.base_entity_id = tasks.for\n" + - " WHERE tb_number is not NULL\n" + - " group by fm.base_entity_id"; + " ecr.cbhs_number as cbhs_number,\n" + + " fm.reasons_for_registration as registration_reason,\n" + + " ecf.client_hiv_status_during_registration as hiv_status_during_registration,\n" + + " '-' as tb_status_during_registration,\n" + + " ecr.ctc_number as clinic_registration_number,\n" + + " 'CTC' as type_of_clinic,\n" + + " (date() - fm.dob) as age,\n" + + " fm.gender,\n" + + " ecf.client_hiv_status_after_testing as status_after_testing,\n" + + " ecf.hiv_services_provided,\n" + + " ecf.supplies_provided,\n" + + " tasks.issued_referrals,\n" + + " tasks.successful_referrals,\n" + + " ecf.state_of_therapy,\n" + + " ecf.registration_or_followup_status\n" + + " FROM ec_cbhs_register ecr\n" + + " INNER JOIN ec_family_member fm on fm.base_entity_id = ecr.base_entity_id\n" + + " INNER JOIN (SELECT entity_id,last_interacted_with,hiv_services_provided,state_of_therapy,registration_or_followup_status,\n" + + " supplies_provided,client_behaviour_and_environmental_risk,client_hiv_status_during_registration,\n" + + " client_tb_status_during_registration,client_hiv_status_after_testing, count(id)\n" + + " as number_of_followups from ec_cbhs_followup group by entity_id)ecf on fm.base_entity_id = ecf.entity_id\n" + + " INNER JOIN (select for, sum(case when code = 'Referral' and business_status != 'Cancelled' then 1 else 0 end) as 'issued_referrals',\n" + + " sum(case when code = 'Referral' and business_status != 'Cancelled' and business_status = 'Complete' then 1\n" + + " else 0 end) as 'successful_referrals' from Task where focus in ('Suspected HIV', 'HIV Treatment and Care') group by for)tasks on fm.base_entity_id = tasks.for\n" + + " WHERE ctc_number is not NULL and date(substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || '-' ||\n" + + " substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || '-' || '01') =\n" + + " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))\n" + + " group by fm.base_entity_id\n" + + " UNION\n" + + " SELECT\n" + + " ecr.cbhs_number as cbhs_number,\n" + + " fm.reasons_for_registration as registration_reason,\n" + + " '-' as hiv_status_during_registration,\n" + + " ecf.client_tb_status_during_registration as tb_status_during_registration,\n" + + " ecr.tb_number as clinic_registration_number,\n" + + " 'TB' as type_of_clinic,\n" + + " (date() - fm.dob) as age,\n" + + " fm.gender,\n" + + " ecf.client_tb_status_after_testing as status_after_testing,\n" + + " ecf.hiv_services_provided,\n" + + " ecf.supplies_provided,\n" + + " tasks.issued_referrals,\n" + + " tasks.successful_referrals,\n" + + " ecf.state_of_therapy,\n" + + " ecf.registration_or_followup_status\n" + + " FROM ec_cbhs_register ecr\n" + + " INNER JOIN ec_family_member fm on fm.base_entity_id = ecr.base_entity_id\n" + + " INNER JOIN (SELECT entity_id,last_interacted_with,hiv_services_provided,state_of_therapy,registration_or_followup_status,\n" + + " supplies_provided,client_behaviour_and_environmental_risk,client_hiv_status_during_registration,\n" + + " client_tb_status_during_registration,client_tb_status_after_testing, count(id)\n" + + " as number_of_followups from ec_cbhs_followup group by entity_id)ecf on fm.base_entity_id = ecf.entity_id\n" + + " INNER JOIN (select for, sum(case when code = 'Referral' and business_status != 'Cancelled' then 1 else 0 end) as 'issued_referrals',\n" + + " sum(case when code = 'Referral' and business_status != 'Cancelled' and business_status = 'Complete' then 1\n" + + " else 0 end) as 'successful_referrals' from Task where focus in ('Suspected TB') group by for)tasks on fm.base_entity_id = tasks.for\n" + + " WHERE tb_number is not NULL and date(substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || '-' ||\n" + + " substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || '-' || '01') =\n" + + " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))\n" + + " group by fm.base_entity_id"; String queryDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(reportDate); From afa680e0f88ecc2ce9a48aa76aab6a2d44b6ee5a Mon Sep 17 00:00:00 2001 From: Danford Nchembi Date: Mon, 22 Aug 2022 11:48:33 +0300 Subject: [PATCH 580/915] fix: remove unexpected console.logs --- opensrp-chw/src/nacp/assets/reports/report-script.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/reports/report-script.js b/opensrp-chw/src/nacp/assets/reports/report-script.js index 322fde4f59..7a830d99a7 100644 --- a/opensrp-chw/src/nacp/assets/reports/report-script.js +++ b/opensrp-chw/src/nacp/assets/reports/report-script.js @@ -2,11 +2,8 @@ function loadData() { const data = JSON.parse(Android.getDataForReport()); const tableBody = document.getElementById("table-body"); - console.log("json data returned is", data); - console.log("check here first"); if(typeof data!== undefined && data !== ""){ const reportData = data.nameValuePairs.reportData.values; - console.log(JSON.stringify(reportData), "Data returned"); reportData.forEach((dataPoint) => { //append to the table body a row with data From ea2ddd06f1dca28eca27cc9f8aaf703ca240d601 Mon Sep 17 00:00:00 2001 From: Danford Nchembi Date: Mon, 22 Aug 2022 11:50:29 +0300 Subject: [PATCH 581/915] fix: removed unused variable --- .../chw/domain/cbhs_reports/CbhsMonthlyReportObject.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java index cbeb4dc1a5..bf44a719ea 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java @@ -15,11 +15,6 @@ public class CbhsMonthlyReportObject extends ReportObject { private final Context context; - private final String[] indicatorCodes = new String[]{"namba-za-mteja", "sababu-za-usajili", - "hali-ya-maamubikizi-ya-vvu", "namba-ya-usajili-wa kliniki", "aina-ya-kliniki", "umri", - "jinsia", "hali-ya-mteja", "tabia-ya-mteja", "huduma-zilizotolewa", - "vifaa-vilivyotolewa", "rufaa-zilizotolewa", "rufaa-zilizofanikiwa", - "hali-ya-tiba-na-matunzo", "hali-ya-usajili-na-ufuatiliaji"}; private Date reportDate; public CbhsMonthlyReportObject(Date reportDate, Context context) { From 7bb20088d74a7bde50bd105be9a1567b932cf696 Mon Sep 17 00:00:00 2001 From: Danford Nchembi Date: Mon, 22 Aug 2022 12:02:20 +0300 Subject: [PATCH 582/915] bug fix: Duplicate method in the report dao --- .../org/smartregister/chw/dao/ReportDao.java | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java index 3813364032..18aeb3b0a7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java @@ -682,23 +682,4 @@ public static List myCommunityActivityReportDetails(String indica return res; } - public static int getReportPerIndicatorCode(String indicatorCode, Date reportDate) { - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()); - String reportDateString = simpleDateFormat.format(reportDate); - String sql = "SELECT indicator_value\n" + - "FROM indicator_daily_tally\n" + - "WHERE indicator_code = '" + indicatorCode + "'\n" + - " AND date((substr('" + reportDateString + "', 7, 4) || '-' || substr('" + reportDateString + "', 4, 2) || '-' || '01')) = date((substr(day, 1, 4) || '-' || substr(day, 6, 2) || '-' || '01'))\n" + - "ORDER BY day DESC LIMIT 1"; - - DataMap map = cursor -> getCursorIntValue(cursor, "indicator_value"); - - List res = readData(sql, map); - - - if (res != null && res.size() > 0 && res.get(0) != null) { - return res.get(0); - } else - return 0; - } } From cda0b822036a804b8f6b6be04dbd6b18bd96241c Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 22 Aug 2022 15:52:16 +0300 Subject: [PATCH 583/915] added: fgm as an option on danger signs --- .../nacp/assets/json.form-sw/anc_hv_danger_signs.json | 10 +++++++++- .../src/nacp/assets/json.form/anc_hv_danger_signs.json | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json index c02df6c30c..1e2686d4da 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json @@ -147,6 +147,13 @@ "openmrs_entity": "concept", "openmrs_entity_id": "chk_unusual_movement" }, + { + "key": "chk_fgm", + "text": "FGM", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_fgm" + }, { "key": "chk_none", "text": "Hakuna", @@ -185,7 +192,8 @@ "chk_swelling", "chk_early_labour", "chk_vaginal_discharge", - "chk_unusual_movement" + "chk_unusual_movement", + "chk_fgm" ] } ] diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json index c480ac0783..a9ece201d8 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json @@ -147,6 +147,13 @@ "openmrs_entity": "concept", "openmrs_entity_id": "chk_unusual_movement" }, + { + "key": "chk_fgm", + "text": "FGM", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_fgm" + }, { "key": "chk_none", "text": "None", @@ -185,7 +192,8 @@ "chk_swelling", "chk_early_labour", "chk_vaginal_discharge", - "chk_unusual_movement" + "chk_unusual_movement", + "chk_fgm" ] } ] From e833d278522e2f2aa010eebacdf1958bf4afbba4 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 22 Aug 2022 16:06:11 +0300 Subject: [PATCH 584/915] added option for birth at health facility in pregnancy outcome --- .../json.form-sw/anc_pregnancy_outcome.json | 72 ++++++++++++++++++- .../json.form/anc_pregnancy_outcome.json | 72 ++++++++++++++++++- 2 files changed, 138 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json index 3e86365e1a..474c293ad8 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json @@ -175,17 +175,20 @@ "values": [ "Amejifungua Njiani kabla ya kufika kwenye Kituo", "Amejifungulia Nyumbani", - "Amejifungulia kwa Mkunga wa Jadi" + "Amejifungulia kwa Mkunga wa Jadi", + "Katika kituo cha afya" ], "keys": [ "Birth before Arrival (BBA)", "At home", - "Traditional birth attendant" + "Traditional birth attendant", + "At a health facility" ], "openmrs_choice_ids": { "Birth before Arrival (BBA)": "Birth before Arrival (BBA)", "At home": "At home", - "Traditional birth attendant": "Traditional birth attendant" + "Traditional birth attendant": "Traditional birth attendant", + "At a health facility": "At a health facility" }, "v_required": { "value": "true", @@ -246,6 +249,69 @@ } ] }, + { + "key": "delivery_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_hf", + "type": "native_radio", + "label": "Mama alijifungua katika kituo cha afya. Nani aliongozana na mama hadi kituo cha afya?", + "label_text_style": "bold", + "text_color": "#C0C0C0", + "v_required": { + "value": "true", + "err": "Tafadhali cchagua" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + }, + "options": [ + { + "key": "facility_family_member", + "text": "Alijifungua katika kituo cha afya, na alisindikizwa na wanafamilia.", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "facility_family_member" + }, + { + "key": "facility_midwife", + "text": "Alijifungua katika kituo cha afya, na alisindikizwa na mkunga wa jadi", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "facility_midwife" + }, + { + "key": "alone", + "text": "Alijifungua katika kituo cha afya, na alikuja peke yake", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "alone" + }, + { + "key": "other_pple", + "text": "Alijifungua katika kituo cha afya, na alisindikizwa na watu wengine", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_pple" + }, + { + "key": "other_chw", + "text": "Alijifungua katika kituo cha afya, na aliandamana na mfanyakazi wa afya ya jamii (CHW)", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_chw" + } + ] + }, { "key": "baby_label", "type": "label", diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json index 8f616e11ac..99e4b762a7 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json @@ -175,17 +175,20 @@ "values": [ "Birth before Arrival (BBA)", "At home", - "Traditional birth attendant" + "Traditional birth attendant", + "At a health facility" ], "keys": [ "Birth before Arrival (BBA)", "At home", - "Traditional birth attendant" + "Traditional birth attendant", + "At a health facility" ], "openmrs_choice_ids": { "Birth before Arrival (BBA)": "Birth before Arrival (BBA)", "At home": "At home", - "Traditional birth attendant": "Traditional birth attendant" + "Traditional birth attendant": "Traditional birth attendant", + "At a health facility": "At a health facility" }, "v_required": { "value": "true", @@ -246,6 +249,69 @@ } ] }, + { + "key": "delivery_hf", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "delivery_hf", + "type": "native_radio", + "label": "The mother gave birth in a health facility. Who accompanied the mother to the health facility?", + "label_text_style": "bold", + "text_color": "#C0C0C0", + "v_required": { + "value": "true", + "err": "Please select" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + }, + "options": [ + { + "key": "facility_family_member", + "text": "She gave birth in a health facility, and she was accompanied by family member(s)", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "facility_family_member" + }, + { + "key": "facility_midwife", + "text": "She gave birth in a health facility, and she was accompanied by a traditional midwife", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "facility_midwife" + }, + { + "key": "alone", + "text": "She gave birth in a health facility, and she came by herself", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "alone" + }, + { + "key": "other_pple", + "text": "She gave birth in a health facility, and she was accompanied by other people", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_pple" + }, + { + "key": "other_chw", + "text": "She gave birth in a health facility, and she was accompanied by the CHW", + "value": false, + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_chw" + } + ] + }, { "key": "baby_label", "type": "label", From fa5f7f677c0c161f9c26232ebba714d32bb02faf Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 22 Aug 2022 16:13:56 +0300 Subject: [PATCH 585/915] fix: propmts for referral if it's birth at home or TBA --- .../json.form-sw/anc_pregnancy_outcome.json | 16 ++++++++++++++++ .../assets/json.form/anc_pregnancy_outcome.json | 16 ++++++++++++++++ .../rule/anc_pregnancy_outcome_relevance.yml | 7 +++++++ 3 files changed, 39 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json index 474c293ad8..d1c159b459 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json @@ -202,6 +202,22 @@ } } }, + { + "key": "prompt_for_referral", + "type": "toaster_notes", + "text": "Toa Rufaa Kwenda Kituo Cha Afya Kwa Huduma Zaidi", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, { "key": "delivery_home", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json index 99e4b762a7..bfa368fb67 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json @@ -202,6 +202,22 @@ } } }, + { + "key": "prompt_for_referral", + "type": "toaster_notes", + "text": "Refer to the clinic for further management", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "anc_pregnancy_outcome_relevance.yml" + } + } + } + }, { "key": "delivery_home", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/rule/anc_pregnancy_outcome_relevance.yml b/opensrp-chw/src/nacp/assets/rule/anc_pregnancy_outcome_relevance.yml index d8d6bf8752..b1540cb54b 100644 --- a/opensrp-chw/src/nacp/assets/rule/anc_pregnancy_outcome_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/anc_pregnancy_outcome_relevance.yml @@ -75,5 +75,12 @@ name: step1_surname description: surname relevance priority: 1 condition: "!step1_same_as_fam_name_chk.contains('same_as_fam_name')" +actions: + - "isRelevant = true" +--- +name: step1_prompt_for_referral +description: prompt_for_referral relevance +priority: 1 +condition: "step1_delivery_place == 'At home' || step1_delivery_place == 'Traditional birth attendant'" actions: - "isRelevant = true" \ No newline at end of file From b179f0b4d3a78a43a3411dd5d1a9fb7914049191 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 23 Aug 2022 12:41:07 +0300 Subject: [PATCH 586/915] fix: added table for anc hf data --- .../nacp/assets/ec_client_classification.json | 11 +++++++++- .../src/nacp/assets/ec_client_fields.json | 20 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index a34937b0e5..21e30c9aff 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -143,7 +143,8 @@ "field_value": "ANC Registration", "creates_case": [ "ec_anc_register", - "ec_anc_log" + "ec_anc_log", + "ec_anc_hf_data" ] }, { @@ -151,9 +152,17 @@ "field_value": "ANC Followup Client Registration", "creates_case": [ "ec_anc_register", + "ec_anc_hf_data", "ec_anc_log" ] }, + { + "field": "eventType", + "field_value": "ANC First Facility Visit", + "creates_case": [ + "ec_anc_hf_data" + ] + }, { "field": "eventType", "field_value": "ANC Home Visit", diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index fbbc24058e..fee9ab9a6b 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -966,6 +966,26 @@ } ] }, + { + "name": "ec_anc_hf_data", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "medical_surgical_history", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "medical_surgical_history" + } + } + ] + }, { "name": "ec_malaria_confirmation", "columns": [ From 3ea41870501b3b5ce564d063941379f7964999f7 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 23 Aug 2022 13:36:11 +0300 Subject: [PATCH 587/915] fix: pressenting the risk labels --- .../org/smartregister/chw/dao/ChwAncDao.java | 26 +++++++++++++++++++ .../presenter/AncMemberProfilePresenter.java | 21 +++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwAncDao.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwAncDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwAncDao.java new file mode 100644 index 0000000000..0944d6577b --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwAncDao.java @@ -0,0 +1,26 @@ +package org.smartregister.chw.dao; + +import org.smartregister.chw.core.dao.AncDao; + +import java.util.List; + +public class ChwAncDao extends AncDao { + + public static boolean isClientHighRisk(String baseEntityId) { + DataMap dataMap = cursor -> getCursorValue(cursor, "medical_surgical_history"); + + String sql = String.format( + "SELECT medical_surgical_history FROM %s WHERE base_entity_id = '%s' " + + "AND medical_surgical_history is not null ", + "ec_anc_hf_data", + baseEntityId + ); + + List res = readData(sql, dataMap); + if (res != null && res.size() != 0 && res.get(0) != null) { + return !res.get(0).equalsIgnoreCase("none"); + } else { + return false; + } + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AncMemberProfilePresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AncMemberProfilePresenter.java index f6c8780e2f..ce90916ec4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AncMemberProfilePresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AncMemberProfilePresenter.java @@ -11,6 +11,7 @@ import org.smartregister.chw.anc.domain.MemberObject; import org.smartregister.chw.core.contract.AncMemberProfileContract; import org.smartregister.chw.core.presenter.CoreAncMemberProfilePresenter; +import org.smartregister.chw.dao.ChwAncDao; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.Utils; @@ -39,6 +40,26 @@ public void referToFacility() { } } + @Override + public void refreshProfileTopSection(MemberObject memberObject) { + super.refreshProfileTopSection(memberObject); + String riskLabel = org.smartregister.chw.anc.util.Constants.HOME_VISIT.PREGNANCY_RISK_LOW; + if(ChwAncDao.isClientHighRisk(memberObject.getBaseEntityId())){ + riskLabel = org.smartregister.chw.anc.util.Constants.HOME_VISIT.PREGNANCY_RISK_HIGH; + } + getView().setPregnancyRiskLabel(riskLabel); + } + + @Override + public void setPregnancyRiskTransportProfileDetails(MemberObject memberObject) { + super.setPregnancyRiskTransportProfileDetails(memberObject); + String riskLabel = org.smartregister.chw.anc.util.Constants.HOME_VISIT.PREGNANCY_RISK_LOW; + if(ChwAncDao.isClientHighRisk(memberObject.getBaseEntityId())){ + riskLabel = org.smartregister.chw.anc.util.Constants.HOME_VISIT.PREGNANCY_RISK_HIGH; + } + getView().setPregnancyRiskLabel(riskLabel); + } + @Override public void startAncReferralForm() { if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { From f8f86affc3cc3e3fa650ef29f310c1cbd23b971e Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 23 Aug 2022 14:05:33 +0300 Subject: [PATCH 588/915] fix: update the anc registration form to ask for medical_history --- .../chw/activity/AncRegisterActivity.java | 50 ++++++ .../json.form/anc_member_registration.json | 164 +++++++++++++++++- 2 files changed, 213 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java index efe85865cf..414c87d802 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncRegisterActivity.java @@ -10,20 +10,31 @@ import androidx.fragment.app.Fragment; import com.google.android.material.bottomnavigation.BottomNavigationView; +import com.vijay.jsonwizard.constants.JsonFormConstants; +import com.vijay.jsonwizard.domain.Form; +import org.json.JSONArray; +import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; import org.smartregister.chw.anc.util.Constants; +import org.smartregister.chw.anc.util.DBConstants; import org.smartregister.chw.core.activity.CoreAncRegisterActivity; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.CoreJsonFormUtils; +import org.smartregister.chw.core.utils.FormUtils; import org.smartregister.chw.fragment.AncPartnerFollowupRegisterFragment; import org.smartregister.chw.fragment.AncRegisterFragment; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; +import org.smartregister.family.util.JsonFormUtils; +import org.smartregister.family.util.Utils; import org.smartregister.helper.BottomNavigationHelper; import org.smartregister.job.SyncServiceJob; import org.smartregister.view.fragment.BaseRegisterFragment; import java.util.Date; +import java.util.HashMap; +import java.util.Map; import timber.log.Timber; @@ -66,6 +77,45 @@ protected BaseRegisterFragment getRegisterFragment() { return new AncRegisterFragment(); } + @Override + public void startFormActivity(JSONObject jsonForm) { + + try { + JSONObject stepOne = jsonForm.getJSONObject(JsonFormUtils.STEP1); + JSONArray jsonArray = stepOne.getJSONArray(JsonFormUtils.FIELDS); + + Map values = new HashMap<>(); + + values.put(DBConstants.KEY.TEMP_UNIQUE_ID, unique_id); + values.put(CoreConstants.JsonAssets.FAM_NAME, familyName); + values.put(CoreConstants.JsonAssets.FAMILY_MEMBER.PHONE_NUMBER, phone_number); + values.put(org.smartregister.family.util.DBConstants.KEY.RELATIONAL_ID, familyBaseEntityId); + values.put(DBConstants.KEY.LAST_MENSTRUAL_PERIOD, lastMenstrualPeriod); + try { + JSONObject min_date = CoreJsonFormUtils.getFieldJSONObject(jsonArray, "delivery_date"); + min_date.put("min_date", lastMenstrualPeriod); + }catch (Exception e){ + Timber.e(e); + } + + FormUtils.updateFormField(jsonArray, values); + + Intent intent = new Intent(this, Utils.metadata().familyMemberFormActivity); + intent.putExtra(org.smartregister.family.util.Constants.JSON_FORM_EXTRA.JSON, jsonForm.toString()); + + Form form = new Form(); + form.setActionBarBackground(org.smartregister.chw.core.R.color.family_actionbar); + form.setNavigationBackground(org.smartregister.chw.core.R.color.family_navigation); + form.setName(getString(R.string.anc_registration)); + form.setWizard(true); + intent.putExtra(JsonFormConstants.JSON_FORM_KEY.FORM, form); + + startActivityForResult(intent, JsonFormUtils.REQUEST_CODE_GET_JSON); + } catch (JSONException e) { + Timber.e(e); + } + } + @Override public void switchToBaseFragment() { Intent intent = new Intent(this, AncRegisterActivity.class); diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json index 7ff0f295f9..ee53d6e296 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -1,5 +1,5 @@ { - "count": "1", + "count": "2", "encounter_type": "ANC Registration", "entity_id": "", "metadata": { @@ -48,6 +48,7 @@ }, "step1": { "title": "ANC Registration", + "next": "step2", "fields": [ { "key": "relational_id", @@ -423,5 +424,166 @@ "value": "Confirmed" } ] + }, + "step2": { + "title": "Medical And Surgical History", + "fields": [ + { + "key": "medical_surgical_history", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_surgical_history", + "type": "check_box", + "label": "Any Medical and surgical History of the Patient?", + "combine_checkbox_option_values": "true", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "none" + ], + "options": [ + { + "key": "diabetes_mellitus", + "text": "Diabetes Mellitus", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "diabetes_mellitus" + }, + { + "key": "sickle_cell_disease", + "text": "Sickle Cell Disease", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "sickle_cell_disease" + }, + { + "key": "heart_diseases", + "text": "Heart Diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "heart_diseases" + }, + { + "key": "thyroid_diseases", + "text": "Thyroid Diseases", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "thyroid_diseases" + }, + { + "key": "blood_transfusion", + "text": "Blood transfusion", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "blood_transfusion" + }, + { + "key": "known_on_art", + "text": "On ART", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "known_on_art" + }, + { + "key": "epilepsy", + "text": "Epilepsy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "epilepsy" + }, + { + "key": "previous_c_s", + "text": "Previous C/S", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "previous_c_s" + }, + { + "key": "myomectomy", + "text": "Myomectomy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "myomectomy" + }, + { + "key": "third_degree_tear", + "text": "Third Degree Tear", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "third_degree_tear" + }, + { + "key": "repaired_fistula", + "text": "Repaired Fistula", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "repaired_fistula" + }, + { + "key": "female_genital_mutilation", + "text": "Female Genital Mutilation", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "female_genital_mutilation" + }, + { + "key": "closely_spaced_pregnancy", + "text": "Closely spaced pregnancy (within 2 years)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "closely_spaced_pregnancy" + }, + { + "key": "pregnant_more_than_four", + "text": "Pregnant four or more times", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "pregnant_more_than_four" + }, + { + "key": "hx_hemorrhage", + "text": "History of Hemorrhage", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hx_hemorrhage" + }, + { + "key": "history_of_high_blood_pressure", + "text": "History of high blood pressure", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "history_of_high_blood_pressure" + }, + { + "key": "anaemia", + "text": "Anaemia", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "anaemia" + }, + { + "key": "difficult_delivery", + "text": "Difficult delivery (Vacuum, episiotomy)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "difficult_delivery" + }, + { + "key": "hx_abortions", + "text": "History of Abortions", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hx_abortions" + }, + { + "key": "none", + "text": "None", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "none" + } + ] + } + ] } } \ No newline at end of file From 6687b2d97d139fcbd47437cb87b65763a3c1bf79 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 23 Aug 2022 14:08:08 +0300 Subject: [PATCH 589/915] fix: update the swahili form --- .../json.form-sw/anc_member_registration.json | 164 +++++++++++++++++- 1 file changed, 163 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index 1c3c3a1bf1..653231ad90 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -1,5 +1,5 @@ { - "count": "1", + "count": "2", "encounter_type": "ANC Registration", "entity_id": "", "metadata": { @@ -48,6 +48,7 @@ }, "step1": { "title": "Usajili wa Wajawazito", + "next": "step2", "fields": [ { "key": "relational_id", @@ -423,5 +424,166 @@ "value": "Confirmed" } ] + }, + "step2": { + "title": "", + "fields": [ + { + "key": "medical_surgical_history", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "medical_surgical_history", + "type": "check_box", + "combine_checkbox_option_values": "true", + "label": "Historia yoyote ya Matibabu na upasuaji ya Mgonjwa?", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "none" + ], + "options": [ + { + "key": "diabetes_mellitus", + "text": "Kisukari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "diabetes_mellitus" + }, + { + "key": "sickle_cell_disease", + "text": "Ugonjwa wa Seli mundu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "sickle_cell_disease" + }, + { + "key": "heart_diseases", + "text": "Magonjwa ya moyo", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "heart_diseases" + }, + { + "key": "thyroid_diseases", + "text": "Magonjwa ya tezi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "thyroid_diseases" + }, + { + "key": "blood_transfusion", + "text": "Kuongezewa damu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "blood_transfusion" + }, + { + "key": "known_on_art", + "text": "Mteja yupo kwenye ART tayari", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "known_on_art" + }, + { + "key": "epilepsy", + "text": "Kifafa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "epilepsy" + }, + { + "key": "previous_c_s", + "text": "Kujifungua kwa upasuaji", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "previous_c_s" + }, + { + "key": "myomectomy", + "text": "Myomectomy", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "myomectomy" + }, + { + "key": "third_degree_tear", + "text": "Kuchanika msamba hatua ya tatu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "third_degree_tear" + }, + { + "key": "repaired_fistula", + "text": "Fistula iliyotibiwa", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "repaired_fistula" + }, + { + "key": "female_genital_mutilation", + "text": "Tohara kwa wanawake", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "female_genital_mutilation" + }, + { + "key": "closely_spaced_pregnancy", + "text": "Mimba zilizokaribiana (chini ya miaka miwili)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "closely_spaced_pregnancy" + }, + { + "key": "pregnant_more_than_four", + "text": "Kuwa mjamzito mara nne au zaidi", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "pregnant_more_than_four" + }, + { + "key": "hx_hemorrhage", + "text": "Historia ya kutokwa damu nyingi baada ya kujifungua", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hx_hemorrhage" + }, + { + "key": "history_of_high_blood_pressure", + "text": "Historia ya shinikizo la damu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "history_of_high_blood_pressure" + }, + { + "key": "anaemia", + "text": "Ugonjwa wa upungufu wa damu", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "anaemia" + }, + { + "key": "difficult_delivery", + "text": "Kuzalishwa kwa kuvutwa na kifaa au kuongezewa njia (Vacuum, episiotomy)", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "difficult_delivery" + }, + { + "key": "hx_abortions", + "text": "Historia ya kuharibika kwa mimba", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "hx_abortions" + }, + { + "key": "none", + "text": "Hakuna", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "none" + } + ] + } + ] } } \ No newline at end of file From 1f2f1499d58183456a9c74aaaf263d0f5589ea61 Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 16:04:16 +0300 Subject: [PATCH 590/915] Created a new form for CBHS registration --- .../assets/json.form/cbhs_registration.json | 673 ++++++++++++++++++ .../rule/hiv_registration_form_rules.yml | 65 +- 2 files changed, 737 insertions(+), 1 deletion(-) create mode 100644 opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json new file mode 100644 index 0000000000..31f103a745 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json @@ -0,0 +1,673 @@ +{ + "form": "HIV Registration form", + "count": "1", + "encounter_type": "CBHS Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "CBHS Registration Form", + "fields": [ + { + "name": "gender", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gender", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Gender" + }, + "subjects": "gender:text" + }, + { + "name": "age", + "type": "text_input_edit_text", + "properties": { + "hint": "Enter your age", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "age", + "openmrs_entity_parent": "" + }, + "subjects": "age:text" + }, + { + "name": "cbhs_number", + "type": "masked_edit_text", + "properties": { + "hint": "CBHS Number e.g 1234-56-78-912", + "type": "CBHS Number e.g 1234-56-78-912", + "mask": "####-##-##-###", + "mask_hint": "12345678912", + "input_type": "number", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cbhs_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", + "message": "CBHS Number should be of the format (XXXX-XX-XX-XXX)." + } + ], + "required_status": "yes:Please specify client's CBHS Number" + }, + { + "name": "client_hiv_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's HIV status during registration" + }, + "options": [ + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "hiv_registration_date" + ] + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "CTC Number e.g 12-34-5678-912345", + "type": "CTC Number e.g 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "input_type": "number", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "CTC Number should be of format (XX-XX-XXXX-XXXXXX)." + } + ], + "subjects": "client_hiv_status_during_registration:text" + }, + { + "name": "client_tb_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's TB status during registration" + }, + "options": [ + { + "name": "unknown", + "text": "Unknown", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Positive", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Negative", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ] + }, + { + "name": "reasons_for_registration_male_15", + "type": "radio_group", + "properties": { + "text": "Reason for registration" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_above_15", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_aids", + "text": "HIV/AIDs", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_aids", + "openmrs_entity_parent": "" + } + }, + { + "name": "tuberculosis", + "text": "Tuberculosis", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tuberculosis", + "openmrs_entity_parent": "" + } + }, + { + "name": "homosexual", + "text": "Men who have sex with men", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "homosexual", + "openmrs_entity_parent": "" + } + }, + { + "name": "gender_violence", + "text": "Gender violence", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gender_violence", + "openmrs_entity_parent": "" + } + }, + { + "name": "drug_abuse", + "text": "Drug abuse", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drug_abuse", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:The reason for registration is required", + "subjects": "gender:text, age:number", + "dependent_calculations": [ + "reasons_for_registration" + ] + }, + { + "name": "reasons_for_registration_female_15", + "type": "radio_group", + "properties": { + "text": "Reason for registration" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_15", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_aids", + "text": "HIV/AIDs", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_aids", + "openmrs_entity_parent": "" + } + }, + { + "name": "tuberculosis", + "text": "Tuberculosis", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tuberculosis", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_worker_woman", + "text": "Sex worker", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_worker_woman", + "openmrs_entity_parent": "" + } + }, + { + "name": "gender_violence", + "text": "Gender violence", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gender_violence", + "openmrs_entity_parent": "" + } + }, + { + "name": "drug_abuse", + "text": "Drug abuse", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drug_abuse", + "openmrs_entity_parent": "" + } + }, + { + "name": "pregnant_mother", + "text": "Pregnant mother", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pregnant_mother", + "openmrs_entity_parent": "" + } + }, + { + "name": "breastfeeding_mother", + "text": "Breastfeeding mother", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "breastfeeding_mother", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:The reason for registration is required", + "subjects": "gender:text, age:number", + "dependent_calculations": [ + "reasons_for_registration" + ] + }, + { + "name": "reasons_for_registration_male_under_15", + "type": "radio_group", + "properties": { + "text": "Reason for registration" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_under_15", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_aids", + "text": "HIV/AIDs", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_aids", + "openmrs_entity_parent": "" + } + }, + { + "name": "tuberculosis", + "text": "Tuberculosis", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tuberculosis", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infected_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "untested_hiv_infected_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "abused_child", + "text": "Abused child", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "abused_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "gender_violence", + "text": "Gender violence", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gender_violence", + "openmrs_entity_parent": "" + } + }, + { + "name": "drug_abuse", + "text": "Drug abuse", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drug_abuse", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:The reason for registration is required", + "subjects": "gender:text, age:number", + "dependent_calculations": [ + "reasons_for_registration" + ] + }, + { + "name": "reasons_for_registration_female_under_10", + "type": "radio_group", + "properties": { + "text": "Reason for registration" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_under_10", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_aids", + "text": "HIV/AIDs", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_aids", + "openmrs_entity_parent": "" + } + }, + { + "name": "tuberculosis", + "text": "Tuberculosis", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tuberculosis", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infected_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "untested_hiv_infected_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "abused_child", + "text": "Abused child", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "abused_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "gender_violence", + "text": "Gender violence", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gender_violence", + "openmrs_entity_parent": "" + } + }, + { + "name": "drug_abuse", + "text": "Drug abuse", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drug_abuse", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:The reason for registration is required", + "subjects": "gender:text, age:number", + "dependent_calculations": [ + "reasons_for_registration" + ] + }, + { + "name": "reasons_for_registration_female_10_to_14", + "type": "radio_group", + "properties": { + "text": "Reason for registration" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_10_to_14", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_aids", + "text": "HIV/AIDs", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_aids", + "openmrs_entity_parent": "" + } + }, + { + "name": "tuberculosis", + "text": "Tuberculosis", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tuberculosis", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infected_child", + "text": "A child born from a mother with HIV/AIDs", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infected_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "untested_hiv_infected_child", + "text": "Untested HIV/AIDs child", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "untested_hiv_infected_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "abused_child", + "text": "Abused child", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "abused_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "gender_violence", + "text": "Gender violence", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gender_violence", + "openmrs_entity_parent": "" + } + }, + { + "name": "drug_abuse", + "text": "Drug abuse", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drug_abuse", + "openmrs_entity_parent": "" + } + }, + { + "name": "pregnant_mother", + "text": "Pregnant mother", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pregnant_mother", + "openmrs_entity_parent": "" + } + }, + { + "name": "breastfeeding_mother", + "text": "Breastfeeding mother", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "breastfeeding_mother", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:The reason for registration is required", + "subjects": "gender:text, age:number", + "dependent_calculations": [ + "reasons_for_registration" + ] + }, + { + "name": "tb_number", + "type": "text_input_edit_text", + "properties": { + "hint": "TB ID", + "type": "TB Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_number", + "openmrs_entity_parent": "" + } + }, + { + "name": "rch_number", + "type": "text_input_edit_text", + "properties": { + "hint": "RCH ID", + "type": "RCH Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "rch_number", + "openmrs_entity_parent": "" + }, + "subjects": "gender:text" + }, + { + "name": "mat_number", + "type": "text_input_edit_text", + "properties": { + "hint": "MAT ID", + "type": "MAT Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mat_number", + "openmrs_entity_parent": "" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml index 23df1d54b1..e2baee69ee 100644 --- a/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml @@ -11,4 +11,67 @@ description: "calculating the hiv registration date" priority: 1 condition: "true" actions: - - "hiv_registration_date_calculation = System.currentTimeMillis()" \ No newline at end of file + - "hiv_registration_date_calculation = System.currentTimeMillis()" +--- +name: "rch_number_visibility" +description: "rch_number visibility" +priority: 1 +condition: "gender == 'Female'" +actions: + - "rch_number_visibility = true" +--- +name: "gender_visibility" +description: "gender visibility" +priority: 1 +condition: "false" +actions: + - "gender_visibility = true" +--- +name: "age_visibility" +description: "gender visibility" +priority: 1 +condition: "false" +actions: + - "age_visibility = true" +--- +name: "reasons_for_registration_male_15_visibility" +description: "reasons_for_registration_male_15 visibility" +priority: 1 +condition: "gender == 'Male' && age >= 15" +actions: + - "reasons_for_registration_male_15_visibility = true" +--- +name: "reasons_for_registration_female_15_visibility" +description: "reasons_for_registration_female_15 visibility" +priority: 1 +condition: "gender == 'Female' && age >= 15" +actions: + - "reasons_for_registration_female_15_visibility = true" +--- +name: "reasons_for_registration_male_under_15_visibility" +description: "reasons_for_registration_male_under_15 visibility" +priority: 1 +condition: "gender == 'Male' && age < 15" +actions: + - "reasons_for_registration_male_under_15_visibility = true" +--- +name: "reasons_for_registration_female_under_10_visibility" +description: "reasons_for_registration_female_under_10 visibility" +priority: 1 +condition: "gender == 'Female' && age < 10" +actions: + - "reasons_for_registration_female_under_10_visibility = true" +--- +name: "reasons_for_registration_female_10_to_14_visibility" +description: "reasons_for_registration_female_10_to_14 visibility" +priority: 1 +condition: "gender == 'Female' && (age > 10 && age <= 14)" +actions: + - "reasons_for_registration_female_10_to_14_visibility = true" +--- +name: "reasons_for_registration_calculation" +description: "calculating the reason for registration" +priority: 1 +condition: "true" +actions: + - "reasons_for_registration_calculation = (gender == 'Male' && age >= 15) ? reasons_for_registration_male_15 : (gender == 'Female' && age >= 15) ? reasons_for_registration_female_15 : (gender == 'Male' && age < 15) ? reasons_for_registration_male_under_15 : (gender == 'Female' && age < 10) ? reasons_for_registration_female_under_10 : (gender == 'Female' && (age > 10 && age <= 14)) ? reasons_for_registration_female_10_to_14 : '' " \ No newline at end of file From 0f6780ea3d5725c7900d0c129898975e76efc2e3 Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 16:10:29 +0300 Subject: [PATCH 591/915] Created form constant --- .../src/main/java/org/smartregister/chw/util/Constants.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index d4db38ff7f..9cbc78f86b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -90,6 +90,11 @@ public static final class JsonForm{ private static final String PMTCT_COMMUNITY_FOLLOWUP_FEEDBACK = "pmtct_community_followup_feedback"; private static final String MOTHER_CHAMPION_FOLLOWUP_FORM = "mother_champion_followup"; private static final String MOTHER_CHAMPION_SBCC_FORM = "mother_champion_sbcc_sessions"; + private static final String CBHS_REGISTRATION_FORM = "cbhs_registration"; + + public static String getCbhsRegistrationForm() { + return CBHS_REGISTRATION_FORM; + } public static String getMotherChampionFollowupForm() { return MOTHER_CHAMPION_FOLLOWUP_FORM; From 1d3b43a9f6085f9a96b578aab8d338353f7602fb Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 16:12:31 +0300 Subject: [PATCH 592/915] Implement: loading CBHS registration form in Independent client's profile --- .../AllClientsMemberProfileActivity.java | 44 +++++++++++++++---- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index d173ae7909..f7366e26dd 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -3,8 +3,11 @@ import android.content.Context; import android.view.Menu; +import androidx.viewpager.widget.ViewPager; + import com.vijay.jsonwizard.utils.FormUtils; +import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; @@ -29,7 +32,6 @@ import org.smartregister.family.util.DBConstants; import org.smartregister.view.contract.BaseProfileContract; -import androidx.viewpager.widget.ViewPager; import timber.log.Timber; public class AllClientsMemberProfileActivity extends CoreAllClientsMemberProfileActivity { @@ -90,16 +92,42 @@ protected void startMalariaRegister() { @Override protected void startHivRegister() { String gender = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.GENDER, false); - String formName; - if (gender.equalsIgnoreCase("male")) { - formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); - } else { - formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); - } + String dob = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.DOB, false); + int age = Utils.getAgeFromDate(dob); + try { - HivRegisterActivity.startHIVFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); + String formName = Constants.JsonForm.getCbhsRegistrationForm(); + JSONObject formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(AllClientsMemberProfileActivity.this, formName); + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + + updateAgeAndGender(fields, age, gender); + + HivRegisterActivity.startHIVFormActivity(AllClientsMemberProfileActivity.this, baseEntityId, formName, formJsonObject.toString()); } catch (JSONException e) { Timber.e(e); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private void updateAgeAndGender(JSONArray fields, int age, String gender) throws Exception { + boolean foundAge = false; + boolean foundGender = false; + for (int i = 0; i < fields.length(); i++) { + JSONObject field = fields.getJSONObject(i); + if (field.getString("name").equals("age")) { + field.getJSONObject("properties").put("text", String.valueOf(age)); + foundAge = true; + } + if (field.getString("name").equals("gender")) { + field.getJSONObject("properties").put("text", gender); + foundGender = true; + } + if (foundAge && foundGender) { + return; + } } } From 4572d049d0aebf93fd5ea95771aa7b91733bb49c Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 16:12:53 +0300 Subject: [PATCH 593/915] Save reasons for registration field in DB --- opensrp-chw/src/nacp/assets/ec_client_fields.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index fbbc24058e..72eeea0d9b 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -2860,6 +2860,15 @@ "field": "obs.formSubmissionField", "concept": "hiv_registration_date" } + }, + { + "column_name": "reasons_for_registration", + "type": "Event", + "data_type": "date", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "reasons_for_registration" + } } ] }, From fb8f60cf9a860e6c57eb22913f96061b94892b19 Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 16:25:46 +0300 Subject: [PATCH 594/915] Implement: loading of CBHS registration form in ANC client's profile --- .../activity/AncMemberProfileActivity.java | 39 +++++++++++++++---- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index 20e7ff635d..f538b8914c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -413,17 +413,42 @@ public void startFormActivity(JSONObject formJson) { protected void startCBHSRegister(CommonPersonObject commonPersonObject) { String gender = org.smartregister.chw.util.Utils.getValue(commonPersonObject.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); - String formName; - if (gender.equalsIgnoreCase("male")) { - formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); - } else { - formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); - } + String dob = org.smartregister.chw.util.Utils.getValue(commonPersonObject.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.DOB, false); + int age = org.smartregister.chw.util.Utils.getAgeFromDate(dob); try { - HivRegisterActivity.startHIVFormActivity(AncMemberProfileActivity.this, baseEntityID, formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); + String formName = org.smartregister.chw.util.Constants.JsonForm.getCbhsRegistrationForm(); + JSONObject formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(AncMemberProfileActivity.this, formName); + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + + updateAgeAndGender(fields, age, gender); + + HivRegisterActivity.startHIVFormActivity(AncMemberProfileActivity.this, memberObject.getBaseEntityId(), formName, formJsonObject.toString()); } catch (JSONException e) { Timber.e(e); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private void updateAgeAndGender(JSONArray fields, int age, String gender) throws Exception { + boolean foundAge = false; + boolean foundGender = false; + for (int i = 0; i < fields.length(); i++) { + JSONObject field = fields.getJSONObject(i); + if (field.getString("name").equals("age")) { + field.getJSONObject("properties").put("text", String.valueOf(age)); + foundAge = true; + } + if (field.getString("name").equals("gender")) { + field.getJSONObject("properties").put("text", gender); + foundGender = true; + } + if (foundAge && foundGender) { + return; + } } } From 17a679a182b80bfd1b1e26c7791f8eac92b33cb0 Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 16:26:11 +0300 Subject: [PATCH 595/915] Optimized imports --- .../chw/activity/AncMemberProfileActivity.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index f538b8914c..9de2be8bbf 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -1,5 +1,10 @@ package org.smartregister.chw.activity; +import static org.smartregister.chw.core.utils.Utils.getCommonPersonObjectClient; +import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + import android.app.Activity; import android.content.ContentValues; import android.content.Intent; @@ -72,11 +77,6 @@ import io.reactivex.schedulers.Schedulers; import timber.log.Timber; -import static org.smartregister.chw.core.utils.Utils.getCommonPersonObjectClient; -import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; -import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; -import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; - public class AncMemberProfileActivity extends CoreAncMemberProfileActivity implements AncMemberProfileContract.View { private List referralTypeModels = new ArrayList<>(); From 12d4d45aac0c8069bc417db0d711fa604b98319e Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 16:33:02 +0300 Subject: [PATCH 596/915] Implement: loading of CBHS registration form in ANC partner's profile --- ...artnerFollowupReferralProfileActivity.java | 39 +++++++++++++++---- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index 82162ba19b..ff19ae3008 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -437,17 +437,42 @@ public void startFormActivity(JSONObject formJson) { protected void startCBHSRegister(CommonPersonObject commonPersonObject) { String gender = org.smartregister.chw.util.Utils.getValue(commonPersonObject.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); - String formName; - if (gender.equalsIgnoreCase("male")) { - formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); - } else { - formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); - } + String dob = org.smartregister.chw.util.Utils.getValue(commonPersonObject.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.DOB, false); + int age = org.smartregister.chw.util.Utils.getAgeFromDate(dob); try { - HivRegisterActivity.startHIVFormActivity(AncPartnerFollowupReferralProfileActivity.this, baseEntityID, formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); + String formName = org.smartregister.chw.util.Constants.JsonForm.getCbhsRegistrationForm(); + JSONObject formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(AncPartnerFollowupReferralProfileActivity.this, formName); + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + + updateAgeAndGender(fields, age, gender); + + HivRegisterActivity.startHIVFormActivity(AncPartnerFollowupReferralProfileActivity.this, memberObject.getBaseEntityId(), formName, formJsonObject.toString()); } catch (JSONException e) { Timber.e(e); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private void updateAgeAndGender(JSONArray fields, int age, String gender) throws Exception { + boolean foundAge = false; + boolean foundGender = false; + for (int i = 0; i < fields.length(); i++) { + JSONObject field = fields.getJSONObject(i); + if (field.getString("name").equals("age")) { + field.getJSONObject("properties").put("text", String.valueOf(age)); + foundAge = true; + } + if (field.getString("name").equals("gender")) { + field.getJSONObject("properties").put("text", gender); + foundGender = true; + } + if (foundAge && foundGender) { + return; + } } } From fd22863b5f1444094f56ee056b427f983172db84 Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 16:38:04 +0300 Subject: [PATCH 597/915] Implement: loading of CBHS registration form in family member profile --- .../FamilyOtherMemberProfileActivity.java | 49 ++++++++++++++----- 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index bf8ca3b60a..72ed262411 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -1,11 +1,17 @@ package org.smartregister.chw.activity; +import static org.smartregister.chw.core.utils.Utils.updateToolbarTitle; + import android.app.Activity; import android.content.Context; import android.view.Menu; +import androidx.annotation.Nullable; +import androidx.viewpager.widget.ViewPager; + import com.vijay.jsonwizard.utils.FormUtils; +import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; @@ -29,12 +35,8 @@ import org.smartregister.family.util.DBConstants; import org.smartregister.view.contract.BaseProfileContract; -import androidx.annotation.Nullable; -import androidx.viewpager.widget.ViewPager; import timber.log.Timber; -import static org.smartregister.chw.core.utils.Utils.updateToolbarTitle; - public class FamilyOtherMemberProfileActivity extends CoreFamilyOtherMemberProfileActivity { private FamilyMemberFloatingMenu familyFloatingMenu; private Flavor flavor = new FamilyOtherMemberProfileActivityFlv(); @@ -136,17 +138,42 @@ protected void removeIndividualProfile() { @Override protected void startHivRegister() { String gender = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.GENDER, false); - String formName; - if (gender.equalsIgnoreCase("male")) { - formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); - } else { - formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); - } + String dob = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.DOB, false); + int age = Utils.getAgeFromDate(dob); try { - HivRegisterActivity.startHIVFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId, formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); + String formName = Constants.JsonForm.getCbhsRegistrationForm(); + JSONObject formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(FamilyOtherMemberProfileActivity.this, formName); + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + + updateAgeAndGender(fields, age, gender); + + HivRegisterActivity.startHIVFormActivity(FamilyOtherMemberProfileActivity.this, baseEntityId, formName, formJsonObject.toString()); } catch (JSONException e) { Timber.e(e); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private void updateAgeAndGender(JSONArray fields, int age, String gender) throws Exception { + boolean foundAge = false; + boolean foundGender = false; + for (int i = 0; i < fields.length(); i++) { + JSONObject field = fields.getJSONObject(i); + if (field.getString("name").equals("age")) { + field.getJSONObject("properties").put("text", String.valueOf(age)); + foundAge = true; + } + if (field.getString("name").equals("gender")) { + field.getJSONObject("properties").put("text", gender); + foundGender = true; + } + if (foundAge && foundGender) { + return; + } } } From 3a4be68a16166d920303829d8be72419ea43c5a5 Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 17:43:21 +0300 Subject: [PATCH 598/915] Implement: loading of CBHS registration form in PNC profile --- .../activity/PncMemberProfileActivity.java | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index 0f312cdc7e..45287cae6d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -7,6 +7,7 @@ import static org.smartregister.chw.util.Constants.ProfileActivityResults; import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; +import static org.smartregister.chw.util.Utils.updateAgeAndGender; import android.app.Activity; import android.content.Intent; @@ -22,6 +23,7 @@ import org.apache.commons.lang3.StringUtils; import org.joda.time.DateTime; import org.joda.time.Days; +import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.BuildConfig; @@ -58,9 +60,9 @@ import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.commonregistry.CommonRepository; -import org.smartregister.domain.AlertStatus; import org.smartregister.family.contract.FamilyProfileContract; import org.smartregister.family.domain.FamilyEventClient; +import org.smartregister.family.util.DBConstants; import org.smartregister.family.util.JsonFormUtils; import org.smartregister.family.util.Utils; @@ -121,8 +123,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { FamilyEventClient familyEventClient = new FamilyProfileModel(memberObject.getFamilyName()).processUpdateMemberRegistration(jsonString, memberObject.getBaseEntityId()); new FamilyProfileInteractor().saveRegistration(familyEventClient, jsonString, true, (FamilyProfileContract.InteractorCallBack) pncMemberProfilePresenter()); - } - else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(Utils.metadata().familyRegister.updateEventType)) { + } else if (form.getString(JsonFormUtils.ENCOUNTER_TYPE).equals(Utils.metadata().familyRegister.updateEventType)) { CommonPersonObjectClient client = getCommonPersonObjectClient(memberObject.getBaseEntityId()); FamilyEventClient familyEventClient = new CoreAllClientsMemberModel().processJsonForm(jsonString, UpdateDetailsUtil.getFamilyBaseEntityId(client)); familyEventClient.getEvent().setEntityType(CoreConstants.TABLE_NAME.INDEPENDENT_CLIENT); @@ -329,7 +330,7 @@ public boolean onCreateOptionsMenu(Menu menu) { @Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); - if(itemId == org.smartregister.chw.core.R.id.action_pnc_member_registration){ + if (itemId == org.smartregister.chw.core.R.id.action_pnc_member_registration) { if (UpdateDetailsUtil.isIndependentClient(baseEntityID)) { startFormForEdit(org.smartregister.chw.core.R.string.registration_info, CoreConstants.JSON_FORM.getAllClientUpdateRegistrationInfoForm()); @@ -452,10 +453,24 @@ protected void startFpRegister() { @Override protected void startHivRegister() { + CommonPersonObjectClient client = getCommonPersonObjectClient(memberObject.getBaseEntityId()); + String gender = org.smartregister.chw.util.Utils.getValue(client.getColumnmaps(), DBConstants.KEY.GENDER, false); + String dob = org.smartregister.chw.util.Utils.getValue(client.getColumnmaps(), DBConstants.KEY.DOB, false); + int age = org.smartregister.chw.util.Utils.getAgeFromDate(dob); + try { - HivRegisterActivity.startHIVFormActivity(this, memberObject.getBaseEntityId(), JSON_FORM.getFemaleHivRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, JSON_FORM.getFemaleHivRegistration()).toString()); + String formName = org.smartregister.chw.util.Constants.JsonForm.getCbhsRegistrationForm(); + JSONObject formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(PncMemberProfileActivity.this, formName); + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + updateAgeAndGender(fields, age, gender); + + HivRegisterActivity.startHIVFormActivity(PncMemberProfileActivity.this, memberObject.getBaseEntityId(), formName, formJsonObject.toString()); } catch (JSONException e) { Timber.e(e); + } catch (Exception e) { + e.printStackTrace(); } } From a6e3edcae9809176a6d27776f1baed9d24a04ad8 Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 17:44:05 +0300 Subject: [PATCH 599/915] Ported method to Utils class --- .../AllClientsMemberProfileActivity.java | 21 ++-------------- ...artnerFollowupReferralProfileActivity.java | 20 +--------------- .../FamilyOtherMemberProfileActivity.java | 20 +--------------- .../org/smartregister/chw/util/Utils.java | 24 +++++++++++++++++++ 4 files changed, 28 insertions(+), 57 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index f7366e26dd..a66a2de3d6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -1,5 +1,7 @@ package org.smartregister.chw.activity; +import static org.smartregister.chw.util.Utils.updateAgeAndGender; + import android.content.Context; import android.view.Menu; @@ -112,25 +114,6 @@ protected void startHivRegister() { } } - private void updateAgeAndGender(JSONArray fields, int age, String gender) throws Exception { - boolean foundAge = false; - boolean foundGender = false; - for (int i = 0; i < fields.length(); i++) { - JSONObject field = fields.getJSONObject(i); - if (field.getString("name").equals("age")) { - field.getJSONObject("properties").put("text", String.valueOf(age)); - foundAge = true; - } - if (field.getString("name").equals("gender")) { - field.getJSONObject("properties").put("text", gender); - foundGender = true; - } - if (foundAge && foundGender) { - return; - } - } - } - @Override protected void startTbRegister() { try { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index ff19ae3008..1074d0fdf9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -10,6 +10,7 @@ import static org.smartregister.chw.util.Constants.PartnerRegistrationConstants.ReferralFormId; import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; +import static org.smartregister.chw.util.Utils.updateAgeAndGender; import static org.smartregister.util.JsonFormUtils.STEP1; import static org.smartregister.util.JsonFormUtils.VALUE; @@ -457,25 +458,6 @@ protected void startCBHSRegister(CommonPersonObject commonPersonObject) { } } - private void updateAgeAndGender(JSONArray fields, int age, String gender) throws Exception { - boolean foundAge = false; - boolean foundGender = false; - for (int i = 0; i < fields.length(); i++) { - JSONObject field = fields.getJSONObject(i); - if (field.getString("name").equals("age")) { - field.getJSONObject("properties").put("text", String.valueOf(age)); - foundAge = true; - } - if (field.getString("name").equals("gender")) { - field.getJSONObject("properties").put("text", gender); - foundGender = true; - } - if (foundAge && foundGender) { - return; - } - } - } - @Override public void openFamilyLocation() { Intent intent = new Intent(this, AncMemberMapActivity.class); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index 72ed262411..9b6987488a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -1,6 +1,7 @@ package org.smartregister.chw.activity; import static org.smartregister.chw.core.utils.Utils.updateToolbarTitle; +import static org.smartregister.chw.util.Utils.updateAgeAndGender; import android.app.Activity; import android.content.Context; @@ -158,25 +159,6 @@ protected void startHivRegister() { } } - private void updateAgeAndGender(JSONArray fields, int age, String gender) throws Exception { - boolean foundAge = false; - boolean foundGender = false; - for (int i = 0; i < fields.length(); i++) { - JSONObject field = fields.getJSONObject(i); - if (field.getString("name").equals("age")) { - field.getJSONObject("properties").put("text", String.valueOf(age)); - foundAge = true; - } - if (field.getString("name").equals("gender")) { - field.getJSONObject("properties").put("text", gender); - foundGender = true; - } - if (foundAge && foundGender) { - return; - } - } - } - @Override protected void startTbRegister() { try { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java index 2e4f6a67bf..0220bfb047 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java @@ -9,6 +9,8 @@ import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; +import org.json.JSONArray; +import org.json.JSONObject; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.activity.ClientReferralActivity; @@ -125,5 +127,27 @@ public static String getClientName(String firstName, String middleName, String l } } + /* + * For CBHS Registration + */ + public static void updateAgeAndGender(JSONArray fields, int age, String gender) throws Exception { + boolean foundAge = false; + boolean foundGender = false; + for (int i = 0; i < fields.length(); i++) { + JSONObject field = fields.getJSONObject(i); + if (field.getString("name").equals("age")) { + field.getJSONObject("properties").put("text", String.valueOf(age)); + foundAge = true; + } + if (field.getString("name").equals("gender")) { + field.getJSONObject("properties").put("text", gender); + foundGender = true; + } + if (foundAge && foundGender) { + return; + } + } + } + } From a759a8cd0eed34d78c2dea5376dd57f959647882 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 23 Aug 2022 17:45:33 +0300 Subject: [PATCH 600/915] :arrow_up: updated chw-core dependencie --- opensrp-chw/build.gradle | 2 +- .../all_clients_registration_form.json | 57 ------------------ ...clients_update_registration_info_form.json | 58 ------------------- .../json.form-sw/anc_hv_counselling.json | 17 ------ .../json.form-sw/anc_hv_danger_signs.json | 14 ----- .../json.form-sw/anc_hv_observations.json | 5 -- .../anc_hv_pregnancy_risk_form.json | 3 - .../json.form-sw/anc_member_registration.json | 6 -- ...c_partner_community_followup_feedback.json | 14 ----- .../json.form-sw/anc_pregnancy_outcome.json | 13 ----- .../json.form-sw/anc_referral_form.json | 30 ---------- .../assets/json.form-sw/child_enrollment.json | 8 --- .../json.form-sw/child_referral_form.json | 26 --------- .../json.form-sw/family_member_register.json | 22 ------- .../assets/json.form-sw/family_register.json | 22 ------- .../female_family_planning_change_method.json | 1 - .../json.form-sw/female_fp_referral_form.json | 26 --------- .../json.form-sw/malaria_confirmation.json | 8 --- .../json.form-sw/malaria_follow_up_visit.json | 2 - .../json.form-sw/malaria_referral_form.json | 28 --------- .../male_family_planning_change_method.json | 1 - .../json.form-sw/male_fp_referral_form.json | 6 -- .../male_partner_registration_form.json | 22 ------- .../assets/json.form-sw/pnc_counselling.json | 20 ------- .../json.form-sw/pnc_danger_signs_baby.json | 14 ----- .../json.form-sw/pnc_danger_signs_mother.json | 14 ----- .../json.form-sw/pnc_family_planning.json | 3 - .../json.form-sw/pnc_hv_danger_signs.json | 10 ---- .../pnc_hv_observations_infant.json | 6 -- .../pnc_hv_observations_mother.json | 6 -- .../json.form-sw/pnc_referral_form.json | 40 ------------- .../json.form-sw/routine_home_visit.json | 15 ----- .../all_clients_registration_form.json | 57 ------------------ ...clients_update_registration_info_form.json | 58 ------------------- .../assets/json.form/anc_hv_counselling.json | 17 ------ .../assets/json.form/anc_hv_danger_signs.json | 14 ----- .../assets/json.form/anc_hv_observations.json | 5 -- .../json.form/anc_hv_pregnancy_risk_form.json | 3 - .../json.form/anc_member_registration.json | 6 -- ...c_partner_community_followup_feedback.json | 14 ----- .../json.form/anc_pregnancy_outcome.json | 13 ----- .../assets/json.form/anc_referral_form.json | 30 ---------- .../assets/json.form/child_enrollment.json | 8 --- .../assets/json.form/child_referral_form.json | 26 --------- .../json.form/family_member_register.json | 22 ------- .../assets/json.form/family_register.json | 22 ------- .../female_family_planning_change_method.json | 1 - .../json.form/female_fp_referral_form.json | 26 --------- .../json.form/malaria_confirmation.json | 8 --- .../json.form/malaria_follow_up_visit.json | 2 - .../json.form/malaria_referral_form.json | 28 --------- .../male_family_planning_change_method.json | 1 - .../json.form/male_fp_referral_form.json | 6 -- .../male_partner_registration_form.json | 22 ------- .../assets/json.form/pnc_counselling.json | 20 ------- .../json.form/pnc_danger_signs_baby.json | 14 ----- .../json.form/pnc_danger_signs_mother.json | 14 ----- .../assets/json.form/pnc_family_planning.json | 3 - .../assets/json.form/pnc_hv_danger_signs.json | 10 ---- .../json.form/pnc_hv_observations_infant.json | 6 -- .../json.form/pnc_hv_observations_mother.json | 6 -- .../assets/json.form/pnc_referral_form.json | 40 ------------- .../assets/json.form/routine_home_visit.json | 15 ----- 63 files changed, 1 insertion(+), 1035 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 21975cb422..cbec0c199b 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -345,7 +345,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.31.26-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.32.0-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index 29b0e4bee5..d530f0b65d 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -499,28 +499,24 @@ { "key": "chk_national_id", "text": "Kitambulisho cha Taifa", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" }, { "key": "chk_voters_id", "text": "Kitambulisho cha mpiga kura", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_voters_id" }, { "key": "chk_drivers_license", "text": "Leseni ya udereva", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } @@ -833,56 +829,48 @@ { "key": "physical_impairments", "text": "Ulemavu wa viungo vya mwili", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "physical_impairments" }, { "key": "spinal_cord_disability", "text": "Ulemavu wa Uti wa Mgongo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "spinal_cord_disability" }, { "key": "brain_disability", "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "brain_disability" }, { "key": "vision_disability", "text": "Ulemavu wa macho", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "vision_disability" }, { "key": "hearing_disability", "text": "Ulemavu wa Kusikia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hearing_disability" }, { "key": "learning_disabilities", "text": "Ulemavu wa Utambuzi au Kujifunza", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "learning_disabilities" }, { "key": "psychological_disorders", "text": "Matatizo ya Kisaikolojia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "psychological_disorders" }, { "key": "invisible_disabilities", "text": "Ulemavu Usioonekana", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "invisible_disabilities" } @@ -982,28 +970,24 @@ { "key": "chk_self_employed", "text": "Amejiajiri", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_self_employed" }, { "key": "chk_employed", "text": "Ameajiriwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_employed" }, { "key": "chk_unemployed", "text": "Hajaajiriwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unemployed" }, { "key": "chk_farmer", "text": "Mkulima", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" } @@ -1037,42 +1021,36 @@ { "key": "chk_religious", "text": "Kiongozi wa dini", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Religious_Leader" }, { "key": "chk_traditional", "text": "Kiongozi wa kimila", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Traditional_leader" }, { "key": "chk_political", "text": "Kiongozi wa kisiasa", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Political_leader" }, { "key": "chk_influential", "text": "Mtu mwenye ushawishi kwenye jamii", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Influential_Leader" }, { "key": "chk_other", "text": "Nyinginezo", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Not_a_Community_Leader" } @@ -1140,35 +1118,30 @@ { "key": "hiv_aids", "text": "Maambukizi ya VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua Kikuu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "homosexual", "text": "Wanaume wanaofanya mapenzi na wanaume", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "homosexual" }, { "key": "gender_violence", "text": "Unyanyasaji wa Kijinsia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" } @@ -1198,49 +1171,42 @@ { "key": "hiv_aids", "text": "Maambukizi ya VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "sex_worker_woman", "text": "Mfanyabiashara ya ngono", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "sex_worker_woman" }, { "key": "gender_violence", "text": "Ukatili wa kijinsia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Mama mjamzito", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Mama anayenyonyesha", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "breastfeeding_mother" } @@ -1270,49 +1236,42 @@ { "key": "hiv_aids", "text": "Maambukizi ya VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "Mtoto aliyezaliwa na mama mwenye VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Mtoto ambaye hajapimwa VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Unyanyasaji wa mtoto", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Unyanyasaji wa kijinsia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" } @@ -1342,49 +1301,42 @@ { "key": "hiv_aids", "text": "Maambukizi ya VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "Mtoto aliyezaliwa na mama mwenye VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Mtoto ambaye hajapimwa VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Unyanyasaji wa mtoto", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Ukatili wa kijinsia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" } @@ -1414,63 +1366,54 @@ { "key": "hiv_aids", "text": "Maambukizi ya VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "Mtoto aliyezaliwa na mama mwenye VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Mtoto ambaye hajapimwa VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Unyanyasaji wa mtoto", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Ukatili wa kijinsia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Mama mjamzito", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Mama anayenyonyesha", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "breastfeeding_mother" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 87f14180d8..5123a32f9c 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -319,28 +319,24 @@ { "key": "chk_national_id", "text": "Kitambulisho cha Taifa", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" }, { "key": "chk_voters_id", "text": "Kitambulisho cha usajili wa mpiga kura", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_voters_id" }, { "key": "chk_drivers_license", "text": "Leseni ya udereva", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } @@ -653,56 +649,48 @@ { "key": "physical_impairments", "text": "Uhamaji na Ulemavu wa Kimwili", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "physical_impairments" }, { "key": "spinal_cord_disability", "text": "Ulemavu wa Uti wa Mgongo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "spinal_cord_disability" }, { "key": "brain_disability", "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "brain_disability" }, { "key": "vision_disability", "text": "Ulemavu wa Kuona", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "vision_disability" }, { "key": "hearing_disability", "text": "Ulemavu wa Kuskia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hearing_disability" }, { "key": "learning_disabilities", "text": "Ulemavu wa Utambuzi au Kujifunza", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "learning_disabilities" }, { "key": "psychological_disorders", "text": "Matatizo ya Kisaikolojia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "psychological_disorders" }, { "key": "invisible_disabilities", "text": "Ulemavu Usioonekana", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "invisible_disabilities" } @@ -802,28 +790,24 @@ { "key": "chk_self_employed", "text": "Amejiajiri", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_self_employed" }, { "key": "chk_employed", "text": "Ameajiriwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_employed" }, { "key": "chk_unemployed", "text": "Hajaajiriwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unemployed" }, { "key": "chk_farmer", "text": "Mkulima", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" } @@ -857,42 +841,36 @@ { "key": "chk_religious", "text": "Kiongozi wa Kidini", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Religious_Leader" }, { "key": "chk_traditional", "text": "Kiongozi wa Kijadi", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Traditional_leader" }, { "key": "chk_political", "text": "Kiongozi wa Kisiasa", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Political_leader" }, { "key": "chk_influential", "text": "Kiongozi mwenye ushawishi ", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Influential_Leader" }, { "key": "chk_other", "text": "Nyingine", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Not_a_Community_Leader" } @@ -960,42 +938,36 @@ { "key": "hiv_aids", "text": "Maambukizi ya VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua Kikuu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "homosexual", "text": "Wanaume wanaofanya mapenzi na wanaume", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "homosexual" }, { "key": "gender_violence", "text": "Unyanyasaji wa Kijinsia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" }, { "key": "male_engagement", "text": "Uwepo wa mwanaume husika", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "male_engagement" } @@ -1025,49 +997,42 @@ { "key": "hiv_aids", "text": "Maambukizi ya VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "sex_worker_woman", "text": "Mfanyabiashara ya ngono", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "sex_worker_woman" }, { "key": "gender_violence", "text": "Ukatili wa kijinsia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Mama mjamzito", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Mama anayenyonyesha", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "breastfeeding_mother" } @@ -1097,49 +1062,42 @@ { "key": "hiv_aids", "text": "Maambukizi ya VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "Mtoto aliyezaliwa na mama mwenye VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Mtoto ambaye hajapimwa VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Unyanyasaji wa mtoto", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Unyanyasaji wa kijinsia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" } @@ -1169,49 +1127,42 @@ { "key": "hiv_aids", "text": "Maambukizi ya VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "Mtoto aliyezaliwa na mama mwenye VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Mtoto ambaye hajapimwa VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Unyanyasaji wa mtoto", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Ukatili wa kijinsia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" } @@ -1241,63 +1192,54 @@ { "key": "hiv_aids", "text": "Maambukizi ya VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Kifua kikuu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "Mtoto aliyezaliwa na mama mwenye VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Mtoto ambaye hajapimwa VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Unyanyasaji wa mtoto", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Ukatili wa kijinsia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Mama mjamzito", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Mama anayenyonyesha", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "breastfeeding_mother" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json index 9ba63d0f96..08012fb02c 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_counselling.json @@ -66,119 +66,102 @@ { "key": "chk_attended_anc_contacts", "text": "1. Kufika kliniki ya ANC mapema", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_attended_anc_contacts" }, { "key": "chk_anc_danger_signs", "text": "2. Dalili za hatari za ujauzito", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_anc_danger_signs" }, { "key": "chk_maternal_nutrition", "text": "3. Lishe ya mama wakati wa ujauzito na kunyonyesha", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_maternal_nutrition" }, { "key": "chk_personal_delivery", "text": "4. Mpango binafsi wa kujifungua", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_personal_delivery" }, { "key": "chk_hiv_aids", "text": "5. Taarifa za ujumla za VVU/UKIMWI", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_hiv_aids" }, { "key": "chk_pmtct_for_mother", "text": "6. PMTCT kwa ajili ya Mama", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_pmtct_for_mother" }, { "key": "chk_preventing_malaria", "text": "7. Kuzuia Malaria kwa ajili ya wamama wajawazito", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_preventing_malaria" }, { "key": "chk_physical_changes", "text": "8. Mabadiliko ya kimwili kwa mama aliyetoka kujifungua", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_physical_changes" }, { "key": "chk_pnc_danger_signs", "text": "9. Dalili za hatari za PNC", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_pnc_danger_signs" }, { "key": "chk_care_of_infant", "text": "10. Utunzaji wa mtoto mchanga baada ya kuzaliwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_care_of_infant" }, { "key": "chk_infant_danger_signs", "text": "11. Dalili za hatari za mtoto mchanga", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_infant_danger_signs" }, { "key": "chk_hiv_exposed_infant", "text": "12. Ufuatiliaji kwa ajili ya mtoto mchanga aliyeambukizwa na VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_hiv_exposed_infant" }, { "key": "chk_breastfeeding", "text": "13. Kunyonyesha ", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_breastfeeding" }, { "key": "chk_exclusive_breast_feeding ", "text": "14. Kupanga mpango wa uzazi kwa kutumia kunyonyesha maziwa ya mama pekee kwa miezi 6 baada ya kuzaliwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_exclusive_breast_feeding" }, { "key": "chk_family_planning", "text": "15. Mpango wa uzazi", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_family_planning" }, { "key": "chk_infection_prevention", "text": "16. Kuzuia na kudhibiti maambukizi", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_infection_prevention" }, { "key": "chk_none", "text": "17. Hamna", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_none" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json index 1e2686d4da..c9d1ebc523 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_danger_signs.json @@ -66,98 +66,84 @@ { "key": "chk_fever", "text": "Homa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_fever" }, { "key": "chk_bleeding_vaginally", "text": "Kutokwa na damu ukeni", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_bleeding_vaginally" }, { "key": "chk_server_headache", "text": "Maumivu makali ya kichwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_server_headache" }, { "key": "chk_blurred_vision", "text": "Kutoona vizuri", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_blurred_vision" }, { "key": "chk_convulsions", "text": "Degedege", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_convulsions" }, { "key": "chk_difficulty_breathing", "text": "Kupumua kwa shida", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_difficulty_breathing" }, { "key": "chk_severe_abdominal_pain", "text": "Maumivu makali ya tumbo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_severe_abdominal_pain" }, { "key": "chk_loss_consciousness", "text": "Kupoteza fahamu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_loss_consciousness" }, { "key": "chk_swelling", "text": "Kuvimba kwa uso na/au mikono", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_swelling" }, { "key": "chk_early_labour", "text": "Uchungu kuanza mapema kabla ya mimba kufikia miezi 9", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_early_labour" }, { "key": "chk_vaginal_discharge", "text": "Kutokwa na majimaji ukeni yenye rangirangi na harufu mbaya", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_vaginal_discharge" }, { "key": "chk_unusual_movement", "text": "Hakuna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unusual_movement" }, { "key": "chk_fgm", "text": "FGM", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_fgm" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_none" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json index 21207cb2ae..63aaa06a35 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json @@ -93,35 +93,30 @@ { "key": "chk_ors", "text": "ORS 5", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_ors" }, { "key": "chk_zinc", "text": "Zinc 10", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_zinc" }, { "key": "chk_paracetamol", "text": "Panado", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_paracetamol" }, { "key": "chk_referred", "text": "Kupewa rufaa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_referred" }, { "key": "chk_none", "text": "Hakuna matibabu yaliyotolewa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_none" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_pregnancy_risk_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_pregnancy_risk_form.json index 7ddd3d7b44..229b9f31d2 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_pregnancy_risk_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_pregnancy_risk_form.json @@ -69,21 +69,18 @@ { "key": "Low", "text": "Chini", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "Low" }, { "key": "Medium", "text": "Wastani", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "Medium" }, { "key": "High", "text": "Juu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "High" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json index 1c3c3a1bf1..ee00bcb343 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_member_registration.json @@ -212,21 +212,18 @@ { "key": "chk_vaginally", "text": "Njia ya kawaida", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_vaginally" }, { "key": "chk_cesarean_section", "text": "Upasuaji", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cesarean_section" }, { "key": "chk_miscarriage", "text": "Iliharibika", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_miscarriage" } @@ -276,21 +273,18 @@ { "key": "chk_vaginally", "text": "Njia ya kawaida", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_vaginally" }, { "key": "chk_cesarean_section", "text": "Upasuaji", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cesarean_section" }, { "key": "chk_miscarriage", "text": "Iliharibika", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_miscarriage" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json index 850c6e056d..0294628f31 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json @@ -62,14 +62,12 @@ { "key": "yes", "text": "Ndio", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "yes" }, { "key": "no", "text": "Hapana", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "no" } @@ -110,14 +108,12 @@ { "key": "yes", "text": "Ndio", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "yes" }, { "key": "no", "text": "Hapana", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "no" } @@ -162,70 +158,60 @@ { "key": "chk_negative_attitude", "text": "Wanaume wana mtizamo hasi kwenye huduma za Afya ya Mama na Mtoto, wanadhani huduma hizi nin kwa ajili ya Mama tu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_negative_attitude" }, { "key": "chk_fear_hiv_test", "text": "Uwoga wa Wanaume kupima virusi vya VVU (Wanaume wengi hawapendi kupimwa)", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_fear_hiv_test" }, { "key": "chk_unattractive_env", "text": "Mazingira ya Kliniki ya Mama na Mtoto hayawapendezi wanaume wengi k.m., mda mrefu wa kusubiri na kutokuwa na faraga", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unattractive_env" }, { "key": "chk_poor_attitude", "text": "Mtazamo hafifu wa baadhi ya Watumishi wa Afya wa RCH kwa wanaume", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_poor_attitude" }, { "key": "chk_cultural_beliefs", "text": "Tamaduni za zamani wanaume hawatakiwi kwenda kliniki, ni aibu kwa mwanaume kumsindikiza mke wake Kliniki", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cultural_beliefs" }, { "key": "chk_fatherhood_resp", "text": "Uwoga wa majukumu ya Baba", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_fatherhood_resp" }, { "key": "chk_polygamy", "text": "Ndo ya Wake wengi", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_polygamy" }, { "key": "chk_ignorance", "text": "Kutokuwa na Elimu ya umuhimu ya wanaume katika huduma za Kliniki", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_ignorance" }, { "key": "chk_busy", "text": "Kutokuwa na muda kutokana na majukumu ya kifamilia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_busy" }, { "key": "chk_other", "text": "Nyingine", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_other" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json index d1c159b459..3f48758abf 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json @@ -71,7 +71,6 @@ { "key": "born_alive", "text": "Mtoto alizaliwa mzima", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "born_alive", "openmrs_entity_parent": "" @@ -79,7 +78,6 @@ { "key": "born_alive_died", "text": "Mtoto alizaliwa hai, lakini akafariki baadaye", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "born_alive_died", "openmrs_entity_parent": "" @@ -87,7 +85,6 @@ { "key": "still_born", "text": "Mtoto alizaliwa akiwa amekwisha fariki", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "still_born", "openmrs_entity_parent": "" @@ -95,7 +92,6 @@ { "key": "alive_with_problem", "text": "Mtoto alizaliwa hai, lakini aamekutwa na matatizo (i.e: ulemavu, matatizo ya kupumua)", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "alive_with_problem", "openmrs_entity_parent": "" @@ -103,7 +99,6 @@ { "key": "miscarriage", "text": "Mimba iliharibika", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "miscarriage", "openmrs_entity_parent": "" @@ -242,7 +237,6 @@ { "key": "gave_birth_alone", "text": "Alijifungua nyumbani akiwa peke yake", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "gave_birth_alone" @@ -250,7 +244,6 @@ { "key": "gave_birth_with_help", "text": "Alijifungulia nyumbani kwa msaada wa mwanafamilia/rafiki/jirani", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "gave_birth_with_help" @@ -258,7 +251,6 @@ { "key": "midwife_help", "text": "Alijifungua nyumbani akisaidiwa na mkunga wa jadi", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "midwife_help" @@ -289,7 +281,6 @@ { "key": "facility_family_member", "text": "Alijifungua katika kituo cha afya, na alisindikizwa na wanafamilia.", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "facility_family_member" @@ -297,7 +288,6 @@ { "key": "facility_midwife", "text": "Alijifungua katika kituo cha afya, na alisindikizwa na mkunga wa jadi", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "facility_midwife" @@ -305,7 +295,6 @@ { "key": "alone", "text": "Alijifungua katika kituo cha afya, na alikuja peke yake", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "alone" @@ -313,7 +302,6 @@ { "key": "other_pple", "text": "Alijifungua katika kituo cha afya, na alisindikizwa na watu wengine", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "other_pple" @@ -321,7 +309,6 @@ { "key": "other_chw", "text": "Alijifungua katika kituo cha afya, na aliandamana na mfanyakazi wa afya ya jamii (CHW)", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "other_chw" diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_referral_form.json index b62683de5d..e7c282c00a 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_referral_form.json @@ -81,7 +81,6 @@ { "key": "Vaginal_bleeding", "text": "Kutokwa na damu ukeni", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -89,7 +88,6 @@ { "key": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", "text": "Kutokwa na majimaji yenye rangirangi na harufu mbaya", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -97,7 +95,6 @@ { "key": "High_blood_pressure", "text": "Shinikizo la damu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "113088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -105,7 +102,6 @@ { "key": "Severe_abdominal_pain", "text": "Maumivu makali ya tumbo", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -113,7 +109,6 @@ { "key": "Severe_anaemia", "text": "upungufu mkali wa damu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -121,7 +116,6 @@ { "key": "Convulsions", "text": "Degedege", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -129,7 +123,6 @@ { "key": "No_movement_unusual_movement_for_a_child_in_the_womb", "text": "Hamna uchezaji / uchezaji usiyo wa kawaida kwa mtoto tumboni", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -137,7 +130,6 @@ { "key": "Pregnancy_pains_before_9_months", "text": "Maumivu ya ujauzito kabla ya miezi 9", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "153316AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -145,7 +137,6 @@ { "key": "Early_age_pregnancy_below_18_years", "text": "Mimba ya umri mdogo (chini ya miaka 18)", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "163119AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -153,7 +144,6 @@ { "key": "A_severe_headache_dizziness", "text": "Maumivu makali ya kichwa / kizunguzungu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -161,7 +151,6 @@ { "key": "Swelling_of_the_face_andor_hands", "text": "Kuvimba kwa uso na/au mikono", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -169,7 +158,6 @@ { "key": "Fever", "text": "Homa", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -177,7 +165,6 @@ { "key": "Shivering_trembling", "text": "Kutetemeka", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -185,7 +172,6 @@ { "key": "Nausea_and_Vomiting", "text": "Kichefuchefu na kutapika", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "133473AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -193,7 +179,6 @@ { "key": "Water_sack_broke_before_contractions", "text": "Maji ya uzazi kupasuka kabla ya mikazo", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "129211AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -201,7 +186,6 @@ { "key": "Cord_prolapse", "text": "Kutokwa kwa kamba ya uzazi nje ya uke", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "128419AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -209,7 +193,6 @@ { "key": "HIV_care_and_support_services", "text": "Huduma za matunzo na usaidizi wa VVU", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -217,7 +200,6 @@ { "key": "Family_planning_services", "text": "Huduma za uzazi wa mpango", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -225,7 +207,6 @@ { "key": "PMTCT_for_mothers", "text": "PMTCT kwa akina mama", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -233,7 +214,6 @@ { "key": "Fistula", "text": "Fistula", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -241,7 +221,6 @@ { "key": "Difficultly_breathing", "text": "Kupumua kwa shida", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -249,7 +228,6 @@ { "key": "Breast_engorgement", "text": "Kuvimba kwa matiti", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -257,7 +235,6 @@ { "key": "Blurred_vision", "text": "Uoni hafifu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -265,7 +242,6 @@ { "key": "Perineum_tear", "text": "Kupasuka kwa msamba", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -273,7 +249,6 @@ { "key": "Pregnancy_confirmation", "text": "Kuthibitisha ujauzito", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "152305AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -281,7 +256,6 @@ { "key": "Other_symptoms", "text": "Dalili zingine", - "value": false, "ignore": true, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -329,7 +303,6 @@ { "key": "ORS", "text": "ORS", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -337,7 +310,6 @@ { "key": "Panadol", "text": "Panadol", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -345,7 +317,6 @@ { "key": "Other_treatment", "text": "Matibabu mengine", - "value": false, "ignore": true, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -354,7 +325,6 @@ { "key": "None", "text": "HaKuna", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json index 8e09c16583..9fde28d98f 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json @@ -408,56 +408,48 @@ { "key": "physical_impairments", "text": "Uhamaji na Ulemavu wa Kimwili", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "physical_impairments" }, { "key": "spinal_cord_disability", "text": "Ulemavu wa Uti wa Mgongo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "spinal_cord_disability" }, { "key": "brain_disability", "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "brain_disability" }, { "key": "vision_disability", "text": "Ulemavu wa Kuona", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "vision_disability" }, { "key": "hearing_disability", "text": "Ulemavu wa Kusikia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hearing_disability" }, { "key": "learning_disabilities", "text": "Ulemavu wa Utambuzi au Kujifunza", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "learning_disabilities" }, { "key": "psychological_disorders", "text": "Matatizo ya Kisaikolojia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "psychological_disorders" }, { "key": "invisible_disabilities", "text": "Ulemavu Usioonekana", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "invisible_disabilities" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_referral_form.json index 6560173825..9533b91980 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/child_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_referral_form.json @@ -81,7 +81,6 @@ { "key": "Fast_breathing_and_difficulty_with_breathing", "text": "Kupumua haraka na ugumu wa kupumua", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -89,7 +88,6 @@ { "key": "Umbilical_cord_navel_bleeding", "text": "Kutokwa na damu kwa kitovu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -97,7 +95,6 @@ { "key": "Excessive_crying", "text": "Kulia kupita kiasi", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -105,7 +102,6 @@ { "key": "Convulsions", "text": "Degedege", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -113,7 +109,6 @@ { "key": "Unable_to_breastfeed_or_swallow", "text": "Haiwezi kunyonya au kumeza", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -121,7 +116,6 @@ { "key": "Neck_stiffness", "text": "Shingo kukaza", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -129,7 +123,6 @@ { "key": "Fever", "text": "Homa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -137,7 +130,6 @@ { "key": "Bloating", "text": "Kuvimba", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -145,7 +137,6 @@ { "key": "Redness_around_the_umbilical_cord_foul_smelling_discharge_from_the_umbilical_cord", "text": "Wekundu kuzunguka kitovu, kutokwa na harufu mbaya kutoka kwa kitovu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -153,7 +144,6 @@ { "key": "Bacterial_conjunctivitis", "text": "Kuvimba kwa macho inayosababishwa na bakteria", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -161,7 +151,6 @@ { "key": "Severe_anaemia", "text": "Kupungukiwa sana kwa damu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -169,7 +158,6 @@ { "key": "Severe_abdominal_pain", "text": "Maumivu makali ya tumbo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -177,7 +165,6 @@ { "key": "Pale_or_jaundiced", "text": "Kupoteza rangi kwenye ngozi au kuonekana wa njano", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -185,7 +172,6 @@ { "key": "Cyanosis_blueness_of_lips", "text": "Midomo kuonekana na rangi ya bluu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -193,7 +179,6 @@ { "key": "Skin_rash_pustules", "text": "Kuwa na upele kwenye ngozi", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -201,7 +186,6 @@ { "key": "Diarrhea", "text": "Kuhara", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -209,7 +193,6 @@ { "key": "Vomiting", "text": "Kutapika", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -217,7 +200,6 @@ { "key": "Disabilities", "text": "Ulemavu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -225,7 +207,6 @@ { "key": "Premature_baby", "text": "Mtoto njiti", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -233,7 +214,6 @@ { "key": "Care_of_HIV_exposed_infant", "text": "Utunzaji wa mtoto aliyeambukizwa VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -241,7 +221,6 @@ { "key": "Immunisation", "text": "Kupatiwa chanjo ya kinga", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -249,7 +228,6 @@ { "key": "Other_symptom", "text": "Dalili zingine", - "value": false, "ignore": true, "openmrs_entity": "concept", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -293,7 +271,6 @@ { "key": "ORS", "text": "ORS", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -301,7 +278,6 @@ { "key": "Panadol", "text": "Panadol", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -309,7 +285,6 @@ { "key": "Other_treatment", "text": "Matibabu mengine", - "value": false, "ignore": true, "openmrs_entity": "concept", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -318,7 +293,6 @@ { "key": "None", "text": "Hakuna", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json index 7a662ca0d8..9ab9a0d493 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json @@ -377,28 +377,24 @@ { "key": "chk_national_id", "text": "Kitambulisho cha Taifa", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" }, { "key": "chk_voters_id", "text": "Kitambulisho cha usajili wa mpiga kura", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_voters_id" }, { "key": "chk_drivers_license", "text": "Leseni ya udereva", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } @@ -711,56 +707,48 @@ { "key": "physical_impairments", "text": "Uhamaji na Ulemavu wa Kimwili", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "physical_impairments" }, { "key": "spinal_cord_disability", "text": "Ulemavu wa Uti wa Mgongo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "spinal_cord_disability" }, { "key": "brain_disability", "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "brain_disability" }, { "key": "vision_disability", "text": "Ulemavu wa Maono", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "vision_disability" }, { "key": "hearing_disability", "text": "Ulemavu wa Kusikia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hearing_disability" }, { "key": "learning_disabilities", "text": "Ulemavu wa Utambuzi au Kujifunza", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "learning_disabilities" }, { "key": "psychological_disorders", "text": "Matatizo ya Kisaikolojia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "psychological_disorders" }, { "key": "invisible_disabilities", "text": "Ulemavu Usioonekana", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "invisible_disabilities" } @@ -810,28 +798,24 @@ { "key": "chk_self_employed", "text": "Amejiajiri", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_self_employed" }, { "key": "chk_employed", "text": "Ameajiriwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_employed" }, { "key": "chk_unemployed", "text": "Hajaajiriwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unemployed" }, { "key": "chk_farmer", "text": "Mkulima", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" } @@ -858,42 +842,36 @@ { "key": "chk_religious", "text": "Kiongozi wa dini", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Religious_Leader" }, { "key": "chk_traditional", "text": "Kiongozi wa dini", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Traditional_leader" }, { "key": "chk_political", "text": "Kiongozi wa kisiasa", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Political_leader" }, { "key": "chk_influential", "text": "Kiongozi mwenye ushawishi", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Influential_Leader" }, { "key": "chk_other", "text": "Nyinginezo", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Not_a_Community_Leader" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index 90531204cb..9f487e77d5 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -483,28 +483,24 @@ { "key": "chk_national_id", "text": "Kitambulisho cha Taifa", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" }, { "key": "chk_voters_id", "text": "Kitambulisho cha Mpiga kura", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_voters_id" }, { "key": "chk_drivers_license", "text": "Leseni ya udereva", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } @@ -811,56 +807,48 @@ { "key": "physical_impairments", "text": "Ulemavu wa mwili", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "physical_impairments" }, { "key": "spinal_cord_disability", "text": "Ulemavu wa Uti wa Mgongo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "spinal_cord_disability" }, { "key": "brain_disability", "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "brain_disability" }, { "key": "vision_disability", "text": "Ulemavu wa Maono", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "vision_disability" }, { "key": "hearing_disability", "text": "Ulemavu wa Kusikia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hearing_disability" }, { "key": "learning_disabilities", "text": "Ulemavu wa Utambuzi au Kujifunza", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "learning_disabilities" }, { "key": "psychological_disorders", "text": "Matatizo ya Kisaikolojia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "psychological_disorders" }, { "key": "invisible_disabilities", "text": "Ulemavu Usioonekana", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "invisible_disabilities" } @@ -890,28 +878,24 @@ { "key": "chk_self_employed", "text": "Amejiajiri", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_self_employed" }, { "key": "chk_employed", "text": "Ameajiriwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_employed" }, { "key": "chk_unemployed", "text": "Hajaajiriwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unemployed" }, { "key": "chk_farmer", "text": "Mkulima", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" } @@ -938,42 +922,36 @@ { "key": "chk_religious", "text": "Kiongozi wa dini", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Religious_Leader" }, { "key": "chk_traditional", "text": "Kiongozi wa jadi", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Traditional_leader" }, { "key": "chk_political", "text": "Kiongozi wa kisiasa", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Political_leader" }, { "key": "chk_influential", "text": "Kiongozi mwenye ushawishi", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Influential_Leader" }, { "key": "chk_other", "text": "Nyingine", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Not_a_Community_Leader" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_family_planning_change_method.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_family_planning_change_method.json index 80cd54b07c..78ae284d80 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_family_planning_change_method.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_family_planning_change_method.json @@ -116,7 +116,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "163494AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "value": false, "text": "Aliamua kubadilisha mpango wa uzazi" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_fp_referral_form.json index 10b3991367..6ae4a78c0d 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_fp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/female_fp_referral_form.json @@ -183,7 +183,6 @@ { "key": "Incisional_bleeding", "text": "Kutokwa na damu kwa mkato", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -191,7 +190,6 @@ { "key": "Pus_Discharge_from_incision", "text": "Usaha/Kutokwa na chale", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -199,7 +197,6 @@ { "key": "Swollen_around_the_incision", "text": "Kuvimba karibu na chale", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -207,7 +204,6 @@ { "key": "Others", "text": "Nyinginezo", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -215,7 +211,6 @@ { "key": "None", "text": "Hakuna", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -223,7 +218,6 @@ { "key": "Not_applicable", "text": "Haiusiki", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -253,7 +247,6 @@ { "key": "Severe_pain_inside_the_vagina_after_IUD_was_put_in", "text": "Maumivu makali ndani ya uke baada ya IUD kuwekwa", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -261,7 +254,6 @@ { "key": "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in", "text": "Mimba au maumivu ya mgongo kwa siku chache baada ya kuweka IUD", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -269,7 +261,6 @@ { "key": "Spotting_between_periods_and_or_irregular_periods", "text": "Kugundua kati ya hedhi na/au hedhi isiyo ya kawaida", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -277,7 +268,6 @@ { "key": "Heavier_periods_and_worse_menstrual_cramps", "text": "Hedhi nzito na maumivu makali ya hedhi", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -285,7 +275,6 @@ { "key": "IUCD_explusion", "text": "Kufukuzwa kwa IUD", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -293,7 +282,6 @@ { "key": "Others", "text": "Nyinginezo", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -301,7 +289,6 @@ { "key": "None", "text": "Hakuna", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -309,7 +296,6 @@ { "key": "Not_applicable", "text": "Haiusiki", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -339,7 +325,6 @@ { "key": "Insertion_site_infected_pus_discharge", "text": "Sehemu ya kuingizwa iliyoambukizwa - usaha / kutokwa", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -347,7 +332,6 @@ { "key": "Insertion_site_swollen", "text": "Sehemu iliyopandikizwa imevimba", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -355,7 +339,6 @@ { "key": "Implant_expulsion", "text": "Kufukuzwa kwa implant", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "144458AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -363,7 +346,6 @@ { "key": "Heavy_bleeding", "text": "Kutokwa na damu nyingi", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -371,7 +353,6 @@ { "key": "Others", "text": "Nyinginezo", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -379,7 +360,6 @@ { "key": "None", "text": "Hakuna", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -387,7 +367,6 @@ { "key": "Not_applicable", "text": "Haiusiki", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -417,7 +396,6 @@ { "key": "Heavy_bleeding_", "text": "Kutokwa na damu nyingi", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -425,7 +403,6 @@ { "key": "Irregular_periods", "text": "Vipindi visivyo vya kawaida", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -433,7 +410,6 @@ { "key": "Others", "text": "Nyinginezo", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -441,7 +417,6 @@ { "key": "None", "text": "Hakuna", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -449,7 +424,6 @@ { "key": "Not_applicable", "text": "Haiusiki", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/malaria_confirmation.json b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_confirmation.json index e82bcde8a1..03b7cd1ab6 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/malaria_confirmation.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_confirmation.json @@ -92,7 +92,6 @@ { "key": "has_fever", "text": "Ana Homa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "has_fever", "openmrs_entity_parent": "" @@ -100,7 +99,6 @@ { "key": "tested_positive_last_14_days", "text": "Amepimwa kwenye Kituo cha Afya na Amekutwa na Malaria ndani siku 14", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tested_positive_last_14_days", "openmrs_entity_parent": "" @@ -387,42 +385,36 @@ { "key": "overview_on_malaria", "text": "Mukhutasari juu ya Malaria", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "malaria_prevention", "text": "Jinsi ya Kujikinga na Malaria", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "uncomplicated_malaria", "text": "Malaria ya kawaida", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "159950AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "Severe_malaria", "text": "Malaria kali", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "160155AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "malaria_in_pregnancy", "text": "Malaria katika Ujauzito", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "135361AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_none" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/malaria_follow_up_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_follow_up_visit.json index 627d3add2f..4dc468ce10 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/malaria_follow_up_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_follow_up_visit.json @@ -210,7 +210,6 @@ "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", "text": "Ndiyo", - "value": false }, { "key": "No", @@ -218,7 +217,6 @@ "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", "text": "Hapana", - "value": false } ], "v_required": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/malaria_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_referral_form.json index 3e52f7d42f..6481a8c9f3 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/malaria_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/malaria_referral_form.json @@ -66,7 +66,6 @@ { "key": "Fever", "text": "Homa", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -74,7 +73,6 @@ { "key": "Diarrhea", "text": "Kuhara", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -82,7 +80,6 @@ { "key": "Vomiting", "text": "Kutapika", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -90,7 +87,6 @@ { "key": "Nausea", "text": "Kichefuchefu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -98,7 +94,6 @@ { "key": "Trembling", "text": "Kuhisi kutetemeka", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -106,7 +101,6 @@ { "key": "A_severe_headache_dizziness", "text": "Maumivu makali ya Kichwa", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -114,7 +108,6 @@ { "key": "Sweating", "text": "Kutokwa na jasho", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "140941AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -122,7 +115,6 @@ { "key": "Severe_abdominal_pain", "text": "Maumivu makali ya tumbo ", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -130,7 +122,6 @@ { "key": "Muscle_pain", "text": "Maumivu ya Misuli", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "133632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -138,7 +129,6 @@ { "key": "Sweling_of_the_face_and_or_hands", "text": "Kuvimba uso na mikono", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "163894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -146,7 +136,6 @@ { "key": "Difficult_in_breathing_fast_and_laboured_breathing", "text": "Changamoto ya Upumuaji (Ugumu wa kupumua)", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -154,7 +143,6 @@ { "key": "Convulsions", "text": "Degedege", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -162,7 +150,6 @@ { "key": "Very_weak", "text": "Kuhisi mdhaifu wa mwili", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5226AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -170,7 +157,6 @@ { "key": "Irritable_easily_disturbed", "text": "Kuwa na hasira", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "118296AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -178,7 +164,6 @@ { "key": "Unconcious", "text": "Kupoteza fahamu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "123818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -186,7 +171,6 @@ { "key": "Unusually_sleepy", "text": "Usingizi usikuwa wa kawaida", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "117417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -194,7 +178,6 @@ { "key": "Neck_stiffness", "text": "Kukakamaa kwa Shingo", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -202,7 +185,6 @@ { "key": "Unable_to_sit_without_support", "text": "Kushindwa kukaa", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "123833AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -210,7 +192,6 @@ { "key": "Abnormal_bleeding_or_passing_of_urine_with_blood", "text": "Kutokwa na damu kusiko kawaida", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -218,7 +199,6 @@ { "key": "Severe_anaemia_pale_palms_and_inner_eyelids", "text": "Upungufu mkubwa wa damu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -226,7 +206,6 @@ { "key": "Yellowing_of_the_eyes_jaundice", "text": "Homa ya Manjano", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -234,7 +213,6 @@ { "key": "Severe_malnutrition", "text": "Utapiamlo", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "163302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -242,7 +220,6 @@ { "key": "Bloating", "text": "Kuvimba mwili", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -269,7 +246,6 @@ { "key": "Rectal_artesunate", "text": "Rectal artesunate", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "71561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -277,7 +253,6 @@ { "key": "Panadol", "text": "Panado", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -285,7 +260,6 @@ { "key": "ORS", "text": "Dawa ya kurejesha maji mwilini (ORS)", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -293,7 +267,6 @@ { "key": "Other_treatment", "text": "Matibabu mengine", - "value": false, "ignore": true, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -302,7 +275,6 @@ { "key": "None", "text": "Hakuna", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_family_planning_change_method.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_family_planning_change_method.json index abc85c9130..dc4a1fa4d7 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_family_planning_change_method.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_family_planning_change_method.json @@ -102,7 +102,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "163494AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "value": false, "text": "Aliamua kubadilisha mpango wa uzazi" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_fp_referral_form.json index c805d20568..1b6efcfeb3 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_fp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_fp_referral_form.json @@ -120,7 +120,6 @@ { "key": "Incisional_bleeding", "text": "Kutokwa damu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -128,7 +127,6 @@ { "key": "Pus_Discharge_from_incision", "text": "Kutokwa usaha", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -136,7 +134,6 @@ { "key": "Swollen_around_the_incision", "text": "Kuvimba kwenye kidonda", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -144,7 +141,6 @@ { "key": "Others", "text": "Madhara mengineyo", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -152,7 +148,6 @@ { "key": "None", "text": "Hakuna", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -160,7 +155,6 @@ { "key": "Not_applicable", "text": "Si husika", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json index 95fbb232ef..11542f0561 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json @@ -460,28 +460,24 @@ { "key": "chk_national_id", "text": "Kitambulisho cha Taifa", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" }, { "key": "chk_voters_id", "text": "Kitambulisho cha usajili wa mpiga kura", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_voters_id" }, { "key": "chk_drivers_license", "text": "Leseni ya udereva", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } @@ -763,56 +759,48 @@ { "key": "physical_impairments", "text": "Ulemavu wa kimwili", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "physical_impairments" }, { "key": "spinal_cord_disability", "text": "Ulemavu wa Uti wa Mgongo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "spinal_cord_disability" }, { "key": "brain_disability", "text": "Majeraha ya Kichwa - Ulemavu wa Ubongo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "brain_disability" }, { "key": "vision_disability", "text": "Ulemavu wa Maono", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "vision_disability" }, { "key": "hearing_disability", "text": "Ulemavu wa Kusikia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hearing_disability" }, { "key": "learning_disabilities", "text": "Ulemavu wa Utambuzi au Kujifunza", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "learning_disabilities" }, { "key": "psychological_disorders", "text": "Matatizo ya Kisaikolojia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "psychological_disorders" }, { "key": "invisible_disabilities", "text": "Ulemavu Usioonekana", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "invisible_disabilities" } @@ -842,28 +830,24 @@ { "key": "chk_self_employed", "text": "Amejiajiri", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_self_employed" }, { "key": "chk_employed", "text": "Ameajiriwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_employed" }, { "key": "chk_unemployed", "text": "Hajaajiriwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unemployed" }, { "key": "chk_farmer", "text": "Mkulima", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" } @@ -890,42 +874,36 @@ { "key": "chk_religious", "text": "Kiongozi wa dini", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Religious_Leader" }, { "key": "chk_traditional", "text": "Kiongozi wa jadi", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Traditional_leader" }, { "key": "chk_political", "text": "Kiongozi wa kisiasa", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Political_leader" }, { "key": "chk_influential", "text": "Kiongozi mwenye ushawishi", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Influential_Leader" }, { "key": "chk_other", "text": "Nyingine", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Not_a_Community_Leader" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_counselling.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_counselling.json index 874314f5c2..2ca92a9841 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_counselling.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_counselling.json @@ -66,140 +66,120 @@ { "key": "chk_maternal_nutrition", "text": "Lishe ya mama wakati wa kunyonyesha", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_aids", "text": "Taarifa za jumla za VVU/UKIMWI", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pmtct", "text": "PMTCT kwa mama", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_malaria_prevention", "text": "Kuzuia Malaria", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pnc_care_for_mother", "text": "Malezi ya PNC kwa mama", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1623AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_exposed_infant", "text": "Ufuatiliaji wa Mtoto aliye katika hatari ya VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pnc_danger_signs", "text": "Dalili za hatari za PNC", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_care_of_infant_after_birth", "text": "Malezi ya mtoto mchanga baada ya kuzaliwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "159839AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_care_of_premature_baby", "text": "Malezi ya mtoto njiti", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_care_of_new_born", "text": "Malezi ya mtoto mchanga mara baada ya kuzaliwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_new_born_danger_signs", "text": "Dalili za hatari kwa mtoto mchanga ", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_exposed_infant", "text": "Ufuatiliaji wa Mtoto aliye katika hatari ya VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_breastfeeding", "text": "Kunyonyesha", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_lam", "text": "LAM kama njia ya asili ya uzazi wa mpango, ambayo inajumuisha unyonyeshaji wa kipekee miezi sita baada ya kujifungua", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_family_planning", "text": "Uzazi wa mpango", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_birth_registration", "text": "Usajili wa kuzaliwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_immunisation", "text": "Upataji wa chanjo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_infection_prevention", "text": "Kuzuia na kudhibiti maambukizi", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_gender_issues", "text": "Masuala ya jinsia", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json index 69ed01ffbe..da1c781a69 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json @@ -65,98 +65,84 @@ { "key": "chk_fever", "text": "Homa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_excessive_crying", "text": "Kulia kupita kiasi", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "110540AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_fast_breathing", "text": "Kupumua kwa haraka", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "125061AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_difficult_breathing", "text": "Kupumua kwa shida", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_unable_to_suck", "text": "Kutoweza kunyonya", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_umbilical_discharge", "text": "Kitovu kutokwa na damu/usaha", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "123843AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_no_movement", "text": "Hamna uchezaji", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164455AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_convulsions", "text": "Degedege", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_skin_rashes", "text": "Vipele kwenye ngozi", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pale", "text": "Kupauka au kuonekana na rangi ya manjano", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_eye_discharge", "text": "Jicho kutokwa na majimaji ", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142246AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_severe_abdominal_pain", "text": "Maumivu makali ya tumbo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_lethargy", "text": "Ulegeevu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "116334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_mother.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_mother.json index 495e6c65ef..48cf19bf4e 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_mother.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_mother.json @@ -65,98 +65,84 @@ { "key": "chk_fever", "text": "Homa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_bleeding_vaginally", "text": "Kutokwa na damu ukeni", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_server_headache", "text": "Maumivu makali ya kichwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_convulsions", "text": "Degedege", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_difficulty_breathing", "text": "Kupumua kwa shida", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_severe_leg_pain", "text": "Maumivu makali ya mguu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "114395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_unusual_behaviour", "text": "Tabia isiyo ya kawaida (msongo wa mawazo, kuchanganyikiwa)", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "152376AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_swelling of breast", "text": "Kuvimba kwa titi na chuchu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "125212AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_severe_abdominal_pain", "text": "Maumivu makali ya tumbo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_vaginal_discharge", "text": "Kutokwa na majimaji yenye harufu mbaya kutoka ukeni", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_blurred_vision", "text": "Uoni hafifu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_loss_conscioueness", "text": "Kupoteza fahamu", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "135592AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_urination", "text": "Kukojoa kidogo au mkojo kuvuja kutoka ukeni", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "118982AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json index 39ef78bccc..2d65f15336 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json @@ -88,21 +88,18 @@ { "key": "chk_during_anc", "text": "Wakati wa ANCc", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_during_anc" }, { "key": "chk_during_labour_and_delivery", "text": "Wakati wa kujifungua", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_during_labour_and_delivery" }, { "key": "chk_during_pnc", "text": "Wakati wa PNC", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_during_pnc" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_danger_signs.json index a713dea48b..3a5b0b0893 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_danger_signs.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_danger_signs.json @@ -65,70 +65,60 @@ { "key": "chk_fever", "text": "Homa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_bleeding_vaginally", "text": "Kutokwa na damu ukeni", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_server_headache", "text": "Maumivu makali ya kichwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_convulsions", "text": "Degedege", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_difficulty_breathing", "text": "Kupumua kwa shida", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_severe_abdominal_pain", "text": "Maumivu makali ya tumbo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_swelling", "text": "Kuvimba kwa uso na/au mikono", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_vaginal_discharge", "text": "Kutokwa na majimaji yenye rangirangi na harufu mbaya ukeni", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_unusual_movement", "text": "Hamna uchezaji/uchezaji wa mtoto tumboni usiyo wa kawaida", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json index 7491df33f2..f27fb4cf2c 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json @@ -92,42 +92,36 @@ { "key": "chk_ors", "text": "ORS 5", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_zinc", "text": "Zinc 10", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_paracetamol", "text": "Panadol", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_referred", "text": "Kupewa rufaa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_other_treatment", "text": "Matibabu mengine", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "Hakuna matibabu yaliyotolewa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json index 7b782d6f8a..4367ad9310 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json @@ -93,42 +93,36 @@ { "key": "chk_ors", "text": "ORS 5", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_zinc", "text": "Zinc 10", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_paracetamol", "text": "Panadol", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_referred", "text": "Kutoa rufaa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_other_treatment", "text": "Matibabu mengine", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "Hakuna matibabu yaliyotolewa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_referral_form.json index ff1abc40b4..c3f112855a 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_referral_form.json @@ -81,7 +81,6 @@ { "key": "Vaginal_bleeding", "text": "Kutokwa damu ukeni", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -89,7 +88,6 @@ { "key": "Discoloured_or_watery_liquid_vaginal_discharge", "text": "Kutokwa na majimaji yenye rangirangi na harufu mbaya ukeni", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -97,7 +95,6 @@ { "key": "Severe_abdominal_pain", "text": "Maumivu makali ya tumbo", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -105,7 +102,6 @@ { "key": "Severe_anaemia", "text": "Kupungukiwa sana kwa damu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -113,7 +109,6 @@ { "key": "Convulsions", "text": "Degedege", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -121,7 +116,6 @@ { "key": "A_severe_headache_dizziness", "text": "Maumivu makali ya kichwa/kizunguzungu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -129,7 +123,6 @@ { "key": "Swelling_of_the_face_and_or_hands", "text": "Kuvimba kwa uso na/au mikono", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -137,7 +130,6 @@ { "key": "Fever", "text": "Homa", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -145,7 +137,6 @@ { "key": "Shivering_trembling", "text": "Kutetemeka", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -153,7 +144,6 @@ { "key": "Nausea", "text": "Kichefuchefu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -161,7 +151,6 @@ { "key": "Vomiting", "text": "Kutapika", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -169,7 +158,6 @@ { "key": "Cord_prolapse", "text": "Kitovu kutokea kwa nje", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "113617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -177,7 +165,6 @@ { "key": "Perineum_bleeding", "text": "Kutoka na damu kwnenye msamba", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -185,7 +172,6 @@ { "key": "Fullness_or_pain_of_the_breasts", "text": "Kuvimbwa kwa titi/matiti", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -193,7 +179,6 @@ { "key": "HIV_care_and_support_services", "text": "Huduma za matunzo na usaidizi wa VVU", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -201,7 +186,6 @@ { "key": "Family_planning_services", "text": "Huduma za uzazi wa mpango", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -209,7 +193,6 @@ { "key": "PMTCT_for_mothers", "text": "PMTCT kwa wamama", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -217,7 +200,6 @@ { "key": "Fistula", "text": "Fistula", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -225,7 +207,6 @@ { "key": "Fast_breathing_and_difficulty_with_breathing", "text": "Kupumua kwa haraka na kupumua kwa shida", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -233,7 +214,6 @@ { "key": "Umbilical_cord", "text": "Kutokwa na damu kwenye kitovu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -241,7 +221,6 @@ { "key": "Excessive_crying", "text": "Kulia kupita kiasi", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -249,7 +228,6 @@ { "key": "Unable_to_breastfeed_or_swallow", "text": "Kutoweza kunyonya au kumeza", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -257,7 +235,6 @@ { "key": "Neck_stiffness", "text": "Kukaza kwa shingo", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -265,7 +242,6 @@ { "key": "Bloating", "text": "Tumbo kujaa", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -273,7 +249,6 @@ { "key": "Redness_around_the_umbilical_cord_foul", "text": "Kuwa na wekundu eneolinalozunguka kitovu, kutokwa na majimaji yenye harufu mbaya kutoka kwenye kitovu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -281,7 +256,6 @@ { "key": "Bacterial_conjunctivitis", "text": "Ugonjwa wa macho unaosababishwa na bakteria", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -289,7 +263,6 @@ { "key": "Pale_or_jaundiced", "text": "Kupauka au kuonekana na ngozi yenye rangi ya njano", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -297,7 +270,6 @@ { "key": "Cyanosis_blueness_of_lips", "text": "Mdomo kuwa na rangi ya bluu", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -305,7 +277,6 @@ { "key": "Skin_rash_pustules", "text": "Vipele kwenye ngozi", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -313,7 +284,6 @@ { "key": "Diarrhea", "text": "Kuhara", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -321,7 +291,6 @@ { "key": "Disabilities", "text": "Ulemavu wa kuzaliwa nao", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -329,7 +298,6 @@ { "key": "Premature_baby", "text": "Mtoto njiti", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -337,7 +305,6 @@ { "key": "Failure_to_pass_urine_or_stool", "text": "Kushindwa kujtoa haja ndogo au kubwa ndani ya masaa 24 baada ya kuzaliwa", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_entity_parent": "" @@ -345,7 +312,6 @@ { "key": "Care_of_HIV_exposed_infant", "text": "Utunzaji wa mtoto aliyeambukizwa VVU", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -353,7 +319,6 @@ { "key": "Immunisation", "text": "Kupatiwa chanjo ya kinga", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -361,7 +326,6 @@ { "key": "Other_symptom", "text": "Dalili nyingine", - "value": false, "ignore": true, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -405,7 +369,6 @@ { "key": "ORS", "text": "ORS", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -413,7 +376,6 @@ { "key": "Panadol", "text": "Panadol", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -421,7 +383,6 @@ { "key": "Other_treatment", "text": "Matibabu mengine", - "value": false, "ignore": true, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -430,7 +391,6 @@ { "key": "None", "text": "Hakuna", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/routine_home_visit.json b/opensrp-chw/src/nacp/assets/json.form-sw/routine_home_visit.json index 1e52b77a8b..093a14bb3f 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/routine_home_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/routine_home_visit.json @@ -72,105 +72,90 @@ { "key": "chk_maternal_nutrition", "text": "Lishe ya mama wakati wa kunyonyesha", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_hiv_aids", "text": "Taarifa za jumla za VVU/UKIMWI", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_pmtc_for_mother", "text": "PMTCT kwa mama", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_malaria_prevention", "text": "Kinga dhidi ya malaria", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_hiv_exposed_infant", "text": "Ufuatiliaji wa mtoto aliyeambukizwa VVU", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_breast_feeding", "text": "Kunyonyesha", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_birth_registration", "text": "Usajili wa kuzaliwa", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_complementary_feeding", "text": "Lishe ya ziada", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_growth_and_dev", "text": "Ukuaji na maendeleo", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_immunization", "text": "Upataji wa chanjo ya kinga", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_newborn_danger", "text": "Ishara za hatari kwa watoto wachanga", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_infection", "text": "Kuzuia na kudhibiti maambukizi", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_prevention_of_accidents", "text": "Kuzuia ajali", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_gender_issues", "text": "Masuala ya jinsia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_none", "text": "Hakuna", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" } diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index d4eccea22f..ee03d58e47 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -499,28 +499,24 @@ { "key": "chk_national_id", "text": "National ID", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" }, { "key": "chk_voters_id", "text": "Voter's registration ID", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_voters_id" }, { "key": "chk_drivers_license", "text": "Driver's license", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } @@ -833,56 +829,48 @@ { "key": "physical_impairments", "text": "Mobility and Physical Impairments", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "physical_impairments" }, { "key": "spinal_cord_disability", "text": "Spinal Cord Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "spinal_cord_disability" }, { "key": "brain_disability", "text": "Head Injuries - Brain Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "brain_disability" }, { "key": "vision_disability", "text": "Vision Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "vision_disability" }, { "key": "hearing_disability", "text": "Hearing Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hearing_disability" }, { "key": "learning_disabilities", "text": "Cognitive or Learning Disabilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "learning_disabilities" }, { "key": "psychological_disorders", "text": "Psychological Disorders", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "psychological_disorders" }, { "key": "invisible_disabilities", "text": "Invisible Disabilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "invisible_disabilities" } @@ -982,28 +970,24 @@ { "key": "chk_self_employed", "text": "Self-Employed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_self_employed" }, { "key": "chk_employed", "text": "Employed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_employed" }, { "key": "chk_unemployed", "text": "Unemployed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unemployed" }, { "key": "chk_farmer", "text": "Farmer", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" } @@ -1037,42 +1021,36 @@ { "key": "chk_religious", "text": "Religious leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Religious_Leader" }, { "key": "chk_traditional", "text": "Traditional leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Traditional_leader" }, { "key": "chk_political", "text": "Political leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Political_leader" }, { "key": "chk_influential", "text": "Influential leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Influential_Leader" }, { "key": "chk_other", "text": "Other", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Not_a_Community_Leader" } @@ -1140,35 +1118,30 @@ { "key": "hiv_aids", "text": "HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "homosexual", "text": "Men who have sex with men", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "homosexual" }, { "key": "gender_violence", "text": "Gender violence", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" } @@ -1198,49 +1171,42 @@ { "key": "hiv_aids", "text": "HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "sex_worker_woman", "text": "Sex worker", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "sex_worker_woman" }, { "key": "gender_violence", "text": "Gender violence", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Pregnant mother", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Breastfeeding mother", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "breastfeeding_mother" } @@ -1270,49 +1236,42 @@ { "key": "hiv_aids", "text": "HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "A child born from a mother with HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Untested HIV/AIDs child", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Abused child", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Gender violence", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" } @@ -1342,49 +1301,42 @@ { "key": "hiv_aids", "text": "HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "A child born from a mother with HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Untested HIV/AIDs child", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Abused child", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Gender violence", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" } @@ -1414,63 +1366,54 @@ { "key": "hiv_aids", "text": "HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "A child born from a mother with HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Untested HIV/AIDs child", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Abused child", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Gender violence", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Pregnant mother", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Breastfeeding mother", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "breastfeeding_mother" } diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index a86762e35f..30ae68657c 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -319,28 +319,24 @@ { "key": "chk_national_id", "text": "National ID", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" }, { "key": "chk_voters_id", "text": "Voter's registration ID", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_voters_id" }, { "key": "chk_drivers_license", "text": "Driver's license", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } @@ -653,56 +649,48 @@ { "key": "physical_impairments", "text": "Mobility and Physical Impairments", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "physical_impairments" }, { "key": "spinal_cord_disability", "text": "Spinal Cord Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "spinal_cord_disability" }, { "key": "brain_disability", "text": "Head Injuries - Brain Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "brain_disability" }, { "key": "vision_disability", "text": "Vision Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "vision_disability" }, { "key": "hearing_disability", "text": "Hearing Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hearing_disability" }, { "key": "learning_disabilities", "text": "Cognitive or Learning Disabilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "learning_disabilities" }, { "key": "psychological_disorders", "text": "Psychological Disorders", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "psychological_disorders" }, { "key": "invisible_disabilities", "text": "Invisible Disabilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "invisible_disabilities" } @@ -802,28 +790,24 @@ { "key": "chk_self_employed", "text": "Self-Employed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_self_employed" }, { "key": "chk_employed", "text": "Employed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_employed" }, { "key": "chk_unemployed", "text": "Unemployed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unemployed" }, { "key": "chk_farmer", "text": "Farmer", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" } @@ -857,42 +841,36 @@ { "key": "chk_religious", "text": "Religious leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Religious_Leader" }, { "key": "chk_traditional", "text": "Traditional leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Traditional_leader" }, { "key": "chk_political", "text": "Political leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Political_leader" }, { "key": "chk_influential", "text": "Influential leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Influential_Leader" }, { "key": "chk_other", "text": "Other", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Not_a_Community_Leader" } @@ -960,42 +938,36 @@ { "key": "hiv_aids", "text": "HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "homosexual", "text": "Men who have sex with men", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "homosexual" }, { "key": "gender_violence", "text": "Gender violence", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" }, { "key": "male_engagement", "text": "Male engagement", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "male_engagement" } @@ -1025,49 +997,42 @@ { "key": "hiv_aids", "text": "HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "sex_worker_woman", "text": "Sex worker", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "sex_worker_woman" }, { "key": "gender_violence", "text": "Gender violence", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Pregnant mother", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Breastfeeding mother", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "breastfeeding_mother" } @@ -1097,49 +1062,42 @@ { "key": "hiv_aids", "text": "HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "A child born from a mother with HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Untested HIV/AIDs child", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Abused child", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Gender violence", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" } @@ -1169,49 +1127,42 @@ { "key": "hiv_aids", "text": "HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "A child born from a mother with HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Untested HIV/AIDs child", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Abused child", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Gender violence", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" } @@ -1241,63 +1192,54 @@ { "key": "hiv_aids", "text": "HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_aids" }, { "key": "tuberculosis", "text": "Tuberculosis", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tuberculosis" }, { "key": "hiv_infected_child", "text": "A child born from a mother with HIV/AIDs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hiv_infected_child" }, { "key": "untested_hiv_infected_child", "text": "Untested HIV/AIDs child", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "untested_hiv_infected_child" }, { "key": "abused_child", "text": "Abused child", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "abused_child" }, { "key": "gender_violence", "text": "Gender violence", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "gender_violence" }, { "key": "drug_abuse", "text": "Drug abuse", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "drug_abuse" }, { "key": "pregnant_mother", "text": "Pregnant mother", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "pregnant_mother" }, { "key": "breastfeeding_mother", "text": "Breastfeeding mother", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "breastfeeding_mother" } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json index 5ee8d65d6b..2133dc84ec 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_counselling.json @@ -66,119 +66,102 @@ { "key": "chk_attended_anc_contacts", "text": "1. Attend ANC clinic early", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_attended_anc_contacts" }, { "key": "chk_anc_danger_signs", "text": "2. Pregnancy danger signs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_anc_danger_signs" }, { "key": "chk_maternal_nutrition", "text": "3. Maternal nutrition during pregnancy and breast feeding", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_maternal_nutrition" }, { "key": "chk_personal_delivery", "text": "4. Personal delivery plan", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_personal_delivery" }, { "key": "chk_hiv_aids", "text": "5. HIV/AIDS general information", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_hiv_aids" }, { "key": "chk_pmtct_for_mother", "text": "6. PMTCT for the mother", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_pmtct_for_mother" }, { "key": "chk_preventing_malaria", "text": "7. Preventing malaria for pregnant mothers", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_preventing_malaria" }, { "key": "chk_physical_changes", "text": "8. Physical changes for a mother after giving birth", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_physical_changes" }, { "key": "chk_pnc_danger_signs", "text": "9. PNC danger signs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_pnc_danger_signs" }, { "key": "chk_care_of_infant", "text": "10. Care of infant after birth", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_care_of_infant" }, { "key": "chk_infant_danger_signs", "text": "11. Infant danger signs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_infant_danger_signs" }, { "key": "chk_hiv_exposed_infant", "text": "12. Follow-up for the HIV-exposed infant", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_hiv_exposed_infant" }, { "key": "chk_breastfeeding", "text": "13. Breastfeeding", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_breastfeeding" }, { "key": "chk_exclusive_breast_feeding ", "text": "14. Plan for family planning using exclusive breast feeding for 6 months after birth", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_exclusive_breast_feeding" }, { "key": "chk_family_planning", "text": "15. Family planning", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_family_planning" }, { "key": "chk_infection_prevention", "text": "16. Infection prevention and control", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_infection_prevention" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_none" } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json index a9ece201d8..58231f8308 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_danger_signs.json @@ -66,98 +66,84 @@ { "key": "chk_fever", "text": "Fever", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_fever" }, { "key": "chk_bleeding_vaginally", "text": "Bleeding vaginally", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_bleeding_vaginally" }, { "key": "chk_server_headache", "text": "Severe headache", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_server_headache" }, { "key": "chk_blurred_vision", "text": "Blurred vision", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_blurred_vision" }, { "key": "chk_convulsions", "text": "Convulsions", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_convulsions" }, { "key": "chk_difficulty_breathing", "text": "Difficulty breathing", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_difficulty_breathing" }, { "key": "chk_severe_abdominal_pain", "text": "Severe abdominal pain", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_severe_abdominal_pain" }, { "key": "chk_loss_consciousness", "text": "Loss of consciousness", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_loss_consciousness" }, { "key": "chk_swelling", "text": "Swelling of the face and/or hands", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_swelling" }, { "key": "chk_early_labour", "text": "Early labour pains before 9 months", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_early_labour" }, { "key": "chk_vaginal_discharge", "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_vaginal_discharge" }, { "key": "chk_unusual_movement", "text": "No movement / unusual movement for a child in the womb", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unusual_movement" }, { "key": "chk_fgm", "text": "FGM", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_fgm" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_none" } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json index eef228f461..f12522c71c 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json @@ -93,35 +93,30 @@ { "key": "chk_ors", "text": "ORS 5", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_ors" }, { "key": "chk_traditional_medicine", "text": "Traditional medicine", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_traditional_medicine" }, { "key": "chk_paracetamol", "text": "Panadol", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_paracetamol" }, { "key": "chk_referred", "text": "Referred", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_referred" }, { "key": "chk_none", "text": "No treatment given", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_none" } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_pregnancy_risk_form.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_pregnancy_risk_form.json index 03627ae00b..6199cf7a4b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_pregnancy_risk_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_pregnancy_risk_form.json @@ -69,21 +69,18 @@ { "key": "Low", "text": "Low", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "Low" }, { "key": "Medium", "text": "Medium", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "Medium" }, { "key": "High", "text": "High", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "High" } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json index 7ff0f295f9..aa0bc62662 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_member_registration.json @@ -212,21 +212,18 @@ { "key": "chk_vaginally", "text": "Vaginally", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_vaginally" }, { "key": "chk_cesarean_section", "text": "Cesarean section", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cesarean_section" }, { "key": "chk_miscarriage", "text": "Miscarriage", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_miscarriage" } @@ -276,21 +273,18 @@ { "key": "chk_vaginally", "text": "Vaginally", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_vaginally" }, { "key": "chk_cesarean_section", "text": "Cesarean section", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cesarean_section" }, { "key": "chk_miscarriage", "text": "Miscarriage", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_miscarriage" } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json index 58a9fc047c..8cdb9dda1d 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json @@ -69,14 +69,12 @@ { "key": "yes", "text": "Yes", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "yes" }, { "key": "no", "text": "No", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "no" } @@ -117,14 +115,12 @@ { "key": "yes", "text": "Yes", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "yes" }, { "key": "no", "text": "No", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "no" } @@ -169,70 +165,60 @@ { "key": "chk_negative_attitude", "text": "Negative attitudes towards ANC services-Men think clinics are for women", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_negative_attitude" }, { "key": "chk_fear_hiv_test", "text": " Fear of men to be tested for HIV (most men don’t like to be tested)", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_fear_hiv_test" }, { "key": "chk_unattractive_env", "text": "The environment at RCH clinics is not attractive to men e.g.,long waiting and lack of privacy", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unattractive_env" }, { "key": "chk_poor_attitude", "text": "Poor attitude from some RCH staff to men", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_poor_attitude" }, { "key": "chk_cultural_beliefs", "text": "Cultural beliefs and norms-men are not supposed to go to clinics, it is shame for a man to accompany his wife to RCH clinic", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_cultural_beliefs" }, { "key": "chk_fatherhood_resp", "text": "Fear of fatherhood responsibilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_fatherhood_resp" }, { "key": "chk_polygamy", "text": "Polygamy", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_polygamy" }, { "key": "chk_ignorance", "text": "Ignorance and inadequate knowledge on the importance of Male involvement to ANC service", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_ignorance" }, { "key": "chk_busy", "text": "Busy with day-to-day earnings for the family", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_busy" }, { "key": "chk_other", "text": "Others (Specify)", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_other" } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json index bfa368fb67..66509e3316 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_pregnancy_outcome.json @@ -71,7 +71,6 @@ { "key": "born_alive", "text": "Child was born alive", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "born_alive", "openmrs_entity_parent": "" @@ -79,7 +78,6 @@ { "key": "born_alive_died", "text": "Child was born alive, but died", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "born_alive_died", "openmrs_entity_parent": "" @@ -87,7 +85,6 @@ { "key": "still_born", "text": "Child was stillborn", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "still_born", "openmrs_entity_parent": "" @@ -95,7 +92,6 @@ { "key": "alive_with_problem", "text": "Child was born alive, but they have a problem (i.e. disability, respiratory issues, etc.)", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "alive_with_problem", "openmrs_entity_parent": "" @@ -103,7 +99,6 @@ { "key": "miscarriage", "text": "Miscarriage", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "miscarriage", "openmrs_entity_parent": "" @@ -242,7 +237,6 @@ { "key": "gave_birth_alone", "text": "She gave birth alone", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "gave_birth_alone" @@ -250,7 +244,6 @@ { "key": "gave_birth_with_help", "text": "She gave birth with the help of a family member/friend/neighbor", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "gave_birth_with_help" @@ -258,7 +251,6 @@ { "key": "midwife_help", "text": "She gave birth with the help of a traditional midwife", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "midwife_help" @@ -289,7 +281,6 @@ { "key": "facility_family_member", "text": "She gave birth in a health facility, and she was accompanied by family member(s)", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "facility_family_member" @@ -297,7 +288,6 @@ { "key": "facility_midwife", "text": "She gave birth in a health facility, and she was accompanied by a traditional midwife", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "facility_midwife" @@ -305,7 +295,6 @@ { "key": "alone", "text": "She gave birth in a health facility, and she came by herself", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "alone" @@ -313,7 +302,6 @@ { "key": "other_pple", "text": "She gave birth in a health facility, and she was accompanied by other people", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "other_pple" @@ -321,7 +309,6 @@ { "key": "other_chw", "text": "She gave birth in a health facility, and she was accompanied by the CHW", - "value": false, "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "other_chw" diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/anc_referral_form.json index 505fa036fe..bee11875ef 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_referral_form.json @@ -81,7 +81,6 @@ { "key": "Vaginal_bleeding", "text": "Vaginal bleeding", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -89,7 +88,6 @@ { "key": "Discoloured_or_watery_liquid_vaginal_discharge_with_a_bad_smell", "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -97,7 +95,6 @@ { "key": "High_blood_pressure", "text": "High blood pressure", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "113088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -105,7 +102,6 @@ { "key": "Severe_abdominal_pain", "text": "Severe abdominal pain", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -113,7 +109,6 @@ { "key": "Severe_anaemia", "text": "Severe anaemia", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -121,7 +116,6 @@ { "key": "Convulsions", "text": "Convulsions", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -129,7 +123,6 @@ { "key": "No_movement_unusual_movement_for_a_child_in_the_womb", "text": "No movement / unusual movement for a child in the womb", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -137,7 +130,6 @@ { "key": "Pregnancy_pains_before_9_months", "text": "Pregnancy pains before 9 months", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "153316AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -145,7 +137,6 @@ { "key": "Early_age_pregnancy_below_18_years", "text": "Early age pregnancy (below 18 years)", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "163119AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -153,7 +144,6 @@ { "key": "A_severe_headache_dizziness", "text": "A severe headache / dizziness", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -161,7 +151,6 @@ { "key": "Swelling_of_the_face_andor_hands", "text": "Swelling of the face and/or hands", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -169,7 +158,6 @@ { "key": "Fever", "text": "Fever", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -177,7 +165,6 @@ { "key": "Shivering_trembling", "text": "Shivering/trembling", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -185,7 +172,6 @@ { "key": "Nausea_and_Vomiting", "text": "Nausea and vomiting", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "133473AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -193,7 +179,6 @@ { "key": "Water_sack_broke_before_contractions", "text": "Water sack broke before contractions", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "129211AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -201,7 +186,6 @@ { "key": "Cord_prolapse", "text": "Cord prolapse", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "128419AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -209,7 +193,6 @@ { "key": "HIV_care_and_support_services", "text": "HIV care and support services", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -217,7 +200,6 @@ { "key": "Family_planning_services", "text": "Family planning services", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -225,7 +207,6 @@ { "key": "PMTCT_for_mothers", "text": "PMTCT for mothers", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -233,7 +214,6 @@ { "key": "Fistula", "text": "Fistula", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -241,7 +221,6 @@ { "key": "Difficultly_breathing", "text": "Difficultly breathing", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -249,7 +228,6 @@ { "key": "Breast_engorgement", "text": "Breast engorgement", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -257,7 +235,6 @@ { "key": "Blurred_vision", "text": "Blurred vision", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -265,7 +242,6 @@ { "key": "Perineum_tear", "text": "Perineum tear", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -273,7 +249,6 @@ { "key": "Pregnancy_confirmation", "text": "Pregnancy confirmation", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "152305AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -281,7 +256,6 @@ { "key": "Other_symptoms", "text": "Other symptoms", - "value": false, "ignore": true, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -329,7 +303,6 @@ { "key": "ORS", "text": "ORS", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -337,7 +310,6 @@ { "key": "Panadol", "text": "Panadol", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -345,7 +317,6 @@ { "key": "Other_treatment", "text": "Other treatment", - "value": false, "ignore": true, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -354,7 +325,6 @@ { "key": "None", "text": "None", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" diff --git a/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json b/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json index ed8a8dff74..09b99afcb0 100644 --- a/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json +++ b/opensrp-chw/src/nacp/assets/json.form/child_enrollment.json @@ -408,56 +408,48 @@ { "key": "physical_impairments", "text": "Mobility and Physical Impairments", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "physical_impairments" }, { "key": "spinal_cord_disability", "text": "Spinal Cord Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "spinal_cord_disability" }, { "key": "brain_disability", "text": "Head Injuries - Brain Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "brain_disability" }, { "key": "vision_disability", "text": "Vision Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "vision_disability" }, { "key": "hearing_disability", "text": "Hearing Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hearing_disability" }, { "key": "learning_disabilities", "text": "Cognitive or Learning Disabilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "learning_disabilities" }, { "key": "psychological_disorders", "text": "Psychological Disorders", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "psychological_disorders" }, { "key": "invisible_disabilities", "text": "Invisible Disabilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "invisible_disabilities" } diff --git a/opensrp-chw/src/nacp/assets/json.form/child_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/child_referral_form.json index ff4e943290..5219309fb7 100644 --- a/opensrp-chw/src/nacp/assets/json.form/child_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/child_referral_form.json @@ -81,7 +81,6 @@ { "key": "Fast_breathing_and_difficulty_with_breathing", "text": "Fast breathing and difficulty with breathing", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -89,7 +88,6 @@ { "key": "Umbilical_cord_navel_bleeding", "text": "Umbilical cord/navel bleeding", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -97,7 +95,6 @@ { "key": "Excessive_crying", "text": "Excessive crying", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -105,7 +102,6 @@ { "key": "Convulsions", "text": "Convulsions", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -113,7 +109,6 @@ { "key": "Unable_to_breastfeed_or_swallow", "text": "Unable to breastfeed or swallow", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -121,7 +116,6 @@ { "key": "Neck_stiffness", "text": "Neck stiffness", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -129,7 +123,6 @@ { "key": "Fever", "text": "Fever", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -137,7 +130,6 @@ { "key": "Bloating", "text": "Bloating", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -145,7 +137,6 @@ { "key": "Redness_around_the_umbilical_cord_foul_smelling_discharge_from_the_umbilical_cord", "text": "Redness around the umbilical cord, foul-smelling discharge from the umbilical cord", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -153,7 +144,6 @@ { "key": "Bacterial_conjunctivitis", "text": "Bacterial conjunctivitis", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -161,7 +151,6 @@ { "key": "Severe_anaemia", "text": "Severe anaemia", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -169,7 +158,6 @@ { "key": "Severe_abdominal_pain", "text": "Severe abdominal pain", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -177,7 +165,6 @@ { "key": "Pale_or_jaundiced", "text": "Pale or jaundiced", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -185,7 +172,6 @@ { "key": "Cyanosis_blueness_of_lips", "text": "Cyanosis (blueness of lips)", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -193,7 +179,6 @@ { "key": "Skin_rash_pustules", "text": "Skin rash / pustules", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -201,7 +186,6 @@ { "key": "Diarrhea", "text": "Diarrhea", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -209,7 +193,6 @@ { "key": "Vomiting", "text": "Vomiting", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -217,7 +200,6 @@ { "key": "Disabilities", "text": "Disabilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -225,7 +207,6 @@ { "key": "Premature_baby", "text": "Premature baby", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -233,7 +214,6 @@ { "key": "Care_of_HIV_exposed_infant", "text": "Care of HIV-exposed infant", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -241,7 +221,6 @@ { "key": "Immunisation", "text": "Immunisation", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -249,7 +228,6 @@ { "key": "Other_symptom", "text": "Other symptom", - "value": false, "ignore": true, "openmrs_entity": "concept", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -293,7 +271,6 @@ { "key": "ORS", "text": "ORS", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -301,7 +278,6 @@ { "key": "Panadol", "text": "Panadol", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -309,7 +285,6 @@ { "key": "Other_treatment", "text": "Other treatment", - "value": false, "ignore": true, "openmrs_entity": "concept", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -318,7 +293,6 @@ { "key": "None", "text": "None", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" diff --git a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json index 42ffab424a..8c49e8986a 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json @@ -382,28 +382,24 @@ { "key": "chk_national_id", "text": "National ID", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" }, { "key": "chk_voters_id", "text": "Voter's registration ID", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_voters_id" }, { "key": "chk_drivers_license", "text": "Driver's license", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } @@ -716,56 +712,48 @@ { "key": "physical_impairments", "text": "Mobility and Physical Impairments", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "physical_impairments" }, { "key": "spinal_cord_disability", "text": "Spinal Cord Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "spinal_cord_disability" }, { "key": "brain_disability", "text": "Head Injuries - Brain Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "brain_disability" }, { "key": "vision_disability", "text": "Vision Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "vision_disability" }, { "key": "hearing_disability", "text": "Hearing Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hearing_disability" }, { "key": "learning_disabilities", "text": "Cognitive or Learning Disabilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "learning_disabilities" }, { "key": "psychological_disorders", "text": "Psychological Disorders", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "psychological_disorders" }, { "key": "invisible_disabilities", "text": "Invisible Disabilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "invisible_disabilities" } @@ -815,28 +803,24 @@ { "key": "chk_self_employed", "text": "Self-Employed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_self_employed" }, { "key": "chk_employed", "text": "Employed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_employed" }, { "key": "chk_unemployed", "text": "Unemployed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unemployed" }, { "key": "chk_farmer", "text": "Farmer", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" } @@ -863,42 +847,36 @@ { "key": "chk_religious", "text": "Religious leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Religious_Leader" }, { "key": "chk_traditional", "text": "Traditional leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Traditional_leader" }, { "key": "chk_political", "text": "Political leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Political_leader" }, { "key": "chk_influential", "text": "Influential leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Influential_Leader" }, { "key": "chk_other", "text": "Other", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Not_a_Community_Leader" } diff --git a/opensrp-chw/src/nacp/assets/json.form/family_register.json b/opensrp-chw/src/nacp/assets/json.form/family_register.json index 36f4022dd6..a8f0ae5160 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_register.json @@ -486,28 +486,24 @@ { "key": "chk_national_id", "text": "National ID", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" }, { "key": "chk_voters_id", "text": "Voter's registration ID", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_voters_id" }, { "key": "chk_drivers_license", "text": "Driver's license", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } @@ -814,56 +810,48 @@ { "key": "physical_impairments", "text": "Mobility and Physical Impairments", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "physical_impairments" }, { "key": "spinal_cord_disability", "text": "Spinal Cord Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "spinal_cord_disability" }, { "key": "brain_disability", "text": "Head Injuries - Brain Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "brain_disability" }, { "key": "vision_disability", "text": "Vision Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "vision_disability" }, { "key": "hearing_disability", "text": "Hearing Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hearing_disability" }, { "key": "learning_disabilities", "text": "Cognitive or Learning Disabilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "learning_disabilities" }, { "key": "psychological_disorders", "text": "Psychological Disorders", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "psychological_disorders" }, { "key": "invisible_disabilities", "text": "Invisible Disabilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "invisible_disabilities" } @@ -893,28 +881,24 @@ { "key": "chk_self_employed", "text": "Self-Employed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_self_employed" }, { "key": "chk_employed", "text": "Employed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_employed" }, { "key": "chk_unemployed", "text": "Unemployed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unemployed" }, { "key": "chk_farmer", "text": "Farmer", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" } @@ -941,42 +925,36 @@ { "key": "chk_religious", "text": "Religious leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Religious_Leader" }, { "key": "chk_traditional", "text": "Traditional leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Traditional_leader" }, { "key": "chk_political", "text": "Political leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Political_leader" }, { "key": "chk_influential", "text": "Influential leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Influential_Leader" }, { "key": "chk_other", "text": "Other", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Not_a_Community_Leader" } diff --git a/opensrp-chw/src/nacp/assets/json.form/female_family_planning_change_method.json b/opensrp-chw/src/nacp/assets/json.form/female_family_planning_change_method.json index 525ea45fb3..b2f421e81e 100644 --- a/opensrp-chw/src/nacp/assets/json.form/female_family_planning_change_method.json +++ b/opensrp-chw/src/nacp/assets/json.form/female_family_planning_change_method.json @@ -116,7 +116,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "163494AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "value": false, "text": "Decided to change method" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/female_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/female_fp_referral_form.json index 950965b0ce..e452bb89f0 100644 --- a/opensrp-chw/src/nacp/assets/json.form/female_fp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/female_fp_referral_form.json @@ -183,7 +183,6 @@ { "key": "Incisional_bleeding", "text": "Incisional bleeding", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -191,7 +190,6 @@ { "key": "Pus_Discharge_from_incision", "text": "Pus/Discharge from incision", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -199,7 +197,6 @@ { "key": "Swollen_around_the_incision", "text": "Swollen around the incision", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -207,7 +204,6 @@ { "key": "Others", "text": "Others", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -215,7 +211,6 @@ { "key": "None", "text": "None", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -223,7 +218,6 @@ { "key": "Not_applicable", "text": "Not applicable", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -253,7 +247,6 @@ { "key": "Severe_pain_inside_the_vagina_after_IUD_was_put_in", "text": "Severe pain inside the vagina after IUD was put in", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "123385AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -261,7 +254,6 @@ { "key": "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in", "text": "Cramping or backaches for a few days after the IUD is put in", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "148031AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -269,7 +261,6 @@ { "key": "Spotting_between_periods_and_or_irregular_periods", "text": "Spotting between periods and/or irregular periods", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -277,7 +268,6 @@ { "key": "Heavier_periods_and_worse_menstrual_cramps", "text": "Heavier periods and worse menstrual cramps", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "156197AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -285,7 +275,6 @@ { "key": "IUCD_explusion", "text": "IUCD explusion", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "157401AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -293,7 +282,6 @@ { "key": "Others", "text": "Others", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -301,7 +289,6 @@ { "key": "None", "text": "None", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -309,7 +296,6 @@ { "key": "Not_applicable", "text": "Not applicable", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -339,7 +325,6 @@ { "key": "Insertion_site_infected_pus_discharge", "text": "Insertion site infected - pus/discharge", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -347,7 +332,6 @@ { "key": "Insertion_site_swollen", "text": "Insertion site swollen", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -355,7 +339,6 @@ { "key": "Implant_expulsion", "text": "Implant expulsion", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "144458AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -363,7 +346,6 @@ { "key": "Heavy_bleeding", "text": "Heavy bleeding", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -371,7 +353,6 @@ { "key": "Others", "text": "Others", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -379,7 +360,6 @@ { "key": "None", "text": "None", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -387,7 +367,6 @@ { "key": "Not_applicable", "text": "Not applicable", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -417,7 +396,6 @@ { "key": "Heavy_bleeding_", "text": "Heavy bleeding", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "136756AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -425,7 +403,6 @@ { "key": "Irregular_periods", "text": "Irregular periods", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "116616AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -433,7 +410,6 @@ { "key": "Others", "text": "Others", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -441,7 +417,6 @@ { "key": "None", "text": "None", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -449,7 +424,6 @@ { "key": "Not_applicable", "text": "Not applicable", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" diff --git a/opensrp-chw/src/nacp/assets/json.form/malaria_confirmation.json b/opensrp-chw/src/nacp/assets/json.form/malaria_confirmation.json index a8a6e23af5..ed038377de 100644 --- a/opensrp-chw/src/nacp/assets/json.form/malaria_confirmation.json +++ b/opensrp-chw/src/nacp/assets/json.form/malaria_confirmation.json @@ -92,7 +92,6 @@ { "key": "has_fever", "text": "Has a fever", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "has_fever", "openmrs_entity_parent": "" @@ -100,7 +99,6 @@ { "key": "tested_positive_last_14_days", "text": "Tested positive for malaria in the last 14 days at a health facility", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "tested_positive_last_14_days", "openmrs_entity_parent": "" @@ -387,42 +385,36 @@ { "key": "overview_on_malaria", "text": "Overview on malaria", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1379AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "malaria_prevention", "text": "Malaria prevention", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "uncomplicated_malaria", "text": "Uncomplicated malaria", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "159950AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "Severe_malaria", "text": "Severe malaria", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "160155AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "malaria_in_pregnancy", "text": "Malaria in pregnancy", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "135361AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_none" } diff --git a/opensrp-chw/src/nacp/assets/json.form/malaria_follow_up_visit.json b/opensrp-chw/src/nacp/assets/json.form/malaria_follow_up_visit.json index e4ac4fc58a..14ccec3b1d 100644 --- a/opensrp-chw/src/nacp/assets/json.form/malaria_follow_up_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form/malaria_follow_up_visit.json @@ -210,7 +210,6 @@ "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", "text": "Yes", - "value": false }, { "key": "No", @@ -218,7 +217,6 @@ "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", "text": "No", - "value": false } ], "v_required": { diff --git a/opensrp-chw/src/nacp/assets/json.form/malaria_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/malaria_referral_form.json index d6a9ece07e..cc46fcbecb 100644 --- a/opensrp-chw/src/nacp/assets/json.form/malaria_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/malaria_referral_form.json @@ -66,7 +66,6 @@ { "key": "Fever", "text": "Fever", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -74,7 +73,6 @@ { "key": "Diarrhea", "text": "Diarrhea", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -82,7 +80,6 @@ { "key": "Vomiting", "text": "Vomiting", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -90,7 +87,6 @@ { "key": "Nausea", "text": "Nausea", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -98,7 +94,6 @@ { "key": "Trembling", "text": "Trembling, shivering", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -106,7 +101,6 @@ { "key": "A_severe_headache_dizziness", "text": "A severe headache / dizziness", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -114,7 +108,6 @@ { "key": "Sweating", "text": "Sweating", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "140941AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -122,7 +115,6 @@ { "key": "Severe_abdominal_pain", "text": "Severe abdominal pain", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -130,7 +122,6 @@ { "key": "Muscle_pain", "text": "Muscle pain", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "133632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -138,7 +129,6 @@ { "key": "Sweling_of_the_face_and_or_hands", "text": "Sweling of the face and/or hands", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "163894AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -146,7 +136,6 @@ { "key": "Difficult_in_breathing_fast_and_laboured_breathing", "text": "Difficult in breathing (fast and laboured breathing)", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -154,7 +143,6 @@ { "key": "Convulsions", "text": "Convulsions", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -162,7 +150,6 @@ { "key": "Very_weak", "text": "Very weak", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5226AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -170,7 +157,6 @@ { "key": "Irritable_easily_disturbed", "text": "Irritable (easily disturbed)", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "118296AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -178,7 +164,6 @@ { "key": "Unconcious", "text": "Unconcious", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "123818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -186,7 +171,6 @@ { "key": "Unusually_sleepy", "text": "Unusually sleepy", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "117417AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -194,7 +178,6 @@ { "key": "Neck_stiffness", "text": "Neck stiffness", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -202,7 +185,6 @@ { "key": "Unable_to_sit_without_support", "text": "Unable to sit without support", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "123833AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -210,7 +192,6 @@ { "key": "Abnormal_bleeding_or_passing_of_urine_with_blood", "text": "Abnormal bleeding or passing of urine with blood", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -218,7 +199,6 @@ { "key": "Severe_anaemia_pale_palms_and_inner_eyelids", "text": "Severe anaemia (pale palms and inner eyelids)", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -226,7 +206,6 @@ { "key": "Yellowing_of_the_eyes_jaundice", "text": "Yellowing of the eyes (jaundice)", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -234,7 +213,6 @@ { "key": "Severe_malnutrition", "text": "Severe malnutrition", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "163302AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -242,7 +220,6 @@ { "key": "Bloating", "text": "Bloating", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -269,7 +246,6 @@ { "key": "Rectal_artesunate", "text": "Rectal artesunate", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "71561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -277,7 +253,6 @@ { "key": "Panadol", "text": "Panadol", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -285,7 +260,6 @@ { "key": "ORS", "text": "ORS", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -293,7 +267,6 @@ { "key": "Other_treatment", "text": "Other treatment", - "value": false, "ignore": true, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -302,7 +275,6 @@ { "key": "None", "text": "None", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" diff --git a/opensrp-chw/src/nacp/assets/json.form/male_family_planning_change_method.json b/opensrp-chw/src/nacp/assets/json.form/male_family_planning_change_method.json index 1f989f3ef4..226f7e0150 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_family_planning_change_method.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_family_planning_change_method.json @@ -102,7 +102,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "163494AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "", - "value": false, "text": "Decided to change method" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/male_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/male_fp_referral_form.json index d4587ed1cc..d7ab355619 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_fp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_fp_referral_form.json @@ -120,7 +120,6 @@ { "key": "Incisional_bleeding", "text": "Incisional bleeding", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147241AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -128,7 +127,6 @@ { "key": "Pus_Discharge_from_incision", "text": "Pus/Discharge from incision", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164495AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -136,7 +134,6 @@ { "key": "Swollen_around_the_incision", "text": "Swollen around the incision", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159012AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -144,7 +141,6 @@ { "key": "Others", "text": "Others", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -152,7 +148,6 @@ { "key": "None", "text": "None", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -160,7 +155,6 @@ { "key": "Not_applicable", "text": "Not applicable", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" diff --git a/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json index fc46d8d588..0d56550a10 100644 --- a/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/male_partner_registration_form.json @@ -460,28 +460,24 @@ { "key": "chk_national_id", "text": "National ID", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_national_id" }, { "key": "chk_voters_id", "text": "Voter's registration ID", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_voters_id" }, { "key": "chk_drivers_license", "text": "Driver's license", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_drivers_license" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "chk_none" } @@ -763,56 +759,48 @@ { "key": "physical_impairments", "text": "Mobility and Physical Impairments", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "physical_impairments" }, { "key": "spinal_cord_disability", "text": "Spinal Cord Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "spinal_cord_disability" }, { "key": "brain_disability", "text": "Head Injuries - Brain Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "brain_disability" }, { "key": "vision_disability", "text": "Vision Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "vision_disability" }, { "key": "hearing_disability", "text": "Hearing Disability", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "hearing_disability" }, { "key": "learning_disabilities", "text": "Cognitive or Learning Disabilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "learning_disabilities" }, { "key": "psychological_disorders", "text": "Psychological Disorders", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "psychological_disorders" }, { "key": "invisible_disabilities", "text": "Invisible Disabilities", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "invisible_disabilities" } @@ -842,28 +830,24 @@ { "key": "chk_self_employed", "text": "Self-Employed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_self_employed" }, { "key": "chk_employed", "text": "Employed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_employed" }, { "key": "chk_unemployed", "text": "Unemployed", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_unemployed" }, { "key": "chk_farmer", "text": "Farmer", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" } @@ -890,42 +874,36 @@ { "key": "chk_religious", "text": "Religious leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Religious_Leader" }, { "key": "chk_traditional", "text": "Traditional leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Traditional_leader" }, { "key": "chk_political", "text": "Political leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Political_leader" }, { "key": "chk_influential", "text": "Influential leader", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Influential_Leader" }, { "key": "chk_other", "text": "Other", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Other_Community_Leader_Type" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "person_attribute", "openmrs_entity_id": "Not_a_Community_Leader" } diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json b/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json index 2c65882d23..e67ce373ea 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json @@ -66,140 +66,120 @@ { "key": "chk_maternal_nutrition", "text": "3. Maternal nutrition during breastfeeding", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_aids", "text": "5. HIV/AIDS general information", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pmtct", "text": "6. PMTCT for the mother", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_malaria_prevention", "text": "7. Malaria prevention", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pnc_care_for_mother", "text": "9. PNC care for mother", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1623AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_exposed_infant", "text": "9. Follow-up for the HIV-exposed Infant", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pnc_danger_signs", "text": "10. PNC danger signs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_care_of_infant_after_birth", "text": "11. Care of infant after birth", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "159839AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_care_of_premature_baby", "text": "12. Care of a premature baby", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_care_of_new_born", "text": "13. Care of a newborn", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_new_born_danger_signs", "text": "14. Newborn danger signs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_exposed_infant", "text": "15. Follow-up for the HIV-exposed infant", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_breastfeeding", "text": "16. Breastfeeding", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_lam", "text": "17. LAM as a natural FP method, which includes exclusive breastfeeding six months after delivery", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_family_planning", "text": "18. Family planning", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_birth_registration", "text": "19. Birth registration", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_immunisation", "text": "22. Immunisation", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_infection_prevention", "text": "24. Infection prevention and control", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_gender_issues", "text": "26. Gender issues", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json index 539646a6ce..61f8e6e847 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json @@ -65,98 +65,84 @@ { "key": "chk_fever", "text": "Fever", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_excessive_crying", "text": "Excessive crying", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "110540AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_fast_breathing", "text": "Fast breathing", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "125061AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_difficult_breathing", "text": "Difficulty breathing", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_unable_to_suck", "text": "Unable to suck", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_umbilical_discharge", "text": "Umbilical blood / pus discharge", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "123843AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_no_movement", "text": "No movement", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164455AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_convulsions", "text": "Convulsions", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_skin_rashes", "text": "Skin rashes", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pale", "text": "Pale or jaundiced", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_eye_discharge", "text": "Eye discharge", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142246AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_severe_abdominal_pain", "text": "Severe abdominal pain", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_lethargy", "text": "Lethargy", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "116334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_mother.json b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_mother.json index ad93129284..43ebc5acc5 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_mother.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_mother.json @@ -65,98 +65,84 @@ { "key": "chk_fever", "text": "Fever", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_bleeding_vaginally", "text": "Bleeding vaginally", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_server_headache", "text": "Severe headache", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_convulsions", "text": "Convulsions", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_difficulty_breathing", "text": "Difficulty breathing", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_severe_leg_pain", "text": "Severe leg pain", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "114395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_unusual_behaviour", "text": "Unusual behaviour (stress, confusion)", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "152376AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_swelling of breast", "text": "Swelling of the breast and nipple", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "125212AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_severe_abdominal_pain", "text": "Severe abdominal pain", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_vaginal_discharge", "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_blurred_vision", "text": "Blurred vision", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "147104AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_loss_conscioueness", "text": "Loss of consciousness", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "135592AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_urination", "text": "Urinate a little or urine leakage", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "118982AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json b/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json index 8bf2eb34ca..238f254ad9 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json @@ -88,21 +88,18 @@ { "key": "chk_during_anc", "text": "During ANC", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_during_anc" }, { "key": "chk_during_labour_and_delivery", "text": "During labour and delivery", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_during_labour_and_delivery" }, { "key": "chk_during_pnc", "text": "During PNC", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_during_pnc" } diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_danger_signs.json b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_danger_signs.json index 487997b344..2e02fd4daa 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_danger_signs.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_danger_signs.json @@ -65,70 +65,60 @@ { "key": "chk_fever", "text": "Fever", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_bleeding_vaginally", "text": "Bleeding vaginally", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "150802AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_server_headache", "text": "Severe headache", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_convulsions", "text": "Convulsions", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "164483AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_difficulty_breathing", "text": "Difficulty breathing", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_severe_abdominal_pain", "text": "Severe abdominal pain", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_swelling", "text": "Swelling of the face and/or hands", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_vaginal_discharge", "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "123395AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_unusual_movement", "text": "No movement / unusual movement for a child in the womb", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "113377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json index d6bfc7dc88..927468d51f 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json @@ -92,42 +92,36 @@ { "key": "chk_ors", "text": "ORS 5", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_zinc", "text": "Zinc 10", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_paracetamol", "text": "Panadol", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_referred", "text": "Referred", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_other_treatment", "text": "Other treatment", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "No treatment given", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json index 9d6e4f9591..4a911e6af4 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json @@ -93,42 +93,36 @@ { "key": "chk_ors", "text": "ORS 5", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_zinc", "text": "Zinc 10", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_paracetamol", "text": "Panadol", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_referred", "text": "Referred", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_other_treatment", "text": "Other treatment", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_none", "text": "No treatment given", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" } diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/pnc_referral_form.json index dd0b0d50ff..24b6f76d11 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_referral_form.json @@ -81,7 +81,6 @@ { "key": "Vaginal_bleeding", "text": "Vaginal bleeding", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147232AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -89,7 +88,6 @@ { "key": "Discoloured_or_watery_liquid_vaginal_discharge", "text": "Discoloured or watery, liquid vaginal discharge with a bad smell", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "123396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -97,7 +95,6 @@ { "key": "Severe_abdominal_pain", "text": "Severe abdominal pain", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "165271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -105,7 +102,6 @@ { "key": "Severe_anaemia", "text": "Severe anaemia", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "162044AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -113,7 +109,6 @@ { "key": "Convulsions", "text": "Convulsions", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "113054AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -121,7 +116,6 @@ { "key": "A_severe_headache_dizziness", "text": "A severe headache / dizziness", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "139081AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -129,7 +123,6 @@ { "key": "Swelling_of_the_face_and_or_hands", "text": "Swelling of the face and/or hands", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -137,7 +130,6 @@ { "key": "Fever", "text": "Fever", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -145,7 +137,6 @@ { "key": "Shivering_trembling", "text": "Shivering/trembling", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "158359AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -153,7 +144,6 @@ { "key": "Nausea", "text": "Nausea", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5978AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -161,7 +151,6 @@ { "key": "Vomiting", "text": "Vomiting", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "122983AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -169,7 +158,6 @@ { "key": "Cord_prolapse", "text": "Cord prolapse", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "113617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -177,7 +165,6 @@ { "key": "Perineum_bleeding", "text": "Perineum bleeding", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "136938AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -185,7 +172,6 @@ { "key": "Fullness_or_pain_of_the_breasts", "text": "Breast engorgement", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "118620AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -193,7 +179,6 @@ { "key": "HIV_care_and_support_services", "text": "HIV care and support services", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159811AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -201,7 +186,6 @@ { "key": "Family_planning_services", "text": "Family planning services", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "5271AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -209,7 +193,6 @@ { "key": "PMTCT_for_mothers", "text": "PMTCT for mothers", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -217,7 +200,6 @@ { "key": "Fistula", "text": "Fistula", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "160854AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -225,7 +207,6 @@ { "key": "Fast_breathing_and_difficulty_with_breathing", "text": "Fast breathing and difficulty with breathing", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "142373AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -233,7 +214,6 @@ { "key": "Umbilical_cord", "text": "Umbilical cord/navel bleeding", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "123844AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -241,7 +221,6 @@ { "key": "Excessive_crying", "text": "Excessive crying", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "140944AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -249,7 +228,6 @@ { "key": "Unable_to_breastfeed_or_swallow", "text": "Unable to breastfeed or swallow", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159861AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -257,7 +235,6 @@ { "key": "Neck_stiffness", "text": "Neck stiffness", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "112721AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -265,7 +242,6 @@ { "key": "Bloating", "text": "Bloating", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "147132AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -273,7 +249,6 @@ { "key": "Redness_around_the_umbilical_cord_foul", "text": "Redness around the umbilical cord, foul-smelling discharge from the umbilical cord", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "132407AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -281,7 +256,6 @@ { "key": "Bacterial_conjunctivitis", "text": "Bacterial conjunctivitis", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "148026AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -289,7 +263,6 @@ { "key": "Pale_or_jaundiced", "text": "Pale or jaundiced", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "136443AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -297,7 +270,6 @@ { "key": "Cyanosis_blueness_of_lips", "text": "Cyanosis (blueness of lips)", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "143050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -305,7 +277,6 @@ { "key": "Skin_rash_pustules", "text": "Skin rash / pustules", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "512AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -313,7 +284,6 @@ { "key": "Diarrhea", "text": "Diarrhea", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "142412AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -321,7 +291,6 @@ { "key": "Disabilities", "text": "Congenital Disabilities", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -329,7 +298,6 @@ { "key": "Premature_baby", "text": "Premature baby", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "159908AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -337,7 +305,6 @@ { "key": "Failure_to_pass_urine_or_stool", "text": "Failure to pass urine or stool within 24 hours after birth", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "", "openmrs_entity_parent": "" @@ -345,7 +312,6 @@ { "key": "Care_of_HIV_exposed_infant", "text": "Care of HIV-exposed infant", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -353,7 +319,6 @@ { "key": "Immunisation", "text": "Immunisation", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -361,7 +326,6 @@ { "key": "Other_symptom", "text": "Other symptom", - "value": false, "ignore": true, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -405,7 +369,6 @@ { "key": "ORS", "text": "ORS", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -413,7 +376,6 @@ { "key": "Panadol", "text": "Panadol", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" @@ -421,7 +383,6 @@ { "key": "Other_treatment", "text": "Other treatment", - "value": false, "ignore": true, "openmrs_entity": "", "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -430,7 +391,6 @@ { "key": "None", "text": "None", - "value": false, "openmrs_entity": "", "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "openmrs_entity_parent": "" diff --git a/opensrp-chw/src/nacp/assets/json.form/routine_home_visit.json b/opensrp-chw/src/nacp/assets/json.form/routine_home_visit.json index 7b7c7a4358..47e241a328 100644 --- a/opensrp-chw/src/nacp/assets/json.form/routine_home_visit.json +++ b/opensrp-chw/src/nacp/assets/json.form/routine_home_visit.json @@ -72,105 +72,90 @@ { "key": "chk_maternal_nutrition", "text": "3. Maternal nutrition during breastfeeding", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_hiv_aids", "text": "5. HIV/AIDS general information", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_pmtc_for_mother", "text": "6. PMTCT for the mother", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_malaria_prevention", "text": "7. Malaria prevention", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_hiv_exposed_infant", "text": "15. Follow-up for the HIV-exposed infant", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_breast_feeding", "text": "16. Breastfeeding", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_birth_registration", "text": "19. Birth registration", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_complementary_feeding", "text": "20. Complementary feeding", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_growth_and_dev", "text": "21. Growth and development", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_immunization", "text": "22. Immunisation", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_newborn_danger", "text": "23. Newborn danger signs", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_infection", "text": "24. Infection prevention and control", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_prevention_of_accidents", "text": "25. Prevention of accidents", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_gender_issues", "text": "26. Gender issues", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_none", "text": "None", - "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "" } From 4ffff9a9bd7790ef6482e09081cb57aa7d188b3c Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 17:54:14 +0300 Subject: [PATCH 601/915] Removed registration reason question during client registration Added an option in service provider question --- .../all_clients_registration_form.json | 381 +---------------- ...clients_update_registration_info_form.json | 388 +----------------- .../all_clients_registration_form.json | 381 +---------------- ...clients_update_registration_info_form.json | 388 +----------------- .../rule/all_clients_member_calculation.yml | 9 +- .../rule/all_clients_member_relevance.yml | 35 -- .../all_clients_member_update_calculation.yml | 7 - .../all_clients_member_update_relevance.yml | 35 -- 8 files changed, 29 insertions(+), 1595 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index 29b0e4bee5..06f4a50c56 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -1006,6 +1006,13 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_traditional_healer", + "text": "Mtoa huduma ya Tiba Asili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_traditional_healer" } ], "v_required": { @@ -1112,380 +1119,6 @@ ] } } - }, - { - "key": "reasons_for_registration", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Registration_Reason", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_calculation.yml" - } - } - } - }, - { - "key": "reasons_for_registration_male_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_male_15", - "type": "check_box", - "label": "Sababu za Usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "Maambukizi ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Kifua Kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "homosexual", - "text": "Wanaume wanaofanya mapenzi na wanaume", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "homosexual" - }, - { - "key": "gender_violence", - "text": "Unyanyasaji wa Kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_15", - "type": "check_box", - "label": "Sababu za Usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "Maambukizi ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "sex_worker_woman", - "text": "Mfanyabiashara ya ngono", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_worker_woman" - }, - { - "key": "gender_violence", - "text": "Ukatili wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - }, - { - "key": "pregnant_mother", - "text": "Mama mjamzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "pregnant_mother" - }, - { - "key": "breastfeeding_mother", - "text": "Mama anayenyonyesha", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "breastfeeding_mother" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_under_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "check_box", - "label": "Sababu za Usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "Maambukizi ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infected_child" - }, - { - "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "untested_hiv_infected_child" - }, - { - "key": "abused_child", - "text": "Unyanyasaji wa mtoto", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "abused_child" - }, - { - "key": "gender_violence", - "text": "Unyanyasaji wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_under_10", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_under_10", - "type": "check_box", - "label": "Sababu za usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "Maambukizi ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infected_child" - }, - { - "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "untested_hiv_infected_child" - }, - { - "key": "abused_child", - "text": "Unyanyasaji wa mtoto", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "abused_child" - }, - { - "key": "gender_violence", - "text": "Ukatili wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_10_to_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_10_to_15", - "type": "check_box", - "label": "Sababu za usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "Maambukizi ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infected_child" - }, - { - "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "untested_hiv_infected_child" - }, - { - "key": "abused_child", - "text": "Unyanyasaji wa mtoto", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "abused_child" - }, - { - "key": "gender_violence", - "text": "Ukatili wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - }, - { - "key": "pregnant_mother", - "text": "Mama mjamzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "pregnant_mother" - }, - { - "key": "breastfeeding_mother", - "text": "Mama anayenyonyesha", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "breastfeeding_mother" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 87f14180d8..b7f022a638 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -826,6 +826,13 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_traditional_healer", + "text": "Mtoa huduma ya Tiba Asili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_traditional_healer" } ], "v_required": { @@ -932,387 +939,6 @@ ] } } - }, - { - "key": "reasons_for_registration", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Registration_Reason", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "reasons_for_registration_male_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_male_15", - "type": "check_box", - "label": "Sababu za usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "Maambukizi ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Kifua Kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "homosexual", - "text": "Wanaume wanaofanya mapenzi na wanaume", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "homosexual" - }, - { - "key": "gender_violence", - "text": "Unyanyasaji wa Kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - }, - { - "key": "male_engagement", - "text": "Uwepo wa mwanaume husika", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "male_engagement" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_15", - "type": "check_box", - "label": "Sababu za usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "Maambukizi ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "sex_worker_woman", - "text": "Mfanyabiashara ya ngono", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_worker_woman" - }, - { - "key": "gender_violence", - "text": "Ukatili wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - }, - { - "key": "pregnant_mother", - "text": "Mama mjamzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "pregnant_mother" - }, - { - "key": "breastfeeding_mother", - "text": "Mama anayenyonyesha", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "breastfeeding_mother" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_under_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "check_box", - "label": "Sababu za usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "Maambukizi ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infected_child" - }, - { - "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "untested_hiv_infected_child" - }, - { - "key": "abused_child", - "text": "Unyanyasaji wa mtoto", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "abused_child" - }, - { - "key": "gender_violence", - "text": "Unyanyasaji wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_under_10", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_under_10", - "type": "check_box", - "label": "Sababu za usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "Maambukizi ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infected_child" - }, - { - "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "untested_hiv_infected_child" - }, - { - "key": "abused_child", - "text": "Unyanyasaji wa mtoto", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "abused_child" - }, - { - "key": "gender_violence", - "text": "Ukatili wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_10_to_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_10_to_15", - "type": "check_box", - "label": "Sababu za usajili", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "Maambukizi ya VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Kifua kikuu", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "hiv_infected_child", - "text": "Mtoto aliyezaliwa na mama mwenye VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infected_child" - }, - { - "key": "untested_hiv_infected_child", - "text": "Mtoto ambaye hajapimwa VVU", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "untested_hiv_infected_child" - }, - { - "key": "abused_child", - "text": "Unyanyasaji wa mtoto", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "abused_child" - }, - { - "key": "gender_violence", - "text": "Ukatili wa kijinsia", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Matumizi mabaya ya dawa za kulevya", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - }, - { - "key": "pregnant_mother", - "text": "Mama mjamzito", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "pregnant_mother" - }, - { - "key": "breastfeeding_mother", - "text": "Mama anayenyonyesha", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "breastfeeding_mother" - } - ], - "v_required": { - "value": "true", - "err": "Sababu ya usajili inahitajika" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index d4eccea22f..b8f5c73de6 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -1006,6 +1006,13 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_traditional_healer", + "text": "Traditional healer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_traditional_healer" } ], "v_required": { @@ -1112,380 +1119,6 @@ ] } } - }, - { - "key": "reasons_for_registration", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Registration_Reason", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_calculation.yml" - } - } - } - }, - { - "key": "reasons_for_registration_male_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_male_15", - "type": "check_box", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "homosexual", - "text": "Men who have sex with men", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "homosexual" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_15", - "type": "check_box", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "sex_worker_woman", - "text": "Sex worker", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_worker_woman" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - }, - { - "key": "pregnant_mother", - "text": "Pregnant mother", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "pregnant_mother" - }, - { - "key": "breastfeeding_mother", - "text": "Breastfeeding mother", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "breastfeeding_mother" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_under_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "check_box", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "hiv_infected_child", - "text": "A child born from a mother with HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infected_child" - }, - { - "key": "untested_hiv_infected_child", - "text": "Untested HIV/AIDs child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "untested_hiv_infected_child" - }, - { - "key": "abused_child", - "text": "Abused child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "abused_child" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_under_10", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_under_10", - "type": "check_box", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "hiv_infected_child", - "text": "A child born from a mother with HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infected_child" - }, - { - "key": "untested_hiv_infected_child", - "text": "Untested HIV/AIDs child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "untested_hiv_infected_child" - }, - { - "key": "abused_child", - "text": "Abused child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "abused_child" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_10_to_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_10_to_15", - "type": "check_box", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "hiv_infected_child", - "text": "A child born from a mother with HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infected_child" - }, - { - "key": "untested_hiv_infected_child", - "text": "Untested HIV/AIDs child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "untested_hiv_infected_child" - }, - { - "key": "abused_child", - "text": "Abused child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "abused_child" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - }, - { - "key": "pregnant_mother", - "text": "Pregnant mother", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "pregnant_mother" - }, - { - "key": "breastfeeding_mother", - "text": "Breastfeeding mother", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "breastfeeding_mother" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_relevance.yml" - } - } - } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index a86762e35f..7108feabb7 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -826,6 +826,13 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_traditional_healer", + "text": "Traditional healer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_traditional_healer" } ], "v_required": { @@ -932,387 +939,6 @@ ] } } - }, - { - "key": "reasons_for_registration", - "openmrs_entity_parent": "", - "openmrs_entity": "person_attribute", - "openmrs_entity_id": "Registration_Reason", - "type": "hidden", - "calculation": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_calculation.yml" - } - } - } - }, - { - "key": "reasons_for_registration_male_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_male_15", - "type": "check_box", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "homosexual", - "text": "Men who have sex with men", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "homosexual" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - }, - { - "key": "male_engagement", - "text": "Male engagement", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "male_engagement" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_15", - "type": "check_box", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "sex_worker_woman", - "text": "Sex worker", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "sex_worker_woman" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - }, - { - "key": "pregnant_mother", - "text": "Pregnant mother", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "pregnant_mother" - }, - { - "key": "breastfeeding_mother", - "text": "Breastfeeding mother", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "breastfeeding_mother" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_under_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_under_15", - "type": "check_box", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "hiv_infected_child", - "text": "A child born from a mother with HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infected_child" - }, - { - "key": "untested_hiv_infected_child", - "text": "Untested HIV/AIDs child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "untested_hiv_infected_child" - }, - { - "key": "abused_child", - "text": "Abused child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "abused_child" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_under_10", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_under_10", - "type": "check_box", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "hiv_infected_child", - "text": "A child born from a mother with HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infected_child" - }, - { - "key": "untested_hiv_infected_child", - "text": "Untested HIV/AIDs child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "untested_hiv_infected_child" - }, - { - "key": "abused_child", - "text": "Abused child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "abused_child" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } - }, - { - "key": "reasons_for_registration_female_10_to_15", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "reasons_for_registration_female_10_to_15", - "type": "check_box", - "label": "Reasons for Registration", - "label_text_style": "normal", - "text_color": "#C0C0C0", - "options": [ - { - "key": "hiv_aids", - "text": "HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_aids" - }, - { - "key": "tuberculosis", - "text": "Tuberculosis", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "tuberculosis" - }, - { - "key": "hiv_infected_child", - "text": "A child born from a mother with HIV/AIDs", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "hiv_infected_child" - }, - { - "key": "untested_hiv_infected_child", - "text": "Untested HIV/AIDs child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "untested_hiv_infected_child" - }, - { - "key": "abused_child", - "text": "Abused child", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "abused_child" - }, - { - "key": "gender_violence", - "text": "Gender violence", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "gender_violence" - }, - { - "key": "drug_abuse", - "text": "Drug abuse", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "drug_abuse" - }, - { - "key": "pregnant_mother", - "text": "Pregnant mother", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "pregnant_mother" - }, - { - "key": "breastfeeding_mother", - "text": "Breastfeeding mother", - "value": false, - "openmrs_entity": "concept", - "openmrs_entity_id": "breastfeeding_mother" - } - ], - "v_required": { - "value": "true", - "err": "Reason for registration is required" - }, - "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "all_clients_member_update_relevance.yml" - } - } - } } ] } diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml index b4f6d69507..bc93c983ea 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_calculation.yml @@ -32,11 +32,4 @@ description: set surname as the one added in step one priority: 1 condition: "true" actions: - - "calculation = step1_client_middle_name" ---- -name: step2_reasons_for_registration -description: set reasons for registration -priority: 1 -condition: "true" -actions: - - "calculation = step2_reasons_for_registration_male_15 != '' ? step2_reasons_for_registration_male_15 : step2_reasons_for_registration_female_15 != '' ? step2_reasons_for_registration_female_15 : step2_reasons_for_registration_under_15 != '' ? step2_reasons_for_registration_under_15 : step2_reasons_for_registration_female_under_10 != '' ? step2_reasons_for_registration_female_under_10 : step2_reasons_for_registration_female_10_to_15 != '' ? step2_reasons_for_registration_female_10_to_15 : '' " \ No newline at end of file + - "calculation = step1_client_middle_name" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml index ca79c4718c..20787cce96 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_relevance.yml @@ -94,40 +94,5 @@ name: step2_other_phone_number description: as primary caregiver phone number priority: 1 condition: "step2_has_primary_caregiver == 'Yes'" -actions: - - "isRelevant = true" ---- -name: step2_reasons_for_registration_male_15 -description: Show up if client is male and age 15 above -priority: 1 -condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 15) || (step2_age != '' && step2_age >= 15)) && step2_sex.equals('Male') " -actions: - - "isRelevant = true" ---- -name: step2_reasons_for_registration_female_15 -description: Show up if client is female and age 15 above -priority: 1 -condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 15) || (step2_age != '' && step2_age >= 15))&& step2_sex.equals('Female')" -actions: - - "isRelevant = true" ---- -name: step2_reasons_for_registration_under_15 -description: Show up if client is below 15 -priority: 1 -condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') < 15) || (step2_age != '' && step2_age < 15)) && step2_sex.equals('Male')" -actions: - - "isRelevant = true" ---- -name: step2_reasons_for_registration_female_under_10 -description: Show up if client is female and under 10 -priority: 1 -condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') < 10) || (step2_age != '' && step2_age < 10))&& step2_sex.equals('Female')" -actions: - - "isRelevant = true" ---- -name: step2_reasons_for_registration_female_10_to_15 -description: Show up if client is female between 10 and 15 -priority: 1 -condition: "((step2_dob != '' && helper.formatDate(step2_dob,'y') >= 10 && helper.formatDate(step2_dob,'y') < 15 ) || (step2_age != '' && step2_age >= 10 && step2_age < 15))&& step2_sex.equals('Female')" actions: - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_calculation.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_calculation.yml index 39fe9f3178..cd455aeba3 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_calculation.yml @@ -12,10 +12,3 @@ priority: 1 condition: "step1_sex == 'Female' && (step1_age_calculated >= 10 && step1_age_calculated <= 49)" actions: - "calculation = 1" ---- -name: step1_reasons_for_registration -description: set reasons for registration -priority: 1 -condition: "true" -actions: - - "calculation = step2_reasons_for_registration_male_15 != '' ? step2_reasons_for_registration_male_15 : step2_reasons_for_registration_female_15 != '' ? step2_reasons_for_registration_female_15 : step2_reasons_for_registration_under_15 != '' ? step2_reasons_for_registration_under_15 : step2_reasons_for_registration_female_under_10 != '' ? step2_reasons_for_registration_female_under_10 : step2_reasons_for_registration_female_10_to_15 != '' ? step2_reasons_for_registration_female_10_to_15 : '' " diff --git a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml index 18e26208f8..83ea22626c 100644 --- a/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/all_clients_member_update_relevance.yml @@ -97,39 +97,4 @@ priority: 1 condition: "(step1_dob != '' && helper.formatDate(step1_dob,'y') > 10) || (step1_age != '' && step1_age > 10)" actions: - "isRelevant = true" ---- -name: step1_reasons_for_registration_male_15 -description: Show up if client is male and age 15 above -priority: 1 -condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') >= 15) || (step1_age != '' && step1_age >= 15)) && step1_sex.equals('Male') " -actions: - - "isRelevant = true" ---- -name: step1_reasons_for_registration_female_15 -description: Show up if client is female and age 15 above -priority: 1 -condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') >= 15) || (step1_age != '' && step1_age >= 15))&& step1_sex.equals('Female')" -actions: - - "isRelevant = true" ---- -name: step1_reasons_for_registration_under_15 -description: Show up if client is below 15 -priority: 1 -condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') < 15) || (step1_age != '' && step1_age < 15)) && step1_sex.equals('Male')" -actions: - - "isRelevant = true" ---- -name: step1_reasons_for_registration_female_under_10 -description: Show up if client is female and under 10 -priority: 1 -condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') < 10) || (step1_age != '' && step1_age < 10))&& step1_sex.equals('Female')" -actions: - - "isRelevant = true" ---- -name: step1_reasons_for_registration_female_10_to_15 -description: Show up if client is female between 10 and 15 -priority: 1 -condition: "((step1_dob != '' && helper.formatDate(step1_dob,'y') >= 10 && helper.formatDate(step1_dob,'y') < 15 ) || (step1_age != '' && step1_age >= 10 && step1_age < 15))&& step1_sex.equals('Female')" -actions: - - "isRelevant = true" From 26d6c184e7ec2db5e19fb0493d1f85ad9eb062ce Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 23 Aug 2022 17:57:28 +0300 Subject: [PATCH 602/915] :hammer: refactored dob constraints for all clients update registration info forms --- .../all_clients_update_registration_info_form.json | 6 +----- .../all_clients_update_registration_info_form.json | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index 5123a32f9c..bf64b85326 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -143,7 +143,7 @@ "label": "Umri" }, "min_date": "today-120y", - "max_date": "today-5y", + "max_date": "today", "v_required": { "value": "true", "err": "Tafadhali ingiza tarehe ya kuzaliwa" @@ -206,10 +206,6 @@ "value": "true", "err": "Lazima iwe namba kamili" }, - "v_min": { - "value": "5", - "err": "Umri ni lazima uwe sawa au zaidi ya 5" - }, "v_max": { "value": "120", "err": "Umri lazima uwe sawa au chini ya 120" diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index 30ae68657c..cab3af3d38 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -143,7 +143,7 @@ "label": "Age" }, "min_date": "today-120y", - "max_date": "today-5y", + "max_date": "today", "v_required": { "value": "true", "err": "Please enter the date of birth" @@ -206,10 +206,6 @@ "value": "true", "err": "Please enter a valid age" }, - "v_min": { - "value": "5", - "err": "Age must be equal or greater than 5" - }, "v_max": { "value": "120", "err": "Age must be equal or less than 120" From af121cd6c18750581dbbf9166528370d6d605c1e Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 18:00:57 +0300 Subject: [PATCH 603/915] Added an option in service provider question --- .../json.form-sw/family_member_register.json | 14 +++++++++++++- .../assets/json.form-sw/family_register.json | 16 +++++++++++++--- .../assets/json.form/family_member_register.json | 7 +++++++ .../nacp/assets/json.form/family_register.json | 7 +++++++ 4 files changed, 40 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json index 7a662ca0d8..967bde2005 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json @@ -242,7 +242,7 @@ "hint": "Umri", "v_numeric_integer": { "value": "true", - "err": "Must be a rounded number" + "err": "Tafadhali jaza namba halali" }, "v_numeric": { "value": "true", @@ -252,6 +252,11 @@ "value": "5", "err": "Umri lazima uwe sawa au zaidi ya 5" }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Tafadhali jaza namba halali" + }, "v_max": { "value": "120", "err": "Umri lazima uwe sawa au chini ya 120" @@ -834,6 +839,13 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_traditional_healer", + "text": "Mtoa huduma ya Tiba Asili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_traditional_healer" } ], "v_required": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index 90531204cb..caac7af20b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -348,6 +348,11 @@ "value": "true", "err": "Must be a rounded number" }, + "v_max_length": { + "value": "3", + "is_fixed_size": "true", + "err": "Tafadhali jaza namba halali" + }, "v_numeric": { "value": "true", "err": "Lazima iwe number kamili" @@ -370,9 +375,7 @@ "v_required": { "value": true, "err": "Tafadhali jaza umri" - }, - "v_min.err": "Umri lazima uwe sawa au zaidi ya 15", - "v_max.err": "Umri lazima uwe sawa au chini ya 120" + } }, { "key": "sex", @@ -914,6 +917,13 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_traditional_healer", + "text": "Mtoa huduma ya Tiba Asili", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_traditional_healer" } ], "v_required": { diff --git a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json index 42ffab424a..1fd24f90ec 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_member_register.json @@ -839,6 +839,13 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_traditional_healer", + "text": "Traditional healer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_traditional_healer" } ], "v_required": { diff --git a/opensrp-chw/src/nacp/assets/json.form/family_register.json b/opensrp-chw/src/nacp/assets/json.form/family_register.json index 36f4022dd6..b051271d04 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_register.json @@ -917,6 +917,13 @@ "value": false, "openmrs_entity": "concept", "openmrs_entity_id": "chk_farmer" + }, + { + "key": "chk_traditional_healer", + "text": "Traditional healer", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_traditional_healer" } ], "v_required": { From aefdab24d7ca213c5b5a72a04c29cc9e9e47657d Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 18:05:24 +0300 Subject: [PATCH 604/915] Changed min age and dob --- .../all_clients_update_registration_info_form.json | 4 ++-- .../json.form/all_clients_update_registration_info_form.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index b7f022a638..a0c5dcce92 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -143,7 +143,7 @@ "label": "Umri" }, "min_date": "today-120y", - "max_date": "today-5y", + "max_date": "today", "v_required": { "value": "true", "err": "Tafadhali ingiza tarehe ya kuzaliwa" @@ -207,7 +207,7 @@ "err": "Lazima iwe namba kamili" }, "v_min": { - "value": "5", + "value": "0", "err": "Umri ni lazima uwe sawa au zaidi ya 5" }, "v_max": { diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json index 7108feabb7..eac265e7af 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_update_registration_info_form.json @@ -143,7 +143,7 @@ "label": "Age" }, "min_date": "today-120y", - "max_date": "today-5y", + "max_date": "today", "v_required": { "value": "true", "err": "Please enter the date of birth" @@ -207,7 +207,7 @@ "err": "Please enter a valid age" }, "v_min": { - "value": "5", + "value": "0", "err": "Age must be equal or greater than 5" }, "v_max": { From fdabf1844eccf57642a1801aabe48f56a1a540a1 Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 18:23:58 +0300 Subject: [PATCH 605/915] Swahili form for CBHS registration --- .../json.form-sw/cbhs_registration.json | 673 ++++++++++++++++++ 1 file changed, 673 insertions(+) create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json new file mode 100644 index 0000000000..c6a0a97a22 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json @@ -0,0 +1,673 @@ +{ + "form": "HIV Registration form", + "count": "1", + "encounter_type": "CBHS Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/hiv_registration_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Usajili wa wateja wa CBHS", + "fields": [ + { + "name": "gender", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gender", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Gender" + }, + "subjects": "gender:text" + }, + { + "name": "age", + "type": "text_input_edit_text", + "properties": { + "hint": "Enter your age", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "age", + "openmrs_entity_parent": "" + }, + "subjects": "age:text" + }, + { + "name": "cbhs_number", + "type": "masked_edit_text", + "properties": { + "hint": "Namba ya HUWANYU mfano: 1234-56-78-912", + "type": "Namba ya HUWANYU mfano: 1234-56-78-912", + "mask": "####-##-##-###", + "mask_hint": "12345678912", + "input_type": "number", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "cbhs_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", + "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." + } + ], + "required_status": "yes:Tafadhali weka namba ya HUWANYU" + }, + { + "name": "client_hiv_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizo ya VVU wakati wa kuandikishwa" + }, + "options": [ + { + "name": "unknown", + "text": "Haijulikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Ana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ], + "dependent_calculations": [ + "hiv_registration_date" + ] + }, + { + "name": "ctc_number", + "type": "masked_edit_text", + "properties": { + "hint": "Namba ya CTC mfano: 12-34-5678-912345", + "type": "Namba ya CTC mfano: 12-34-5678-912345", + "mask": "##-##-####-######", + "mask_hint": "12345678912345", + "input_type": "number", + "allowed_chars": "0123456789" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "ctc_number", + "openmrs_entity_parent": "" + }, + "validation": [ + { + "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", + "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." + } + ], + "subjects": "client_hiv_status_during_registration:text" + }, + { + "name": "client_tb_status_during_registration", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_during_registration", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizo ya TB Wakati wa kusajiliwa" + }, + "options": [ + { + "name": "unknown", + "text": "Haijulikani", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown", + "openmrs_entity_parent": "" + } + }, + { + "name": "positive", + "text": "Ana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "positive", + "openmrs_entity_parent": "" + } + }, + { + "name": "negative", + "text": "Hana maambukizi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "negative", + "openmrs_entity_parent": "" + } + } + ] + }, + { + "name": "reasons_for_registration_male_15", + "type": "radio_group", + "properties": { + "text": "Sababu ya Usajili" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_above_15", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_aids", + "text": "Maambukizi ya VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_aids", + "openmrs_entity_parent": "" + } + }, + { + "name": "tuberculosis", + "text": "Kifua Kikuu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tuberculosis", + "openmrs_entity_parent": "" + } + }, + { + "name": "homosexual", + "text": "Wanaume wanaofanya mapenzi na wanaume", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "homosexual", + "openmrs_entity_parent": "" + } + }, + { + "name": "gender_violence", + "text": "Unyanyasaji wa Kijinsia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gender_violence", + "openmrs_entity_parent": "" + } + }, + { + "name": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drug_abuse", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Sababu ya usajili inahitajika", + "subjects": "gender:text, age:number", + "dependent_calculations": [ + "reasons_for_registration" + ] + }, + { + "name": "reasons_for_registration_female_15", + "type": "radio_group", + "properties": { + "text": "Sababu ya Usajili" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_15", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_aids", + "text": "Maambukizi ya VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_aids", + "openmrs_entity_parent": "" + } + }, + { + "name": "tuberculosis", + "text": "Kifua kikuu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tuberculosis", + "openmrs_entity_parent": "" + } + }, + { + "name": "sex_worker_woman", + "text": "Mfanyabiashara ya ngono", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_worker_woman", + "openmrs_entity_parent": "" + } + }, + { + "name": "gender_violence", + "text": "Unyanyasaji wa kijinsia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gender_violence", + "openmrs_entity_parent": "" + } + }, + { + "name": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drug_abuse", + "openmrs_entity_parent": "" + } + }, + { + "name": "pregnant_mother", + "text": "Mama mjamzito", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pregnant_mother", + "openmrs_entity_parent": "" + } + }, + { + "name": "breastfeeding_mother", + "text": "Mama anayenyonyesha", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "breastfeeding_mother", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Sababu ya usajili inahitajika", + "subjects": "gender:text, age:number", + "dependent_calculations": [ + "reasons_for_registration" + ] + }, + { + "name": "reasons_for_registration_male_under_15", + "type": "radio_group", + "properties": { + "text": "Reason for registration" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_male_under_15", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_aids", + "text": "Maambukizi ya VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_aids", + "openmrs_entity_parent": "" + } + }, + { + "name": "tuberculosis", + "text": "Kifua kikuu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tuberculosis", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infected_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "untested_hiv_infected_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "abused_child", + "text": "Unyanyasaji wa mtoto", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "abused_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "gender_violence", + "text": "Unyanyasaji wa kijinsia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gender_violence", + "openmrs_entity_parent": "" + } + }, + { + "name": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drug_abuse", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Sababu ya usajili inahitajika", + "subjects": "gender:text, age:number", + "dependent_calculations": [ + "reasons_for_registration" + ] + }, + { + "name": "reasons_for_registration_female_under_10", + "type": "radio_group", + "properties": { + "text": "Sababu ya usajili" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_under_10", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_aids", + "text": "Maambukizi ya VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_aids", + "openmrs_entity_parent": "" + } + }, + { + "name": "tuberculosis", + "text": "Kifua kikuu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tuberculosis", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infected_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "untested_hiv_infected_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "abused_child", + "text": "Unyanyasaji wa mtoto", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "abused_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "gender_violence", + "text": "Unyanyasaji wa kijinsia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gender_violence", + "openmrs_entity_parent": "" + } + }, + { + "name": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drug_abuse", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Sababu ya usajili inahitajika", + "subjects": "gender:text, age:number", + "dependent_calculations": [ + "reasons_for_registration" + ] + }, + { + "name": "reasons_for_registration_female_10_to_14", + "type": "radio_group", + "properties": { + "text": "Sababu ya usajili" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "reasons_for_registration_female_10_to_14", + "openmrs_entity_parent": "" + }, + "options": [ + { + "name": "hiv_aids", + "text": "Maambukizi ya VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_aids", + "openmrs_entity_parent": "" + } + }, + { + "name": "tuberculosis", + "text": "Kifua kikuu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tuberculosis", + "openmrs_entity_parent": "" + } + }, + { + "name": "hiv_infected_child", + "text": "Mtoto aliyezaliwa na mama mwenye VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hiv_infected_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "untested_hiv_infected_child", + "text": "Mtoto ambaye hajapimwa VVU", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "untested_hiv_infected_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "abused_child", + "text": "Unyanyasaji wa mtoto", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "abused_child", + "openmrs_entity_parent": "" + } + }, + { + "name": "gender_violence", + "text": "Unyanyasaji wa kijinsia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "gender_violence", + "openmrs_entity_parent": "" + } + }, + { + "name": "drug_abuse", + "text": "Matumizi mabaya ya dawa za kulevya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "drug_abuse", + "openmrs_entity_parent": "" + } + }, + { + "name": "pregnant_mother", + "text": "Mama mjamzito", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pregnant_mother", + "openmrs_entity_parent": "" + } + }, + { + "name": "breastfeeding_mother", + "text": "Mama anayenyonyesha", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "breastfeeding_mother", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Sababu ya usajili inahitajika", + "subjects": "gender:text, age:number", + "dependent_calculations": [ + "reasons_for_registration" + ] + }, + { + "name": "tb_number", + "type": "text_input_edit_text", + "properties": { + "hint": "Namba ya utambulisho wa Kifua Kikuu", + "type": "TB Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "tb_number", + "openmrs_entity_parent": "" + } + }, + { + "name": "rch_number", + "type": "text_input_edit_text", + "properties": { + "hint": "Namba ya utambulisho wa Kadi ya Kliniki (RCH)", + "type": "RCH Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "rch_number", + "openmrs_entity_parent": "" + }, + "subjects": "gender:text" + }, + { + "name": "mat_number", + "type": "text_input_edit_text", + "properties": { + "hint": "Namba ya utambulisho ya MAT", + "type": "MAT Clinic ID" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "mat_number", + "openmrs_entity_parent": "" + } + } + ] + } + ] +} \ No newline at end of file From e82bd3939380d3c8c10dc972cfa910a711b515f6 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 23 Aug 2022 19:46:00 +0300 Subject: [PATCH 606/915] fix: anc visits from hf to persist in the db as visits --- .../chw/sync/ChwClientProcessor.java | 20 +++++++++++++++++++ .../org/smartregister/chw/util/Constants.java | 2 ++ 2 files changed, 22 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java b/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java index 9e6435ee9e..2b4a38236b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java @@ -4,11 +4,13 @@ import android.content.Context; import org.apache.commons.lang3.StringUtils; +import org.smartregister.chw.anc.util.NCUtils; import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.sync.CoreClientProcessor; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; import org.smartregister.chw.service.ChildAlertService; +import org.smartregister.chw.util.Constants; import org.smartregister.domain.Event; import org.smartregister.domain.Obs; import org.smartregister.domain.db.EventClient; @@ -61,6 +63,15 @@ public void processEvents(ClientClassification clientClassification, Table vacci case CoreConstants.EventType.CHILD_REGISTRATION: case CoreConstants.EventType.UPDATE_CHILD_REGISTRATION: ChildAlertService.updateAlerts(baseEntityID); + break; + case Constants.Events.ANC_FIRST_FACILITY_VISIT: + case Constants.Events.ANC_RECURRING_FACILITY_VISIT: + if (eventClient.getEvent() == null) { + return; + } + processVisitEvent(eventClient); + processEvent(eventClient.getEvent(), eventClient.getClient(), clientClassification); + break; default: break; } @@ -68,6 +79,15 @@ public void processEvents(ClientClassification clientClassification, Table vacci ChwScheduleTaskExecutor.getInstance().execute(event.getBaseEntityId(), event.getEventType(), event.getEventDate().toDate()); } + private void processVisitEvent(EventClient eventClient) { + try { + NCUtils.processHomeVisit(eventClient); + } catch (Exception e) { + String formID = (eventClient != null && eventClient.getEvent() != null) ? eventClient.getEvent().getFormSubmissionId() : "no form id"; + Timber.e("Form id " + formID + ". " + e.toString()); + } + } + @Override protected String getHumanReadableConceptResponse(String value, Object object) { try { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index d4db38ff7f..89bdab0b28 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -111,6 +111,8 @@ public static String getMotherChampionSbccForm() { public static final class Events { public static final String UPDATE_MALARIA_CONFIGURATION = "Update Malaria Confirmation"; public static final String MALARIA_CONFIRMATION = "malaria_confirmation"; + public static final String ANC_FIRST_FACILITY_VISIT = "ANC First Facility Visit"; + public static final String ANC_RECURRING_FACILITY_VISIT = "ANC Recurring Facility Visit"; } public static final class ActionList { From b2479c0bb7fbae25de40da7c38e285b7c8bedc9c Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 23 Aug 2022 19:46:00 +0300 Subject: [PATCH 607/915] :hammer: linked ChwRepositoryFlv to ChwRepository --- .../java/org/smartregister/chw/repository/ChwRepository.java | 1 + 1 file changed, 1 insertion(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/repository/ChwRepository.java b/opensrp-chw/src/main/java/org/smartregister/chw/repository/ChwRepository.java index ac0cdaa53a..1bd9bb649f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/repository/ChwRepository.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/repository/ChwRepository.java @@ -50,6 +50,7 @@ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } upgradeTo++; } + ChwRepositoryFlv.onUpgrade(context, db, oldVersion, newVersion); } private static void upgradeToVersion2(SQLiteDatabase db) { From 40c6c7d9628c6a25dc9415b2c2855470f00e9b28 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 23 Aug 2022 20:26:31 +0300 Subject: [PATCH 608/915] fix: added activity for ANC Hf medical history --- opensrp-chw/src/main/AndroidManifest.xml | 3 + .../activity/AncHfMedicalHistoryActivity.java | 38 ++ .../AncHfMedicalHistoryInteractor.java | 62 +++ .../main/res/layout/content_anc_profile.xml | 474 ++++++++++++++++++ .../AncHfMedicalHistoryActivityFlv.java | 205 ++++++++ .../src/nacp/res/values-sw/strings.xml | 8 + opensrp-chw/src/nacp/res/values/strings.xml | 8 + 7 files changed, 798 insertions(+) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHfMedicalHistoryActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/interactor/AncHfMedicalHistoryInteractor.java create mode 100644 opensrp-chw/src/main/res/layout/content_anc_profile.xml create mode 100644 opensrp-chw/src/nacp/java/org/smartregister/chw/activity/AncHfMedicalHistoryActivityFlv.java diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 30963556eb..4002a6b35b 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -54,6 +54,9 @@ + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHfMedicalHistoryActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHfMedicalHistoryActivity.java new file mode 100644 index 0000000000..684c24d3be --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncHfMedicalHistoryActivity.java @@ -0,0 +1,38 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Intent; +import android.view.View; + +import org.smartregister.chw.anc.domain.MemberObject; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.presenter.BaseAncMedicalHistoryPresenter; +import org.smartregister.chw.anc.util.Constants; +import org.smartregister.chw.core.activity.CoreAncMedicalHistoryActivity; +import org.smartregister.chw.interactor.AncHfMedicalHistoryInteractor; + +import java.util.List; + +public class AncHfMedicalHistoryActivity extends CoreAncMedicalHistoryActivity { + private Flavor flavor = new AncHfMedicalHistoryActivityFlv(); + + public static void startMe(Activity activity, MemberObject memberObject) { + Intent intent = new Intent(activity, AncHfMedicalHistoryActivity.class); + intent.putExtra(Constants.ANC_MEMBER_OBJECTS.MEMBER_PROFILE_OBJECT, memberObject); + activity.startActivity(intent); + } + + @Override + public void initializePresenter() { + presenter = new BaseAncMedicalHistoryPresenter(new AncHfMedicalHistoryInteractor(), this, memberObject.getBaseEntityId()); + } + @Override + public View renderView(List visits) { + super.renderView(visits); + View view = flavor.bindViews(this); + displayLoadingState(true); + flavor.processViewData(visits, this); + displayLoadingState(false); + return view; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/AncHfMedicalHistoryInteractor.java b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/AncHfMedicalHistoryInteractor.java new file mode 100644 index 0000000000..3058784105 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/AncHfMedicalHistoryInteractor.java @@ -0,0 +1,62 @@ +package org.smartregister.chw.interactor; + +import android.content.Context; + +import org.smartregister.chw.anc.contract.BaseAncMedicalHistoryContract; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.anc.util.VisitUtils; +import org.smartregister.chw.core.CoreBaseAncMedicalHistoryInteractor; +import org.smartregister.chw.util.Constants; + +import java.util.ArrayList; +import java.util.List; + +import static org.smartregister.chw.anc.util.VisitUtils.getVisitDetailsOnly; +import static org.smartregister.chw.anc.util.VisitUtils.getVisitGroups; +import static org.smartregister.chw.anc.util.VisitUtils.getVisitsOnly; + +public class AncHfMedicalHistoryInteractor extends CoreBaseAncMedicalHistoryInteractor { + @Override + public void getMemberHistory(final String memberID, final Context context, final BaseAncMedicalHistoryContract.InteractorCallBack callBack) { + final Runnable runnable = () -> { + + String[] eventTypes = new String[2]; + eventTypes[0] = Constants.Events.ANC_FIRST_FACILITY_VISIT; + eventTypes[1] = Constants.Events.ANC_RECURRING_FACILITY_VISIT; + List visits = getVisits(memberID, eventTypes); + final List all_visits = new ArrayList<>(visits); + + for (Visit visit : visits) { + List child_visits = VisitUtils.getChildVisits(visit.getVisitId()); + all_visits.addAll(child_visits); + } + appExecutors.mainThread().execute(() -> callBack.onDataFetched(all_visits)); + }; + + appExecutors.diskIO().execute(runnable); + } + + public static List getVisits(String memberID, String... eventTypes) { + + List visits = new ArrayList<>(); + if(eventTypes != null && eventTypes.length > 0) { + for (String eventType : eventTypes) { + List visit= getVisitsOnly(memberID, eventType); + visits.addAll(visit); + } + } else{ + getVisitsOnly(memberID, Constants.Events.ANC_FIRST_FACILITY_VISIT); + } + + int x = 0; + while (visits.size() > x) { + Visit visit = visits.get(x); + List detailList = getVisitDetailsOnly(visit.getVisitId()); + visits.get(x).setVisitDetails(getVisitGroups(detailList)); + x++; + } + + return visits; + } +} diff --git a/opensrp-chw/src/main/res/layout/content_anc_profile.xml b/opensrp-chw/src/main/res/layout/content_anc_profile.xml new file mode 100644 index 0000000000..3a94e02798 --- /dev/null +++ b/opensrp-chw/src/main/res/layout/content_anc_profile.xml @@ -0,0 +1,474 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/AncHfMedicalHistoryActivityFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/AncHfMedicalHistoryActivityFlv.java new file mode 100644 index 0000000000..854e5d4c63 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/AncHfMedicalHistoryActivityFlv.java @@ -0,0 +1,205 @@ +package org.smartregister.chw.activity; + +import android.content.Context; +import android.view.View; +import android.widget.TextView; + +import org.apache.commons.lang3.StringUtils; +import org.joda.time.DateTime; +import org.joda.time.Days; +import org.smartregister.chw.R; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.core.activity.DefaultAncMedicalHistoryActivityFlv; + +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class AncHfMedicalHistoryActivityFlv extends DefaultAncMedicalHistoryActivityFlv { + + @Override + protected void processAncCard(String has_card, Context context) { + // super.processAncCard(has_card, context); + linearLayoutAncCard.setVisibility(View.GONE); + } + + @Override + protected void processHealthFacilityVisit(List> hf_visits, Context context) { + //super.processHealthFacilityVisit(hf_visits, context); + + if (hf_visits != null && hf_visits.size() > 0) { + linearLayoutHealthFacilityVisit.setVisibility(View.VISIBLE); + + int x = 1; + for (Map vals : hf_visits) { + View view = inflater.inflate(R.layout.medical_history_anc_visit, null); + + TextView tvTitle = view.findViewById(R.id.title); + TextView tvTests = view.findViewById(R.id.tests); + + view.findViewById(R.id.weight).setVisibility(View.GONE); + view.findViewById(R.id.bp).setVisibility(View.GONE); + view.findViewById(R.id.hb).setVisibility(View.GONE); + view.findViewById(R.id.ifa_received).setVisibility(View.GONE); + + + tvTitle.setText(MessageFormat.format(context.getString(R.string.anc_visit_date), (x), vals.get("anc_hf_visit_date"))); + tvTests.setText(MessageFormat.format(context.getString(R.string.tests_done_details), vals.get("tests_done"))); + + linearLayoutHealthFacilityVisitDetails.addView(view, 0); + + x++; + } + } + } + + @Override + public void processViewData(List visits, Context context) { + + if (visits.size() > 0) { + + int days = 0; + String has_card = "No"; + List> hf_visits = new ArrayList<>(); + + int x = 0; + while (x < visits.size()) { + + // the first object in this list is the days difference + if (x == 0) { + days = Days.daysBetween(new DateTime(visits.get(visits.size() - 1).getDate()), new DateTime()).getDays(); + } + + // anc card + if (has_card.equalsIgnoreCase("No")) { + List details = visits.get(x).getVisitDetails().get("anc_card"); + if (details != null && StringUtils.isNotBlank(details.get(0).getHumanReadable())) { + has_card = details.get(0).getHumanReadable(); + } + + } + + + String[] hf_params = {"weight", "height", "systolic", "fundal_height", "diastolic", "hb_level", "mRDT_for_malaria", "hiv", "anc_visit_date", "gest_age"}; + extractHFVisit(visits, hf_params, hf_visits, x, context); + + x++; + } + + processLastVisit(days, context); + processAncCard(has_card, context); + processFacilityVisit(hf_visits, context); + } + } + + private void extractHFVisit(List sourceVisits, String[] hf_params, List> hf_visits, int iteration, Context context) { + // get the hf details + Map map = new HashMap<>(); + for (String param : hf_params) { + try { + List details = sourceVisits.get(iteration).getVisitDetails().get(param); + map.put(param, getTexts(context, details)); + } catch (Exception e) { + e.printStackTrace(); + } + + } + hf_visits.add(map); + } + + + private void processLastVisit(int days, Context context) { + linearLayoutLastVisit.setVisibility(View.VISIBLE); + if (days < 1) { + customFontTextViewLastVisit.setText(org.smartregister.chw.core.R.string.less_than_twenty_four); + } else { + customFontTextViewLastVisit.setText(StringUtils.capitalize(MessageFormat.format(context.getString(org.smartregister.chw.core.R.string.days_ago), String.valueOf(days)))); + } + } + + + protected void processFacilityVisit(List> hf_visits, Context context) { + if (hf_visits != null && hf_visits.size() > 0) { + linearLayoutHealthFacilityVisit.setVisibility(View.VISIBLE); + + int x = 0; + for (Map vals : hf_visits) { + View view = inflater.inflate(R.layout.medical_history_anc_visit, null); + + TextView tvTitle = view.findViewById(R.id.title); + TextView tvGA = view.findViewById(R.id.gest_age); + TextView tvFundalHeight = view.findViewById(R.id.fundal_height); + TextView tvHeight = view.findViewById(R.id.height); + TextView tvWeight = view.findViewById(R.id.weight); + TextView tvBP = view.findViewById(R.id.bp); + TextView tvHB = view.findViewById(R.id.hb); + TextView tvMrdtMalaria = view.findViewById(R.id.mrdt_malaria); + TextView tvHivStatus = view.findViewById(R.id.hiv_status); + + + tvTitle.setText(MessageFormat.format(context.getString(org.smartregister.chw.core.R.string.anc_visit_date), x + 1, getMapValue(vals, "anc_visit_date"))); + + if (StringUtils.isBlank(getMapValue(vals, "fundal_height"))) { + tvFundalHeight.setVisibility(View.GONE); + } else { + tvFundalHeight.setText(MessageFormat.format(context.getString(R.string.fundal_height), getMapValue(vals, "fundal_height"))); + } + + tvGA.setText(MessageFormat.format(context.getString(R.string.gestation_age), getMapValue(vals, "gest_age"))); + if (StringUtils.isBlank(getMapValue(vals, "weight"))) { + tvWeight.setVisibility(View.GONE); + } else { + tvWeight.setText(MessageFormat.format(context.getString(org.smartregister.chw.core.R.string.weight_in_kgs), getMapValue(vals, "weight"))); + } + + if (StringUtils.isBlank(getMapValue(vals, "height"))) { + tvHeight.setVisibility(View.GONE); + } else { + tvHeight.setText(MessageFormat.format(context.getString(R.string.height_in_cm), getMapValue(vals, "height"))); + } + + if (StringUtils.isBlank(getMapValue(vals, "systolic"))) { + tvBP.setVisibility(View.GONE); + } else { + tvBP.setText(MessageFormat.format(context.getString(org.smartregister.chw.core.R.string.bp_in_mmhg), getMapValue(vals, "systolic"), getMapValue(vals, "diastolic"))); + } + + if (StringUtils.isBlank(getMapValue(vals, "hb_level"))) { + tvHB.setVisibility(View.GONE); + } else { + tvHB.setText(context.getString(org.smartregister.chw.core.R.string.hb_level_in_g_dl, getMapValue(vals, "hb_level"))); + } + + if (StringUtils.isBlank(getMapValue(vals, "mRDT_for_malaria"))) { + tvMrdtMalaria.setVisibility(View.GONE); + } else { + tvMrdtMalaria.setText(MessageFormat.format(context.getString(R.string.mrdt_malaria), getMapValue(vals, "mRDT_for_malaria"))); + } + + if (StringUtils.isBlank(getMapValue(vals, "hiv"))) { + tvHivStatus.setVisibility(View.GONE); + } else { + tvHivStatus.setText(MessageFormat.format(context.getString(R.string.hiv_status), getMapValue(vals, "hiv"))); + } + + + linearLayoutHealthFacilityVisitDetails.addView(view, 0); + + x++; + } + } + } + + private String getMapValue(Map map, String key) { + if (map.containsKey(key)) { + if (map.get(key) != null && map.get(key).length() > 1) { + return map.get(key).split(",")[0]; + } + return map.get(key); + } + return ""; + } +} diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 776bc03947..9e137b5e8b 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -85,4 +85,12 @@ TB Kitengo kilichotoa rufaa + Urefu: {0} cm + Kimo cha mimba: {0} cm + Kipimo cha VVU: {0} + Umri wa Mimba: Wiki {0} + Malaria: {0} + Pata Taarifa Za Hudhurio La Mwisho Kituoni + Hudhurio La Mwisho Kituoni + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 340e495395..73d1258e11 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -111,5 +111,13 @@ Dawa za kuua vijidudu vya maji Vifaa vingine + Height: {0} cm + Fundal Height: {0} cm + HIV Status: {0} + Gestation Age: {0} Weeks + mRDT for Malaria: {0} + View Last Facility Visit Details + Last Facility Visit + \ No newline at end of file From c7cba6d399cabe3f160bbd7b5f13854a606a915e Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 23 Aug 2022 21:37:39 +0300 Subject: [PATCH 609/915] fix: added entry point to view facility details for anc --- .../activity/AncMemberProfileActivity.java | 19 ++++ .../res/layout/medical_history_anc_visit.xml | 105 ++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 opensrp-chw/src/main/res/layout/medical_history_anc_visit.xml diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index 20e7ff635d..e1daf1a600 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -10,6 +10,7 @@ import android.view.MenuItem; import android.view.View; import android.widget.LinearLayout; +import android.widget.RelativeLayout; import com.vijay.jsonwizard.utils.FormUtils; @@ -117,6 +118,22 @@ protected void onCreation() { } } + @Override + public void setupViews() { + super.setupViews(); + + RelativeLayout lastVisitHf = findViewById(R.id.rlLastVisitHf); + Visit firstVisit = getVisit(org.smartregister.chw.util.Constants.Events.ANC_FIRST_FACILITY_VISIT); + Visit recurringVisit = getVisit(org.smartregister.chw.util.Constants.Events.ANC_FIRST_FACILITY_VISIT); + + if(firstVisit != null || recurringVisit != null){ + lastVisitHf.setVisibility(View.VISIBLE); + lastVisitHf.setOnClickListener(this); + }else{ + lastVisitHf.setVisibility(View.GONE); + } + } + @Override public void initializeFloatingMenu() { baseAncFloatingMenu = new AncFloatingMenu(this, getAncWomanName(), @@ -353,6 +370,8 @@ public void onClick(View view) { AncHomeVisitActivity.startMe(this, memberObject.getBaseEntityId(), false); } else if (id == R.id.textview_edit) { AncHomeVisitActivity.startMe(this, memberObject.getBaseEntityId(), true); + }else if(id == R.id.rlLastVisitHf){ + AncHfMedicalHistoryActivity.startMe(this, memberObject); } handleNotificationRowClick(this, view, notificationListAdapter, memberObject.getBaseEntityId()); } diff --git a/opensrp-chw/src/main/res/layout/medical_history_anc_visit.xml b/opensrp-chw/src/main/res/layout/medical_history_anc_visit.xml new file mode 100644 index 0000000000..cd5b6efbbb --- /dev/null +++ b/opensrp-chw/src/main/res/layout/medical_history_anc_visit.xml @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From dc2e17e015fe224de6c26b1fa33d3bc868e1567b Mon Sep 17 00:00:00 2001 From: zk497 Date: Tue, 23 Aug 2022 21:48:37 +0300 Subject: [PATCH 610/915] Making use of method from Utils --- .../activity/AncMemberProfileActivity.java | 20 +------------------ 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index 9de2be8bbf..de14e0138a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -4,6 +4,7 @@ import static org.smartregister.chw.core.utils.Utils.passToolbarTitle; import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; +import static org.smartregister.chw.util.Utils.updateAgeAndGender; import android.app.Activity; import android.content.ContentValues; @@ -433,25 +434,6 @@ protected void startCBHSRegister(CommonPersonObject commonPersonObject) { } } - private void updateAgeAndGender(JSONArray fields, int age, String gender) throws Exception { - boolean foundAge = false; - boolean foundGender = false; - for (int i = 0; i < fields.length(); i++) { - JSONObject field = fields.getJSONObject(i); - if (field.getString("name").equals("age")) { - field.getJSONObject("properties").put("text", String.valueOf(age)); - foundAge = true; - } - if (field.getString("name").equals("gender")) { - field.getJSONObject("properties").put("text", gender); - foundGender = true; - } - if (foundAge && foundGender) { - return; - } - } - } - @Override public void openFamilyLocation() { Intent intent = new Intent(this, AncMemberMapActivity.class); From a6cac22ca2c97226eb61f18c9dc312bc084c1148 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 23 Aug 2022 22:00:46 +0300 Subject: [PATCH 611/915] :hammer: refactored PNC Home Visits Actions Forms --- .../assets/json.form-sw/anc_hv_observations.json | 6 +++--- .../assets/json.form-sw/pnc_danger_signs_baby.json | 1 + .../assets/json.form-sw/pnc_danger_signs_mother.json | 1 + .../json.form-sw/pnc_hv_observations_infant.json | 6 ++++++ .../json.form-sw/pnc_hv_observations_mother.json | 12 ++++++------ .../nacp/assets/json.form/pnc_danger_signs_baby.json | 1 + .../assets/json.form/pnc_danger_signs_mother.json | 1 + .../assets/json.form/pnc_hv_observations_infant.json | 6 ++++++ .../assets/json.form/pnc_hv_observations_mother.json | 6 +++--- 9 files changed, 28 insertions(+), 12 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json index 63aaa06a35..34dd6c35fe 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json @@ -97,10 +97,10 @@ "openmrs_entity_id": "chk_ors" }, { - "key": "chk_zinc", - "text": "Zinc 10", + "key": "chk_traditional_medicine", + "text": "Mitishamba", "openmrs_entity": "concept", - "openmrs_entity_id": "chk_zinc" + "openmrs_entity_id": "chk_traditional_medicine" }, { "key": "chk_paracetamol", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json index da1c781a69..3f0c99ec76 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json @@ -58,6 +58,7 @@ "label": "Je, mtoto ana dalili zozote za hatari?", "label_text_style": "normal", "text_color": "#C0C0C0", + "combine_checkbox_option_values": "true", "exclusive": [ "chk_none" ], diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_mother.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_mother.json index 48cf19bf4e..9017113eaa 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_mother.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_mother.json @@ -58,6 +58,7 @@ "label": "Je, mama ana dalili zozote za hatari?", "label_text_style": "normal", "text_color": "#C0C0C0", + "combine_checkbox_option_values": "true", "exclusive": [ "chk_none" ], diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json index f27fb4cf2c..5b602a3eab 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json @@ -107,6 +107,12 @@ "openmrs_entity": "concept", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, + { + "key": "chk_traditional_medicine", + "text": "Mitishamba", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_traditional_medicine" + }, { "key": "chk_referred", "text": "Kupewa rufaa", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json index 4367ad9310..6a4923e474 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json @@ -96,18 +96,18 @@ "openmrs_entity": "concept", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - { - "key": "chk_zinc", - "text": "Zinc 10", - "openmrs_entity": "concept", - "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, { "key": "chk_paracetamol", "text": "Panadol", "openmrs_entity": "concept", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, + { + "key": "chk_traditional_medicine", + "text": "Mitishamba", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_traditional_medicine" + }, { "key": "chk_referred", "text": "Kutoa rufaa", diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json index 61f8e6e847..7db41d2e43 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json @@ -58,6 +58,7 @@ "label": "Does the baby have any danger signs?", "label_text_style": "normal", "text_color": "#C0C0C0", + "combine_checkbox_option_values": "true", "exclusive": [ "chk_none" ], diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_mother.json b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_mother.json index 43ebc5acc5..a430b78779 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_mother.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_mother.json @@ -58,6 +58,7 @@ "label": "Does the mother have any danger signs?", "label_text_style": "normal", "text_color": "#C0C0C0", + "combine_checkbox_option_values": "true", "exclusive": [ "chk_none" ], diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json index 927468d51f..7edc7628a6 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json @@ -107,6 +107,12 @@ "openmrs_entity": "concept", "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, + { + "key": "chk_traditional_medicine", + "text": "Traditional medicine", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_traditional_medicine" + }, { "key": "chk_referred", "text": "Referred", diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json index 4a911e6af4..9133acb414 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json @@ -97,10 +97,10 @@ "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { - "key": "chk_zinc", - "text": "Zinc 10", + "key": "chk_traditional_medicine", + "text": "Traditional medicine", "openmrs_entity": "concept", - "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_traditional_medicine" }, { "key": "chk_paracetamol", From bf2a55a3e01324a260ac42cce36063c2f1bb7a0a Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 23 Aug 2022 22:01:24 +0300 Subject: [PATCH 612/915] :hammer: refactored getCheckBoxValue --- .../src/main/java/org/smartregister/chw/util/JsonFormUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/JsonFormUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/JsonFormUtils.java index 325f558859..34935ab645 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/JsonFormUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/JsonFormUtils.java @@ -558,7 +558,7 @@ public static String getCheckBoxValue(JSONObject jsonObject, String key) { int y = 0; while (optionSize > y) { JSONObject options = jaOptions.getJSONObject(y); - if (options.getBoolean(JsonFormConstants.VALUE)) { + if (options.has(JsonFormConstants.VALUE) && options.getBoolean(JsonFormConstants.VALUE)) { resBuilder.append(options.getString(JsonFormConstants.TEXT)).append(", "); } y++; From cbc57b18780fbe6f52a0c4eeac129bfaed7f5622 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 23 Aug 2022 22:01:55 +0300 Subject: [PATCH 613/915] :hammer: refactored processing of PNC Home Visit Actions --- .../chw/activity/PncHomeVisitActivity.java | 13 +++ .../interactor/PncHomeVisitInteractorFlv.java | 108 ++++++++++++++---- 2 files changed, 101 insertions(+), 20 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncHomeVisitActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncHomeVisitActivity.java index c84e9d8798..4997ce1b4d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncHomeVisitActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncHomeVisitActivity.java @@ -10,6 +10,7 @@ import org.json.JSONObject; import org.smartregister.chw.R; import org.smartregister.chw.anc.domain.MemberObject; +import org.smartregister.chw.anc.model.BaseAncHomeVisitAction; import org.smartregister.chw.anc.presenter.BaseAncHomeVisitPresenter; import org.smartregister.chw.core.task.RunnableTask; import org.smartregister.chw.core.utils.CoreConstants; @@ -22,6 +23,7 @@ import org.smartregister.util.LangUtils; import java.util.Date; +import java.util.LinkedHashMap; public class PncHomeVisitActivity extends BasePncHomeVisitActivity { @@ -65,4 +67,15 @@ protected void attachBaseContext(Context base) { String lang = LangUtils.getLanguage(base.getApplicationContext()); super.attachBaseContext(LangUtils.setAppLocale(base, lang)); } + + @Override + public void initializeActions(LinkedHashMap map) { + actionList.clear(); + actionList.putAll(map); + + if (mAdapter != null) { + mAdapter.notifyDataSetChanged(); + } + displayProgressBar(false); + } } diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java index b54a8cd499..a6943e6da4 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java @@ -22,6 +22,7 @@ import org.smartregister.chw.anc.fragment.BaseAncHomeVisitFragment; import org.smartregister.chw.anc.fragment.BaseHomeVisitImmunizationFragment; import org.smartregister.chw.anc.model.BaseAncHomeVisitAction; +import org.smartregister.chw.anc.util.AppExecutors; import org.smartregister.chw.anc.util.VisitUtils; import org.smartregister.chw.core.domain.Person; import org.smartregister.chw.core.rule.PNCHealthFacilityVisitRule; @@ -41,6 +42,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Date; +import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; @@ -49,11 +51,16 @@ import timber.log.Timber; public class PncHomeVisitInteractorFlv extends DefaultPncHomeVisitInteractorFlv { + public static final int DURATION_OF_CHILD_IN_PNC = 28; protected List children; protected BaseAncHomeVisitContract.View view; + private final HashMap dangerSignsEvaluationResults = new HashMap<>(); + private final List otherActionTitles = new ArrayList<>(); + private BaseAncHomeVisitContract.InteractorCallBack callBack; @Override public LinkedHashMap calculateActions(BaseAncHomeVisitContract.View view, MemberObject memberObject, BaseAncHomeVisitContract.InteractorCallBack callBack) throws BaseAncHomeVisitAction.ValidationException { + this.callBack = callBack; actionList = new LinkedHashMap<>(); context = view.getContext(); this.memberObject = memberObject; @@ -75,19 +82,8 @@ public LinkedHashMap calculateActions(BaseAncHom try { evaluateDangerSignsMother(); - evaluatePNCHealthFacilityVisit(); - evaluateFamilyPlanning(); - evaluateCounselling(); - evaluateMalariaPrevention(); - evaluateNutritionStatusMother(); - evaluateObsIllnessMother(); - for (Person baby : children) { evaluateDangerSignsBaby(baby); - evaluateImmunization(baby); - evaluateExclusiveBreastFeeding(baby); - evaluateNutritionStatusBaby(baby); - evaluateObsIllnessBaby(baby); } } catch (BaseAncHomeVisitAction.ValidationException e) { throw (e); @@ -97,6 +93,49 @@ public LinkedHashMap calculateActions(BaseAncHom return actionList; } + private void evaluateOtherActions() throws Exception { + evaluatePNCHealthFacilityVisit(); + evaluateFamilyPlanning(); + evaluateCounselling(); + evaluateMalariaPrevention(); +// evaluateNutritionStatusMother(); + evaluateObsIllnessMother(); + + for (Person baby : children) { +// evaluateDangerSignsBaby(baby); + evaluateImmunization(baby); + evaluateExclusiveBreastFeeding(baby); + evaluateNutritionStatusBaby(baby); + evaluateObsIllnessBaby(baby); + } + } + + private boolean evaluateIfAllDangerSignsActionsAreFilled() { + boolean complete = true; + for (Map.Entry entry : dangerSignsEvaluationResults.entrySet()) { + if (!entry.getValue()) + complete = false; + //do something with the key and value + } + return complete; + } + + private void refreshActionList() { + if (evaluateIfAllDangerSignsActionsAreFilled() && !actionList.containsKey(context.getString(R.string.pnc_counselling))) { + try { + evaluateOtherActions(); + new AppExecutors().mainThread().execute(() -> callBack.preloadActions(actionList)); + } catch (Exception e) { + e.printStackTrace(); + } + } else if (!evaluateIfAllDangerSignsActionsAreFilled() && actionList.containsKey(context.getString(R.string.pnc_counselling))) { + for (String actionTitle : otherActionTitles) { + actionList.remove(actionTitle); + } + new AppExecutors().mainThread().execute(() -> callBack.preloadActions(actionList)); + } + } + private void evaluateDangerSignsMother() throws Exception { HomeVisitActionHelper pncDangerSignsMotherHelper = new HomeVisitActionHelper() { @@ -107,6 +146,10 @@ public void onPayloadReceived(String s) { try { JSONObject jsonObject = new JSONObject(s); danger_signs_present_mama = org.smartregister.chw.util.JsonFormUtils.getCheckBoxValue(jsonObject, "danger_signs_present_mama"); + if (danger_signs_present_mama.equalsIgnoreCase("none") || danger_signs_present_mama.equalsIgnoreCase("hakuna")) + dangerSignsEvaluationResults.put(context.getString(R.string.pnc_danger_signs_mother), true); + else + dangerSignsEvaluationResults.put(context.getString(R.string.pnc_danger_signs_mother), false); } catch (JSONException e) { Timber.e(e); } @@ -129,6 +172,12 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; } } + + @Override + public String postProcess(String jsonPayload) { + refreshActionList(); + return super.postProcess(jsonPayload); + } }; BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.pnc_danger_signs_mother)) @@ -138,6 +187,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { .withHelper(pncDangerSignsMotherHelper) .build(); actionList.put(context.getString(R.string.pnc_danger_signs_mother), action); + dangerSignsEvaluationResults.put(context.getString(R.string.pnc_danger_signs_mother), false); } private void evaluateDangerSignsBaby(Person baby) throws Exception { @@ -149,6 +199,10 @@ public void onPayloadReceived(String s) { try { JSONObject jsonObject = new JSONObject(s); danger_signs_present_child = org.smartregister.chw.util.JsonFormUtils.getCheckBoxValue(jsonObject, "danger_signs_present_child"); + if (danger_signs_present_child.equalsIgnoreCase("none") || danger_signs_present_child.equalsIgnoreCase("hakuna")) + dangerSignsEvaluationResults.put(MessageFormat.format(context.getString(R.string.pnc_danger_signs_baby), baby.getFullName()), true); + else + dangerSignsEvaluationResults.put(MessageFormat.format(context.getString(R.string.pnc_danger_signs_baby), baby.getFullName()), false); } catch (JSONException e) { Timber.e(e); } @@ -159,6 +213,12 @@ public String evaluateSubTitle() { return MessageFormat.format("{0}: {1}", context.getString(R.string.pnc_danger_signs_baby_task), danger_signs_present_child); } + @Override + public String postProcess(String jsonPayload) { + refreshActionList(); + return super.postProcess(jsonPayload); + } + @Override public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { if (StringUtils.isBlank(danger_signs_present_child)) { @@ -173,7 +233,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { } } - if (getAgeInDays(baby.getDob()) <= 28) { + if (getAgeInDays(baby.getDob()) <= DURATION_OF_CHILD_IN_PNC) { Map> details = null; if (editMode) { Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(baby.getBaseEntityID(), Constants.EventType.DANGER_SIGNS_BABY); @@ -191,6 +251,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { .withHelper(new PNCDangerSignsBabyHelper()) .build(); actionList.put(MessageFormat.format(context.getString(R.string.pnc_danger_signs_baby), baby.getFullName()), action); + dangerSignsEvaluationResults.put(MessageFormat.format(context.getString(R.string.pnc_danger_signs_baby), baby.getFullName()), false); } } @@ -218,9 +279,7 @@ public void onPayloadReceived(String jsonPayload) { if (StringUtils.isNotBlank(fp_start_date)) { start_date = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).parse(fp_start_date); } - } catch (JSONException e) { - Timber.e(e); - } catch (ParseException e) { + } catch (JSONException | ParseException e) { Timber.e(e); } } @@ -332,12 +391,13 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { .withHelper(helper) .build(); actionList.put(context.getString(R.string.pnc_family_planning), action); + otherActionTitles.add(context.getString(R.string.pnc_family_planning)); } private void evaluateExclusiveBreastFeeding(Person baby) throws Exception { class ExclusiveBreastFeedingHelper extends HomeVisitActionHelper { private String exclusive_breast_feeding; - private Date dob; + private final Date dob; public ExclusiveBreastFeedingHelper(Date dob) { this.dob = dob; @@ -382,7 +442,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { } } } - if (getAgeInDays(baby.getDob()) <= 28) { + if (getAgeInDays(baby.getDob()) <= DURATION_OF_CHILD_IN_PNC) { Map> details = null; if (editMode) { Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(baby.getBaseEntityID(), Constants.EventType.EXCLUSIVE_BREASTFEEDING); @@ -399,6 +459,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { .withHelper(new ExclusiveBreastFeedingHelper(baby.getDob())) .build(); actionList.put(MessageFormat.format(context.getString(R.string.pnc_exclusive_breastfeeding), baby.getFullName()), action); + otherActionTitles.add(MessageFormat.format(context.getString(R.string.pnc_exclusive_breastfeeding), baby.getFullName())); } } @@ -439,6 +500,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { .withHelper(counsellingHelper) .build(); actionList.put(context.getString(R.string.pnc_counselling), action); + otherActionTitles.add(context.getString(R.string.pnc_counselling)); } private void evaluateNutritionStatusMother() throws Exception { @@ -513,7 +575,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { } } - if (getAgeInDays(baby.getDob()) <= 28) { + if (getAgeInDays(baby.getDob()) <= DURATION_OF_CHILD_IN_PNC) { Map> details = null; if (editMode) { Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(baby.getBaseEntityID(), Constants.EventType.NUTRITION_STATUS_BABY); @@ -531,6 +593,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { .withHelper(new NutritionStatusBabyHelper()) .build(); actionList.put(MessageFormat.format(context.getString(R.string.pnc_nutrition_status_baby_name), baby.getFullName()), action); + otherActionTitles.add(MessageFormat.format(context.getString(R.string.pnc_nutrition_status_baby_name), baby.getFullName())); } } @@ -586,6 +649,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { .withHelper(malariaPreventionHelper) .build(); actionList.put(context.getString(R.string.pnc_malaria_prevention), action); + otherActionTitles.add(context.getString(R.string.pnc_malaria_prevention)); } private void evaluateObsIllnessMother() throws Exception { @@ -637,6 +701,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { .withHelper(obsIllnessMotherHelper) .build(); actionList.put(context.getString(R.string.pnc_observation_and_illness_mother), action); + otherActionTitles.add(context.getString(R.string.pnc_observation_and_illness_mother)); } private void evaluateObsIllnessBaby(Person baby) throws Exception { @@ -680,7 +745,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { return BaseAncHomeVisitAction.Status.COMPLETED; } } - if (getAgeInDays(baby.getDob()) <= 28) { + if (getAgeInDays(baby.getDob()) <= DURATION_OF_CHILD_IN_PNC) { BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, MessageFormat.format(context.getString(R.string.pnc_observation_and_illness_baby), baby.getFullName())) .withOptional(true) .withDetails(details) @@ -688,6 +753,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { .withHelper(new ObsIllnessBabyHelper()) .build(); actionList.put(MessageFormat.format(context.getString(R.string.pnc_observation_and_illness_baby), baby.getFullName()), action); + otherActionTitles.add(MessageFormat.format(context.getString(R.string.pnc_observation_and_illness_baby), baby.getFullName())); } } @@ -727,13 +793,14 @@ protected void evaluatePNCHealthFacilityVisit() throws Exception { .withHelper(new PNCHealthFacilityVisitHelper(visitRule, visit_num)) .build(); actionList.put(title, action); + otherActionTitles.add(title); } } } @Override protected void evaluateImmunization(Person baby) throws Exception { - if (getAgeInDays(baby.getDob()) <= 28) { + if (getAgeInDays(baby.getDob()) <= DURATION_OF_CHILD_IN_PNC) { List wrappers = VaccineScheduleUtil.getChildDueVaccines(baby.getBaseEntityID(), baby.getDob(), 0); if (wrappers.size() > 0) { List displays = new ArrayList<>(); @@ -762,6 +829,7 @@ protected void evaluateImmunization(Person baby) throws Exception { .withHelper(new ImmunizationActionHelper(context, wrappers)) .build(); actionList.put(MessageFormat.format(context.getString(R.string.pnc_immunization_at_birth), baby.getFullName()), action); + otherActionTitles.add(MessageFormat.format(context.getString(R.string.pnc_immunization_at_birth), baby.getFullName())); } } From 160f03469d5ac2c63b5b95bd0e7f603a7cea4b96 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 24 Aug 2022 07:33:44 +0300 Subject: [PATCH 614/915] :hammer: updated ec_classification --- .../nacp/assets/ec_client_classification.json | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index 21e30c9aff..f7dfca7ef2 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -191,6 +191,36 @@ "ec_pregnancy_outcome" ] }, + { + "field": "eventType", + "field_value": "Post Delivery Mother Management", + "closes_case": [ + "ec_anc_register" + ] + }, + { + "field": "eventType", + "field_value": "Post Delivery Mother Management", + "creates_case": [ + "ec_pregnancy_outcome" + ] + }, + { + "field": "eventType", + "field_value": "LD Child Registration", + "creates_case": [ + "ec_child", + "ec_family_member" + ] + }, + { + "field": "eventType", + "field_value": "PNC No Mother Registration", + "creates_case": [ + "ec_child", + "ec_family_member" + ] + }, { "field": "eventType", "field_value": "Sick Child Referral", From ac18bfdbb8a19e89bf2abfb9d12282fa362a0acf Mon Sep 17 00:00:00 2001 From: Danford Nchembi Date: Wed, 24 Aug 2022 11:05:56 +0300 Subject: [PATCH 615/915] Refactoring of the registration reasons tables --- .../org/smartregister/chw/dao/ReportDao.java | 115 +++++++++--------- 1 file changed, 57 insertions(+), 58 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java index 18aeb3b0a7..351ee2bfd1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java @@ -233,64 +233,63 @@ private static HashMap> getVaccineSched public static List> getCHWRegistrationFollowUpClients(Date reportDate) { String sql = "SELECT\n" + - " ecr.cbhs_number as cbhs_number,\n" + - " fm.reasons_for_registration as registration_reason,\n" + - " ecf.client_hiv_status_during_registration as hiv_status_during_registration,\n" + - " '-' as tb_status_during_registration,\n" + - " ecr.ctc_number as clinic_registration_number,\n" + - " 'CTC' as type_of_clinic,\n" + - " (date() - fm.dob) as age,\n" + - " fm.gender,\n" + - " ecf.client_hiv_status_after_testing as status_after_testing,\n" + - " ecf.hiv_services_provided,\n" + - " ecf.supplies_provided,\n" + - " tasks.issued_referrals,\n" + - " tasks.successful_referrals,\n" + - " ecf.state_of_therapy,\n" + - " ecf.registration_or_followup_status\n" + - " FROM ec_cbhs_register ecr\n" + - " INNER JOIN ec_family_member fm on fm.base_entity_id = ecr.base_entity_id\n" + - " INNER JOIN (SELECT entity_id,last_interacted_with,hiv_services_provided,state_of_therapy,registration_or_followup_status,\n" + - " supplies_provided,client_behaviour_and_environmental_risk,client_hiv_status_during_registration,\n" + - " client_tb_status_during_registration,client_hiv_status_after_testing, count(id)\n" + - " as number_of_followups from ec_cbhs_followup group by entity_id)ecf on fm.base_entity_id = ecf.entity_id\n" + - " INNER JOIN (select for, sum(case when code = 'Referral' and business_status != 'Cancelled' then 1 else 0 end) as 'issued_referrals',\n" + - " sum(case when code = 'Referral' and business_status != 'Cancelled' and business_status = 'Complete' then 1\n" + - " else 0 end) as 'successful_referrals' from Task where focus in ('Suspected HIV', 'HIV Treatment and Care') group by for)tasks on fm.base_entity_id = tasks.for\n" + - " WHERE ctc_number is not NULL and date(substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || '-' ||\n" + - " substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || '-' || '01') =\n" + - " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))\n" + - " group by fm.base_entity_id\n" + - " UNION\n" + - " SELECT\n" + - " ecr.cbhs_number as cbhs_number,\n" + - " fm.reasons_for_registration as registration_reason,\n" + - " '-' as hiv_status_during_registration,\n" + - " ecf.client_tb_status_during_registration as tb_status_during_registration,\n" + - " ecr.tb_number as clinic_registration_number,\n" + - " 'TB' as type_of_clinic,\n" + - " (date() - fm.dob) as age,\n" + - " fm.gender,\n" + - " ecf.client_tb_status_after_testing as status_after_testing,\n" + - " ecf.hiv_services_provided,\n" + - " ecf.supplies_provided,\n" + - " tasks.issued_referrals,\n" + - " tasks.successful_referrals,\n" + - " ecf.state_of_therapy,\n" + - " ecf.registration_or_followup_status\n" + - " FROM ec_cbhs_register ecr\n" + - " INNER JOIN ec_family_member fm on fm.base_entity_id = ecr.base_entity_id\n" + - " INNER JOIN (SELECT entity_id,last_interacted_with,hiv_services_provided,state_of_therapy,registration_or_followup_status,\n" + - " supplies_provided,client_behaviour_and_environmental_risk,client_hiv_status_during_registration,\n" + - " client_tb_status_during_registration,client_tb_status_after_testing, count(id)\n" + - " as number_of_followups from ec_cbhs_followup group by entity_id)ecf on fm.base_entity_id = ecf.entity_id\n" + - " INNER JOIN (select for, sum(case when code = 'Referral' and business_status != 'Cancelled' then 1 else 0 end) as 'issued_referrals',\n" + - " sum(case when code = 'Referral' and business_status != 'Cancelled' and business_status = 'Complete' then 1\n" + - " else 0 end) as 'successful_referrals' from Task where focus in ('Suspected TB') group by for)tasks on fm.base_entity_id = tasks.for\n" + - " WHERE tb_number is not NULL and date(substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || '-' ||\n" + - " substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || '-' || '01') =\n" + - " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))\n" + - " group by fm.base_entity_id"; + " ecr.cbhs_number as cbhs_number,\n" + + " ecr.reasons_for_registration as registration_reason,\n" + + " ecf.client_hiv_status_during_registration as hiv_status_during_registration,\n" + + " '-' as tb_status_during_registration,\n" + + " ecr.ctc_number as clinic_registration_number,\n" + + " 'CTC' as type_of_clinic,\n" + + " (date() - fm.dob) as age,\n" + + " fm.gender,\n" + + " ecf.client_hiv_status_after_testing as status_after_testing,\n" + + " ecf.hiv_services_provided,\n" + + " ecf.supplies_provided,\n" + + " tasks.issued_referrals,\n" + + " tasks.successful_referrals,\n" + + " ecf.state_of_therapy,\n" + + " ecf.registration_or_followup_status\n" + + " FROM ec_cbhs_register ecr\n" + + " INNER JOIN ec_family_member fm on fm.base_entity_id = ecr.base_entity_id\n" + + " INNER JOIN (SELECT entity_id,last_interacted_with,hiv_services_provided,state_of_therapy,registration_or_followup_status,\n" + + " supplies_provided,client_behaviour_and_environmental_risk,client_hiv_status_during_registration,\n" + + " client_tb_status_during_registration,client_hiv_status_after_testing, count(id)\n" + + " as number_of_followups from ec_cbhs_followup group by entity_id)ecf on fm.base_entity_id = ecf.entity_id\n" + + " LEFT JOIN (select for, sum(case when code = 'Referral' and business_status != 'Cancelled' then 1 else 0 end) as 'issued_referrals',\n" + + " sum(case when code = 'Referral' and business_status != 'Cancelled' and business_status = 'Complete' then 1\n" + + " else 0 end) as 'successful_referrals' from Task where focus in ('Suspected HIV', 'HIV Treatment and Care') group by for)tasks on fm.base_entity_id = tasks.for\n" + + " WHERE ctc_number is not NULL and date(substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || '-' ||\n" + + " substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || '-' || '01') =\n" + + " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))\n" + + " group by fm.base_entity_id\n" + + " UNION\n" + + " SELECT\n" + + " ecr.cbhs_number as cbhs_number,\n" + + " ecr.reasons_for_registration as registration_reason,\n" + + " '-' as hiv_status_during_registration,\n" + + " ecf.client_tb_status_during_registration as tb_status_during_registration,\n" + + " ecr.tb_number as clinic_registration_number,\n" + + " 'TB' as type_of_clinic,\n" + + " (date() - fm.dob) as age,\n" + + " fm.gender,\n" + + " ecf.client_tb_status_after_testing as status_after_testing,\n" + + " ecf.hiv_services_provided,\n" + + " ecf.supplies_provided,\n" + + " tasks.issued_referrals,\n" + + " tasks.successful_referrals,\n" + + " ecf.state_of_therapy,\n" + + " ecf.registration_or_followup_status\n" + + " FROM ec_cbhs_register ecr\n" + + " INNER JOIN ec_family_member fm on fm.base_entity_id = ecr.base_entity_id\n" + + " INNER JOIN (SELECT entity_id,last_interacted_with,hiv_services_provided,state_of_therapy,registration_or_followup_status,\n" + + " supplies_provided,client_behaviour_and_environmental_risk,client_hiv_status_during_registration,\n" + + " client_tb_status_during_registration,client_tb_status_after_testing, count(id)\n" + + " as number_of_followups from ec_cbhs_followup group by entity_id)ecf on fm.base_entity_id = ecf.entity_id\n" + + " LEFT JOIN (select for, sum(case when code = 'Referral' and business_status != 'Cancelled' then 1 else 0 end) as 'issued_referrals',\n" + + " sum(case when code = 'Referral' and business_status != 'Cancelled' and business_status = 'Complete' then 1\n" + + " else 0 end) as 'successful_referrals' from Task where focus in ('Suspected TB') group by for)tasks on fm.base_entity_id = tasks.for\n" + + " WHERE tb_number is not NULL and date(substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || '-' ||\n" + + " substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || '-' || '01') =\n" + + " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))"; String queryDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(reportDate); From 3a49d92cfb4a34520f78be87b4c998344c979dc9 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 24 Aug 2022 12:35:23 +0300 Subject: [PATCH 616/915] fix: loading the Mobilization Register Fragment --- .../chw/activity/HivstRegisterActivity.java | 17 +++++++++ .../fragment/HivstMobilizationFragment.java | 36 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstMobilizationFragment.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java index 1da03556b3..84827b1ce5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java @@ -3,11 +3,22 @@ import android.app.Activity; import android.content.Intent; +import com.vijay.jsonwizard.utils.FormUtils; + +import org.json.JSONException; +import org.json.JSONObject; import org.smartregister.chw.core.activity.CoreHivstRegisterActivity; +import org.smartregister.chw.fragment.HivstMobilizationFragment; import org.smartregister.chw.fragment.HivstRegisterFragment; import org.smartregister.chw.hivst.util.Constants; import org.smartregister.view.fragment.BaseRegisterFragment; +import androidx.fragment.app.Fragment; +import timber.log.Timber; + +import static org.smartregister.util.JsonFormUtils.ENTITY_ID; +import static org.smartregister.util.JsonFormUtils.generateRandomUUIDString; + public class HivstRegisterActivity extends CoreHivstRegisterActivity { @@ -24,5 +35,11 @@ protected BaseRegisterFragment getRegisterFragment() { return new HivstRegisterFragment(); } + @Override + protected Fragment[] getOtherFragments() { + return new Fragment[] { + new HivstMobilizationFragment() + }; + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstMobilizationFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstMobilizationFragment.java new file mode 100644 index 0000000000..b93f9e4341 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivstMobilizationFragment.java @@ -0,0 +1,36 @@ +package org.smartregister.chw.fragment; + +import android.view.View; + +import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.hivst.fragment.BaseHivstMobilizationRegisterFragment; +import org.smartregister.chw.util.JsonFormUtils; + +import timber.log.Timber; + +public class HivstMobilizationFragment extends BaseHivstMobilizationRegisterFragment { + + @Override + public void setupViews(View view) { + super.setupViews(view); + try { + NavigationMenu.getInstance(getActivity(), null, toolbar); + } catch (NullPointerException e) { + Timber.e(e); + } + } + + @Override + protected void onResumption() { + super.onResumption(); + NavigationMenu.getInstance(getActivity(), null, toolbar); + } + + + @Override + protected void startForm(JSONObject form) { + requireActivity().startActivityForResult(org.smartregister.chw.core.utils.FormUtils.getStartFormActivity(form, requireActivity().getString(R.string.hivst_mobilization), requireActivity()), JsonFormUtils.REQUEST_CODE_GET_JSON); + } +} From ddd71b2f6dc920e83501ec102134bc362acec4e8 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 24 Aug 2022 16:05:10 +0300 Subject: [PATCH 617/915] define: ec_hivst_mobilization table and columns --- .../nacp/assets/ec_client_classification.json | 7 +++ .../src/nacp/assets/ec_client_fields.json | 53 +++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index df19d5576d..68505530fc 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -557,6 +557,13 @@ "creates_case": [ "ec_hivst_results" ] + }, + { + "field": "eventType", + "field_value": "HIVST Mobilization Session", + "creates_case":[ + "ec_hivst_mobilization" + ] } ] } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 4f3ac01889..e1c7eb962c 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -4031,6 +4031,59 @@ } } ] + }, + { + "name": "ec_hivst_mobilization", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "mobilization_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "mobilization_date" + } + }, + { + "column_name": "female_clients_reached", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "female_clients_reached" + } + }, + { + "column_name": "male_clients_reached", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "male_clients_reached" + } + }, + { + "column_name": "male_condoms_issued", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "male_condoms_issued" + } + }, + { + "column_name": "female_condoms_issued", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "female_condoms_issued" + } + } + ] + } ] } \ No newline at end of file From 52bf0bc27a038431320d078188fe1b583c6d8831 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 24 Aug 2022 16:39:42 +0300 Subject: [PATCH 618/915] cleanup: removed unused imports --- .../chw/activity/HivstRegisterActivity.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java index 84827b1ce5..8b0b0aa8b6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java @@ -3,10 +3,6 @@ import android.app.Activity; import android.content.Intent; -import com.vijay.jsonwizard.utils.FormUtils; - -import org.json.JSONException; -import org.json.JSONObject; import org.smartregister.chw.core.activity.CoreHivstRegisterActivity; import org.smartregister.chw.fragment.HivstMobilizationFragment; import org.smartregister.chw.fragment.HivstRegisterFragment; @@ -14,10 +10,6 @@ import org.smartregister.view.fragment.BaseRegisterFragment; import androidx.fragment.app.Fragment; -import timber.log.Timber; - -import static org.smartregister.util.JsonFormUtils.ENTITY_ID; -import static org.smartregister.util.JsonFormUtils.generateRandomUUIDString; public class HivstRegisterActivity extends CoreHivstRegisterActivity { @@ -37,7 +29,7 @@ protected BaseRegisterFragment getRegisterFragment() { @Override protected Fragment[] getOtherFragments() { - return new Fragment[] { + return new Fragment[]{ new HivstMobilizationFragment() }; } From 82a00ea206e2d6275932d069e57104b18b1e5cbd Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 24 Aug 2022 17:39:54 +0300 Subject: [PATCH 619/915] fix: getting gender and control relevance of the client group based on gender --- .../AllClientsMemberProfileActivity.java | 3 +- .../activity/AncMemberProfileActivity.java | 9 +- .../FamilyOtherMemberProfileActivity.java | 3 +- .../chw/activity/HivProfileActivity.java | 12 ++- .../chw/activity/HivstRegisterActivity.java | 3 +- .../activity/PncMemberProfileActivity.java | 4 +- .../src/nacp/assets/ec_client_fields.json | 8 ++ .../assets/json.form/hivst_registration.json | 92 +++++++++++++++++-- .../rule/hivst_registration_calculation.yml | 14 +++ .../rule/hivst_registration_relevance.yml | 14 +++ 10 files changed, 147 insertions(+), 15 deletions(-) create mode 100644 opensrp-chw/src/nacp/assets/rule/hivst_registration_calculation.yml create mode 100644 opensrp-chw/src/nacp/assets/rule/hivst_registration_relevance.yml diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 3eb33aed51..372f0b17ca 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -135,7 +135,8 @@ protected void startFpChangeMethod() { @Override protected void startHivstRegistration(){ - HivstRegisterActivity.startHivstRegistrationActivity(AllClientsMemberProfileActivity.this, baseEntityId); + String gender = org.smartregister.family.util.Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.GENDER, false); + HivstRegisterActivity.startHivstRegistrationActivity(AllClientsMemberProfileActivity.this, baseEntityId, gender); } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index b7b40843b6..83cbf7293c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -195,7 +195,14 @@ public boolean onOptionsItemSelected(MenuItem item) { return true; } if(itemId == R.id.action_hivst_registration){ - HivstRegisterActivity.startHivstRegistrationActivity(this, baseEntityID); + CommonRepository commonRepository = Utils.context().commonrepository(Utils.metadata().familyMemberRegister.tableName); + + final CommonPersonObject commonPersonObject = commonRepository.findByBaseEntityId(memberObject.getBaseEntityId()); + final CommonPersonObjectClient client = + new CommonPersonObjectClient(commonPersonObject.getCaseId(), commonPersonObject.getDetails(), ""); + client.setColumnmaps(commonPersonObject.getColumnmaps()); + String gender = org.smartregister.family.util.Utils.getValue(commonPersonObject.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); + HivstRegisterActivity.startHivstRegistrationActivity(this, baseEntityID, gender); } return super.onOptionsItemSelected(item); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index 454d6cbf0b..69b828fc6e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -257,7 +257,8 @@ protected void startLDRegistration() { } @Override protected void startHivstRegistration(){ - HivstRegisterActivity.startHivstRegistrationActivity(FamilyOtherMemberProfileActivity.this, baseEntityId); + String gender = org.smartregister.family.util.Utils.getValue(commonPersonObject.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); + HivstRegisterActivity.startHivstRegistrationActivity(FamilyOtherMemberProfileActivity.this, baseEntityId, gender); } /** diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index b95764ba7e..d212977ce0 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -500,8 +500,7 @@ public boolean onOptionsItemSelected(MenuItem item) { } else if (itemId == R.id.action_pregnancy_out_come) { PncRegisterActivity.startPncRegistrationActivity(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), null, CoreConstants.JSON_FORM.getPregnancyOutcome(), AncLibrary.getInstance().getUniqueIdRepository().getNextUniqueId().getOpenmrsId(), getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyName(), null); return true; - } - else if(itemId == R.id.action_hivst_registration){ + } else if (itemId == R.id.action_hivst_registration) { startHivstRegistration(); return true; } @@ -509,7 +508,14 @@ else if(itemId == R.id.action_hivst_registration){ } private void startHivstRegistration() { - HivstRegisterActivity.startHivstRegistrationActivity(this, getHivMemberObject().getBaseEntityId()); + CommonRepository commonRepository = Utils.context().commonrepository(Utils.metadata().familyMemberRegister.tableName); + + final CommonPersonObject commonPersonObject = commonRepository.findByBaseEntityId(getHivMemberObject().getBaseEntityId()); + final CommonPersonObjectClient client = new CommonPersonObjectClient(commonPersonObject.getCaseId(), commonPersonObject.getDetails(), ""); + client.setColumnmaps(commonPersonObject.getColumnmaps()); + String gender = org.smartregister.family.util.Utils.getValue(commonPersonObject.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); + + HivstRegisterActivity.startHivstRegistrationActivity(this, getHivMemberObject().getBaseEntityId(), gender); } protected void startTbRegister() { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java index 8b0b0aa8b6..c13e19f79f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstRegisterActivity.java @@ -14,11 +14,12 @@ public class HivstRegisterActivity extends CoreHivstRegisterActivity { - public static void startHivstRegistrationActivity(Activity activity, String memberBaseEntityID) { + public static void startHivstRegistrationActivity(Activity activity, String memberBaseEntityID, String gender) { Intent intent = new Intent(activity, HivstRegisterActivity.class); intent.putExtra(Constants.ACTIVITY_PAYLOAD.BASE_ENTITY_ID, memberBaseEntityID); intent.putExtra(Constants.ACTIVITY_PAYLOAD.ACTION, Constants.ACTIVITY_PAYLOAD_TYPE.REGISTRATION); intent.putExtra(Constants.ACTIVITY_PAYLOAD.HIVST_FORM_NAME, Constants.FORMS.HIVST_REGISTRATION); + intent.putExtra(Constants.ACTIVITY_PAYLOAD.GENDER, gender); activity.startActivity(intent); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index 018bae12e9..fea016e2a2 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -304,7 +304,9 @@ public boolean onOptionsItemSelected(MenuItem item) { return true; } if(itemId == R.id.action_hivst_registration){ - HivstRegisterActivity.startHivstRegistrationActivity(this, baseEntityID); + CommonPersonObjectClient commonPersonObjectClient = getCommonPersonObjectClient(memberObject.getBaseEntityId()); + String gender = org.smartregister.family.util.Utils.getValue(commonPersonObjectClient.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); + HivstRegisterActivity.startHivstRegistrationActivity(this, baseEntityID,gender); } return super.onOptionsItemSelected(item); } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index e1c7eb962c..29b3618b39 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -3937,6 +3937,14 @@ "concept": "client_group" } }, + { + "column_name": "known_positive_during_reg", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "known_positive_during_reg" + } + }, { "column_name": "last_interacted_with", "type": "Event", diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_registration.json b/opensrp-chw/src/nacp/assets/json.form/hivst_registration.json index f6bf61dcfd..2b258eeced 100644 --- a/opensrp-chw/src/nacp/assets/json.form/hivst_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_registration.json @@ -86,6 +86,20 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "client_group", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_registration_calculation.yml" + } + } + } + }, + { + "key": "client_group_female", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_group_female", "label": "Select the client's group as screened by the health care provider", "text_color": "#000000", "type": "native_radio", @@ -97,13 +111,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "fsw" }, - { - "key": "msm", - "text": "MSM", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "msm" - }, { "key": "pwid", "text": "PWID", @@ -136,6 +143,77 @@ "v_required": { "value": "true", "err": "Please select an answer" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_registration_relevance.yml" + } + } + } + }, + { + "key": "client_group_male", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_group_male", + "label": "Select the client's group as screened by the health care provider", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "msm", + "text": "MSM", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "msm" + }, + { + "key": "pwid", + "text": "PWID", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pwid" + }, + { + "key": "prisoners", + "text": "Prisoners", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "prisoners" + }, + { + "key": "others", + "text": "Others", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "others" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_registration_relevance.yml" + } + } + } + }, + { + "key": "known_positive_during_reg", + "type": "hidden", + "openmrs_entity": "concept", + "openmrs_entity_id": "known_positive_during_reg", + "openmrs_entity_parent": "", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_registration_calculation.yml" + } + } } } ] diff --git a/opensrp-chw/src/nacp/assets/rule/hivst_registration_calculation.yml b/opensrp-chw/src/nacp/assets/rule/hivst_registration_calculation.yml new file mode 100644 index 0000000000..d5aaeaa49e --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/hivst_registration_calculation.yml @@ -0,0 +1,14 @@ +--- +name: step1_known_positive_during_reg +description: if selected known positive, then yes else no +priority: 1 +condition: "true" +actions: + - "calculation = step1_client_testing_history.contains('known_positive') ? 'yes' : 'no'" +--- +name: step1_client_group +description: if client is male take client_group_male else take client_group_female +priority: 1 +condition: "true" +actions: + - "calculation = global_gender.equalsIgnoreCase('male') ? step1_client_group_male : step1_client_group_female" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/hivst_registration_relevance.yml b/opensrp-chw/src/nacp/assets/rule/hivst_registration_relevance.yml new file mode 100644 index 0000000000..d67ecec9d6 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/rule/hivst_registration_relevance.yml @@ -0,0 +1,14 @@ +--- +name: step1_client_group_male +description: if client is male is relevannt +priority: 1 +condition: "global_gender.equalsIgnoreCase('male')" +actions: + - "isRelevant = true " +--- +name: step1_client_group_female +description: if client is female is relevannt +priority: 1 +condition: "global_gender.equalsIgnoreCase('female')" +actions: + - "isRelevant = true " \ No newline at end of file From 518e7c1497c39e847c986bcf2c1bab02c32651d3 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 24 Aug 2022 18:01:48 +0300 Subject: [PATCH 620/915] fix: showing kits for other when client is known positive --- .../chw/activity/HivstProfileActivity.java | 3 +++ .../nacp/assets/json.form/hivst_issue_kits.json | 15 +++++++++++++++ .../assets/rule/hivst_issue_kits_relevance.yml | 16 +++++++++++++++- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java index 3debf477a1..11afe5d63c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java @@ -15,6 +15,7 @@ import org.smartregister.chw.core.presenter.CoreFamilyOtherMemberActivityPresenter; import org.smartregister.chw.core.presenter.CoreHivstMemberProfilePresenter; import org.smartregister.chw.core.utils.FormUtils; +import org.smartregister.chw.hiv.dao.HivDao; import org.smartregister.chw.hivst.dao.HivstDao; import org.smartregister.chw.hivst.util.Constants; import org.smartregister.domain.AlertStatus; @@ -51,6 +52,8 @@ public void startIssueSelfTestingKitsForm(String baseEntityId) { JSONObject form = FormUtils.getFormUtils().getFormJson(Constants.FORMS.HIVST_ISSUE_KITS); try { form.put(org.smartregister.util.JsonFormUtils.ENTITY_ID, baseEntityId); + JSONObject global = form.getJSONObject("global"); + global.put("known_positive", HivstDao.isTheClientKnownPositiveAtReg(baseEntityId)); } catch (JSONException e) { Timber.e(e); } diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_issue_kits.json b/opensrp-chw/src/nacp/assets/json.form/hivst_issue_kits.json index 7f9a69bb55..4783f7860d 100644 --- a/opensrp-chw/src/nacp/assets/json.form/hivst_issue_kits.json +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_issue_kits.json @@ -41,6 +41,7 @@ }, "encounter_location": "" }, + "global": {}, "step1": { "title": "Providing Self Test Kits", "fields": [ @@ -114,6 +115,13 @@ "v_required": { "value": "true", "err": "Please select an answer" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_issue_kits_relevance.yml" + } + } } }, { @@ -143,6 +151,13 @@ "v_required": { "value": "true", "err": "Please select an answer" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_issue_kits_relevance.yml" + } + } } }, { diff --git a/opensrp-chw/src/nacp/assets/rule/hivst_issue_kits_relevance.yml b/opensrp-chw/src/nacp/assets/rule/hivst_issue_kits_relevance.yml index 5d73ad347d..d690975ea2 100644 --- a/opensrp-chw/src/nacp/assets/rule/hivst_issue_kits_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/hivst_issue_kits_relevance.yml @@ -9,6 +9,20 @@ actions: name: step1_extra_kits_required description: extra_kits_required relevance priority: 1 -condition: "step1_self_test_kit_given.contains('yes')" +condition: "global_known_positive || step1_self_test_kit_given.contains('yes')" +actions: + - "isRelevant = true" +--- +name: step1_client_testing_approach +description: client_testing_approach is not relevant if client is known positive +priority: 1 +condition: "!global_known_positive" +actions: + - "isRelevant = true" +--- +name: step1_self_test_kit_given +description: self_test_kit_given is not relevant if client is known positive +priority: 1 +condition: "!global_known_positive" actions: - "isRelevant = true" \ No newline at end of file From add365542759b1951a866a5fd5f5ba00ad187869 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 24 Aug 2022 19:03:02 +0300 Subject: [PATCH 621/915] fix: check for known positive for hiv clients --- .../org/smartregister/chw/activity/HivstProfileActivity.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java index 11afe5d63c..782a6c54e1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java @@ -6,6 +6,7 @@ import android.view.Menu; import android.view.View; +import org.apache.commons.lang3.StringUtils; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; @@ -53,7 +54,8 @@ public void startIssueSelfTestingKitsForm(String baseEntityId) { try { form.put(org.smartregister.util.JsonFormUtils.ENTITY_ID, baseEntityId); JSONObject global = form.getJSONObject("global"); - global.put("known_positive", HivstDao.isTheClientKnownPositiveAtReg(baseEntityId)); + boolean knownPositiveFromHIV = HivDao.isRegisteredForHiv(baseEntityId) && StringUtils.isNotBlank(HivDao.getMember(baseEntityId).getCtcNumber()); + global.put("known_positive", HivstDao.isTheClientKnownPositiveAtReg(baseEntityId) || knownPositiveFromHIV); } catch (JSONException e) { Timber.e(e); } From 009629035c49d16a1f166e6956b0163396f69227 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 24 Aug 2022 19:04:58 +0300 Subject: [PATCH 622/915] code cleanup --- .../smartregister/chw/activity/AncMemberProfileActivity.java | 2 +- .../java/org/smartregister/chw/activity/HivProfileActivity.java | 2 +- .../smartregister/chw/activity/PncMemberProfileActivity.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index 83cbf7293c..7d55e27bff 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -201,7 +201,7 @@ public boolean onOptionsItemSelected(MenuItem item) { final CommonPersonObjectClient client = new CommonPersonObjectClient(commonPersonObject.getCaseId(), commonPersonObject.getDetails(), ""); client.setColumnmaps(commonPersonObject.getColumnmaps()); - String gender = org.smartregister.family.util.Utils.getValue(commonPersonObject.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); + String gender = Utils.getValue(commonPersonObject.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); HivstRegisterActivity.startHivstRegistrationActivity(this, baseEntityID, gender); } return super.onOptionsItemSelected(item); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index d212977ce0..5fed143975 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -513,7 +513,7 @@ private void startHivstRegistration() { final CommonPersonObject commonPersonObject = commonRepository.findByBaseEntityId(getHivMemberObject().getBaseEntityId()); final CommonPersonObjectClient client = new CommonPersonObjectClient(commonPersonObject.getCaseId(), commonPersonObject.getDetails(), ""); client.setColumnmaps(commonPersonObject.getColumnmaps()); - String gender = org.smartregister.family.util.Utils.getValue(commonPersonObject.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); + String gender = Utils.getValue(commonPersonObject.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); HivstRegisterActivity.startHivstRegistrationActivity(this, getHivMemberObject().getBaseEntityId(), gender); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index fea016e2a2..0a77f37256 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -305,7 +305,7 @@ public boolean onOptionsItemSelected(MenuItem item) { } if(itemId == R.id.action_hivst_registration){ CommonPersonObjectClient commonPersonObjectClient = getCommonPersonObjectClient(memberObject.getBaseEntityId()); - String gender = org.smartregister.family.util.Utils.getValue(commonPersonObjectClient.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); + String gender = Utils.getValue(commonPersonObjectClient.getColumnmaps(), org.smartregister.family.util.DBConstants.KEY.GENDER, false); HivstRegisterActivity.startHivstRegistrationActivity(this, baseEntityID,gender); } return super.onOptionsItemSelected(item); From 6c0249057eefcde00b0530e3cf44a9b233763955 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 24 Aug 2022 20:59:12 +0300 Subject: [PATCH 623/915] :hammer: refactored anc, pnc and child observation and illness forms to include prompts for clients using traditional medicine --- .../json.form-sw/anc_hv_observations.json | 29 ++++- .../json.form-sw/observation_illness.json | 99 +++++++++++++---- .../pnc_hv_observations_infant.json | 31 +++++- .../pnc_hv_observations_mother.json | 29 ++++- .../assets/json.form/anc_hv_observations.json | 29 ++++- .../assets/json.form/observation_illness.json | 100 ++++++++++++++---- .../json.form/pnc_hv_observations_infant.json | 31 +++++- .../json.form/pnc_hv_observations_mother.json | 29 ++++- 8 files changed, 305 insertions(+), 72 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json index 34dd6c35fe..841911aff5 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_hv_observations.json @@ -92,7 +92,7 @@ "options": [ { "key": "chk_ors", - "text": "ORS 5", + "text": "ORS", "openmrs_entity": "concept", "openmrs_entity_id": "chk_ors" }, @@ -109,10 +109,10 @@ "openmrs_entity_id": "chk_paracetamol" }, { - "key": "chk_referred", - "text": "Kupewa rufaa", + "key": "chk_attended_health_facility", + "text": "Alihudhuria Kituo cha Afya", "openmrs_entity": "concept", - "openmrs_entity_id": "chk_referred" + "openmrs_entity_id": "chk_attended_health_facility" }, { "key": "chk_none", @@ -125,6 +125,27 @@ "value": "true", "err": "Tafadhali chagua chaguo moja" } + }, + { + "key": "traditional_medicine_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Mshauri mteja kutokumia Tiba Asili/Dawa za mitishamba", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:action_taken": { + "ex-checkbox": [ + { + "or": [ + "chk_traditional_medicine" + ] + } + ] + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/observation_illness.json b/opensrp-chw/src/nacp/assets/json.form-sw/observation_illness.json index 0e59aa4e4e..27b0ba26a9 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/observation_illness.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/observation_illness.json @@ -82,29 +82,56 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Hatua iliyochukuliwa", + "type": "check_box", + "combine_checkbox_option_values": "true", + "label": "Hatua iliyochukuliwa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "chk_ors", + "text": "ORS", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_ors" + }, + { + "key": "chk_traditional_medicine", + "text": "Mitishamba", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_traditional_medicine" + }, + { + "key": "chk_paracetamol", + "text": "Panado", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_paracetamol" + }, + { + "key": "chk_attended_health_facility", + "text": "Alihudhuria Kituo cha Afya", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_attended_health_facility" + }, + { + "key": "chk_other_treatment", + "text": "Other treatment", + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "Hakuna matibabu yaliyotolewa", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], "v_required": { "value": "true", - "err": "Tafadhali chagua hatua" - }, - "values": [ - "ORS 5", - "Zinc 10", - "Panadol", - "Kutoa rufaa", - "Matibabu mengine", - "Hakuna matibabu yaliyotolewa" - ], - "keys": [ - "ORS 5", - "Zinc 10", - "Panadol", - "Referred", - "Other treatment given", - "No treatment" - ] + "err": "Tafadhali chagua chaguo moja" + } }, { "key": "other_treat_1m5yr", @@ -119,8 +146,34 @@ }, "relevance": { "step1:action_taken_1m5yr": { - "type": "string", - "ex": "equalTo(., \"Other treatment\")" + "ex-checkbox": [ + { + "or": [ + "chk_other_treatment" + ] + } + ] + } + } + }, + { + "key": "traditional_medicine_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Mshauri mteja kutokumia Tiba Asili/Dawa za mitishamba", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:action_taken": { + "ex-checkbox": [ + { + "or": [ + "chk_traditional_medicine" + ] + } + ] } } } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json index 5b602a3eab..f3832dc0ed 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_infant.json @@ -91,13 +91,13 @@ "options": [ { "key": "chk_ors", - "text": "ORS 5", + "text": "ORS", "openmrs_entity": "concept", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_zinc", - "text": "Zinc 10", + "text": "Zinc", "openmrs_entity": "concept", "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, @@ -114,10 +114,10 @@ "openmrs_entity_id": "chk_traditional_medicine" }, { - "key": "chk_referred", - "text": "Kupewa rufaa", + "key": "chk_attended_health_facility", + "text": "Alihudhuria Kituo cha Afya", "openmrs_entity": "concept", - "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_attended_health_facility" }, { "key": "chk_other_treatment", @@ -151,6 +151,27 @@ } } } + }, + { + "key": "traditional_medicine_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Mshauri mteja kutokumia Tiba Asili/Dawa za mitishamba", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:action_taken": { + "ex-checkbox": [ + { + "or": [ + "chk_traditional_medicine" + ] + } + ] + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json index 6a4923e474..cc99219867 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_hv_observations_mother.json @@ -92,7 +92,7 @@ "options": [ { "key": "chk_ors", - "text": "ORS 5", + "text": "ORS", "openmrs_entity": "concept", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, @@ -109,10 +109,10 @@ "openmrs_entity_id": "chk_traditional_medicine" }, { - "key": "chk_referred", - "text": "Kutoa rufaa", + "key": "chk_attended_health_facility", + "text": "Alihudhuria Kituo cha Afya", "openmrs_entity": "concept", - "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_attended_health_facility" }, { "key": "chk_other_treatment", @@ -146,6 +146,27 @@ } } } + }, + { + "key": "traditional_medicine_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Mshauri mteja kutokumia Tiba Asili/Dawa za mitishamba", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:action_taken": { + "ex-checkbox": [ + { + "or": [ + "chk_traditional_medicine" + ] + } + ] + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json index f12522c71c..9a6e181381 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_observations.json @@ -92,7 +92,7 @@ "options": [ { "key": "chk_ors", - "text": "ORS 5", + "text": "ORS", "openmrs_entity": "concept", "openmrs_entity_id": "chk_ors" }, @@ -109,10 +109,10 @@ "openmrs_entity_id": "chk_paracetamol" }, { - "key": "chk_referred", - "text": "Referred", + "key": "chk_attended_health_facility", + "text": "Attended Health Facility", "openmrs_entity": "concept", - "openmrs_entity_id": "chk_referred" + "openmrs_entity_id": "chk_attended_health_facility" }, { "key": "chk_none", @@ -125,6 +125,27 @@ "value": "true", "err": "Please select an option" } + }, + { + "key": "traditional_medicine_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Counsel the client not to use Traditional Medicine.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:action_taken": { + "ex-checkbox": [ + { + "or": [ + "chk_traditional_medicine" + ] + } + ] + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/observation_illness.json b/opensrp-chw/src/nacp/assets/json.form/observation_illness.json index 4d980f23b0..f353aed272 100644 --- a/opensrp-chw/src/nacp/assets/json.form/observation_illness.json +++ b/opensrp-chw/src/nacp/assets/json.form/observation_illness.json @@ -82,28 +82,56 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "164378AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "openmrs_data_type": "select one", - "type": "spinner", - "hint": "Action taken", - "v_required": { - "value": "true", - "err": "Please select action" - }, - "values": [ - "ORS 5", - "Zinc 10", - "Panadol", - "Referred", - "Other treatment", - "No treatment given" + "type": "check_box", + "label": "Action taken", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" ], - "keys": [ - "ORS 5", - "Zinc 10", - "Panadol", - "Referred", - "Other treatment given", - "No treatment" + "options": [ + { + "key": "chk_ors", + "text": "ORS", + "openmrs_entity": "concept", + "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_zinc", + "text": "Zinc", + "openmrs_entity": "concept", + "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_paracetamol", + "text": "Panadol", + "openmrs_entity": "concept", + "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_traditional_medicine", + "text": "Traditional medicine", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_traditional_medicine" + }, + { + "key": "chk_attended_health_facility", + "text": "Attended Health Facility", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_attended_health_facility" + }, + { + "key": "chk_other_treatment", + "text": "Other treatment", + "openmrs_entity": "concept", + "openmrs_entity_id": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "chk_none", + "text": "No treatment given", + "openmrs_entity": "concept", + "openmrs_entity_id": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } ] }, { @@ -119,8 +147,34 @@ }, "relevance": { "step1:action_taken_1m5yr": { - "type": "string", - "ex": "equalTo(., \"Other treatment\")" + "ex-checkbox": [ + { + "or": [ + "chk_other_treatment" + ] + } + ] + } + } + }, + { + "key": "traditional_medicine_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Counsel the client not to use Traditional Medicine.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:action_taken": { + "ex-checkbox": [ + { + "or": [ + "chk_traditional_medicine" + ] + } + ] } } } diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json index 7edc7628a6..cd92dad7ba 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_infant.json @@ -91,13 +91,13 @@ "options": [ { "key": "chk_ors", - "text": "ORS 5", + "text": "ORS", "openmrs_entity": "concept", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_zinc", - "text": "Zinc 10", + "text": "Zinc", "openmrs_entity": "concept", "openmrs_entity_id": "86672AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, @@ -114,10 +114,10 @@ "openmrs_entity_id": "chk_traditional_medicine" }, { - "key": "chk_referred", - "text": "Referred", + "key": "chk_attended_health_facility", + "text": "Attended Health Facility", "openmrs_entity": "concept", - "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_attended_health_facility" }, { "key": "chk_other_treatment", @@ -151,6 +151,27 @@ } } } + }, + { + "key": "traditional_medicine_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Counsel the client not to use Traditional Medicine.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:action_taken": { + "ex-checkbox": [ + { + "or": [ + "chk_traditional_medicine" + ] + } + ] + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json index 9133acb414..2f69de13b0 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_hv_observations_mother.json @@ -92,7 +92,7 @@ "options": [ { "key": "chk_ors", - "text": "ORS 5", + "text": "ORS", "openmrs_entity": "concept", "openmrs_entity_id": "351AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, @@ -109,10 +109,10 @@ "openmrs_entity_id": "70116AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { - "key": "chk_referred", - "text": "Referred", + "key": "chk_attended_health_facility", + "text": "Attended Health Facility", "openmrs_entity": "concept", - "openmrs_entity_id": "163762AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "openmrs_entity_id": "chk_attended_health_facility" }, { "key": "chk_other_treatment", @@ -146,6 +146,27 @@ } } } + }, + { + "key": "traditional_medicine_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Counsel the client not to use Traditional Medicine.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:action_taken": { + "ex-checkbox": [ + { + "or": [ + "chk_traditional_medicine" + ] + } + ] + } + } } ] } From 873c6ba18076488d673ebd67288068fd01e3410c Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 24 Aug 2022 21:15:39 +0300 Subject: [PATCH 624/915] :hammer: refactored pnc family planning form, splitting pills into POP and COC and adding relevant prompt messages --- .../json.form-sw/pnc_family_planning.json | 25 ++++++++++++++++--- .../assets/json.form/pnc_family_planning.json | 25 ++++++++++++++++--- .../rule/pnc_family_planning_relevance.yml | 2 +- 3 files changed, 45 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json index 2d65f15336..c61800b0e4 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json @@ -126,7 +126,8 @@ "hint": "Njia ya uzazi wa mpango iliyochaguliwa", "values": [ "Njia ya PPIUCD", - "Vidonge", + "Vidonge vya POP", + "Vidonge vya COC", "Kipandikizi", "Kondomu", "Njia ya LAM", @@ -137,7 +138,8 @@ ], "keys": [ "PPIUCD", - "Pills", + "POP Pills", + "COC Pills", "Implant", "Condoms", "LAM", @@ -148,7 +150,8 @@ ], "openmrs_choice_ids": { "PPIUCD": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Pills": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "COC Pills": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "POP Pills": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Implant": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Condoms": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "LAM": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -169,6 +172,22 @@ } } }, + { + "key": "incorrect_fp_method_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Mshauri mteja juu ya utumiaji wa njia sahihi ya uzazi wa mpango kwa muda huu.\nMpe rufaa mte kwenda kituo cha afya kupewa njia sahihi ya uzazi wa mpango.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:fp_method": { + "type": "string", + "ex": "equalTo(., \"COC Pills\")" + } + } + }, { "key": "fp_start_date", "openmrs_entity_parent": "163757AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json b/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json index 238f254ad9..cb2d04e81d 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_family_planning.json @@ -126,7 +126,8 @@ "hint": "Family Planning method chosen?", "values": [ "PPIUCD", - "Pills", + "POP Pills", + "COC Pills", "Implant", "Condoms", "LAM", @@ -137,7 +138,8 @@ ], "keys": [ "PPIUCD", - "Pills", + "POP Pills", + "COC Pills", "Implant", "Condoms", "LAM", @@ -148,7 +150,8 @@ ], "openmrs_choice_ids": { "PPIUCD": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Pills": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "COC Pills": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "POP Pills": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Implant": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Condoms": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "LAM": "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -169,6 +172,22 @@ } } }, + { + "key": "incorrect_fp_method_toaster", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "", + "type": "toaster_notes", + "text": "Counsel the mother on the correct FP method.\nRefer the mother to the health facility to receive the correct FP Method.", + "text_color": "#CF0800", + "toaster_type": "problem", + "relevance": { + "step1:fp_method": { + "type": "string", + "ex": "equalTo(., \"COC Pills\")" + } + } + }, { "key": "fp_start_date", "openmrs_entity_parent": "163757AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", diff --git a/opensrp-chw/src/nacp/assets/rule/pnc_family_planning_relevance.yml b/opensrp-chw/src/nacp/assets/rule/pnc_family_planning_relevance.yml index cb72f0c65f..fec644d5e0 100644 --- a/opensrp-chw/src/nacp/assets/rule/pnc_family_planning_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/pnc_family_planning_relevance.yml @@ -16,6 +16,6 @@ actions: name: step1_fp_start_date description: Family Planning Start Date priority: 1 -condition: "step1_fp_counseling.contains('Yes') && !step1_fp_method.contains('None') && !step1_fp_method.isEmpty()" +condition: "step1_fp_counseling.contains('Yes') && !step1_fp_method.contains('None') && !step1_fp_method.contains('COC Pills') && !step1_fp_method.isEmpty()" actions: - "isRelevant = true" \ No newline at end of file From 06e1dd8bd7050d156ff702aa43cf0ba118e3749e Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 24 Aug 2022 21:19:13 +0300 Subject: [PATCH 625/915] :hammer: refactored pnc baby danger signs --- .../nacp/assets/json.form-sw/pnc_danger_signs_baby.json | 6 ------ .../src/nacp/assets/json.form/pnc_danger_signs_baby.json | 8 +------- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json index 3f0c99ec76..6b73f1eda4 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_danger_signs_baby.json @@ -99,12 +99,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "123843AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - { - "key": "chk_no_movement", - "text": "Hamna uchezaji", - "openmrs_entity": "concept", - "openmrs_entity_id": "164455AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, { "key": "chk_convulsions", "text": "Degedege", diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json index 7db41d2e43..5b559fee2b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_danger_signs_baby.json @@ -99,12 +99,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "123843AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - { - "key": "chk_no_movement", - "text": "No movement", - "openmrs_entity": "concept", - "openmrs_entity_id": "164455AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, { "key": "chk_convulsions", "text": "Convulsions", @@ -137,7 +131,7 @@ }, { "key": "chk_lethargy", - "text": "Lethargy", + "text": "General body Weakness", "openmrs_entity": "concept", "openmrs_entity_id": "116334AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, From a0f0166ce21b4dd5755810d49e2f9bd99f0f68a0 Mon Sep 17 00:00:00 2001 From: zk497 Date: Thu, 25 Aug 2022 11:30:57 +0300 Subject: [PATCH 626/915] Implementation for FAB and loading hivst referral form --- .../chw/activity/HivstProfileActivity.java | 43 +++++- .../smartregister/chw/util/HivstUtils.java | 27 ++++ .../referrals/hts_hivst_referral_form.json | 138 ++++++++++++++++++ .../referrals/hts_hivst_referral_form.json | 123 ++++++++++++++++ 4 files changed, 330 insertions(+), 1 deletion(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/util/HivstUtils.java create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_hivst_referral_form.json create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/hts_hivst_referral_form.json diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java index 782a6c54e1..0d485021be 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java @@ -3,10 +3,14 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.view.Gravity; import android.view.Menu; import android.view.View; +import android.widget.LinearLayout; import org.apache.commons.lang3.StringUtils; +import androidx.annotation.NonNull; + import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; @@ -17,11 +21,13 @@ import org.smartregister.chw.core.presenter.CoreHivstMemberProfilePresenter; import org.smartregister.chw.core.utils.FormUtils; import org.smartregister.chw.hiv.dao.HivDao; +import org.smartregister.chw.hivst.custom_views.BaseHivstFloatingMenu; import org.smartregister.chw.hivst.dao.HivstDao; +import org.smartregister.chw.hivst.listener.OnClickFloatingMenu; import org.smartregister.chw.hivst.util.Constants; +import org.smartregister.chw.util.HivstUtils; import org.smartregister.domain.AlertStatus; -import androidx.annotation.NonNull; import timber.log.Timber; @@ -76,6 +82,41 @@ public void onClick(View view) { super.onClick(view); } } + + @Override + public void initializeFloatingMenu() { + baseHivstFloatingMenu = new BaseHivstFloatingMenu(this, memberObject); + checkPhoneNumberProvided(StringUtils.isNotBlank(memberObject.getPhoneNumber())); + OnClickFloatingMenu onClickFloatingMenu = viewId -> { + switch (viewId) { + case R.id.hivst_fab: + //Animates the actual FAB + ((BaseHivstFloatingMenu) baseHivstFloatingMenu).animateFAB(); + break; + case R.id.call_layout: + ((BaseHivstFloatingMenu) baseHivstFloatingMenu).launchCallWidget(); + ((BaseHivstFloatingMenu) baseHivstFloatingMenu).animateFAB(); + break; + case R.id.refer_to_facility_layout: + HivstUtils.startHIVSTReferral(this, memberObject.getBaseEntityId()); + break; + default: + Timber.d("Unknown FAB action"); + break; + } + }; + + ((BaseHivstFloatingMenu) baseHivstFloatingMenu).setFloatMenuClickListener(onClickFloatingMenu); + baseHivstFloatingMenu.setGravity(Gravity.BOTTOM | Gravity.END); + LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.MATCH_PARENT); + addContentView(baseHivstFloatingMenu, linearLayoutParams); + } + + private void checkPhoneNumberProvided(boolean hasPhoneNumber) { + baseHivstFloatingMenu.redrawWithOption(baseHivstFloatingMenu, hasPhoneNumber); + } + @Override protected void removeMember() { //implement diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/HivstUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/HivstUtils.java new file mode 100644 index 0000000000..88c6b3a429 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/HivstUtils.java @@ -0,0 +1,27 @@ +package org.smartregister.chw.util; + +import android.app.Activity; + +import com.vijay.jsonwizard.utils.FormUtils; + +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.activity.ReferralRegistrationActivity; +import org.smartregister.chw.core.utils.CoreConstants; + +public class HivstUtils { + + public static void startHIVSTReferral(Activity context, String baseEntityId) { + JSONObject formJsonObject; + try { + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(context, org.smartregister.chw.hivst.util.Constants.FORMS.HIVST_REFERRAL_FORM); + if (formJsonObject != null) { + formJsonObject.put(Constants.REFERRAL_TASK_FOCUS, CoreConstants.TASKS_FOCUS.SUSPECTED_HIV); + ReferralRegistrationActivity.startGeneralReferralFormActivityForResults(context, baseEntityId, formJsonObject, false); + } + } catch (JSONException e) { + e.printStackTrace(); + } + } + +} diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_hivst_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_hivst_referral_form.json new file mode 100644 index 0000000000..110b72e124 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_hivst_referral_form.json @@ -0,0 +1,138 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Fomu ya Rufaa Kwa Ajili ya Huduma ya Upimaji wa VVU", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Sababu za rufaa" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "confirmation_self_test", + "text": "Uthibitisho Kipimo binfasi (Confirmation for self test)", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "confirmation_self_test", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua sababu nyingine", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Sababu nyingine", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Tafadhali chagua sababu nyingine", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua Kituo cha rufaa", + "searchable": "Chagua Kituo cha rufaa" + }, + "options": [], + "required_status": "yes:Tafadhali chagua Kituo cha rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tafadhali chagua tarehe ya miadi", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali chagua tarehe ya miadi" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_hivst_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_hivst_referral_form.json new file mode 100644 index 0000000000..fa7f16cea3 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_hivst_referral_form.json @@ -0,0 +1,123 @@ +{ + "form": "Referral form", + "encounter_type": "Referral Registration", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/general_neat_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "HIV Testing Services Referral Form", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Reasons for Referral" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "confirmation_self_test", + "text": "Confirmation for self test", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "confirmation_self_test", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify reasons for referral", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file From 6724d0f898c8fed6dceaee8a8602bfb81cd6a808 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 25 Aug 2022 12:20:44 +0300 Subject: [PATCH 627/915] update the followup form with correct relevance --- .../json.form-sw/cbhs_followup_form.json | 2 +- .../assets/json.form/cbhs_followup_form.json | 65 ++++++++++--------- .../assets/rule/cbhs_followup_form_rules.yml | 32 ++++----- 3 files changed, 50 insertions(+), 49 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json index 113ef00e6c..4d0dc9e782 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json @@ -134,7 +134,7 @@ }, { "name": "client_continues_with_clinic_from_elsewhere", - "text": "Anaendelea na huduma kutoka sehemu nyingine", + "text": "Anaendelea na huduma akitokea mahali pengine", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json index 4cbe2eea6b..3008712ebe 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json @@ -134,7 +134,7 @@ }, { "name": "client_continues_with_clinic_from_elsewhere", - "text": "Client continues with clinic from elsewhere", + "text": "Client continues with services coming from elsewhere", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "client_continues_with_clinic_from_elsewhere", @@ -1110,37 +1110,6 @@ "required_status": "yes:Please specify the state of HIV therapy", "subjects": "registration_or_followup_status:text" }, - { - "name": "comments_remarks", - "type": "text_input_edit_text", - "properties": { - "hint": "Comments and Remarks", - "type": "name" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "comments_remarks", - "openmrs_entity_parent": "" - }, - "required_status": "no" - }, - { - "name": "next_appointment_date", - "type": "datetime_picker", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "next_appointment_date", - "openmrs_entity_parent": "" - }, - "properties": { - "hint": "Next Appointment Date", - "type": "date_picker", - "display_format": "dd/MM/yyyy", - "min_date": "today", - "max_date": "today+3m" - }, - "required_status": "true:Please specify the next appointment date" - }, { "name": "client_moved_location", "type": "spinner", @@ -1167,6 +1136,20 @@ "required_status": "yes:Please select the moved to facility", "subjects": "registration_or_followup_status:text" }, + { + "name": "comments_remarks", + "type": "text_input_edit_text", + "properties": { + "hint": "Comments and Remarks", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "comments_remarks", + "openmrs_entity_parent": "" + }, + "required_status": "no" + }, { "name": "client_moved_location_other", "type": "text_input_edit_text", @@ -1181,6 +1164,24 @@ }, "required_status": "yes:Please enter the moved to facility", "subjects": "client_moved_location:text" + }, + { + "name": "next_appointment_date", + "type": "datetime_picker", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "next_appointment_date", + "openmrs_entity_parent": "" + }, + "properties": { + "hint": "Next Appointment Date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today", + "max_date": "today+3m" + }, + "required_status": "true:Please specify the next appointment date", + "subjects": "registration_or_followup_status:text" } ] } diff --git a/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml index ce57ad67d6..d8282b036b 100644 --- a/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml @@ -2,35 +2,35 @@ name: "client_condition_visibility" description: "client_condition visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - "client_condition_visibility = true" --- name: "client_hiv_status_after_testing_visibility" description: "client_hiv_status_after_testing visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - "client_hiv_status_after_testing_visibility = true" --- name: "client_tb_status_after_testing_visibility" description: "client_hiv_status_after_testing visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - "client_tb_status_after_testing_visibility = true" --- name: "ctc_number_visibility" description: "ctc_number visibility" priority: 1 -condition: "(registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.') && (client_hiv_status_after_testing.value == 'Positive' || client_hiv_status_after_testing.value == 'Chanya')" +condition: "(registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine') && (client_hiv_status_after_testing.value == 'Positive' || client_hiv_status_after_testing.value == 'Chanya')" actions: - "ctc_number_visibility = true" --- name: "health_problem_visibility" description: "health_problem visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - "health_problem_visibility = true" --- @@ -44,7 +44,7 @@ actions: name: "social_problem_visibility" description: "social_problem visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - "social_problem_visibility = true" --- @@ -58,7 +58,7 @@ actions: name: "supplies_provided_visibility" description: "supplies_provided visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - "supplies_provided_visibility = true" --- @@ -72,14 +72,14 @@ actions: name: "client_behaviour_and_environmental_risk_visibility" description: "client_behaviour_and_environmental_risk visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - "client_behaviour_and_environmental_risk_visibility = true" --- name: "medicine_provided_visibility" description: "medicine_provided visibility" priority: 1 -condition: "registration_or_followup_status.value=='New Client' || registration_or_followup_status.value=='Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - "medicine_provided_visibility = true" --- @@ -93,7 +93,7 @@ actions: name: "hiv_services_provided_visibility" description: "hiv_services_provided visibility" priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - "hiv_services_provided_visibility = true" --- @@ -107,7 +107,7 @@ actions: name: "referrals_issued_to_other_services_visibility" description: "referrals_issued_to_other_services visibility" priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - "referrals_issued_to_other_services_visibility = true" --- @@ -121,7 +121,7 @@ actions: name: "referrals_to_other_services_completed_visibility" description: "referrals_to_other_services_completed visibility" priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - "referrals_to_other_services_completed_visibility = true" --- @@ -135,7 +135,7 @@ actions: name: "state_of_therapy_visibility" description: "state_of_therapy visibility" priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - "state_of_therapy_visibility = true" --- @@ -149,21 +149,21 @@ actions: name: "client_moved_location_visibility" description: "client_moved_location visibility" priority: 1 -condition: "registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine' || registration_or_followup_status.value == 'Client continues with clinic from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine'" +condition: "registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine'" actions: - "client_moved_location_visibility = true" --- name: "client_moved_location_other_visibility" description: "client_moved_location visibility" priority: 1 -condition: "client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine') || client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client continues with clinic from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma kutoka sehemu nyingine')" +condition: "client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client has relocated to another location' || registration_or_followup_status.value == 'Amehamishiwa mahali pengine') || client_moved_location.value == 'Other' && (registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine')" actions: - "client_moved_location_other_visibility = true" --- name: "next_appointment_date_visibility" description: "next_appointment_date visibility" priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.'" +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - "next_appointment_date_visibility = true" --- From fd78bad7073965aaeacbc59ecaefb5e9458099b1 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 25 Aug 2022 12:43:26 +0300 Subject: [PATCH 628/915] :hammer: refactored pnc forms --- .../pnc_exclusive_breastfeeding.json | 62 ++++++++++++++----- .../json.form-sw/pnc_family_planning.json | 2 +- .../json.form-sw/pnc_malaria_prevention.json | 2 +- .../assets/json.form/pnc_counselling.json | 38 ++++++------ .../pnc_exclusive_breastfeeding.json | 62 ++++++++++++++----- .../json.form/pnc_malaria_prevention.json | 4 +- .../interactor/PncHomeVisitInteractorFlv.java | 2 +- 7 files changed, 118 insertions(+), 54 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_exclusive_breastfeeding.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_exclusive_breastfeeding.json index 1aec1f80c8..d9f1b0027b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_exclusive_breastfeeding.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_exclusive_breastfeeding.json @@ -51,24 +51,56 @@ "fields": [ { "key": "exclusive_breast_feeding", + "type": "native_radio", + "label": "Je, mtoto amekuwa akinyonya maziwa ya mama pekee?", + "openmrs_entity": "concept", + "openmrs_entity_id": "exclusive_breast_feeding", "openmrs_entity_parent": "", + "options": [ + { + "key": "Yes", + "text": "Yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "No", + "text": "No", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ] + }, + { + "key": "other_breast_feeding_options", + "type": "native_radio", + "label": "Chagua njia mbadala ya ulishaji ambayo mama anatumia", "openmrs_entity": "concept", - "openmrs_entity_id": "", - "openmrs_data_type": "exclusive_breast_feeding", - "type": "spinner", - "image": "ic_form_bf", - "hint": "Je, mtoto amekuwa akinyonya maziwa ya mama pekee?", - "values": [ - "Ndiyo", - "Hapana" - ], - "keys": [ - "Yes", - "No" + "openmrs_entity_id": "other_breast_feeding_options", + "openmrs_entity_parent": "", + "options": [ + { + "key": "mixed_feeding", + "text": "Kunyonyesha na vyakula vingine kwa pamoja chini ya miezi 6", + "openmrs_entity": "concept", + "openmrs_entity_id": "mixed_feeding" + }, + { + "key": "replacement_feeding", + "text": "Chakula mbadala", + "openmrs_entity": "concept", + "openmrs_entity_id": "replacement_feeding" + } ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "v_required": { + "value": "true", + "err": "Tafadhali jibu swali hili" + }, + "relevance": { + "step1:exclusive_breast_feeding": { + "type": "String", + "ex": "equalTo(.,\"No\")" + } } } ] diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json index c61800b0e4..22f4ce2d5e 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_family_planning.json @@ -178,7 +178,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "", "type": "toaster_notes", - "text": "Mshauri mteja juu ya utumiaji wa njia sahihi ya uzazi wa mpango kwa muda huu.\nMpe rufaa mte kwenda kituo cha afya kupewa njia sahihi ya uzazi wa mpango.", + "text": "Mshauri mteja juu ya utumiaji wa njia sahihi ya uzazi wa mpango kwa muda huu.\nMpe rufaa mteja kwenda kituo cha afya kupewa njia sahihi ya uzazi wa mpango.", "text_color": "#CF0800", "toaster_type": "problem", "relevance": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_malaria_prevention.json b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_malaria_prevention.json index 1838ef4c4b..34e021b8c7 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/pnc_malaria_prevention.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/pnc_malaria_prevention.json @@ -115,7 +115,7 @@ "hint": "Hali ya chandarua", "values": [ "Nzuri", - "Mbaya" + "Mbaya (Chandarua imechanika)" ], "keys": [ "Okay", diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json b/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json index e67ce373ea..e88594e6ab 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_counselling.json @@ -65,115 +65,115 @@ "options": [ { "key": "chk_maternal_nutrition", - "text": "3. Maternal nutrition during breastfeeding", + "text": "Maternal nutrition during breastfeeding", "openmrs_entity": "concept", "openmrs_entity_id": "1380AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_aids", - "text": "5. HIV/AIDS general information", + "text": "HIV/AIDS general information", "openmrs_entity": "concept", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pmtct", - "text": "6. PMTCT for the mother", + "text": "PMTCT for the mother", "openmrs_entity": "concept", "openmrs_entity_id": "160538AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_malaria_prevention", - "text": "7. Malaria prevention", + "text": "Malaria prevention", "openmrs_entity": "concept", "openmrs_entity_id": "164884AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pnc_care_for_mother", - "text": "9. PNC care for mother", + "text": "PNC care for mother", "openmrs_entity": "concept", "openmrs_entity_id": "1623AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_exposed_infant", - "text": "9. Follow-up for the HIV-exposed Infant", + "text": "Follow-up for the HIV-exposed Infant", "openmrs_entity": "concept", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_pnc_danger_signs", - "text": "10. PNC danger signs", + "text": "PNC danger signs", "openmrs_entity": "concept", "openmrs_entity_id": "161541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_care_of_infant_after_birth", - "text": "11. Care of infant after birth", + "text": "Care of infant after birth", "openmrs_entity": "concept", "openmrs_entity_id": "159839AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_care_of_premature_baby", - "text": "12. Care of a premature baby", + "text": "Care of a premature baby", "openmrs_entity": "concept", "openmrs_entity_id": "" }, { "key": "chk_care_of_new_born", - "text": "13. Care of a newborn", + "text": "Care of a newborn", "openmrs_entity": "concept", "openmrs_entity_id": "160413AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_new_born_danger_signs", - "text": "14. Newborn danger signs", + "text": "Newborn danger signs", "openmrs_entity": "concept", "openmrs_entity_id": "161071AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_hiv_exposed_infant", - "text": "15. Follow-up for the HIV-exposed infant", + "text": "Follow-up for the HIV-exposed infant", "openmrs_entity": "concept", "openmrs_entity_id": "164818AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_breastfeeding", - "text": "16. Breastfeeding", + "text": "Breastfeeding", "openmrs_entity": "concept", "openmrs_entity_id": "1910AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_lam", - "text": "17. LAM as a natural FP method, which includes exclusive breastfeeding six months after delivery", + "text": "LAM as a natural FP method, which includes exclusive breastfeeding six months after delivery", "openmrs_entity": "concept", "openmrs_entity_id": "161096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_family_planning", - "text": "18. Family planning", + "text": "Family planning", "openmrs_entity": "concept", "openmrs_entity_id": "1382AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_birth_registration", - "text": "19. Birth registration", + "text": "Birth registration", "openmrs_entity": "concept", "openmrs_entity_id": "165406AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_immunisation", - "text": "22. Immunisation", + "text": "Immunisation", "openmrs_entity": "concept", "openmrs_entity_id": "1914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_infection_prevention", - "text": "24. Infection prevention and control", + "text": "Infection prevention and control", "openmrs_entity": "concept", "openmrs_entity_id": "1906AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { "key": "chk_gender_issues", - "text": "26. Gender issues", + "text": "Gender issues", "openmrs_entity": "", "openmrs_entity_id": "" }, diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_exclusive_breastfeeding.json b/opensrp-chw/src/nacp/assets/json.form/pnc_exclusive_breastfeeding.json index dc0b8e3443..862e01c5d8 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_exclusive_breastfeeding.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_exclusive_breastfeeding.json @@ -51,24 +51,56 @@ "fields": [ { "key": "exclusive_breast_feeding", + "type": "native_radio", + "label": "Has the child been exclusively breastfed?", + "openmrs_entity": "concept", + "openmrs_entity_id": "exclusive_breast_feeding", "openmrs_entity_parent": "", + "options": [ + { + "key": "Yes", + "text": "Yes", + "openmrs_entity": "concept", + "openmrs_entity_id": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + { + "key": "No", + "text": "No", + "openmrs_entity": "concept", + "openmrs_entity_id": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + ] + }, + { + "key": "other_breast_feeding_options", + "type": "native_radio", + "label": "Select the alternative feeding method used by the mother", "openmrs_entity": "concept", - "openmrs_entity_id": "", - "openmrs_data_type": "exclusive_breast_feeding", - "type": "spinner", - "image": "ic_form_bf", - "hint": "Has the child been exclusively breastfeeding only?", - "values": [ - "Yes", - "No" - ], - "keys": [ - "Yes", - "No" + "openmrs_entity_id": "other_breast_feeding_options", + "openmrs_entity_parent": "", + "options": [ + { + "key": "mixed_feeding", + "text": "Mixed Feeding", + "openmrs_entity": "concept", + "openmrs_entity_id": "mixed_feeding" + }, + { + "key": "replacement_feeding", + "text": "Replacement Feeding", + "openmrs_entity": "concept", + "openmrs_entity_id": "replacement_feeding" + } ], - "openmrs_choice_ids": { - "Yes": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "No": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "v_required": { + "value": "true", + "err": "Tafadhali jibu swali hili" + }, + "relevance": { + "step1:exclusive_breast_feeding": { + "type": "String", + "ex": "equalTo(.,\"No\")" + } } } ] diff --git a/opensrp-chw/src/nacp/assets/json.form/pnc_malaria_prevention.json b/opensrp-chw/src/nacp/assets/json.form/pnc_malaria_prevention.json index f091f94a29..8711740702 100644 --- a/opensrp-chw/src/nacp/assets/json.form/pnc_malaria_prevention.json +++ b/opensrp-chw/src/nacp/assets/json.form/pnc_malaria_prevention.json @@ -114,8 +114,8 @@ "type": "spinner", "hint": "LLIN condition", "values": [ - "Okay", - "Bad" + "Good", + "Bad (Torn net)" ], "keys": [ "Okay", diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java index a6943e6da4..63fe17b239 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java @@ -455,7 +455,7 @@ public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { .withDetails(details) .withBaseEntityID(baby.getBaseEntityID()) .withProcessingMode(BaseAncHomeVisitAction.ProcessingMode.SEPARATE) - .withDestinationFragment(BaseAncHomeVisitFragment.getInstance(view, Constants.JSON_FORM.PNC_HOME_VISIT.getExclusiveBreastFeeding(), null, details, null)) + .withFormName(Constants.JSON_FORM.PNC_HOME_VISIT.getExclusiveBreastFeeding()) .withHelper(new ExclusiveBreastFeedingHelper(baby.getDob())) .build(); actionList.put(MessageFormat.format(context.getString(R.string.pnc_exclusive_breastfeeding), baby.getFullName()), action); From c16ce17f18524593fbfa539315780825764d1aaa Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 25 Aug 2022 13:00:45 +0300 Subject: [PATCH 629/915] :hammer: refactored PNC referralTypeModels in CBHS module --- .../smartregister/chw/activity/HivProfileActivity.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 620ce4fcf5..a8d6eab42c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -1,5 +1,8 @@ package org.smartregister.chw.activity; +import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; +import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; + import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -63,9 +66,6 @@ import timber.log.Timber; -import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; -import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; - public class HivProfileActivity extends CoreHivProfileActivity implements FamilyProfileExtendedContract.PresenterCallBack, OnRetrieveNotifications { @@ -422,8 +422,7 @@ private void addHivReferralTypes() { if (isClientEligibleForAnc(getHivMemberObject())) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.anc_danger_signs), org.smartregister.chw.util.Constants.JSON_FORM.getAncUnifiedReferralForm(), CoreConstants.TASKS_FOCUS.ANC_DANGER_SIGNS)); - referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_danger_signs), - CoreConstants.JSON_FORM.getPncReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); + referralTypeModels.add(new ReferralTypeModel(getString(R.string.pnc_referral), CoreConstants.JSON_FORM.getPncUnifiedReferralForm(), CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS)); if (!AncDao.isANCMember(getHivMemberObject().getBaseEntityId())) { referralTypeModels.add(new ReferralTypeModel(getString(R.string.pregnancy_confirmation), CoreConstants.JSON_FORM.getPregnancyConfirmationReferralForm(), CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION)); From 669b06328aa30181090e9ef52b544046a5323ebb Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 25 Aug 2022 13:01:01 +0300 Subject: [PATCH 630/915] :hammer: refactored string resources --- opensrp-chw/src/nacp/res/values-sw/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 9e137b5e8b..ca1ea4edfd 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -11,11 +11,11 @@ Huduma ya kuzuia ukatili wa kijinsia (dawati la jinsia) Huduma ya kuzuia ukatili wa kijinsia (dawati la jinsia) Imeumbwa: %s - UWANYU (CBHS) - Rudi kwenye wateja wa UWANYU - Wateja wa UWANYU + HUWANYU (CBHS) + Rudi kwenye wateja wa HUWANYU + Wateja wa HUWANYU Mabadiliko uliyoyafanya yatafutika - Rekodi za ufuatiliaji unaofanywa na UWANYU + Rekodi za ufuatiliaji unaofanywa na HUWANYU Ufuatiliaji Jaza fomu ya ufuatiliaji Taarifa za Kimaeneo @@ -25,14 +25,14 @@ Siku %1$s mpaka kufikia muda Ziara inayofuata ya ufuatiliaji wa Ufuatiliaji wa VVU - UWANYU (%2$s)]]> + HUWANYU (%2$s)]]> Hiari Ufuatiliji wa Mwenza Usajili wa Mwenza Rudi kwa Wateja wa Ufuatiliaji wa Mama Kinara Mama Kinara Rudi kwa Wateja wa Mama Kinara - Usajili wa UWANYU + Usajili wa HUWANYU Usajili wa baada ya Kujifungua Huduma za Kijamii Rufaa Zilizofanikiwa From 2d7f753762730af661921ce4283c59a51cb52b79 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 25 Aug 2022 14:58:37 +0300 Subject: [PATCH 631/915] fix: loading options menu in cbhs --- .../chw/activity/HivstProfileActivity.java | 45 ++++++++++++++++--- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java index 0d485021be..cadb7a86d5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivstProfileActivity.java @@ -9,8 +9,7 @@ import android.widget.LinearLayout; import org.apache.commons.lang3.StringUtils; -import androidx.annotation.NonNull; - +import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.R; @@ -26,10 +25,17 @@ import org.smartregister.chw.hivst.listener.OnClickFloatingMenu; import org.smartregister.chw.hivst.util.Constants; import org.smartregister.chw.util.HivstUtils; +import org.smartregister.chw.util.Utils; +import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.domain.AlertStatus; +import org.smartregister.family.util.DBConstants; +import androidx.annotation.NonNull; import timber.log.Timber; +import static org.smartregister.chw.core.utils.Utils.getCommonPersonObjectClient; +import static org.smartregister.chw.util.Utils.updateAgeAndGender; + public class HivstProfileActivity extends CoreHivstProfileActivity { @@ -49,6 +55,30 @@ protected void initializePresenter() { profilePresenter.refreshProfileBottom(); } + @Override + protected void startHivServicesRegistration() { + CommonPersonObjectClient commonPersonObjectClient = getCommonPersonObjectClient(memberObject.getBaseEntityId()); + String gender = Utils.getValue(commonPersonObjectClient.getColumnmaps(), DBConstants.KEY.GENDER, false); + String dob = Utils.getValue(commonPersonObjectClient.getColumnmaps(), DBConstants.KEY.DOB, false); + int age = Utils.getAgeFromDate(dob); + + try { + String formName = org.smartregister.chw.util.Constants.JsonForm.getCbhsRegistrationForm(); + JSONObject formJsonObject = (new com.vijay.jsonwizard.utils.FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName); + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + + updateAgeAndGender(fields, age, gender); + + HivRegisterActivity.startHIVFormActivity(this, memberObject.getBaseEntityId(), formName, formJsonObject.toString()); + } catch (JSONException e) { + Timber.e(e); + } catch (Exception e) { + e.printStackTrace(); + } + } + @Override protected Class getFamilyProfileActivityClass() { return null; @@ -83,6 +113,13 @@ public void onClick(View view) { } } + @Override + public boolean onCreateOptionsMenu(Menu menu) { + super.onCreateOptionsMenu(menu); + menu.findItem(org.smartregister.chw.core.R.id.action_cbhs_registration).setVisible(!HivDao.isRegisteredForHiv(memberObject.getBaseEntityId())); + return true; + } + @Override public void initializeFloatingMenu() { baseHivstFloatingMenu = new BaseHivstFloatingMenu(this, memberObject); @@ -122,10 +159,6 @@ protected void removeMember() { //implement } - @Override - public boolean onCreateOptionsMenu(Menu menu) { - return false; - } @NonNull @Override From b7225b61aa77ceec08436c060b9068fdcec24f99 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 25 Aug 2022 20:57:38 +0300 Subject: [PATCH 632/915] :hammer: enabled service report --- .../java/org/smartregister/chw/repository/ChwRepository.java | 2 +- .../org/smartregister/chw/custom_view/NavigationMenuFlv.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/repository/ChwRepository.java b/opensrp-chw/src/main/java/org/smartregister/chw/repository/ChwRepository.java index 1bd9bb649f..400d3d9aa2 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/repository/ChwRepository.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/repository/ChwRepository.java @@ -62,7 +62,7 @@ private static void upgradeToVersion2(SQLiteDatabase db) { boolean isUpdated = checkIfAppUpdated(); if (!indicatorDataInitialised || isUpdated) { - String indicatorsConfigFile = "config/cbhs-monthly-report.yml"; + String indicatorsConfigFile = "config/indicator-definitions.yml"; for (String configFile : Collections.unmodifiableList( Arrays.asList(indicatorsConfigFile))) { diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java index db5fc84b45..c612a21558 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java @@ -32,7 +32,7 @@ public HashMap getTableMapValues() { @Override public boolean hasServiceReport() { - return false; + return true; } @Override From ef8543ac39fc93bc3bc5c7a96be5e385df1e6f5e Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 26 Aug 2022 06:10:30 +0300 Subject: [PATCH 633/915] fix: conflicting formSubmissionIds issue --- opensrp-chw/src/nacp/assets/ec_client_fields.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 5b2018cfbf..0327f29e88 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -4269,7 +4269,8 @@ "column_name": "base_entity_id", "type": "Event", "json_mapping": { - "field": "formSubmissionId" + "field": "obs.fieldCode", + "concept": "result_reg_id" } }, { From ecab86d04ce74ced48745249df500cbc69e45555 Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 26 Aug 2022 16:08:36 +0300 Subject: [PATCH 634/915] fix: initial linking to cdp module --- opensrp-chw/build.gradle | 2 +- opensrp-chw/src/main/AndroidManifest.xml | 4 +++ .../chw/activity/CdpRegisterActivity.java | 23 ++++++++++++++++ .../chw/application/ChwApplication.java | 6 +++++ .../src/nacp/assets/ec_client_fields.json | 27 +++++++++++++++++++ .../chw/model/NavigationModelFlv.java | 5 ++-- 6 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpRegisterActivity.java diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 48e329b358..a5f0590391 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -346,7 +346,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.32.0-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.32.2-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 4002a6b35b..ed4c0ab95b 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -14,6 +14,10 @@ android:name=".activity.CBHSReportsViewActivity" android:exported="false" android:theme="@style/ChwTheme.NoActionBar" /> + (Arrays.asList(BuildConfig.DEBUG ? BuildConfig.ALLOWED_LOCATION_LEVELS_DEBUG : BuildConfig.ALLOWED_LOCATION_LEVELS)), BuildConfig.DEBUG ? BuildConfig.DEFAULT_LOCATION_DEBUG : BuildConfig.DEFAULT_LOCATION); @@ -354,6 +359,7 @@ public Map getRegisteredActivities() { registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.HIV_INDEX_REGISTER_ACTIVITY, HivIndexContactsContactsRegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.LTFU_REFERRALS_REGISTER_ACTIVITY, LTFURegisterActivity.class); registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.TB_REGISTER_ACTIVITY, TbRegisterActivity.class); + registeredActivities.put(CoreConstants.REGISTERED_ACTIVITIES.CDP_REGISTER_ACTIVITY, CdpRegisterActivity.class); } if (!BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 0bfae34807..721fff8964 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -4159,6 +4159,33 @@ } } ] + }, + { + "name": "ec_cdp_register", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + } + ] } ] } \ No newline at end of file diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java index 5eccefe623..1340cc19ac 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -36,6 +36,7 @@ public List getNavigationItems() { NavigationOption op13 = new NavigationOption(R.drawable.sidemenu_pmtct, R.drawable.sidemenu_pmtct_active, R.string.mother_champion, CoreConstants.DrawerMenu.MOTHER_CHAMPION, 0); NavigationOption op14 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); NavigationOption op15 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.menu_ltfu, Constants.DrawerMenu.LTFU, 0); + NavigationOption op17 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_cdp, CoreConstants.DrawerMenu.CDP, 0); if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { AllSharedPreferences allSharedPreferences = org.smartregister.util.Utils.getAllSharedPreferences(); @@ -43,9 +44,9 @@ public List getNavigationItems() { if (teamRoleIdentifier.equals("mother_champion")) { navigationOptions.addAll(Arrays.asList(op10, op13, op8)); } else if (teamRoleIdentifier.equals("cbhs_provider")) { - navigationOptions.addAll(Arrays.asList(op10, op11, op12, op8, op15)); + navigationOptions.addAll(Arrays.asList(op10, op11, op17, op12, op8, op15)); } else { - navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op2, op13, op8, op15)); + navigationOptions.addAll(Arrays.asList(op10, op1, op11, op17, op12, op3, op5, op2, op13, op8, op15)); } } else { navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); From d3de39b14930811f566e5af5dad1524f5fe04dae Mon Sep 17 00:00:00 2001 From: zk497 Date: Fri, 26 Aug 2022 16:13:16 +0300 Subject: [PATCH 635/915] CDP Outlet Registration form --- .../json.form/cdp_outlet_regisration.json | 210 ++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 opensrp-chw/src/nacp/assets/json.form/cdp_outlet_regisration.json diff --git a/opensrp-chw/src/nacp/assets/json.form/cdp_outlet_regisration.json b/opensrp-chw/src/nacp/assets/json.form/cdp_outlet_regisration.json new file mode 100644 index 0000000000..99fd467188 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/cdp_outlet_regisration.json @@ -0,0 +1,210 @@ +{ + "count": "1", + "encounter_type": "CDP Outlet Registration", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "global": {}, + "step1": { + "title": "Outlet Registration", + "fields": [ + { + "key": "outlet_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "outlet_name", + "type": "edit_text", + "hint": "Outlet name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the outlet name" + } + }, + { + "key": "outlet_ward_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "outlet_ward_name", + "type": "edit_text", + "hint": "Outlet ward name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the outlet ward name" + } + }, + { + "key": "outlet_village_street_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "outlet_village_street_name", + "type": "edit_text", + "hint": "Outlet Village/Street name", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Please enter the outlet village/street name" + } + }, + { + "key": "focal_person_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "focal_person_name", + "type": "edit_text", + "hint": "Focal person's name", + "edit_type": "name", + "v_regex": { + "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", + "err": "Please enter a valid name" + }, + "v_required": { + "value": "true", + "err": "Please enter the name" + } + }, + { + "key": "focal_person_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "focal_person_phone", + "type": "edit_text", + "hint": "Focal person's phone number", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][1-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + }, + "v_required": { + "value": "true", + "err": "Please enter the phone number" + } + }, + { + "key": "gps", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gps", + "openmrs_data_type": "text", + "type": "gps" + }, + { + "key": "outlet_type", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "outlet_type", + "label": "Select outlet type", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "hotel", + "text": "Hotel", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "hotel" + }, + { + "key": "bar", + "text": "Bar", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "bar" + }, + { + "key": "lodge", + "text": "Lodge", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "lodge" + }, + { + "key": "guest_house", + "text": "Guest house", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "guest_house" + }, + { + "key": "brothels", + "text": "Brothels", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "brothels" + }, + { + "key": "other", + "text": "Other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other" + } + ], + "v_required": { + "value": "true", + "err": "Please select an outlet type" + } + }, + { + "key": "other_outlet_type", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_outlet_type", + "type": "edit_text", + "hint": "Other", + "v_required": { + "value": "true", + "err": "Please enter the other outlet type" + }, + "relevance": { + "step1:outlet_type": { + "type": "string", + "ex": "equalTo(., \"other\")" + } + } + } + ] + } +} \ No newline at end of file From 123ae851f0a6da2ffd54931940499b76415e074d Mon Sep 17 00:00:00 2001 From: Billy Date: Fri, 26 Aug 2022 17:09:20 +0300 Subject: [PATCH 636/915] fix: loading outlet forms --- .../smartregister/chw/activity/CdpRegisterActivity.java | 9 +++++++++ ...let_regisration.json => cdp_outlet_registration.json} | 0 2 files changed, 9 insertions(+) rename opensrp-chw/src/nacp/assets/json.form/{cdp_outlet_regisration.json => cdp_outlet_registration.json} (100%) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpRegisterActivity.java index 6576f24fd3..cd40cc5a68 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpRegisterActivity.java @@ -1,8 +1,11 @@ package org.smartregister.chw.activity; +import org.json.JSONObject; +import org.smartregister.chw.cdp.util.Constants; import org.smartregister.chw.core.activity.CoreCdpRegisterActivity; import org.smartregister.chw.core.fragment.CoreCdpRegisterFragment; import org.smartregister.chw.core.fragment.CoreOrdersRegisterFragment; +import org.smartregister.chw.core.utils.FormUtils; import org.smartregister.view.fragment.BaseRegisterFragment; import androidx.fragment.app.Fragment; @@ -20,4 +23,10 @@ protected Fragment[] getOtherFragments() { new CoreOrdersRegisterFragment() }; } + + @Override + public void startOutletForm() { + JSONObject form = FormUtils.getFormUtils().getFormJson(Constants.FORMS.CDP_OUTLET_REGISTRATION); + startFormActivity(form); + } } diff --git a/opensrp-chw/src/nacp/assets/json.form/cdp_outlet_regisration.json b/opensrp-chw/src/nacp/assets/json.form/cdp_outlet_registration.json similarity index 100% rename from opensrp-chw/src/nacp/assets/json.form/cdp_outlet_regisration.json rename to opensrp-chw/src/nacp/assets/json.form/cdp_outlet_registration.json From 8661c85439f303a156339f353df1fea42b08b233 Mon Sep 17 00:00:00 2001 From: zk497 Date: Fri, 26 Aug 2022 20:11:57 +0300 Subject: [PATCH 637/915] Minor hint fix --- .../src/nacp/assets/json.form/anc_hv_family_planning.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_hv_family_planning.json b/opensrp-chw/src/nacp/assets/json.form/anc_hv_family_planning.json index b3390a0590..d4b3d6511b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_hv_family_planning.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_hv_family_planning.json @@ -56,7 +56,7 @@ "openmrs_entity_id": "fam_planning", "openmrs_data_type": "select one", "type": "spinner", - "hint": "Was the mother advised on family planning when she visited the health visit?", + "hint": "Was the mother advised on family planning when she visited the health facility?", "values": [ "Yes", "No" From 63ea8618865e9a8fa68c701af8874cd89d28566c Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sat, 27 Aug 2022 03:06:37 +0300 Subject: [PATCH 638/915] :arrow_up: updated chw-core dependencies --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 48e329b358..a4ace6ef16 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -346,7 +346,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.32.0-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.32.1-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From a643e2616e6a11580ce9f4f01ba0b3fd038cf1df Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sat, 27 Aug 2022 08:19:19 +0300 Subject: [PATCH 639/915] :construction: updated PNC child duration to 42 days from 28 days --- .../java/org/smartregister/chw/dao/PersonDao.java | 6 ++++-- .../java/org/smartregister/chw/dao/ReportDao.java | 12 ++++++------ .../java/org/smartregister/chw/domain/PncBaby.java | 8 +++++++- .../presenter/FamilyProfileMemberPresenter.java | 2 +- .../smartregister/chw/util/ChildDBConstants.java | 2 +- opensrp-chw/src/nacp/assets/vaccines.json | 14 +++++++------- .../chw/interactor/PncHomeVisitInteractorFlv.java | 2 +- .../ChildRegisterFragmentPresenterTest.java | 12 ++++++------ 8 files changed, 33 insertions(+), 25 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/PersonDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/PersonDao.java index 326c9d5184..e56930abc4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/PersonDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/PersonDao.java @@ -2,6 +2,7 @@ import org.smartregister.chw.core.domain.Person; import org.smartregister.chw.domain.PncBaby; +import org.smartregister.chw.pnc.util.Constants; import org.smartregister.dao.AbstractDao; import java.text.ParseException; @@ -52,7 +53,7 @@ public static List getMothersPNCBabies(String baseEntityID) { "inner join ec_family_member on ec_child.base_entity_id = ec_family_member.base_entity_id " + "where ec_child.mother_entity_id = '" + baseEntityID + "'" + " COLLATE NOCASE " + "and ec_child.date_removed is null and ec_family_member.date_removed is null " + - "and date(ec_child.dob, '+28 days') >= date() " + + "and date(ec_child.dob, '+42 days') >= date() " + "order by ec_family_member.first_name ASC, ec_family_member.last_name , ec_family_member.middle_name "; DataMap dataMap = c -> { @@ -68,7 +69,8 @@ public static List getMothersPNCBabies(String baseEntityID) { getCursorValue(c, "last_name"), getCursorValue(c, "middle_name"), dob, - getCursorValue(c,"low_birth_weight") + getCursorValue(c, "low_birth_weight"), + getCursorValue(c, Constants.KEY.GENDER) ); }; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java index 351ee2bfd1..37fb9ecd26 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java @@ -529,7 +529,7 @@ private static String getChildrenExclusiveBreastFeeding() { "where rt.type = 'Exclusive_breastfeeding' and ifnull(re.value,'yes') = 'yes'\n" + "group by re.base_entity_id\n" + ") ex on ex.base_entity_id = e.baseEntityId and SUBSTR(e.eventDate,1,10) between date(ex.last_exclusive_date, '-1 day') and date(ex.last_exclusive_date, '1 day')\n" + - "where (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+28 days') <= date()))\n" + + "where (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+42 days') <= date()))\n" + "and date(ec.dob) between date('now', '-5 month') and date('now')"; } @@ -552,7 +552,7 @@ private static String getChildrenNotExclusiveBreastFeeding() { "where rt.type = 'Exclusive_breastfeeding' and ifnull(re.value,'yes') = 'yes'\n" + "group by re.base_entity_id\n" + ") ex on ex.base_entity_id = e.baseEntityId and SUBSTR(e.eventDate,1,10) between date(ex.last_exclusive_date, '-1 day') and date(ex.last_exclusive_date, '1 day')\n" + - "where (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+28 days') <= date()))\n" + + "where (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+42 days') <= date()))\n" + "and date(ec.dob) between date('now', '-5 month') and date('now') and ex.base_entity_id is null"; } @@ -561,7 +561,7 @@ private static String getChildrenVitaminAReceived() { "f.first_name family_name , ec.dob \n" + "from recurring_service_types rt \n" + "inner join recurring_service_records re on re.recurring_service_id = rt._id \n" + - "inner join ec_child ec on ec.base_entity_id = re.base_entity_id and (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+28 days') <= date())) \n" + + "inner join ec_child ec on ec.base_entity_id = re.base_entity_id and (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+42 days') <= date())) \n" + "inner join ec_family_member ef on ec.base_entity_id = ef.base_entity_id and ef.date_removed is null \n" + "inner join ec_family f on ec.relational_id = f.base_entity_id \n" + "where rt.type = 'Vitamin_A' and date(ec.dob) between date('now', '-23 month') and date('now', '-6 month') \n" + @@ -575,7 +575,7 @@ private static String getChildrenVitaminANotReceived() { "from ec_child ec \n" + "left join ec_family f on ec.relational_id = f.base_entity_id \n" + "inner join ec_family_member ef on ec.base_entity_id = ef.base_entity_id and ef.date_removed is null \n" + - "where (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+28 days') <= date())) \n" + + "where (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+42 days') <= date())) \n" + "and date(ec.dob) between date('now', '-23 month') and date('now', '-6 month') \n" + "and ec.base_entity_id not in ( \n" + "select re.base_entity_id from recurring_service_records re \n" + @@ -589,7 +589,7 @@ private static String getChildrenDewormed() { "f.first_name family_name , ec.dob \n" + "from recurring_service_types rt \n" + "inner join recurring_service_records re on re.recurring_service_id = rt._id \n" + - "inner join ec_child ec on ec.base_entity_id = re.base_entity_id and (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+28 days') <= date())) \n" + + "inner join ec_child ec on ec.base_entity_id = re.base_entity_id and (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+42 days') <= date())) \n" + "inner join ec_family_member ef on ec.base_entity_id = ef.base_entity_id and ef.date_removed is null \n" + "inner join ec_family f on ec.relational_id = f.base_entity_id \n" + "where rt.type = 'Deworming' and date(ec.dob) between date('now', '-23 month') and date('now', '-12 month') \n" + @@ -603,7 +603,7 @@ private static String getChildrenNotDewormed() { "from ec_child ec \n" + "left join ec_family f on ec.relational_id = f.base_entity_id \n" + "inner join ec_family_member ef on ec.base_entity_id = ef.base_entity_id and ef.date_removed is null \n" + - "where (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+28 days') <= date())) \n" + + "where (( ifnull(ec.entry_point,'') <> 'PNC' ) or (ifnull(ec.entry_point,'') = 'PNC' and date(ec.dob, '+42 days') <= date())) \n" + "and date(ec.dob) between date('now', '-23 month') and date('now', '-12 month') \n" + "and ec.base_entity_id not in ( \n" + "select re.base_entity_id from recurring_service_records re \n" + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/PncBaby.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/PncBaby.java index b9e041b6e2..f3f15862ea 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/PncBaby.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/PncBaby.java @@ -6,13 +6,19 @@ public class PncBaby extends Person { private String lbw; + private String gender; - public PncBaby(String baseEntityID, String firstName, String lastName, String middleName, Date dob, String lbw) { + public PncBaby(String baseEntityID, String firstName, String lastName, String middleName, Date dob, String gender, String lbw) { super(baseEntityID, firstName, lastName, middleName, dob); this.lbw = lbw; + this.gender = gender; } public String getLbw() { return lbw; } + + public String getGender() { + return gender; + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/FamilyProfileMemberPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/FamilyProfileMemberPresenter.java index a4923886b3..eec3ad67fb 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/FamilyProfileMemberPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/FamilyProfileMemberPresenter.java @@ -28,6 +28,6 @@ public String getMainCondition() { } public String getChildFilter() { - return " and (( ifnull(" + CoreConstants.TABLE_NAME.CHILD + "." + ChildDBConstants.KEY.ENTRY_POINT + ",'') <> 'PNC' ) or (ifnull(" + CoreConstants.TABLE_NAME.CHILD + "." + ChildDBConstants.KEY.ENTRY_POINT + ",'') = 'PNC' and ( date(" + CoreConstants.TABLE_NAME.CHILD + "." + DBConstants.KEY.DOB + ", '+28 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = " + CoreConstants.TABLE_NAME.CHILD + "." + ChildDBConstants.KEY.MOTHER_ENTITY_ID + " ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) " ; + return " and (( ifnull(" + CoreConstants.TABLE_NAME.CHILD + "." + ChildDBConstants.KEY.ENTRY_POINT + ",'') <> 'PNC' ) or (ifnull(" + CoreConstants.TABLE_NAME.CHILD + "." + ChildDBConstants.KEY.ENTRY_POINT + ",'') = 'PNC' and ( date(" + CoreConstants.TABLE_NAME.CHILD + "." + DBConstants.KEY.DOB + ", '+42 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = " + CoreConstants.TABLE_NAME.CHILD + "." + ChildDBConstants.KEY.MOTHER_ENTITY_ID + " ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) " ; } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChildDBConstants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChildDBConstants.java index 8bed89e658..1168b7a828 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChildDBConstants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChildDBConstants.java @@ -18,7 +18,7 @@ public static String childDueVaccinesFilterForChildrenBelowTwoAndGirlsAgeNineToE private static String childDueVaccinesFilterForChildrenBelowTwoAndGirlsAgeNineToEleven(String dateColumn, String entryPoint, String motherEntityId) { return " (( ifnull(" + CoreConstants.TABLE_NAME.CHILD + "." + entryPoint + ",'') <> 'PNC' ) " + " or (ifnull(" + CoreConstants.TABLE_NAME.CHILD + "." + entryPoint + ",'') = 'PNC'" + - " and ( date(" + CoreConstants.TABLE_NAME.CHILD + "." + dateColumn + ", '+28 days') <= date() " + + " and ( date(" + CoreConstants.TABLE_NAME.CHILD + "." + dateColumn + ", '+42 days') <= date() " + " and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = " + CoreConstants.TABLE_NAME.CHILD + "." + motherEntityId + " ) = 0))) " + " or (ifnull(ec_child.entry_point,'') = 'PNC' " + " and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) " + diff --git a/opensrp-chw/src/nacp/assets/vaccines.json b/opensrp-chw/src/nacp/assets/vaccines.json index 79df10712b..4c0e3638ae 100644 --- a/opensrp-chw/src/nacp/assets/vaccines.json +++ b/opensrp-chw/src/nacp/assets/vaccines.json @@ -217,7 +217,7 @@ { "reference": "prerequisite", "prerequisite": "OPV 1", - "offset": "+28d", + "offset": "+42d", "window": "+10d" } ], @@ -248,7 +248,7 @@ { "reference": "prerequisite", "prerequisite": "PCV 1", - "offset": "+28d", + "offset": "+42d", "window": "+10d" } ], @@ -279,7 +279,7 @@ { "reference": "prerequisite", "prerequisite": "Penta 1", - "offset": "+28d", + "offset": "+42d", "window": "+10d" } ], @@ -310,7 +310,7 @@ { "reference": "prerequisite", "prerequisite": "Rota 1", - "offset": "+28d", + "offset": "+42d", "window": "+10d" } ], @@ -348,7 +348,7 @@ { "reference": "prerequisite", "prerequisite": "OPV 2", - "offset": "+28d", + "offset": "+42d", "window": "+10d" } ], @@ -379,7 +379,7 @@ { "reference": "prerequisite", "prerequisite": "PCV 2", - "offset": "+28d", + "offset": "+42d", "window": "+10d" } ], @@ -410,7 +410,7 @@ { "reference": "prerequisite", "prerequisite": "Penta 2", - "offset": "+28d", + "offset": "+42d", "window": "+10d" } ], diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java index 63fe17b239..4d9482bcaa 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java @@ -51,7 +51,7 @@ import timber.log.Timber; public class PncHomeVisitInteractorFlv extends DefaultPncHomeVisitInteractorFlv { - public static final int DURATION_OF_CHILD_IN_PNC = 28; + public static final int DURATION_OF_CHILD_IN_PNC = 42; protected List children; protected BaseAncHomeVisitContract.View view; private final HashMap dangerSignsEvaluationResults = new HashMap<>(); diff --git a/opensrp-chw/src/test/java/org/smartregister/chw/presenter/ChildRegisterFragmentPresenterTest.java b/opensrp-chw/src/test/java/org/smartregister/chw/presenter/ChildRegisterFragmentPresenterTest.java index 4834111ba7..bba0a96e13 100644 --- a/opensrp-chw/src/test/java/org/smartregister/chw/presenter/ChildRegisterFragmentPresenterTest.java +++ b/opensrp-chw/src/test/java/org/smartregister/chw/presenter/ChildRegisterFragmentPresenterTest.java @@ -29,10 +29,10 @@ public void setUp() { public void testMainCondition() { String tableName = "table_a"; if (ChwApplication.getApplicationFlavor().dueVaccinesFilterInChildRegister()) { - Assert.assertEquals(" table_a.date_removed is null AND (( ifnull(ec_child.table_a.entry_point,'') <> 'PNC' ) or (ifnull(ec_child.table_a.entry_point,'') = 'PNC' and ( date(ec_child.table_a.dob, '+28 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.table_a.mother_entity_id ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) and CASE WHEN ec_child.gender = 'Male' THEN (((( julianday('now') - julianday(ec_child.dob))/365.25) < +5) and ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent')) > date())) WHEN ec_child.gender = 'Female' THEN (((( julianday('now') - julianday(ec_child.dob))/365.25) < +5) and ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent')) > date())) OR (SELECT ( ((julianday('now') - julianday(ec_child.dob))/365.25) BETWEEN 9 AND 11) AND ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent') and alerts.scheduleName = 'HPV') > date())) END", + Assert.assertEquals(" table_a.date_removed is null AND (( ifnull(ec_child.table_a.entry_point,'') <> 'PNC' ) or (ifnull(ec_child.table_a.entry_point,'') = 'PNC' and ( date(ec_child.table_a.dob, '+42 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.table_a.mother_entity_id ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) and CASE WHEN ec_child.gender = 'Male' THEN (((( julianday('now') - julianday(ec_child.dob))/365.25) < +5) and ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent')) > date())) WHEN ec_child.gender = 'Female' THEN (((( julianday('now') - julianday(ec_child.dob))/365.25) < +5) and ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent')) > date())) OR (SELECT ( ((julianday('now') - julianday(ec_child.dob))/365.25) BETWEEN 9 AND 11) AND ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent') and alerts.scheduleName = 'HPV') > date())) END", presenter.getMainCondition(tableName)); } else { - Assert.assertEquals(" table_a.date_removed is null AND ((( julianday('now') - julianday(ec_child.table_a.dob))/365.25) <5) and (( ifnull(ec_child.table_a.entry_point,'') <> 'PNC' ) or (ifnull(ec_child.table_a.entry_point,'') = 'PNC' and ( date(ec_child.table_a.dob, '+28 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.table_a.mother_entity_id ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) and ((( julianday('now') - julianday(ec_child.table_a.dob))/365.25) < 5) ", + Assert.assertEquals(" table_a.date_removed is null AND ((( julianday('now') - julianday(ec_child.table_a.dob))/365.25) <5) and (( ifnull(ec_child.table_a.entry_point,'') <> 'PNC' ) or (ifnull(ec_child.table_a.entry_point,'') = 'PNC' and ( date(ec_child.table_a.dob, '+42 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.table_a.mother_entity_id ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) and ((( julianday('now') - julianday(ec_child.table_a.dob))/365.25) < 5) ", presenter.getMainCondition(tableName)); } } @@ -41,10 +41,10 @@ public void testMainCondition() { public void testMainConditionWithTableName() { String tableName = "table_a"; if (ChwApplication.getApplicationFlavor().dueVaccinesFilterInChildRegister()) { - Assert.assertEquals(" table_a.date_removed is null AND (( ifnull(ec_child.table_a.entry_point,'') <> 'PNC' ) or (ifnull(ec_child.table_a.entry_point,'') = 'PNC' and ( date(ec_child.table_a.dob, '+28 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.table_a.mother_entity_id ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) and CASE WHEN ec_child.gender = 'Male' THEN (((( julianday('now') - julianday(ec_child.dob))/365.25) < +5) and ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent')) > date())) WHEN ec_child.gender = 'Female' THEN (((( julianday('now') - julianday(ec_child.dob))/365.25) < +5) and ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent')) > date())) OR (SELECT ( ((julianday('now') - julianday(ec_child.dob))/365.25) BETWEEN 9 AND 11) AND ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent') and alerts.scheduleName = 'HPV') > date())) END", + Assert.assertEquals(" table_a.date_removed is null AND (( ifnull(ec_child.table_a.entry_point,'') <> 'PNC' ) or (ifnull(ec_child.table_a.entry_point,'') = 'PNC' and ( date(ec_child.table_a.dob, '+42 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.table_a.mother_entity_id ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) and CASE WHEN ec_child.gender = 'Male' THEN (((( julianday('now') - julianday(ec_child.dob))/365.25) < +5) and ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent')) > date())) WHEN ec_child.gender = 'Female' THEN (((( julianday('now') - julianday(ec_child.dob))/365.25) < +5) and ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent')) > date())) OR (SELECT ( ((julianday('now') - julianday(ec_child.dob))/365.25) BETWEEN 9 AND 11) AND ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent') and alerts.scheduleName = 'HPV') > date())) END", presenter.getMainCondition(tableName)); } else { - Assert.assertEquals(" table_a.date_removed is null AND ((( julianday('now') - julianday(ec_child.table_a.dob))/365.25) <5) and (( ifnull(ec_child.table_a.entry_point,'') <> 'PNC' ) or (ifnull(ec_child.table_a.entry_point,'') = 'PNC' and ( date(ec_child.table_a.dob, '+28 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.table_a.mother_entity_id ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) and ((( julianday('now') - julianday(ec_child.table_a.dob))/365.25) < 5) ", + Assert.assertEquals(" table_a.date_removed is null AND ((( julianday('now') - julianday(ec_child.table_a.dob))/365.25) <5) and (( ifnull(ec_child.table_a.entry_point,'') <> 'PNC' ) or (ifnull(ec_child.table_a.entry_point,'') = 'PNC' and ( date(ec_child.table_a.dob, '+42 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.table_a.mother_entity_id ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) and ((( julianday('now') - julianday(ec_child.table_a.dob))/365.25) < 5) ", presenter.getMainCondition(tableName)); } } @@ -58,10 +58,10 @@ public void testDefaultSortQuery() { @Test public void testDueAndFilterCondition() { if (ChwApplication.getApplicationFlavor().dueVaccinesFilterInChildRegister()) { - Assert.assertEquals(" ec_child.date_removed is null AND (( ifnull(ec_child.entry_point,'') <> 'PNC' ) or (ifnull(ec_child.entry_point,'') = 'PNC' and ( date(ec_child.dob, '+28 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) and CASE WHEN ec_child.gender = 'Male' THEN (((( julianday('now') - julianday(ec_child.dob))/365.25) < +5) and ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent')) > date())) WHEN ec_child.gender = 'Female' THEN (((( julianday('now') - julianday(ec_child.dob))/365.25) < +5) and ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent')) > date())) OR (SELECT ( ((julianday('now') - julianday(ec_child.dob))/365.25) BETWEEN 9 AND 11) AND ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent') and alerts.scheduleName = 'HPV') > date())) END AND (( IFNULL(STRFTIME('%Y%m%d%H%M%S', datetime((last_home_visit)/1000,'unixepoch')),0) < STRFTIME('%Y%m%d%H%M%S', datetime('now','start of month')) AND IFNULL(STRFTIME('%Y%m%d%H%M%S', datetime((visit_not_done)/1000,'unixepoch')),0) < STRFTIME('%Y%m%d%H%M%S', datetime('now','start of month')) ))", + Assert.assertEquals(" ec_child.date_removed is null AND (( ifnull(ec_child.entry_point,'') <> 'PNC' ) or (ifnull(ec_child.entry_point,'') = 'PNC' and ( date(ec_child.dob, '+42 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) and CASE WHEN ec_child.gender = 'Male' THEN (((( julianday('now') - julianday(ec_child.dob))/365.25) < +5) and ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent')) > date())) WHEN ec_child.gender = 'Female' THEN (((( julianday('now') - julianday(ec_child.dob))/365.25) < +5) and ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent')) > date())) OR (SELECT ( ((julianday('now') - julianday(ec_child.dob))/365.25) BETWEEN 9 AND 11) AND ((SELECT alerts.expiryDate FROM alerts WHERE alerts.caseID = ec_child.base_entity_id and alerts.status in ('normal','urgent') and alerts.scheduleName = 'HPV') > date())) END AND (( IFNULL(STRFTIME('%Y%m%d%H%M%S', datetime((last_home_visit)/1000,'unixepoch')),0) < STRFTIME('%Y%m%d%H%M%S', datetime('now','start of month')) AND IFNULL(STRFTIME('%Y%m%d%H%M%S', datetime((visit_not_done)/1000,'unixepoch')),0) < STRFTIME('%Y%m%d%H%M%S', datetime('now','start of month')) ))", presenter.getDueFilterCondition()); } else { - Assert.assertEquals(" ec_child.date_removed is null AND ((( julianday('now') - julianday(ec_child.dob))/365.25) <5) and (( ifnull(ec_child.entry_point,'') <> 'PNC' ) or (ifnull(ec_child.entry_point,'') = 'PNC' and ( date(ec_child.dob, '+28 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) and ((( julianday('now') - julianday(ec_child.dob))/365.25) < 5) AND (( IFNULL(STRFTIME('%Y%m%d%H%M%S', datetime((last_home_visit)/1000,'unixepoch')),0) < STRFTIME('%Y%m%d%H%M%S', datetime('now','start of month')) AND IFNULL(STRFTIME('%Y%m%d%H%M%S', datetime((visit_not_done)/1000,'unixepoch')),0) < STRFTIME('%Y%m%d%H%M%S', datetime('now','start of month')) ))", + Assert.assertEquals(" ec_child.date_removed is null AND ((( julianday('now') - julianday(ec_child.dob))/365.25) <5) and (( ifnull(ec_child.entry_point,'') <> 'PNC' ) or (ifnull(ec_child.entry_point,'') = 'PNC' and ( date(ec_child.dob, '+42 days') <= date() and ((SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 0))) or (ifnull(ec_child.entry_point,'') = 'PNC' and (SELECT is_closed FROM ec_family_member WHERE base_entity_id = ec_child.mother_entity_id ) = 1)) and ((( julianday('now') - julianday(ec_child.dob))/365.25) < 5) AND (( IFNULL(STRFTIME('%Y%m%d%H%M%S', datetime((last_home_visit)/1000,'unixepoch')),0) < STRFTIME('%Y%m%d%H%M%S', datetime('now','start of month')) AND IFNULL(STRFTIME('%Y%m%d%H%M%S', datetime((visit_not_done)/1000,'unixepoch')),0) < STRFTIME('%Y%m%d%H%M%S', datetime('now','start of month')) ))", presenter.getDueFilterCondition()); } } From 4a5f4b95e5c77756fdce38fa38c6288e05d00685 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sat, 27 Aug 2022 08:25:28 +0300 Subject: [PATCH 640/915] :arrow_up: updated chw-core dependencies --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index a4ace6ef16..a5f0590391 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -346,7 +346,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.32.1-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.32.2-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From f074fdac5f8fae661e0f4ca2cc75924816af9fb6 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 28 Aug 2022 11:27:06 +0300 Subject: [PATCH 641/915] fix: attribute naming for fields --- .../json.form/cdp_outlet_registration.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/cdp_outlet_registration.json b/opensrp-chw/src/nacp/assets/json.form/cdp_outlet_registration.json index 99fd467188..13fb8f8f5f 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cdp_outlet_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/cdp_outlet_registration.json @@ -48,7 +48,7 @@ { "key": "outlet_name", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "outlet_attribute", "openmrs_entity_id": "outlet_name", "type": "edit_text", "hint": "Outlet name", @@ -61,7 +61,7 @@ { "key": "outlet_ward_name", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "outlet_attribute", "openmrs_entity_id": "outlet_ward_name", "type": "edit_text", "hint": "Outlet ward name", @@ -74,7 +74,7 @@ { "key": "outlet_village_street_name", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "outlet_attribute", "openmrs_entity_id": "outlet_village_street_name", "type": "edit_text", "hint": "Outlet Village/Street name", @@ -87,7 +87,7 @@ { "key": "focal_person_name", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "outlet_attribute", "openmrs_entity_id": "focal_person_name", "type": "edit_text", "hint": "Focal person's name", @@ -104,7 +104,7 @@ { "key": "focal_person_phone", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "outlet_attribute", "openmrs_entity_id": "focal_person_phone", "type": "edit_text", "hint": "Focal person's phone number", @@ -133,7 +133,7 @@ { "key": "outlet_type", "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity": "outlet_attribute", "openmrs_entity_id": "outlet_type", "label": "Select outlet type", "text_color": "#000000", @@ -189,8 +189,8 @@ }, { "key": "other_outlet_type", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", + "openmrs_entity_parent": "outlet_type", + "openmrs_entity": "outlet_attribute", "openmrs_entity_id": "other_outlet_type", "type": "edit_text", "hint": "Other", From d9ff51328504044a54c86ecd458abcc98be9090a Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 28 Aug 2022 11:27:35 +0300 Subject: [PATCH 642/915] fix: defined the outlet table and classification --- .../nacp/assets/ec_client_classification.json | 7 ++ .../src/nacp/assets/ec_client_fields.json | 82 +++++++++++++++++++ 2 files changed, 89 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index f7dfca7ef2..eb78e8dfbe 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -570,6 +570,13 @@ "creates_case": [ "ec_sbcc" ] + }, + { + "field": "eventType", + "field_value": "CDP Outlet Registration", + "creates_case": [ + "ec_cdp_outlet" + ] } ] } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 721fff8964..cab789d53f 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -4160,6 +4160,88 @@ } ] }, + { + "name": "ec_cdp_outlet", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Client", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "unique_id", + "type": "Client", + "json_mapping": { + "field": "identifiers.opensrp_id" + } + }, + { + "column_name": "outlet_name", + "type": "Client", + "json_mapping": { + "field": "attributes.outlet_name" + } + }, + { + "column_name": "outlet_ward_name", + "type": "Client", + "json_mapping": { + "field": "attributes.outlet_ward_name" + } + }, + { + "column_name": "outlet_village_street_name", + "type": "Client", + "json_mapping": { + "field": "attributes.outlet_village_street_name" + } + }, + { + "column_name": "focal_person_name", + "type": "Client", + "json_mapping": { + "field": "attributes.focal_person_name" + } + }, + { + "column_name": "focal_person_phone", + "type": "Client", + "json_mapping": { + "field": "attributes.focal_person_phone" + } + }, + { + "column_name": "outlet_type", + "type": "Client", + "json_mapping": { + "field": "attributes.outlet_type" + } + }, + { + "column_name": "entity_type", + "type": "Event", + "json_mapping": { + "field": "entityType" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "date_removed", + "type": "Client", + "json_mapping": { + "field": "attributes.dateRemoved" + } + } + ] + }, { "name": "ec_cdp_register", "columns": [ From 1d50aec1bc8ea9c061684a6eed99065f2a5f5c85 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 28 Aug 2022 12:05:09 +0300 Subject: [PATCH 643/915] fix: showing the ID as readonly --- .../nacp/assets/json.form/cdp_outlet_registration.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form/cdp_outlet_registration.json b/opensrp-chw/src/nacp/assets/json.form/cdp_outlet_registration.json index 13fb8f8f5f..5b9f3577cb 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cdp_outlet_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/cdp_outlet_registration.json @@ -45,6 +45,15 @@ "step1": { "title": "Outlet Registration", "fields": [ + { + "key": "unique_id", + "openmrs_entity_parent": "", + "openmrs_entity": "outlet_identifier", + "openmrs_entity_id": "opensrp_id", + "type": "edit_text", + "read_only": "true", + "hint": "ID" + }, { "key": "outlet_name", "openmrs_entity_parent": "", From 63e6ce9a02c4c9599edcac6533a08a6cc1b4459a Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 28 Aug 2022 12:05:30 +0300 Subject: [PATCH 644/915] fix: loading the form with the unique id passed --- .../org/smartregister/chw/activity/CdpRegisterActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpRegisterActivity.java index cd40cc5a68..7b86b1817c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpRegisterActivity.java @@ -27,6 +27,6 @@ protected Fragment[] getOtherFragments() { @Override public void startOutletForm() { JSONObject form = FormUtils.getFormUtils().getFormJson(Constants.FORMS.CDP_OUTLET_REGISTRATION); - startFormActivity(form); + startFormActivity(form, Constants.FORMS.CDP_OUTLET_REGISTRATION); } } From 96d0eb13d6a88fefb8f20e43f25683929e47ef13 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 28 Aug 2022 12:06:10 +0300 Subject: [PATCH 645/915] cleanup: remove unused import --- .../java/org/smartregister/chw/application/ChwApplication.java | 1 - 1 file changed, 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java index d040da8cac..01ea3f8969 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/application/ChwApplication.java @@ -1,6 +1,5 @@ package org.smartregister.chw.application; -import static org.koin.core.context.GlobalContext.get; import static org.koin.core.context.GlobalContext.getOrNull; import android.Manifest; From 49395b024435a4e06ae821206e32171595a975d6 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 28 Aug 2022 18:55:57 +0300 Subject: [PATCH 646/915] fix: loading profile activity --- opensrp-chw/src/main/AndroidManifest.xml | 4 ++++ .../chw/activity/CdpProfileActivity.java | 19 +++++++++++++++++++ .../chw/activity/CdpRegisterActivity.java | 4 ++-- .../chw/fragment/CdpRegisterFragment.java | 12 ++++++++++++ 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpProfileActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/CdpRegisterFragment.java diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index ed4c0ab95b..2a1a66b8cc 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -18,6 +18,10 @@ android:name=".activity.CdpRegisterActivity" android:exported="false" android:theme="@style/ChwTheme.NoActionBar" /> + Date: Sun, 28 Aug 2022 21:24:21 +0300 Subject: [PATCH 647/915] fix: table for cdp outlet register --- .../nacp/assets/ec_client_classification.json | 3 ++- .../src/nacp/assets/ec_client_fields.json | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index eb78e8dfbe..5385b2108a 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -575,7 +575,8 @@ "field": "eventType", "field_value": "CDP Outlet Registration", "creates_case": [ - "ec_cdp_outlet" + "ec_cdp_outlet", + "ec_cdp_register" ] } ] diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index cab789d53f..38dcc5db37 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -4260,6 +4260,30 @@ "concept": "relational_id" } }, + { + "column_name": "outlet_visit_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "outlet_visit_date" + } + }, + { + "column_name": "male_condoms_count", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "male_condom_count" + } + }, + { + "column_name": "female_condoms_count", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "female_condom_count" + } + }, { "column_name": "last_interacted_with", "type": "Event", From 0530cb4add353b17d580bf4492d5e3dca92ad261 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 29 Aug 2022 08:30:51 +0300 Subject: [PATCH 648/915] :hammer: enabled community responders functionality and fixed issues in showing user locations --- .../chw/activity/AncMemberMapActivity.java | 15 +++++++++++++++ .../chw/activity/AncMemberProfileActivity.java | 3 ++- .../main/res/layout/activity_anc_member_map.xml | 11 ++++++++--- .../chw/custom_view/NavigationMenuFlv.java | 2 +- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberMapActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberMapActivity.java index c08da92b6f..2a329608b9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberMapActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberMapActivity.java @@ -42,6 +42,7 @@ public class AncMemberMapActivity extends AppCompatActivity { private GeoJsonSource communityTransportersSource; private LatLng userLocation; private static int BOUNDING_BOX_PADDING = 100; + public static final String GPS = "GPS"; @Override protected void onCreate(Bundle savedInstanceState) { @@ -92,8 +93,22 @@ private void featureClicked(@NonNull Feature feature) { @Nullable private LatLng extractUserLocation() { + double latitude = Double.parseDouble("-1.9885"); double longitude = Double.parseDouble("33.7799"); + + String gpsString = this.getIntent().getStringExtra(GPS); + + if (gpsString != null) { + try { + String[] gpsCoordinates = gpsString.split(" "); + latitude = Double.parseDouble(gpsCoordinates[0]); + longitude = Double.parseDouble(gpsCoordinates[1]); + } catch (Exception e) { + e.printStackTrace(); + } + } + return new LatLng(latitude, longitude); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index d4b6a82602..4524e0a690 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -353,7 +353,7 @@ protected void startLDRegistration() { @Override public void setFamilyLocation() { - if (ChwApplication.getApplicationFlavor().flvSetFamilyLocation()) { + if (ChwApplication.getApplicationFlavor().flvSetFamilyLocation() && getMemberGPS() != null) { view_family_location_row.setVisibility(View.VISIBLE); rlFamilyLocation.setVisibility(View.VISIBLE); } @@ -456,6 +456,7 @@ protected void startCBHSRegister(CommonPersonObject commonPersonObject) { @Override public void openFamilyLocation() { Intent intent = new Intent(this, AncMemberMapActivity.class); + intent.putExtra(AncMemberMapActivity.GPS,getMemberGPS()); this.startActivity(intent); } diff --git a/opensrp-chw/src/main/res/layout/activity_anc_member_map.xml b/opensrp-chw/src/main/res/layout/activity_anc_member_map.xml index ed22ecbe84..533bdf92f8 100644 --- a/opensrp-chw/src/main/res/layout/activity_anc_member_map.xml +++ b/opensrp-chw/src/main/res/layout/activity_anc_member_map.xml @@ -39,6 +39,7 @@ android:text="GA: 10 weeks" android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textColor="@android:color/black" + android:visibility="gone" android:textSize="@dimen/register_member_village_size" /> + android:textColor="@android:color/black" + android:visibility="gone" /> + android:textSize="@dimen/register_member_village_size" + android:visibility="gone" /> @@ -83,7 +87,8 @@ android:text="ID:123456" android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textColor="@android:color/black" - android:textSize="@dimen/register_member_village_size" /> + android:textSize="@dimen/register_member_village_size" + android:visibility="gone" /> diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java index c612a21558..5ae23be56b 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java @@ -42,7 +42,7 @@ public boolean hasStockReport() { @Override public boolean hasCommunityResponders() { - return false; + return true; } @Override From b3ff8d28e5eb0108f8132c5ac99197c85a363c33 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 29 Aug 2022 11:33:04 +0300 Subject: [PATCH 649/915] fix: core version --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index a4ace6ef16..32acaad524 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -346,7 +346,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.32.1-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.33.0-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From 5ab568fc9f6ec86f9b4e35caec24e22d68eca1c8 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 29 Aug 2022 11:37:51 +0300 Subject: [PATCH 650/915] fix: update core version --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index a5f0590391..73822aedf5 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -346,7 +346,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.32.2-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.34.0-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From a8e1a689849c349caffa8b261a6f20bd88903afb Mon Sep 17 00:00:00 2001 From: zk497 Date: Mon, 29 Aug 2022 13:19:36 +0300 Subject: [PATCH 651/915] CDP outlet visit form --- .../json.form/cdp_record_outlet_visit.json | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 opensrp-chw/src/nacp/assets/json.form/cdp_record_outlet_visit.json diff --git a/opensrp-chw/src/nacp/assets/json.form/cdp_record_outlet_visit.json b/opensrp-chw/src/nacp/assets/json.form/cdp_record_outlet_visit.json new file mode 100644 index 0000000000..324191dc11 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/cdp_record_outlet_visit.json @@ -0,0 +1,132 @@ +{ + "count": "1", + "encounter_type": "CDP Outlet Visit", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "step1": { + "title": "Record Outlet Visit", + "fields": [ + { + "key": "outlet_visit_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "outlet_visit_date", + "type": "date_picker", + "label": "Outlet visit date", + "hint": "Outlet visit date", + "expanded": false, + "min_date": "today-6m", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Enter the outlet visit date" + } + }, + { + "key": "condom_dispenser", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "condom_dispenser", + "label": "Does the condom dispenser have condoms?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Yes", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an outlet type" + } + }, + { + "key": "number_of_male_condoms", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_male_condoms", + "type": "edit_text", + "hint": "Number of Male condoms (Pieces)", + "edit_type": "number", + "v_required": { + "value": "true", + "err": "Please enter the number" + }, + "relevance": { + "step1:condom_dispenser": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "number_of_female_condoms", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_female_condoms", + "type": "edit_text", + "hint": "Number of Female condoms (Pieces)", + "edit_type": "number", + "v_required": { + "value": "true", + "err": "Please enter the number" + }, + "relevance": { + "step1:condom_dispenser": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + } + ] + } +} \ No newline at end of file From 30facf77a0d5184f2b12d6b75cb8f523f8ce7c54 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 29 Aug 2022 13:27:08 +0300 Subject: [PATCH 652/915] :hammer: implemented consent for requesting phone numbers --- opensrp-chw/src/main/AndroidManifest.xml | 33 ++++---- ...equestPhoneNumberCollectionPermission.java | 72 +++++++++++++++++ .../res/drawable/contact_phone_collection.png | Bin 0 -> 2378 bytes ...activity_request_call_phone_permission.xml | 76 ++++++++++++++++++ .../src/main/res/values-sw/strings.xml | 5 ++ opensrp-chw/src/main/res/values/strings.xml | 5 ++ .../chw/custom_view/NavigationMenuFlv.java | 2 +- 7 files changed, 177 insertions(+), 16 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/RequestPhoneNumberCollectionPermission.java create mode 100644 opensrp-chw/src/main/res/drawable/contact_phone_collection.png create mode 100644 opensrp-chw/src/main/res/layout/activity_request_call_phone_permission.xml diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 4002a6b35b..80f82620a6 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -10,6 +10,24 @@ android:theme="@style/ChwTheme" android:usesCleartextTraffic="true" tools:replace="android:theme"> + + + + + + + + - - - - - - - 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + Toast.makeText(RequestPhoneNumberCollectionPermission.this, "Read Phone Number Permission Granted", Toast.LENGTH_SHORT).show(); + startLoginActivity(); + } else { + Toast.makeText(RequestPhoneNumberCollectionPermission.this, "Read Phone Number Permission Not Granted", Toast.LENGTH_SHORT).show(); + } + } + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && ContextCompat.checkSelfPermission(RequestPhoneNumberCollectionPermission.this, + Manifest.permission.READ_PHONE_NUMBERS) == PackageManager.PERMISSION_GRANTED) { + startLoginActivity(); + }else if (ContextCompat.checkSelfPermission(RequestPhoneNumberCollectionPermission.this, + Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) { + startLoginActivity(); + } + setContentView(R.layout.activity_request_call_phone_permission); + } + + public void onClickNoThanks(View view) { + finish(); + } + + public void onClickGrant(View view) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + checkPermission(Manifest.permission.READ_PHONE_NUMBERS, READ_PHONE_NUMBERS_PERMISSION_CODE); + } else { + checkPermission(Manifest.permission.READ_PHONE_STATE, READ_PHONE_NUMBERS_PERMISSION_CODE); + } + } + + public void checkPermission(String permission, int requestCode) { + if (ContextCompat.checkSelfPermission(RequestPhoneNumberCollectionPermission.this, permission) == PackageManager.PERMISSION_DENIED) { + ActivityCompat.requestPermissions(RequestPhoneNumberCollectionPermission.this, new String[]{permission}, requestCode); + } else { + Toast.makeText(RequestPhoneNumberCollectionPermission.this, "Permission already granted", Toast.LENGTH_SHORT).show(); + } + } + + public void startLoginActivity() { + Intent intent = new Intent(RequestPhoneNumberCollectionPermission.this, LoginActivity.class); + startActivity(intent); + finish(); + } +} \ No newline at end of file diff --git a/opensrp-chw/src/main/res/drawable/contact_phone_collection.png b/opensrp-chw/src/main/res/drawable/contact_phone_collection.png new file mode 100644 index 0000000000000000000000000000000000000000..56f207d7515e5eb20028a2d553abb01a882b5c77 GIT binary patch literal 2378 zcma)8c{JOJ7XBrOh!iQ>P_#;^hN-2~p-Bm~H8m(gER|R~6ty&J8g=!!rVaxD zVAp9!TelsgeoH81r*>Kf^zHy8@Qi~ku>CEV+^PZqfNr0*wf0CTT`2R7P!+0C+btei zw2^{>Qfbj9B%6-rvkmg;BGPw=x^=8;l-o{>6l=49j2hlHA{BJXE@^hkI4? zV|^Yj((Q>+jP|SMV|Et;L;H;Uzyi`K@bR{?GE2jvtjwMd7ENfg5OKkmY0Sp*(&D3^ z<3i%LKpCAA(dHTo8J!5Dv~2tNc8a9r6%?&k)W4=VZx=qCm7&M` zs6Ty%yA>t=JG!QzD2jbqszXR2{6m^~!W+2wMz?SMLTs;f4^tq7L@BJ8o(58lrb0-SbHfO6UHHjY$0K(Sc|fvQa5}>#R${m~C2M_o>~OiKrUwh? zrS$v)Uc{@tjFDQY8$ME~MLd56G!(VD1aimoWB+0l#N@oGAG{H%+QAqF1!`h4(Q5(5 zbtu89nw0Zwn6Aj5b%X#o8PIDk72{#b@|DN-zq2@?8~fSXSHF}Cb{Ju@WS%BhqbDa2 zlJ7}PcL=jh8wQE{7H_=3CTY3vo8#Y# zl`{B4s#}_!X01-pl@CYdK;Jvp0z4nt4=CW?zS%gE+DW(Kjf6%$bqo_mClZ9SO zy=A6FS+%G(#P3I|rg@P23ZVyrrdU@C6!6m$f~Ly7gkBf=9dpb>_{?qQV zTc1e$dqBCnwM^9DMt$o4-xVKpY=|*q+3RvhuDT~IdZuv^PX9>jAR@+LC>irhh;_`U zH+(?c@%;Fx_pkIq@F!hS^xqGT(W_YeZWm#}pEwXOmQ0L?NWDk1(5bH)JgHa8O(&HX z&YX)DH7^>v34K88n1tyoElt#$CCnkFI4>`-4gel!^H^urN31rrTVtGvUypEnsA;m# zw5VxxS&pS*`J1TMZyk>ii~!z;xP&dz>cZ9+BlF4+i+5r3GQe=6iob=1|IbJFe+*Fw z0jp^PyozzU6<0GEU9a^eL_P#oq!2h(>ZN$fR~GX-c2n~Hfq%jx@ZRdTK~SJZ#it)>{_M@ zvm)MiqpnqHkIU!uVsF@+PR!aT#ktnE;4J+G&3Bq|YDQQqaXs&$-j&|#*4~y3Rk)M> z(%k18w&(r^p5@~70}yf`NP%Png@$>>n+ErVGj+Z%1rS0xrI>$1Ekz#b1(5Z5@7;dA$wUvqR|hHR6D65fpnk?OZI7O86j&8|pOX>^O%dn6!$!ce4(S=-}LC=<}i5bwpU7Be+19hucBX~Ls{u_wN%2wv(S z1@EqG;!Mr=BeZw7Cz+<#7Pq?u!3}kSN&#X;#k%QHJ@?Z2rIHKCLs-0pVV@{nyywSs z7o_W0oUy%Jbk5AXX8{}m=a*yl)a$#8gN6qY()elPerC-b0hC1Un9ghLV%iJ|pb|Ct zq<)XHW_CL_iPXlfg#BK4;h?Vx@3P-B*3JY>SGC->b8 zd#G!~@G1qVqSpA#9-13I5lU>C+V{`C(0X&L$Mmm_E{=)ru8i;gSG50wWhyayU!>oB zS=pQWfS#qqOPe15^B(t1JjBu-IuJ42$etZYw*D7;1=bvGX@cgkN29ytjIkAa7w@>V zB+hcme_M>CBfvmJ)YHuK!Ce>TbW5?NJ? zzS(34T+2WB87G}<;)Cys(ali_%l_lG5S4QZ_s%?DPj66zd`iVn(EW-RULHWM5UNg8UjnIXDV=-6O}2)`v9dJ-zI;lm^-P>!($9@~xKLvIxRocS z8U4ORi_L{nCe8)($C41;4#Bj&q3pK@!vj+)fZlIEeKmuDSr^zh9PPHZVGlgI#P-Y2 ztwnIujT1DD>NKSM8Tl8jD^@AZjL_DfZ + + + + + + + + + + + - diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index e1c9b878ad..9728e9c17e 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -345,4 +345,6 @@ Hajaandikishwa CTC/PMTCTAmesajiliwa kwenye Kliniki ya WajidungaAmesajiliwa kwenye Kliniki ya Kifua Kikuu + Me + Ke \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 77f75a9671..4642706f54 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -118,31 +118,6 @@ Mtoto aliyezaliwa na mama mwenye VVUMtoto ambaye hajapimwa VVUUnyanyasaji wa mtoto - - Huduma za ushauri nasaha na upimaji katika jamii - Huduma za dawa za kupunguza makali ya vvu katika jamii - Huduma za kuzuia maambukizi kutoka kwa mama kwenda kwa mtoto katika jamiii - Huduma shirikishi za kifua kikuu na VVU katika jamii - Huduma za kuzuia kuenea magonjwa ya ngono katika jamii - Huduma kwa makundi maalumu - Huduma za kuzuia ukatili wa kijinsia na ukatili dhidi ya watoto katika jamii - Huduma za kisaikolojia katika jamii - Elimu ya tohara katika jamii - Huduma za uzazi wa mpango na usambazaji wa kondomu - Huduma ya ugawaji wa vitendanishi vya JIPIME - Huduma zingine za CBHS - Hamna - - Paracetamol - ORS - Hakuna - - Vifaa vya kujipima VVU - Vitakasa mikono - Barakoa - Kondomu - Dawa za kuua vijidudu vya maji - Vifaa vingineHeight: {0} cmFundal Height: {0} cm @@ -354,6 +329,8 @@ OVC servicesElderly CentersOther Referrals + Male + FemaleReferrals completed Services From d4de528041af696d5617fa1dbe03e1fcd3d80b08 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 4 Oct 2022 12:56:41 +0300 Subject: [PATCH 837/915] :hammer: resoved a minor issue in showing client's HIV and TB status --- .../cbhs_reports/CbhsMonthlyReportObject.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java index af1c6b561c..4bf5da3d18 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java @@ -43,8 +43,16 @@ public JSONObject getIndicatorData() throws JSONException { reportJsonObject.put("namba-za-mteja", getCbhsClientDetails(chwRegistrationFollowupClient, "cbhs_number")); reportJsonObject.put("sababu-za-usajili", getCbhsClientDetails(chwRegistrationFollowupClient, "registration_reason")); - reportJsonObject.put("hali-ya-maamubikizi-ya-vvu", getCbhsClientDetails(chwRegistrationFollowupClient, "hiv_status_during_registration")); - reportJsonObject.put("hali-ya-maamubikizi-ya-tb", getCbhsClientDetails(chwRegistrationFollowupClient, "tb_status_during_registration")); + + if (chwRegistrationFollowupClient.get("client_hiv_status_after_testing") == null) + reportJsonObject.put("hali-ya-maamubikizi-ya-vvu", getCbhsClientDetails(chwRegistrationFollowupClient, "hiv_status_during_registration")); + else + reportJsonObject.put("hali-ya-maamubikizi-ya-vvu", getCbhsClientDetails(chwRegistrationFollowupClient, "client_hiv_status_after_testing")); + + if (chwRegistrationFollowupClient.get("client_tb_status_after_testing") == null) + reportJsonObject.put("hali-ya-maamubikizi-ya-tb", getCbhsClientDetails(chwRegistrationFollowupClient, "tb_status_during_registration")); + else + reportJsonObject.put("hali-ya-maamubikizi-ya-tb", getCbhsClientDetails(chwRegistrationFollowupClient, "client_tb_status_after_testing")); String clinicRegistrationNumber = ""; @@ -121,6 +129,8 @@ private String getCbhsClientDetails(Map chwRegistrationFollowupC case "gender": case "hiv_status_during_registration": case "tb_status_during_registration": + case "client_hiv_status_after_testing": + case "client_tb_status_after_testing": return getStringValues(details, "cbhs_"); default: return details; From 2de1f883c211498baded97265ed79fd8e7a08ae8 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Tue, 4 Oct 2022 16:33:33 +0300 Subject: [PATCH 838/915] :hammer: refactored cbhs in-app reports --- .../cbhs_reports/CbhsMonthlyReportObject.java | 26 ++++++++++++++++--- .../src/nacp/assets/ec_client_fields.json | 4 +-- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java index 4bf5da3d18..39b6c8d330 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java @@ -93,13 +93,21 @@ public JSONObject getIndicatorData() throws JSONException { referralIssued += getCbhsClientDetails(chwRegistrationFollowupClient, "referrals_issued_to_other_services") + "
    "; } + String referralsCompleted = ""; + if (!getCbhsClientDetails(chwRegistrationFollowupClient, "successful_referrals").equals("-")) { + referralsCompleted += getCbhsClientDetails(chwRegistrationFollowupClient, "successful_referrals") + "
    "; + } + if (!getCbhsClientDetails(chwRegistrationFollowupClient, "referrals_to_other_services_completed").equals("-")) { + referralsCompleted += getCbhsClientDetails(chwRegistrationFollowupClient, "referrals_to_other_services_completed") + "
    "; + } + reportJsonObject.put("umri", getCbhsClientDetails(chwRegistrationFollowupClient, "age")); reportJsonObject.put("jinsia", getCbhsClientDetails(chwRegistrationFollowupClient, "gender")); reportJsonObject.put("huduma-zilizotolewa", getCbhsClientDetails(chwRegistrationFollowupClient, "hiv_services_provided")); reportJsonObject.put("vifaa-vilivyotolewa", getCbhsClientDetails(chwRegistrationFollowupClient, "supplies_provided")); reportJsonObject.put("rufaa-zilizotolewa", referralIssued); - reportJsonObject.put("rufaa-zilizofanikiwa", getCbhsClientDetails(chwRegistrationFollowupClient, "successful_referrals")); + reportJsonObject.put("rufaa-zilizofanikiwa", referralsCompleted); reportJsonObject.put("hali-ya-tiba-na-matunzo", getCbhsClientDetails(chwRegistrationFollowupClient, "state_of_therapy")); reportJsonObject.put("hali-ya-usajili-na-ufuatiliaji", getCbhsClientDetails(chwRegistrationFollowupClient, "registration_or_followup_status")); @@ -122,6 +130,7 @@ private String getCbhsClientDetails(Map chwRegistrationFollowupC case "registration_reason": return getStringValues(details, "reason_for_registration_"); case "referrals_issued_to_other_services": + case "referrals_to_other_services_completed": case "supplies_provided": case "hiv_services_provided": case "registration_or_followup_status": @@ -156,7 +165,13 @@ private String getStringValues(String receivedVal, String resourceKey) { } else sb.append(value).append(", "); } - return sb.toString(); + + String stringValues = sb.toString().trim(); + if (stringValues.charAt(stringValues.length() - 1) == ',') { + stringValues = stringValues.substring(0, stringValues.length() - 1); + } + + return stringValues; } int humanReadableValueId = context.getResources().getIdentifier(resourceKey + receivedVal.trim().toLowerCase(), "string", context.getPackageName()); if (humanReadableValueId != 0) { @@ -216,7 +231,12 @@ private String getTranslatedReferralFocus(String focusString) { if (StringUtils.isBlank(translatedFocus.toString())) { return "-"; } - return translatedFocus.toString(); + + String stringValues = translatedFocus.toString().trim(); + if (stringValues.charAt(translatedFocus.length() - 1) == ',') { + stringValues = translatedFocus.substring(0, translatedFocus.length() - 1); + } + return stringValues; } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index bd76deefab..b294a29484 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -2853,7 +2853,7 @@ "type": "Event", "json_mapping": { "field": "obs.formSubmissionField", - "concept": "test_results" + "concept": "client_hiv_status_after_testing" } }, { @@ -3090,7 +3090,7 @@ "type": "Event", "json_mapping": { "field": "obs.formSubmissionField", - "concept": "test_results" + "concept": "client_hiv_status_after_testing" } }, { From d9f27053376b740e3eebf627bbe89f9587dfa548 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 5 Oct 2022 10:21:35 +0300 Subject: [PATCH 839/915] :hammer: implemented marking of cbhs clients as deceased --- opensrp-chw/src/main/AndroidManifest.xml | 3 - .../HivCommunityFollowupDetailsActivity.java | 19 --- .../chw/activity/HivProfileActivity.java | 158 ++++++++++++++---- .../chw/activity/HivRegisterActivity.java | 4 +- .../org/smartregister/chw/dao/ChwCBHSDao.java | 25 ++- .../fragment/HivFollowupRegisterFragment.java | 56 ------- .../org/smartregister/chw/util/Utils.java | 98 ++++++++++- .../json.form-sw/cbhs_followup_form.json | 1 + .../family_details_remove_member.json | 8 +- .../assets/json.form/cbhs_followup_form.json | 1 + 10 files changed, 244 insertions(+), 129 deletions(-) delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 725a505200..4853bf4e62 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -325,9 +325,6 @@ android:name=".activity.HivIndexContactProfileActivity" android:parentActivityName=".activity.HivIndexContactsContactsRegisterActivity" android:theme="@style/ChwTheme.NoActionBar" /> - diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java deleted file mode 100644 index 007c0bdd1f..0000000000 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.smartregister.chw.activity; - -import org.json.JSONException; -import org.smartregister.chw.hiv.activity.BaseHivCommunityFollowupDetailsActivity; - -import java.util.Objects; - -public class HivCommunityFollowupDetailsActivity extends BaseHivCommunityFollowupDetailsActivity { - @Override - protected void openFollowupForm() { - try { - HivProfileActivity.startHivCommunityFollowupFeedbackActivity(this, Objects.requireNonNull(getMemberObject()).getBaseEntityId()); - } catch (JSONException e) { - e.printStackTrace(); - } - } - -} - \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 46906a0650..e6399022c6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -2,7 +2,9 @@ import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; +import static org.smartregister.util.JsonFormUtils.FIELDS; +import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -26,6 +28,7 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; +import org.smartregister.AllConstants; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.anc.AncLibrary; @@ -69,9 +72,11 @@ import org.smartregister.family.util.Utils; import org.smartregister.repository.LocationRepository; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Locale; import java.util.Objects; import timber.log.Timber; @@ -85,10 +90,8 @@ public class HivProfileActivity extends CoreHivProfileActivity public static final String PROPERTIES = "properties"; public static final String TEXT = "text"; public static final String SELECTION = "selection"; - private static final String FOLLOWUP_STATUS_DECEASED_EN_VALUE = "Deceased"; - private static final String FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE_EN_VALUE = "Client has completed and qualified from the services"; - private static final String FOLLOWUP_STATUS_DECEASED_SW_VALUE = "Amefariki"; - private static final String FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE_SW_VALUE = "Amefuzu huduma"; + private static final String FOLLOWUP_STATUS_DECEASED = "deceased"; + private static final String FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE = "completed_and_qualified_from_the_services"; private final List referralTypeModels = new ArrayList<>(); private final NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); private Flavor flavor = new HivProfileActivityFlv(); @@ -107,18 +110,64 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity JSONObject formJsonObject; formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.CBHSJsonForms.getCbhsFollowupForm()); - if (!hivMemberObject.getCtcNumber().isEmpty()) { - JSONArray steps = formJsonObject.getJSONArray("steps"); - JSONObject step = steps.getJSONObject(0); - JSONArray fields = step.getJSONArray("fields"); - removeField(fields, "client_hiv_status_after_testing"); + JSONArray steps = null; + if (formJsonObject != null) { + steps = formJsonObject.getJSONArray("steps"); } + JSONObject step = null; + if (steps != null) { + step = steps.getJSONObject(0); + } + JSONArray fields = null; + if (step != null) { + fields = step.getJSONArray("fields"); + } + + if (fields != null && hivMemberObject != null) { + if (StringUtils.isNotBlank(hivMemberObject.getCtcNumber())) { + removeField(fields, "client_hiv_status_after_testing"); + } + int age = org.smartregister.chw.util.Utils.getAgeFromDate(hivMemberObject.getAge()); + + + if (age < 15) { //Removing condoms and HIV self testing kits as supplies for children below 15 years + JSONObject supplies = getJsonObject(fields, "supplies_provided"); + if (supplies != null) { + removeField(supplies.getJSONArray("options"), "hiv_self_test_kits"); + removeField(supplies.getJSONArray("options"), "condoms"); + } + + JSONObject referralsIssuedToOtherServices = getJsonObject(fields, "referrals_issued_to_other_services"); + if (referralsIssuedToOtherServices != null) + removeField(referralsIssuedToOtherServices.getJSONArray("options"), "elderly_centers"); - if (ChwCBHSDao.tbStatusAfterTestingDone(baseEntityID)) { - JSONArray steps = formJsonObject.getJSONArray("steps"); - JSONObject step = steps.getJSONObject(0); - JSONArray fields = step.getJSONArray("fields"); - removeField(fields, "client_tb_status_after_testing"); + JSONObject completedReferralsToOtherServices = getJsonObject(fields, "referrals_to_other_services_completed"); + if (completedReferralsToOtherServices != null) + removeField(completedReferralsToOtherServices.getJSONArray("options"), "elderly_centers"); + } + + + if (age > 18) { //Removing OVC (Orphans and Vulnerable Children) as referral services for clients above 18 years + JSONObject referralsIssuedToOtherServices = getJsonObject(fields, "referrals_issued_to_other_services"); + if (referralsIssuedToOtherServices != null) + removeField(referralsIssuedToOtherServices.getJSONArray("options"), "ovc_services"); + + JSONObject completedReferralsToOtherServices = getJsonObject(fields, "referrals_to_other_services_completed"); + if (completedReferralsToOtherServices != null) + removeField(completedReferralsToOtherServices.getJSONArray("options"), "ovc_services"); + + if (age < 50) { //Removing Elderly service for clients below 50 years + if (referralsIssuedToOtherServices != null) + removeField(referralsIssuedToOtherServices.getJSONArray("options"), "elderly_centers"); + if (completedReferralsToOtherServices != null) + removeField(completedReferralsToOtherServices.getJSONArray("options"), "elderly_centers"); + } + } + + + if (ChwCBHSDao.tbStatusAfterTestingDone(baseEntityID)) { + removeField(fields, "client_tb_status_after_testing"); + } } intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, initializeHealthFacilitiesList(formJsonObject).toString()); @@ -144,19 +193,22 @@ private static void removeField(JSONArray fields, String fieldName) throws JSONE } } - public static void startHivCommunityFollowupFeedbackActivity(Activity activity, String baseEntityID) throws JSONException { - Intent intent = new Intent(activity, BaseHivFormsActivity.class); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); - - JSONObject formJsonObject; - - formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivCommunityFollowFeedback()); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, initializeHealthFacilitiesList(formJsonObject).toString()); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); - - activity.startActivityForResult(intent, CoreConstants.ProfileActivityResults.CHANGE_COMPLETED); + private static JSONObject getJsonObject(JSONArray fields, String fieldName) throws JSONException { + int position = 0; + boolean found = false; + for (int i = 0; i < fields.length(); i++) { + JSONObject field = fields.getJSONObject(i); + if (field.getString("name").equalsIgnoreCase(fieldName)) { + position = i; + found = true; + break; + } + } + if (found) { + return fields.getJSONObject(position); + } + return null; } private static JSONObject initializeHealthFacilitiesList(JSONObject form) { @@ -236,15 +288,13 @@ public void setProfileViewDetails(@androidx.annotation.Nullable HivMemberObject getTvStatus().setVisibility(View.VISIBLE); switch (getHivMemberObject().getClientFollowupStatus()) { - case FOLLOWUP_STATUS_DECEASED_EN_VALUE: - case FOLLOWUP_STATUS_DECEASED_SW_VALUE: + case FOLLOWUP_STATUS_DECEASED: labelTextColor = context().getColorResource(org.smartregister.chw.opensrp_chw_anc.R.color.high_risk_text_red); background = org.smartregister.chw.opensrp_chw_anc.R.drawable.high_risk_label; labelText = getResources().getString(R.string.client_followup_status_deceased); hideFollowUpVisitButton(); break; - case FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE_EN_VALUE: - case FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE_SW_VALUE: + case FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE: labelTextColor = context().getColorResource(org.smartregister.chw.opensrp_chw_anc.R.color.low_risk_text_green); background = org.smartregister.chw.opensrp_chw_anc.R.drawable.low_risk_label; labelText = getResources().getString(R.string.client_followup_status_qualified_from_service); @@ -284,6 +334,11 @@ protected void onResume() { notificationListAdapter.canOpen = true; ChwNotificationUtil.retrieveNotifications(ChwApplication.getApplicationFlavor().hasReferrals(), getHivMemberObject().getBaseEntityId(), this); + try { + removeDeceasedClients(); + } catch (Exception e) { + Timber.e(e); + } } @Override @@ -294,7 +349,7 @@ public void setupViews() { @Override protected void removeMember() { - IndividualProfileRemoveActivity.startIndividualProfileActivity(HivProfileActivity.this, + IndividualProfileRemoveActivity.startIndividualProfileActivity((Activity) getContext(), getClientDetailsByBaseEntityID(getHivMemberObject().getBaseEntityId()), getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyHead(), getHivMemberObject().getPrimaryCareGiver(), FpRegisterActivity.class.getCanonicalName()); @@ -328,7 +383,7 @@ public void onClick(View view) { @Override public Context getContext() { - return this; + return HivProfileActivity.this; } @Override @@ -346,6 +401,11 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { // recompute schedule Runnable runnable = () -> ChwScheduleTaskExecutor.getInstance().execute(getHivMemberObject().getBaseEntityId(), org.smartregister.chw.hiv.util.Constants.EventType.FOLLOW_UP_VISIT, new Date()); org.smartregister.chw.util.Utils.startAsyncTask(new RunnableTask(runnable), null); + try { + removeDeceasedClients(); + } catch (Exception e) { + Timber.e(e); + } super.onActivityResult(requestCode, resultCode, data); if (requestCode == CoreConstants.ProfileActivityResults.CHANGE_COMPLETED && resultCode == Activity.RESULT_OK) { @@ -515,7 +575,7 @@ public boolean onOptionsItemSelected(MenuItem item) { startAncRegister(); return true; } else if (itemId == R.id.action_pregnancy_out_come) { - PncRegisterActivity.startPncRegistrationActivity(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), null, CoreConstants.JSON_FORM.getPregnancyOutcome(), AncLibrary.getInstance().getUniqueIdRepository().getNextUniqueId().getOpenmrsId(), getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyName(), null); + PncRegisterActivity.startPncRegistrationActivity((Activity) getContext(), getHivMemberObject().getBaseEntityId(), null, CoreConstants.JSON_FORM.getPregnancyOutcome(), AncLibrary.getInstance().getUniqueIdRepository().getNextUniqueId().getOpenmrsId(), getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyName(), null); return true; } else if (itemId == R.id.action_hivst_registration) { startHivstRegistration(); @@ -531,7 +591,7 @@ private void startKvpPrepRegistration() { String gender = org.smartregister.chw.util.Utils.getClientGender(getHivMemberObject().getBaseEntityId()); String dob = getHivMemberObject().getAge(); int age = Utils.getAgeFromDate(dob); - KvpPrEPRegisterActivity.startRegistration(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), gender, age); + KvpPrEPRegisterActivity.startRegistration((Activity) getContext(), getHivMemberObject().getBaseEntityId(), gender, age); } @@ -548,14 +608,14 @@ private void startHivstRegistration() { protected void startTbRegister() { try { - TbRegisterActivity.startTbFormActivity(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), CoreConstants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getTbRegistration()).toString()); + TbRegisterActivity.startTbFormActivity((Activity) getContext(), getHivMemberObject().getBaseEntityId(), CoreConstants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getTbRegistration()).toString()); } catch (JSONException e) { Timber.e(e); } } protected void startAncRegister() { - AncRegisterActivity.startAncRegistrationActivity(HivProfileActivity.this, Objects.requireNonNull(getHivMemberObject()).getBaseEntityId(), getHivMemberObject().getPhoneNumber(), + AncRegisterActivity.startAncRegistrationActivity((Activity) getContext(), Objects.requireNonNull(getHivMemberObject()).getBaseEntityId(), getHivMemberObject().getPhoneNumber(), org.smartregister.chw.util.Constants.JSON_FORM.getAncRegistration(), null, getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyName()); } @@ -624,6 +684,7 @@ protected boolean isClientEligibleForAnc(HivMemberObject hivMemberObject) { return false; } + @SuppressLint("StringFormatMatches") @Override public void updateLastVisitRow(@Nullable Date lastVisitDate) { Visit lastFollowupVisit = getVisit(org.smartregister.chw.util.Constants.Events.CBHS_FOLLOWUP); @@ -655,5 +716,30 @@ Visit getVisit(String eventType) { public interface Flavor { // void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); } + + private void removeDeceasedClients() throws Exception { + JSONObject removeFamilyMemberForm = null; + if (ChwCBHSDao.isDeceased(getHivMemberObject().getBaseEntityId())) { + try { + removeFamilyMemberForm = (new FormUtils()).getFormJsonFromRepositoryOrAssets(getContext(), CoreConstants.JSON_FORM.FAMILY_DETAILS_REMOVE_MEMBER); + org.smartregister.chw.anc.util.JsonFormUtils.getRegistrationForm(removeFamilyMemberForm, getHivMemberObject().getBaseEntityId(), org.smartregister.Context.getInstance().allSharedPreferences().getPreference(AllConstants.CURRENT_LOCATION_ID)); + } catch (Exception e) { + Timber.e(e); + } + + if (removeFamilyMemberForm != null) { + JSONObject stepOne = removeFamilyMemberForm.getJSONObject(org.smartregister.chw.anc.util.JsonFormUtils.STEP1); + JSONArray jsonArray = stepOne.getJSONArray(FIELDS); + + org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "remove_reason", "Death"); + + org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "dob", getHivMemberObject().getAge()); + org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "date_died", new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date())); + org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "age_at_death", org.smartregister.chw.util.Utils.getAgeFromDate(getHivMemberObject().getAge()) + "y"); + + org.smartregister.chw.util.Utils.removeUser(null, removeFamilyMemberForm, org.smartregister.chw.util.Utils.context().allSharedPreferences().fetchRegisteredANM()); + } + } + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java index 025c0cb2eb..919f3111fc 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java @@ -10,7 +10,6 @@ import org.smartregister.chw.core.activity.CoreHivRegisterActivity; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.utils.CoreConstants; -import org.smartregister.chw.fragment.HivFollowupRegisterFragment; import org.smartregister.chw.fragment.HivRegisterFragment; import org.smartregister.chw.hiv.fragment.BaseHivCommunityFollowupRegisterFragment; import org.smartregister.chw.hiv.fragment.BaseHivRegisterFragment; @@ -70,8 +69,7 @@ protected void registerBottomNavigation() { @NotNull @Override protected BaseHivCommunityFollowupRegisterFragment[] getOtherFragments() { - return new HivFollowupRegisterFragment[]{ - new HivFollowupRegisterFragment()}; + return new BaseHivCommunityFollowupRegisterFragment[0]; } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java index 4547fea7e9..abd3f7aa65 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java @@ -24,17 +24,17 @@ public static boolean tbStatusAfterTestingDone(String baseEntityID) { return false; } - public static Date getNextVisitDate(String baseEntityId){ + public static Date getNextVisitDate(String baseEntityId) { String sql = "Select next_appointment_date from ec_cbhs_register where base_entity_id = '" + baseEntityId + "'"; DataMap dataMap = cursor -> getCursorValue(cursor, "next_appointment_date"); List res = readData(sql, dataMap); - if (res != null && res.size() > 0 && res.get(0) != null){ + if (res != null && res.size() > 0 && res.get(0) != null) { Calendar cal = Calendar.getInstance(); - try{ + try { cal.setTimeInMillis(new BigDecimal(res.get(0)).longValue()); - }catch (Exception e){ + } catch (Exception e) { //NEEDED FOR THE ISSUE IN SOME TABLETS FAILING TO CREATE A TIMESTAMP SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); try { @@ -47,4 +47,21 @@ public static Date getNextVisitDate(String baseEntityId){ } return null; } + + public static boolean isDeceased(String baseEntityId) { + String sql = " Select registration_or_followup_status\n" + + " FROM ec_cbhs_followup ecf\n" + + " INNER JOIN ec_family_member efm on ecf.entity_id = efm.base_entity_id\n" + + " WHERE efm.dod IS NULL AND ecf.entity_id = '" + baseEntityId + "'" + + " ORDER BY ecf.last_interacted_with DESC\n" + + " LIMIT 1"; + + DataMap dataMap = cursor -> getCursorValue(cursor, "registration_or_followup_status"); + List res = readData(sql, dataMap); + + if (res != null && res.size() > 0 && res.get(0) != null) { + return res.get(0).equals("deceased"); + } + return false; + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java deleted file mode 100644 index 3578a89dda..0000000000 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.smartregister.chw.fragment; - -import android.content.Intent; -import android.os.Bundle; - -import org.smartregister.chw.activity.HivCommunityFollowupDetailsActivity; -import org.smartregister.chw.activity.HivRegisterActivity; -import org.smartregister.chw.core.fragment.CoreHivCommunityFollowupRegisterFragment; -import org.smartregister.chw.hiv.dao.HivDao; -import org.smartregister.chw.hiv.util.Constants; -import org.smartregister.chw.hiv.util.DBConstants; -import org.smartregister.chw.model.HivCommunityFollowupFragmentModel; -import org.smartregister.chw.presenter.HivCommunityFollowupFragmentPresenter; -import org.smartregister.commonregistry.CommonPersonObjectClient; - -import timber.log.Timber; - -import static android.view.View.GONE; - -public class HivFollowupRegisterFragment extends CoreHivCommunityFollowupRegisterFragment { - @Override - protected void initializePresenter() { - if (getActivity() == null) { - return; - } - String viewConfigurationIdentifier = null; - try { - viewConfigurationIdentifier = ((HivRegisterActivity) getActivity()).getViewIdentifiers().get(0); - } catch (NullPointerException e) { - Timber.e(e); - } - presenter = new HivCommunityFollowupFragmentPresenter(this, new HivCommunityFollowupFragmentModel(), viewConfigurationIdentifier); - } - - @Override - public void setupViews(android.view.View view) { - super.setupViews(view); - view.findViewById(org.smartregister.chw.core.R.id.due_only_layout).setVisibility(GONE); - } - - @Override - protected void openProfile(CommonPersonObjectClient client) { - if (getActivity() != null) { - Intent intent = new Intent(getActivity(), HivCommunityFollowupDetailsActivity.class); - Bundle bundle = new Bundle(); - bundle.putSerializable(Constants.ActivityPayload.HIV_MEMBER_OBJECT, HivDao.getCommunityFollowupMember(client.getColumnmaps().get(DBConstants.Key.BASE_ENTITY_ID))); - intent.putExtras(bundle); - - getActivity().startActivity(intent); - } - } - - -} - - diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java index c2be098f20..71ff2fcc94 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java @@ -1,13 +1,16 @@ package org.smartregister.chw.util; import android.app.Activity; +import android.content.ContentValues; import android.content.Intent; import android.os.Bundle; +import android.util.Pair; import com.google.android.material.bottomnavigation.BottomNavigationView; import com.google.android.material.bottomnavigation.LabelVisibilityMode; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Triple; import org.jetbrains.annotations.NotNull; import org.json.JSONArray; import org.json.JSONObject; @@ -16,20 +19,29 @@ import org.smartregister.chw.activity.ClientReferralActivity; import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.CoreJsonFormUtils; import org.smartregister.chw.model.ReferralTypeModel; +import org.smartregister.clientandeventmodel.Event; +import org.smartregister.commonregistry.AllCommonsRepository; import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.commonregistry.CommonRepository; +import org.smartregister.domain.Client; +import org.smartregister.domain.db.EventClient; +import org.smartregister.family.FamilyLibrary; import org.smartregister.family.util.DBConstants; import org.smartregister.growthmonitoring.domain.ZScore; import org.smartregister.growthmonitoring.repository.WeightForHeightRepository; import org.smartregister.helper.BottomNavigationHelper; +import org.smartregister.repository.BaseRepository; +import org.smartregister.sync.helper.ECSyncHelper; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Locale; public class Utils extends org.smartregister.chw.core.utils.Utils { @@ -54,7 +66,7 @@ public static List getCommonReferralTypes(Activity activity, Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.hts_referral), CoreConstants.JSON_FORM.getHtsReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_HIV)); - if(gender.equalsIgnoreCase("Female") && isMemberOfReproductiveAge(client, 10, 49)){ + if (gender.equalsIgnoreCase("Female") && isMemberOfReproductiveAge(client, 10, 49)) { referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.pregnancy_confirmation_referral), CoreConstants.JSON_FORM.getPregnancyConfirmationReferralForm(), CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION)); } @@ -130,7 +142,7 @@ public static String getClientName(String firstName, String middleName, String l } - public static String getClientGender(String baseEntityId){ + public static String getClientGender(String baseEntityId) { CommonRepository commonRepository = org.smartregister.family.util.Utils.context().commonrepository(org.smartregister.family.util.Utils.metadata().familyMemberRegister.tableName); final CommonPersonObject commonPersonObject = commonRepository.findByBaseEntityId(baseEntityId); @@ -140,8 +152,8 @@ public static String getClientGender(String baseEntityId){ } /* - * For CBHS Registration - */ + * For CBHS Registration + */ public static void updateAgeAndGender(JSONArray fields, int age, String gender) throws Exception { boolean foundAge = false; boolean foundGender = false; @@ -162,4 +174,82 @@ public static void updateAgeAndGender(JSONArray fields, int age, String gender) } + /** + * Removes a user, used for removing clients marked as Deceased + * + * @param familyID + * @param closeFormJsonString + * @param providerId + * @return + * @throws Exception + */ + public static String removeUser(String familyID, JSONObject closeFormJsonString, String providerId) throws Exception { + String res = null; + Triple, String, List> triple = CoreJsonFormUtils.processRemoveMemberEvent(familyID, org.smartregister.family.util.Utils.getAllSharedPreferences(), closeFormJsonString, providerId); + if (triple != null && triple.getLeft() != null) { + processEvents(triple.getRight()); + + if (triple.getLeft().second.equalsIgnoreCase(CoreConstants.EventType.REMOVE_CHILD)) { + updateRepo(triple, org.smartregister.family.util.Utils.metadata().familyMemberRegister.tableName); + updateRepo(triple, CoreConstants.TABLE_NAME.CHILD); + } else if (triple.getLeft().second.equalsIgnoreCase(CoreConstants.EventType.REMOVE_FAMILY)) { + updateRepo(triple, org.smartregister.family.util.Utils.metadata().familyRegister.tableName); + } else { + updateRepo(triple, org.smartregister.family.util.Utils.metadata().familyMemberRegister.tableName); + } + res = triple.getLeft().second; + } + + long lastSyncTimeStamp = getAllSharedPreferences().fetchLastUpdatedAtDate(0); + Date lastSyncDate = new Date(lastSyncTimeStamp); + FamilyLibrary.getInstance().getClientProcessorForJava().processClient(FamilyLibrary.getInstance().getEcSyncHelper().getEvents(lastSyncDate, BaseRepository.TYPE_Unprocessed)); + getAllSharedPreferences().saveLastUpdatedAtDate(lastSyncDate.getTime()); + return res; + } + + private static void processEvents(List events) throws Exception { + ECSyncHelper syncHelper = ChwApplication.getInstance().getEcSyncHelper(); + List clients = new ArrayList<>(); + for (Event e : events) { + JSONObject json = new JSONObject(CoreJsonFormUtils.gson.toJson(e)); + syncHelper.addEvent(e.getBaseEntityId(), json); + + org.smartregister.domain.Event event = CoreJsonFormUtils.gson.fromJson(json.toString(), org.smartregister.domain.Event.class); + clients.add(new EventClient(event, new Client(e.getBaseEntityId()))); + } + FamilyLibrary.getInstance().getClientProcessorForJava().processClient(clients); + } + + private static void updateRepo(Triple, String, List> triple, String tableName) { + AllCommonsRepository commonsRepository = ChwApplication.getInstance().getAllCommonsRepository(tableName); + + Date date_removed = new Date(); + Date dod = null; + if (triple.getLeft() != null && triple.getLeft().first != null) { + dod = triple.getLeft().first; + } + + if (commonsRepository != null && dod == null) { + ContentValues values = new ContentValues(); + values.put(DBConstants.KEY.DATE_REMOVED, getDBFormatedDate(date_removed)); + commonsRepository.update(tableName, values, triple.getMiddle()); + commonsRepository.updateSearch(triple.getMiddle()); + commonsRepository.close(triple.getMiddle()); + } + + // enter the date of death + if (dod != null && commonsRepository != null) { + ContentValues values = new ContentValues(); + values.put(DBConstants.KEY.DOD, getDBFormatedDate(dod)); + commonsRepository.update(tableName, values, triple.getMiddle()); + commonsRepository.updateSearch(triple.getMiddle()); + } + + } + + private static String getDBFormatedDate(Date date) { + return new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(date); + } + + } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json index 94d58748f0..100664b9fa 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json @@ -1055,6 +1055,7 @@ { "name": "na", "text": "Haihusiki", + "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "na", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_member.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_member.json index 8ec57ab184..82c07ba8a5 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_member.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_member.json @@ -109,9 +109,9 @@ "Other" ], "openmrs_choice_ids": { - "Died": "160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Moved away": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Died": "Died", + "Moved away": "Moved away", + "Other": "Other" } }, { @@ -158,7 +158,7 @@ "key": "date_died", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "date_died", "openmrs_data_type": "text", "type": "date_picker", "label": "Date of death", diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json index 3008712ebe..7b6093b199 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json @@ -1055,6 +1055,7 @@ { "name": "na", "text": "Not Applicable", + "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "na", From 0b59942c659d6113caa97fb3dd319932efff687f Mon Sep 17 00:00:00 2001 From: Chriss Developer <86108630+ChrissDisigale@users.noreply.github.com> Date: Wed, 5 Oct 2022 12:01:47 -0700 Subject: [PATCH 840/915] modify error return date null hivst return --- opensrp-chw/build.gradle | 2 +- .../src/nacp/assets/json.form/hivst_results.json | 14 ++++++++++++++ .../nacp/assets/rule/hivst_results_calculation.yml | 9 ++++++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 8948c87fbb..31e4e952e6 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -348,7 +348,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.35.0-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.35.2-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_results.json b/opensrp-chw/src/nacp/assets/json.form/hivst_results.json index 5cd71af9a3..e434cd2695 100644 --- a/opensrp-chw/src/nacp/assets/json.form/hivst_results.json +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_results.json @@ -276,6 +276,20 @@ } } } + }, + { + "key": "result_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "result_date", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_results_calculation.yml" + } + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/rule/hivst_results_calculation.yml b/opensrp-chw/src/nacp/assets/rule/hivst_results_calculation.yml index 77f0bddeff..4401e4f066 100644 --- a/opensrp-chw/src/nacp/assets/rule/hivst_results_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/hivst_results_calculation.yml @@ -7,4 +7,11 @@ actions: - "calculation = (step1_disclose_result != '' && step1_disclose_result == 'no') ? 'client_did_not_disclose' : step1_client_test_result != '' ? step1_client_test_result : step1_peer_test_result != '' ? step1_peer_test_result : step1_sexual_partner_test_result != '' ? - step1_sexual_partner_test_result : '' " \ No newline at end of file + step1_sexual_partner_test_result : '' " +--- +name: step1_result_date +description: result_date calculation +priority: 1 +condition: "true" +actions: + - "calculation = helper.getDateToday()" \ No newline at end of file From 84200abe50edca54fbd2ed59d3991c866a627e0a Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 5 Oct 2022 12:30:13 +0300 Subject: [PATCH 841/915] :hammer: refactored cbhs followup form, capturing of state of theraphy --- .../org/smartregister/chw/dao/ReportDao.java | 19 +++++----- .../cbhs_reports/CbhsMonthlyReportObject.java | 16 +++++++-- .../src/nacp/assets/ec_client_fields.json | 12 +++++-- .../json.form-sw/cbhs_followup_form.json | 35 ++++++++++++++++--- .../assets/json.form/cbhs_followup_form.json | 33 ++++++++++++++--- .../assets/rule/cbhs_followup_form_rules.yml | 13 +++++-- .../rule/hiv_registration_form_rules.yml | 4 +-- 7 files changed, 103 insertions(+), 29 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java index 3b22f4f10a..bcad5ded56 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java @@ -249,23 +249,22 @@ public static List> getCHWRegistrationFollowUpClients(Date r " ecf.supplies_provided,\n" + " tasks.issued_referrals,\n" + " tasks.successful_referrals,\n" + - " ecf.state_of_therapy,\n" + + " ecf.state_of_hiv_care_and_treatment,\n" + + " ecf.state_of_registration_in_tb_and_pwid_clinics,\n" + " ecf.referrals_issued_to_other_services,\n" + " ecf.referrals_to_other_services_completed,\n" + " ecf.registration_or_followup_status\n" + "FROM ec_cbhs_register ecr\n" + " INNER JOIN ec_family_member fm on fm.base_entity_id = ecr.base_entity_id\n" + " LEFT JOIN (SELECT entity_id,\n" + - " last_interacted_with,\n" + + " max(last_interacted_with) as last_interacted_with,\n" + " hiv_services_provided,\n" + - " state_of_therapy,\n" + + " state_of_hiv_care_and_treatment,\n" + + " state_of_registration_in_tb_and_pwid_clinics,\n" + " registration_or_followup_status,\n" + " supplies_provided,\n" + - " client_hiv_status_after_testing,\n" + " referrals_issued_to_other_services,\n" + - " referrals_to_other_services_completed,\n" + - " count(id)\n" + - " as number_of_followups\n" + + " referrals_to_other_services_completed\n" + " from ec_cbhs_followup\n" + " WHERE date(substr(strftime('%Y-%m-%d',\n" + " datetime(last_interacted_with / 1000, 'unixepoch', 'localtime')), 1,\n" + @@ -275,8 +274,7 @@ public static List> getCHWRegistrationFollowUpClients(Date r " 2) || '-' || '01')\n" + " =\n" + " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))\n" + - "\n" + - " group by entity_id) ecf on fm.base_entity_id = ecf.entity_id\n" + + " GROUP BY entity_id) ecf on fm.base_entity_id = ecf.entity_id\n" + "\n" + "\n" + " LEFT JOIN (SELECT entity_id,\n" + @@ -343,7 +341,8 @@ public static List> getCHWRegistrationFollowUpClients(Date r data.put("supplies_provided", cursor.getString(cursor.getColumnIndex("supplies_provided"))); data.put("issued_referrals", cursor.getString(cursor.getColumnIndex("issued_referrals"))); data.put("successful_referrals", cursor.getString(cursor.getColumnIndex("successful_referrals"))); - data.put("state_of_therapy", cursor.getString(cursor.getColumnIndex("state_of_therapy"))); + data.put("state_of_hiv_care_and_treatment", cursor.getString(cursor.getColumnIndex("state_of_hiv_care_and_treatment"))); + data.put("state_of_registration_in_tb_and_pwid_clinics", cursor.getString(cursor.getColumnIndex("state_of_registration_in_tb_and_pwid_clinics"))); data.put("registration_or_followup_status", cursor.getString(cursor.getColumnIndex("registration_or_followup_status"))); return data; }; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java index 39b6c8d330..d96d9f5eb3 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java @@ -108,7 +108,16 @@ public JSONObject getIndicatorData() throws JSONException { reportJsonObject.put("vifaa-vilivyotolewa", getCbhsClientDetails(chwRegistrationFollowupClient, "supplies_provided")); reportJsonObject.put("rufaa-zilizotolewa", referralIssued); reportJsonObject.put("rufaa-zilizofanikiwa", referralsCompleted); - reportJsonObject.put("hali-ya-tiba-na-matunzo", getCbhsClientDetails(chwRegistrationFollowupClient, "state_of_therapy")); + + + String stateOfHivCareAndTreatment = getCbhsClientDetails(chwRegistrationFollowupClient, "state_of_hiv_care_and_treatment"); + + if (chwRegistrationFollowupClient.get("state_of_registration_in_tb_and_pwid_clinics") != null && !chwRegistrationFollowupClient.get("state_of_registration_in_tb_and_pwid_clinics").equals("not_applicable")) { + stateOfHivCareAndTreatment = stateOfHivCareAndTreatment + ", " + getCbhsClientDetails(chwRegistrationFollowupClient, "state_of_registration_in_tb_and_pwid_clinics"); + } + + + reportJsonObject.put("hali-ya-tiba-na-matunzo", stateOfHivCareAndTreatment); reportJsonObject.put("hali-ya-usajili-na-ufuatiliaji", getCbhsClientDetails(chwRegistrationFollowupClient, "registration_or_followup_status")); dataArray.put(reportJsonObject); @@ -134,7 +143,8 @@ private String getCbhsClientDetails(Map chwRegistrationFollowupC case "supplies_provided": case "hiv_services_provided": case "registration_or_followup_status": - case "state_of_therapy": + case "state_of_hiv_care_and_treatment": + case "state_of_registration_in_tb_and_pwid_clinics": case "gender": case "hiv_status_during_registration": case "tb_status_during_registration": @@ -234,7 +244,7 @@ private String getTranslatedReferralFocus(String focusString) { String stringValues = translatedFocus.toString().trim(); if (stringValues.charAt(translatedFocus.length() - 1) == ',') { - stringValues = translatedFocus.substring(0, translatedFocus.length() - 1); + stringValues = stringValues.substring(0, stringValues.length() - 1); } return stringValues; } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index b294a29484..74137af70a 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -3062,11 +3062,19 @@ } }, { - "column_name": "state_of_therapy", + "column_name": "state_of_hiv_care_and_treatment", "type": "Event", "json_mapping": { "field": "obs.formSubmissionField", - "concept": "state_of_therapy" + "concept": "state_of_hiv_care_and_treatment" + } + }, + { + "column_name": "state_of_registration_in_tb_and_pwid_clinics", + "type": "Event", + "json_mapping": { + "field": "obs.formSubmissionField", + "concept": "state_of_registration_in_tb_and_pwid_clinics" } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json index 100664b9fa..bae2ec39b0 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json @@ -1041,21 +1041,20 @@ "subjects": "referrals_to_other_services_completed:map" }, { - "name": "state_of_therapy", - "type": "multi_choice_checkbox", + "name": "state_of_hiv_care_and_treatment", + "type": "radio_group", "properties": { "text": "Hali ya Tiba na Matunzo (CTC)" }, "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy" + "openmrs_entity_id": "state_of_hiv_care_and_treatment" }, "options": [ { "name": "na", "text": "Haihusiki", - "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "na", @@ -1088,6 +1087,32 @@ "openmrs_entity_id": "not_registered_in_ctc_clinic", "openmrs_entity_parent": "" } + } + ], + "required_status": "yes:Tafadhali jaza hali ya tiba na matunzo (CTC)", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "state_of_registration_in_tb_and_pwid_clinics", + "type": "multi_choice_checkbox", + "properties": { + "text": "Hali ya usajili kwenye Kliniki ya Kifua Kikuu na Wajidunga" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_registration_in_tb_and_pwid_clinics" + }, + "options": [ + { + "name": "na", + "text": "Haihusiki", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } }, { "name": "registered_in_injection_drugs_users_clinic", @@ -1108,7 +1133,7 @@ } } ], - "required_status": "yes:Tafadhali jaza hali ya tiba na matunzo (CTC)", + "required_status": "yes:Tafadhali jaza hali ya usajili kwenye Kliniki ya Kifua Kikuu na Wajidunga", "subjects": "registration_or_followup_status:text" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json index 7b6093b199..7ccebeaf33 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json @@ -1041,21 +1041,20 @@ "subjects": "referrals_to_other_services_completed:map" }, { - "name": "state_of_therapy", - "type": "multi_choice_checkbox", + "name": "state_of_hiv_care_and_treatment", + "type": "radio_group", "properties": { "text": "State of HIV Care and treatment" }, "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy" + "openmrs_entity_id": "state_of_hiv_care_and_treatment" }, "options": [ { "name": "na", "text": "Not Applicable", - "is_exclusive": true, "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "na", @@ -1088,6 +1087,32 @@ "openmrs_entity_id": "not_registered_in_ctc_clinic", "openmrs_entity_parent": "" } + } + ], + "required_status": "yes:Please specify the state of HIV therapy", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "state_of_registration_in_tb_and_pwid_clinics", + "type": "multi_choice_checkbox", + "properties": { + "text": "State of Registration in TB and PWID Clinics" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_registration_in_tb_and_pwid_clinics" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } }, { "name": "registered_in_injection_drugs_users_clinic", diff --git a/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml index d8282b036b..d024633cae 100644 --- a/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml @@ -132,12 +132,19 @@ condition: "referrals_to_other_services_completed['other_referrals'] != null" actions: - "referrals_to_other_services_completed_other_visibility = true" --- -name: "state_of_therapy_visibility" -description: "state_of_therapy visibility" +name: "state_of_hiv_care_and_treatment_visibility" +description: "state_of_hiv_care_and_treatment visibility" priority: 1 condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - - "state_of_therapy_visibility = true" + - "state_of_hiv_care_and_treatment_visibility = true" +--- +name: "state_of_registration_in_tb_and_pwid_clinics_visibility" +description: "state_of_registration_in_tb_and_pwid_clinics visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" +actions: + - "state_of_registration_in_tb_and_pwid_clinics_visibility = true" --- name: "hiv_followup_visit_date_calculation" description: "calculating the hiv followup visit date" diff --git a/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml index e2baee69ee..cce8fbee78 100644 --- a/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml @@ -65,7 +65,7 @@ actions: name: "reasons_for_registration_female_10_to_14_visibility" description: "reasons_for_registration_female_10_to_14 visibility" priority: 1 -condition: "gender == 'Female' && (age > 10 && age <= 14)" +condition: "gender == 'Female' && (age >= 10 && age <= 14)" actions: - "reasons_for_registration_female_10_to_14_visibility = true" --- @@ -74,4 +74,4 @@ description: "calculating the reason for registration" priority: 1 condition: "true" actions: - - "reasons_for_registration_calculation = (gender == 'Male' && age >= 15) ? reasons_for_registration_male_15 : (gender == 'Female' && age >= 15) ? reasons_for_registration_female_15 : (gender == 'Male' && age < 15) ? reasons_for_registration_male_under_15 : (gender == 'Female' && age < 10) ? reasons_for_registration_female_under_10 : (gender == 'Female' && (age > 10 && age <= 14)) ? reasons_for_registration_female_10_to_14 : '' " \ No newline at end of file + - "reasons_for_registration_calculation = (gender == 'Male' && age >= 15) ? reasons_for_registration_male_15 : (gender == 'Female' && age >= 15) ? reasons_for_registration_female_15 : (gender == 'Male' && age < 15) ? reasons_for_registration_male_under_15 : (gender == 'Female' && age < 10) ? reasons_for_registration_female_under_10 : (gender == 'Female' && (age >= 10 && age <= 14)) ? reasons_for_registration_female_10_to_14 : '' " \ No newline at end of file From cd3f5a70586b9697ff640de21c8b01e0fa314a1a Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 5 Oct 2022 12:38:45 +0300 Subject: [PATCH 842/915] :hammer: refactored loading of cbhs followup form, removing the new client status for clients with previous follouwp visits --- .../chw/activity/HivProfileActivity.java | 9 +++++++++ .../java/org/smartregister/chw/dao/ChwCBHSDao.java | 13 +++++++++++++ 2 files changed, 22 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index e6399022c6..d5f971f1db 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -124,6 +124,15 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity } if (fields != null && hivMemberObject != null) { + + if (ChwCBHSDao.hasFollowupVisits(hivMemberObject.getBaseEntityId())) { //Removing the New Client option as followup status for clients with previous followup visits + JSONObject registrationOrFollowupStatus = getJsonObject(fields, "registration_or_followup_status"); + if (registrationOrFollowupStatus != null) { + removeField(registrationOrFollowupStatus.getJSONArray("options"), "new_client"); + } + } + + if (StringUtils.isNotBlank(hivMemberObject.getCtcNumber())) { removeField(fields, "client_hiv_status_after_testing"); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java index abd3f7aa65..30a65c0425 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java @@ -64,4 +64,17 @@ public static boolean isDeceased(String baseEntityId) { } return false; } + + public static boolean hasFollowupVisits(String baseEntityId) { + String sql = " Select ecf.entity_id\n" + + " FROM ec_cbhs_followup ecf\n" + + " WHERE ecf.entity_id = '" + baseEntityId + "'" + + " ORDER BY ecf.last_interacted_with DESC\n" + + " LIMIT 1"; + + DataMap dataMap = cursor -> getCursorValue(cursor, "entity_id"); + List res = readData(sql, dataMap); + + return res != null && res.size() > 0; + } } From c7d7adc7fe0b6425f6c03653b96edeb882a28164 Mon Sep 17 00:00:00 2001 From: Billy <44404782+dev-billy@users.noreply.github.com> Date: Wed, 5 Oct 2022 15:57:39 +0300 Subject: [PATCH 843/915] Fix/getting uic id kvp (#298) * update: core version * fix: table to get uic id --- opensrp-chw/build.gradle | 2 +- opensrp-chw/src/nacp/assets/ec_client_fields.json | 12 ++++++++++-- .../nacp/assets/json.form/kvp_prep_registration.json | 4 ++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 31e4e952e6..35eb4e0ae8 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -348,7 +348,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.35.2-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.35.3-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 0af4dc2ecb..37ed0a6ba9 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -4850,6 +4850,14 @@ "concept": "relational_id" } }, + { + "column_name": "uic_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "uic_id" + } + }, { "column_name": "hotspot_name", "type": "Event", @@ -4867,11 +4875,11 @@ } }, { - "column_name": "client_birth_region", + "column_name": "birth_region", "type": "Event", "json_mapping": { "field": "obs.fieldCode", - "concept": "client_birth_region" + "concept": "birth_region" } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_registration.json b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_registration.json index e3f3b5a0a5..4af9a2c509 100644 --- a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_registration.json @@ -75,10 +75,10 @@ } }, { - "key": "client_birth_region", + "key": "birth_region", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "client_birth_region", + "openmrs_entity_id": "birth_region", "type": "edit_text", "hint": "Client's Birth Region", "v_required": { From f8c955161fe700f70f80917ecff4afc3e4850af3 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 5 Oct 2022 17:06:04 +0300 Subject: [PATCH 844/915] :hammer: refactored CBHS ReportDao --- .../src/main/java/org/smartregister/chw/dao/ReportDao.java | 1 + 1 file changed, 1 insertion(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java index bcad5ded56..069f92ac4d 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java @@ -278,6 +278,7 @@ public static List> getCHWRegistrationFollowUpClients(Date r "\n" + "\n" + " LEFT JOIN (SELECT entity_id,\n" + + " max(last_interacted_with) as last_interaction, \n" + " registration_or_followup_status as last_followup_status\n" + " from ec_cbhs_followup\n" + " WHERE date(substr(strftime('%Y-%m-%d',\n" + From 22bec78cc57add91060e5bd027d92f413b0d137c Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 6 Oct 2022 10:13:44 +0300 Subject: [PATCH 845/915] :hammer: refactored CBHS followup forms --- .../src/main/java/org/smartregister/chw/dao/ReportDao.java | 7 +++---- .../src/nacp/assets/json.form-sw/cbhs_followup_form.json | 2 +- .../src/nacp/assets/json.form/cbhs_registration.json | 3 ++- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java index 069f92ac4d..8da3fe9824 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java @@ -1,5 +1,7 @@ package org.smartregister.chw.dao; +import static org.smartregister.chw.core.utils.VisitVaccineUtil.getInMemoryAlerts; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -37,8 +39,6 @@ import timber.log.Timber; -import static org.smartregister.chw.core.utils.VisitVaccineUtil.getInMemoryAlerts; - /** * @author rkodev */ @@ -230,8 +230,7 @@ private static HashMap> getVaccineSched return VisitVaccineUtil.getSchedule(vaccineGroups, specialVaccines, category); } - public static List> getCHWRegistrationFollowUpClients(Date reportDate) - { + public static List> getCHWRegistrationFollowUpClients(Date reportDate) { String sql = "SELECT ecr.cbhs_number as cbhs_number,\n" + " ecr.reasons_for_registration as registration_reason,\n" + " ecr.client_hiv_status_during_registration as hiv_status_during_registration,\n" + diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json index bae2ec39b0..9e2686bc43 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json @@ -205,7 +205,7 @@ } } ], - "required_status": "yes:Tafadhali chagua moja", + "required_status": "yes:Tafadhali jaza hali ya maambukizi ya VVU baada ya kipimo", "subjects": "registration_or_followup_status:text" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json index 31f103a745..e57a139657 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json @@ -150,7 +150,8 @@ ], "dependent_calculations": [ "hiv_registration_date" - ] + ], + "required_status": "yes:Please specify client's HIV status during registration" }, { "name": "ctc_number", From d3950b62a4dad374175137cc070bd9809b7590e2 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 6 Oct 2022 10:41:59 +0300 Subject: [PATCH 846/915] :hammer: refactored CBHS followup forms, CBHS report indicators and disabled the QR codes --- .../chw/activity/HivProfileActivity.java | 17 ++++------------- .../org/smartregister/chw/dao/ReportDao.java | 2 +- .../assets/json.form-sw/cbhs_followup_form.json | 9 --------- .../assets/json.form/cbhs_followup_form.json | 17 ++++------------- .../chw/application/ChwApplicationFlv.java | 2 +- opensrp-chw/src/nacp/res/values-sw/strings.xml | 4 ++-- 6 files changed, 12 insertions(+), 39 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index d5f971f1db..9cd52f35f1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -138,6 +138,8 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity } int age = org.smartregister.chw.util.Utils.getAgeFromDate(hivMemberObject.getAge()); + JSONObject referralsIssuedToOtherServices = getJsonObject(fields, "referrals_issued_to_other_services"); + JSONObject completedReferralsToOtherServices = getJsonObject(fields, "referrals_to_other_services_completed"); if (age < 15) { //Removing condoms and HIV self testing kits as supplies for children below 15 years JSONObject supplies = getJsonObject(fields, "supplies_provided"); @@ -145,32 +147,21 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity removeField(supplies.getJSONArray("options"), "hiv_self_test_kits"); removeField(supplies.getJSONArray("options"), "condoms"); } + } - JSONObject referralsIssuedToOtherServices = getJsonObject(fields, "referrals_issued_to_other_services"); + if (age < 50) { //Removing Elderly service for clients below 50 years if (referralsIssuedToOtherServices != null) removeField(referralsIssuedToOtherServices.getJSONArray("options"), "elderly_centers"); - - JSONObject completedReferralsToOtherServices = getJsonObject(fields, "referrals_to_other_services_completed"); if (completedReferralsToOtherServices != null) removeField(completedReferralsToOtherServices.getJSONArray("options"), "elderly_centers"); } - if (age > 18) { //Removing OVC (Orphans and Vulnerable Children) as referral services for clients above 18 years - JSONObject referralsIssuedToOtherServices = getJsonObject(fields, "referrals_issued_to_other_services"); if (referralsIssuedToOtherServices != null) removeField(referralsIssuedToOtherServices.getJSONArray("options"), "ovc_services"); - JSONObject completedReferralsToOtherServices = getJsonObject(fields, "referrals_to_other_services_completed"); if (completedReferralsToOtherServices != null) removeField(completedReferralsToOtherServices.getJSONArray("options"), "ovc_services"); - - if (age < 50) { //Removing Elderly service for clients below 50 years - if (referralsIssuedToOtherServices != null) - removeField(referralsIssuedToOtherServices.getJSONArray("options"), "elderly_centers"); - if (completedReferralsToOtherServices != null) - removeField(completedReferralsToOtherServices.getJSONArray("options"), "elderly_centers"); - } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java index 8da3fe9824..81f04625b4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java @@ -311,7 +311,7 @@ public static List> getCHWRegistrationFollowUpClients(Date r " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))\n" + " group by for) tasks on fm.base_entity_id = tasks.for\n" + "\n" + - "WHERE last_followup_status <> 'deceased' OR last_followup_status IS NULL\n" + + "WHERE last_followup_status <> 'client_relocated_to_another_location' OR last_followup_status <> 'completed_and_qualified_from_the_services' OR last_followup_status <> 'client_has_absconded' OR last_followup_status <> 'deceased' OR last_followup_status IS NULL\n" + "group by fm.base_entity_id\n"; String queryDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(reportDate); diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json index 9e2686bc43..eaf363627a 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json @@ -168,15 +168,6 @@ "text": "Hali ya maambukizi ya VVU baada ya kipimo" }, "options": [ - { - "name": "na", - "text": "Haitambuliki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, { "name": "unknown", "text": "Haijulikani", diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json index 7ccebeaf33..c4056e2ff3 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json @@ -168,18 +168,9 @@ "text": "Client's HIV status after testing" }, "options": [ - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, { "name": "unknown", - "text": "Unknown", + "text": "Haijulikani", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "unknown", @@ -188,7 +179,7 @@ }, { "name": "positive", - "text": "Positive", + "text": "Ana maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "positive", @@ -197,7 +188,7 @@ }, { "name": "negative", - "text": "Negative", + "text": "Hana maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "negative", @@ -1133,7 +1124,7 @@ } } ], - "required_status": "yes:Please specify the state of HIV therapy", + "required_status": "yes:Please specify the state of Registration in TB and PWID Clinics", "subjects": "registration_or_followup_status:text" }, { diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java index 5484c9cb97..db4e788952 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java @@ -60,7 +60,7 @@ public boolean hasServiceReport() { } public boolean hasQR() { - return true; + return false; } @Override diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 9728e9c17e..3a09975609 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -274,8 +274,8 @@ Haitambuliki Haijulikani - Chanya - Hasi + Ana Maambukizi + Hana Maambukizi Matatizo ya kitabibu ya Mteja: Uchovu wa mwili usio wa kawaida From ae795fc8dc890f3230d31abb01222e60f273d711 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 6 Oct 2022 13:23:01 +0300 Subject: [PATCH 847/915] :hammer: more code refactoring --- .../chw/activity/HivProfileActivity.java | 47 ++++------- .../org/smartregister/chw/dao/ChwCBHSDao.java | 17 ++++ .../org/smartregister/chw/dao/ReportDao.java | 2 +- .../org/smartregister/chw/util/CbhsUtils.java | 81 +++++++++++++++++++ .../org/smartregister/chw/util/Constants.java | 2 + .../json.form-sw/cbhs_followup_form.json | 8 +- .../json.form-sw/cbhs_registration.json | 10 ++- .../assets/json.form/cbhs_registration.json | 3 +- 8 files changed, 129 insertions(+), 41 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 9cd52f35f1..ad28610718 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -2,7 +2,6 @@ import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; -import static org.smartregister.util.JsonFormUtils.FIELDS; import android.annotation.SuppressLint; import android.app.Activity; @@ -28,7 +27,6 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; -import org.smartregister.AllConstants; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.anc.AncLibrary; @@ -63,6 +61,7 @@ import org.smartregister.chw.referral.domain.NeatFormOption; import org.smartregister.chw.referral.util.JsonFormConstants; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; +import org.smartregister.chw.util.CbhsUtils; import org.smartregister.chw.util.UtilsFlv; import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.commonregistry.CommonPersonObjectClient; @@ -72,11 +71,9 @@ import org.smartregister.family.util.Utils; import org.smartregister.repository.LocationRepository; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.Locale; import java.util.Objects; import timber.log.Timber; @@ -334,11 +331,20 @@ protected void onResume() { notificationListAdapter.canOpen = true; ChwNotificationUtil.retrieveNotifications(ChwApplication.getApplicationFlavor().hasReferrals(), getHivMemberObject().getBaseEntityId(), this); + + //Refreshing the hiv Member object with new data just in-case it was updated in the background + setHivMemberObject(HivDao.getMember(getHivMemberObject().getBaseEntityId())); + onMemberDetailsReloaded(getHivMemberObject()); + try { - removeDeceasedClients(); + CbhsUtils.removeDeceasedClients(getHivMemberObject(), getContext()); } catch (Exception e) { Timber.e(e); } + + if (ChwCBHSDao.completedServiceOrNoLongerContinuingWithService(getHivMemberObject().getBaseEntityId())) { + CbhsUtils.createCloseCbhsEvent(getHivMemberObject()); + } } @Override @@ -402,11 +408,15 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { Runnable runnable = () -> ChwScheduleTaskExecutor.getInstance().execute(getHivMemberObject().getBaseEntityId(), org.smartregister.chw.hiv.util.Constants.EventType.FOLLOW_UP_VISIT, new Date()); org.smartregister.chw.util.Utils.startAsyncTask(new RunnableTask(runnable), null); try { - removeDeceasedClients(); + CbhsUtils.removeDeceasedClients(getHivMemberObject(), getContext()); } catch (Exception e) { Timber.e(e); } + if (ChwCBHSDao.completedServiceOrNoLongerContinuingWithService(getHivMemberObject().getBaseEntityId())) { + CbhsUtils.createCloseCbhsEvent(getHivMemberObject()); + } + super.onActivityResult(requestCode, resultCode, data); if (requestCode == CoreConstants.ProfileActivityResults.CHANGE_COMPLETED && resultCode == Activity.RESULT_OK) { Intent intent = new Intent(this, HivRegisterActivity.class); @@ -716,30 +726,5 @@ Visit getVisit(String eventType) { public interface Flavor { // void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); } - - private void removeDeceasedClients() throws Exception { - JSONObject removeFamilyMemberForm = null; - if (ChwCBHSDao.isDeceased(getHivMemberObject().getBaseEntityId())) { - try { - removeFamilyMemberForm = (new FormUtils()).getFormJsonFromRepositoryOrAssets(getContext(), CoreConstants.JSON_FORM.FAMILY_DETAILS_REMOVE_MEMBER); - org.smartregister.chw.anc.util.JsonFormUtils.getRegistrationForm(removeFamilyMemberForm, getHivMemberObject().getBaseEntityId(), org.smartregister.Context.getInstance().allSharedPreferences().getPreference(AllConstants.CURRENT_LOCATION_ID)); - } catch (Exception e) { - Timber.e(e); - } - - if (removeFamilyMemberForm != null) { - JSONObject stepOne = removeFamilyMemberForm.getJSONObject(org.smartregister.chw.anc.util.JsonFormUtils.STEP1); - JSONArray jsonArray = stepOne.getJSONArray(FIELDS); - - org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "remove_reason", "Death"); - - org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "dob", getHivMemberObject().getAge()); - org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "date_died", new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date())); - org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "age_at_death", org.smartregister.chw.util.Utils.getAgeFromDate(getHivMemberObject().getAge()) + "y"); - - org.smartregister.chw.util.Utils.removeUser(null, removeFamilyMemberForm, org.smartregister.chw.util.Utils.context().allSharedPreferences().fetchRegisteredANM()); - } - } - } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java index 30a65c0425..38606a5a17 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java @@ -65,6 +65,23 @@ public static boolean isDeceased(String baseEntityId) { return false; } + public static boolean completedServiceOrNoLongerContinuingWithService(String baseEntityId) { + String sql = " Select registration_or_followup_status\n" + + " FROM ec_cbhs_followup ecf\n" + + " INNER JOIN ec_family_member efm on ecf.entity_id = efm.base_entity_id\n" + + " WHERE efm.dod IS NULL AND ecf.entity_id = '" + baseEntityId + "'" + + " ORDER BY ecf.last_interacted_with DESC\n" + + " LIMIT 1"; + + DataMap dataMap = cursor -> getCursorValue(cursor, "registration_or_followup_status"); + List res = readData(sql, dataMap); + + if (res != null && res.size() > 0 && res.get(0) != null) { + return res.get(0).equals("deceased") || res.get(0).equals("client_has_absconded") || res.get(0).equals("completed_and_qualified_from_the_services") || res.get(0).equals("client_relocated_to_another_location"); + } + return false; + } + public static boolean hasFollowupVisits(String baseEntityId) { String sql = " Select ecf.entity_id\n" + " FROM ec_cbhs_followup ecf\n" + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java index 81f04625b4..a5d434a712 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java @@ -311,7 +311,7 @@ public static List> getCHWRegistrationFollowUpClients(Date r " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))\n" + " group by for) tasks on fm.base_entity_id = tasks.for\n" + "\n" + - "WHERE last_followup_status <> 'client_relocated_to_another_location' OR last_followup_status <> 'completed_and_qualified_from_the_services' OR last_followup_status <> 'client_has_absconded' OR last_followup_status <> 'deceased' OR last_followup_status IS NULL\n" + + "WHERE (last_followup_status <> 'client_relocated_to_another_location' AND last_followup_status <> 'completed_and_qualified_from_the_services' AND last_followup_status <> 'client_has_absconded' AND last_followup_status <> 'deceased') OR last_followup_status IS NULL\n" + "group by fm.base_entity_id\n"; String queryDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(reportDate); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java new file mode 100644 index 0000000000..832fcdf7ad --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java @@ -0,0 +1,81 @@ +package org.smartregister.chw.util; + +import static org.smartregister.chw.util.Constants.Events.CBHS_CLOSE_VISITS; +import static org.smartregister.chw.util.Constants.TableName.CBHS_REGISTER; +import static org.smartregister.util.JsonFormUtils.FIELDS; + +import android.content.Context; + +import com.vijay.jsonwizard.utils.FormUtils; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.smartregister.AllConstants; +import org.smartregister.chw.BuildConfig; +import org.smartregister.chw.anc.AncLibrary; +import org.smartregister.chw.anc.util.NCUtils; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.dao.ChwCBHSDao; +import org.smartregister.chw.hiv.domain.HivMemberObject; +import org.smartregister.clientandeventmodel.Event; +import org.smartregister.repository.AllSharedPreferences; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; +import java.util.UUID; + +import timber.log.Timber; + +public class CbhsUtils { + public static void createCloseCbhsEvent(HivMemberObject hivMemberObject) { + AllSharedPreferences allSharedPreferences = AncLibrary.getInstance().context().allSharedPreferences(); + Event closeCbhsEvent = (Event) new Event() + .withBaseEntityId(hivMemberObject.getBaseEntityId()) + .withEventDate(new Date()) + .withEventType(CBHS_CLOSE_VISITS) + .withFormSubmissionId(UUID.randomUUID().toString()) + .withEntityType(CBHS_REGISTER) + .withProviderId(allSharedPreferences.fetchRegisteredANM()) + .withTeamId(allSharedPreferences.fetchDefaultTeamId(allSharedPreferences.fetchRegisteredANM())) + .withTeam(allSharedPreferences.fetchDefaultTeam(allSharedPreferences.fetchRegisteredANM())) + .withClientDatabaseVersion(BuildConfig.DATABASE_VERSION) + .withClientApplicationVersion(BuildConfig.VERSION_CODE) + .withDateCreated(new Date()); + + closeCbhsEvent.setFormSubmissionId(UUID.randomUUID().toString()); + closeCbhsEvent.setEventDate(new Date()); + try { + NCUtils.addEvent(allSharedPreferences, closeCbhsEvent); + NCUtils.startClientProcessing(); + } catch (Exception e) { + Timber.e(e); + } + } + + public static void removeDeceasedClients(HivMemberObject hivMemberObject, Context context) throws Exception { + JSONObject removeFamilyMemberForm = null; + if (ChwCBHSDao.isDeceased(hivMemberObject.getBaseEntityId())) { + try { + removeFamilyMemberForm = (new FormUtils()).getFormJsonFromRepositoryOrAssets(context, CoreConstants.JSON_FORM.FAMILY_DETAILS_REMOVE_MEMBER); + org.smartregister.chw.anc.util.JsonFormUtils.getRegistrationForm(removeFamilyMemberForm, hivMemberObject.getBaseEntityId(), org.smartregister.Context.getInstance().allSharedPreferences().getPreference(AllConstants.CURRENT_LOCATION_ID)); + } catch (Exception e) { + Timber.e(e); + } + + if (removeFamilyMemberForm != null) { + JSONObject stepOne = removeFamilyMemberForm.getJSONObject(org.smartregister.chw.anc.util.JsonFormUtils.STEP1); + JSONArray jsonArray = stepOne.getJSONArray(FIELDS); + + org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "remove_reason", "Death"); + + org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "dob", hivMemberObject.getAge()); + org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "date_died", new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date())); + org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "age_at_death", org.smartregister.chw.util.Utils.getAgeFromDate(hivMemberObject.getAge()) + "y"); + + org.smartregister.chw.util.Utils.removeUser(null, removeFamilyMemberForm, org.smartregister.chw.util.Utils.context().allSharedPreferences().fetchRegisteredANM()); + } + } + } + +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index b22bcae567..a0ea324295 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -120,6 +120,7 @@ public static final class Events { public static final String ANC_RECURRING_FACILITY_VISIT = "ANC Recurring Facility Visit"; public static final String MOTHER_CHAMPION_FOLLOWUP = "Mother Champion Followup"; public static final String CBHS_FOLLOWUP = "CBHS Followup"; + public static final String CBHS_CLOSE_VISITS = "CBHS Close Visits"; } public static final class ActionList { @@ -129,6 +130,7 @@ public static final class ActionList { public static class TableName { public static final String MOTHER_CHAMPION_FOLLOWUP = "ec_mother_champion_followup"; public static final String SBCC = "ec_sbcc"; + public static final String CBHS_REGISTER = "ec_cbhs_register"; } public static class DBConstants{ diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json index eaf363627a..6805e9edb2 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json @@ -179,7 +179,7 @@ }, { "name": "positive", - "text": "Chanya", + "text": "Ana Maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "positive", @@ -188,7 +188,7 @@ }, { "name": "negative", - "text": "Hasi", + "text": "Hana Maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "negative", @@ -231,7 +231,7 @@ }, { "name": "positive", - "text": "Chanya", + "text": "Ana Maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "positive", @@ -240,7 +240,7 @@ }, { "name": "negative", - "text": "Hasi", + "text": "Hana Maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "negative", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json index 19f4cee239..8d7a7861aa 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json @@ -117,7 +117,7 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Hali ya maambukizo ya VVU wakati wa kuandikishwa" + "text": "Hali ya maambukizi ya VVU wakati wa kuandikishwa" }, "options": [ { @@ -150,7 +150,8 @@ ], "dependent_calculations": [ "hiv_registration_date" - ] + ], + "required_status": "yes:Tafadhali jaza hali ya maambukizi ya VVU" }, { "name": "ctc_number", @@ -185,7 +186,7 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Hali ya maambukizo ya TB Wakati wa kusajiliwa" + "text": "Hali ya maambukizi ya TB Wakati wa kusajiliwa" }, "options": [ { @@ -215,7 +216,8 @@ "openmrs_entity_parent": "" } } - ] + ], + "required_status": "yes:Tafadhali jaza hali ya maambukizi ya TB" }, { "name": "reasons_for_registration_male_15", diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json index e57a139657..f4735d15a3 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json @@ -216,7 +216,8 @@ "openmrs_entity_parent": "" } } - ] + ], + "required_status": "yes:Please specify client's TB status during registration" }, { "name": "reasons_for_registration_male_15", From e58b498673c81e3c03c2135188e9776ae72334e7 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 6 Oct 2022 14:46:45 +0300 Subject: [PATCH 848/915] fix: getting uic id generated --- opensrp-chw/src/nacp/assets/ec_client_fields.json | 8 ++++++++ .../src/nacp/assets/json.form/agyw_screening.json | 12 ------------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index d73bc7d750..0c08bd6657 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -4850,6 +4850,14 @@ "concept": "relational_id" } }, + { + "column_name": "uic_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "uic_id" + } + }, { "column_name": "sbcc_intervention_provided", "type": "Event", diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json index 20e063de1a..09081bb753 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json @@ -1073,18 +1073,6 @@ "err": "Please answer this question" } }, - { - "key": "uic_id", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "uic_id", - "type": "edit_text", - "hint": "UIC ID", - "v_required": { - "value": "true", - "err": "Please answer this question" - } - }, { "key": "schooling_status", "openmrs_entity_parent": "", From e1ace4d6a667d3bc1602278a5bbedcc28838ef7d Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 6 Oct 2022 14:50:20 +0300 Subject: [PATCH 849/915] fix: made none exclusive --- opensrp-chw/src/nacp/assets/json.form/agyw_screening.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json index 09081bb753..dd2fc6af7a 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json @@ -805,6 +805,9 @@ "value": "true", "err": "Please select at least one" }, + "exclusive": [ + "none" + ], "relevance": { "step5:sti_investigation": { "type": "string", From a7fc1884d41f42e2eb23bc2016d7919227569c2e Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 6 Oct 2022 15:01:59 +0300 Subject: [PATCH 850/915] fix: query constant to have the label for AGYW clients --- .../chw/util/ChwQueryConstant.java | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java index 06f84b982f..3eca096a31 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java @@ -23,6 +23,9 @@ public interface ChwQueryConstant { " AND ec_family.entity_type = 'ec_independent_client'\n" + " AND ec_family_member.base_entity_id IN (%s)\n" + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_agyw_register.base_entity_id AS base_entity_id\n" + + " FROM ec_agyw_register where ec_agyw_register.is_closed is 0\n" + + " UNION ALL\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register where ec_anc_register.is_closed is 0\n" + " UNION ALL\n" + @@ -73,6 +76,9 @@ public interface ChwQueryConstant { " AND ( UPPER (ec_hiv_register.client_hiv_status_after_testing) LIKE UPPER('Positive') OR ec_hiv_register.client_hiv_status_after_testing IS NULL) " + " AND ec_hiv_register.base_entity_id IN (%s)\n" + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_agyw_register.base_entity_id AS base_entity_id\n" + + " FROM ec_agyw_register where ec_agyw_register.is_closed is 0\n" + + " UNION ALL\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register\n" + " UNION ALL\n" + @@ -109,6 +115,9 @@ public interface ChwQueryConstant { " AND (ec_family.entity_type = 'ec_family' OR ec_family.entity_type is null)\n" + " AND ec_family_member.base_entity_id IN (%s)\n" + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_agyw_register.base_entity_id AS base_entity_id\n" + + " FROM ec_agyw_register where ec_agyw_register.is_closed is 0\n" + + " UNION ALL\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register where ec_anc_register.is_closed is 0\n" + " UNION ALL\n" + @@ -241,6 +250,9 @@ public interface ChwQueryConstant { " and ec_tb_register.tb_case_closure_date is null\n" + " AND ec_tb_register.base_entity_id IN (%s)\n" + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_agyw_register.base_entity_id AS base_entity_id\n" + + " FROM ec_agyw_register where ec_agyw_register.is_closed is 0\n" + + " UNION ALL\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register\n" + " UNION ALL\n" + @@ -276,6 +288,9 @@ public interface ChwQueryConstant { " AND ec_malaria_confirmation.is_closed = 0 AND ec_malaria_confirmation.malaria = 1 \n" + " AND ec_family_member.base_entity_id IN (%s)\n" + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_agyw_register.base_entity_id AS base_entity_id\n" + + " FROM ec_agyw_register where ec_agyw_register.is_closed is 0\n" + + " UNION ALL\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register\n" + " UNION ALL\n" + @@ -320,6 +335,52 @@ public interface ChwQueryConstant { " AND ec_family_planning.is_closed is 0\n" + " AND ec_family_member.base_entity_id IN (%s)\n" + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_agyw_register.base_entity_id AS base_entity_id\n" + + " FROM ec_agyw_register where ec_agyw_register.is_closed is 0\n" + + " UNION ALL\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + " UNION ALL\n" + + " SELECT ec_malaria_confirmation.base_entity_id AS base_entity_id\n" + + " FROM ec_malaria_confirmation\n" + + " UNION ALL\n" + + " SELECT ec_tb_register.base_entity_id AS base_entity_id\n" + + " FROM ec_tb_register\n" + + " WHERE ec_tb_register.tb_case_closure_date is null\n" + + " UNION ALL\n" + + " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + + " FROM ec_hiv_register)\n" + + "UNION ALL\n" + + "\n" + + "/*ONLY AGYW clients*/\n" + + "SELECT ec_family_member.first_name,\n" + + " ec_family_member.middle_name,\n" + + " ec_family_member.last_name,\n" + + " ec_family_member.gender,\n" + + " ec_family_member.dob,\n" + + " ec_family_member.base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'AGYW' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name,\n" + + " ec_agyw_register.last_interacted_with AS last_interacted_with\n" + + "FROM ec_family_member\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + " inner join ec_agyw_register\n" + + " on ec_family_member.base_entity_id = ec_agyw_register.base_entity_id\n" + + "where ec_family_member.date_removed is null\n" + + " AND ec_agyw_register.is_closed is 0\n" + + " AND ec_family_member.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register\n" + " UNION ALL\n" + From 01b6d96ffde71f14e6ff61802fe3bd1799a3c4ed Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 6 Oct 2022 15:07:48 +0300 Subject: [PATCH 851/915] fix: go to agyw profile from all clients list --- .../chw/fragment/AllClientsRegisterFragment.java | 3 +++ .../main/java/org/smartregister/chw/util/AllClientsUtils.java | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java index c934cf6b8c..d240294a55 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java @@ -67,6 +67,9 @@ protected void goToClientDetailActivity(@NonNull CommonPersonObjectClient common case CoreConstants.REGISTER_TYPE.CBHS: AllClientsUtils.goToHivProfile(this.getActivity(), commonPersonObjectClient); break; + case CoreConstants.REGISTER_TYPE.AGYW: + AllClientsUtils.goToAgywProfile(this.getActivity(), commonPersonObjectClient); + break; default: AllClientsUtils.goToOtherMemberProfile(this.getActivity(), commonPersonObjectClient, bundle, familyDetailsModel.getFamilyHead(), familyDetailsModel.getPrimaryCareGiver()); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java index 52b6a833d4..1e0705eec8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java @@ -8,6 +8,7 @@ import org.jetbrains.annotations.NotNull; import org.smartregister.chw.R; import org.smartregister.chw.activity.AboveFiveChildProfileActivity; +import org.smartregister.chw.activity.AgywProfileActivity; import org.smartregister.chw.activity.AllClientsMemberProfileActivity; import org.smartregister.chw.activity.AncMemberProfileActivity; import org.smartregister.chw.activity.ChildProfileActivity; @@ -85,6 +86,9 @@ public static void goToHivProfile(Activity activity, CommonPersonObjectClient pa public static void goToTbProfile(Activity activity, CommonPersonObjectClient patient) { TbProfileActivity.startTbProfileActivity(activity, TbDao.getMember(patient.getCaseId())); } + public static void goToAgywProfile(Activity activity, CommonPersonObjectClient client){ + AgywProfileActivity.startProfile(activity, client.getCaseId()); + } private static Intent initProfileActivityIntent(Activity activity, CommonPersonObjectClient patient, Bundle bundle, Class clazz) { Intent intent = new Intent(activity, clazz); From 603f4765b447c32bd81dc212244c4a348cf222f7 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 6 Oct 2022 15:54:09 +0300 Subject: [PATCH 852/915] fix: showing agyw screening for only 10-24 female clients' --- .../chw/activity/AllClientsMemberProfileActivity.java | 6 +++++- .../chw/activity/FamilyOtherMemberProfileActivity.java | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index aa98de3ca2..e92fba0fe0 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -78,7 +78,11 @@ public boolean onCreateOptionsMenu(Menu menu) { } if (ChwApplication.getApplicationFlavor().hasAGYW()) { - menu.findItem(R.id.action_agyw_screening).setVisible(gender.equalsIgnoreCase("Female") && !AGYWDao.isRegisteredForAgyw(baseEntityId)); + String dob = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.DOB, false); + int age = Utils.getAgeFromDate(dob); + if (gender.equalsIgnoreCase("Female") && age >= 10 && age <= 24 && !AGYWDao.isRegisteredForAgyw(baseEntityId)) { + menu.findItem(R.id.action_agyw_screening).setVisible(true); + } } return true; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index 0a46b53705..1b25222755 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -81,7 +81,11 @@ public boolean onCreateOptionsMenu(Menu menu) { } if (ChwApplication.getApplicationFlavor().hasAGYW()) { - menu.findItem(R.id.action_agyw_screening).setVisible(gender.equalsIgnoreCase("Female") && !AGYWDao.isRegisteredForAgyw(baseEntityId)); + String dob = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.DOB, false); + int age = Utils.getAgeFromDate(dob); + if (gender.equalsIgnoreCase("Female") && age >= 10 && age <= 24 && !AGYWDao.isRegisteredForAgyw(baseEntityId)) { + menu.findItem(R.id.action_agyw_screening).setVisible(true); + } } flavor.updateMalariaMenuItems(baseEntityId, menu); From d92e735e8b005748e88435ec72fec98213b4ffd7 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 6 Oct 2022 16:53:57 +0300 Subject: [PATCH 853/915] fix: checking eligibility to enroll to agyw services based on age group and criteria --- .../nacp/assets/json.form/agyw_screening.json | 57 ++++++++++++++++--- .../rule/agyw_screening_calculation.yml | 19 +++++-- .../assets/rule/agyw_screening_relevance.yml | 7 --- 3 files changed, 65 insertions(+), 18 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json index dd2fc6af7a..aa08a250ee 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json @@ -229,7 +229,7 @@ } }, { - "key": "prompt_for_agyw_enrollment_more_than_18", + "key": "prompt_for_agyw_enrollment_birth_before_18", "type": "toaster_notes", "text": "Enroll to AGYW services regardless of the score", "openmrs_entity_id": "", @@ -237,10 +237,9 @@ "openmrs_entity_parent": "", "toaster_type": "problem", "relevance": { - "rules-engine": { - "ex-rules": { - "rules-file": "agyw_screening_relevance.yml" - } + "step1:birth_before_18": { + "type": "string", + "ex": "equalTo(., \"yes\")" } } }, @@ -563,6 +562,21 @@ } } }, + { + "key": "prompt_for_agyw_enrollment_sex_for_money", + "type": "toaster_notes", + "text": "Enroll to AGYW services regardless of the score", + "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step3:sex_for_money": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, { "key": "sex_after_substance_abuse", "openmrs_entity_parent": "", @@ -599,10 +613,10 @@ } }, { - "key": "more_than_one_partner", + "key": "more_than_two_partner", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "more_than_one_partner", + "openmrs_entity_id": "more_than_two_partner", "label": "Have you ever had sex with more than two sexual partners in the past 3 months?", "text_color": "#000000", "type": "native_radio", @@ -632,6 +646,21 @@ "ex": "equalTo(., \"yes\")" } } + }, + { + "key": "prompt_for_agyw_enrollment_more_than_two_partner", + "type": "toaster_notes", + "text": "Enroll to AGYW services regardless of the score", + "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step3:more_than_two_partner": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } } ] }, @@ -1057,6 +1086,20 @@ "ex": "equalTo(., \"yes\")" } } + }, + { + "key": "should_enroll", + "type": "hidden", + "openmrs_entity": "concept", + "openmrs_entity_id": "should_enroll", + "openmrs_entity_parent": "", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_calculation.yml" + } + } + } } ] }, diff --git a/opensrp-chw/src/nacp/assets/rule/agyw_screening_calculation.yml b/opensrp-chw/src/nacp/assets/rule/agyw_screening_calculation.yml index 7354e7aeee..dff8ae93f1 100644 --- a/opensrp-chw/src/nacp/assets/rule/agyw_screening_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/agyw_screening_calculation.yml @@ -6,7 +6,7 @@ condition: "true" actions: - "def getTotalScore(household_people_for_less_than_18, ever_married, ever_pregnant, currently_pregnant, both_parents_alive, birth_before_18, formal_education, missed_school, sexual_intercourse, sexual_intercourse_past_6_months, condom_usage, - sex_for_money, sex_after_substance_abuse, more_than_one_partner, unwillingly_touched, forced_for_sexual_activity, + sex_for_money, sex_after_substance_abuse, more_than_two_partner, unwillingly_touched, forced_for_sexual_activity, scared_of_person, sti_investigation, sti_symptoms, sti_treatment, more_than_6_drinks, illicit_drug_usage, drug_alcohol_problems) { int score = 0; @@ -43,7 +43,7 @@ actions: if (sex_after_substance_abuse.equals('yes')){ score += 1; } - if (more_than_one_partner.equals('yes')){ + if (more_than_two_partner.equals('yes')){ score += 1; } if (unwillingly_touched.equals('yes') || forced_for_sexual_activity.equals('yes') || scared_of_person.equals('yes')){ @@ -66,7 +66,7 @@ actions: - "calculation = getTotalScore(step1_household_people_for_less_than_18, step1_ever_married, step1_ever_pregnant, step1_currently_pregnant, step1_both_parents_alive, step1_birth_before_18, step2_formal_education, step2_missed_school, step3_sexual_intercourse, step3_sexual_intercourse_past_6_months, - step3_condom_usage, step3_sex_for_money, step3_sex_after_substance_abuse, step3_more_than_one_partner, step4_unwillingly_touched, + step3_condom_usage, step3_sex_for_money, step3_sex_after_substance_abuse, step3_more_than_two_partner, step4_unwillingly_touched, step4_forced_for_sexual_activity, step4_scared_of_person, step5_sti_investigation, step5_sti_symptoms, step5_sti_treatment, step6_more_than_6_drinks, step6_illicit_drug_usage, step6_drug_alcohol_problems)" --- @@ -89,4 +89,15 @@ description: percentage_score_prompt calculation priority: 1 condition: "true" actions: - - "calculation = ['total_percentage_score':step7_percentage_score]" \ No newline at end of file + - "calculation = ['total_percentage_score':step7_percentage_score]" +--- +name: step7_should_enroll +description: should enroll value based of given criteria +condition: "true" +actions: + - "calculation = + (global_age < 18 && (step7_total_score > 7 || step1_household_people_for_less_than_18.contains('led_by_below_eighteen') || step3_sex_for_money.equals('yes') || step3_more_than_two_partner.equals('yes') )) ? + 'yes' : + (global_age > 17 && (step7_total_score > 6 || step1_birth_before_18.equals('yes') || step3_sex_for_money.equals('yes') || step3_more_than_two_partner.equals('yes') )) ? + 'yes' + : 'no' " \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml b/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml index 0c7f3c54de..e70c8f6b33 100644 --- a/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml @@ -27,13 +27,6 @@ condition: "global_age >= 18" actions: - "isRelevant = true" --- -name: step1_prompt_for_agyw_enrollment_more_than_18 -description: prompt_for_agyw_enrollment_more_than_18 relevance -priority: 1 -condition: "step1_birth_before_18.equals('yes')" -actions: - - "isRelevant = true" ---- name: step1_ever_married description: ever_married relevance priority: 1 From 58b335c1944ba10a4a8df876ebf1b46392c16bd0 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 6 Oct 2022 17:01:47 +0300 Subject: [PATCH 854/915] fix: hiding enrollment questions if client did not qualify --- .../nacp/assets/json.form/agyw_screening.json | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json index aa08a250ee..613df1a3c7 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json @@ -1106,6 +1106,21 @@ "step8": { "title": "AGYW Enrollment", "fields": [ + { + "key": "enroll_to_agyw_services", + "type": "toaster_notes", + "text": "The client does not qualify to be enrolled to AGYW Services", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step7:should_enroll": { + "type": "string", + "ex": "equalTo(., \"no\")" + } + } + }, { "key": "birth_region", "openmrs_entity_parent": "", @@ -1117,7 +1132,13 @@ "v_required": { "value": "true", "err": "Please answer this question" + }, + "relevance": { + "step7:should_enroll": { + "type": "string", + "ex": "equalTo(., \"yes\")" } + } }, { "key": "schooling_status", @@ -1146,6 +1167,12 @@ "v_required": { "value": "true", "err": "Please select an answer" + }, + "relevance": { + "step7:should_enroll": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } } }, { @@ -1182,6 +1209,12 @@ "v_required": { "value": "true", "err": "Please select an answer" + }, + "relevance": { + "step7:should_enroll": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } } }, { @@ -1211,6 +1244,12 @@ "v_required": { "value": "true", "err": "Please select an answer" + }, + "relevance": { + "step7:should_enroll": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } } }, { @@ -1303,6 +1342,12 @@ "v_required": { "value": "true", "err": "Please select an answer" + }, + "relevance": { + "step7:should_enroll": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } } }, { From df4ea31d46df1baf64579fc97266f0083f99678b Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 6 Oct 2022 17:11:19 +0300 Subject: [PATCH 855/915] fix: capture client's consent before enrolling --- .../nacp/assets/json.form/agyw_screening.json | 51 ++++++++++++++++--- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json index 613df1a3c7..871f39b693 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json @@ -1121,6 +1121,41 @@ } } }, + { + "key": "consent_to_be_enrolled", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "consent_to_be_enrolled", + "label": "Has the client accepted to be enrolled", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Yes", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + }, + "relevance": { + "step7:should_enroll": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, { "key": "birth_region", "openmrs_entity_parent": "", @@ -1134,11 +1169,11 @@ "err": "Please answer this question" }, "relevance": { - "step7:should_enroll": { - "type": "string", - "ex": "equalTo(., \"yes\")" + "step8:consent_to_be_enrolled": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } } - } }, { "key": "schooling_status", @@ -1169,7 +1204,7 @@ "err": "Please select an answer" }, "relevance": { - "step7:should_enroll": { + "step8:consent_to_be_enrolled": { "type": "string", "ex": "equalTo(., \"yes\")" } @@ -1211,7 +1246,7 @@ "err": "Please select an answer" }, "relevance": { - "step7:should_enroll": { + "step8:consent_to_be_enrolled": { "type": "string", "ex": "equalTo(., \"yes\")" } @@ -1246,7 +1281,7 @@ "err": "Please select an answer" }, "relevance": { - "step7:should_enroll": { + "step8:consent_to_be_enrolled": { "type": "string", "ex": "equalTo(., \"yes\")" } @@ -1344,7 +1379,7 @@ "err": "Please select an answer" }, "relevance": { - "step7:should_enroll": { + "step8:consent_to_be_enrolled": { "type": "string", "ex": "equalTo(., \"yes\")" } From 938531b93476d0cde882930e3bcfe688c246214c Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 6 Oct 2022 17:40:21 +0300 Subject: [PATCH 856/915] removed: agyw services referral form and added sti referral form --- .../chw/activity/AgywProfileActivity.java | 4 +- opensrp-chw/src/main/res/values/strings.xml | 2 +- ...m.json => sti_services_referral_form.json} | 73 +++++++++---------- ..._rules.yml => sti_referral_form_rules.yml} | 7 ++ 4 files changed, 45 insertions(+), 41 deletions(-) rename opensrp-chw/src/nacp/assets/json.form/referrals/{agyw_services_referral_form.json => sti_services_referral_form.json} (72%) rename opensrp-chw/src/nacp/assets/rule/{agyw_referral_form_rules.yml => sti_referral_form_rules.yml} (83%) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java index ee83b45dcc..729f54afd7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java @@ -38,8 +38,8 @@ protected void startAGYWServices() { public void startReferralForm() { if(BuildConfig.USE_UNIFIED_REFERRAL_APPROACH){ List referralTypeModels = new ArrayList<>(); - referralTypeModels.add(new ReferralTypeModel(getString(R.string.agyw_referral), - org.smartregister.chw.util.Constants.JSON_FORM.getAgywReferralForm(), CoreConstants.TASKS_FOCUS.AGYW_REFERRAL)); + referralTypeModels.add(new ReferralTypeModel(getString(R.string.sti_referral), + org.smartregister.chw.util.Constants.JSON_FORM.getSTIServicesReferralForm(), CoreConstants.TASKS_FOCUS.STI_REFERRAL)); referralTypeModels.addAll(Utils.getCommonReferralTypes(this, memberObject.getBaseEntityId())); Utils.launchClientReferralActivity(this, referralTypeModels, memberObject.getBaseEntityId()); diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index 560c21d55c..56fff58a4d 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -434,7 +434,7 @@ Grant Allow Phone Number Collection Community Healthcare Worker collect user phone numbers to be used for monitoring, evaluation and analysis of visits conducted at the community. - AGYW Services + STI Services diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/agyw_services_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/sti_services_referral_form.json similarity index 72% rename from opensrp-chw/src/nacp/assets/json.form/referrals/agyw_services_referral_form.json rename to opensrp-chw/src/nacp/assets/json.form/referrals/sti_services_referral_form.json index 3273ddc539..4d7750ce6b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/agyw_services_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/sti_services_referral_form.json @@ -1,9 +1,9 @@ { - "form": "KVP Services Referral", - "encounter_type": "AGYW Services Referral", + "form": "STI Services Referral", + "encounter_type": "STI Services Referral", "entity_id": "", "relational_id": "", - "rules_file": "rule/agyw_referral_form_rules.yml", + "rules_file": "rule/sti_referral_form_rules.yml", "metadata": { "start": { "openmrs_entity_parent": "", @@ -54,7 +54,7 @@ }, "steps": [ { - "title": "AGYW Services Referral", + "title": "STI Services Referral", "fields": [ { "name": "problem", @@ -69,70 +69,52 @@ }, "options": [ { - "name": "hiv_testing", - "text": "HIV Testing Services", + "name": "genital_ulcers", + "text": "Genital ulcers", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "hiv_testing", + "openmrs_entity_id": "genital_ulcers", "openmrs_entity_parent": "" } }, { - "name": "sti_services", - "text": "STI Services", + "name": "abnormal_vag_discharge", + "text": "Abnormal vaginal discharge(including anal discharge if practicing receptive anal sex)", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "sti_services", + "openmrs_entity_id": "abnormal_vag_discharge", "openmrs_entity_parent": "" } }, { - "name": "prep_services", - "text": "PrEP Services", + "name": "pain_during_sexual_act", + "text": "Pain during the sexual act", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "prep_services", + "openmrs_entity_id": "pain_during_sexual_act", "openmrs_entity_parent": "" } }, { - "name": "family_planning_services", - "text": "Family Planning Services", + "name": "low_abdominal_pain", + "text": "Low abdominal pain", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "family_planning_services", + "openmrs_entity_id": "low_abdominal_pain", "openmrs_entity_parent": "" } }, { - "name": "gbv_screening", - "text": "GBV Screening", + "name": "other", + "text": "Others (Specify)", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "gbv_screening", - "openmrs_entity_parent": "" - } - }, - { - "name": "tb_services", - "text": "TB Services", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_services", - "openmrs_entity_parent": "" - } - }, - { - "name": "pep", - "text": "PEP", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "pep", + "openmrs_entity_id": "other", "openmrs_entity_parent": "" } } ], - "required_status": "yes:Please specify reason for AGYW services referral", + "required_status": "yes:Please specify reason for STI services referral", "dependent_calculations": [ "referral_date", "referral_time", @@ -140,6 +122,21 @@ "referral_status" ] }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Other reasons", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Please specify other reasons", + "subjects": "problem:map" + }, { "name": "chw_referral_hf", "type": "spinner", diff --git a/opensrp-chw/src/nacp/assets/rule/agyw_referral_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/sti_referral_form_rules.yml similarity index 83% rename from opensrp-chw/src/nacp/assets/rule/agyw_referral_form_rules.yml rename to opensrp-chw/src/nacp/assets/rule/sti_referral_form_rules.yml index 98e35dd1c9..143d7ef566 100644 --- a/opensrp-chw/src/nacp/assets/rule/agyw_referral_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/sti_referral_form_rules.yml @@ -1,4 +1,11 @@ --- +name: "problem_other_visibility" +description: "Specify other symptoms" +priority: 1 +condition: "problem['other'] != null" +actions: + - "problem_other_visibility = true" +--- name: "referral_date_calculation" description: "Referral date calculation" priority: 1 From d8b3d833f9da9ef7dd377b8b25280645c602834f Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 6 Oct 2022 17:59:02 +0300 Subject: [PATCH 857/915] added: referral services --- .../org/smartregister/chw/activity/AgywProfileActivity.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java index 729f54afd7..de9e1babb4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java @@ -11,6 +11,7 @@ import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.util.Utils; +import org.smartregister.common.Gender; import java.util.ArrayList; import java.util.List; @@ -41,7 +42,10 @@ public void startReferralForm() { referralTypeModels.add(new ReferralTypeModel(getString(R.string.sti_referral), org.smartregister.chw.util.Constants.JSON_FORM.getSTIServicesReferralForm(), CoreConstants.TASKS_FOCUS.STI_REFERRAL)); referralTypeModels.addAll(Utils.getCommonReferralTypes(this, memberObject.getBaseEntityId())); - + referralTypeModels.add(new ReferralTypeModel(getString(R.string.family_planning_referral), + org.smartregister.chw.util.Constants.JSON_FORM.getFamilyPlanningUnifiedReferralForm(Gender.FEMALE.toString()), CoreConstants.TASKS_FOCUS.FP_SIDE_EFFECTS)); + referralTypeModels.add(new ReferralTypeModel(getString(R.string.tb_referral), + CoreConstants.JSON_FORM.getTbReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_TB)); Utils.launchClientReferralActivity(this, referralTypeModels, memberObject.getBaseEntityId()); } } From a41ff5e6bac22aaaa26b78c9198aec11999d3fca Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 6 Oct 2022 18:49:32 +0300 Subject: [PATCH 858/915] :hammer: code refactoring --- opensrp-chw/build.gradle | 2 +- .../chw/activity/HivProfileActivity.java | 44 ++-- .../chw/activity/HivRegisterActivity.java | 5 - .../chw/activity/TbProfileActivity.java | 25 +- .../org/smartregister/chw/dao/ChwCBHSDao.java | 3 +- .../chw/model/HivRegisterFragmentModel.java | 9 +- .../HivRegisterFragmentPresenter.java | 20 +- .../org/smartregister/chw/util/CbhsUtils.java | 13 + .../chw/util/ChwQueryConstant.java | 30 +-- .../nacp/assets/ec_client_classification.json | 7 + .../src/nacp/assets/ec_client_fields.json | 6 +- .../json.form-sw/female_hiv_registration.json | 235 ------------------ .../json.form-sw/male_hiv_registration.json | 222 ----------------- .../json.form/female_hiv_registration.json | 235 ------------------ .../json.form/male_hiv_registration.json | 222 ----------------- .../rule/hiv_registration_form_rules.yml | 5 +- 16 files changed, 109 insertions(+), 974 deletions(-) delete mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json delete mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json delete mode 100644 opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json delete mode 100644 opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 35eb4e0ae8..109a281aeb 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -348,7 +348,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.35.3-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.35.4-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index ad28610718..1df584eb0b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -2,6 +2,7 @@ import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; +import static org.smartregister.chw.util.Utils.updateAgeAndGender; import android.annotation.SuppressLint; import android.app.Activity; @@ -434,13 +435,21 @@ public void openMedicalHistory() { @Override public void openHivRegistrationForm() { try { - String formName; - if (getHivMemberObject().getGender().equalsIgnoreCase("male")) { - formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); - } else { - formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); + String formName = org.smartregister.chw.util.Constants.JsonForm.getCbhsRegistrationForm(); + JSONObject formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName); + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + + + int age = org.smartregister.chw.util.Utils.getAgeFromDate(getHivMemberObject().getAge()); + try { + updateAgeAndGender(fields, age, getHivMemberObject().getGender()); + } catch (Exception e) { + Timber.e(e); } - HivRegisterActivity.startHIVFormActivity(this, getHivMemberObject().getBaseEntityId(), formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); + + HivRegisterActivity.startHIVFormActivity(this, getHivMemberObject().getBaseEntityId(), formName, formJsonObject.toString()); } catch (JSONException e) { Timber.e(e); } @@ -635,19 +644,26 @@ protected void startAncRegister() { public void startHivRegistrationDetailsActivity() { Intent intent = new Intent(this, BaseHivFormsActivity.class); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, getHivMemberObject().getBaseEntityId()); + String formName = org.smartregister.chw.util.Constants.JsonForm.getCbhsRegistrationForm(); - String formName; - if (getHivMemberObject().getGender().equalsIgnoreCase("male")) { - formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); - } else { - formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); + JSONObject formJsonObject = null; + try { + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName); + } catch (JSONException e) { + Timber.e(e); } - JSONObject formJsonObject = null; try { + + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + + int age = org.smartregister.chw.util.Utils.getAgeFromDate(getHivMemberObject().getAge()); + updateAgeAndGender(fields, age, getHivMemberObject().getGender()); + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName); formJsonObject.put(ENCOUNTER_TYPE, UPDATE_HIV_REGISTRATION); - JSONArray fields = formJsonObject.getJSONArray("steps").getJSONObject(0).getJSONArray("fields"); for (int i = 0; i < fields.length(); i++) { JSONObject field = fields.getJSONObject(i); @@ -669,7 +685,7 @@ public void startHivRegistrationDetailsActivity() { } } - } catch (JSONException e) { + } catch (Exception e) { Timber.e(e); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java index 919f3111fc..e71295135a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java @@ -34,11 +34,6 @@ protected BaseHivRegisterFragment getRegisterFragment() { return new HivRegisterFragment(); } - @Override - public List getViewIdentifiers() { - return null; - } - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index 78959e72f9..9e6b8f2d4a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -2,6 +2,7 @@ import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; +import static org.smartregister.chw.util.Utils.updateAgeAndGender; import android.app.Activity; import android.content.Context; @@ -17,7 +18,9 @@ import com.vijay.jsonwizard.utils.FormUtils; import org.apache.commons.lang3.StringUtils; +import org.json.JSONArray; import org.json.JSONException; +import org.json.JSONObject; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.application.ChwApplication; @@ -275,14 +278,22 @@ public boolean onOptionsItemSelected(MenuItem item) { } protected void startHivRegister() { - String formName; - if (getTbMemberObject().getGender().equalsIgnoreCase("male")) { - formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); - } else { - formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); - } try { - HivRegisterActivity.startHIVFormActivity(TbProfileActivity.this, getTbMemberObject().getBaseEntityId(), formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); + String formName = org.smartregister.chw.util.Constants.JsonForm.getCbhsRegistrationForm(); + JSONObject formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName); + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + + + int age = org.smartregister.chw.util.Utils.getAgeFromDate(getTbMemberObject().getAge()); + try { + updateAgeAndGender(fields, age, getTbMemberObject().getGender()); + } catch (Exception e) { + Timber.e(e); + } + + HivRegisterActivity.startHIVFormActivity(this, getTbMemberObject().getBaseEntityId(), formName, formJsonObject.toString()); } catch (JSONException e) { Timber.e(e); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java index 38606a5a17..7c8cfb7003 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java @@ -68,8 +68,7 @@ public static boolean isDeceased(String baseEntityId) { public static boolean completedServiceOrNoLongerContinuingWithService(String baseEntityId) { String sql = " Select registration_or_followup_status\n" + " FROM ec_cbhs_followup ecf\n" + - " INNER JOIN ec_family_member efm on ecf.entity_id = efm.base_entity_id\n" + - " WHERE efm.dod IS NULL AND ecf.entity_id = '" + baseEntityId + "'" + + " WHERE ecf.is_closed = 0 AND ecf.entity_id = '" + baseEntityId + "'" + " ORDER BY ecf.last_interacted_with DESC\n" + " LIMIT 1"; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java index 589ed79c67..69fd287d7c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java @@ -6,7 +6,6 @@ import org.jetbrains.annotations.NotNull; import org.smartregister.chw.core.utils.ChildDBConstants; import org.smartregister.chw.hiv.model.BaseHivRegisterFragmentModel; -import org.smartregister.chw.hiv.util.Constants.Tables; import org.smartregister.chw.hiv.util.DBConstants.Key; import org.smartregister.chw.util.Constants; import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; @@ -50,10 +49,10 @@ public String[] mainColumns(String tableName) { columnList.add("T1." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.PRIMARY_CAREGIVER); columnList.add("T2." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.FAMILY_HEAD); columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); - columnList.add(Tables.HIV + "." + Key.CTC_NUMBER); - columnList.add(Tables.HIV + "." + Key.CBHS_NUMBER); - columnList.add(Tables.HIV + "." + Key.CLIENT_HIV_STATUS_DURING_REGISTRATION); - columnList.add(Tables.HIV + "." + Key.CLIENT_HIV_STATUS_AFTER_TESTING); + columnList.add(tableName + "." + Key.CTC_NUMBER); + columnList.add(tableName + "." + Key.CBHS_NUMBER); + columnList.add(tableName+ "." + Key.CLIENT_HIV_STATUS_DURING_REGISTRATION); + columnList.add(tableName+ "." + Key.CLIENT_HIV_STATUS_AFTER_TESTING); return columnList.toArray(new String[columnList.size()]); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java index 38caa1e176..a3fd95e12b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java @@ -1,33 +1,33 @@ package org.smartregister.chw.presenter; +import static org.smartregister.chw.util.Constants.TableName.CBHS_REGISTER; +import androidx.annotation.NonNull; import org.jetbrains.annotations.NotNull; import org.smartregister.chw.R; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.hiv.contract.BaseHivRegisterFragmentContract; import org.smartregister.chw.hiv.presenter.BaseHivRegisterFragmentPresenter; -import org.smartregister.chw.hiv.util.Constants.Tables; import org.smartregister.chw.hiv.util.DBConstants; import org.smartregister.chw.util.Constants; public class HivRegisterFragmentPresenter extends BaseHivRegisterFragmentPresenter { - public HivRegisterFragmentPresenter(BaseHivRegisterFragmentContract.View view, BaseHivRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { super(view, model, viewConfigurationIdentifier); } + @Override @NotNull public String getMainCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND (" + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " = 'positive' OR " + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " IS NULL ) "+ - "AND " + Tables.HIV + "." + DBConstants.Key.IS_CLOSED + " = '0' "; - + "AND (" + CBHS_REGISTER + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " = 'positive' OR " + CBHS_REGISTER + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " IS NULL ) " + + "AND " + CBHS_REGISTER + "." + DBConstants.Key.IS_CLOSED + " = '0' "; } @Override @NotNull public String getDueFilterCondition() { - return CoreConstants.TABLE_NAME.HIV_MEMBER + ".base_entity_id in (select base_entity_id from schedule_service where strftime('%Y-%m-%d') BETWEEN due_date and expiry_date and schedule_name = '" + CoreConstants.SCHEDULE_TYPES.HIV_VISIT + "' and ifnull(not_done_date,'') = '' and ifnull(completion_date,'') = '' ) "; + return CBHS_REGISTER + ".base_entity_id in (select base_entity_id from schedule_service where strftime('%Y-%m-%d') BETWEEN due_date and expiry_date and schedule_name = '" + CoreConstants.SCHEDULE_TYPES.HIV_VISIT + "' and ifnull(not_done_date,'') = '' and ifnull(completion_date,'') = '' ) "; } @Override @@ -38,8 +38,14 @@ public void processViewConfigurations() { } } + @NonNull + @Override + public String getDefaultSortQuery() { + return getMainTable() + "." + DBConstants.Key.HIV_REGISTRATION_DATE + " DESC "; + } + @Override public String getMainTable() { - return Tables.HIV; + return CBHS_REGISTER; } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java index 832fcdf7ad..69b9636033 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java @@ -18,9 +18,11 @@ import org.smartregister.chw.dao.ChwCBHSDao; import org.smartregister.chw.hiv.domain.HivMemberObject; import org.smartregister.clientandeventmodel.Event; +import org.smartregister.clientandeventmodel.Obs; import org.smartregister.repository.AllSharedPreferences; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.Locale; import java.util.UUID; @@ -45,6 +47,17 @@ public static void createCloseCbhsEvent(HivMemberObject hivMemberObject) { closeCbhsEvent.setFormSubmissionId(UUID.randomUUID().toString()); closeCbhsEvent.setEventDate(new Date()); + + closeCbhsEvent.addObs( + (new Obs()) + .withFormSubmissionField("cbhs_close_visit_date") + .withValue(new Date().toString()) + .withFieldCode("cbhs_close_visit_date") + .withFieldType("formsubmissionField") + .withFieldDataType("text") + .withParentCode("") + .withHumanReadableValues(new ArrayList<>())); + try { NCUtils.addEvent(allSharedPreferences, closeCbhsEvent); NCUtils.startClientProcessing(); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java index 06f84b982f..87e2a8e7c0 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java @@ -44,9 +44,9 @@ public interface ChwQueryConstant { " FROM ec_tb_register\n" + " WHERE ec_tb_register.tb_case_closure_date is null\n" + " UNION ALL\n" + - " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + - " FROM ec_hiv_register\n" + - " WHERE ( UPPER (ec_hiv_register.client_hiv_status_after_testing) LIKE UPPER('Positive') OR ec_hiv_register.client_hiv_status_after_testing IS NULL) \n" + + " SELECT ec_cbhs_register.base_entity_id AS base_entity_id\n" + + " FROM ec_cbhs_register\n" + + " WHERE is_closed is 0 AND (UPPER (ec_cbhs_register.client_hiv_status_after_testing) LIKE UPPER('Positive') OR ec_cbhs_register.client_hiv_status_after_testing IS NULL) \n" + ")" + "UNION ALL" + "/* CBHS REGISTER */\n" + @@ -61,17 +61,17 @@ public interface ChwQueryConstant { " 'CBHS' AS register_type,\n" + " ec_family_member.relational_id as relationalid,\n" + " ec_family.village_town as home_address,\n" + - " ec_hiv_register.last_interacted_with AS last_interacted_with,\n" + + " ec_cbhs_register.last_interacted_with AS last_interacted_with,\n" + " NULL AS mother_first_name,\n" + " NULL AS mother_last_name,\n" + " NULL AS mother_middle_name\n" + - "FROM ec_hiv_register\n" + - " inner join ec_family_member on ec_family_member.base_entity_id = ec_hiv_register.base_entity_id\n" + + "FROM ec_cbhs_register\n" + + " inner join ec_family_member on ec_family_member.base_entity_id = ec_cbhs_register.base_entity_id\n" + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + "where ec_family_member.date_removed is null\n" + - " AND ec_hiv_register.is_closed is 0\n" + - " AND ( UPPER (ec_hiv_register.client_hiv_status_after_testing) LIKE UPPER('Positive') OR ec_hiv_register.client_hiv_status_after_testing IS NULL) " + - " AND ec_hiv_register.base_entity_id IN (%s)\n" + + " AND ec_cbhs_register.is_closed is 0\n" + + " AND ( UPPER (ec_cbhs_register.client_hiv_status_after_testing) LIKE UPPER('Positive') OR ec_cbhs_register.client_hiv_status_after_testing IS NULL) " + + " AND ec_cbhs_register.base_entity_id IN (%s)\n" + " AND ec_family_member.base_entity_id NOT IN (\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register\n" + @@ -130,8 +130,8 @@ public interface ChwQueryConstant { " FROM ec_tb_register\n" + " WHERE ec_tb_register.tb_case_closure_date is null\n" + " UNION ALL\n" + - " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + - " FROM ec_hiv_register\n" + + " SELECT ec_cbhs_register.base_entity_id AS base_entity_id\n" + + " FROM ec_cbhs_register\n" + ")\n" + "UNION ALL\n" + "/* ANC REGISTER */\n" + @@ -292,8 +292,8 @@ public interface ChwQueryConstant { " FROM ec_tb_register\n" + " WHERE ec_tb_register.tb_case_closure_date is null\n" + " UNION ALL\n" + - " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + - " FROM ec_hiv_register\n" + + " SELECT ec_cbhs_register.base_entity_id AS base_entity_id\n" + + " FROM ec_cbhs_register\n" + ")\n" + "UNION ALL\n" + "\n" + @@ -336,8 +336,8 @@ public interface ChwQueryConstant { " FROM ec_tb_register\n" + " WHERE ec_tb_register.tb_case_closure_date is null\n" + " UNION ALL\n" + - " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + - " FROM ec_hiv_register)\n" + + " SELECT ec_cbhs_register.base_entity_id AS base_entity_id\n" + + " FROM ec_cbhs_register)\n" + ")\n" + "ORDER BY last_interacted_with DESC;"; } diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index 363779463d..db951a7b6b 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -368,6 +368,13 @@ "ec_hiv_register" ] }, + { + "field": "eventType", + "field_value": "CBHS Close Visits", + "closes_case": [ + "ec_cbhs_register" + ] + }, { "field": "eventType", "field_value": "CBHS Registration", diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 238be42bf1..2d178d7290 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -2787,7 +2787,7 @@ "column_name": "ctc_number", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", + "field": "obs.formSubmissionField", "concept": "ctc_number" } }, @@ -2819,7 +2819,7 @@ "column_name": "cbhs_number", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", + "field": "obs.formSubmissionField", "concept": "cbhs_number" } }, @@ -2844,7 +2844,7 @@ "column_name": "client_hiv_status_during_registration", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", + "field": "obs.formSubmissionField", "concept": "client_hiv_status_during_registration" } }, diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json deleted file mode 100644 index dfb5227560..0000000000 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json +++ /dev/null @@ -1,235 +0,0 @@ -{ - "form": "HIV Registration form", - "count": "1", - "encounter_type": "CBHS Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Usajili wa wateja wa VVU", - "fields": [ - { - "name": "cbhs_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya HUWANYU mfano: 1234-56-78-912", - "type": "Namba ya HUWANYU mfano: 1234-56-78-912", - "mask": "####-##-##-###", - "mask_hint": "12345678912", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cbhs_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", - "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." - } - ], - "required_status": "yes:Tafadhali weka namba ya HUWANYU" - }, - { - "name": "client_hiv_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya maambukizo ya VVU wakati wa kuandikishwa" - }, - "options": [ - { - "name": "unknown", - "text": "Haijulikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Ana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Hana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "dependent_calculations": [ - "hiv_registration_date" - ] - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya CTC mfano: 12-34-5678-912345", - "type": "Namba ya CTC mfano: 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." - } - ], - "subjects": "client_hiv_status_during_registration:text" - }, - { - "name": "client_tb_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_tb_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya maambukizo ya TB Wakati wa kusajiliwa" - }, - "options": [ - { - "name": "unknown", - "text": "Haijulikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Ana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Hana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ] - }, - { - "name": "tb_number", - "type": "text_input_edit_text", - "properties": { - "hint": "Namba ya utambulisho wa Kifua Kikuu", - "type": "TB Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "rch_number", - "type": "text_input_edit_text", - "properties": { - "hint": "Namba ya utambulisho wa Kadi ya Kliniki (RCH)", - "type": "RCH Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "rch_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "mat_number", - "type": "text_input_edit_text", - "properties": { - "hint": "Namba ya utambulisho ya MAT", - "type": "MAT Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mat_number", - "openmrs_entity_parent": "" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json deleted file mode 100644 index 200ffc2769..0000000000 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "form": "HIV Registration form", - "count": "1", - "encounter_type": "CBHS Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Usajili wa wateja wa VVU", - "fields": [ - { - "name": "cbhs_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya HUWANYU mfano: 1234-56-78-912", - "type": "Namba ya HUWANYU mfano: 1234-56-78-912", - "mask": "####-##-##-###", - "mask_hint": "12345678912", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cbhs_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", - "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." - } - ], - "required_status": "yes:Tafadhali weka namba ya HUWANYU" - }, - { - "name": "client_hiv_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya maambukizo ya VVU wakati wa kuandikishwa" - }, - "options": [ - { - "name": "unknown", - "text": "Haijulikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Ana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Hana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "dependent_calculations": [ - "hiv_registration_date" - ] - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya CTC mfano: 12-34-5678-912345", - "type": "Namba ya CTC mfano: 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." - } - ], - "subjects": "client_hiv_status_during_registration:text" - }, - { - "name": "client_tb_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_tb_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya maambukizo ya TB Wakati wa kusajiliwa" - }, - "options": [ - { - "name": "unknown", - "text": "Haijulikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Ana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Hana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ] - }, - { - "name": "tb_number", - "type": "text_input_edit_text", - "properties": { - "hint": "Namba ya utambulisho wa Kifua Kikuu", - "type": "TB Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "mat_number", - "type": "text_input_edit_text", - "properties": { - "hint": "Namba ya utambulisho ya MAT", - "type": "MAT Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mat_number", - "openmrs_entity_parent": "" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json deleted file mode 100644 index 107f7aa5eb..0000000000 --- a/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json +++ /dev/null @@ -1,235 +0,0 @@ -{ - "form": "HIV Registration form", - "count": "1", - "encounter_type": "CBHS Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "CBHS Registration Form", - "fields": [ - { - "name": "cbhs_number", - "type": "masked_edit_text", - "properties": { - "hint": "CBHS Number e.g 1234-56-78-912", - "type": "CBHS Number e.g 1234-56-78-912", - "mask": "####-##-##-###", - "mask_hint": "12345678912", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cbhs_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", - "message": "CBHS Number should be of the format (XXXX-XX-XX-XXX)." - } - ], - "required_status": "yes:Please specify client's CBHS Number" - }, - { - "name": "client_hiv_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's HIV status during registration" - }, - "options": [ - { - "name": "unknown", - "text": "Unknown", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Negative", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "dependent_calculations": [ - "hiv_registration_date" - ] - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "CTC Number e.g 12-34-5678-912345", - "type": "CTC Number e.g 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "CTC Number should be of the format (XX-XX-XXXX-XXXXXX)." - } - ], - "subjects": "client_hiv_status_during_registration:text" - }, - { - "name": "client_tb_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_tb_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's TB status during registration" - }, - "options": [ - { - "name": "unknown", - "text": "Unknown", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Negative", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ] - }, - { - "name": "tb_number", - "type": "text_input_edit_text", - "properties": { - "hint": "TB ID", - "type": "TB Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "rch_number", - "type": "text_input_edit_text", - "properties": { - "hint": "RCH ID", - "type": "RCH Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "rch_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "mat_number", - "type": "text_input_edit_text", - "properties": { - "hint": "MAT ID", - "type": "MAT Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mat_number", - "openmrs_entity_parent": "" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json deleted file mode 100644 index 721e7e03f8..0000000000 --- a/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "form": "HIV Registration form", - "count": "1", - "encounter_type": "CBHS Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "CBHS Registration Form", - "fields": [ - { - "name": "cbhs_number", - "type": "masked_edit_text", - "properties": { - "hint": "CBHS Number e.g 1234-56-78-912", - "type": "CBHS Number e.g 1234-56-78-912", - "mask": "####-##-##-###", - "mask_hint": "12345678912", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cbhs_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", - "message": "CBHS Number should be of the format (XXXX-XX-XX-XXX)." - } - ], - "required_status": "yes:Please specify client's CBHS Number" - }, - { - "name": "client_hiv_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's HIV status during registration" - }, - "options": [ - { - "name": "unknown", - "text": "Unknown", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Negative", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "dependent_calculations": [ - "hiv_registration_date" - ] - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "CTC Number e.g 12-34-5678-912345", - "type": "CTC Number e.g 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "CTC Number should be of format (XX-XX-XXXX-XXXXXX)." - } - ], - "subjects": "client_hiv_status_during_registration:text" - }, - { - "name": "client_tb_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_tb_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's TB status during registration" - }, - "options": [ - { - "name": "unknown", - "text": "Unknown", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Negative", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ] - }, - { - "name": "tb_number", - "type": "text_input_edit_text", - "properties": { - "hint": "TB ID", - "type": "TB Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "mat_number", - "type": "text_input_edit_text", - "properties": { - "hint": "MAT ID", - "type": "MAT Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mat_number", - "openmrs_entity_parent": "" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml index cce8fbee78..07053df996 100644 --- a/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml @@ -74,4 +74,7 @@ description: "calculating the reason for registration" priority: 1 condition: "true" actions: - - "reasons_for_registration_calculation = (gender == 'Male' && age >= 15) ? reasons_for_registration_male_15 : (gender == 'Female' && age >= 15) ? reasons_for_registration_female_15 : (gender == 'Male' && age < 15) ? reasons_for_registration_male_under_15 : (gender == 'Female' && age < 10) ? reasons_for_registration_female_under_10 : (gender == 'Female' && (age >= 10 && age <= 14)) ? reasons_for_registration_female_10_to_14 : '' " \ No newline at end of file + - "reasons_for_registration_calculation = (gender == 'Male' && age >= 15) ? reasons_for_registration_male_15 : + (gender == 'Male' && age < 15) ? reasons_for_registration_male_under_15 : + (gender == 'Female' && age >= 15) ? reasons_for_registration_female_15 : + (gender == 'Female' && age < 10) ? reasons_for_registration_female_under_10 : reasons_for_registration_female_10_to_14 " \ No newline at end of file From 1d0a5e5b28c483932dc09b7d4b0cea046820fdb3 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 7 Oct 2022 10:36:29 +0300 Subject: [PATCH 859/915] :hammer: code refactoring --- .../chw/presenter/HivRegisterFragmentPresenter.java | 1 - .../org/smartregister/chw/util/ChwQueryConstant.java | 3 +-- .../json.form-sw/ltfu_community_followup_feedback.json | 9 +++++++++ .../json.form/ltfu_community_followup_feedback.json | 9 +++++++++ .../src/nacp/assets/rule/cbhs_followup_form_rules.yml | 2 +- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java index a3fd95e12b..b1e31abb28 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java @@ -20,7 +20,6 @@ public HivRegisterFragmentPresenter(BaseHivRegisterFragmentContract.View view, B @NotNull public String getMainCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND (" + CBHS_REGISTER + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " = 'positive' OR " + CBHS_REGISTER + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " IS NULL ) " + "AND " + CBHS_REGISTER + "." + DBConstants.Key.IS_CLOSED + " = '0' "; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java index 87e2a8e7c0..bc528ecdf4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java @@ -46,7 +46,7 @@ public interface ChwQueryConstant { " UNION ALL\n" + " SELECT ec_cbhs_register.base_entity_id AS base_entity_id\n" + " FROM ec_cbhs_register\n" + - " WHERE is_closed is 0 AND (UPPER (ec_cbhs_register.client_hiv_status_after_testing) LIKE UPPER('Positive') OR ec_cbhs_register.client_hiv_status_after_testing IS NULL) \n" + + " WHERE is_closed is 0 \n" + ")" + "UNION ALL" + "/* CBHS REGISTER */\n" + @@ -70,7 +70,6 @@ public interface ChwQueryConstant { " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + "where ec_family_member.date_removed is null\n" + " AND ec_cbhs_register.is_closed is 0\n" + - " AND ( UPPER (ec_cbhs_register.client_hiv_status_after_testing) LIKE UPPER('Positive') OR ec_cbhs_register.client_hiv_status_after_testing IS NULL) " + " AND ec_cbhs_register.base_entity_id IN (%s)\n" + " AND ec_family_member.base_entity_id NOT IN (\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json index cdca573803..b3ef51f0f0 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json @@ -87,6 +87,15 @@ "openmrs_entity_parent": "" } }, + { + "name": "client_found_and_has_returned_to_clinic", + "text": "Amepatikana na amerudi kliniki kuendelea na huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_found_and_has_returned_to_clinic", + "openmrs_entity_parent": "" + } + }, { "name": "client_has_moved_to_another_facility", "text": "Amehamia kituo kingine bila taarifa", diff --git a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json index a1fa730fb4..12a54ab45f 100644 --- a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json @@ -87,6 +87,15 @@ "openmrs_entity_parent": "" } }, + { + "name": "client_found_and_has_returned_to_clinic", + "text": "Client is found and has returned to the clinic to continue with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_found_and_has_returned_to_clinic", + "openmrs_entity_parent": "" + } + }, { "name": "client_has_moved_to_another_facility", "text": "Client has transferred to another center without notice", diff --git a/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml index d024633cae..f6635a72a5 100644 --- a/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml @@ -23,7 +23,7 @@ actions: name: "ctc_number_visibility" description: "ctc_number visibility" priority: 1 -condition: "(registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine') && (client_hiv_status_after_testing.value == 'Positive' || client_hiv_status_after_testing.value == 'Chanya')" +condition: "(registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine') && (client_hiv_status_after_testing.value == 'Positive' || client_hiv_status_after_testing.value == 'Ana Maambukizi')" actions: - "ctc_number_visibility = true" --- From 9d2ec587d8a889b6f83100126d0187ff993ecddc Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 7 Oct 2022 11:09:04 +0300 Subject: [PATCH 860/915] :wastebasket: code cleaning --- .../src/main/java/org/smartregister/chw/util/CbhsUtils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java index 69b9636033..2ce06aa3fd 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java @@ -84,9 +84,9 @@ public static void removeDeceasedClients(HivMemberObject hivMemberObject, Contex org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "dob", hivMemberObject.getAge()); org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "date_died", new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date())); - org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "age_at_death", org.smartregister.chw.util.Utils.getAgeFromDate(hivMemberObject.getAge()) + "y"); + org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "age_at_death", Utils.getAgeFromDate(hivMemberObject.getAge()) + "y"); - org.smartregister.chw.util.Utils.removeUser(null, removeFamilyMemberForm, org.smartregister.chw.util.Utils.context().allSharedPreferences().fetchRegisteredANM()); + org.smartregister.chw.util.Utils.removeUser(null, removeFamilyMemberForm, Utils.context().allSharedPreferences().fetchRegisteredANM()); } } } From f3a1e20d7a16f64df70445aa564cb68b95326606 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 7 Oct 2022 11:42:12 +0300 Subject: [PATCH 861/915] :hammer: refactored swahili cbhs registration form --- opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json index 8d7a7861aa..cd2d029e35 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json @@ -369,7 +369,7 @@ "name": "reasons_for_registration_male_under_15", "type": "radio_group", "properties": { - "text": "Reason for registration" + "text": "Sababu ya Usajili" }, "meta_data": { "openmrs_entity": "concept", From f8d82553022580248acddb6a877481f64a490e89 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 7 Oct 2022 11:49:51 +0300 Subject: [PATCH 862/915] :hammer: refactored AncPartnerFollowupReferralProfileActivity showing of family location --- .../chw/activity/AncPartnerFollowupReferralProfileActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index 1074d0fdf9..c2dcfd9dd4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -354,7 +354,7 @@ public boolean usesPregnancyRiskProfileLayout() { @Override public void setFamilyLocation() { - if (ChwApplication.getApplicationFlavor().flvSetFamilyLocation()) { + if (ChwApplication.getApplicationFlavor().flvSetFamilyLocation() && getMemberGPS() != null) { view_family_location_row.setVisibility(View.VISIBLE); rlFamilyLocation.setVisibility(View.VISIBLE); } From 34072abf1856877c9c9d63986475e39bab083c61 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 7 Oct 2022 11:58:34 +0300 Subject: [PATCH 863/915] :hammer: refactored anc_partner_community_followup_feedback --- ...c_partner_community_followup_feedback.json | 24 +++++++++++++++++-- ...c_partner_community_followup_feedback.json | 24 +++++++++++++++++-- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json index d59c18e65b..1864b83125 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json @@ -86,11 +86,31 @@ }, { "key": "reason_partner_is_not_found", - "type": "edit_text", - "hint": "Sababu ya mwenza kutopatikana", + "type": "native_radio", + "label": "Sababu ya mwenza kutopatikana", "openmrs_entity_id": "reason_partner_is_not_found", "openmrs_entity": "concept", "openmrs_entity_parent": "", + "options": [ + { + "key": "address_incorrect", + "text": "Anwani sio sahihi", + "openmrs_entity": "concept", + "openmrs_entity_id": "address_incorrect" + }, + { + "key": "client_relocated", + "text": "Amehama makazi", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated" + }, + { + "key": "seasonal_work", + "text": "Kilimo/kazi za msimu", + "openmrs_entity": "concept", + "openmrs_entity_id": "seasonal_work" + } + ], "v_required": { "value": true, "err": "Tafadhali bainisha sababu ya mwenza kutopatikana" diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json index 8cdb9dda1d..b6f2e1f6b5 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json @@ -86,11 +86,31 @@ }, { "key": "reason_partner_is_not_found", - "type": "edit_text", - "hint": "Reason why the partner was not found", + "type": "native_radio", + "label": "Reason why the partner was not found", "openmrs_entity_id": "reason_partner_is_not_found", "openmrs_entity": "concept", "openmrs_entity_parent": "", + "options": [ + { + "key": "address_incorrect", + "text": "Address was Incorrect", + "openmrs_entity": "concept", + "openmrs_entity_id": "address_incorrect" + }, + { + "key": "client_relocated", + "text": "Client Relocated", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated" + }, + { + "key": "seasonal_work", + "text": "Seasonal agriculture/job", + "openmrs_entity": "concept", + "openmrs_entity_id": "seasonal_work" + } + ], "v_required": { "value": true, "err": "Please specify the reason why the partner was not found" From 4f903a6962a79081b48552268cc3d17ea1847c03 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 7 Oct 2022 17:00:01 +0300 Subject: [PATCH 864/915] :hammer: minor code refactoring --- .../chw/activity/ChildProfileActivity.java | 6 ++++++ .../chw/provider/ChwMemberRegisterProvider.java | 7 ++++--- .../assets/json.form-sw/cbhs_followup_form.json | 16 ++++++++-------- .../assets/json.form/cbhs_followup_form.json | 16 ++++++++-------- opensrp-chw/src/nacp/res/values-sw/strings.xml | 8 ++++---- opensrp-chw/src/nacp/res/values/strings.xml | 8 ++++---- 6 files changed, 34 insertions(+), 27 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java index c2cde375fa..bb16d977af 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java @@ -145,6 +145,12 @@ public void updateHasPhone(boolean hasPhone) { } } + @Override + public void setProfileImage(String baseEntityId) { + int defaultImage = org.smartregister.chw.core.R.drawable.rowavatar_child;// gender.equalsIgnoreCase(Gender.MALE.toString()) ? R.drawable.row_boy : R.drawable.row_girl; + imageViewProfile.setImageResource(defaultImage); + } + @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMemberRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMemberRegisterProvider.java index f5f7ff40e5..9ddbed7ea0 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMemberRegisterProvider.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMemberRegisterProvider.java @@ -1,5 +1,7 @@ package org.smartregister.chw.provider; +import static org.smartregister.chw.core.utils.Utils.getDuration; + import android.content.Context; import android.database.Cursor; import android.graphics.Color; @@ -43,8 +45,6 @@ import timber.log.Timber; -import static org.smartregister.chw.core.utils.Utils.getDuration; - public class ChwMemberRegisterProvider extends FamilyMemberRegisterProvider { private Context context; private View.OnClickListener onClickListener; @@ -194,7 +194,8 @@ private void setMemberProfileAvatar(int imageResourceIdentifier, CommonPersonObj if (StringUtils.isNotBlank(dod)) { registerViewHolder.profile.setImageResource(imageResourceIdentifier); } else { - imageRenderHelper.refreshProfileImage(commonPersonObject.getCaseId(), registerViewHolder.profile, imageResourceIdentifier); +// imageRenderHelper.refreshProfileImage(commonPersonObject.getCaseId(), registerViewHolder.profile, imageResourceIdentifier); + registerViewHolder.profile.setImageResource(imageResourceIdentifier); } } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json index 6805e9edb2..2fae223a8f 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json @@ -759,29 +759,29 @@ } }, { - "name": "services_to_prevent_the_spread_of_stds", + "name": "prevention_of_the_spread_of_stds_service", "text": "Huduma za kuzuia kuenea magonjwa ya ngono katika jamii", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "services_to_prevent_the_spread_of_stds", + "openmrs_entity_id": "prevention_of_the_spread_of_stds_service", "openmrs_entity_parent": "" } }, { - "name": "special_group_services", + "name": "for_special_group_services", "text": "Huduma kwa makundi maalumu", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "special_group_services", + "openmrs_entity_id": "for_special_group_services", "openmrs_entity_parent": "" } }, { - "name": "services_to_prevent_gender_violence_and_child_abuse", + "name": "prevention_of_gender_based_violence_and_child_abuse_services", "text": "Huduma za kuzuia ukatili wa kijinsia na ukatili dhidi ya watoto katika jamii", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "services_to_prevent_gender_violence_and_child_abuse", + "openmrs_entity_id": "prevention_of_gender_based_violence_and_child_abuse_services", "openmrs_entity_parent": "" } }, @@ -813,11 +813,11 @@ } }, { - "name": "self_test_kits_distribution_services", + "name": "distribution_of_self_test_kits", "text": "Huduma ya ugawaji wa vitendanishi vya JIPIME", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "self_test_kits_distribution_services", + "openmrs_entity_id": "distribution_of_self_test_kits", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json index c4056e2ff3..1c4c0a191b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json @@ -759,29 +759,29 @@ } }, { - "name": "services_to_prevent_the_spread_of_stds", + "name": "prevention_of_the_spread_of_stds_service", "text": "Services to prevent the spread of STDs", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "services_to_prevent_the_spread_of_stds", + "openmrs_entity_id": "prevention_of_the_spread_of_stds_service", "openmrs_entity_parent": "" } }, { - "name": "special_group_services", + "name": "for_special_group_services", "text": "Special group services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "special_group_services", + "openmrs_entity_id": "for_special_group_services", "openmrs_entity_parent": "" } }, { - "name": "services_to_prevent_gender_violence_and_child_abuse", + "name": "prevention_of_gender_based_violence_and_child_abuse_services", "text": "Services to prevent gender violence and child abuse", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "services_to_prevent_gender_violence_and_child_abuse", + "openmrs_entity_id": "prevention_of_gender_based_violence_and_child_abuse_services", "openmrs_entity_parent": "" } }, @@ -813,11 +813,11 @@ } }, { - "name": "self_test_kits_distribution_services", + "name": "distribution_of_self_test_kits", "text": "Self test kits distribution services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "self_test_kits_distribution_services", + "openmrs_entity_id": "distribution_of_self_test_kits", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 3a09975609..d81edc7058 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -319,13 +319,13 @@ Huduma za dawa za kupunguza makali ya vvu katika jamii Huduma za kuzuia maambukizi kutoka kwa mama kwenda kwa mtoto katika jamii Huduma shirikishi za kifua kikuu na VVU katika jamii - Huduma za kuzuia kuenea magonjwa ya ngono katika jamii - Huduma kwa makundi maalumu - Huduma za kuzuia ukatili wa kijinsia na ukatili dhidi ya watoto katika jamii + Huduma za kuzuia kuenea magonjwa ya ngono katika jamii + Huduma kwa makundi maalumu + Huduma za kuzuia ukatili wa kijinsia na ukatili dhidi ya watoto katika jamii Huduma za kisaikolojia katika jamii Elimu ya tohara katika jamii Huduma za uzazi wa mpango na usambazaji wa kondomu - Huduma ya ugawaji wa vitendanishi vya JIPIME" + Huduma ya ugawaji wa vitendanishi vya JIPIME" Huduma nyingine za HUWANYU Other CBHS Services Provided diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 4642706f54..10e179c419 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -313,13 +313,13 @@ ARV Services HIV Prevention services from mother to infant Collaborative community services for TB and HIV - Services to prevent the spread of STDs - Special group services - Services to prevent gender violence and child abuse + Services to prevent the spread of STDs + Special group services + Services to prevent gender violence and child abuse Psychological services Information about Female Genital Mutilation Family planning and condom distribution services - Self test kits distribution services + Self test kits distribution services Other CBHS services Other CBHS Services Provided From 78dc986a356beb65882154eb3a419956d7f108dc Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 7 Oct 2022 17:06:52 +0300 Subject: [PATCH 865/915] :hammer: added implementation to translate hiv status in referral feedback --- .../ChwReferralDetailsViewActivity.java | 51 +++++++++++-------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java index 4e4d1c1a11..d103da6a94 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java @@ -1,5 +1,8 @@ package org.smartregister.chw.activity; +import static org.hl7.fhir.r4.model.codesystems.VariantState.NEGATIVE; +import static org.hl7.fhir.r4.model.codesystems.VariantState.POSITIVE; + import android.app.Activity; import android.app.AlertDialog; import android.content.Intent; @@ -131,27 +134,32 @@ private void showFeedBackView(Task task) { if (checkHasFeedBack(servicesProvided, enrolledToCTC, commentsFromHF)) { feedBackViewGroup.setVisibility(View.VISIBLE); - if(servicesProvided!=null){ + if (servicesProvided != null) { actionTakenGroup.setVisibility(View.VISIBLE); tvActionTaken.setText(getTranslatedHivServicesProvided(servicesProvided)); } - if(hivStatus!=null){ - tvTestResult.setText(hivStatus); - }else{ + if (hivStatus != null) { + if (hivStatus.equalsIgnoreCase(POSITIVE.toString())) + tvTestResult.setText(getResources().getText(R.string.cbhs_positive)); + else if (hivStatus.equalsIgnoreCase(NEGATIVE.toString())) + tvTestResult.setText(getResources().getText(R.string.cbhs_negative)); + else + tvTestResult.setText(hivStatus); + } else { tvTestResult.setVisibility(View.GONE); } - if(enrolledToCTC!=null){ + if (enrolledToCTC != null) { enrolledClinicGroup.setVisibility(View.VISIBLE); tvEnrolledClinic.setText(getTranslatedEnrolment(enrolledToCTC)); - if(enrolledToCTC.equalsIgnoreCase("Yes")){ + if (enrolledToCTC.equalsIgnoreCase("Yes")) { tvClinicNumber.setText(ctcNumber); - }else{ + } else { tvClinicNumber.setText(reasonsForNotEnrolling); } } - if(commentsFromHF!=null) + if (commentsFromHF != null) commentSection.setVisibility(View.VISIBLE); - tvComments.setText(commentsFromHF); + tvComments.setText(commentsFromHF); } else { feedBackViewGroup.setVisibility(View.GONE); } @@ -164,19 +172,20 @@ private boolean checkHasFeedBack(String servicesProvided, String enrolledToCTC, } private String getTranslatedHivServicesProvided(String serviceProvided) { - switch (serviceProvided){ - case "no_action_taken": - return getString(R.string.no_action_taken); - case "tested": - return getString(R.string.tests_done); - case "referred": - return getString(R.string.referred); - default: - return serviceProvided; - } + switch (serviceProvided) { + case "no_action_taken": + return getString(R.string.no_action_taken); + case "tested": + return getString(R.string.tests_done); + case "referred": + return getString(R.string.referred); + default: + return serviceProvided; + } } - private String getTranslatedEnrolment (String enrolledToCTC) { - switch (enrolledToCTC){ + + private String getTranslatedEnrolment(String enrolledToCTC) { + switch (enrolledToCTC) { case "yes": return getString(R.string.yes); case "no": From a887378cd9953004a8ac0d7cc189fa2f6787e316 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 7 Oct 2022 18:02:50 +0300 Subject: [PATCH 866/915] :hammer: code cleaning --- .../src/main/java/org/smartregister/chw/util/CbhsUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java index 2ce06aa3fd..21d4e31fde 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java @@ -86,7 +86,7 @@ public static void removeDeceasedClients(HivMemberObject hivMemberObject, Contex org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "date_died", new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date())); org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "age_at_death", Utils.getAgeFromDate(hivMemberObject.getAge()) + "y"); - org.smartregister.chw.util.Utils.removeUser(null, removeFamilyMemberForm, Utils.context().allSharedPreferences().fetchRegisteredANM()); + Utils.removeUser(null, removeFamilyMemberForm, Utils.context().allSharedPreferences().fetchRegisteredANM()); } } } From 3e85720d1079d7f56148bb255ce6928cbf771a76 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 7 Oct 2022 18:03:57 +0300 Subject: [PATCH 867/915] Refactor/CBHS in app reports (#294) * :hammer: refactored cbhs tables and ec_client_classification for cbhs tables * :construction: implemented CBHS visits history view * :construction: reimplemented CBHS In-App reports * :hammer: resoved a minor issue in showing client's HIV and TB status * :hammer: refactored cbhs in-app reports * :hammer: implemented marking of cbhs clients as deceased * :hammer: refactored cbhs followup form, capturing of state of theraphy * :hammer: refactored loading of cbhs followup form, removing the new client status for clients with previous follouwp visits * :hammer: refactored CBHS ReportDao * :hammer: refactored CBHS followup forms * :hammer: refactored CBHS followup forms, CBHS report indicators and disabled the QR codes * :hammer: more code refactoring * :hammer: code refactoring * :hammer: code refactoring * :wastebasket: code cleaning * :hammer: refactored swahili cbhs registration form * :hammer: refactored AncPartnerFollowupReferralProfileActivity showing of family location * :hammer: refactored anc_partner_community_followup_feedback * :hammer: minor code refactoring * :hammer: added implementation to translate hiv status in referral feedback * :hammer: code cleaning --- opensrp-chw/build.gradle | 2 +- opensrp-chw/src/main/AndroidManifest.xml | 7 +- .../AllClientsMemberProfileActivity.java | 2 +- .../activity/AncMemberProfileActivity.java | 2 +- ...artnerFollowupReferralProfileActivity.java | 2 +- .../activity/CbhsMedicalHistoryActivity.java | 61 +++++ .../CbhsMedicalHistoryActivityFlv.java | 203 +++++++++++++++ .../chw/activity/ChildProfileActivity.java | 6 + .../ChwReferralDetailsViewActivity.java | 51 ++-- .../FamilyOtherMemberProfileActivity.java | 2 +- .../HivCommunityFollowupDetailsActivity.java | 19 -- .../HivIndexContactProfileActivity.java | 2 +- .../chw/activity/HivProfileActivity.java | 241 +++++++++++++----- .../chw/activity/HivRegisterActivity.java | 9 +- .../activity/PncMemberProfileActivity.java | 2 +- .../chw/activity/TbProfileActivity.java | 25 +- .../org/smartregister/chw/dao/ChwCBHSDao.java | 54 +++- .../org/smartregister/chw/dao/ReportDao.java | 164 +++++++----- .../cbhs_reports/CbhsMonthlyReportObject.java | 197 ++++++++++++-- .../fragment/HivFollowupRegisterFragment.java | 56 ---- .../CbhsMedicalHistoryInteractor.java | 61 +++++ .../chw/model/HivRegisterFragmentModel.java | 9 +- .../HivRegisterFragmentPresenter.java | 19 +- .../provider/ChwMemberRegisterProvider.java | 7 +- .../chw/sync/ChwClientProcessor.java | 1 + .../org/smartregister/chw/util/CbhsUtils.java | 94 +++++++ .../chw/util/ChwQueryConstant.java | 29 +-- .../org/smartregister/chw/util/Constants.java | 3 + .../org/smartregister/chw/util/Utils.java | 98 ++++++- .../res/drawable-hdpi/childrow_upcoming.png | Bin 420 -> 0 bytes .../res/drawable-mdpi/childrow_upcoming.png | Bin 334 -> 0 bytes .../res/drawable-xhdpi/childrow_upcoming.png | Bin 450 -> 0 bytes .../res/drawable-xxhdpi/childrow_upcoming.png | Bin 619 -> 0 bytes .../res/layout/medical_history_cbhs_visit.xml | 129 ++++++++++ .../nacp/assets/ec_client_classification.json | 10 +- .../src/nacp/assets/ec_client_fields.json | 46 ++-- ...c_partner_community_followup_feedback.json | 24 +- .../json.form-sw/cbhs_followup_form.json | 71 ++++-- .../json.form-sw/cbhs_registration.json | 12 +- .../family_details_remove_member.json | 8 +- .../json.form-sw/female_hiv_registration.json | 235 ----------------- .../ltfu_community_followup_feedback.json | 9 + .../json.form-sw/male_hiv_registration.json | 222 ---------------- ...c_partner_community_followup_feedback.json | 24 +- .../assets/json.form/cbhs_followup_form.json | 65 +++-- .../assets/json.form/cbhs_registration.json | 6 +- .../json.form/female_hiv_registration.json | 235 ----------------- .../ltfu_community_followup_feedback.json | 9 + .../json.form/male_hiv_registration.json | 222 ---------------- .../assets/reports/cbhs-summary-monthly.html | 1 - .../assets/rule/cbhs_followup_form_rules.yml | 15 +- .../rule/hiv_registration_form_rules.yml | 7 +- .../chw/application/ChwApplicationFlv.java | 2 +- .../src/nacp/res/values-sw/strings.xml | 93 +++++++ opensrp-chw/src/nacp/res/values/strings.xml | 118 +++++++-- 55 files changed, 1642 insertions(+), 1349 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/CbhsMedicalHistoryActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/CbhsMedicalHistoryActivityFlv.java delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java delete mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsMedicalHistoryInteractor.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java delete mode 100644 opensrp-chw/src/main/res/drawable-hdpi/childrow_upcoming.png delete mode 100644 opensrp-chw/src/main/res/drawable-mdpi/childrow_upcoming.png delete mode 100644 opensrp-chw/src/main/res/drawable-xhdpi/childrow_upcoming.png delete mode 100644 opensrp-chw/src/main/res/drawable-xxhdpi/childrow_upcoming.png create mode 100644 opensrp-chw/src/main/res/layout/medical_history_cbhs_visit.xml delete mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json delete mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json delete mode 100644 opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json delete mode 100644 opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 35eb4e0ae8..109a281aeb 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -348,7 +348,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.35.3-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.35.4-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index d52efcefac..4853bf4e62 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -325,9 +325,6 @@ android:name=".activity.HivIndexContactProfileActivity" android:parentActivityName=".activity.HivIndexContactsContactsRegisterActivity" android:theme="@style/ChwTheme.NoActionBar" /> - @@ -355,6 +352,10 @@ android:name=".activity.MotherChampionMedicalHistoryActivity" android:theme="@style/ChwTheme.NoActionBar" /> + + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index b6ff9eabd8..8ae26413dd 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -76,7 +76,7 @@ public boolean onCreateOptionsMenu(Menu menu) { if(ChwApplication.getApplicationFlavor().hasHIVST()){ String dob = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.DOB, false); int age = Utils.getAgeFromDate(dob); - menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(baseEntityId) && age >= 18); + menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(baseEntityId) && age >= 15); } if(ChwApplication.getApplicationFlavor().hasKvp()){ diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java index f6985b7105..6c1a137bd4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncMemberProfileActivity.java @@ -242,7 +242,7 @@ public boolean onCreateOptionsMenu(Menu menu) { menu.findItem(R.id.action_anc_registration).setVisible(false); if(ChwApplication.getApplicationFlavor().hasHIVST()){ int age = memberObject.getAge(); - menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(baseEntityID) && age >= 18); + menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(baseEntityID) && age >= 15); } if(ChwApplication.getApplicationFlavor().hasKvp()){ menu.findItem(R.id.action_kvp_prep_registration).setVisible(!KvpDao.isRegisteredForKvpPrEP(baseEntityID)); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java index 1074d0fdf9..c2dcfd9dd4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AncPartnerFollowupReferralProfileActivity.java @@ -354,7 +354,7 @@ public boolean usesPregnancyRiskProfileLayout() { @Override public void setFamilyLocation() { - if (ChwApplication.getApplicationFlavor().flvSetFamilyLocation()) { + if (ChwApplication.getApplicationFlavor().flvSetFamilyLocation() && getMemberGPS() != null) { view_family_location_row.setVisibility(View.VISIBLE); rlFamilyLocation.setVisibility(View.VISIBLE); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/CbhsMedicalHistoryActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CbhsMedicalHistoryActivity.java new file mode 100644 index 0000000000..f54dbc7f1f --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CbhsMedicalHistoryActivity.java @@ -0,0 +1,61 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Intent; +import android.view.View; +import android.widget.ProgressBar; +import android.widget.TextView; + +import org.smartregister.chw.R; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.presenter.BaseAncMedicalHistoryPresenter; +import org.smartregister.chw.core.activity.CoreAncMedicalHistoryActivity; +import org.smartregister.chw.hiv.domain.HivMemberObject; +import org.smartregister.chw.interactor.CbhsMedicalHistoryInteractor; + +import java.util.List; + +public class CbhsMedicalHistoryActivity extends CoreAncMedicalHistoryActivity { + private static HivMemberObject cbhsMemberObject; + private final Flavor flavor = new CbhsMedicalHistoryActivityFlv(); + private ProgressBar progressBar; + + public static void startMe(Activity activity, HivMemberObject memberObject) { + Intent intent = new Intent(activity, CbhsMedicalHistoryActivity.class); + cbhsMemberObject = memberObject; + activity.startActivity(intent); + } + + @Override + public void initializePresenter() { + presenter = new BaseAncMedicalHistoryPresenter(new CbhsMedicalHistoryInteractor(), this, cbhsMemberObject.getBaseEntityId()); + } + + @Override + public void setUpView() { + linearLayout = findViewById(org.smartregister.chw.opensrp_chw_anc.R.id.linearLayoutMedicalHistory); + progressBar = findViewById(org.smartregister.chw.opensrp_chw_anc.R.id.progressBarMedicalHistory); + + TextView tvTitle = findViewById(org.smartregister.chw.opensrp_chw_anc.R.id.tvTitle); + tvTitle.setText(getString(org.smartregister.chw.opensrp_chw_anc.R.string.back_to, cbhsMemberObject.getFirstName() + " " + cbhsMemberObject.getMiddleName() + " " + cbhsMemberObject.getLastName())); + + ((TextView) findViewById(R.id.medical_history)).setText(getString(R.string.visits_history)); + } + + @Override + public View renderView(List visits) { + super.renderView(visits); + View view = flavor.bindViews(this); + displayLoadingState(true); + flavor.processViewData(visits, this); + displayLoadingState(false); + TextView heiVisitTitle = view.findViewById(org.smartregister.chw.core.R.id.customFontTextViewHealthFacilityVisitTitle); + heiVisitTitle.setText(R.string.cbhs_visit); + return view; + } + + @Override + public void displayLoadingState(boolean state) { + progressBar.setVisibility(state ? View.VISIBLE : View.GONE); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/CbhsMedicalHistoryActivityFlv.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CbhsMedicalHistoryActivityFlv.java new file mode 100644 index 0000000000..e1ccfa39fc --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CbhsMedicalHistoryActivityFlv.java @@ -0,0 +1,203 @@ +package org.smartregister.chw.activity; + +import android.content.Context; +import android.text.Spannable; +import android.text.SpannableStringBuilder; +import android.text.Spanned; +import android.text.style.BulletSpan; +import android.text.style.StyleSpan; +import android.view.View; +import android.widget.TextView; + +import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.joda.time.DateTime; +import org.joda.time.Days; +import org.smartregister.chw.R; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.anc.util.NCUtils; +import org.smartregister.chw.core.activity.DefaultAncMedicalHistoryActivityFlv; + +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import timber.log.Timber; + +public class CbhsMedicalHistoryActivityFlv extends DefaultAncMedicalHistoryActivityFlv { + private final StyleSpan boldSpan = new StyleSpan(android.graphics.Typeface.BOLD); + + @Override + protected void processAncCard(String has_card, Context context) { + // super.processAncCard(has_card, context); + linearLayoutAncCard.setVisibility(View.GONE); + } + + @Override + protected void processHealthFacilityVisit(List> hf_visits, Context context) { + //super.processHealthFacilityVisit(hf_visits, context); + } + + @Override + public void processViewData(List visits, Context context) { + + if (visits.size() > 0) { + int days = 0; + List> hf_visits = new ArrayList<>(); + + int x = 0; + while (x < visits.size()) { + + // the first object in this list is the days difference + if (x == 0) { + days = Days.daysBetween(new DateTime(visits.get(visits.size() - 1).getDate()), new DateTime()).getDays(); + } + + + String[] visitParams = {"followup_visit_date", "registration_or_followup_status", "client_condition", "health_problem", "social_problem", "supplies_provided", "medicine_provided", "hiv_services_provided", "referrals_issued_to_other_services", "referrals_to_other_services_completed", "state_of_therapy", "client_moved_location"}; + extractVisitDetails(visits, visitParams, hf_visits, x, context); + + x++; + } + + processLastVisit(days, context); + processVisit(hf_visits, context); + } + } + + private void extractVisitDetails(List sourceVisits, String[] hf_params, List> hf_visits, int iteration, Context context) { + // get the hf details + Map map = new HashMap<>(); + for (String param : hf_params) { + try { + List details = sourceVisits.get(iteration).getVisitDetails().get(param); + map.put(param, getTexts(context, details)); + } catch (Exception e) { + e.printStackTrace(); + } + + } + hf_visits.add(map); + } + + @Override + public String getTexts(Context context, List visitDetails) { + if (visitDetails == null) + return ""; + + List texts = new ArrayList<>(); + for (VisitDetail vd : visitDetails) { + String val = getText(vd); + if (StringUtils.isNotBlank(val)) + texts.add(val); + } + return NCUtils.toCSV(texts); + } + + /** + * Extract value from VisitDetail + * + * @return + */ + @NotNull + public static String getText(@Nullable VisitDetail visitDetail) { + if (visitDetail == null) + return ""; + return (StringUtils.isNotBlank(visitDetail.getDetails())) ? visitDetail.getDetails().trim() : ""; + } + + + private void processLastVisit(int days, Context context) { + linearLayoutLastVisit.setVisibility(View.VISIBLE); + if (days < 1) { + customFontTextViewLastVisit.setText(org.smartregister.chw.core.R.string.less_than_twenty_four); + } else { + customFontTextViewLastVisit.setText(StringUtils.capitalize(MessageFormat.format(context.getString(org.smartregister.chw.core.R.string.days_ago), String.valueOf(days)))); + } + } + + + protected void processVisit(List> hf_visits, Context context) { + if (hf_visits != null && hf_visits.size() > 0) { + linearLayoutHealthFacilityVisit.setVisibility(View.VISIBLE); + + int x = 0; + for (Map vals : hf_visits) { + View view = inflater.inflate(R.layout.medical_history_cbhs_visit, null); + TextView tvTitle = view.findViewById(R.id.title); + evaluateTitle(context, x, vals, tvTitle); + + evaluateView(context, vals, view.findViewById(R.id.registration_or_followup_status), "registration_or_followup_status", R.string.cbhs_registration_or_followup_status, "cbhs_"); + evaluateView(context, vals, view.findViewById(R.id.health_problem), "health_problem", R.string.cbhs_health_problem, "cbhs_"); + evaluateView(context, vals, view.findViewById(R.id.social_problem), "social_problem", R.string.cbhs_social_problem, "cbhs_"); + evaluateView(context, vals, view.findViewById(R.id.medicine_provided), "medicine_provided", R.string.cbhs_medicine_provided, "cbhs_"); + evaluateView(context, vals, view.findViewById(R.id.hiv_services_provided), "hiv_services_provided", R.string.cbhs_hiv_services_provided, "cbhs_"); + evaluateView(context, vals, view.findViewById(R.id.referrals_issued_other_services), "referrals_issued_to_other_services", R.string.cbhs_referrals_issued_to_other_services, "cbhs_"); + evaluateView(context, vals, view.findViewById(R.id.referrals_to_other_services_completed), "referrals_to_other_services_completed", R.string.cbhs_referrals_to_other_services_completed, "cbhs_"); + evaluateView(context, vals, view.findViewById(R.id.state_of_therapy), "state_of_therapy", R.string.cbhs_state_of_therapy, "cbhs_"); + + linearLayoutHealthFacilityVisitDetails.addView(view, 0); + + x++; + } + } + } + + + private void evaluateTitle(Context context, int x, Map vals, TextView tvTitle) { + String visitDate = vals.get("followup_visit_date"); + if (StringUtils.isBlank(visitDate)) { + tvTitle.setVisibility(View.GONE); + } else { + try { + tvTitle.setText(MessageFormat.format(context.getString(R.string.mother_champion_visit_title), x + 1, visitDate)); + } catch (Exception e) { + Timber.e(e); + } + } + } + + private void evaluateView(Context context, Map vals, TextView tv, String valueKey, int viewTitleStringResource, String valuePrefixInStringResources) { + if (StringUtils.isNotBlank(getMapValue(vals, valueKey))) { + SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(); + spannableStringBuilder.append(context.getString(viewTitleStringResource), boldSpan, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE).append("\n"); + + String stringValue = getMapValue(vals, valueKey); + String[] stringValueArray; + if (stringValue.contains(",")) { + stringValueArray = stringValue.split(","); + for (String value : stringValueArray) { + spannableStringBuilder.append(getStringResource(context, valuePrefixInStringResources, value.trim()) + "\n", new BulletSpan(10), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + } + } else { + spannableStringBuilder.append(getStringResource(context, valuePrefixInStringResources, stringValue)).append("\n"); + } + tv.setText(spannableStringBuilder); + } else { + tv.setVisibility(View.GONE); + } + } + + + private String getMapValue(Map map, String key) { + if (map.containsKey(key)) { + return map.get(key); + } + return ""; + } + + private String getStringResource(Context context, String prefix, String resourceName) { + int resourceId = context.getResources(). + getIdentifier(prefix + resourceName.trim(), "string", context.getPackageName()); + try { + return context.getString(resourceId); + } catch (Exception e) { + Timber.e(e); + return prefix + resourceName; + } + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java index c2cde375fa..bb16d977af 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChildProfileActivity.java @@ -145,6 +145,12 @@ public void updateHasPhone(boolean hasPhone) { } } + @Override + public void setProfileImage(String baseEntityId) { + int defaultImage = org.smartregister.chw.core.R.drawable.rowavatar_child;// gender.equalsIgnoreCase(Gender.MALE.toString()) ? R.drawable.row_boy : R.drawable.row_girl; + imageViewProfile.setImageResource(defaultImage); + } + @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java index 4e4d1c1a11..d103da6a94 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ChwReferralDetailsViewActivity.java @@ -1,5 +1,8 @@ package org.smartregister.chw.activity; +import static org.hl7.fhir.r4.model.codesystems.VariantState.NEGATIVE; +import static org.hl7.fhir.r4.model.codesystems.VariantState.POSITIVE; + import android.app.Activity; import android.app.AlertDialog; import android.content.Intent; @@ -131,27 +134,32 @@ private void showFeedBackView(Task task) { if (checkHasFeedBack(servicesProvided, enrolledToCTC, commentsFromHF)) { feedBackViewGroup.setVisibility(View.VISIBLE); - if(servicesProvided!=null){ + if (servicesProvided != null) { actionTakenGroup.setVisibility(View.VISIBLE); tvActionTaken.setText(getTranslatedHivServicesProvided(servicesProvided)); } - if(hivStatus!=null){ - tvTestResult.setText(hivStatus); - }else{ + if (hivStatus != null) { + if (hivStatus.equalsIgnoreCase(POSITIVE.toString())) + tvTestResult.setText(getResources().getText(R.string.cbhs_positive)); + else if (hivStatus.equalsIgnoreCase(NEGATIVE.toString())) + tvTestResult.setText(getResources().getText(R.string.cbhs_negative)); + else + tvTestResult.setText(hivStatus); + } else { tvTestResult.setVisibility(View.GONE); } - if(enrolledToCTC!=null){ + if (enrolledToCTC != null) { enrolledClinicGroup.setVisibility(View.VISIBLE); tvEnrolledClinic.setText(getTranslatedEnrolment(enrolledToCTC)); - if(enrolledToCTC.equalsIgnoreCase("Yes")){ + if (enrolledToCTC.equalsIgnoreCase("Yes")) { tvClinicNumber.setText(ctcNumber); - }else{ + } else { tvClinicNumber.setText(reasonsForNotEnrolling); } } - if(commentsFromHF!=null) + if (commentsFromHF != null) commentSection.setVisibility(View.VISIBLE); - tvComments.setText(commentsFromHF); + tvComments.setText(commentsFromHF); } else { feedBackViewGroup.setVisibility(View.GONE); } @@ -164,19 +172,20 @@ private boolean checkHasFeedBack(String servicesProvided, String enrolledToCTC, } private String getTranslatedHivServicesProvided(String serviceProvided) { - switch (serviceProvided){ - case "no_action_taken": - return getString(R.string.no_action_taken); - case "tested": - return getString(R.string.tests_done); - case "referred": - return getString(R.string.referred); - default: - return serviceProvided; - } + switch (serviceProvided) { + case "no_action_taken": + return getString(R.string.no_action_taken); + case "tested": + return getString(R.string.tests_done); + case "referred": + return getString(R.string.referred); + default: + return serviceProvided; + } } - private String getTranslatedEnrolment (String enrolledToCTC) { - switch (enrolledToCTC){ + + private String getTranslatedEnrolment(String enrolledToCTC) { + switch (enrolledToCTC) { case "yes": return getString(R.string.yes); case "no": diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index a475c2b582..8adee14878 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -78,7 +78,7 @@ public boolean onCreateOptionsMenu(Menu menu) { if(ChwApplication.getApplicationFlavor().hasHIVST()){ String dob = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.DOB, false); int age = Utils.getAgeFromDate(dob); - menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(baseEntityId) && age >= 18); + menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(baseEntityId) && age >= 15); } if(ChwApplication.getApplicationFlavor().hasKvp()){ diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java deleted file mode 100644 index 007c0bdd1f..0000000000 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivCommunityFollowupDetailsActivity.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.smartregister.chw.activity; - -import org.json.JSONException; -import org.smartregister.chw.hiv.activity.BaseHivCommunityFollowupDetailsActivity; - -import java.util.Objects; - -public class HivCommunityFollowupDetailsActivity extends BaseHivCommunityFollowupDetailsActivity { - @Override - protected void openFollowupForm() { - try { - HivProfileActivity.startHivCommunityFollowupFeedbackActivity(this, Objects.requireNonNull(getMemberObject()).getBaseEntityId()); - } catch (JSONException e) { - e.printStackTrace(); - } - } - -} - \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java index b365bfe5cb..e153d3f7c8 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivIndexContactProfileActivity.java @@ -158,7 +158,7 @@ public boolean onCreateOptionsMenu(Menu menu) { if(ChwApplication.getApplicationFlavor().hasHIVST()){ String dob = Utils.getValue(commonPersonObjectClient.getColumnmaps(), DBConstants.KEY.DOB, false); int age = Utils.getAgeFromDate(dob); - menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(getHivIndexContactObject().getBaseEntityId()) && age >= 18); + menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(getHivIndexContactObject().getBaseEntityId()) && age >= 15); } if(ChwApplication.getApplicationFlavor().hasKvp()){ menu.findItem(R.id.action_kvp_prep_registration).setVisible(!KvpDao.isRegisteredForKvpPrEP(getHivIndexContactObject().getBaseEntityId())); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index eb260babb8..1df584eb0b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -2,7 +2,9 @@ import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; +import static org.smartregister.chw.util.Utils.updateAgeAndGender; +import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -13,11 +15,16 @@ import android.view.MenuItem; import android.view.View; import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.annotation.Nullable; import com.google.gson.Gson; import com.vijay.jsonwizard.utils.FormUtils; import org.apache.commons.lang3.StringUtils; +import org.joda.time.DateTime; +import org.joda.time.Days; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -48,11 +55,14 @@ import org.smartregister.chw.interactor.CbhsProfileInteractor; import org.smartregister.chw.kvp.dao.KvpDao; import org.smartregister.chw.model.ReferralTypeModel; +import org.smartregister.chw.pmtct.PmtctLibrary; +import org.smartregister.chw.pmtct.domain.Visit; import org.smartregister.chw.presenter.HivProfilePresenter; import org.smartregister.chw.referral.domain.NeatFormMetaData; import org.smartregister.chw.referral.domain.NeatFormOption; import org.smartregister.chw.referral.util.JsonFormConstants; import org.smartregister.chw.schedulers.ChwScheduleTaskExecutor; +import org.smartregister.chw.util.CbhsUtils; import org.smartregister.chw.util.UtilsFlv; import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.commonregistry.CommonPersonObjectClient; @@ -78,12 +88,10 @@ public class HivProfileActivity extends CoreHivProfileActivity public static final String PROPERTIES = "properties"; public static final String TEXT = "text"; public static final String SELECTION = "selection"; - private static final String FOLLOWUP_STATUS_DECEASED_EN_VALUE = "Deceased"; - private static final String FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE_EN_VALUE = "Client has completed and qualified from the services"; - private static final String FOLLOWUP_STATUS_DECEASED_SW_VALUE = "Amefariki"; - private static final String FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE_SW_VALUE = "Amefuzu huduma"; - private List referralTypeModels = new ArrayList<>(); - private NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); + private static final String FOLLOWUP_STATUS_DECEASED = "deceased"; + private static final String FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE = "completed_and_qualified_from_the_services"; + private final List referralTypeModels = new ArrayList<>(); + private final NotificationListAdapter notificationListAdapter = new NotificationListAdapter(); private Flavor flavor = new HivProfileActivityFlv(); public static void startHivProfileActivity(Activity activity, HivMemberObject memberObject) { @@ -100,18 +108,64 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity JSONObject formJsonObject; formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, org.smartregister.chw.util.Constants.CBHSJsonForms.getCbhsFollowupForm()); - if (!hivMemberObject.getCtcNumber().isEmpty()) { - JSONArray steps = formJsonObject.getJSONArray("steps"); - JSONObject step = steps.getJSONObject(0); - JSONArray fields = step.getJSONArray("fields"); - removeField(fields, "client_hiv_status_after_testing"); + JSONArray steps = null; + if (formJsonObject != null) { + steps = formJsonObject.getJSONArray("steps"); + } + JSONObject step = null; + if (steps != null) { + step = steps.getJSONObject(0); + } + JSONArray fields = null; + if (step != null) { + fields = step.getJSONArray("fields"); } - if (ChwCBHSDao.tbStatusAfterTestingDone(baseEntityID)) { - JSONArray steps = formJsonObject.getJSONArray("steps"); - JSONObject step = steps.getJSONObject(0); - JSONArray fields = step.getJSONArray("fields"); - removeField(fields, "client_tb_status_after_testing"); + if (fields != null && hivMemberObject != null) { + + if (ChwCBHSDao.hasFollowupVisits(hivMemberObject.getBaseEntityId())) { //Removing the New Client option as followup status for clients with previous followup visits + JSONObject registrationOrFollowupStatus = getJsonObject(fields, "registration_or_followup_status"); + if (registrationOrFollowupStatus != null) { + removeField(registrationOrFollowupStatus.getJSONArray("options"), "new_client"); + } + } + + + if (StringUtils.isNotBlank(hivMemberObject.getCtcNumber())) { + removeField(fields, "client_hiv_status_after_testing"); + } + int age = org.smartregister.chw.util.Utils.getAgeFromDate(hivMemberObject.getAge()); + + JSONObject referralsIssuedToOtherServices = getJsonObject(fields, "referrals_issued_to_other_services"); + JSONObject completedReferralsToOtherServices = getJsonObject(fields, "referrals_to_other_services_completed"); + + if (age < 15) { //Removing condoms and HIV self testing kits as supplies for children below 15 years + JSONObject supplies = getJsonObject(fields, "supplies_provided"); + if (supplies != null) { + removeField(supplies.getJSONArray("options"), "hiv_self_test_kits"); + removeField(supplies.getJSONArray("options"), "condoms"); + } + } + + if (age < 50) { //Removing Elderly service for clients below 50 years + if (referralsIssuedToOtherServices != null) + removeField(referralsIssuedToOtherServices.getJSONArray("options"), "elderly_centers"); + if (completedReferralsToOtherServices != null) + removeField(completedReferralsToOtherServices.getJSONArray("options"), "elderly_centers"); + } + + if (age > 18) { //Removing OVC (Orphans and Vulnerable Children) as referral services for clients above 18 years + if (referralsIssuedToOtherServices != null) + removeField(referralsIssuedToOtherServices.getJSONArray("options"), "ovc_services"); + + if (completedReferralsToOtherServices != null) + removeField(completedReferralsToOtherServices.getJSONArray("options"), "ovc_services"); + } + + + if (ChwCBHSDao.tbStatusAfterTestingDone(baseEntityID)) { + removeField(fields, "client_tb_status_after_testing"); + } } intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, initializeHealthFacilitiesList(formJsonObject).toString()); @@ -137,19 +191,22 @@ private static void removeField(JSONArray fields, String fieldName) throws JSONE } } - public static void startHivCommunityFollowupFeedbackActivity(Activity activity, String baseEntityID) throws JSONException { - Intent intent = new Intent(activity, BaseHivFormsActivity.class); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, baseEntityID); - - JSONObject formJsonObject; - - formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(activity, CoreConstants.JSON_FORM.getHivCommunityFollowFeedback()); - - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.JSON_FORM, initializeHealthFacilitiesList(formJsonObject).toString()); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.ACTION, Constants.ActivityPayloadType.FOLLOW_UP_VISIT); - intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.USE_DEFAULT_NEAT_FORM_LAYOUT, false); - activity.startActivityForResult(intent, CoreConstants.ProfileActivityResults.CHANGE_COMPLETED); + private static JSONObject getJsonObject(JSONArray fields, String fieldName) throws JSONException { + int position = 0; + boolean found = false; + for (int i = 0; i < fields.length(); i++) { + JSONObject field = fields.getJSONObject(i); + if (field.getString("name").equalsIgnoreCase(fieldName)) { + position = i; + found = true; + break; + } + } + if (found) { + return fields.getJSONObject(position); + } + return null; } private static JSONObject initializeHealthFacilitiesList(JSONObject form) { @@ -229,15 +286,13 @@ public void setProfileViewDetails(@androidx.annotation.Nullable HivMemberObject getTvStatus().setVisibility(View.VISIBLE); switch (getHivMemberObject().getClientFollowupStatus()) { - case FOLLOWUP_STATUS_DECEASED_EN_VALUE: - case FOLLOWUP_STATUS_DECEASED_SW_VALUE: + case FOLLOWUP_STATUS_DECEASED: labelTextColor = context().getColorResource(org.smartregister.chw.opensrp_chw_anc.R.color.high_risk_text_red); background = org.smartregister.chw.opensrp_chw_anc.R.drawable.high_risk_label; labelText = getResources().getString(R.string.client_followup_status_deceased); hideFollowUpVisitButton(); break; - case FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE_EN_VALUE: - case FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE_SW_VALUE: + case FOLLOWUP_STATUS_QUALIFIED_FROM_SERVICE: labelTextColor = context().getColorResource(org.smartregister.chw.opensrp_chw_anc.R.color.low_risk_text_green); background = org.smartregister.chw.opensrp_chw_anc.R.drawable.low_risk_label; labelText = getResources().getString(R.string.client_followup_status_qualified_from_service); @@ -277,6 +332,20 @@ protected void onResume() { notificationListAdapter.canOpen = true; ChwNotificationUtil.retrieveNotifications(ChwApplication.getApplicationFlavor().hasReferrals(), getHivMemberObject().getBaseEntityId(), this); + + //Refreshing the hiv Member object with new data just in-case it was updated in the background + setHivMemberObject(HivDao.getMember(getHivMemberObject().getBaseEntityId())); + onMemberDetailsReloaded(getHivMemberObject()); + + try { + CbhsUtils.removeDeceasedClients(getHivMemberObject(), getContext()); + } catch (Exception e) { + Timber.e(e); + } + + if (ChwCBHSDao.completedServiceOrNoLongerContinuingWithService(getHivMemberObject().getBaseEntityId())) { + CbhsUtils.createCloseCbhsEvent(getHivMemberObject()); + } } @Override @@ -287,7 +356,7 @@ public void setupViews() { @Override protected void removeMember() { - IndividualProfileRemoveActivity.startIndividualProfileActivity(HivProfileActivity.this, + IndividualProfileRemoveActivity.startIndividualProfileActivity((Activity) getContext(), getClientDetailsByBaseEntityID(getHivMemberObject().getBaseEntityId()), getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyHead(), getHivMemberObject().getPrimaryCareGiver(), FpRegisterActivity.class.getCanonicalName()); @@ -321,7 +390,7 @@ public void onClick(View view) { @Override public Context getContext() { - return this; + return HivProfileActivity.this; } @Override @@ -339,6 +408,15 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { // recompute schedule Runnable runnable = () -> ChwScheduleTaskExecutor.getInstance().execute(getHivMemberObject().getBaseEntityId(), org.smartregister.chw.hiv.util.Constants.EventType.FOLLOW_UP_VISIT, new Date()); org.smartregister.chw.util.Utils.startAsyncTask(new RunnableTask(runnable), null); + try { + CbhsUtils.removeDeceasedClients(getHivMemberObject(), getContext()); + } catch (Exception e) { + Timber.e(e); + } + + if (ChwCBHSDao.completedServiceOrNoLongerContinuingWithService(getHivMemberObject().getBaseEntityId())) { + CbhsUtils.createCloseCbhsEvent(getHivMemberObject()); + } super.onActivityResult(requestCode, resultCode, data); if (requestCode == CoreConstants.ProfileActivityResults.CHANGE_COMPLETED && resultCode == Activity.RESULT_OK) { @@ -351,19 +429,27 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { @Override public void openMedicalHistory() { - //TODO implement + CbhsMedicalHistoryActivity.startMe(this, getHivMemberObject()); } @Override public void openHivRegistrationForm() { try { - String formName; - if (getHivMemberObject().getGender().equalsIgnoreCase("male")) { - formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); - } else { - formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); + String formName = org.smartregister.chw.util.Constants.JsonForm.getCbhsRegistrationForm(); + JSONObject formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName); + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + + + int age = org.smartregister.chw.util.Utils.getAgeFromDate(getHivMemberObject().getAge()); + try { + updateAgeAndGender(fields, age, getHivMemberObject().getGender()); + } catch (Exception e) { + Timber.e(e); } - HivRegisterActivity.startHIVFormActivity(this, getHivMemberObject().getBaseEntityId(), formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); + + HivRegisterActivity.startHIVFormActivity(this, getHivMemberObject().getBaseEntityId(), formName, formJsonObject.toString()); } catch (JSONException e) { Timber.e(e); } @@ -483,12 +569,12 @@ public boolean onCreateOptionsMenu(Menu menu) { menu.findItem(R.id.action_anc_registration).setVisible(isClientEligibleForAnc(getHivMemberObject()) && !AncDao.isANCMember(getHivMemberObject().getBaseEntityId())); menu.findItem(R.id.action_pregnancy_out_come).setVisible(isClientEligibleForAnc(getHivMemberObject()) && !PNCDao.isPNCMember(getHivMemberObject().getBaseEntityId())); menu.findItem(R.id.action_location_info).setVisible(UpdateDetailsUtil.isIndependentClient(getHivMemberObject().getBaseEntityId())); - if(ChwApplication.getApplicationFlavor().hasHIVST()){ + if (ChwApplication.getApplicationFlavor().hasHIVST()) { String dob = getHivMemberObject().getAge(); int age = Utils.getAgeFromDate(dob); - menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(getHivMemberObject().getBaseEntityId()) && age >= 18); + menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(getHivMemberObject().getBaseEntityId()) && age >= 15); } - if(ChwApplication.getApplicationFlavor().hasKvp()){ + if (ChwApplication.getApplicationFlavor().hasKvp()) { menu.findItem(R.id.action_kvp_prep_registration).setVisible(!KvpDao.isRegisteredForKvpPrEP(getHivMemberObject().getBaseEntityId())); } // flavor.updateTbMenuItems(getHivMemberObject().getBaseEntityId(), menu); @@ -508,27 +594,26 @@ public boolean onOptionsItemSelected(MenuItem item) { startAncRegister(); return true; } else if (itemId == R.id.action_pregnancy_out_come) { - PncRegisterActivity.startPncRegistrationActivity(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), null, CoreConstants.JSON_FORM.getPregnancyOutcome(), AncLibrary.getInstance().getUniqueIdRepository().getNextUniqueId().getOpenmrsId(), getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyName(), null); + PncRegisterActivity.startPncRegistrationActivity((Activity) getContext(), getHivMemberObject().getBaseEntityId(), null, CoreConstants.JSON_FORM.getPregnancyOutcome(), AncLibrary.getInstance().getUniqueIdRepository().getNextUniqueId().getOpenmrsId(), getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyName(), null); return true; } else if (itemId == R.id.action_hivst_registration) { startHivstRegistration(); return true; - } else if(itemId == R.id.action_kvp_prep_registration){ + } else if (itemId == R.id.action_kvp_prep_registration) { startKvpPrepRegistration(); return true; } return super.onOptionsItemSelected(item); } - private void startKvpPrepRegistration(){ - String gender = org.smartregister.chw.util.Utils.getClientGender(getHivMemberObject().getBaseEntityId()); + private void startKvpPrepRegistration() { + String gender = org.smartregister.chw.util.Utils.getClientGender(getHivMemberObject().getBaseEntityId()); String dob = getHivMemberObject().getAge(); int age = Utils.getAgeFromDate(dob); - KvpPrEPRegisterActivity.startRegistration(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), gender, age); + KvpPrEPRegisterActivity.startRegistration((Activity) getContext(), getHivMemberObject().getBaseEntityId(), gender, age); } - private void startHivstRegistration() { CommonRepository commonRepository = Utils.context().commonrepository(Utils.metadata().familyMemberRegister.tableName); @@ -542,14 +627,14 @@ private void startHivstRegistration() { protected void startTbRegister() { try { - TbRegisterActivity.startTbFormActivity(HivProfileActivity.this, getHivMemberObject().getBaseEntityId(), CoreConstants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getTbRegistration()).toString()); + TbRegisterActivity.startTbFormActivity((Activity) getContext(), getHivMemberObject().getBaseEntityId(), CoreConstants.JSON_FORM.getTbRegistration(), (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, CoreConstants.JSON_FORM.getTbRegistration()).toString()); } catch (JSONException e) { Timber.e(e); } } protected void startAncRegister() { - AncRegisterActivity.startAncRegistrationActivity(HivProfileActivity.this, Objects.requireNonNull(getHivMemberObject()).getBaseEntityId(), getHivMemberObject().getPhoneNumber(), + AncRegisterActivity.startAncRegistrationActivity((Activity) getContext(), Objects.requireNonNull(getHivMemberObject()).getBaseEntityId(), getHivMemberObject().getPhoneNumber(), org.smartregister.chw.util.Constants.JSON_FORM.getAncRegistration(), null, getHivMemberObject().getFamilyBaseEntityId(), getHivMemberObject().getFamilyName()); } @@ -559,19 +644,26 @@ protected void startAncRegister() { public void startHivRegistrationDetailsActivity() { Intent intent = new Intent(this, BaseHivFormsActivity.class); intent.putExtra(org.smartregister.chw.hiv.util.Constants.ActivityPayload.BASE_ENTITY_ID, getHivMemberObject().getBaseEntityId()); + String formName = org.smartregister.chw.util.Constants.JsonForm.getCbhsRegistrationForm(); - String formName; - if (getHivMemberObject().getGender().equalsIgnoreCase("male")) { - formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); - } else { - formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); + JSONObject formJsonObject = null; + try { + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName); + } catch (JSONException e) { + Timber.e(e); } - JSONObject formJsonObject = null; try { + + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + + int age = org.smartregister.chw.util.Utils.getAgeFromDate(getHivMemberObject().getAge()); + updateAgeAndGender(fields, age, getHivMemberObject().getGender()); + formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName); formJsonObject.put(ENCOUNTER_TYPE, UPDATE_HIV_REGISTRATION); - JSONArray fields = formJsonObject.getJSONArray("steps").getJSONObject(0).getJSONArray("fields"); for (int i = 0; i < fields.length(); i++) { JSONObject field = fields.getJSONObject(i); @@ -593,7 +685,7 @@ public void startHivRegistrationDetailsActivity() { } } - } catch (JSONException e) { + } catch (Exception e) { Timber.e(e); } @@ -618,6 +710,35 @@ protected boolean isClientEligibleForAnc(HivMemberObject hivMemberObject) { return false; } + @SuppressLint("StringFormatMatches") + @Override + public void updateLastVisitRow(@Nullable Date lastVisitDate) { + Visit lastFollowupVisit = getVisit(org.smartregister.chw.util.Constants.Events.CBHS_FOLLOWUP); + if (lastFollowupVisit != null) { + TextView tvLastVisitDay = findViewById(R.id.textview_last_vist_day); + tvLastVisitDay.setVisibility(View.VISIBLE); + + int numOfDays = Days.daysBetween( + new DateTime(lastFollowupVisit.getDate()).toLocalDate(), + new DateTime().toLocalDate() + ).getDays(); + + if (numOfDays <= 1) { + tvLastVisitDay.setText(getString(R.string.cbhs_visit_less_than_twenty_four)); + } else { + tvLastVisitDay.setText(getString( + R.string.cbhs_last_visit_n_days_ago, numOfDays)); + } + + findViewById(R.id.rl_last_visit_layout).setVisibility(View.VISIBLE); + } + } + + public @javax.annotation.Nullable + Visit getVisit(String eventType) { + return PmtctLibrary.getInstance().visitRepository().getLatestVisit(getHivMemberObject().getBaseEntityId(), eventType); + } + public interface Flavor { // void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java index 025c0cb2eb..e71295135a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivRegisterActivity.java @@ -10,7 +10,6 @@ import org.smartregister.chw.core.activity.CoreHivRegisterActivity; import org.smartregister.chw.core.custom_views.NavigationMenu; import org.smartregister.chw.core.utils.CoreConstants; -import org.smartregister.chw.fragment.HivFollowupRegisterFragment; import org.smartregister.chw.fragment.HivRegisterFragment; import org.smartregister.chw.hiv.fragment.BaseHivCommunityFollowupRegisterFragment; import org.smartregister.chw.hiv.fragment.BaseHivRegisterFragment; @@ -35,11 +34,6 @@ protected BaseHivRegisterFragment getRegisterFragment() { return new HivRegisterFragment(); } - @Override - public List getViewIdentifiers() { - return null; - } - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -70,8 +64,7 @@ protected void registerBottomNavigation() { @NotNull @Override protected BaseHivCommunityFollowupRegisterFragment[] getOtherFragments() { - return new HivFollowupRegisterFragment[]{ - new HivFollowupRegisterFragment()}; + return new BaseHivCommunityFollowupRegisterFragment[0]; } @Override diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java index 73e4dc84f0..0777bc7cd4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/PncMemberProfileActivity.java @@ -333,7 +333,7 @@ public boolean onCreateOptionsMenu(Menu menu) { flavor.onCreateOptionsMenu(menu, memberObject.getBaseEntityId()); if (ChwApplication.getApplicationFlavor().hasHIVST()) { int age = memberObject.getAge(); - menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(memberObject.getBaseEntityId()) && age >= 18); + menu.findItem(R.id.action_hivst_registration).setVisible(!HivstDao.isRegisteredForHivst(memberObject.getBaseEntityId()) && age >= 15); } if(ChwApplication.getApplicationFlavor().hasKvp()){ menu.findItem(R.id.action_kvp_prep_registration).setVisible(!KvpDao.isRegisteredForKvpPrEP(baseEntityID)); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java index 78959e72f9..9e6b8f2d4a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/TbProfileActivity.java @@ -2,6 +2,7 @@ import static org.smartregister.chw.util.NotificationsUtil.handleNotificationRowClick; import static org.smartregister.chw.util.NotificationsUtil.handleReceivedNotifications; +import static org.smartregister.chw.util.Utils.updateAgeAndGender; import android.app.Activity; import android.content.Context; @@ -17,7 +18,9 @@ import com.vijay.jsonwizard.utils.FormUtils; import org.apache.commons.lang3.StringUtils; +import org.json.JSONArray; import org.json.JSONException; +import org.json.JSONObject; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.application.ChwApplication; @@ -275,14 +278,22 @@ public boolean onOptionsItemSelected(MenuItem item) { } protected void startHivRegister() { - String formName; - if (getTbMemberObject().getGender().equalsIgnoreCase("male")) { - formName = CoreConstants.JSON_FORM.getMaleHivRegistration(); - } else { - formName = CoreConstants.JSON_FORM.getFemaleHivRegistration(); - } try { - HivRegisterActivity.startHIVFormActivity(TbProfileActivity.this, getTbMemberObject().getBaseEntityId(), formName, (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName).toString()); + String formName = org.smartregister.chw.util.Constants.JsonForm.getCbhsRegistrationForm(); + JSONObject formJsonObject = (new FormUtils()).getFormJsonFromRepositoryOrAssets(this, formName); + JSONArray steps = formJsonObject.getJSONArray("steps"); + JSONObject step = steps.getJSONObject(0); + JSONArray fields = step.getJSONArray("fields"); + + + int age = org.smartregister.chw.util.Utils.getAgeFromDate(getTbMemberObject().getAge()); + try { + updateAgeAndGender(fields, age, getTbMemberObject().getGender()); + } catch (Exception e) { + Timber.e(e); + } + + HivRegisterActivity.startHIVFormActivity(this, getTbMemberObject().getBaseEntityId(), formName, formJsonObject.toString()); } catch (JSONException e) { Timber.e(e); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java index 4547fea7e9..7c8cfb7003 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ChwCBHSDao.java @@ -24,17 +24,17 @@ public static boolean tbStatusAfterTestingDone(String baseEntityID) { return false; } - public static Date getNextVisitDate(String baseEntityId){ + public static Date getNextVisitDate(String baseEntityId) { String sql = "Select next_appointment_date from ec_cbhs_register where base_entity_id = '" + baseEntityId + "'"; DataMap dataMap = cursor -> getCursorValue(cursor, "next_appointment_date"); List res = readData(sql, dataMap); - if (res != null && res.size() > 0 && res.get(0) != null){ + if (res != null && res.size() > 0 && res.get(0) != null) { Calendar cal = Calendar.getInstance(); - try{ + try { cal.setTimeInMillis(new BigDecimal(res.get(0)).longValue()); - }catch (Exception e){ + } catch (Exception e) { //NEEDED FOR THE ISSUE IN SOME TABLETS FAILING TO CREATE A TIMESTAMP SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); try { @@ -47,4 +47,50 @@ public static Date getNextVisitDate(String baseEntityId){ } return null; } + + public static boolean isDeceased(String baseEntityId) { + String sql = " Select registration_or_followup_status\n" + + " FROM ec_cbhs_followup ecf\n" + + " INNER JOIN ec_family_member efm on ecf.entity_id = efm.base_entity_id\n" + + " WHERE efm.dod IS NULL AND ecf.entity_id = '" + baseEntityId + "'" + + " ORDER BY ecf.last_interacted_with DESC\n" + + " LIMIT 1"; + + DataMap dataMap = cursor -> getCursorValue(cursor, "registration_or_followup_status"); + List res = readData(sql, dataMap); + + if (res != null && res.size() > 0 && res.get(0) != null) { + return res.get(0).equals("deceased"); + } + return false; + } + + public static boolean completedServiceOrNoLongerContinuingWithService(String baseEntityId) { + String sql = " Select registration_or_followup_status\n" + + " FROM ec_cbhs_followup ecf\n" + + " WHERE ecf.is_closed = 0 AND ecf.entity_id = '" + baseEntityId + "'" + + " ORDER BY ecf.last_interacted_with DESC\n" + + " LIMIT 1"; + + DataMap dataMap = cursor -> getCursorValue(cursor, "registration_or_followup_status"); + List res = readData(sql, dataMap); + + if (res != null && res.size() > 0 && res.get(0) != null) { + return res.get(0).equals("deceased") || res.get(0).equals("client_has_absconded") || res.get(0).equals("completed_and_qualified_from_the_services") || res.get(0).equals("client_relocated_to_another_location"); + } + return false; + } + + public static boolean hasFollowupVisits(String baseEntityId) { + String sql = " Select ecf.entity_id\n" + + " FROM ec_cbhs_followup ecf\n" + + " WHERE ecf.entity_id = '" + baseEntityId + "'" + + " ORDER BY ecf.last_interacted_with DESC\n" + + " LIMIT 1"; + + DataMap dataMap = cursor -> getCursorValue(cursor, "entity_id"); + List res = readData(sql, dataMap); + + return res != null && res.size() > 0; + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java index 37fb9ecd26..a5d434a712 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java @@ -1,5 +1,7 @@ package org.smartregister.chw.dao; +import static org.smartregister.chw.core.utils.VisitVaccineUtil.getInMemoryAlerts; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -37,8 +39,6 @@ import timber.log.Timber; -import static org.smartregister.chw.core.utils.VisitVaccineUtil.getInMemoryAlerts; - /** * @author rkodev */ @@ -230,66 +230,89 @@ private static HashMap> getVaccineSched return VisitVaccineUtil.getSchedule(vaccineGroups, specialVaccines, category); } - public static List> getCHWRegistrationFollowUpClients(Date reportDate) - { - String sql = "SELECT\n" + - " ecr.cbhs_number as cbhs_number,\n" + - " ecr.reasons_for_registration as registration_reason,\n" + - " ecf.client_hiv_status_during_registration as hiv_status_during_registration,\n" + - " '-' as tb_status_during_registration,\n" + - " ecr.ctc_number as clinic_registration_number,\n" + - " 'CTC' as type_of_clinic,\n" + - " (date() - fm.dob) as age,\n" + - " fm.gender,\n" + - " ecf.client_hiv_status_after_testing as status_after_testing,\n" + - " ecf.hiv_services_provided,\n" + - " ecf.supplies_provided,\n" + - " tasks.issued_referrals,\n" + - " tasks.successful_referrals,\n" + - " ecf.state_of_therapy,\n" + - " ecf.registration_or_followup_status\n" + - " FROM ec_cbhs_register ecr\n" + - " INNER JOIN ec_family_member fm on fm.base_entity_id = ecr.base_entity_id\n" + - " INNER JOIN (SELECT entity_id,last_interacted_with,hiv_services_provided,state_of_therapy,registration_or_followup_status,\n" + - " supplies_provided,client_behaviour_and_environmental_risk,client_hiv_status_during_registration,\n" + - " client_tb_status_during_registration,client_hiv_status_after_testing, count(id)\n" + - " as number_of_followups from ec_cbhs_followup group by entity_id)ecf on fm.base_entity_id = ecf.entity_id\n" + - " LEFT JOIN (select for, sum(case when code = 'Referral' and business_status != 'Cancelled' then 1 else 0 end) as 'issued_referrals',\n" + - " sum(case when code = 'Referral' and business_status != 'Cancelled' and business_status = 'Complete' then 1\n" + - " else 0 end) as 'successful_referrals' from Task where focus in ('Suspected HIV', 'HIV Treatment and Care') group by for)tasks on fm.base_entity_id = tasks.for\n" + - " WHERE ctc_number is not NULL and date(substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || '-' ||\n" + - " substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || '-' || '01') =\n" + - " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))\n" + - " group by fm.base_entity_id\n" + - " UNION\n" + - " SELECT\n" + - " ecr.cbhs_number as cbhs_number,\n" + - " ecr.reasons_for_registration as registration_reason,\n" + - " '-' as hiv_status_during_registration,\n" + - " ecf.client_tb_status_during_registration as tb_status_during_registration,\n" + - " ecr.tb_number as clinic_registration_number,\n" + - " 'TB' as type_of_clinic,\n" + - " (date() - fm.dob) as age,\n" + - " fm.gender,\n" + - " ecf.client_tb_status_after_testing as status_after_testing,\n" + - " ecf.hiv_services_provided,\n" + - " ecf.supplies_provided,\n" + - " tasks.issued_referrals,\n" + - " tasks.successful_referrals,\n" + - " ecf.state_of_therapy,\n" + - " ecf.registration_or_followup_status\n" + - " FROM ec_cbhs_register ecr\n" + - " INNER JOIN ec_family_member fm on fm.base_entity_id = ecr.base_entity_id\n" + - " INNER JOIN (SELECT entity_id,last_interacted_with,hiv_services_provided,state_of_therapy,registration_or_followup_status,\n" + - " supplies_provided,client_behaviour_and_environmental_risk,client_hiv_status_during_registration,\n" + - " client_tb_status_during_registration,client_tb_status_after_testing, count(id)\n" + - " as number_of_followups from ec_cbhs_followup group by entity_id)ecf on fm.base_entity_id = ecf.entity_id\n" + - " LEFT JOIN (select for, sum(case when code = 'Referral' and business_status != 'Cancelled' then 1 else 0 end) as 'issued_referrals',\n" + - " sum(case when code = 'Referral' and business_status != 'Cancelled' and business_status = 'Complete' then 1\n" + - " else 0 end) as 'successful_referrals' from Task where focus in ('Suspected TB') group by for)tasks on fm.base_entity_id = tasks.for\n" + - " WHERE tb_number is not NULL and date(substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || '-' ||\n" + - " substr(strftime('%Y-%m-%d', datetime(ecf.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || '-' || '01') =\n" + - " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))"; + public static List> getCHWRegistrationFollowUpClients(Date reportDate) { + String sql = "SELECT ecr.cbhs_number as cbhs_number,\n" + + " ecr.reasons_for_registration as registration_reason,\n" + + " ecr.client_hiv_status_during_registration as hiv_status_during_registration,\n" + + " ecr.client_tb_status_during_registration as tb_status_during_registration,\n" + + " (date() - fm.dob) as age,\n" + + " fm.gender,\n" + + " ecr.client_hiv_status_after_testing as client_hiv_status_after_testing,\n" + + " ecr.client_tb_status_after_testing as client_tb_status_after_testing,\n" + + " ecf.hiv_services_provided,\n" + + " fm.base_entity_id,\n" + + " ecr.ctc_number,\n" + + " ecr.tb_number,\n" + + " ecr.rch_number,\n" + + " ecr.mat_number,\n" + + " ecf.supplies_provided,\n" + + " tasks.issued_referrals,\n" + + " tasks.successful_referrals,\n" + + " ecf.state_of_hiv_care_and_treatment,\n" + + " ecf.state_of_registration_in_tb_and_pwid_clinics,\n" + + " ecf.referrals_issued_to_other_services,\n" + + " ecf.referrals_to_other_services_completed,\n" + + " ecf.registration_or_followup_status\n" + + "FROM ec_cbhs_register ecr\n" + + " INNER JOIN ec_family_member fm on fm.base_entity_id = ecr.base_entity_id\n" + + " LEFT JOIN (SELECT entity_id,\n" + + " max(last_interacted_with) as last_interacted_with,\n" + + " hiv_services_provided,\n" + + " state_of_hiv_care_and_treatment,\n" + + " state_of_registration_in_tb_and_pwid_clinics,\n" + + " registration_or_followup_status,\n" + + " supplies_provided,\n" + + " referrals_issued_to_other_services,\n" + + " referrals_to_other_services_completed\n" + + " from ec_cbhs_followup\n" + + " WHERE date(substr(strftime('%Y-%m-%d',\n" + + " datetime(last_interacted_with / 1000, 'unixepoch', 'localtime')), 1,\n" + + " 4) || '-' ||\n" + + " substr(strftime('%Y-%m-%d',\n" + + " datetime(last_interacted_with / 1000, 'unixepoch', 'localtime')), 6,\n" + + " 2) || '-' || '01')\n" + + " =\n" + + " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))\n" + + " GROUP BY entity_id) ecf on fm.base_entity_id = ecf.entity_id\n" + + "\n" + + "\n" + + " LEFT JOIN (SELECT entity_id,\n" + + " max(last_interacted_with) as last_interaction, \n" + + " registration_or_followup_status as last_followup_status\n" + + " from ec_cbhs_followup\n" + + " WHERE date(substr(strftime('%Y-%m-%d',\n" + + " datetime(last_interacted_with / 1000, 'unixepoch', 'localtime')), 1,\n" + + " 4) || '-' ||\n" + + " substr(strftime('%Y-%m-%d',\n" + + " datetime(last_interacted_with / 1000, 'unixepoch', 'localtime')), 6,\n" + + " 2) || '-' || '01')\n" + + " <\n" + + " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))\n" + + "\n" + + " group by entity_id) lecf on fm.base_entity_id = lecf.entity_id\n" + + "\n" + + " LEFT JOIN (select for,\n" + + " GROUP_CONCAT(case\n" + + " when code = 'Referral' and business_status != 'Cancelled' then focus\n" + + " else '' end,',') as 'issued_referrals',\n" + + " GROUP_CONCAT(case\n" + + " when code = 'Referral' and business_status != 'Cancelled' and\n" + + " business_status = 'Complete' then focus\n" + + " else '' end, ',') as 'successful_referrals'\n" + + " from Task\n" + + " WHERE date(substr(strftime('%Y-%m-%d',\n" + + " datetime(Task.authored_on / 1000, 'unixepoch', 'localtime')), 1,\n" + + " 4) ||\n" + + " '-' ||\n" + + " substr(strftime('%Y-%m-%d',\n" + + " datetime(Task.authored_on / 1000, 'unixepoch', 'localtime')), 6,\n" + + " 2) ||\n" + + " '-' || '01') =\n" + + " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))\n" + + " group by for) tasks on fm.base_entity_id = tasks.for\n" + + "\n" + + "WHERE (last_followup_status <> 'client_relocated_to_another_location' AND last_followup_status <> 'completed_and_qualified_from_the_services' AND last_followup_status <> 'client_has_absconded' AND last_followup_status <> 'deceased') OR last_followup_status IS NULL\n" + + "group by fm.base_entity_id\n"; String queryDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(reportDate); @@ -301,16 +324,25 @@ public static List> getCHWRegistrationFollowUpClients(Date r data.put("registration_reason", cursor.getString(cursor.getColumnIndex("registration_reason"))); data.put("hiv_status_during_registration", cursor.getString(cursor.getColumnIndex("hiv_status_during_registration"))); data.put("tb_status_during_registration", cursor.getString(cursor.getColumnIndex("tb_status_during_registration"))); - data.put("clinic_registration_number", cursor.getString(cursor.getColumnIndex("clinic_registration_number"))); - data.put("type_of_clinic", cursor.getString(cursor.getColumnIndex("type_of_clinic"))); data.put("age", cursor.getString(cursor.getColumnIndex("age"))); data.put("gender", cursor.getString(cursor.getColumnIndex("gender"))); - data.put("status_after_testing", cursor.getString(cursor.getColumnIndex("status_after_testing"))); + + data.put("ctc_number", cursor.getString(cursor.getColumnIndex("ctc_number"))); + data.put("tb_number", cursor.getString(cursor.getColumnIndex("tb_number"))); + data.put("rch_number", cursor.getString(cursor.getColumnIndex("rch_number"))); + data.put("mat_number", cursor.getString(cursor.getColumnIndex("mat_number"))); + + data.put("referrals_issued_to_other_services", cursor.getString(cursor.getColumnIndex("referrals_issued_to_other_services"))); + data.put("referrals_to_other_services_completed", cursor.getString(cursor.getColumnIndex("referrals_to_other_services_completed"))); + + data.put("client_hiv_status_after_testing", cursor.getString(cursor.getColumnIndex("client_hiv_status_after_testing"))); + data.put("client_tb_status_after_testing", cursor.getString(cursor.getColumnIndex("client_tb_status_after_testing"))); data.put("hiv_services_provided", cursor.getString(cursor.getColumnIndex("hiv_services_provided"))); data.put("supplies_provided", cursor.getString(cursor.getColumnIndex("supplies_provided"))); data.put("issued_referrals", cursor.getString(cursor.getColumnIndex("issued_referrals"))); data.put("successful_referrals", cursor.getString(cursor.getColumnIndex("successful_referrals"))); - data.put("state_of_therapy", cursor.getString(cursor.getColumnIndex("state_of_therapy"))); + data.put("state_of_hiv_care_and_treatment", cursor.getString(cursor.getColumnIndex("state_of_hiv_care_and_treatment"))); + data.put("state_of_registration_in_tb_and_pwid_clinics", cursor.getString(cursor.getColumnIndex("state_of_registration_in_tb_and_pwid_clinics"))); data.put("registration_or_followup_status", cursor.getString(cursor.getColumnIndex("registration_or_followup_status"))); return data; }; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java index bf44a719ea..d96d9f5eb3 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java @@ -1,26 +1,34 @@ package org.smartregister.chw.domain.cbhs_reports; import android.content.Context; +import android.content.res.Configuration; import org.apache.commons.lang3.StringUtils; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.dao.ReportDao; import org.smartregister.chw.domain.ReportObject; import java.util.Date; import java.util.List; +import java.util.Locale; import java.util.Map; public class CbhsMonthlyReportObject extends ReportObject { private final Context context; - private Date reportDate; + private final Date reportDate; public CbhsMonthlyReportObject(Date reportDate, Context context) { super(reportDate); this.reportDate = reportDate; - this.context = context; + + Configuration configuration = new Configuration(context.getResources().getConfiguration()); + configuration.setLocale(new Locale("sw")); + this.context = context.createConfigurationContext(configuration); + } @Override @@ -35,18 +43,81 @@ public JSONObject getIndicatorData() throws JSONException { reportJsonObject.put("namba-za-mteja", getCbhsClientDetails(chwRegistrationFollowupClient, "cbhs_number")); reportJsonObject.put("sababu-za-usajili", getCbhsClientDetails(chwRegistrationFollowupClient, "registration_reason")); - reportJsonObject.put("hali-ya-maamubikizi-ya-vvu", getCbhsClientDetails(chwRegistrationFollowupClient, "hiv_status_during_registration")); - reportJsonObject.put("hali-ya-maamubikizi-ya-tb", getCbhsClientDetails(chwRegistrationFollowupClient, "tb_status_during_registration")); - reportJsonObject.put("namba-ya-usajili-wa kliniki", getCbhsClientDetails(chwRegistrationFollowupClient, "clinic_registration_number")); - reportJsonObject.put("aina-ya-kliniki", getCbhsClientDetails(chwRegistrationFollowupClient, "type_of_clinic")); + + if (chwRegistrationFollowupClient.get("client_hiv_status_after_testing") == null) + reportJsonObject.put("hali-ya-maamubikizi-ya-vvu", getCbhsClientDetails(chwRegistrationFollowupClient, "hiv_status_during_registration")); + else + reportJsonObject.put("hali-ya-maamubikizi-ya-vvu", getCbhsClientDetails(chwRegistrationFollowupClient, "client_hiv_status_after_testing")); + + if (chwRegistrationFollowupClient.get("client_tb_status_after_testing") == null) + reportJsonObject.put("hali-ya-maamubikizi-ya-tb", getCbhsClientDetails(chwRegistrationFollowupClient, "tb_status_during_registration")); + else + reportJsonObject.put("hali-ya-maamubikizi-ya-tb", getCbhsClientDetails(chwRegistrationFollowupClient, "client_tb_status_after_testing")); + + + String clinicRegistrationNumber = ""; + String clinicName = ""; + if (!getCbhsClientDetails(chwRegistrationFollowupClient, "ctc_number").equals("-")) { + clinicRegistrationNumber += getCbhsClientDetails(chwRegistrationFollowupClient, "ctc_number") + "
    "; + clinicName += "CTC
    "; + } + + if (!getCbhsClientDetails(chwRegistrationFollowupClient, "tb_number").equals("-")) { + clinicRegistrationNumber += getCbhsClientDetails(chwRegistrationFollowupClient, "tb_number") + "
    "; + clinicName += "TB
    "; + } + if (!getCbhsClientDetails(chwRegistrationFollowupClient, "rch_number").equals("-")) { + clinicRegistrationNumber += getCbhsClientDetails(chwRegistrationFollowupClient, "rch_number") + "
    "; + clinicName += "RCH
    "; + } + if (!getCbhsClientDetails(chwRegistrationFollowupClient, "mat_number").equals("-")) { + clinicRegistrationNumber += getCbhsClientDetails(chwRegistrationFollowupClient, "mat_number") + "
    "; + clinicName += "MAT
    "; + } + + if (StringUtils.isBlank(clinicRegistrationNumber)) + clinicRegistrationNumber = "-"; + + if (StringUtils.isBlank(clinicName)) + clinicName = "-"; + + reportJsonObject.put("namba-ya-usajili-wa kliniki", clinicRegistrationNumber); + reportJsonObject.put("aina-ya-kliniki", clinicName); + + + String referralIssued = ""; + if (!getCbhsClientDetails(chwRegistrationFollowupClient, "issued_referrals").equals("-")) { + referralIssued += getCbhsClientDetails(chwRegistrationFollowupClient, "issued_referrals") + "
    "; + } + if (!getCbhsClientDetails(chwRegistrationFollowupClient, "referrals_issued_to_other_services").equals("-")) { + referralIssued += getCbhsClientDetails(chwRegistrationFollowupClient, "referrals_issued_to_other_services") + "
    "; + } + + String referralsCompleted = ""; + if (!getCbhsClientDetails(chwRegistrationFollowupClient, "successful_referrals").equals("-")) { + referralsCompleted += getCbhsClientDetails(chwRegistrationFollowupClient, "successful_referrals") + "
    "; + } + if (!getCbhsClientDetails(chwRegistrationFollowupClient, "referrals_to_other_services_completed").equals("-")) { + referralsCompleted += getCbhsClientDetails(chwRegistrationFollowupClient, "referrals_to_other_services_completed") + "
    "; + } + + reportJsonObject.put("umri", getCbhsClientDetails(chwRegistrationFollowupClient, "age")); reportJsonObject.put("jinsia", getCbhsClientDetails(chwRegistrationFollowupClient, "gender")); - reportJsonObject.put("hali-ya-mteja", getCbhsClientDetails(chwRegistrationFollowupClient, "status_after_testing")); reportJsonObject.put("huduma-zilizotolewa", getCbhsClientDetails(chwRegistrationFollowupClient, "hiv_services_provided")); reportJsonObject.put("vifaa-vilivyotolewa", getCbhsClientDetails(chwRegistrationFollowupClient, "supplies_provided")); - reportJsonObject.put("rufaa-zilizotolewa", getCbhsClientDetails(chwRegistrationFollowupClient, "issued_referrals")); - reportJsonObject.put("rufaa-zilizofanikiwa", getCbhsClientDetails(chwRegistrationFollowupClient, "successful_referrals")); - reportJsonObject.put("hali-ya-tiba-na-matunzo", getCbhsClientDetails(chwRegistrationFollowupClient, "state_of_therapy")); + reportJsonObject.put("rufaa-zilizotolewa", referralIssued); + reportJsonObject.put("rufaa-zilizofanikiwa", referralsCompleted); + + + String stateOfHivCareAndTreatment = getCbhsClientDetails(chwRegistrationFollowupClient, "state_of_hiv_care_and_treatment"); + + if (chwRegistrationFollowupClient.get("state_of_registration_in_tb_and_pwid_clinics") != null && !chwRegistrationFollowupClient.get("state_of_registration_in_tb_and_pwid_clinics").equals("not_applicable")) { + stateOfHivCareAndTreatment = stateOfHivCareAndTreatment + ", " + getCbhsClientDetails(chwRegistrationFollowupClient, "state_of_registration_in_tb_and_pwid_clinics"); + } + + + reportJsonObject.put("hali-ya-tiba-na-matunzo", stateOfHivCareAndTreatment); reportJsonObject.put("hali-ya-usajili-na-ufuatiliaji", getCbhsClientDetails(chwRegistrationFollowupClient, "registration_or_followup_status")); dataArray.put(reportJsonObject); @@ -62,12 +133,24 @@ private String getCbhsClientDetails(Map chwRegistrationFollowupC String details = chwRegistrationFollowupClient.get(key); if (StringUtils.isNotBlank(details)) { switch (key) { + case "issued_referrals": + case "successful_referrals": + return getTranslatedReferralFocus(details); case "registration_reason": return getStringValues(details, "reason_for_registration_"); - case "hiv_services_provided": - return getStringValues(details, "hiv_services_provided_"); + case "referrals_issued_to_other_services": + case "referrals_to_other_services_completed": case "supplies_provided": - return getStringValues(details, "supplies_provided_"); + case "hiv_services_provided": + case "registration_or_followup_status": + case "state_of_hiv_care_and_treatment": + case "state_of_registration_in_tb_and_pwid_clinics": + case "gender": + case "hiv_status_during_registration": + case "tb_status_during_registration": + case "client_hiv_status_after_testing": + case "client_tb_status_after_testing": + return getStringValues(details, "cbhs_"); default: return details; } @@ -76,25 +159,95 @@ private String getCbhsClientDetails(Map chwRegistrationFollowupC } private String getStringValues(String receivedVal, String resourceKey) { - if (receivedVal.startsWith("[")) { - //remove the [ and ] and add the values separated in a comma to array - String[] values = receivedVal.substring(1, receivedVal.length() - 1).split(","); + if (receivedVal.contains(",") || receivedVal.startsWith("[")) { + String[] values; + if (receivedVal.startsWith("[")) { + //remove the [ and ] and add the values separated in a comma to array + values = receivedVal.substring(1, receivedVal.length() - 1).split(","); + } else { + values = receivedVal.split(","); + } StringBuilder sb = new StringBuilder(); for (String value : values) { - int humanReadableValueId = context.getResources().getIdentifier(resourceKey + value, "string", context.getPackageName()); + int humanReadableValueId = context.getResources().getIdentifier(resourceKey.toLowerCase() + value.trim().toLowerCase(), "string", context.getPackageName()); if (humanReadableValueId != 0) { - sb.append(context.getString(humanReadableValueId)).append(","); - } - sb.append(value).append(","); + sb.append(context.getString(humanReadableValueId)).append(", "); + } else + sb.append(value).append(", "); + } + + String stringValues = sb.toString().trim(); + if (stringValues.charAt(stringValues.length() - 1) == ',') { + stringValues = stringValues.substring(0, stringValues.length() - 1); } - return sb.toString(); + + return stringValues; } - int humanReadableValueId = context.getResources().getIdentifier(resourceKey + receivedVal, "string", context.getPackageName()); + int humanReadableValueId = context.getResources().getIdentifier(resourceKey + receivedVal.trim().toLowerCase(), "string", context.getPackageName()); if (humanReadableValueId != 0) { return context.getString(humanReadableValueId); } return receivedVal; } + private String getTranslatedReferralFocus(String focusString) { + String focusList[]; + if (focusString.contains(",")) { + focusList = focusString.split(","); + } else { + focusList = new String[]{focusString}; + } + StringBuilder translatedFocus = new StringBuilder(); + for (String focus : focusList) { + switch (focus) { + case CoreConstants.TASKS_FOCUS.ANC_DANGER_SIGNS: + translatedFocus.append(context.getString(R.string.anc_danger_signs)).append(","); + break; + case CoreConstants.TASKS_FOCUS.PNC_DANGER_SIGNS: + translatedFocus.append(context.getString(R.string.pnc_danger_signs)).append(","); + break; + case CoreConstants.TASKS_FOCUS.SUSPECTED_MALARIA: + translatedFocus.append(context.getString(R.string.client_malaria_follow_up)).append(","); + break; + case CoreConstants.TASKS_FOCUS.SICK_CHILD: + translatedFocus.append(context.getString(R.string.sick_child)).append(","); + break; + case CoreConstants.TASKS_FOCUS.FP_SIDE_EFFECTS: + translatedFocus.append(context.getString(R.string.family_planning_referral)).append(","); + break; + case CoreConstants.TASKS_FOCUS.SUSPECTED_TB: + translatedFocus.append(context.getString(R.string.tb_referral)).append(","); + break; + case CoreConstants.TASKS_FOCUS.SUSPECTED_HIV: + translatedFocus.append(context.getString(R.string.hts_referral)).append(","); + break; + case CoreConstants.TASKS_FOCUS.SICK_HIV: + translatedFocus.append(context.getString(R.string.hiv_referral)).append(","); + break; + case CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION: + translatedFocus.append(context.getString(R.string.pregnancy_confirmation)).append(","); + break; + case CoreConstants.TASKS_FOCUS.SUSPECTED_GBV: + translatedFocus.append(context.getString(R.string.gbv_referral)).append(","); + break; + case CoreConstants.TASKS_FOCUS.SUSPECTED_CHILD_GBV: + translatedFocus.append(context.getString(R.string.child_gbv_referral)).append(","); + break; + default: + translatedFocus.append(focus).append(","); + } + } + + if (StringUtils.isBlank(translatedFocus.toString())) { + return "-"; + } + + String stringValues = translatedFocus.toString().trim(); + if (stringValues.charAt(translatedFocus.length() - 1) == ',') { + stringValues = stringValues.substring(0, stringValues.length() - 1); + } + return stringValues; + } + } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java deleted file mode 100644 index 3578a89dda..0000000000 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/HivFollowupRegisterFragment.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.smartregister.chw.fragment; - -import android.content.Intent; -import android.os.Bundle; - -import org.smartregister.chw.activity.HivCommunityFollowupDetailsActivity; -import org.smartregister.chw.activity.HivRegisterActivity; -import org.smartregister.chw.core.fragment.CoreHivCommunityFollowupRegisterFragment; -import org.smartregister.chw.hiv.dao.HivDao; -import org.smartregister.chw.hiv.util.Constants; -import org.smartregister.chw.hiv.util.DBConstants; -import org.smartregister.chw.model.HivCommunityFollowupFragmentModel; -import org.smartregister.chw.presenter.HivCommunityFollowupFragmentPresenter; -import org.smartregister.commonregistry.CommonPersonObjectClient; - -import timber.log.Timber; - -import static android.view.View.GONE; - -public class HivFollowupRegisterFragment extends CoreHivCommunityFollowupRegisterFragment { - @Override - protected void initializePresenter() { - if (getActivity() == null) { - return; - } - String viewConfigurationIdentifier = null; - try { - viewConfigurationIdentifier = ((HivRegisterActivity) getActivity()).getViewIdentifiers().get(0); - } catch (NullPointerException e) { - Timber.e(e); - } - presenter = new HivCommunityFollowupFragmentPresenter(this, new HivCommunityFollowupFragmentModel(), viewConfigurationIdentifier); - } - - @Override - public void setupViews(android.view.View view) { - super.setupViews(view); - view.findViewById(org.smartregister.chw.core.R.id.due_only_layout).setVisibility(GONE); - } - - @Override - protected void openProfile(CommonPersonObjectClient client) { - if (getActivity() != null) { - Intent intent = new Intent(getActivity(), HivCommunityFollowupDetailsActivity.class); - Bundle bundle = new Bundle(); - bundle.putSerializable(Constants.ActivityPayload.HIV_MEMBER_OBJECT, HivDao.getCommunityFollowupMember(client.getColumnmaps().get(DBConstants.Key.BASE_ENTITY_ID))); - intent.putExtras(bundle); - - getActivity().startActivity(intent); - } - } - - -} - - diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsMedicalHistoryInteractor.java b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsMedicalHistoryInteractor.java new file mode 100644 index 0000000000..a9105e6559 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/CbhsMedicalHistoryInteractor.java @@ -0,0 +1,61 @@ +package org.smartregister.chw.interactor; + +import static org.smartregister.chw.anc.util.VisitUtils.getVisitDetailsOnly; +import static org.smartregister.chw.anc.util.VisitUtils.getVisitGroups; +import static org.smartregister.chw.anc.util.VisitUtils.getVisitsOnly; + +import android.content.Context; + +import org.smartregister.chw.anc.contract.BaseAncMedicalHistoryContract; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.anc.util.VisitUtils; +import org.smartregister.chw.core.CoreBaseAncMedicalHistoryInteractor; +import org.smartregister.chw.util.Constants; + +import java.util.ArrayList; +import java.util.List; + +public class CbhsMedicalHistoryInteractor extends CoreBaseAncMedicalHistoryInteractor { + public static List getVisits(String memberID, String... eventTypes) { + + List visits = new ArrayList<>(); + if (eventTypes != null && eventTypes.length > 0) { + for (String eventType : eventTypes) { + List visit = getVisitsOnly(memberID, eventType); + visits.addAll(visit); + } + } else { + getVisitsOnly(memberID, Constants.Events.CBHS_FOLLOWUP); + } + + int x = 0; + while (visits.size() > x) { + Visit visit = visits.get(x); + List detailList = getVisitDetailsOnly(visit.getVisitId()); + visits.get(x).setVisitDetails(getVisitGroups(detailList)); + x++; + } + + return visits; + } + + @Override + public void getMemberHistory(final String memberID, final Context context, final BaseAncMedicalHistoryContract.InteractorCallBack callBack) { + final Runnable runnable = () -> { + + String[] eventTypes = new String[2]; + eventTypes[0] = Constants.Events.CBHS_FOLLOWUP; + List visits = getVisits(memberID, eventTypes); + final List all_visits = new ArrayList<>(visits); + + for (Visit visit : visits) { + List child_visits = VisitUtils.getChildVisits(visit.getVisitId()); + all_visits.addAll(child_visits); + } + appExecutors.mainThread().execute(() -> callBack.onDataFetched(all_visits)); + }; + + appExecutors.diskIO().execute(runnable); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java index 589ed79c67..69fd287d7c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/model/HivRegisterFragmentModel.java @@ -6,7 +6,6 @@ import org.jetbrains.annotations.NotNull; import org.smartregister.chw.core.utils.ChildDBConstants; import org.smartregister.chw.hiv.model.BaseHivRegisterFragmentModel; -import org.smartregister.chw.hiv.util.Constants.Tables; import org.smartregister.chw.hiv.util.DBConstants.Key; import org.smartregister.chw.util.Constants; import org.smartregister.cursoradapter.SmartRegisterQueryBuilder; @@ -50,10 +49,10 @@ public String[] mainColumns(String tableName) { columnList.add("T1." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T1." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.PRIMARY_CAREGIVER); columnList.add("T2." + DBConstants.KEY.FIRST_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.MIDDLE_NAME + " || " + "' '" + " || " + "T2." + DBConstants.KEY.LAST_NAME + " AS " + DBConstants.KEY.FAMILY_HEAD); columnList.add(Constants.TABLE_NAME.FAMILY + "." + DBConstants.KEY.FIRST_NAME + " as " + org.smartregister.chw.anc.util.DBConstants.KEY.FAMILY_NAME); - columnList.add(Tables.HIV + "." + Key.CTC_NUMBER); - columnList.add(Tables.HIV + "." + Key.CBHS_NUMBER); - columnList.add(Tables.HIV + "." + Key.CLIENT_HIV_STATUS_DURING_REGISTRATION); - columnList.add(Tables.HIV + "." + Key.CLIENT_HIV_STATUS_AFTER_TESTING); + columnList.add(tableName + "." + Key.CTC_NUMBER); + columnList.add(tableName + "." + Key.CBHS_NUMBER); + columnList.add(tableName+ "." + Key.CLIENT_HIV_STATUS_DURING_REGISTRATION); + columnList.add(tableName+ "." + Key.CLIENT_HIV_STATUS_AFTER_TESTING); return columnList.toArray(new String[columnList.size()]); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java index 38caa1e176..b1e31abb28 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/HivRegisterFragmentPresenter.java @@ -1,33 +1,32 @@ package org.smartregister.chw.presenter; +import static org.smartregister.chw.util.Constants.TableName.CBHS_REGISTER; +import androidx.annotation.NonNull; import org.jetbrains.annotations.NotNull; import org.smartregister.chw.R; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.hiv.contract.BaseHivRegisterFragmentContract; import org.smartregister.chw.hiv.presenter.BaseHivRegisterFragmentPresenter; -import org.smartregister.chw.hiv.util.Constants.Tables; import org.smartregister.chw.hiv.util.DBConstants; import org.smartregister.chw.util.Constants; public class HivRegisterFragmentPresenter extends BaseHivRegisterFragmentPresenter { - public HivRegisterFragmentPresenter(BaseHivRegisterFragmentContract.View view, BaseHivRegisterFragmentContract.Model model, String viewConfigurationIdentifier) { super(view, model, viewConfigurationIdentifier); } + @Override @NotNull public String getMainCondition() { return " " + Constants.TABLE_NAME.FAMILY_MEMBER + "." + DBConstants.Key.DATE_REMOVED + " is null " + - "AND (" + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " = 'positive' OR " + Tables.HIV + "." + DBConstants.Key.CLIENT_HIV_STATUS_AFTER_TESTING + " IS NULL ) "+ - "AND " + Tables.HIV + "." + DBConstants.Key.IS_CLOSED + " = '0' "; - + "AND " + CBHS_REGISTER + "." + DBConstants.Key.IS_CLOSED + " = '0' "; } @Override @NotNull public String getDueFilterCondition() { - return CoreConstants.TABLE_NAME.HIV_MEMBER + ".base_entity_id in (select base_entity_id from schedule_service where strftime('%Y-%m-%d') BETWEEN due_date and expiry_date and schedule_name = '" + CoreConstants.SCHEDULE_TYPES.HIV_VISIT + "' and ifnull(not_done_date,'') = '' and ifnull(completion_date,'') = '' ) "; + return CBHS_REGISTER + ".base_entity_id in (select base_entity_id from schedule_service where strftime('%Y-%m-%d') BETWEEN due_date and expiry_date and schedule_name = '" + CoreConstants.SCHEDULE_TYPES.HIV_VISIT + "' and ifnull(not_done_date,'') = '' and ifnull(completion_date,'') = '' ) "; } @Override @@ -38,8 +37,14 @@ public void processViewConfigurations() { } } + @NonNull + @Override + public String getDefaultSortQuery() { + return getMainTable() + "." + DBConstants.Key.HIV_REGISTRATION_DATE + " DESC "; + } + @Override public String getMainTable() { - return Tables.HIV; + return CBHS_REGISTER; } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMemberRegisterProvider.java b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMemberRegisterProvider.java index f5f7ff40e5..9ddbed7ea0 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMemberRegisterProvider.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/provider/ChwMemberRegisterProvider.java @@ -1,5 +1,7 @@ package org.smartregister.chw.provider; +import static org.smartregister.chw.core.utils.Utils.getDuration; + import android.content.Context; import android.database.Cursor; import android.graphics.Color; @@ -43,8 +45,6 @@ import timber.log.Timber; -import static org.smartregister.chw.core.utils.Utils.getDuration; - public class ChwMemberRegisterProvider extends FamilyMemberRegisterProvider { private Context context; private View.OnClickListener onClickListener; @@ -194,7 +194,8 @@ private void setMemberProfileAvatar(int imageResourceIdentifier, CommonPersonObj if (StringUtils.isNotBlank(dod)) { registerViewHolder.profile.setImageResource(imageResourceIdentifier); } else { - imageRenderHelper.refreshProfileImage(commonPersonObject.getCaseId(), registerViewHolder.profile, imageResourceIdentifier); +// imageRenderHelper.refreshProfileImage(commonPersonObject.getCaseId(), registerViewHolder.profile, imageResourceIdentifier); + registerViewHolder.profile.setImageResource(imageResourceIdentifier); } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java b/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java index b80eb47eca..17ff6b8fe2 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java @@ -70,6 +70,7 @@ public void processEvents(ClientClassification clientClassification, Table vacci ChildAlertService.updateAlerts(baseEntityID); } break; + case Constants.Events.CBHS_FOLLOWUP: case Constants.Events.MOTHER_CHAMPION_FOLLOWUP: case Constants.Events.ANC_FIRST_FACILITY_VISIT: case Constants.Events.ANC_RECURRING_FACILITY_VISIT: diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java new file mode 100644 index 0000000000..21d4e31fde --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/CbhsUtils.java @@ -0,0 +1,94 @@ +package org.smartregister.chw.util; + +import static org.smartregister.chw.util.Constants.Events.CBHS_CLOSE_VISITS; +import static org.smartregister.chw.util.Constants.TableName.CBHS_REGISTER; +import static org.smartregister.util.JsonFormUtils.FIELDS; + +import android.content.Context; + +import com.vijay.jsonwizard.utils.FormUtils; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.smartregister.AllConstants; +import org.smartregister.chw.BuildConfig; +import org.smartregister.chw.anc.AncLibrary; +import org.smartregister.chw.anc.util.NCUtils; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.dao.ChwCBHSDao; +import org.smartregister.chw.hiv.domain.HivMemberObject; +import org.smartregister.clientandeventmodel.Event; +import org.smartregister.clientandeventmodel.Obs; +import org.smartregister.repository.AllSharedPreferences; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.Locale; +import java.util.UUID; + +import timber.log.Timber; + +public class CbhsUtils { + public static void createCloseCbhsEvent(HivMemberObject hivMemberObject) { + AllSharedPreferences allSharedPreferences = AncLibrary.getInstance().context().allSharedPreferences(); + Event closeCbhsEvent = (Event) new Event() + .withBaseEntityId(hivMemberObject.getBaseEntityId()) + .withEventDate(new Date()) + .withEventType(CBHS_CLOSE_VISITS) + .withFormSubmissionId(UUID.randomUUID().toString()) + .withEntityType(CBHS_REGISTER) + .withProviderId(allSharedPreferences.fetchRegisteredANM()) + .withTeamId(allSharedPreferences.fetchDefaultTeamId(allSharedPreferences.fetchRegisteredANM())) + .withTeam(allSharedPreferences.fetchDefaultTeam(allSharedPreferences.fetchRegisteredANM())) + .withClientDatabaseVersion(BuildConfig.DATABASE_VERSION) + .withClientApplicationVersion(BuildConfig.VERSION_CODE) + .withDateCreated(new Date()); + + closeCbhsEvent.setFormSubmissionId(UUID.randomUUID().toString()); + closeCbhsEvent.setEventDate(new Date()); + + closeCbhsEvent.addObs( + (new Obs()) + .withFormSubmissionField("cbhs_close_visit_date") + .withValue(new Date().toString()) + .withFieldCode("cbhs_close_visit_date") + .withFieldType("formsubmissionField") + .withFieldDataType("text") + .withParentCode("") + .withHumanReadableValues(new ArrayList<>())); + + try { + NCUtils.addEvent(allSharedPreferences, closeCbhsEvent); + NCUtils.startClientProcessing(); + } catch (Exception e) { + Timber.e(e); + } + } + + public static void removeDeceasedClients(HivMemberObject hivMemberObject, Context context) throws Exception { + JSONObject removeFamilyMemberForm = null; + if (ChwCBHSDao.isDeceased(hivMemberObject.getBaseEntityId())) { + try { + removeFamilyMemberForm = (new FormUtils()).getFormJsonFromRepositoryOrAssets(context, CoreConstants.JSON_FORM.FAMILY_DETAILS_REMOVE_MEMBER); + org.smartregister.chw.anc.util.JsonFormUtils.getRegistrationForm(removeFamilyMemberForm, hivMemberObject.getBaseEntityId(), org.smartregister.Context.getInstance().allSharedPreferences().getPreference(AllConstants.CURRENT_LOCATION_ID)); + } catch (Exception e) { + Timber.e(e); + } + + if (removeFamilyMemberForm != null) { + JSONObject stepOne = removeFamilyMemberForm.getJSONObject(org.smartregister.chw.anc.util.JsonFormUtils.STEP1); + JSONArray jsonArray = stepOne.getJSONArray(FIELDS); + + org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "remove_reason", "Death"); + + org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "dob", hivMemberObject.getAge()); + org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "date_died", new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date())); + org.smartregister.chw.anc.util.JsonFormUtils.updateFormField(jsonArray, "age_at_death", Utils.getAgeFromDate(hivMemberObject.getAge()) + "y"); + + Utils.removeUser(null, removeFamilyMemberForm, Utils.context().allSharedPreferences().fetchRegisteredANM()); + } + } + } + +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java index 06f84b982f..bc528ecdf4 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java @@ -44,9 +44,9 @@ public interface ChwQueryConstant { " FROM ec_tb_register\n" + " WHERE ec_tb_register.tb_case_closure_date is null\n" + " UNION ALL\n" + - " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + - " FROM ec_hiv_register\n" + - " WHERE ( UPPER (ec_hiv_register.client_hiv_status_after_testing) LIKE UPPER('Positive') OR ec_hiv_register.client_hiv_status_after_testing IS NULL) \n" + + " SELECT ec_cbhs_register.base_entity_id AS base_entity_id\n" + + " FROM ec_cbhs_register\n" + + " WHERE is_closed is 0 \n" + ")" + "UNION ALL" + "/* CBHS REGISTER */\n" + @@ -61,17 +61,16 @@ public interface ChwQueryConstant { " 'CBHS' AS register_type,\n" + " ec_family_member.relational_id as relationalid,\n" + " ec_family.village_town as home_address,\n" + - " ec_hiv_register.last_interacted_with AS last_interacted_with,\n" + + " ec_cbhs_register.last_interacted_with AS last_interacted_with,\n" + " NULL AS mother_first_name,\n" + " NULL AS mother_last_name,\n" + " NULL AS mother_middle_name\n" + - "FROM ec_hiv_register\n" + - " inner join ec_family_member on ec_family_member.base_entity_id = ec_hiv_register.base_entity_id\n" + + "FROM ec_cbhs_register\n" + + " inner join ec_family_member on ec_family_member.base_entity_id = ec_cbhs_register.base_entity_id\n" + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + "where ec_family_member.date_removed is null\n" + - " AND ec_hiv_register.is_closed is 0\n" + - " AND ( UPPER (ec_hiv_register.client_hiv_status_after_testing) LIKE UPPER('Positive') OR ec_hiv_register.client_hiv_status_after_testing IS NULL) " + - " AND ec_hiv_register.base_entity_id IN (%s)\n" + + " AND ec_cbhs_register.is_closed is 0\n" + + " AND ec_cbhs_register.base_entity_id IN (%s)\n" + " AND ec_family_member.base_entity_id NOT IN (\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register\n" + @@ -130,8 +129,8 @@ public interface ChwQueryConstant { " FROM ec_tb_register\n" + " WHERE ec_tb_register.tb_case_closure_date is null\n" + " UNION ALL\n" + - " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + - " FROM ec_hiv_register\n" + + " SELECT ec_cbhs_register.base_entity_id AS base_entity_id\n" + + " FROM ec_cbhs_register\n" + ")\n" + "UNION ALL\n" + "/* ANC REGISTER */\n" + @@ -292,8 +291,8 @@ public interface ChwQueryConstant { " FROM ec_tb_register\n" + " WHERE ec_tb_register.tb_case_closure_date is null\n" + " UNION ALL\n" + - " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + - " FROM ec_hiv_register\n" + + " SELECT ec_cbhs_register.base_entity_id AS base_entity_id\n" + + " FROM ec_cbhs_register\n" + ")\n" + "UNION ALL\n" + "\n" + @@ -336,8 +335,8 @@ public interface ChwQueryConstant { " FROM ec_tb_register\n" + " WHERE ec_tb_register.tb_case_closure_date is null\n" + " UNION ALL\n" + - " SELECT ec_hiv_register.base_entity_id AS base_entity_id\n" + - " FROM ec_hiv_register)\n" + + " SELECT ec_cbhs_register.base_entity_id AS base_entity_id\n" + + " FROM ec_cbhs_register)\n" + ")\n" + "ORDER BY last_interacted_with DESC;"; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index 88fbfd881d..a0ea324295 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -119,6 +119,8 @@ public static final class Events { public static final String ANC_FIRST_FACILITY_VISIT = "ANC First Facility Visit"; public static final String ANC_RECURRING_FACILITY_VISIT = "ANC Recurring Facility Visit"; public static final String MOTHER_CHAMPION_FOLLOWUP = "Mother Champion Followup"; + public static final String CBHS_FOLLOWUP = "CBHS Followup"; + public static final String CBHS_CLOSE_VISITS = "CBHS Close Visits"; } public static final class ActionList { @@ -128,6 +130,7 @@ public static final class ActionList { public static class TableName { public static final String MOTHER_CHAMPION_FOLLOWUP = "ec_mother_champion_followup"; public static final String SBCC = "ec_sbcc"; + public static final String CBHS_REGISTER = "ec_cbhs_register"; } public static class DBConstants{ diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java index c2be098f20..71ff2fcc94 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Utils.java @@ -1,13 +1,16 @@ package org.smartregister.chw.util; import android.app.Activity; +import android.content.ContentValues; import android.content.Intent; import android.os.Bundle; +import android.util.Pair; import com.google.android.material.bottomnavigation.BottomNavigationView; import com.google.android.material.bottomnavigation.LabelVisibilityMode; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Triple; import org.jetbrains.annotations.NotNull; import org.json.JSONArray; import org.json.JSONObject; @@ -16,20 +19,29 @@ import org.smartregister.chw.activity.ClientReferralActivity; import org.smartregister.chw.application.ChwApplication; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.CoreJsonFormUtils; import org.smartregister.chw.model.ReferralTypeModel; +import org.smartregister.clientandeventmodel.Event; +import org.smartregister.commonregistry.AllCommonsRepository; import org.smartregister.commonregistry.CommonPersonObject; import org.smartregister.commonregistry.CommonPersonObjectClient; import org.smartregister.commonregistry.CommonRepository; +import org.smartregister.domain.Client; +import org.smartregister.domain.db.EventClient; +import org.smartregister.family.FamilyLibrary; import org.smartregister.family.util.DBConstants; import org.smartregister.growthmonitoring.domain.ZScore; import org.smartregister.growthmonitoring.repository.WeightForHeightRepository; import org.smartregister.helper.BottomNavigationHelper; +import org.smartregister.repository.BaseRepository; +import org.smartregister.sync.helper.ECSyncHelper; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Locale; public class Utils extends org.smartregister.chw.core.utils.Utils { @@ -54,7 +66,7 @@ public static List getCommonReferralTypes(Activity activity, Constants.JSON_FORM.getGbvReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_GBV)); referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.hts_referral), CoreConstants.JSON_FORM.getHtsReferralForm(), CoreConstants.TASKS_FOCUS.SUSPECTED_HIV)); - if(gender.equalsIgnoreCase("Female") && isMemberOfReproductiveAge(client, 10, 49)){ + if (gender.equalsIgnoreCase("Female") && isMemberOfReproductiveAge(client, 10, 49)) { referralTypeModels.add(new ReferralTypeModel(activity.getString(R.string.pregnancy_confirmation_referral), CoreConstants.JSON_FORM.getPregnancyConfirmationReferralForm(), CoreConstants.TASKS_FOCUS.PREGNANCY_CONFIRMATION)); } @@ -130,7 +142,7 @@ public static String getClientName(String firstName, String middleName, String l } - public static String getClientGender(String baseEntityId){ + public static String getClientGender(String baseEntityId) { CommonRepository commonRepository = org.smartregister.family.util.Utils.context().commonrepository(org.smartregister.family.util.Utils.metadata().familyMemberRegister.tableName); final CommonPersonObject commonPersonObject = commonRepository.findByBaseEntityId(baseEntityId); @@ -140,8 +152,8 @@ public static String getClientGender(String baseEntityId){ } /* - * For CBHS Registration - */ + * For CBHS Registration + */ public static void updateAgeAndGender(JSONArray fields, int age, String gender) throws Exception { boolean foundAge = false; boolean foundGender = false; @@ -162,4 +174,82 @@ public static void updateAgeAndGender(JSONArray fields, int age, String gender) } + /** + * Removes a user, used for removing clients marked as Deceased + * + * @param familyID + * @param closeFormJsonString + * @param providerId + * @return + * @throws Exception + */ + public static String removeUser(String familyID, JSONObject closeFormJsonString, String providerId) throws Exception { + String res = null; + Triple, String, List> triple = CoreJsonFormUtils.processRemoveMemberEvent(familyID, org.smartregister.family.util.Utils.getAllSharedPreferences(), closeFormJsonString, providerId); + if (triple != null && triple.getLeft() != null) { + processEvents(triple.getRight()); + + if (triple.getLeft().second.equalsIgnoreCase(CoreConstants.EventType.REMOVE_CHILD)) { + updateRepo(triple, org.smartregister.family.util.Utils.metadata().familyMemberRegister.tableName); + updateRepo(triple, CoreConstants.TABLE_NAME.CHILD); + } else if (triple.getLeft().second.equalsIgnoreCase(CoreConstants.EventType.REMOVE_FAMILY)) { + updateRepo(triple, org.smartregister.family.util.Utils.metadata().familyRegister.tableName); + } else { + updateRepo(triple, org.smartregister.family.util.Utils.metadata().familyMemberRegister.tableName); + } + res = triple.getLeft().second; + } + + long lastSyncTimeStamp = getAllSharedPreferences().fetchLastUpdatedAtDate(0); + Date lastSyncDate = new Date(lastSyncTimeStamp); + FamilyLibrary.getInstance().getClientProcessorForJava().processClient(FamilyLibrary.getInstance().getEcSyncHelper().getEvents(lastSyncDate, BaseRepository.TYPE_Unprocessed)); + getAllSharedPreferences().saveLastUpdatedAtDate(lastSyncDate.getTime()); + return res; + } + + private static void processEvents(List events) throws Exception { + ECSyncHelper syncHelper = ChwApplication.getInstance().getEcSyncHelper(); + List clients = new ArrayList<>(); + for (Event e : events) { + JSONObject json = new JSONObject(CoreJsonFormUtils.gson.toJson(e)); + syncHelper.addEvent(e.getBaseEntityId(), json); + + org.smartregister.domain.Event event = CoreJsonFormUtils.gson.fromJson(json.toString(), org.smartregister.domain.Event.class); + clients.add(new EventClient(event, new Client(e.getBaseEntityId()))); + } + FamilyLibrary.getInstance().getClientProcessorForJava().processClient(clients); + } + + private static void updateRepo(Triple, String, List> triple, String tableName) { + AllCommonsRepository commonsRepository = ChwApplication.getInstance().getAllCommonsRepository(tableName); + + Date date_removed = new Date(); + Date dod = null; + if (triple.getLeft() != null && triple.getLeft().first != null) { + dod = triple.getLeft().first; + } + + if (commonsRepository != null && dod == null) { + ContentValues values = new ContentValues(); + values.put(DBConstants.KEY.DATE_REMOVED, getDBFormatedDate(date_removed)); + commonsRepository.update(tableName, values, triple.getMiddle()); + commonsRepository.updateSearch(triple.getMiddle()); + commonsRepository.close(triple.getMiddle()); + } + + // enter the date of death + if (dod != null && commonsRepository != null) { + ContentValues values = new ContentValues(); + values.put(DBConstants.KEY.DOD, getDBFormatedDate(dod)); + commonsRepository.update(tableName, values, triple.getMiddle()); + commonsRepository.updateSearch(triple.getMiddle()); + } + + } + + private static String getDBFormatedDate(Date date) { + return new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(date); + } + + } diff --git a/opensrp-chw/src/main/res/drawable-hdpi/childrow_upcoming.png b/opensrp-chw/src/main/res/drawable-hdpi/childrow_upcoming.png deleted file mode 100644 index cb8dfcbef12bfb47e056851ad7ed70dd9fd319f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmV;V0bBlwP)ps63jho0HbivDu{&f%D*!vW)*18G(Yz|x=xAK8O8DZopVbTZJ89Pd_DWkz z0FToC2C$X(Rueu+q0GDj@Tn9tlxHIP>YJ-^{aay?DjS+ze;>6!!cMp2n4u2R*3SNPVrP-|SMHG|TVe4U>Dy-*@*GX9lJ@EEmbQiXFJ{g0O_ zoa@v8jq5i6PBwZvIf;#4v?nFOO{?gT%Zk0!xXEzxGkj}Ys5LIs6aZ%e3skasyJRx} O0000KmCX%;KoEr=#=CYPCD?(n6Hf0;2U3FPIoXNW0d{~L zURzt|Le*z)Vmuy0qVLlk`$pENRk<2ZArM}EbR<@W< zD1a2e!Nc$EvvoNRwv31r`U`g+z`h;;3X&I-(fChAWDnpJ350&`JY*b7Z#PB92;qwAdvcJbPoIYV$w!rtn$dCf$b&wk4i^F#sA>10M0C)Mr-j#~75vAO zLC4ICtPIp3l^pN*#?6<{_8Na9P1oJh4V+;wc~~Tw4k$b;G_r=@G#+PDy3-sQ4g9f_ sx6;!fe%{pzE@=gqw1P`o!M-Gb6R|&7&GQu>mH+?%07*qoM6N<$f|rWDsQ>@~ diff --git a/opensrp-chw/src/main/res/drawable-xxhdpi/childrow_upcoming.png b/opensrp-chw/src/main/res/drawable-xxhdpi/childrow_upcoming.png deleted file mode 100644 index 72ba3b982f23039b8610ee974f344a52c60bdad4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 619 zcmeAS@N?(olHy`uVBq!ia0vp^p&-n`1|%)Mu80CsoCO|{#S9FJ<{->y95KI&fq_ZZ z)5S5QV$Rz;_k9lqNVI+Af4o=u1lz90oCV4SU+|y-vc>Y=!g-wmt^oD_3MD zAKTKIxqtZ_wfFiTosMj?vAl4pzI)d?-=x@;={Byc8d?s4j9pv-Aq|U|L_`;?V1Ntl zn3trcx%6CY;=6qf&$b(H&OJW=+q-?r&u%W82vaUlXQ8@ui^=AxGj*f+%h#GnRlg`T z{apW|;?LbPtFFDDx;tFcQgH^;r*G9l(U*n=)U~inQ^+_=IbQCiHf&N=GQkMJd7Gu fAosZ$Z_ZyiFJq39ZQcZ6>S6G7^>bP0l+XkKVZsJy diff --git a/opensrp-chw/src/main/res/layout/medical_history_cbhs_visit.xml b/opensrp-chw/src/main/res/layout/medical_history_cbhs_visit.xml new file mode 100644 index 0000000000..858d884ded --- /dev/null +++ b/opensrp-chw/src/main/res/layout/medical_history_cbhs_visit.xml @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index 5b556ce041..db951a7b6b 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -368,12 +368,18 @@ "ec_hiv_register" ] }, + { + "field": "eventType", + "field_value": "CBHS Close Visits", + "closes_case": [ + "ec_cbhs_register" + ] + }, { "field": "eventType", "field_value": "CBHS Registration", "creates_case": [ - "ec_cbhs_register", - "ec_cbhs_followup" + "ec_cbhs_register" ] }, { diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 37ed0a6ba9..2d178d7290 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -2787,7 +2787,7 @@ "column_name": "ctc_number", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", + "field": "obs.formSubmissionField", "concept": "ctc_number" } }, @@ -2819,7 +2819,7 @@ "column_name": "cbhs_number", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", + "field": "obs.formSubmissionField", "concept": "cbhs_number" } }, @@ -2844,7 +2844,7 @@ "column_name": "client_hiv_status_during_registration", "type": "Event", "json_mapping": { - "field": "obs.fieldCode", + "field": "obs.formSubmissionField", "concept": "client_hiv_status_during_registration" } }, @@ -2853,7 +2853,7 @@ "type": "Event", "json_mapping": { "field": "obs.formSubmissionField", - "concept": "test_results" + "concept": "client_hiv_status_after_testing" } }, { @@ -2981,27 +2981,27 @@ } }, { - "column_name": "client_behaviour_and_environmental_risk", + "column_name": "supplies_provided", "type": "Event", "json_mapping": { "field": "obs.formSubmissionField", - "concept": "client_behaviour_and_environmental_risk" + "concept": "supplies_provided" } }, { - "column_name": "supplies_provided", + "column_name": "supplies_provided_other", "type": "Event", "json_mapping": { "field": "obs.formSubmissionField", - "concept": "supplies_provided" + "concept": "supplies_provided_other" } }, { - "column_name": "supplies_provided_other", + "column_name": "medicine_provided", "type": "Event", "json_mapping": { "field": "obs.formSubmissionField", - "concept": "supplies_provided_other" + "concept": "medicine_provided" } }, { @@ -3062,43 +3062,35 @@ } }, { - "column_name": "state_of_therapy", - "type": "Event", - "json_mapping": { - "field": "obs.formSubmissionField", - "concept": "state_of_therapy" - } - }, - { - "column_name": "client_moved_location", + "column_name": "state_of_hiv_care_and_treatment", "type": "Event", "json_mapping": { "field": "obs.formSubmissionField", - "concept": "client_moved_location" + "concept": "state_of_hiv_care_and_treatment" } }, { - "column_name": "client_moved_location_other", + "column_name": "state_of_registration_in_tb_and_pwid_clinics", "type": "Event", "json_mapping": { "field": "obs.formSubmissionField", - "concept": "client_moved_location_other" + "concept": "state_of_registration_in_tb_and_pwid_clinics" } }, { - "column_name": "client_tb_status_during_registration", + "column_name": "client_moved_location", "type": "Event", "json_mapping": { "field": "obs.formSubmissionField", - "concept": "client_tb_status_during_registration" + "concept": "client_moved_location" } }, { - "column_name": "client_hiv_status_during_registration", + "column_name": "client_moved_location_other", "type": "Event", "json_mapping": { "field": "obs.formSubmissionField", - "concept": "client_hiv_status_during_registration" + "concept": "client_moved_location_other" } }, { @@ -3106,7 +3098,7 @@ "type": "Event", "json_mapping": { "field": "obs.formSubmissionField", - "concept": "test_results" + "concept": "client_hiv_status_after_testing" } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json index d59c18e65b..1864b83125 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_partner_community_followup_feedback.json @@ -86,11 +86,31 @@ }, { "key": "reason_partner_is_not_found", - "type": "edit_text", - "hint": "Sababu ya mwenza kutopatikana", + "type": "native_radio", + "label": "Sababu ya mwenza kutopatikana", "openmrs_entity_id": "reason_partner_is_not_found", "openmrs_entity": "concept", "openmrs_entity_parent": "", + "options": [ + { + "key": "address_incorrect", + "text": "Anwani sio sahihi", + "openmrs_entity": "concept", + "openmrs_entity_id": "address_incorrect" + }, + { + "key": "client_relocated", + "text": "Amehama makazi", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated" + }, + { + "key": "seasonal_work", + "text": "Kilimo/kazi za msimu", + "openmrs_entity": "concept", + "openmrs_entity_id": "seasonal_work" + } + ], "v_required": { "value": true, "err": "Tafadhali bainisha sababu ya mwenza kutopatikana" diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json index b400f4bfbc..2fae223a8f 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json @@ -168,15 +168,6 @@ "text": "Hali ya maambukizi ya VVU baada ya kipimo" }, "options": [ - { - "name": "na", - "text": "Haitambuliki", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, { "name": "unknown", "text": "Haijulikani", @@ -188,7 +179,7 @@ }, { "name": "positive", - "text": "Chanya", + "text": "Ana Maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "positive", @@ -197,7 +188,7 @@ }, { "name": "negative", - "text": "Hasi", + "text": "Hana Maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "negative", @@ -205,7 +196,7 @@ } } ], - "required_status": "yes:Tafadhali chagua moja", + "required_status": "yes:Tafadhali jaza hali ya maambukizi ya VVU baada ya kipimo", "subjects": "registration_or_followup_status:text" }, { @@ -240,7 +231,7 @@ }, { "name": "positive", - "text": "Chanya", + "text": "Ana Maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "positive", @@ -249,7 +240,7 @@ }, { "name": "negative", - "text": "Hasi", + "text": "Hana Maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "negative", @@ -289,7 +280,7 @@ "name": "health_problem", "type": "multi_choice_checkbox", "properties": { - "text": "Matatizo ya kijamii/kitabibu ya Mteja" + "text": "Matatizo ya kitabibu ya Mteja" }, "meta_data": { "openmrs_entity_parent": "", @@ -768,29 +759,29 @@ } }, { - "name": "services_to_prevent_the_spread_of_stds", + "name": "prevention_of_the_spread_of_stds_service", "text": "Huduma za kuzuia kuenea magonjwa ya ngono katika jamii", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "services_to_prevent_the_spread_of_stds", + "openmrs_entity_id": "prevention_of_the_spread_of_stds_service", "openmrs_entity_parent": "" } }, { - "name": "special_group_services", + "name": "for_special_group_services", "text": "Huduma kwa makundi maalumu", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "special_group_services", + "openmrs_entity_id": "for_special_group_services", "openmrs_entity_parent": "" } }, { - "name": "services_to_prevent_gender_violence_and_child_abuse", + "name": "prevention_of_gender_based_violence_and_child_abuse_services", "text": "Huduma za kuzuia ukatili wa kijinsia na ukatili dhidi ya watoto katika jamii", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "services_to_prevent_gender_violence_and_child_abuse", + "openmrs_entity_id": "prevention_of_gender_based_violence_and_child_abuse_services", "openmrs_entity_parent": "" } }, @@ -822,11 +813,11 @@ } }, { - "name": "self_test_kits_distribution_services", + "name": "distribution_of_self_test_kits", "text": "Huduma ya ugawaji wa vitendanishi vya JIPIME", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "self_test_kits_distribution_services", + "openmrs_entity_id": "distribution_of_self_test_kits", "openmrs_entity_parent": "" } }, @@ -1041,15 +1032,15 @@ "subjects": "referrals_to_other_services_completed:map" }, { - "name": "state_of_therapy", - "type": "multi_choice_checkbox", + "name": "state_of_hiv_care_and_treatment", + "type": "radio_group", "properties": { "text": "Hali ya Tiba na Matunzo (CTC)" }, "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy" + "openmrs_entity_id": "state_of_hiv_care_and_treatment" }, "options": [ { @@ -1087,6 +1078,32 @@ "openmrs_entity_id": "not_registered_in_ctc_clinic", "openmrs_entity_parent": "" } + } + ], + "required_status": "yes:Tafadhali jaza hali ya tiba na matunzo (CTC)", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "state_of_registration_in_tb_and_pwid_clinics", + "type": "multi_choice_checkbox", + "properties": { + "text": "Hali ya usajili kwenye Kliniki ya Kifua Kikuu na Wajidunga" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_registration_in_tb_and_pwid_clinics" + }, + "options": [ + { + "name": "na", + "text": "Haihusiki", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } }, { "name": "registered_in_injection_drugs_users_clinic", @@ -1107,7 +1124,7 @@ } } ], - "required_status": "yes:Tafadhali jaza hali ya tiba na matunzo (CTC)", + "required_status": "yes:Tafadhali jaza hali ya usajili kwenye Kliniki ya Kifua Kikuu na Wajidunga", "subjects": "registration_or_followup_status:text" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json index 19f4cee239..cd2d029e35 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json @@ -117,7 +117,7 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Hali ya maambukizo ya VVU wakati wa kuandikishwa" + "text": "Hali ya maambukizi ya VVU wakati wa kuandikishwa" }, "options": [ { @@ -150,7 +150,8 @@ ], "dependent_calculations": [ "hiv_registration_date" - ] + ], + "required_status": "yes:Tafadhali jaza hali ya maambukizi ya VVU" }, { "name": "ctc_number", @@ -185,7 +186,7 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Hali ya maambukizo ya TB Wakati wa kusajiliwa" + "text": "Hali ya maambukizi ya TB Wakati wa kusajiliwa" }, "options": [ { @@ -215,7 +216,8 @@ "openmrs_entity_parent": "" } } - ] + ], + "required_status": "yes:Tafadhali jaza hali ya maambukizi ya TB" }, { "name": "reasons_for_registration_male_15", @@ -367,7 +369,7 @@ "name": "reasons_for_registration_male_under_15", "type": "radio_group", "properties": { - "text": "Reason for registration" + "text": "Sababu ya Usajili" }, "meta_data": { "openmrs_entity": "concept", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_member.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_member.json index 8ec57ab184..82c07ba8a5 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_member.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_remove_member.json @@ -109,9 +109,9 @@ "Other" ], "openmrs_choice_ids": { - "Died": "160034AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Moved away": "160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Other": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "Died": "Died", + "Moved away": "Moved away", + "Other": "Other" } }, { @@ -158,7 +158,7 @@ "key": "date_died", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "1543AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "date_died", "openmrs_data_type": "text", "type": "date_picker", "label": "Date of death", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json deleted file mode 100644 index dfb5227560..0000000000 --- a/opensrp-chw/src/nacp/assets/json.form-sw/female_hiv_registration.json +++ /dev/null @@ -1,235 +0,0 @@ -{ - "form": "HIV Registration form", - "count": "1", - "encounter_type": "CBHS Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Usajili wa wateja wa VVU", - "fields": [ - { - "name": "cbhs_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya HUWANYU mfano: 1234-56-78-912", - "type": "Namba ya HUWANYU mfano: 1234-56-78-912", - "mask": "####-##-##-###", - "mask_hint": "12345678912", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cbhs_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", - "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." - } - ], - "required_status": "yes:Tafadhali weka namba ya HUWANYU" - }, - { - "name": "client_hiv_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya maambukizo ya VVU wakati wa kuandikishwa" - }, - "options": [ - { - "name": "unknown", - "text": "Haijulikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Ana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Hana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "dependent_calculations": [ - "hiv_registration_date" - ] - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya CTC mfano: 12-34-5678-912345", - "type": "Namba ya CTC mfano: 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." - } - ], - "subjects": "client_hiv_status_during_registration:text" - }, - { - "name": "client_tb_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_tb_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya maambukizo ya TB Wakati wa kusajiliwa" - }, - "options": [ - { - "name": "unknown", - "text": "Haijulikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Ana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Hana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ] - }, - { - "name": "tb_number", - "type": "text_input_edit_text", - "properties": { - "hint": "Namba ya utambulisho wa Kifua Kikuu", - "type": "TB Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "rch_number", - "type": "text_input_edit_text", - "properties": { - "hint": "Namba ya utambulisho wa Kadi ya Kliniki (RCH)", - "type": "RCH Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "rch_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "mat_number", - "type": "text_input_edit_text", - "properties": { - "hint": "Namba ya utambulisho ya MAT", - "type": "MAT Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mat_number", - "openmrs_entity_parent": "" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json index cdca573803..b3ef51f0f0 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/ltfu_community_followup_feedback.json @@ -87,6 +87,15 @@ "openmrs_entity_parent": "" } }, + { + "name": "client_found_and_has_returned_to_clinic", + "text": "Amepatikana na amerudi kliniki kuendelea na huduma", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_found_and_has_returned_to_clinic", + "openmrs_entity_parent": "" + } + }, { "name": "client_has_moved_to_another_facility", "text": "Amehamia kituo kingine bila taarifa", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json deleted file mode 100644 index 200ffc2769..0000000000 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_hiv_registration.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "form": "HIV Registration form", - "count": "1", - "encounter_type": "CBHS Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "Usajili wa wateja wa VVU", - "fields": [ - { - "name": "cbhs_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya HUWANYU mfano: 1234-56-78-912", - "type": "Namba ya HUWANYU mfano: 1234-56-78-912", - "mask": "####-##-##-###", - "mask_hint": "12345678912", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cbhs_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", - "message": "Namba ya HUWANYU iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." - } - ], - "required_status": "yes:Tafadhali weka namba ya HUWANYU" - }, - { - "name": "client_hiv_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya maambukizo ya VVU wakati wa kuandikishwa" - }, - "options": [ - { - "name": "unknown", - "text": "Haijulikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Ana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Hana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "dependent_calculations": [ - "hiv_registration_date" - ] - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "Namba ya CTC mfano: 12-34-5678-912345", - "type": "Namba ya CTC mfano: 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "Namba ya CTC iwe kwenye mfumo wa (XXXX-XX-XX-XXX)." - } - ], - "subjects": "client_hiv_status_during_registration:text" - }, - { - "name": "client_tb_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_tb_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Hali ya maambukizo ya TB Wakati wa kusajiliwa" - }, - "options": [ - { - "name": "unknown", - "text": "Haijulikani", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Ana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Hana maambukizi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ] - }, - { - "name": "tb_number", - "type": "text_input_edit_text", - "properties": { - "hint": "Namba ya utambulisho wa Kifua Kikuu", - "type": "TB Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "mat_number", - "type": "text_input_edit_text", - "properties": { - "hint": "Namba ya utambulisho ya MAT", - "type": "MAT Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mat_number", - "openmrs_entity_parent": "" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json index 8cdb9dda1d..b6f2e1f6b5 100644 --- a/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/anc_partner_community_followup_feedback.json @@ -86,11 +86,31 @@ }, { "key": "reason_partner_is_not_found", - "type": "edit_text", - "hint": "Reason why the partner was not found", + "type": "native_radio", + "label": "Reason why the partner was not found", "openmrs_entity_id": "reason_partner_is_not_found", "openmrs_entity": "concept", "openmrs_entity_parent": "", + "options": [ + { + "key": "address_incorrect", + "text": "Address was Incorrect", + "openmrs_entity": "concept", + "openmrs_entity_id": "address_incorrect" + }, + { + "key": "client_relocated", + "text": "Client Relocated", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_relocated" + }, + { + "key": "seasonal_work", + "text": "Seasonal agriculture/job", + "openmrs_entity": "concept", + "openmrs_entity_id": "seasonal_work" + } + ], "v_required": { "value": true, "err": "Please specify the reason why the partner was not found" diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json index 3008712ebe..1c4c0a191b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json @@ -168,18 +168,9 @@ "text": "Client's HIV status after testing" }, "options": [ - { - "name": "na", - "text": "Not Applicable", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "na", - "openmrs_entity_parent": "" - } - }, { "name": "unknown", - "text": "Unknown", + "text": "Haijulikani", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "unknown", @@ -188,7 +179,7 @@ }, { "name": "positive", - "text": "Positive", + "text": "Ana maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "positive", @@ -197,7 +188,7 @@ }, { "name": "negative", - "text": "Negative", + "text": "Hana maambukizi", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "negative", @@ -768,29 +759,29 @@ } }, { - "name": "services_to_prevent_the_spread_of_stds", + "name": "prevention_of_the_spread_of_stds_service", "text": "Services to prevent the spread of STDs", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "services_to_prevent_the_spread_of_stds", + "openmrs_entity_id": "prevention_of_the_spread_of_stds_service", "openmrs_entity_parent": "" } }, { - "name": "special_group_services", + "name": "for_special_group_services", "text": "Special group services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "special_group_services", + "openmrs_entity_id": "for_special_group_services", "openmrs_entity_parent": "" } }, { - "name": "services_to_prevent_gender_violence_and_child_abuse", + "name": "prevention_of_gender_based_violence_and_child_abuse_services", "text": "Services to prevent gender violence and child abuse", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "services_to_prevent_gender_violence_and_child_abuse", + "openmrs_entity_id": "prevention_of_gender_based_violence_and_child_abuse_services", "openmrs_entity_parent": "" } }, @@ -822,11 +813,11 @@ } }, { - "name": "self_test_kits_distribution_services", + "name": "distribution_of_self_test_kits", "text": "Self test kits distribution services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "self_test_kits_distribution_services", + "openmrs_entity_id": "distribution_of_self_test_kits", "openmrs_entity_parent": "" } }, @@ -1041,15 +1032,15 @@ "subjects": "referrals_to_other_services_completed:map" }, { - "name": "state_of_therapy", - "type": "multi_choice_checkbox", + "name": "state_of_hiv_care_and_treatment", + "type": "radio_group", "properties": { "text": "State of HIV Care and treatment" }, "meta_data": { "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "state_of_therapy" + "openmrs_entity_id": "state_of_hiv_care_and_treatment" }, "options": [ { @@ -1087,6 +1078,32 @@ "openmrs_entity_id": "not_registered_in_ctc_clinic", "openmrs_entity_parent": "" } + } + ], + "required_status": "yes:Please specify the state of HIV therapy", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "state_of_registration_in_tb_and_pwid_clinics", + "type": "multi_choice_checkbox", + "properties": { + "text": "State of Registration in TB and PWID Clinics" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "state_of_registration_in_tb_and_pwid_clinics" + }, + "options": [ + { + "name": "na", + "text": "Not Applicable", + "is_exclusive": true, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "na", + "openmrs_entity_parent": "" + } }, { "name": "registered_in_injection_drugs_users_clinic", @@ -1107,7 +1124,7 @@ } } ], - "required_status": "yes:Please specify the state of HIV therapy", + "required_status": "yes:Please specify the state of Registration in TB and PWID Clinics", "subjects": "registration_or_followup_status:text" }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json index 31f103a745..f4735d15a3 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json @@ -150,7 +150,8 @@ ], "dependent_calculations": [ "hiv_registration_date" - ] + ], + "required_status": "yes:Please specify client's HIV status during registration" }, { "name": "ctc_number", @@ -215,7 +216,8 @@ "openmrs_entity_parent": "" } } - ] + ], + "required_status": "yes:Please specify client's TB status during registration" }, { "name": "reasons_for_registration_male_15", diff --git a/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json deleted file mode 100644 index 107f7aa5eb..0000000000 --- a/opensrp-chw/src/nacp/assets/json.form/female_hiv_registration.json +++ /dev/null @@ -1,235 +0,0 @@ -{ - "form": "HIV Registration form", - "count": "1", - "encounter_type": "CBHS Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "CBHS Registration Form", - "fields": [ - { - "name": "cbhs_number", - "type": "masked_edit_text", - "properties": { - "hint": "CBHS Number e.g 1234-56-78-912", - "type": "CBHS Number e.g 1234-56-78-912", - "mask": "####-##-##-###", - "mask_hint": "12345678912", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cbhs_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", - "message": "CBHS Number should be of the format (XXXX-XX-XX-XXX)." - } - ], - "required_status": "yes:Please specify client's CBHS Number" - }, - { - "name": "client_hiv_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's HIV status during registration" - }, - "options": [ - { - "name": "unknown", - "text": "Unknown", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Negative", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "dependent_calculations": [ - "hiv_registration_date" - ] - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "CTC Number e.g 12-34-5678-912345", - "type": "CTC Number e.g 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "CTC Number should be of the format (XX-XX-XXXX-XXXXXX)." - } - ], - "subjects": "client_hiv_status_during_registration:text" - }, - { - "name": "client_tb_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_tb_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's TB status during registration" - }, - "options": [ - { - "name": "unknown", - "text": "Unknown", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Negative", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ] - }, - { - "name": "tb_number", - "type": "text_input_edit_text", - "properties": { - "hint": "TB ID", - "type": "TB Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "rch_number", - "type": "text_input_edit_text", - "properties": { - "hint": "RCH ID", - "type": "RCH Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "rch_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "mat_number", - "type": "text_input_edit_text", - "properties": { - "hint": "MAT ID", - "type": "MAT Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mat_number", - "openmrs_entity_parent": "" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json index a1fa730fb4..12a54ab45f 100644 --- a/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json +++ b/opensrp-chw/src/nacp/assets/json.form/ltfu_community_followup_feedback.json @@ -87,6 +87,15 @@ "openmrs_entity_parent": "" } }, + { + "name": "client_found_and_has_returned_to_clinic", + "text": "Client is found and has returned to the clinic to continue with services", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_found_and_has_returned_to_clinic", + "openmrs_entity_parent": "" + } + }, { "name": "client_has_moved_to_another_facility", "text": "Client has transferred to another center without notice", diff --git a/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json b/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json deleted file mode 100644 index 721e7e03f8..0000000000 --- a/opensrp-chw/src/nacp/assets/json.form/male_hiv_registration.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "form": "HIV Registration form", - "count": "1", - "encounter_type": "CBHS Registration", - "entity_id": "", - "relational_id": "", - "rules_file": "rule/hiv_registration_form_rules.yml", - "metadata": { - "start": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "start", - "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "end": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "end", - "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "today": { - "openmrs_entity_parent": "", - "openmrs_entity": "encounter", - "openmrs_entity_id": "encounter_date" - }, - "deviceid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "deviceid", - "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "subscriberid": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "subscriberid", - "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "simserial": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "simserial", - "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "phonenumber": { - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_data_type": "phonenumber", - "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - "encounter_location": "", - "look_up": { - "entity_id": "", - "value": "" - } - }, - "steps": [ - { - "title": "CBHS Registration Form", - "fields": [ - { - "name": "cbhs_number", - "type": "masked_edit_text", - "properties": { - "hint": "CBHS Number e.g 1234-56-78-912", - "type": "CBHS Number e.g 1234-56-78-912", - "mask": "####-##-##-###", - "mask_hint": "12345678912", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "cbhs_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{4}-\\\\d{2}-\\\\d{2}-\\\\d{3})?\")", - "message": "CBHS Number should be of the format (XXXX-XX-XX-XXX)." - } - ], - "required_status": "yes:Please specify client's CBHS Number" - }, - { - "name": "client_hiv_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_hiv_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's HIV status during registration" - }, - "options": [ - { - "name": "unknown", - "text": "Unknown", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Negative", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ], - "dependent_calculations": [ - "hiv_registration_date" - ] - }, - { - "name": "ctc_number", - "type": "masked_edit_text", - "properties": { - "hint": "CTC Number e.g 12-34-5678-912345", - "type": "CTC Number e.g 12-34-5678-912345", - "mask": "##-##-####-######", - "mask_hint": "12345678912345", - "input_type": "number", - "allowed_chars": "0123456789" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc_number", - "openmrs_entity_parent": "" - }, - "validation": [ - { - "condition": "value.matches(\"(\\\\d{2}-\\\\d{2}-\\\\d{4}-\\\\d{6})?\")", - "message": "CTC Number should be of format (XX-XX-XXXX-XXXXXX)." - } - ], - "subjects": "client_hiv_status_during_registration:text" - }, - { - "name": "client_tb_status_during_registration", - "type": "spinner", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "client_tb_status_during_registration", - "openmrs_entity_parent": "" - }, - "properties": { - "text": "Client's TB status during registration" - }, - "options": [ - { - "name": "unknown", - "text": "Unknown", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "unknown", - "openmrs_entity_parent": "" - } - }, - { - "name": "positive", - "text": "Positive", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "positive", - "openmrs_entity_parent": "" - } - }, - { - "name": "negative", - "text": "Negative", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "negative", - "openmrs_entity_parent": "" - } - } - ] - }, - { - "name": "tb_number", - "type": "text_input_edit_text", - "properties": { - "hint": "TB ID", - "type": "TB Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_number", - "openmrs_entity_parent": "" - } - }, - { - "name": "mat_number", - "type": "text_input_edit_text", - "properties": { - "hint": "MAT ID", - "type": "MAT Clinic ID" - }, - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "mat_number", - "openmrs_entity_parent": "" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/reports/cbhs-summary-monthly.html b/opensrp-chw/src/nacp/assets/reports/cbhs-summary-monthly.html index f0c38e514d..2f8b033e5f 100644 --- a/opensrp-chw/src/nacp/assets/reports/cbhs-summary-monthly.html +++ b/opensrp-chw/src/nacp/assets/reports/cbhs-summary-monthly.html @@ -24,7 +24,6 @@
    - diff --git a/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml index d8282b036b..f6635a72a5 100644 --- a/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml @@ -23,7 +23,7 @@ actions: name: "ctc_number_visibility" description: "ctc_number visibility" priority: 1 -condition: "(registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine') && (client_hiv_status_after_testing.value == 'Positive' || client_hiv_status_after_testing.value == 'Chanya')" +condition: "(registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine') && (client_hiv_status_after_testing.value == 'Positive' || client_hiv_status_after_testing.value == 'Ana Maambukizi')" actions: - "ctc_number_visibility = true" --- @@ -132,12 +132,19 @@ condition: "referrals_to_other_services_completed['other_referrals'] != null" actions: - "referrals_to_other_services_completed_other_visibility = true" --- -name: "state_of_therapy_visibility" -description: "state_of_therapy visibility" +name: "state_of_hiv_care_and_treatment_visibility" +description: "state_of_hiv_care_and_treatment visibility" priority: 1 condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" actions: - - "state_of_therapy_visibility = true" + - "state_of_hiv_care_and_treatment_visibility = true" +--- +name: "state_of_registration_in_tb_and_pwid_clinics_visibility" +description: "state_of_registration_in_tb_and_pwid_clinics visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" +actions: + - "state_of_registration_in_tb_and_pwid_clinics_visibility = true" --- name: "hiv_followup_visit_date_calculation" description: "calculating the hiv followup visit date" diff --git a/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml index e2baee69ee..07053df996 100644 --- a/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml @@ -65,7 +65,7 @@ actions: name: "reasons_for_registration_female_10_to_14_visibility" description: "reasons_for_registration_female_10_to_14 visibility" priority: 1 -condition: "gender == 'Female' && (age > 10 && age <= 14)" +condition: "gender == 'Female' && (age >= 10 && age <= 14)" actions: - "reasons_for_registration_female_10_to_14_visibility = true" --- @@ -74,4 +74,7 @@ description: "calculating the reason for registration" priority: 1 condition: "true" actions: - - "reasons_for_registration_calculation = (gender == 'Male' && age >= 15) ? reasons_for_registration_male_15 : (gender == 'Female' && age >= 15) ? reasons_for_registration_female_15 : (gender == 'Male' && age < 15) ? reasons_for_registration_male_under_15 : (gender == 'Female' && age < 10) ? reasons_for_registration_female_under_10 : (gender == 'Female' && (age > 10 && age <= 14)) ? reasons_for_registration_female_10_to_14 : '' " \ No newline at end of file + - "reasons_for_registration_calculation = (gender == 'Male' && age >= 15) ? reasons_for_registration_male_15 : + (gender == 'Male' && age < 15) ? reasons_for_registration_male_under_15 : + (gender == 'Female' && age >= 15) ? reasons_for_registration_female_15 : + (gender == 'Female' && age < 10) ? reasons_for_registration_female_under_10 : reasons_for_registration_female_10_to_14 " \ No newline at end of file diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java index 5484c9cb97..db4e788952 100644 --- a/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java @@ -60,7 +60,7 @@ public boolean hasServiceReport() { } public boolean hasQR() { - return true; + return false; } @Override diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index b2215044e4..d81edc7058 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -170,6 +170,9 @@ Angalia Historia ya MatembeleoHistoria ya MatembeleoMatembeleo ya Mama Kinara + Matembeleo ya HUWANYU + Tembeleo la mwisho la HUWANYU lilikuwa chini ya masaa 24 yaliyopita + Tembeleo la mwisho la HUWANYU lilikuwa siku %1$s zilizopiitaTembeleo la Mama Kinara {0}: {1}Aina ya Huduma:Aliunganishwa kwenye kikundi cha msaada wa Kisaikolojia: @@ -254,4 +257,94 @@ Kujaa au maumivu ya matiti, chuchu na kushindwa kunyonyeshaKuona kwa shidaKuchanika msamba + + + Hali ya ufuatiliaji: + Mteja Mpya + Anaendelea na Huduma + Amefariki + Hapatikani + Amehamishiwa mahali pengine + Amehama + Amejitoa + Anaendelea na huduma akitokea mahali pengine + Amemaliza huduma + + Hali ya maambukizi ya Kifua Kikuu baada ya kipimo + + Haitambuliki + Haijulikani + Ana Maambukizi + Hana Maambukizi + + Matatizo ya kitabibu ya Mteja: + Uchovu wa mwili usio wa kawaida + Maumivu ya kifua + Magonjwa ya ngozi + Kupoteza hamu ya kula + Utapiamlo + Homa + Manjano + Maumivu ya kichwa + Kikohozi + Mtukutiko mwili + Kupoteza ufahamu + Madhara ya dawa + Matatizo mengine + Hana tatizo + + Changamoto za kisaikolojia na kijamii : + Ubaguzi na kutengwa + Uhaba wa chakula + Kushindwa kufichua hali yake + Matatizo ya usafiri wa kwenda kwenye klinili ya CTC + Matatizo ya kichumi + Ukatili wa kijinsia na Ukatili dhidi ya watoto + Maeneo magumu kufikika + Matatizo mengine + + Vifaa/bidhaa zilizotolewa: + Vifaa vya kujipima VVU + Vitakasa mikono + Barakoa + Kondomu + Dawa za kuua vijidudu vya maji + Vifaa vingine + + Dawa zilizotolewa + Paracetamol + ORS + Huduma za HUWANYU zilizotolewa + Huduma za ushauri nasaha na upimaji katika jamii + Huduma za dawa za kupunguza makali ya vvu katika jamii + Huduma za kuzuia maambukizi kutoka kwa mama kwenda kwa mtoto katika jamii + Huduma shirikishi za kifua kikuu na VVU katika jamii + Huduma za kuzuia kuenea magonjwa ya ngono katika jamii + Huduma kwa makundi maalumu + Huduma za kuzuia ukatili wa kijinsia na ukatili dhidi ya watoto katika jamii + Huduma za kisaikolojia katika jamii + Elimu ya tohara katika jamii + Huduma za uzazi wa mpango na usambazaji wa kondomu + Huduma ya ugawaji wa vitendanishi vya JIPIME" + Huduma nyingine za HUWANYU + + Other CBHS Services Provided + Rufaa ziliyotolewa kwa Mteja kwenda kwenye huduma zisizo za kitabibu : + Huduma ya kisheria + Msaada wa kisaikolojia kutoka kwenye makundi + Huduma za watoto yatima na wanaoishi kwenye mazingira magumu + Vituo vya wazee + Rufaa nyingine + + + Rufaa iliyokamilishwa na Mteja kwenda kwenye huduma zisizo za kitabibu + Hali ya Tiba na Matunzo (CTC): + + Ameandikishwa CTC/PMTCT lakini hajaanza ARV + Ameandikishwa CTC/PMTCT na anatumia ARV + Hajaandikishwa CTC/PMTCT + Amesajiliwa kwenye Kliniki ya Wajidunga + Amesajiliwa kwenye Kliniki ya Kifua Kikuu + Me + Ke \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index f5c64cdbe7..10e179c419 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -118,31 +118,6 @@ Mtoto aliyezaliwa na mama mwenye VVUMtoto ambaye hajapimwa VVUUnyanyasaji wa mtoto - - Huduma za ushauri nasaha na upimaji katika jamii - Huduma za dawa za kupunguza makali ya vvu katika jamii - Huduma za kuzuia maambukizi kutoka kwa mama kwenda kwa mtoto katika jamiii - Huduma shirikishi za kifua kikuu na VVU katika jamii - Huduma za kuzuia kuenea magonjwa ya ngono katika jamii - Huduma kwa makundi maalumu - Huduma za kuzuia ukatili wa kijinsia na ukatili dhidi ya watoto katika jamii - Huduma za kisaikolojia katika jamii - Elimu ya tohara katika jamii - Huduma za uzazi wa mpango na usambazaji wa kondomu - Huduma ya ugawaji wa vitendanishi vya JIPIME - Huduma zingine za CBHS - Hamna - - Paracetamol - ORS - Hakuna - - Vifaa vya kujipima VVU - Vitakasa mikono - Barakoa - Kondomu - Dawa za kuua vijidudu vya maji - Vifaa vingineHeight: {0} cmFundal Height: {0} cm @@ -188,6 +163,9 @@ View Visits HistoryVisits HistoryMother Champion Visits + Last visit was conducted less than 24 hours ago + Last visit was %1$s days ago + CBHS VisitsMother Champion Visit {0}: {1}Type of Service:Linked to Psychosocial Group: @@ -274,4 +252,94 @@ Unable to breastfeed or swallowUmbilical cord/navel bleeding + + Followup status: + New Client + Continuing with services + Deceased + Client not found + Client has relocated to another location + Client has moved + Client has absconded + Client continues with services coming from elsewhere + Client has completed and qualified from the services + + Client\'s TB status after testing + + Not Applicable + Unknown + Positive + Negative + + Health Challenges faced by the Client: + General Body Malaise + Chest Pain + Skin Infection + Loss of Appetite + Malnutrition + Fever + Jaundice + Headache + Coughing + Convulsion + Loss of Consciousness + Drugs Side Effects + Other Health Challenges + None + + Psychosocial challenges faced by the Client. + Stigma and Discriminations + Food insecurity + Lack disclosure + Transport issues while attending CTC + Economic constraints + GBV and VAC + Hard to reach areas + Other Social Challenges + + Supplies/Commodities provided: + HIV Self Testing Kits + Sanitizers + Face masks + Condoms + Water disinfectants + Other supplies + + Medicines provided + Paracetamol + ORS + CBHS services provided + HIV Counselling and Testing + ARV Services + HIV Prevention services from mother to infant + Collaborative community services for TB and HIV + Services to prevent the spread of STDs + Special group services + Services to prevent gender violence and child abuse + Psychological services + Information about Female Genital Mutilation + Family planning and condom distribution services + Self test kits distribution services + Other CBHS services + + Other CBHS Services Provided + Referrals issued to the Client for other services + Legal Services + Psycho Social Support groups + OVC services + Elderly Centers + Other Referrals + Male + Female + + + Referrals completed Services + State of HIV Care and treatment: + + Registered in CTC/PMTCT clinic but hasn\'t begun ARV medication + Registered in CTC/PMTCT clinic but hasn\'t begun ARV medication + Registered in CTC/PMTCT clinic but hasn\'t begun ARV medication + Registered in Injection Drugs Users Clinic + Registered in TB Clinic + \ No newline at end of file From 0cf98821b4aa1829f9ba9074fe247e73f0672dc6 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 7 Oct 2022 18:23:43 +0300 Subject: [PATCH 868/915] :hammer: updated version code and database version --- opensrp-chw/build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 24e9d90f7c..dc174f7ade 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -199,8 +199,8 @@ android { nacp { dimension = 'baseDimension' applicationIdSuffix ".moh" - versionCode 8 - versionName "1.1.0" + versionCode 9 + versionName "1.1.1" buildConfigField "String", 'opensrp_url', '"https://ucs.nacp.go.tz/opensrp/"' // buildConfigField "String", 'opensrp_url', '"http://45.79.110.194:8082/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' @@ -213,7 +213,7 @@ android { buildConfigField "String", 'DEFAULT_LOCATION_DEBUG', '"Village"' buildConfigField "long", "MAPBOX_DOWNLOAD_TILE_LIMIT", "6001" - buildConfigField "int", "DATABASE_VERSION", '24' + buildConfigField "int", "DATABASE_VERSION", '25' } ba { dimension = 'baseDimension' From 1d5ce95271c4002b3d7ef93ab3381e17356ae0e9 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 10 Oct 2022 09:39:07 +0300 Subject: [PATCH 869/915] :hammer: updated version code and database version --- opensrp-chw/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index dc174f7ade..ad7aa50fb9 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -199,8 +199,8 @@ android { nacp { dimension = 'baseDimension' applicationIdSuffix ".moh" - versionCode 9 - versionName "1.1.1" + versionCode 11 + versionName "1.1.3" buildConfigField "String", 'opensrp_url', '"https://ucs.nacp.go.tz/opensrp/"' // buildConfigField "String", 'opensrp_url', '"http://45.79.110.194:8082/opensrp/"' buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/ba/"' From 47852e6f817e553c843b7dd9945f29cda09bd909 Mon Sep 17 00:00:00 2001 From: Billy <44404782+dev-billy@users.noreply.github.com> Date: Thu, 13 Oct 2022 12:07:57 +0300 Subject: [PATCH 870/915] update: core version (#363) --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index ffccac5fbe..447952aa69 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -348,7 +348,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.36.0-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.36.1-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From 340a85782d4c31047d97f5d39b32e5ed8a8be88b Mon Sep 17 00:00:00 2001 From: Billy <44404782+dev-billy@users.noreply.github.com> Date: Thu, 13 Oct 2022 12:10:05 +0300 Subject: [PATCH 871/915] fix: hiding facility-to-facility requests showing on chw (#364) Co-authored-by: Ilakoze Jumanne --- .../chw/fragment/OrdersRegisterFragment.java | 8 ++++++++ .../OrdersRegisterFragmentPresenter.java | 17 +++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/presenter/OrdersRegisterFragmentPresenter.java diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/OrdersRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/OrdersRegisterFragment.java index ac0789d7bc..940f6fb49a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/OrdersRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/OrdersRegisterFragment.java @@ -6,6 +6,7 @@ import org.smartregister.chw.activity.OrderDetailsActivity; import org.smartregister.chw.cdp.util.Constants; import org.smartregister.chw.core.fragment.CoreOrdersRegisterFragment; +import org.smartregister.chw.presenter.OrdersRegisterFragmentPresenter; import org.smartregister.chw.util.JsonFormUtils; import org.smartregister.commonregistry.CommonPersonObjectClient; @@ -28,4 +29,11 @@ public void startOrderForm() { public void showDetails(CommonPersonObjectClient cp) { OrderDetailsActivity.startMe(requireActivity(), cp); } + + @Override + protected void initializePresenter() { + presenter = new OrdersRegisterFragmentPresenter(this, model()); + } + + } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/OrdersRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/OrdersRegisterFragmentPresenter.java new file mode 100644 index 0000000000..abc67ece5f --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/OrdersRegisterFragmentPresenter.java @@ -0,0 +1,17 @@ +package org.smartregister.chw.presenter; + +import org.smartregister.chw.cdp.contract.BaseOrdersRegisterFragmentContract; +import org.smartregister.chw.cdp.presenter.BaseOrdersRegisterFragmentPresenter; +import org.smartregister.chw.cdp.util.Constants; +import org.smartregister.chw.cdp.util.DBConstants; + +public class OrdersRegisterFragmentPresenter extends BaseOrdersRegisterFragmentPresenter { + public OrdersRegisterFragmentPresenter(BaseOrdersRegisterFragmentContract.View view, BaseOrdersRegisterFragmentContract.Model model) { + super(view, model); + } + + @Override + public String getMainCondition() { + return super.getMainCondition() + " AND " + getMainTable() + "." + DBConstants.KEY.REQUEST_TYPE + " = '" + Constants.ORDER_TYPES.COMMUNITY_TO_FACILITY_ORDER + "' "; + } +} From 96808cbedb8450768efcaff4d79cda4e0c15700e Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 16 Oct 2022 18:11:49 +0300 Subject: [PATCH 872/915] update: core version --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 447952aa69..dd4dcb0717 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -348,7 +348,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.36.1-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.36.2-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From f885088733c2c8829da2cf87a63178bf0d80b062 Mon Sep 17 00:00:00 2001 From: Billy Date: Sun, 16 Oct 2022 18:12:06 +0300 Subject: [PATCH 873/915] override: core abstract methods --- .../chw/activity/AllClientsMemberProfileActivity.java | 10 ++++++++++ .../chw/activity/FamilyOtherMemberProfileActivity.java | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index 1f4f19c8af..a7c9a0b9e1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -190,6 +190,16 @@ protected void startKvpPrEPRegistration() { KvpPrEPRegisterActivity.startRegistration(AllClientsMemberProfileActivity.this, baseEntityId, gender, age); } + @Override + protected void startKvpRegistration() { + //do nothing + } + + @Override + protected void startPrEPRegistration() { + //do nothing + } + @Override protected void removeIndividualProfile() { IndividualProfileRemoveActivity.startIndividualProfileActivity(AllClientsMemberProfileActivity.this, diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index 76a01593de..9c652c47f6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -306,6 +306,16 @@ protected void startKvpPrEPRegistration() { KvpPrEPRegisterActivity.startRegistration(FamilyOtherMemberProfileActivity.this, baseEntityId, gender, age); } + @Override + protected void startKvpRegistration() { + //do nothing + } + + @Override + protected void startPrEPRegistration() { + //do nothing + } + /** * build implementation differences file */ From 324ada7690635f908233f4c979d950ba21914617 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 17 Oct 2022 15:06:57 +0300 Subject: [PATCH 874/915] fix: rephrase how condom distribution question is asked --- ...KvpPrEPPreventiveServicesActionHelper.java | 6 +- .../kvp_prep_preventive_services.json | 114 +++++++++++++++--- 2 files changed, 101 insertions(+), 19 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/actionhelper/KvpPrEPPreventiveServicesActionHelper.java b/opensrp-chw/src/main/java/org/smartregister/chw/actionhelper/KvpPrEPPreventiveServicesActionHelper.java index 9a590d9022..b7935b7805 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/actionhelper/KvpPrEPPreventiveServicesActionHelper.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/actionhelper/KvpPrEPPreventiveServicesActionHelper.java @@ -14,7 +14,7 @@ public class KvpPrEPPreventiveServicesActionHelper implements BaseKvpVisitAction.KvpVisitActionHelper { - private String condom_type; + private String condoms_given; private String jsonPayload; @Override public void onJsonFormLoaded(String jsonPayload, Context context, Map> map) { @@ -37,7 +37,7 @@ public String getPreProcessed() { public void onPayloadReceived(String jsonPayload) { try { JSONObject jsonObject = new JSONObject(jsonPayload); - condom_type = CoreJsonFormUtils.getValue(jsonObject, "condom_type"); + condoms_given = CoreJsonFormUtils.getValue(jsonObject, "condoms_given"); } catch (JSONException e) { e.printStackTrace(); } @@ -65,7 +65,7 @@ public String evaluateSubTitle() { @Override public BaseKvpVisitAction.Status evaluateStatusOnPayload() { - if (StringUtils.isBlank(condom_type)) + if (StringUtils.isBlank(condoms_given)) return BaseKvpVisitAction.Status.PENDING; else { return BaseKvpVisitAction.Status.COMPLETED; diff --git a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_preventive_services.json b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_preventive_services.json index 1863a39f76..5e131f0f20 100644 --- a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_preventive_services.json +++ b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_preventive_services.json @@ -46,49 +46,131 @@ "title": "Protective Service", "fields": [ { - "key": "condom_type", + "key": "condoms_given", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "condom_type", - "label": "Select the type of condom distributed", + "openmrs_entity_id": "condoms_given", + "label": "Was the client given condoms?", "text_color": "#000000", "type": "native_radio", "options": [ { - "key": "male", - "text": "Male", + "key": "yes", + "text": "Yes", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "male" + "openmrs_entity_id": "yes" }, { - "key": "female", - "text": "Female", + "key": "no", + "text": "No", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "female" + "openmrs_entity_id": "no" } ], "v_required": { "value": "true", - "err": "Please select one" + "err": "Please select an answer" } }, { - "key": "number_of_condoms_distributed", + "key": "type_of_issued_condoms", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "number_of_condoms_distributed", - "hint": "Number of Condoms Distributed", + "openmrs_entity_id": "type_of_issued_condoms", + "type": "check_box", + "combine_checkbox_option_values": "true", + "label": "Select the type of condoms issued", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "male_condoms", + "text": "Male Condoms", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "male_condoms" + }, + { + "key": "female_condoms", + "text": "Female Condoms", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "female_condoms" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + }, + "relevance": { + "step1:condoms_given": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "number_of_male_condoms_issued", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_male_condoms_issued", "type": "edit_text", - "edit_type": "number", + "hint": "Number of Male condoms issued (Pieces)", "v_numeric": { "value": "true", - "err": "Must be a number" + "err": "Please enter a valid number" + }, + "v_min": { + "value": "0", + "err": "The number must be equal or greater than 0" }, "v_required": { + "value": true, + "err": "Please enter the number" + }, + "relevance": { + "step1:type_of_issued_condoms": { + "ex-checkbox": [ + { + "or": [ + "male_condoms" + ] + } + ] + } + } + }, + { + "key": "number_of_female_condoms_issued", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_female_condoms_issued", + "type": "edit_text", + "hint": "Number of Female condoms issued (Pieces)", + "v_numeric": { "value": "true", - "err": "Please provide number distributed" + "err": "Please enter a valid number" + }, + "v_min": { + "value": "0", + "err": "The number must be equal or greater than 0" + }, + "v_required": { + "value": true, + "err": "Please enter the number" + }, + "relevance": { + "step1:type_of_issued_condoms": { + "ex-checkbox": [ + { + "or": [ + "female_condoms" + ] + } + ] + } } }, { From 6a1ea819483de6bca680ee60b9775a64527477fb Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 19 Oct 2022 19:56:16 +0300 Subject: [PATCH 875/915] persist: agyw package --- .../src/nacp/assets/ec_client_fields.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 447dad00a4..e801cb0de6 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -4967,6 +4967,22 @@ "concept": "uic_id" } }, + { + "column_name": "beneficiary_of_a_program", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "beneficiary_of_a_program" + } + }, + { + "column_name": "program_name", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "program_name" + } + }, { "column_name": "sbcc_intervention_provided", "type": "Event", From abaa6da3cb3e2eda3a18acb0e4b9380201fe9442 Mon Sep 17 00:00:00 2001 From: Billy Date: Wed, 19 Oct 2022 22:07:52 +0300 Subject: [PATCH 876/915] update: core version --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index dd4dcb0717..3f7c074666 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -348,7 +348,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.36.2-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.36.3-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From 64f0a6b84ffe9f0d593387a6380a1f5ea6fb5e58 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 20 Oct 2022 20:20:09 +0300 Subject: [PATCH 877/915] added: question empower girls --- .../agyw_structural_services.json | 29 +++++++++++++++++++ .../json.form/agyw_structural_services.json | 29 +++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json index f290f09c5a..85f30e23fa 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json @@ -247,6 +247,35 @@ "err": "Tafadhali chagua jibu" } }, + { + "key": "empower_girls", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "empower_girls", + "label": "Uwezeshaji wa msichana kujilinda na kuwa salama?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndio", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + }, { "key": "distribute_sanitary_pads", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_structural_services.json b/opensrp-chw/src/nacp/assets/json.form/agyw_structural_services.json index 69c6da81ff..926b0479b1 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_structural_services.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_structural_services.json @@ -247,6 +247,35 @@ "err": "Please select an answer" } }, + { + "key": "empower_girls", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "empower_girls", + "label": "Empowering a girl to protect herself and be safe?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Yes", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + } + }, { "key": "distribute_sanitary_pads", "openmrs_entity_parent": "", From cc1abf90056ebdce722e0fddd7bc7d22dfdfdefd Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 20 Oct 2022 21:06:07 +0300 Subject: [PATCH 878/915] fix: naming and wordings for questions --- .../json.form-sw/agyw_behavioral_services.json | 14 ++++++++++++++ .../json.form-sw/agyw_structural_services.json | 9 ++++++++- .../assets/json.form/agyw_behavioral_services.json | 14 ++++++++++++++ .../assets/json.form/agyw_structural_services.json | 7 +++++++ 4 files changed, 43 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_behavioral_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_behavioral_services.json index f66d5766e1..fc36836ef9 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_behavioral_services.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_behavioral_services.json @@ -77,6 +77,13 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reproductive_health" }, + { + "key": "reproductive_health_education", + "text": "Elimu ya Afya ya Uzazi", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reproductive_health_education" + }, { "key": "effective_communication", "text": "Mawasiliano athirifu", @@ -91,6 +98,13 @@ "openmrs_entity": "concept", "openmrs_entity_id": "sti_hiv_aids" }, + { + "key": "sti_hiv_aids_education", + "text": "Elimu ya kujikinga na maambukizi ya UKWIMWI", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sti_hiv_aids_education" + }, { "key": "family_planning", "text": "Uzazi wa mpango", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json index 85f30e23fa..f3483b3b69 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json @@ -153,6 +153,13 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "financial_edu_and_investments" + }, + { + "key": "financial_edu_basics", + "text": "Elimu na misingi ya fedha", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "financial_edu_basics" } ], "v_required": { @@ -354,7 +361,7 @@ "options": [ { "key": "services_to_young_women", - "text": "Huduma zinzotolewa kwa wanawake vijana", + "text": "Huduma zilizotolewa kwa wanawake vijana", "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "services_to_young_women" diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_behavioral_services.json b/opensrp-chw/src/nacp/assets/json.form/agyw_behavioral_services.json index d2c682918f..be1bb1d90b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_behavioral_services.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_behavioral_services.json @@ -77,6 +77,13 @@ "openmrs_entity": "concept", "openmrs_entity_id": "reproductive_health" }, + { + "key": "reproductive_health_education", + "text": "Reproductive health Education", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "reproductive_health_education" + }, { "key": "effective_communication", "text": "Effective communication", @@ -91,6 +98,13 @@ "openmrs_entity": "concept", "openmrs_entity_id": "sti_hiv_aids" }, + { + "key": "sti_hiv_aids_education", + "text": "STI and HIV/AIDS Prevention Education", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sti_hiv_aids_education" + }, { "key": "family_planning", "text": "Family planning", diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_structural_services.json b/opensrp-chw/src/nacp/assets/json.form/agyw_structural_services.json index 926b0479b1..6f686c5819 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_structural_services.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_structural_services.json @@ -153,6 +153,13 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "financial_edu_and_investments" + }, + { + "key": "financial_edu_basics", + "text": "Financial Education and Basics", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "financial_edu_basics" } ], "v_required": { From 483f9e4ca19f9f305724908098d84512e374fa4e Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 20 Oct 2022 21:57:21 +0300 Subject: [PATCH 879/915] fix: showing dreams on met dreams criteria --- .../nacp/assets/json.form/agyw_screening.json | 68 +++++++++++++++++-- .../rule/agyw_screening_calculation.yml | 8 ++- .../assets/rule/agyw_screening_relevance.yml | 14 ++++ 3 files changed, 84 insertions(+), 6 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json index 871f39b693..9db1034da5 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json @@ -1386,10 +1386,10 @@ } }, { - "key": "program_name", + "key": "program_name_with_dreams", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "program_name", + "openmrs_entity_id": "program_name_with_dreams", "label": "Program name", "text_color": "#000000", "type": "native_radio", @@ -1428,9 +1428,67 @@ "err": "Please select an answer" }, "relevance": { - "step8:beneficiary_of_a_program": { - "type": "string", - "ex": "equalTo(., \"yes\")" + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } + } + } + }, + { + "key": "program_name_without_dreams", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "program_name_without_dreams", + "label": "Program name", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "timiza_malengo", + "text": "Timiza Malengo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "timiza_malengo" + }, + { + "key": "priority_population", + "text": "Priority Population (PP)", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "priority_population" + }, + { + "key": "other", + "text": "Other", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } + } + } + }, + { + "key": "program_name", + "type": "hidden", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "program_name", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_calculation.yml" + } } } } diff --git a/opensrp-chw/src/nacp/assets/rule/agyw_screening_calculation.yml b/opensrp-chw/src/nacp/assets/rule/agyw_screening_calculation.yml index dff8ae93f1..3d7798ea7e 100644 --- a/opensrp-chw/src/nacp/assets/rule/agyw_screening_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/agyw_screening_calculation.yml @@ -100,4 +100,10 @@ actions: 'yes' : (global_age > 17 && (step7_total_score > 6 || step1_birth_before_18.equals('yes') || step3_sex_for_money.equals('yes') || step3_more_than_two_partner.equals('yes') )) ? 'yes' - : 'no' " \ No newline at end of file + : 'no' " +--- +name: step8_program_name +description: program_name +condition: "step8_beneficiary_of_a_program.equals('yes')" +actions: + - "calculation = ((global_age < 15 && step8_schooling_status.equals('in_school')) ||(global_age >= 15 && step8_schooling_status.equals('out_of_school'))) ? step8_program_name_with_dreams : step8_program_name_without_dreams" diff --git a/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml b/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml index e70c8f6b33..8eae166acf 100644 --- a/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml @@ -54,3 +54,17 @@ priority: 1 condition: "step2_formal_education.equals('yes')" actions: - "isRelevant = true" +--- +name: step8_program_name_with_dreams +description: show if (age is 10-14 and in school or age 15-24 out of school) and beneficiary_of_a_program is yes +priority: 1 +condition: "step8_beneficiary_of_a_program.equals('yes') && ((global_age < 15 && step8_schooling_status.equals('in_school')) ||(global_age >= 15 && step8_schooling_status.equals('out_of_school')))" +actions: + - "isRelevant = true" +--- +name: step8_program_name_without_dreams +description: show if !(age is 10-14 and in school or age 15-24 out of school) and beneficiary_of_a_program is yes +priority: 1 +condition: "step8_beneficiary_of_a_program.equals('yes') && !((global_age < 15 && step8_schooling_status.equals('in_school')) ||(global_age >= 15 && step8_schooling_status.equals('out_of_school')))" +actions: + - "isRelevant = true" From d7ad45c1c53d036b63595610930eb31c43d647e2 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 20 Oct 2022 22:00:02 +0300 Subject: [PATCH 880/915] rephrase --- opensrp-chw/src/nacp/assets/json.form/agyw_screening.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json index 9db1034da5..7053650d16 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json @@ -532,7 +532,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "sex_for_money", - "label": "Have you ever engaged in the last 12 months into a sexual relationship with a man to obtain money, goods, or both?", + "label": "Have you ever engaged into a sexual relationship with a man to obtain money, goods or both in the past 12 month", "text_color": "#000000", "type": "native_radio", "options": [ From af1d6ca8c44e06b8938538aa240adb3e716ce3ff Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 20 Oct 2022 22:41:53 +0300 Subject: [PATCH 881/915] fix: prevention intervention question ordering --- .../nacp/assets/json.form/agyw_screening.json | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json index 7053650d16..7bc9685783 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json @@ -1322,6 +1322,41 @@ } } }, + { + "key": "intervention_enrolled", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "intervention_enrolled", + "label": "Has the client been enrolled for prevention intervention?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Yes", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "No", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + }, + "relevance": { + "step8:intervention_eligibility": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, { "key": "enrollment_date", "openmrs_entity_parent": "", @@ -1337,7 +1372,7 @@ "err": "Please answer this question" }, "relevance": { - "step8:intervention_eligibility": { + "step8:intervention_enrolled": { "type": "string", "ex": "equalTo(., \"yes\")" } From 83151792aebe41c9414385967b671905ae9df841 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 20 Oct 2022 22:46:38 +0300 Subject: [PATCH 882/915] fix: form section titles --- .../chw/activity/AgywRegisterActivity.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywRegisterActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywRegisterActivity.java index 72108bcff3..4479e5549c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywRegisterActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywRegisterActivity.java @@ -3,6 +3,9 @@ import android.app.Activity; import android.content.Intent; +import com.vijay.jsonwizard.domain.Form; + +import org.smartregister.chw.R; import org.smartregister.chw.agyw.util.Constants; import org.smartregister.chw.core.activity.CoreAgywRegisterActivity; import org.smartregister.chw.fragment.AgywRegisterFragment; @@ -20,6 +23,19 @@ public static void startRegistration(Activity activity, String baseEntityId, int activity.startActivity(intent); } + @Override + public Form getFormConfig() { + Form form = new Form(); + form.setActionBarBackground(org.smartregister.chw.core.R.color.family_actionbar); + form.setWizard(true); + form.setName(getString(R.string.agyw_screening)); + form.setNavigationBackground(org.smartregister.chw.core.R.color.family_navigation); + form.setNextLabel(this.getResources().getString(org.smartregister.chw.core.R.string.next)); + form.setPreviousLabel(this.getResources().getString(org.smartregister.chw.core.R.string.back)); + form.setSaveLabel(this.getResources().getString(org.smartregister.chw.core.R.string.save)); + return form; + } + @Override protected BaseRegisterFragment getRegisterFragment() { return new AgywRegisterFragment(); From ae4dd32a9b74fcd899c8223f6013b7a47f7353e4 Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 20 Oct 2022 22:52:46 +0300 Subject: [PATCH 883/915] add: none check for household --- .../src/nacp/assets/json.form/agyw_screening.json | 9 +++++++++ .../src/nacp/assets/rule/agyw_screening_relevance.yml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json index 7bc9685783..c47d1c291e 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json @@ -124,6 +124,9 @@ "openmrs_entity": "concept", "openmrs_entity_id": "household_people", "openmrs_entity_parent": "", + "exclusive": [ + "none" + ], "options": [ { "key": "father", @@ -142,6 +145,12 @@ "text": "Guardian", "openmrs_entity": "concept", "openmrs_entity_id": "guardian" + }, + { + "key": "none", + "text": "None", + "openmrs_entity": "concept", + "openmrs_entity_id": "none" } ], "v_required": { diff --git a/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml b/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml index 8eae166acf..f0e5ed2cb0 100644 --- a/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml @@ -16,7 +16,7 @@ actions: name: step1_both_parents_alive description: both_parents_alive relevance priority: 1 -condition: "!step1_household_people_for_18_and_above.isEmpty() && (!step1_household_people_for_18_and_above.contains('father') || !step1_household_people_for_18_and_above.contains('mother'))" +condition: "!step1_household_people_for_18_and_above.isEmpty() && (!(step1_household_people_for_18_and_above.contains('father') && step1_household_people_for_18_and_above.contains('mother')) || step1_household_people_for_18_and_above.contains('none'))" actions: - "isRelevant = true" --- From ee2d9138223b8077cc7c9d111d95dd6db16d571d Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sun, 23 Oct 2022 12:40:58 +0300 Subject: [PATCH 884/915] :hammer: implemented AGYW and KVP visit histories (#385) * :hammer: implemented AGYW and KVP visit histories * :hammer: refactored ordering of visit details * :hammer: added swahili translations for AGYW * :hammer: refactored Agyw and KVP visit histories * :hammer: fixed codacy issues * :hammer: added swahili translations for AGYW * :hammer: added swahili translations for KVP * :hammer: added more swahili translations * :hammer: refactored KvpPrep profile activity:getVisit() * :wastebasket: fixed codacy issues --- opensrp-chw/src/main/AndroidManifest.xml | 56 +- .../activity/AgywMedicalHistoryActivity.java | 61 + .../AgywMedicalHistoryActivityFlv.java | 211 +++ .../chw/activity/AgywProfileActivity.java | 30 +- .../KvpPrEPMedicalHistoryActivity.java | 250 +++ .../chw/activity/KvpPrEPProfileActivity.java | 33 +- .../MotherChampionProfileActivity.java | 2 +- .../chw/domain/SortableVisit.java | 11 + .../AgywMedicalHistoryInteractor.java | 71 + .../KvpPrEPMedicalHistoryInteractor.java | 71 + .../chw/sync/ChwClientProcessor.java | 4 + .../org/smartregister/chw/util/Constants.java | 4 + .../main/res/layout/medical_history_visit.xml | 47 + .../src/main/res/values-sw/strings.xml | 141 ++ .../agyw_behavioral_services.json | 4 +- .../agyw_bio_medical_services.json | 232 +++ .../assets/json.form-sw/agyw_screening.json | 1439 +++++++++++++++++ .../agyw_structural_services.json | 16 +- .../kvp_prep_preventive_services.json | 325 ++++ .../kvp_prep_referral_services.json | 256 +++ .../json.form-sw/kvp_prep_registration.json | 325 ++++ .../json.form-sw/kvp_prep_sbcc_services.json | 298 ++++ .../kvp_prep_structural_services.json | 153 ++ .../json.form-sw/kvp_prep_visit_type.json | 115 ++ .../json.form/kvp_prep_referral_services.json | 2 - .../json.form/kvp_prep_sbcc_services.json | 4 +- .../kvp_prep_structural_services.json | 1 - .../src/nacp/res/values-sw/strings.xml | 4 +- opensrp-chw/src/nacp/res/values/strings.xml | 148 +- 29 files changed, 4272 insertions(+), 42 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywMedicalHistoryActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywMedicalHistoryActivityFlv.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPMedicalHistoryActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/domain/SortableVisit.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/interactor/AgywMedicalHistoryInteractor.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/interactor/KvpPrEPMedicalHistoryInteractor.java create mode 100644 opensrp-chw/src/main/res/layout/medical_history_visit.xml mode change 100644 => 100755 opensrp-chw/src/nacp/assets/json.form-sw/agyw_behavioral_services.json create mode 100755 opensrp-chw/src/nacp/assets/json.form-sw/agyw_bio_medical_services.json create mode 100755 opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json mode change 100644 => 100755 opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json create mode 100755 opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_preventive_services.json create mode 100755 opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_referral_services.json create mode 100755 opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_registration.json create mode 100755 opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_sbcc_services.json create mode 100755 opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_structural_services.json create mode 100755 opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_visit_type.json diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index 470a7a3e9f..e27b291f21 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -18,8 +18,7 @@ android:roundIcon="@drawable/ic_launcher_round" android:screenOrientation="portrait" android:theme="@style/ChwTheme.Login" - android:windowSoftInputMode="stateAlwaysHidden|adjustResize"> - + android:windowSoftInputMode="stateAlwaysHidden|adjustResize"> - - - - + + + + - - - - - + + + + + + + + @@ -412,6 +427,7 @@ + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywMedicalHistoryActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywMedicalHistoryActivity.java new file mode 100644 index 0000000000..e2bd927054 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywMedicalHistoryActivity.java @@ -0,0 +1,61 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Intent; +import android.view.View; +import android.widget.ProgressBar; +import android.widget.TextView; + +import org.smartregister.chw.R; +import org.smartregister.chw.agyw.domain.MemberObject; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.presenter.BaseAncMedicalHistoryPresenter; +import org.smartregister.chw.core.activity.CoreAncMedicalHistoryActivity; +import org.smartregister.chw.interactor.AgywMedicalHistoryInteractor; + +import java.util.List; + +public class AgywMedicalHistoryActivity extends CoreAncMedicalHistoryActivity { + private static MemberObject agywMemberObject; + private final Flavor flavor = new AgywMedicalHistoryActivityFlv(); + private ProgressBar progressBar; + + public static void startMe(Activity activity, MemberObject memberObject) { + Intent intent = new Intent(activity, AgywMedicalHistoryActivity.class); + agywMemberObject = memberObject; + activity.startActivity(intent); + } + + @Override + public void initializePresenter() { + presenter = new BaseAncMedicalHistoryPresenter(new AgywMedicalHistoryInteractor(), this, agywMemberObject.getBaseEntityId()); + } + + @Override + public void setUpView() { + linearLayout = findViewById(org.smartregister.chw.opensrp_chw_anc.R.id.linearLayoutMedicalHistory); + progressBar = findViewById(org.smartregister.chw.opensrp_chw_anc.R.id.progressBarMedicalHistory); + + TextView tvTitle = findViewById(org.smartregister.chw.opensrp_chw_anc.R.id.tvTitle); + tvTitle.setText(getString(org.smartregister.chw.opensrp_chw_anc.R.string.back_to, agywMemberObject.getFullName())); + + ((TextView) findViewById(R.id.medical_history)).setText(getString(R.string.visits_history)); + } + + @Override + public View renderView(List visits) { + super.renderView(visits); + View view = flavor.bindViews(this); + displayLoadingState(true); + flavor.processViewData(visits, this); + displayLoadingState(false); + TextView agywVisitTitle = view.findViewById(org.smartregister.chw.core.R.id.customFontTextViewHealthFacilityVisitTitle); + agywVisitTitle.setText(R.string.agyw_visit); + return view; + } + + @Override + public void displayLoadingState(boolean state) { + progressBar.setVisibility(state ? View.VISIBLE : View.GONE); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywMedicalHistoryActivityFlv.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywMedicalHistoryActivityFlv.java new file mode 100644 index 0000000000..027fc7f578 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywMedicalHistoryActivityFlv.java @@ -0,0 +1,211 @@ +package org.smartregister.chw.activity; + +import android.content.Context; +import android.text.Spannable; +import android.text.SpannableStringBuilder; +import android.text.Spanned; +import android.text.style.BulletSpan; +import android.text.style.StyleSpan; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.TextView; + +import org.apache.commons.lang3.StringUtils; +import org.joda.time.DateTime; +import org.joda.time.Days; +import org.smartregister.chw.R; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.core.activity.DefaultAncMedicalHistoryActivityFlv; +import org.smartregister.chw.util.Constants; + +import java.text.MessageFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import timber.log.Timber; + +public class AgywMedicalHistoryActivityFlv extends DefaultAncMedicalHistoryActivityFlv { + private final StyleSpan boldSpan = new StyleSpan(android.graphics.Typeface.BOLD); + private final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss", Locale.getDefault()); + + @Override + protected void processAncCard(String has_card, Context context) { + // super.processAncCard(has_card, context); + linearLayoutAncCard.setVisibility(View.GONE); + } + + @Override + protected void processHealthFacilityVisit(List> hf_visits, Context context) { + //super.processHealthFacilityVisit(hf_visits, context); + } + + @Override + public void processViewData(List visits, Context context) { + + if (visits.size() > 0) { + int days = 0; + List> hf_visits = new ArrayList<>(); + + int x = 0; + while (x < visits.size()) { + + // the first object in this list is the days difference + if (x == 0) { + days = Days.daysBetween(new DateTime(visits.get(visits.size() - 1).getDate()), new DateTime()).getDays(); + } + + + String[] visitParams = {"condom_provided", "provided_male_condoms", "provided_female_condoms", "hivst_kit_needed", "family_planning_service", "sbcc_intervention_provided", "economic_empowerment_education", "education_materials", "entrepreneurial_tools", "given_capital", "distribute_sanitary_pads", "nurturing_and_upb_edu", "nurturing_and_upb_edu_given"}; + extractVisitDetails(visits, visitParams, hf_visits, x, context); + + x++; + } + + processLastVisit(days, context); + processVisit(hf_visits, context, visits); + } + } + + private void extractVisitDetails(List sourceVisits, String[] hf_params, List> hf_visits, int iteration, Context context) { + // get the hf details + Map map = new HashMap<>(); + for (String param : hf_params) { + try { + List details = sourceVisits.get(iteration).getVisitDetails().get(param); + map.put(param, getTexts(context, details)); + } catch (Exception e) { + e.printStackTrace(); + } + + } + hf_visits.add(map); + } + + + private void processLastVisit(int days, Context context) { + linearLayoutLastVisit.setVisibility(View.VISIBLE); + if (days < 1) { + customFontTextViewLastVisit.setText(org.smartregister.chw.core.R.string.less_than_twenty_four); + } else { + customFontTextViewLastVisit.setText(StringUtils.capitalize(MessageFormat.format(context.getString(org.smartregister.chw.core.R.string.days_ago), String.valueOf(days)))); + } + } + + + protected void processVisit(List> community_visits, Context context, List visits) { + if (community_visits != null && community_visits.size() > 0) { + linearLayoutHealthFacilityVisit.setVisibility(View.VISIBLE); + + int x = 0; + for (Map vals : community_visits) { + View view = inflater.inflate(R.layout.medical_history_visit, null); + TextView tvTitle = view.findViewById(R.id.title); + TextView tvTypeOfService = view.findViewById(R.id.type_of_service); + LinearLayout visitDetailsLayout = view.findViewById(R.id.visit_details_layout); + + evaluateTitle(context, x, vals, tvTitle); + + String visitType; + + switch (visits.get(x).getVisitType()) { + case Constants.Events.AGYW_STRUCTURAL_SERVICES: + visitType = context.getString(R.string.agyw_structural_services); + break; + case Constants.Events.AGYW_BEHAVIORAL_SERVICES: + visitType = context.getString(R.string.agyw_behavioral_services); + break; + case Constants.Events.AGYW_BIO_MEDICAL_SERVICES: + visitType = context.getString(R.string.agyw_bio_medical_services); + break; + default: + visitType = visits.get(x).getVisitType(); + + } + tvTypeOfService.setText(visitType + " - " + simpleDateFormat.format(visits.get(x).getDate())); + + + for (Map.Entry entry : vals.entrySet()) { + TextView visitDetailTv = new TextView(context); + LinearLayout.LayoutParams params = new LinearLayout.LayoutParams + ((int) LinearLayout.LayoutParams.MATCH_PARENT, (int) LinearLayout.LayoutParams.WRAP_CONTENT); + + visitDetailTv.setLayoutParams(params); + float scale = context.getResources().getDisplayMetrics().density; + int dpAsPixels = (int) (10 * scale + 0.5f); + visitDetailTv.setPadding(dpAsPixels, 0, 0, 0); + visitDetailsLayout.addView(visitDetailTv); + + + try { + int resource = context.getResources().getIdentifier("agyw_" + entry.getKey(), "string", context.getPackageName()); + evaluateView(context, vals, visitDetailTv, entry.getKey(), resource, ""); + } catch (Exception e) { + Timber.e(e); + } + } + linearLayoutHealthFacilityVisitDetails.addView(view, 0); + + x++; + } + } + } + + + private void evaluateTitle(Context context, int x, Map vals, TextView tvTitle) { + String visitDate = vals.get("followup_visit_date"); + if (StringUtils.isBlank(visitDate)) { + tvTitle.setVisibility(View.GONE); + } else { + try { + tvTitle.setText(MessageFormat.format(context.getString(R.string.mother_champion_visit_title), x + 1, visitDate)); + } catch (Exception e) { + Timber.e(e); + } + } + } + + private void evaluateView(Context context, Map vals, TextView tv, String valueKey, int viewTitleStringResource, String valuePrefixInStringResources) { + if (StringUtils.isNotBlank(getMapValue(vals, valueKey))) { + SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(); + spannableStringBuilder.append(context.getString(viewTitleStringResource), boldSpan, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE).append("\n"); + + String stringValue = getMapValue(vals, valueKey); + String[] stringValueArray; + if (stringValue.contains(",")) { + stringValueArray = stringValue.split(","); + for (String value : stringValueArray) { + spannableStringBuilder.append(getStringResource(context, valuePrefixInStringResources, value.trim()) + "\n", new BulletSpan(10), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + } + } else { + spannableStringBuilder.append(getStringResource(context, valuePrefixInStringResources, stringValue)).append("\n"); + } + tv.setText(spannableStringBuilder); + } else { + tv.setVisibility(View.GONE); + } + } + + + private String getMapValue(Map map, String key) { + if (map.containsKey(key)) { + return map.get(key); + } + return ""; + } + + private String getStringResource(Context context, String prefix, String resourceName) { + int resourceId = context.getResources(). + getIdentifier(prefix + resourceName.trim(), "string", context.getPackageName()); + try { + return context.getString(resourceId); + } catch (Exception e) { + Timber.e(e); + return prefix + resourceName; + } + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java index ff31795663..90b7d4e14b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java @@ -3,6 +3,8 @@ import android.app.Activity; import android.content.Intent; import android.view.Menu; +import android.view.View; +import android.widget.TextView; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; @@ -10,6 +12,8 @@ import org.smartregister.chw.agyw.util.Constants; import org.smartregister.chw.core.utils.CoreConstants; import org.smartregister.chw.model.ReferralTypeModel; +import org.smartregister.chw.pmtct.PmtctLibrary; +import org.smartregister.chw.pmtct.domain.Visit; import org.smartregister.chw.util.Utils; import org.smartregister.common.Gender; @@ -37,7 +41,7 @@ protected void startAGYWServices() { @Override public void startReferralForm() { - if(BuildConfig.USE_UNIFIED_REFERRAL_APPROACH){ + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { List referralTypeModels = new ArrayList<>(); referralTypeModels.add(new ReferralTypeModel(getString(R.string.sti_referral), org.smartregister.chw.util.Constants.JSON_FORM.getSTIServicesReferralForm(), CoreConstants.TASKS_FOCUS.STI_REFERRAL)); @@ -51,4 +55,28 @@ public void startReferralForm() { Utils.launchClientReferralActivity(this, referralTypeModels, memberObject.getBaseEntityId()); } } + + @Override + public void refreshMedicalHistory(boolean hasHistory) { + Visit lastAgywStructuralServices = getVisit(org.smartregister.chw.util.Constants.Events.AGYW_STRUCTURAL_SERVICES); + Visit lastAgywBehavioralServices = getVisit(org.smartregister.chw.util.Constants.Events.AGYW_BEHAVIORAL_SERVICES); + Visit lastAgywBioMedicalServices = getVisit(org.smartregister.chw.util.Constants.Events.AGYW_BIO_MEDICAL_SERVICES); + if (lastAgywStructuralServices != null || lastAgywBehavioralServices != null || lastAgywBioMedicalServices != null) { + rlLastVisit.setVisibility(View.VISIBLE); + findViewById(R.id.view_notification_and_referral_row).setVisibility(View.VISIBLE); + ((TextView) findViewById(R.id.vViewHistory)).setText(R.string.visits_history_profile_title); + ((TextView) findViewById(R.id.ivViewHistoryArrow)).setText(getString(R.string.view_visits_history)); + } else { + rlLastVisit.setVisibility(View.GONE); + } + } + + @Override + public void openMedicalHistory() { + AgywMedicalHistoryActivity.startMe(this, memberObject); + } + + private Visit getVisit(String eventType) { + return PmtctLibrary.getInstance().visitRepository().getLatestVisit(memberObject.getBaseEntityId(), eventType); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPMedicalHistoryActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPMedicalHistoryActivity.java new file mode 100644 index 0000000000..c6a1e06875 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPMedicalHistoryActivity.java @@ -0,0 +1,250 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.text.Spannable; +import android.text.SpannableStringBuilder; +import android.text.Spanned; +import android.text.style.BulletSpan; +import android.text.style.StyleSpan; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.ProgressBar; +import android.widget.TextView; + +import org.apache.commons.lang3.StringUtils; +import org.joda.time.DateTime; +import org.joda.time.Days; +import org.smartregister.chw.R; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.anc.presenter.BaseAncMedicalHistoryPresenter; +import org.smartregister.chw.core.activity.CoreAncMedicalHistoryActivity; +import org.smartregister.chw.core.activity.DefaultAncMedicalHistoryActivityFlv; +import org.smartregister.chw.interactor.KvpPrEPMedicalHistoryInteractor; +import org.smartregister.chw.kvp.domain.MemberObject; +import org.smartregister.chw.util.Constants; + +import java.text.MessageFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import timber.log.Timber; + +public class KvpPrEPMedicalHistoryActivity extends CoreAncMedicalHistoryActivity { + private static MemberObject kvpMemberObject; + private final Flavor flavor = new KvpPrEPMedicalHistoryActivityFlv(); + private ProgressBar progressBar; + + public static void startMe(Activity activity, MemberObject memberObject) { + Intent intent = new Intent(activity, KvpPrEPMedicalHistoryActivity.class); + kvpMemberObject = memberObject; + activity.startActivity(intent); + } + + @Override + public void initializePresenter() { + presenter = new BaseAncMedicalHistoryPresenter(new KvpPrEPMedicalHistoryInteractor(), this, kvpMemberObject.getBaseEntityId()); + } + + @Override + public void setUpView() { + linearLayout = findViewById(org.smartregister.chw.opensrp_chw_anc.R.id.linearLayoutMedicalHistory); + progressBar = findViewById(org.smartregister.chw.opensrp_chw_anc.R.id.progressBarMedicalHistory); + + TextView tvTitle = findViewById(org.smartregister.chw.opensrp_chw_anc.R.id.tvTitle); + tvTitle.setText(getString(org.smartregister.chw.opensrp_chw_anc.R.string.back_to, kvpMemberObject.getFullName())); + + ((TextView) findViewById(R.id.medical_history)).setText(getString(R.string.visits_history)); + } + + @Override + public View renderView(List visits) { + super.renderView(visits); + View view = flavor.bindViews(this); + displayLoadingState(true); + flavor.processViewData(visits, this); + displayLoadingState(false); + TextView agywVisitTitle = view.findViewById(org.smartregister.chw.core.R.id.customFontTextViewHealthFacilityVisitTitle); + agywVisitTitle.setText(R.string.agyw_visit); + return view; + } + + @Override + public void displayLoadingState(boolean state) { + progressBar.setVisibility(state ? View.VISIBLE : View.GONE); + } + + private static class KvpPrEPMedicalHistoryActivityFlv extends DefaultAncMedicalHistoryActivityFlv { + private final StyleSpan boldSpan = new StyleSpan(android.graphics.Typeface.BOLD); + + @Override + protected void processAncCard(String has_card, Context context) { + // super.processAncCard(has_card, context); + linearLayoutAncCard.setVisibility(View.GONE); + } + + @Override + protected void processHealthFacilityVisit(List> hf_visits, Context context) { + //super.processHealthFacilityVisit(hf_visits, context); + } + + @Override + public void processViewData(List visits, Context context) { + + if (visits.size() > 0) { + int days = 0; + List> hf_visits = new ArrayList<>(); + + int x = 0; + while (x < visits.size()) { + LinkedHashMap visitDetails = new LinkedHashMap<>(); + // the first object in this list is the days difference + if (x == 0) { + days = Days.daysBetween(new DateTime(visits.get(visits.size() - 1).getDate()), new DateTime()).getDays(); + } + + String[] visitTypeParams = {"visit_type", "client_hiv_status"}; + extractVisitDetails(visits, visitTypeParams, visitDetails, x, context); + + String[] structuralServicesParams = {"structural_services_provided", "other_structural_services_provided"}; + extractVisitDetails(visits, structuralServicesParams, visitDetails, x, context); + + String[] protectiveServicesParams = {"condoms_given", "type_of_issued_condoms", "number_of_male_condoms_issued", "number_of_female_condoms_issued", "number_of_iec_distributed", "number_of_tubes_needles_distributed", "number_of_water_distributed", "number_of_alcohol_swabs_distributed", "number_of_disposable_safety_boxes_distributed", "number_of_plasters_distributed", "number_of_hivst_kits_distributed", "number_of_index_coupons_distributed"}; + extractVisitDetails(visits, protectiveServicesParams, visitDetails, x, context); + + String[] referralServicesParams = {"referral_to_structural_services", "other_referral_to_structural_services", "referrals_completed_to_structural_services", "other_referrals_completed_to_structural_services"}; + extractVisitDetails(visits, referralServicesParams, visitDetails, x, context); + + String[] sbccServicesParams = {"sbcc_services_offered"}; + extractVisitDetails(visits, sbccServicesParams, visitDetails, x, context); + hf_visits.add(visitDetails); + + x++; + } + + processLastVisit(days, context); + processVisit(hf_visits, context, visits); + } + } + + private void extractVisitDetails(List sourceVisits, String[] hf_params, LinkedHashMap visitDetailsMap, int iteration, Context context) { + // get the hf details + Map map = new HashMap<>(); + for (String param : hf_params) { + try { + List details = sourceVisits.get(iteration).getVisitDetails().get(param); + map.put(param, getTexts(context, details)); + } catch (Exception e) { + e.printStackTrace(); + } + + } + visitDetailsMap.putAll(map); + } + + + private void processLastVisit(int days, Context context) { + linearLayoutLastVisit.setVisibility(View.VISIBLE); + if (days < 1) { + customFontTextViewLastVisit.setText(org.smartregister.chw.core.R.string.less_than_twenty_four); + } else { + customFontTextViewLastVisit.setText(StringUtils.capitalize(MessageFormat.format(context.getString(org.smartregister.chw.core.R.string.days_ago), String.valueOf(days)))); + } + } + + + protected void processVisit(List> community_visits, Context context, List visits) { + final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss", Locale.getDefault()); + if (community_visits != null && community_visits.size() > 0) { + linearLayoutHealthFacilityVisit.setVisibility(View.VISIBLE); + + int x = 0; + for (LinkedHashMap vals : community_visits) { + View view = inflater.inflate(R.layout.medical_history_visit, null); + TextView tvTypeOfService = view.findViewById(R.id.type_of_service); + LinearLayout visitDetailsLayout = view.findViewById(R.id.visit_details_layout); + + String visitType; + + if (Constants.Events.KVP_PREP_FOLLOWUP_VISIT.equals(visits.get(x).getVisitType())) { + visitType = context.getString(R.string.kvp_prep_followup_visit); + } else { + visitType = visits.get(x).getVisitType(); + } + tvTypeOfService.setText(visitType + " - " + simpleDateFormat.format(visits.get(x).getDate())); + + + for (LinkedHashMap.Entry entry : vals.entrySet()) { + TextView visitDetailTv = new TextView(context); + LinearLayout.LayoutParams params = new LinearLayout.LayoutParams + ((int) LinearLayout.LayoutParams.MATCH_PARENT, (int) LinearLayout.LayoutParams.WRAP_CONTENT); + + visitDetailTv.setLayoutParams(params); + float scale = context.getResources().getDisplayMetrics().density; + int dpAsPixels = (int) (10 * scale + 0.5f); + visitDetailTv.setPadding(dpAsPixels, 0, 0, 0); + visitDetailsLayout.addView(visitDetailTv); + + + try { + int resource = context.getResources().getIdentifier("kvp_" + entry.getKey(), "string", context.getPackageName()); + evaluateView(context, vals, visitDetailTv, entry.getKey(), resource, ""); + } catch (Exception e) { + Timber.e(e); + } + } + linearLayoutHealthFacilityVisitDetails.addView(view, 0); + + x++; + } + } + } + + private void evaluateView(Context context, Map vals, TextView tv, String valueKey, int viewTitleStringResource, String valuePrefixInStringResources) { + if (StringUtils.isNotBlank(getMapValue(vals, valueKey))) { + SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(); + spannableStringBuilder.append(context.getString(viewTitleStringResource), boldSpan, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE).append("\n"); + + String stringValue = getMapValue(vals, valueKey); + String[] stringValueArray; + if (stringValue.contains(",")) { + stringValueArray = stringValue.split(","); + for (String value : stringValueArray) { + spannableStringBuilder.append(getStringResource(context, valuePrefixInStringResources, value.trim()) + "\n", new BulletSpan(10), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + } + } else { + spannableStringBuilder.append(getStringResource(context, valuePrefixInStringResources, stringValue)).append("\n"); + } + tv.setText(spannableStringBuilder); + } else { + tv.setVisibility(View.GONE); + } + } + + + private String getMapValue(Map map, String key) { + if (map.containsKey(key)) { + return map.get(key); + } + return ""; + } + + private String getStringResource(Context context, String prefix, String resourceName) { + int resourceId = context.getResources(). + getIdentifier(prefix + resourceName.trim(), "string", context.getPackageName()); + try { + return context.getString(resourceId); + } catch (Exception e) { + Timber.e(e); + return prefix + resourceName; + } + } + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPProfileActivity.java index ce9c554a6c..c10871873c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPProfileActivity.java @@ -1,13 +1,20 @@ package org.smartregister.chw.activity; +import static org.smartregister.chw.util.Utils.getCommonReferralTypes; +import static org.smartregister.chw.util.Utils.launchClientReferralActivity; + import android.app.Activity; import android.content.Intent; +import android.view.View; +import android.widget.TextView; import android.widget.Toast; import org.smartregister.chw.BuildConfig; import org.smartregister.chw.R; import org.smartregister.chw.core.activity.CoreKvpProfileActivity; import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.kvp.KvpLibrary; +import org.smartregister.chw.kvp.domain.Visit; import org.smartregister.chw.kvp.util.Constants; import org.smartregister.chw.model.ReferralTypeModel; import org.smartregister.chw.util.KvpVisitUtils; @@ -17,9 +24,6 @@ import timber.log.Timber; -import static org.smartregister.chw.util.Utils.getCommonReferralTypes; -import static org.smartregister.chw.util.Utils.launchClientReferralActivity; - public class KvpPrEPProfileActivity extends CoreKvpProfileActivity { public static void startProfileActivity(Activity activity, String baseEntityId) { Intent intent = new Intent(activity, KvpPrEPProfileActivity.class); @@ -67,4 +71,27 @@ protected void setupViews() { } super.setupViews(); } + + + @Override + public void refreshMedicalHistory(boolean hasHistory) { + Visit lastVisit = getVisit(org.smartregister.chw.util.Constants.Events.KVP_PREP_FOLLOWUP_VISIT); + if (lastVisit != null) { + rlLastVisit.setVisibility(View.VISIBLE); + findViewById(R.id.view_notification_and_referral_row).setVisibility(View.VISIBLE); + ((TextView) findViewById(R.id.vViewHistory)).setText(R.string.visits_history_profile_title); + ((TextView) findViewById(R.id.ivViewHistoryArrow)).setText(getString(R.string.view_visits_history)); + } else { + rlLastVisit.setVisibility(View.GONE); + } + } + + @Override + public void openMedicalHistory() { + KvpPrEPMedicalHistoryActivity.startMe(this, memberObject); + } + + private Visit getVisit(String eventType) { + return KvpLibrary.getInstance().visitRepository().getLatestVisit(memberObject.getBaseEntityId(), eventType); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java index 64401acd06..f7c1cdf76a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java @@ -287,7 +287,7 @@ public void refreshMedicalHistory(boolean hasHistory) { if (lastFollowupVisit != null) { rlLastVisit.setVisibility(View.VISIBLE); findViewById(R.id.view_notification_and_referral_row).setVisibility(View.VISIBLE); - ((TextView) findViewById(R.id.vViewHistory)).setText(R.string.mother_champion_visits_history); + ((TextView) findViewById(R.id.vViewHistory)).setText(R.string.visits_history_profile_title); ((TextView) findViewById(R.id.ivViewHistoryArrow)).setText(getString(R.string.view_visits_history)); } else { rlLastVisit.setVisibility(View.GONE); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/SortableVisit.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/SortableVisit.java new file mode 100644 index 0000000000..540afefa2d --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/SortableVisit.java @@ -0,0 +1,11 @@ +package org.smartregister.chw.domain; + +import org.smartregister.chw.anc.domain.Visit; + +public class SortableVisit extends Visit implements Comparable { + @Override + public int compareTo(SortableVisit sortableVisit) { + long data = getDate().getTime() - sortableVisit.getDate().getTime(); + return (int) data; + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/AgywMedicalHistoryInteractor.java b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/AgywMedicalHistoryInteractor.java new file mode 100644 index 0000000000..efd3efa646 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/AgywMedicalHistoryInteractor.java @@ -0,0 +1,71 @@ +package org.smartregister.chw.interactor; + +import static org.smartregister.chw.anc.util.VisitUtils.getVisitDetailsOnly; +import static org.smartregister.chw.anc.util.VisitUtils.getVisitGroups; +import static org.smartregister.chw.anc.util.VisitUtils.getVisitsOnly; + +import android.content.Context; + +import com.google.gson.Gson; + +import org.smartregister.chw.anc.contract.BaseAncMedicalHistoryContract; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.anc.util.VisitUtils; +import org.smartregister.chw.core.CoreBaseAncMedicalHistoryInteractor; +import org.smartregister.chw.domain.SortableVisit; +import org.smartregister.chw.util.Constants; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class AgywMedicalHistoryInteractor extends CoreBaseAncMedicalHistoryInteractor { + public static List getVisits(String memberID, String... eventTypes) { + + List visits = new ArrayList<>(); + if (eventTypes != null && eventTypes.length > 0) { + for (String eventType : eventTypes) { + List visit = getVisitsOnly(memberID, eventType); + visits.addAll(visit); + } + } + + int x = 0; + while (visits.size() > x) { + Visit visit = visits.get(x); + List detailList = getVisitDetailsOnly(visit.getVisitId()); + visits.get(x).setVisitDetails(getVisitGroups(detailList)); + x++; + } + + List sortableVisits = new ArrayList<>(); + for (Visit visit : visits) { + Gson gson = new Gson(); + SortableVisit sortableVisit = gson.fromJson(gson.toJson(visit), SortableVisit.class); + sortableVisits.add(sortableVisit); + } + + Collections.sort(sortableVisits); + + return sortableVisits; + } + + @Override + public void getMemberHistory(final String memberID, final Context context, final BaseAncMedicalHistoryContract.InteractorCallBack callBack) { + final Runnable runnable = () -> { + + String[] eventTypes = new String[]{Constants.Events.AGYW_BIO_MEDICAL_SERVICES, Constants.Events.AGYW_BEHAVIORAL_SERVICES, Constants.Events.AGYW_STRUCTURAL_SERVICES}; + List visits = getVisits(memberID, eventTypes); + final List all_visits = new ArrayList<>(visits); + + for (Visit visit : visits) { + List child_visits = VisitUtils.getChildVisits(visit.getVisitId()); + all_visits.addAll(child_visits); + } + appExecutors.mainThread().execute(() -> callBack.onDataFetched(all_visits)); + }; + + appExecutors.diskIO().execute(runnable); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/KvpPrEPMedicalHistoryInteractor.java b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/KvpPrEPMedicalHistoryInteractor.java new file mode 100644 index 0000000000..c1928011ad --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/KvpPrEPMedicalHistoryInteractor.java @@ -0,0 +1,71 @@ +package org.smartregister.chw.interactor; + +import static org.smartregister.chw.anc.util.VisitUtils.getVisitDetailsOnly; +import static org.smartregister.chw.anc.util.VisitUtils.getVisitGroups; +import static org.smartregister.chw.anc.util.VisitUtils.getVisitsOnly; + +import android.content.Context; + +import com.google.gson.Gson; + +import org.smartregister.chw.anc.contract.BaseAncMedicalHistoryContract; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.anc.util.VisitUtils; +import org.smartregister.chw.core.CoreBaseAncMedicalHistoryInteractor; +import org.smartregister.chw.domain.SortableVisit; +import org.smartregister.chw.util.Constants; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class KvpPrEPMedicalHistoryInteractor extends CoreBaseAncMedicalHistoryInteractor { + public static List getVisits(String memberID, String... eventTypes) { + + List visits = new ArrayList<>(); + if (eventTypes != null && eventTypes.length > 0) { + for (String eventType : eventTypes) { + List visit = getVisitsOnly(memberID, eventType); + visits.addAll(visit); + } + } + + int x = 0; + while (visits.size() > x) { + Visit visit = visits.get(x); + List detailList = getVisitDetailsOnly(visit.getVisitId()); + visits.get(x).setVisitDetails(getVisitGroups(detailList)); + x++; + } + + List sortableVisits = new ArrayList<>(); + for (Visit visit : visits) { + Gson gson = new Gson(); + SortableVisit sortableVisit = gson.fromJson(gson.toJson(visit), SortableVisit.class); + sortableVisits.add(sortableVisit); + } + + Collections.sort(sortableVisits); + + return sortableVisits; + } + + @Override + public void getMemberHistory(final String memberID, final Context context, final BaseAncMedicalHistoryContract.InteractorCallBack callBack) { + final Runnable runnable = () -> { + + String[] eventTypes = new String[]{Constants.Events.KVP_PREP_FOLLOWUP_VISIT}; + List visits = getVisits(memberID, eventTypes); + final List all_visits = new ArrayList<>(visits); + + for (Visit visit : visits) { + List child_visits = VisitUtils.getChildVisits(visit.getVisitId()); + all_visits.addAll(child_visits); + } + appExecutors.mainThread().execute(() -> callBack.onDataFetched(all_visits)); + }; + + appExecutors.diskIO().execute(runnable); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java b/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java index 17ff6b8fe2..0a2bf1e0f5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/sync/ChwClientProcessor.java @@ -74,6 +74,10 @@ public void processEvents(ClientClassification clientClassification, Table vacci case Constants.Events.MOTHER_CHAMPION_FOLLOWUP: case Constants.Events.ANC_FIRST_FACILITY_VISIT: case Constants.Events.ANC_RECURRING_FACILITY_VISIT: + case Constants.Events.AGYW_STRUCTURAL_SERVICES: + case Constants.Events.AGYW_BEHAVIORAL_SERVICES: + case Constants.Events.AGYW_BIO_MEDICAL_SERVICES: + case Constants.Events.KVP_PREP_FOLLOWUP_VISIT: if (eventClient.getEvent() == null) { return; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index a0ea324295..a394566884 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -121,6 +121,10 @@ public static final class Events { public static final String MOTHER_CHAMPION_FOLLOWUP = "Mother Champion Followup"; public static final String CBHS_FOLLOWUP = "CBHS Followup"; public static final String CBHS_CLOSE_VISITS = "CBHS Close Visits"; + public static final String AGYW_STRUCTURAL_SERVICES = "AGYW Structural Services"; + public static final String AGYW_BEHAVIORAL_SERVICES = "AGYW Behavioral Services"; + public static final String AGYW_BIO_MEDICAL_SERVICES = "AGYW Bio Medical Services"; + public static final String KVP_PREP_FOLLOWUP_VISIT = "Kvp PrEP Follow-up Visit"; } public static final class ActionList { diff --git a/opensrp-chw/src/main/res/layout/medical_history_visit.xml b/opensrp-chw/src/main/res/layout/medical_history_visit.xml new file mode 100644 index 0000000000..155c821415 --- /dev/null +++ b/opensrp-chw/src/main/res/layout/medical_history_visit.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index eaef683b12..f762dd249c 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -441,4 +441,145 @@ Ruhusu Ukusanyaji wa Nambari ya Simu Mtoa Huduma wa Afya ngazi ya Jamii hukusanya nambari za simu za wateja zitakazotumika kwa ufuatiliaji, tathmini na uchambuzi wa ziara zinazofanywa katika jamii. + Rekodi Huduma za Msichana Rika Balehe na Mwanamke Kijana + + + AGYW Visits + Afua za kumuundo + Afua za afya na mabadiliko ya tabia + Afua za kitabibu + Mteja alipatiwa Kondomu: + Idadi ya kondomu za kiume zilizotolewa: + Idadi ya kondomu za kike zilizotolewa: + Mteja alihitaji kifaa cha kujipima VVU: + Huduma za uzazi wa mpango: + Elimu ya uwezeshaji wa kiuchumi iliyotolewa: + Msaada wa vifaa vya elimu ulitolewa: + Vifaa vya ujasiriamali vilivyotolewa: + Alipatiwa fedha ya mtaji: + Ugawaji wa taulo za kike ulifanyika: + Alipatiwa elimu ya malezi na makuzi: + Alipatiwa elimu malezi na makuzi: + Afua za afya na mabadiliko tabia kilizotolewa: + Tabia hatarishi + Elimu ya jinsi na jinsia + Mifumo ya Afya ya Uzazi + Mawasiliano athirifu + Magonjwa ya ngono na VVU/UKIMWI + Uzazi wa mpango + Mahusiano mazuri + Ukatili wa kijinsia + Matumizi sahihi na endelevu ya kondomu + Huduma za tiba na matunzo ya waishio na VVU + Malezi na Makuzi + Elimu ya dawa kinga (PrEP) + Elimu ya dawa kinga (PEP) + Elimu kuhusu kifua kikuu (TB) + Elimu ya upimaji wa VVU + Ugawaji wa vipeperushi vya elimu ya afya + Elimu ya balehe na usafi wa hedhi + Elimu ya stadi za maisha + Ujuzi wa ujasiliamali katika kikundi + Mafunzo kwa vitendo + Vifaa vya ujasiliamali + Maandalizi ya kujiajiri na kuajiriwa + Huduma za kuweka na kukopeshana + Usimamizi wa Akiba + Usimamizi wa Mikopo + Kupanga bajeti + Kuanzisha biashara + Kuandaa mpango biashara + Usimamizi wa biashara + Huduma za benki ya biashara + Utafiti wa masoko + Elimu ya fedha na uwekezaji + Huduma zinzotolewa kwa wanawake vijana + Umuhimu wa elimu ya malezi katika familia/jamii + Maana ya ukatili dhidi ya watoto na aina za ukatili + Visababishi na mambo hatarishi yanayochangia ukatili dhidi ya watoto + Athari za ukatili dhidi ya watoto katika familia/jamii zetu + Malezi ya watoto wadogo yanayozingatia ulinzi na usalama + Kujenga na kudumisha mazingira salama ya watoto nyumbani na katika jamii + Stadi muhimu zinazofundisha watoto kujilinda na ukatili + Mawasiliano yanayofaa kwa watoto wa rika tofauti + Kuwawezesha watoto kuzungumza na utaratibu wa rufaa katika jamii + Malezi ya watoto wenye ulemavu + Kuimarisha uchumi wa kaya + Utamaduni na vyombo vya habari + Vidonge + Vipandikizi + kijiti cha miaka Milano + Kitanzi + Njia za asili + + + + Aina ya hudhurio la mteja: + Hudhurio la marudio + Hali ya mteja ya maambukizi ya VVU: + Mteja Mpya + Anaendelea na Huduma + Chanya + Hasi + Haijulikani + Mteja amepatiwa kondomu: + Aina za kondomu zilizotolewa: + Idadi ya kondomu za kiume zilizotolewa: + Idadi ya kondomu za kike zilitolewa: + Idadi ya vipeperushi vilivyotolewa: + Idadi ya vichupa na sindano zilizotolewa: + Idadi ya maji yaliotolewa: + Idadi ya pamba zilizotolewa(Alcohol swab): + Idadi ya mabox yakutupia vitu vyenye ncha kali yaliotolewa: + Idadi ya plasta iliyotolewa: + Idadi ya vitepe vya JIPIME vilivyotolewa: + Idadi ya Kuponi za huduma za mnyororo na mtandao: + Kondomu ya kiume + Kondomu ya Kike + Rufaa kwenda Huduma za kimuundo zilizotolewa kwa mteja: + Rufaa nyingine kwenda Huduma za kimuundo zilizotolewa kwa mteja: + Rufaa za huduma za kimuundo alizomaliza mteja: + Rufaa nyingine za huduma za kimuundo alizomaliza mteja: + Ujasiriamali na biashara + Shughuli za uzalishaji kipato + Unyanyapaa na kutengwa + Huduma na ulinzi kwa mtoto + Ukatili wa kijinsia dhidi ya makundi maalum + Utoaji wa mitaji na nyenzo za kazi + Msaada wa kisheria + Msaada wa kijamii kwa makundi maalum + Nyinginezo + Hakuna + Elimu ya mabadiliko ya tabia ya kiafya zilizotolewa: + Matumizi sahihi ya Kondomu za kiume + Matumizi sahihi ya Kondomu za kike + Ushawishi wa matumizi ya kondomu + Njia za kujikinga na magonjwa ya ngono + Matumizi ya pombe kupita kiwango + Elimu ya VVU na Ukimwi + Elimu ya matumizi ya dawa za ART + Elimu ya huduma za JIPIME + Elimu ya matumizi ya dawa kinga + Elimu ya matumizi ya dawa za PEP + Upunguzaji wa madhara yatokanayo na utumiaji wa dawa za kulevya + Elimu juu ya vifaa vya wajidunga + Elimu ya Overdose management + Elimu ya Homa ya Ini B + Elimu ya Homa ya Ini C + Ushauri wa Kifua kikuu + Ushauri wa Ukatili wa kijinsia + Unyanyapaa na kutengwa + Mahusiano ya wapenzi wengi na athari zake + Ushari wa upimaji wa VVU + Elimu juu ya uhitaji wa huduma za kiafya + TOHARA kinga kwa wanaume + Huduma za mama na mtoto + Huduma za kimiuundo zilizotolewa + Other Structural services provided + Shughuli za uzalishaji kipato + Ugawaji wa vipeperushi kwaajili ya shughuli za uzalishaji kipato + Uwezeshaji jamii lengwa + Elimu ya ukatili wa kijinsia dhidi ya makundi maalum + Ujasiriamali na biashara + diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_behavioral_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_behavioral_services.json old mode 100644 new mode 100755 index fc36836ef9..15a3d599df --- a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_behavioral_services.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_behavioral_services.json @@ -43,7 +43,7 @@ }, "global": {}, "step1": { - "title": "Behavioral Services", + "title": "Afua za afya na mabadiliko ya tabia", "fields": [ { "key": "sbcc_intervention_provided", @@ -51,7 +51,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "sbcc_intervention_provided", "type": "check_box", - "label": "SBCC intervention provided to the client", + "label": "Afua za afya na mabadiliko ya tabia zilizotolewa kwa mteja", "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_bio_medical_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_bio_medical_services.json new file mode 100755 index 0000000000..b735e36b67 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_bio_medical_services.json @@ -0,0 +1,232 @@ +{ + "count": "1", + "encounter_type": "AGYW Bio Medical Services", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "global": {}, + "step1": { + "title": "Afua za kitabibu", + "fields": [ + { + "key": "condom_provided", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "condom_provided", + "label": "Je,Mteja alipatiwa Kondomu", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + }, + { + "key": "provided_male_condoms", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "provided_male_condoms", + "type": "edit_text", + "hint": "Idadi ya kondomu za kiume zilizotolewa", + "v_numeric": { + "value": "true", + "err": "Tafadhali jaza idadi sahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali jaza idadi " + }, + "relevance": { + "step1:condom_provided": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "provided_female_condoms", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "provided_female_condoms", + "type": "edit_text", + "hint": "Idadi ya kondomu za kike zilizotolewa", + "v_numeric": { + "value": "true", + "err": "Tafadhali jaza idadi sahihi" + }, + "v_required": { + "value": "true", + "err": "Tafadhali jaza idadi" + }, + "relevance": { + "step1:condom_provided": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "hivst_kit_needed", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "hivst_kit_needed", + "label": "Je,Mteja anahitaji kifaa cha kujipima VVU?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + }, + { + "key": "prompt_for_enrollment_to_hivst", + "type": "toaster_notes", + "text": "Msajili mteja kwenye huduma za kujipima na VVU(HIVST)", + "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:hivst_kit_needed": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "family_planning_service", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "family_planning_service", + "type": "native_radio", + "label": "Chagua huduma ya uzazi wa mpango iliyotolewa kwa mteja", + "exclusive": [ + "none" + ], + "options": [ + { + "key": "pill", + "text": "Vidonge", + "openmrs_entity": "concept", + "openmrs_entity_id": "pill" + }, + { + "key": "injectable", + "text": "Sindano", + "openmrs_entity": "concept", + "openmrs_entity_id": "injectable" + }, + { + "key": "implanon", + "text": "Vipandikizi", + "openmrs_entity": "concept", + "openmrs_entity_id": "implanon" + }, + { + "key": "jadelle", + "text": "kijiti cha miaka Milano", + "openmrs_entity": "concept", + "openmrs_entity_id": "jadelle" + }, + { + "key": "iucd", + "text": "Kitanzi", + "openmrs_entity": "concept", + "openmrs_entity_id": "iucd" + }, + { + "key": "condom", + "text": "kondomu", + "openmrs_entity": "concept", + "openmrs_entity_id": "condom" + }, + { + "key": "traditional", + "text": "Njia za asili", + "openmrs_entity": "concept", + "openmrs_entity_id": "traditional" + }, + { + "key": "none", + "text": "Hakuna", + "openmrs_entity": "concept", + "openmrs_entity_id": "none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json new file mode 100755 index 0000000000..9a6bc7ebfa --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json @@ -0,0 +1,1439 @@ +{ + "count": "8", + "skip_blank_steps": true, + "encounter_type": "AGYW Registration", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "global": {}, + "step1": { + "title": "Hali ya kifamilia na mahusiano ya kijamii", + "next": "step2", + "fields": [ + { + "key": "household_people_for_less_than_18", + "type": "check_box", + "label": "Je, katika kaya yako unaishi na mmojawapo kati ya wafuatao? ", + "combine_checkbox_option_values": "true", + "openmrs_entity": "concept", + "openmrs_entity_id": "household_people_for_less_than_18", + "openmrs_entity_parent": "", + "exclusive": [ + "led_by_below_eighteen" + ], + "options": [ + { + "key": "father", + "text": "Baba", + "openmrs_entity": "concept", + "openmrs_entity_id": "father" + }, + { + "key": "mother", + "text": "Mama", + "openmrs_entity": "concept", + "openmrs_entity_id": "mother" + }, + { + "key": "guardian", + "text": "Mlezi", + "openmrs_entity": "concept", + "openmrs_entity_id": "guardian" + }, + { + "key": "led_by_below_eighteen", + "text": "Kaya inaongozwa na mtoto chini ya miaka 18 ", + "openmrs_entity": "concept", + "openmrs_entity_id": "led_by_below_eighteen" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu " + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } + } + } + }, + { + "key": "prompt_for_agyw_enrollment_less_than_18", + "type": "toaster_notes", + "text": "Mteja huyu yuko kwenye mazingira hatarishi aingie kwenye mpango moja kwa moja .", + "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:household_people_for_less_than_18": { + "ex-checkbox": [ + { + "or": [ + "led_by_below_eighteen" + ] + } + ] + } + } + }, + { + "key": "household_people_for_18_and_above", + "type": "check_box", + "label": "Je, katika kaya yako unaishi na mmojawapo kati ya wafuatao? ", + "combine_checkbox_option_values": "true", + "openmrs_entity": "concept", + "openmrs_entity_id": "household_people", + "openmrs_entity_parent": "", + "options": [ + { + "key": "father", + "text": "Baba", + "openmrs_entity": "concept", + "openmrs_entity_id": "father" + }, + { + "key": "mother", + "text": "Mama", + "openmrs_entity": "concept", + "openmrs_entity_id": "mother" + }, + { + "key": "guardian", + "text": "Mlezi", + "openmrs_entity": "concept", + "openmrs_entity_id": "guardian" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } + } + } + }, + { + "key": "both_parents_alive", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "both_parents_alive", + "label": "Je wazazi wako wote wapo hai? ", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } + } + } + }, + { + "key": "birth_before_18", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "birth_before_18", + "label": "Je ulishawahi kuzaa kabla ya umri wa miaka 18? ", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } + } + } + }, + { + "key": "prompt_for_agyw_enrollment_birth_before_18", + "type": "toaster_notes", + "text": "Mteja huyu yuko kwenye mazingira hatarishi aingie kwenye mpango moja kwa moja .", + "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step1:birth_before_18": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "ever_married", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ever_married", + "label": "Je, umeolewa au umeshawahi kuolewa?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } + } + } + }, + { + "key": "ever_pregnant", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ever_pregnant", + "label": "Je umewahi kuwa mjamzito au kuzaa? ", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } + } + } + }, + { + "key": "currently_pregnant", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "currently_pregnant", + "label": "Je wewe ni mjamzito? ", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } + } + } + } + ] + }, + "step2": { + "title": "Elimu", + "next": "step3", + "fields": [ + { + "key": "formal_education", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "formal_education", + "label": "Je kwa sasa upo shule?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + }, + { + "key": "missed_school", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "missed_school", + "label": "Je, ushawahi kutokuhudhuria shule kwa siku 5 au Zaidi ndani ya mwezi mmoja uliopita kutoka na sababu za kiuchumi au kijamii (isipokuwa kuugua au shule kufungwa ?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } + } + } + } + ] + }, + "step3": { + "title": "Vitendo vya ngono", + "next": "step4", + "fields": [ + { + "key": "sexual_intercourse", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sexual_intercourse", + "label": "Je, ulishawahi kufanya ngono (kufanya ngono inamaanisha pale mwanaume anapoingiza uume wake kwenye uke au kwenye njia ya haja kubwa. Hii inaweza kujumuisha kufanya ngono kwa kulazimishwa au kutishiwa. ", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + }, + { + "key": "sexual_intercourse_past_6_months", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sexual_intercourse_past_6_months", + "label": "Je umefanya ngono ndani ya miezi 6 iliyopita? ", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "step3:sexual_intercourse": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "condom_usage", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "condom_usage", + "label": "Je ulitumia kondomu mara zote na mwenza/ mpenzi wako ndani ya miezi 6 ?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "step3:sexual_intercourse": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "sex_for_money", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_for_money", + "label": "Je, katika kipindi cha miezi 12 iliyopita ulishawahi kuingia kwenye mahusiano ya kingono ili kupata mahitaji kama fedha, zawadi au vitu vingine? ", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "step3:sexual_intercourse": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "prompt_for_agyw_enrollment_sex_for_money", + "type": "toaster_notes", + "text": "Mteja huyu yuko kwenye mazingira hatarishi aingie kwenye mpango moja kwa moja.", + "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step3:sex_for_money": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "sex_after_substance_abuse", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sex_after_substance_abuse", + "label": "Je umeshawahi kufanya ngono baada ya kutumia pombe au kilevi chochote katika kipindi cha miezi 6 iliyopita?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "step3:sexual_intercourse": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "more_than_two_partner", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "more_than_two_partner", + "label": "Je umeshawahi kufanya ngono na washiriki wa ngono wawili au zaidi ndani ya miezi 3 iliyopita? ", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "step3:sexual_intercourse": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "prompt_for_agyw_enrollment_more_than_two_partner", + "type": "toaster_notes", + "text": "Mteja Huyu yuko kwenye mazingira hatarishi aingie kwenye mpango moja kwa moja.", + "openmrs_entity_id": "", + "openmrs_entity": "concept", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step3:more_than_two_partner": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + } + ] + }, + "step4": { + "title": "Ukatili wa kijinsia na kingono", + "next": "step5", + "fields": [ + { + "key": "unwillingly_touched", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "unwillingly_touched", + "label": "Je kuna mtu yoyote aliwahi kukushika sehemu zako za siri, kukushika matiti au kukubusu kwa nguvu bila ridhaa yako ? ", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + }, + { + "key": "forced_for_sexual_activity", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "forced_for_sexual_activity", + "label": "Je kuna mtu yeyote amewahi kukulazimisha kufanya ngono kwa kukutisha, udanganyifu au kushiriki kwenye vitendo vyovyote vya kingono kwa kukulewesha pombe au dawa za kulevya? ", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + }, + { + "key": "scared_of_person", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "scared_of_person", + "label": "Je huwa unamuogopa mtu yoyote kati ya wanafamilia yako, mpenzi au mume wako?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + } + ] + }, + "step5": { + "title": "Magonjwa ya ngono", + "next": "step6", + "fields": [ + { + "key": "sti_investigation", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sti_investigation", + "label": "Je ulishawahi kufanyiwa uchunguzi na kugundulika kuwa na magonjwa ya ngono katika kipindi cha miezi 3 iliyopita ?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + }, + { + "key": "sti_symptoms", + "type": "check_box", + "label": "Je una dalili zozote za maambukizi ya magonjwa ya ngono kama vile", + "combine_checkbox_option_values": "true", + "openmrs_entity": "concept", + "openmrs_entity_id": "sti_symptoms", + "openmrs_entity_parent": "", + "options": [ + { + "key": "genital_ulcers", + "text": "Michubuko/ vidonda sehemu za siri", + "openmrs_entity": "concept", + "openmrs_entity_id": "genital_ulcers" + }, + { + "key": "abnormal_vaginal_discharge", + "text": "Kutokwa na maji maji yasiyokua ya kawaida ukeni au kwenye njia ya haja kubwa ", + "openmrs_entity": "concept", + "openmrs_entity_id": "abnormal_vaginal_discharge" + }, + { + "key": "pain_during_sex", + "text": "Kupata maumivu wakati wa kufanya ngono", + "openmrs_entity": "concept", + "openmrs_entity_id": "pain_during_sex" + }, + { + "key": "low_abdominal_pain", + "text": "Maumivu ya tumbo chini ya kitovu ", + "openmrs_entity": "concept", + "openmrs_entity_id": "low_abdominal_pain" + }, + { + "key": "none", + "text": "Hakuna", + "openmrs_entity": "concept", + "openmrs_entity_id": "none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "exclusive": [ + "none" + ], + "relevance": { + "step5:sti_investigation": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "sti_treatment", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sti_treatment", + "label": "Je umeshawahi kutibiwa magonjwa ya ngono katika kipindi cha miezi 12 iliyopita ", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "step5:sti_investigation": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + } + ] + }, + "step6": { + "title": "Matumizi ya pombe na dawa za kulevya", + "next": "step7", + "fields": [ + { + "key": "more_than_6_drinks", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "more_than_6_drinks", + "label": "Je umewahi kunywa pombe Zaidi ya vinywaji 6 na zaidi katika tukio moja ndani ya mwezi 1 uliopita? ", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + }, + { + "key": "illicit_drug_usage", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "illicit_drug_usage", + "label": "Je ushawahi kutumia madawa ya kulevya katika kipindi cha miezi 3 iliyopita?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + }, + { + "key": "drug_alcohol_problems", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "drug_alcohol_problems", + "label": "Je umewahi kuingia kwenye matatizo ya kifamilia,kijamii,kiafya na kifedha kutokanana matumizi ya pombe au dawa za kulevya katika kipindi cha miezi 12 iliyopita?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + } + ] + }, + "step7": { + "title": "Tathmini", + "next": "step8", + "fields": [ + { + "key": "total_score", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "total_score", + "type": "hidden", + "hint": "Total score for the AGYW beneficiary", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_calculation.yml" + } + } + } + }, + { + "key": "total_score_prompt", + "type": "toaster_notes", + "text": "Jumla ya alama alizopata baada ya kumtathimini ", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "info", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_calculation.yml" + } + } + } + }, + { + "key": "percentage_score", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "percentage_score", + "type": "hidden", + "hint": "Percentage (%) score for the assessed AGYW beneficiary", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_calculation.yml" + } + } + } + }, + { + "key": "percentage_score_prompt", + "type": "toaster_notes", + "text": "Jumla ya asilimia alizopata ", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "info", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_calculation.yml" + } + } + } + }, + { + "key": "tell_or_ask", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "tell_or_ask", + "label": "Je kuna kitu chochote ambacho unataka kuniambia au kuniuliza?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + }, + { + "key": "specify_tell_or_ask", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "specify_tell_or_ask", + "type": "edit_text", + "hint": "Eleza", + "v_required": { + "value": "true", + "err": "Tafadhali eleza" + }, + "relevance": { + "step7:tell_or_ask": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "should_enroll", + "type": "hidden", + "openmrs_entity": "concept", + "openmrs_entity_id": "should_enroll", + "openmrs_entity_parent": "", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_calculation.yml" + } + } + } + } + ] + }, + "step8": { + "title": "Uandikishwaji kwenye Huduma za Wasichana balehe", + "fields": [ + { + "key": "enroll_to_agyw_services", + "type": "toaster_notes", + "text": "Mteja hajakidhi vigezo vya kuingia kwenye mpango wa wasichana balehe na wanawake vijana walio katika mazingira hatarishi ", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "problem", + "relevance": { + "step7:should_enroll": { + "type": "string", + "ex": "equalTo(., \"no\")" + } + } + }, + { + "key": "consent_to_be_enrolled", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "consent_to_be_enrolled", + "label": "Je mteja kakubali kuunganishwa katika mpango wa wasichana balehe na wanawake vijana walio katika mazingira hatarishi", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "step7:should_enroll": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "birth_region", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "birth_region", + "type": "edit_text", + "hint": "Jaza mkoa aliozaliwa mteja", + "edit_type": "name", + "v_required": { + "value": "true", + "err": "Tafadhali jibu swali hili" + }, + "relevance": { + "step8:consent_to_be_enrolled": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "schooling_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "schooling_status", + "label": "Hali ya shule", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "in_school", + "text": "Anasoma", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "in_school" + }, + { + "key": "out_of_school", + "text": "Hasomi", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "out_of_school" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "step8:consent_to_be_enrolled": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "parity_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "parity_status", + "label": "Hali ya uzazi", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "pregnant", + "text": "Mjamzito", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pregnant" + }, + { + "key": "gave_birth", + "text": "Amewahi Kuzaa", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "gave_birth" + }, + { + "key": "not_applicable", + "text": "Haihusiki", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "not_applicable" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "step8:consent_to_be_enrolled": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "intervention_screening", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "intervention_screening", + "label": "Je,Mteja amefanyiwa utambuzi wa afua za kuzui maambukizi", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "step8:consent_to_be_enrolled": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "intervention_eligibility", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "intervention_eligibility", + "label": "Je,Amekidhi vigezo vya afua za kuzuia maambukizi?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "step8:intervention_screening": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "enrollment_date", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "enrollment_date", + "type": "date_picker", + "hint": "Tarehe ya usajili", + "expanded": false, + "min_date": "today-1m", + "max_date": "today", + "v_required": { + "value": "true", + "err": "Tafadhali jibu swali hili" + }, + "relevance": { + "step8:intervention_eligibility": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "beneficiary_of_a_program", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "beneficiary_of_a_program", + "label": "Je ,Mteja ni mnufaika wa mradi?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + }, + { + "key": "not_applicable", + "text": "Haihusiki", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "not_applicable" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "step8:consent_to_be_enrolled": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "program_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "program_name", + "label": "Jina la Mradi", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "dreams", + "text": "DREAMS", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "dreams" + }, + { + "key": "timiza_malengo", + "text": "Timizi Malengo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "timiza_malengo" + }, + { + "key": "priority_population", + "text": "Kundi la kipaumbele(PP)", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "priority_population" + }, + { + "key": "other", + "text": "Nyinginezo(taja)", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu sahihi" + }, + "relevance": { + "step8:beneficiary_of_a_program": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json old mode 100644 new mode 100755 index f3483b3b69..85ebdeed00 --- a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json @@ -43,7 +43,7 @@ }, "global": {}, "step1": { - "title": "Structural Services", + "title": "Afua za kumuundo", "fields": [ { "key": "economic_empowerment_education", @@ -51,7 +51,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "economic_empowerment_education", "type": "check_box", - "label": "Elimu ya uwezeshaji wa kiuchumi", + "label": "Chagua elimu za uwezeshaji wa kiuchumi zilizotolewa", "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", @@ -172,7 +172,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "education_materials", - "label": "Msaada wa vifaa vya elimu?", + "label": "Je, nyenzo za elimu zilitolewa?", "text_color": "#000000", "type": "native_radio", "options": [ @@ -201,7 +201,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "entrepreneurial_tools", - "label": "Vifaa vya ujasiriamali?", + "label": "Je, Vifaa vya ujasiriamali vimetolewa?", "text_color": "#000000", "type": "native_radio", "options": [ @@ -230,7 +230,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "given_capital", - "label": "Alipatiwa fedha ya mtaji?", + "label": "Je, Alipatiwa fedha ya mtaji?", "text_color": "#000000", "type": "native_radio", "options": [ @@ -288,7 +288,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "distribute_sanitary_pads", - "label": "Ugawaji wa taulo za kike?", + "label": "Je, Amepatiwa taulo za kike?", "text_color": "#000000", "type": "native_radio", "options": [ @@ -317,7 +317,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "nurturing_and_upb_edu", - "label": "Alipatiwa elimu ya malezi na makuzi?", + "label": "Je, Alipatiwa elimu ya malezi na makuzi?", "text_color": "#000000", "type": "native_radio", "options": [ @@ -354,7 +354,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "nurturing_and_upb_edu_given", "type": "check_box", - "label": "Elimu malezi na makuzi", + "label": "Chagua elimu ya maleza na makuzi iliyotolewa.", "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_preventive_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_preventive_services.json new file mode 100755 index 0000000000..593ac16942 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_preventive_services.json @@ -0,0 +1,325 @@ +{ + "count": "1", + "encounter_type": "KVP PrEP Preventive Services", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "global": {}, + "step1": { + "title": "Huduma Kinga", + "fields": [ + { + "key": "condoms_given", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "condoms_given", + "label": "Je, Mteja amepatiwa kondomu?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndiyo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + } + }, + { + "key": "type_of_issued_condoms", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "type_of_issued_condoms", + "type": "check_box", + "combine_checkbox_option_values": "true", + "label": "Chagua aina za kondomu zilizotolewa", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "options": [ + { + "key": "male_condoms", + "text": "Kondomu ya kiume", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "male_condoms" + }, + { + "key": "female_condoms", + "text": "Kondomu ya Kike", + "value": false, + "openmrs_entity": "concept", + "openmrs_entity_id": "female_condoms" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu " + }, + "relevance": { + "step1:condoms_given": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, + { + "key": "number_of_male_condoms_issued", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_male_condoms_issued", + "type": "edit_text", + "hint": "Idadi ya kondomu za kiume zilizotolewa", + "v_numeric": { + "value": "true", + "err": "Tafadhali ingiza namba sahihi" + }, + "v_min": { + "value": "0", + "err": "Idadi inatakiwa kuwa sawa au zaidi ya 0" + }, + "v_required": { + "value": true, + "err": "Tafadhali ingiza namba " + }, + "relevance": { + "step1:type_of_issued_condoms": { + "ex-checkbox": [ + { + "or": [ + "male_condoms" + ] + } + ] + } + } + }, + { + "key": "number_of_female_condoms_issued", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_female_condoms_issued", + "type": "edit_text", + "hint": "Idadi ya kondomu za kike zilitolewa", + "v_numeric": { + "value": "true", + "err": "Tafadhali ingiza namba sahihi" + }, + "v_min": { + "value": "0", + "err": "Idadi inatakiwa kuwa sawa na au zaidi ya 0" + }, + "v_required": { + "value": true, + "err": "Tafadhali ingiza namba" + }, + "relevance": { + "step1:type_of_issued_condoms": { + "ex-checkbox": [ + { + "or": [ + "female_condoms" + ] + } + ] + } + } + }, + { + "key": "number_of_iec_distributed", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_iec_distributed", + "hint": "Idadi ya vipeperushi vilivyotolewa", + "type": "edit_text", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Idadi inatakiwa iwe namba" + }, + "v_required": { + "value": "true", + "err": "Tafadhali jaza idadi ya vipeperushi vilivyotolewa" + } + }, + { + "key": "protective_items_for_PWID_label", + "type": "label", + "text": "Protective Items for PWID", + "text_size": "6sp", + "has_bg": true, + "text_color": "#000000", + "openmrs_entity_parent": "", + "openmrs_entity": "", + "openmrs_entity_id": "" + }, + { + "key": "number_of_tubes_needles_distributed", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_tubes_needles_distributed", + "hint": "Idadi ya vichupa na sindano zilizotolewa", + "type": "edit_text", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Idadi inatakiwa iwe namba" + }, + "v_required": { + "value": "true", + "err": "Tafadhali jaza idadi iliyotolewa" + } + }, + { + "key": "number_of_water_distributed", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_water_distributed", + "hint": "Idadi ya maji yaliotolewa", + "type": "edit_text", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Idadi inatakiwa iwe namba" + }, + "v_required": { + "value": "true", + "err": "Tafadhali jaza idadi iliyotolewa" + } + }, + { + "key": "number_of_alcohol_swabs_distributed", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_alcohol_swabs_distributed", + "hint": "idadi ya pamba zilizotolewa(Alcohol swab)", + "type": "edit_text", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Idadi inatakiwa iwe namba" + }, + "v_required": { + "value": "true", + "err": "Tafadhali jaza idadi iliyotolewa" + } + }, + { + "key": "number_of_disposable_safety_boxes_distributed", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_disposable_safety_boxes_distributed", + "hint": "Idadi ya mabox yakutupia vitu vyenye ncha kali yaliotolewa.", + "type": "edit_text", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Idadi inatakiwa iwe namba" + }, + "v_required": { + "value": "true", + "err": "Tafadhali jaza idadi iliyotolewa" + } + }, + { + "key": "number_of_plasters_distributed", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_plasters_distributed", + "hint": "Idadi ya plasta iliyotolewa", + "type": "edit_text", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Idadi inatakiwa iwe namba" + }, + "v_required": { + "value": "true", + "err": "Tafadhali jaza idadi iliyotolewa" + } + }, + { + "key": "number_of_hivst_kits_distributed", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_hivst_kits_distributed", + "hint": "Idadi ya vitepe vya JIPIME vilivyotolewa", + "type": "edit_text", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Idadi inatakiwa iwe namba" + }, + "v_required": { + "value": "true", + "err": "Tafadhali jaza idadi iliyotolewa" + } + }, + { + "key": "number_of_index_coupons_distributed", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "number_of_index_coupons_distributed", + "hint": "Idadi ya Kuponi za huduma za mnyororo na mtandao", + "type": "edit_text", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Idadi inatakiwa iwe namba" + }, + "v_required": { + "value": "true", + "err": "Tafadhali jaza idadi iliyotolewa" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_referral_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_referral_services.json new file mode 100755 index 0000000000..fd043700d2 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_referral_services.json @@ -0,0 +1,256 @@ +{ + "count": "1", + "encounter_type": "KVP PrEP Referral Services", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "global": {}, + "step1": { + "title": "Huduma za rufaa na uunganishwaji", + "fields": [ + { + "key": "referral_to_structural_services", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_to_structural_services", + "type": "check_box", + "combine_checkbox_option_values": "true", + "label": "Chagua huduma za rufaa za kimuundo alizopatiwa mteja", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "entrepreneurship_and_business", + "text": "Ujasiriamali na biashara ", + "openmrs_entity": "concept", + "openmrs_entity_id": "entrepreneurship_and_business" + }, + { + "key": "income_generation_activities", + "text": "Shughuli za uzalishaji kipato ", + "openmrs_entity": "concept", + "openmrs_entity_id": "income_generation_activities" + }, + { + "key": "addressing_stigma_and_discrimination", + "text": "Unyanyapaa na kutengwa", + "openmrs_entity": "concept", + "openmrs_entity_id": "addressing_stigma_and_discrimination" + }, + { + "key": "child_protection", + "text": "Huduma na ulinzi kwa mtoto ", + "openmrs_entity": "concept", + "openmrs_entity_id": "child_protection" + }, + { + "key": "addressing_gbv", + "text": "Ukatili wa kijinsia dhidi ya makundi maalum ", + "openmrs_entity": "concept", + "openmrs_entity_id": "addressing_gbv" + }, + { + "key": "startup_kits", + "text": "Utoaji wa mitaji na nyenzo za kazi", + "openmrs_entity": "concept", + "openmrs_entity_id": "startup_kits" + }, + { + "key": "legal_support", + "text": "Msaada wa kisheria", + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_support" + }, + { + "key": "social_support", + "text": "Msaada wa kijamii kwa makundi maalum", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_support" + }, + { + "key": "chk_others", + "text": "Nyinginezo", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_others" + }, + { + "key": "chk_none", + "text": "Hakuna", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja au zaidi" + } + }, + { + "key": "other_referral_to_structural_services", + "openmrs_entity_parent": "referral_to_structural_services", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referral_to_structural_services", + "hint": "Nyinginezo(Taja)", + "type": "edit_text", + "v_required": { + "value": "true", + "err": "Tafadhali taja" + }, + "relevance": { + "step1:referral_to_structural_services": { + "ex-checkbox": [ + { + "or": [ + "chk_others" + ] + } + ] + } + } + }, + { + "key": "referrals_completed_to_structural_services", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "referrals_completed_to_structural_services", + "type": "check_box", + "combine_checkbox_option_values": "true", + "label": "Chagua rufaa za huduma za kimuundo alizomaliza mteja", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "entrepreneurship_and_business", + "text": "Ujasiriamali na biashara ", + "openmrs_entity": "concept", + "openmrs_entity_id": "entrepreneurship_and_business" + }, + { + "key": "income_generation_activities", + "text": "Shughuli za uzalishaji kipato", + "openmrs_entity": "concept", + "openmrs_entity_id": "income_generation_activities" + }, + { + "key": "addressing_stigma_and_discrimination", + "text": "Unyanyapaa na kutengwa", + "openmrs_entity": "concept", + "openmrs_entity_id": "addressing_stigma_and_discrimination" + }, + { + "key": "child_protection", + "text": "Huduma na ulinzi kwa mtoto ", + "openmrs_entity": "concept", + "openmrs_entity_id": "child_protection" + }, + { + "key": "addressing_gbv", + "text": "Ukatili wa kijinsia dhidi ya makundi maalum ", + "openmrs_entity": "concept", + "openmrs_entity_id": "addressing_gbv" + }, + { + "key": "startup_kits", + "text": "Utoaji wa mitaji na nyenzo za kazi", + "openmrs_entity": "concept", + "openmrs_entity_id": "startup_kits" + }, + { + "key": "legal_support", + "text": "Msaada wa kisheria", + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_support" + }, + { + "key": "social_support", + "text": "Msaada wa kijamii kwa makundi maalum", + "openmrs_entity": "concept", + "openmrs_entity_id": "social_support" + }, + { + "key": "chk_others", + "text": "Nyinginezo", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_others" + }, + { + "key": "chk_none", + "text": "Hakuna", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja au zaidi" + } + }, + { + "key": "other_referrals_completed_to_structural_services", + "openmrs_entity_parent": "referrals_completed_to_structural_services", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_referrals_completed_to_structural_services", + "hint": "Nyinginezo(Taja)", + "edit_type": "number", + "v_required": { + "value": "true", + "err": "Tafadhali taja" + }, + "relevance": { + "step1:referrals_completed_to_structural_services": { + "ex-checkbox": [ + { + "or": [ + "chk_others" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_registration.json new file mode 100755 index 0000000000..c08efa84f3 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_registration.json @@ -0,0 +1,325 @@ +{ + "count": "1", + "encounter_type": "KVP PrEP Registration", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "global": {}, + "step1": { + "title": "Uunganishwaji kwenye huduma za KVP/PrEP", + "fields": [ + { + "key": "hotspot_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "hotspot_name", + "type": "edit_text", + "hint": "Jina la kijiwe", + "v_required": { + "value": "true", + "err": "Tafadhali jaza jina la kijiwe" + } + }, + { + "key": "facility_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "facility_name", + "type": "multi_select_list", + "buttonText": "Facility Name", + "sort": true, + "maxSelectable": 1, + "dialogTitle": "Select Facility", + "searchHint": "Type Facility Name", + "options": [], + "v_required": { + "value": "true", + "err": "Tafadhali jaza jina la kituo" + } + }, + { + "key": "birth_region", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "birth_region", + "type": "edit_text", + "hint": "Mkoa aliozaliwa mteja", + "v_required": { + "value": "true", + "err": "Tafadhali jaza mkoa aliozaliwa mteja" + } + }, + { + "key": "client_group", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_group", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "kvp_prep_registration_calculation.yml" + } + } + } + }, + { + "key": "client_group_female_10_24", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_group_female_10_24", + "label": "Chagua aina ya kundi maalumu", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "fsw", + "text": "Mwanamke anayefanya biashara ya ngono", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fsw" + }, + { + "key": "pwid", + "text": "Mjidunda dawa za kulevya", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pwid" + }, + { + "key": "prisoners", + "text": "Mfungwa", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "prisoners" + }, + { + "key": "inmate", + "text": "Mahabusu", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "inmate" + }, + { + "key": "agyw", + "text": "balehe na mwanamke kijanaMsichana rika", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "agyw" + }, + { + "key": "discordant_couples", + "text": "Mwenza mwenye majibu kinzani", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "discordant_couples" + }, + { + "key": "normadic", + "text": "Makundi ya watu wanaohamahama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "normadic" + }, + { + "key": "other", + "text": "Makundi Mengine hatarishi", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "kvp_prep_registration_relevance.yml" + } + } + } + }, + { + "key": "client_group_female", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_group_female", + "label": "Chagua aina ya kundi maalumu", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "fsw", + "text": "Mwanamke anayefanya biashara ya ngono", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "fsw" + }, + { + "key": "pwid", + "text": "Mjidunda dawa za kulevya", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pwid" + }, + { + "key": "prisoners", + "text": "Mfungwa", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "prisoners" + }, + { + "key": "inmate", + "text": "Mahabusu", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "inmate" + }, + { + "key": "discordant_couples", + "text": "Mwenza mwenye majibu kinzani", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "discordant_couples" + }, + { + "key": "normadic", + "text": "Makundi ya watu wanaohamahama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "normadic" + }, + { + "key": "other", + "text": "Makundi Mengine hatarishi", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "kvp_prep_registration_relevance.yml" + } + } + } + }, + { + "key": "client_group_male", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_group_male", + "label": "Chagua aina ya kundi maalumu", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "msm", + "text": "Mwanaume anayefanya ngono na mwanaume mwenzie", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "msm" + }, + { + "key": "pwid", + "text": "Mjidunda dawa za kulevya", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "pwid" + }, + { + "key": "prisoners", + "text": "Mfungwa", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "prisoners" + }, + { + "key": "inmate", + "text": "Mahabusu", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "inmate" + }, + { + "key": "discordant_couples", + "text": "Mwenza mwenye majibu kinzani", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "discordant_couples" + }, + { + "key": "normadic", + "text": "Makundi ya watu wanaohamahama", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "normadic" + }, + { + "key": "other", + "text": "Makundi Mengine hatarishi", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua jibu" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "kvp_prep_registration_relevance.yml" + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_sbcc_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_sbcc_services.json new file mode 100755 index 0000000000..edf6813152 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_sbcc_services.json @@ -0,0 +1,298 @@ +{ + "count": "1", + "encounter_type": "KVP/PrEP SBCC Services", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "global": {}, + "step1": { + "title": "Elimu ya mabadiliko ya tabia ya kiafya", + "fields": [ + { + "key": "sbcc_services_offered", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "sbcc_services_offered", + "buttonText": "Ongeza mada zilizotolewa", + "sort": false, + "maxSelectable": 5, + "dialogTitle": "Chagua elimu ya mabadiliko ya tabia ya kiafya zilizotolewa", + "searchHint": "Andika jina la elimu", + "options": [ + { + "key": "proper_use_of_male_condom", + "text": "Matumizi sahihi ya Kondomu za kiume", + "openmrs_entity_id": "proper_use_of_male_condom", + "openmrs_entity": "concept", + "property": { + "presumed-id": "proper_use_of_male_condom", + "confirmed-id": "proper_use_of_male_condom" + } + }, + { + "key": "proper_use_of_female_condom", + "text": "Matumizi sahihi ya Kondomu za kike", + "openmrs_entity_id": "proper_use_of_female_condom", + "openmrs_entity": "concept", + "property": { + "presumed-id": "proper_use_of_female_condom", + "confirmed-id": "proper_use_of_female_condom" + } + }, + { + "key": "influence_on_condom_usage", + "text": "Ushawishi wa matumizi ya kondomu", + "openmrs_entity_id": "influence_on_condom_usage", + "openmrs_entity": "concept", + "property": { + "presumed-id": "influence_on_condom_usage", + "confirmed-id": "influence_on_condom_usage" + } + }, + { + "key": "preventive_methods_against_std", + "text": "Njia za kujikinga na magonjwa ya ngono", + "openmrs_entity_id": "preventive_methods_against_std", + "openmrs_entity": "concept", + "property": { + "presumed-id": "preventive_methods_against_std", + "confirmed-id": "preventive_methods_against_std" + } + }, + { + "key": "excessive_alcohol_usage", + "text": "Matumizi ya pombe kupita kiwango", + "openmrs_entity_id": "excessive_alcohol_usage", + "openmrs_entity": "concept", + "property": { + "presumed-id": "excessive_alcohol_usage", + "confirmed-id": "excessive_alcohol_usage" + } + }, + { + "key": "education_on_hiv_aids_protection", + "text": "Elimu ya VVU na Ukimwi", + "openmrs_entity_id": "education_on_hiv_aids_protection", + "openmrs_entity": "concept", + "property": { + "presumed-id": "education_on_hiv_aids_protection", + "confirmed-id": "education_on_hiv_aids_protection" + } + }, + { + "key": "education_on_hiv_aids_art_usage", + "text": "Elimu ya matumizi ya dawa za ART", + "openmrs_entity_id": "education_on_hiv_aids_art_usage", + "openmrs_entity": "concept", + "property": { + "presumed-id": "education_on_hiv_aids_art_usage", + "confirmed-id": "education_on_hiv_aids_art_usage" + } + }, + { + "key": "education_on_hiv_aids_self_test", + "text": "Elimu ya huduma za JIPIME", + "openmrs_entity_id": "education_on_hiv_aids_self_test", + "openmrs_entity": "concept", + "property": { + "presumed-id": "education_on_hiv_aids_self_test", + "confirmed-id": "education_on_hiv_aids_self_test" + } + }, + { + "key": "education_on_the_use_of_prep", + "text": "Elimu ya matumizi ya dawa kinga", + "openmrs_entity_id": "education_on_the_use_of_prep", + "openmrs_entity": "concept", + "property": { + "presumed-id": "education_on_the_use_of_prep", + "confirmed-id": "education_on_the_use_of_prep" + } + }, + { + "key": "education_on_the_use_of_pep", + "text": "Elimu ya matumizi ya dawa za PEP", + "openmrs_entity_id": "education_on_the_use_of_pep", + "openmrs_entity": "concept", + "property": { + "presumed-id": "education_on_the_use_of_pep", + "confirmed-id": "education_on_the_use_of_pep" + } + }, + { + "key": "reduction_of_effects_of_the_use_of_mat", + "text": "Upunguzaji wa madhara yatokanayo na utumiaji wa dawa za kulevya", + "openmrs_entity_id": "reduction_of_effects_of_the_use_of_mat", + "openmrs_entity": "concept", + "property": { + "presumed-id": "reduction_of_effects_of_the_use_of_mat", + "confirmed-id": "reduction_of_effects_of_the_use_of_mat" + } + }, + { + "key": "education_on_paraphenalia_for_PWID", + "text": "Elimu juu ya vifaa vya wajidunga", + "openmrs_entity_id": "education_on_paraphenalia_for_PWID", + "openmrs_entity": "concept", + "property": { + "presumed-id": "education_on_paraphenalia_for_PWID", + "confirmed-id": "education_on_paraphenalia_for_PWID" + } + }, + { + "key": "education_on_overdose_management", + "text": "Education on Overdose Management", + "openmrs_entity_id": "education_on_overdose_management", + "openmrs_entity": "concept", + "property": { + "presumed-id": "education_on_overdose_management", + "confirmed-id": "education_on_overdose_management" + } + }, + { + "key": "education_on_hepatitis_b", + "text": "Elimu ya Homa ya Ini B", + "openmrs_entity_id": "education_on_hepatitis_b", + "openmrs_entity": "concept", + "property": { + "presumed-id": "education_on_hepatitis_b", + "confirmed-id": "education_on_hepatitis_b" + } + }, + { + "key": "education_on_hepatitis_c", + "text": "Elimu ya Homa ya Ini C", + "openmrs_entity_id": "education_on_hepatitis_c", + "openmrs_entity": "concept", + "property": { + "presumed-id": "education_on_hepatitis_c", + "confirmed-id": "education_on_hepatitis_c" + } + }, + { + "key": "counselling_on_tb", + "text": "Ushauri wa Kifua kikuu", + "openmrs_entity_id": "counselling_on_tb", + "openmrs_entity": "concept", + "property": { + "presumed-id": "counselling_on_tb", + "confirmed-id": "counselling_on_tb" + } + }, + { + "key": "counselling_on_gbv", + "text": "Ushauri wa Ukatili wa kijinsia", + "openmrs_entity_id": "counselling_on_gbv", + "openmrs_entity": "concept", + "property": { + "presumed-id": "counselling_on_gbv", + "confirmed-id": "counselling_on_gbv" + } + }, + { + "key": "stigma_and_discrimination", + "text": "Unyanyapaa na kutengwa", + "openmrs_entity_id": "stigma_and_discrimination", + "openmrs_entity": "concept", + "property": { + "presumed-id": "stigma_and_discrimination", + "confirmed-id": "stigma_and_discrimination" + } + }, + { + "key": "effect_of_multiple_sexual_partners", + "text": "Mahusiano ya wapenzi wengi na athari zake", + "openmrs_entity_id": "effect_of_multiple_sexual_partners", + "openmrs_entity": "concept", + "property": { + "presumed-id": "effect_of_multiple_sexual_partners", + "confirmed-id": "effect_of_multiple_sexual_partners" + } + }, + { + "key": "counselling_on_hiv_testing", + "text": "Mahusiano ya wapenzi wengi na athari zake", + "openmrs_entity_id": "counselling_on_hiv_testing", + "openmrs_entity": "concept", + "property": { + "presumed-id": "counselling_on_hiv_testing", + "confirmed-id": "counselling_on_hiv_testing" + } + }, + { + "key": "counselling_on_need_of_health_services", + "text": "Ushari wa upimaji wa VVU", + "openmrs_entity_id": "counselling_on_need_of_health_servicers", + "openmrs_entity": "concept", + "property": { + "presumed-id": "counselling_on_need_of_health_servicers", + "confirmed-id": "counselling_on_need_of_health_servicers" + } + }, + { + "key": "male_circumcision", + "text": "TOHARA kinga kwa wanaume", + "openmrs_entity_id": "male_circumcision", + "openmrs_entity": "concept", + "property": { + "presumed-id": "male_circumcision", + "confirmed-id": "male_circumcision" + } + }, + { + "key": "rch_services", + "text": "Huduma za mama na mtoto", + "openmrs_entity_id": "rch_services", + "openmrs_entity": "concept", + "property": { + "presumed-id": "rch_services", + "confirmed-id": "rch_services" + } + } + ], + "type": "multi_select_list", + "v_required": { + "value": true, + "err": "Tafadhali chagua" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_structural_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_structural_services.json new file mode 100755 index 0000000000..96599ebebc --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_structural_services.json @@ -0,0 +1,153 @@ +{ + "count": "1", + "encounter_type": "KVP PrEP Structural Services", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "global": {}, + "step1": { + "title": "Huduma za Kimuundo", + "fields": [ + { + "key": "structural_services_provided", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "structural_services_provided", + "type": "check_box", + "combine_checkbox_option_values": "true", + "label": "Chagua aina za huduma za kimuundo zilizotolewa kwa mteja.", + "label_text_style": "normal", + "text_color": "#C0C0C0", + "exclusive": [ + "chk_none" + ], + "options": [ + { + "key": "education_on_income_generation_activities", + "text": "Shughuli za uzalishaji kipato", + "openmrs_entity": "concept", + "openmrs_entity_id": "education_on_income_generation_activities" + }, + { + "key": "flyers_on_income_generation_activities", + "text": "Ugawaji wa vipeperushi kwaajili ya shughuli za uzalishaji kipato", + "openmrs_entity": "concept", + "openmrs_entity_id": "flyers_on_income_generation_activities" + }, + { + "key": "addressing_stigma_and_discrimination", + "text": "Unyanyapaa na kutengwa", + "openmrs_entity": "concept", + "openmrs_entity_id": "addressing_stigma_and_discrimination" + }, + { + "key": "community_empowerment", + "text": "Uwezeshaji jamii lengwa", + "openmrs_entity": "concept", + "openmrs_entity_id": "community_empowerment" + }, + { + "key": "education_on_addressing_gbv", + "text": "Elimu ya ukatili wa kijinsia dhidi ya makundi maalum", + "openmrs_entity": "concept", + "openmrs_entity_id": "education_on_addressing_gbv" + }, + { + "key": "provision_of_business_skills", + "text": "Ujasiriamali na biashara", + "openmrs_entity": "concept", + "openmrs_entity_id": "provision_of_business_skills" + }, + { + "key": "startup_kits", + "text": "Utoaji wa mitaji na nyenzo za kazi", + "openmrs_entity": "concept", + "openmrs_entity_id": "startup_kits" + }, + { + "key": "legal_support", + "text": "Msaada wa kisheria ", + "openmrs_entity": "concept", + "openmrs_entity_id": "legal_support" + }, + { + "key": "chk_others", + "text": "Nyingine", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_others" + }, + { + "key": "chk_none", + "text": "Hakuna", + "openmrs_entity": "concept", + "openmrs_entity_id": "chk_none" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja au zaidi" + } + }, + { + "key": "other_structural_services_provided", + "openmrs_entity_parent": "structural_services_provided", + "openmrs_entity": "concept", + "openmrs_entity_id": "other_structural_services_provided", + "hint": "Nyingine (taja)", + "type": "edit_text", + "v_required": { + "value": "true", + "err": "Tafadhali taja" + }, + "relevance": { + "step1:structural_services_provided": { + "ex-checkbox": [ + { + "or": [ + "chk_others" + ] + } + ] + } + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_visit_type.json b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_visit_type.json new file mode 100755 index 0000000000..e8891d5061 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_visit_type.json @@ -0,0 +1,115 @@ +{ + "count": "1", + "encounter_type": "KVP PrEP Visit Type", + "entity_id": "", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "" + }, + "global": {}, + "step1": { + "title": "Aina ya Hudhurio", + "fields": [ + { + "key": "visit_type", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "visit_type", + "label": "Aina ya hudhurio la mteja.", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "new_visit", + "text": "Mteja Mpya", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "new_visit" + }, + { + "key": "followup", + "text": "Anaendelea na Huduma", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "followup" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + }, + { + "key": "client_hiv_status", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "client_hiv_status", + "label": "Hali ya mteja ya maambukizi ya VVU", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "positive", + "text": "Chanya", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "positive" + }, + { + "key": "negative", + "text": "Hasi", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "negative" + }, + { + "key": "unknown", + "text": "Haijulikani", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "unknown" + } + ], + "v_required": { + "value": "true", + "err": "Tafadhali chagua moja" + } + } + ] + } +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_referral_services.json b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_referral_services.json index a2e91e6374..d2591c308c 100644 --- a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_referral_services.json +++ b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_referral_services.json @@ -132,7 +132,6 @@ "openmrs_entity_id": "other_referral_to_structural_services", "hint": "Other(specify)", "type": "edit_text", - "edit_type": "number", "v_required": { "value": "true", "err": "Please specify" @@ -233,7 +232,6 @@ "openmrs_entity": "concept", "openmrs_entity_id": "other_referrals_completed_to_structural_services", "hint": "Other(specify)", - "type": "edit_text", "edit_type": "number", "v_required": { "value": "true", diff --git a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_sbcc_services.json b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_sbcc_services.json index 125387bf97..db0c87a721 100644 --- a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_sbcc_services.json +++ b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_sbcc_services.json @@ -257,8 +257,8 @@ } }, { - "key": "counselling_on_need_of_health_servicers", - "text": "Counselling on the need of health Servicers", + "key": "counselling_on_need_of_health_services", + "text": "Counselling on the need of health Services", "openmrs_entity_id": "counselling_on_need_of_health_servicers", "openmrs_entity": "concept", "property": { diff --git a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_structural_services.json b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_structural_services.json index a78a318599..d608e2d005 100644 --- a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_structural_services.json +++ b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_structural_services.json @@ -132,7 +132,6 @@ "openmrs_entity_id": "other_structural_services_provided", "hint": "Other(specify)", "type": "edit_text", - "edit_type": "number", "v_required": { "value": "true", "err": "Please specify" diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index d81edc7058..ad45aeb192 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -166,7 +166,7 @@ Wastani Mbaya - Historia ya Matembeleo + Historia ya Matembeleo Angalia Historia ya Matembeleo Historia ya Matembeleo Matembeleo ya Mama Kinara @@ -347,4 +347,6 @@ Amesajiliwa kwenye Kliniki ya Kifua Kikuu Me Ke + + Matembeleo ya Msichana Rika Balehe na Mwanamke Kijana \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 10e179c419..11d900ae9f 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -159,7 +159,7 @@ Structural Services Referral Services - Visits History + Visits History View Visits History Visits History Mother Champion Visits @@ -167,6 +167,7 @@ Last visit was %1$s days ago CBHS Visits Mother Champion Visit {0}: {1} + KVP Visit {0}: {1} Type of Service: Linked to Psychosocial Group: Counselling Given: @@ -342,4 +343,149 @@ Registered in Injection Drugs Users Clinic Registered in TB Clinic + AGYW Services + + + AGYW Visits + Structural Services + Behavioral Services + Bio Medical Services + Client provided with condoms: + Number of male condoms provided: + Number of female condoms provided: + Client needs HIVST kits: + Family planning service provided: + Economic empowerment education provided: + Educational materials provided: + Entrepreneurial tools provided: + Client given capital money: + Sanitary pads provided: + Education of Nurturing and Upbringing provided: + Provided Nurturing and Upbringing education: + SBCC intervention provided: + Risk behaviors + Gender and sex education + Reproductive health + Effective communication + STI and HIV/AIDS + Family planning + Good relationships + Gender Based Violence + Correct and sustainable use of condoms + CTC services + Care and Upbringing + PrEP education + PEP education + TB education + Education of HIV testing + Provision of IEC + Puberty education and menstrual hygiene + Life skills + Group entrepreneurial skills + Practical skills + Entrepreneurship tools + Preparation of self employment and employment + SACCOS/VICOBA services + Savings management + Credit management + Planning a budget + Starting a business + Prepare a business plan + Business management + Commercial banking services + Marketing research + Financial education and investments + Services provided to young women + The importance of nurturing education in the family/community + The meaning of violence against children and forms of cruelty + Causes and risk factors contributing to violence against children + Effects of violence against children in our families/communities + Childcare that focuses on protection and security + Building and maintaining a safe environment for children at home and in the community + Key skills they teach children to protect themselves from violence + Appropriate communication for children of different ages + Empowering children to speak to the order of appeal in society + Nurturing of children with disabilities + Strengthening the household economy + Culture and the media + Pill + Injectables + Implanon + Jadelle + IUCD + Condom + Traditional + None + + + + + Visit Type: + Kvp PrEP Follow-up Visit + Client\'s HIV status: + New Visit + Follow-up + Positive + Negative + Unknown + Was the client given condoms: + Types of condoms issued: + Number of Male condoms issued: + Number of Female condoms issued: + Number of IEC Materials Distributed: + Number of tubes & needles distributed: + Number of Water Distributed: + Number of Alcohol Swabs Distributed: + Number of Disposable Safety Boxes Distributed: + Number of Plasters Distributed: + Number of HIVST Kits Distributed: + Number of Index Coupons Distributed: + Male Condoms + Female Condoms + Structural referrals provided: + Other Structural referrals provided: + Structural referrals completed by the client: + Other Structural referrals completed by the client: + Entrepreneurship And Business + Income Generation Activities (IGA) + Addressing Stigma and Discrimination + Child Protection + Addressing GBV against KVPs + Startup Kits + Legal Aid Support + Social Support For KVPs + Other + None + SBCC Topics Provided + Proper use of Male Condom + Proper use of Female Condom + Influence on Condom Usage + Preventive methods against STD + Excessive Alcohol Usage + Education on HIV & AIDS Protection + Education on HIV & AIDS ART Usage + Education on HIV & AIDS Self Test + Education on the use of PrEP + Education on the use of PEP + Reduction of effects of the use of drug MAT + Education on Paraphernalia for PWID + Education on Overdose Management + Education On Hepatitis B + Education On Hepatitis C + Counselling On TB + Counselling On GBV + Stigma & Discrimination + Effect of multiple Sexual Partners + Counselling on HIV Testing + Counselling on the need of health Services + Male Circumcision + RCH Services + Structural services provided + Other Structural services provided + Education on Income Generation Activities (IGA) + Provided Flyers on Income Generation Activities (IGA) + Community Empowerment + Education Addressing GBV against KVPs + Provision of Entrepreneurship and Business skills + \ No newline at end of file From d932176c426045596a4fb20b20efb6009ccc255d Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 24 Oct 2022 10:17:29 +0300 Subject: [PATCH 885/915] :arrow_up: updated chw-core library dependency --- opensrp-chw/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 3f7c074666..8b194a8324 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -348,7 +348,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.36.3-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.36.4-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' From cecb8d59811326eed439df89b2d23231d67a3f0f Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 24 Oct 2022 11:14:26 +0300 Subject: [PATCH 886/915] :hammer: separated kvp referrals to male and female kvp referrals, added string resources for kvp referrals --- opensrp-chw/build.gradle | 2 +- .../chw/activity/AgywProfileActivity.java | 2 +- .../chw/activity/KvpPrEPProfileActivity.java | 9 +- .../src/main/res/values-sw/strings.xml | 4 +- ...orm.json => female_kvp_referral_form.json} | 70 +------ .../referrals/male_kvp_referral_form.json | 192 ++++++++++++++++++ ...orm.json => female_kvp_referral_form.json} | 58 +----- .../referrals/male_kvp_referral_form.json | 192 ++++++++++++++++++ .../src/nacp/res/values-sw/strings.xml | 8 + opensrp-chw/src/nacp/res/values/strings.xml | 8 + 10 files changed, 422 insertions(+), 123 deletions(-) rename opensrp-chw/src/nacp/assets/json.form-sw/referrals/{kvp_referral_form.json => female_kvp_referral_form.json} (73%) create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_kvp_referral_form.json rename opensrp-chw/src/nacp/assets/json.form/referrals/{kvp_referral_form.json => female_kvp_referral_form.json} (77%) create mode 100644 opensrp-chw/src/nacp/assets/json.form/referrals/male_kvp_referral_form.json diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 8b194a8324..1d90849430 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -348,7 +348,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.36.4-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.36.5-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java index 90b7d4e14b..03fdadb65a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java @@ -47,7 +47,7 @@ public void startReferralForm() { org.smartregister.chw.util.Constants.JSON_FORM.getSTIServicesReferralForm(), CoreConstants.TASKS_FOCUS.STI_REFERRAL)); referralTypeModels.addAll(Utils.getCommonReferralTypes(this, memberObject.getBaseEntityId())); referralTypeModels.add(new ReferralTypeModel(getString(R.string.kvp_friendly_services), - CoreConstants.JSON_FORM.getKvpFriendlyServicesReferralForm(), CoreConstants.TASKS_FOCUS.KVP_FRIENDLY_SERVICES)); + CoreConstants.JSON_FORM.getFemaleKvpFriendlyServicesReferralForm(), CoreConstants.TASKS_FOCUS.KVP_FRIENDLY_SERVICES)); referralTypeModels.add(new ReferralTypeModel(getString(R.string.family_planning_referral), org.smartregister.chw.util.Constants.JSON_FORM.getFamilyPlanningUnifiedReferralForm(Gender.FEMALE.toString()), CoreConstants.TASKS_FOCUS.FP_SIDE_EFFECTS)); referralTypeModels.add(new ReferralTypeModel(getString(R.string.tb_referral), diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPProfileActivity.java index c10871873c..bbd92a93a1 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPProfileActivity.java @@ -52,8 +52,13 @@ protected boolean showReferralView() { public void startReferralForm() { if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { List referralTypeModels = new ArrayList<>(); - referralTypeModels.add(new ReferralTypeModel(getString(R.string.kvp_friendly_services), - CoreConstants.JSON_FORM.getKvpFriendlyServicesReferralForm(), CoreConstants.TASKS_FOCUS.KVP_FRIENDLY_SERVICES)); + if (memberObject.getGender().equalsIgnoreCase("male")) { + referralTypeModels.add(new ReferralTypeModel(getString(R.string.kvp_friendly_services), + CoreConstants.JSON_FORM.getMaleKvpFriendlyServicesReferralForm(), CoreConstants.TASKS_FOCUS.KVP_FRIENDLY_SERVICES)); + } else { + referralTypeModels.add(new ReferralTypeModel(getString(R.string.kvp_friendly_services), + CoreConstants.JSON_FORM.getFemaleKvpFriendlyServicesReferralForm(), CoreConstants.TASKS_FOCUS.KVP_FRIENDLY_SERVICES)); + } referralTypeModels.addAll(getCommonReferralTypes(this, memberObject.getBaseEntityId())); launchClientReferralActivity(this, referralTypeModels, memberObject.getBaseEntityId()); diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index f762dd249c..0d963d330a 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -417,7 +417,7 @@ Kawaida/Kijani Wastani/Njano Mbaya/Nyekundu - Rufaa Kwa Ajili ya Kuhakiki Mimba + Kuhakiki Mimba Ndio Hapana Nzuri @@ -581,5 +581,7 @@ Uwezeshaji jamii lengwa Elimu ya ukatili wa kijinsia dhidi ya makundi maalum Ujasiriamali na biashara + Huduma rafiki kwa makundi maalum + STI Services diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/kvp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_kvp_referral_form.json similarity index 73% rename from opensrp-chw/src/nacp/assets/json.form-sw/referrals/kvp_referral_form.json rename to opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_kvp_referral_form.json index 945d35eecc..04884cb3c8 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/kvp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_kvp_referral_form.json @@ -68,24 +68,6 @@ "openmrs_entity_id": "problem" }, "options": [ - { - "name": "ctc", - "text": "Tiba na matunzo (CTC)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc", - "openmrs_entity_parent": "" - } - }, - { - "name": "hiv_testing", - "text": "Upimaji wa VVU", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "hiv_testing", - "openmrs_entity_parent": "" - } - }, { "name": "prep_and_pep", "text": "Dawa kinga PrEP and PEP", @@ -113,24 +95,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "tb_screening_and_treatment", - "text": "Uchunguzi upimaji na tiba ya kifua kikuu", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_screening_and_treatment", - "openmrs_entity_parent": "" - } - }, - { - "name": "gbv", - "text": "Ukatili wa Kinjinsia (GBV)", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "gbv", - "openmrs_entity_parent": "" - } - }, { "name": "sti_screening_and_management", "text": "Uchunguzi, upimaji na tiba ya magonjwa ya ngono na via vya uzazi", @@ -149,24 +113,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "sti_screening_and_management", - "text": "Afya ya uzazi", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "sti_screening_and_management", - "openmrs_entity_parent": "" - } - }, - { - "name": "vmmc", - "text": "TOHARA kinga kwa wanaume ", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "vmmc", - "openmrs_entity_parent": "" - } - }, { "name": "mental_psychosocial_support", "text": "Afya ya akili na msaada wa kisaikolojia", @@ -177,11 +123,11 @@ } }, { - "name": "rch", + "name": "reproductive_health_services", "text": "Huduma za mama na mtoto", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "rch", + "openmrs_entity_id": "reproductive_health_services", "openmrs_entity_parent": "" } }, @@ -212,7 +158,7 @@ "openmrs_entity_parent": "problem" }, "properties": { - "hint": "Other reasons", + "hint": "Sababu nyinginezo", "type": "name" }, "required_status": "true:Please specify other reasons", @@ -227,17 +173,17 @@ "openmrs_entity_parent": "" }, "properties": { - "text": "Choose referral facility", - "searchable": "Choose referral facility" + "text": "Chagua kituo cha rufaa", + "searchable": "Chagua kituo cha rufaa" }, "options": [], - "required_status": "yes:Please specify referral facility" + "required_status": "yes:Tafadhali chagua kituo cha rufaa" }, { "name": "referral_appointment_date", "type": "datetime_picker", "properties": { - "hint": "Please select the appointment date", + "hint": "Chagua tarehe ya miadi", "type": "date_picker", "display_format": "dd/MM/yyyy", "min_date": "today" @@ -247,7 +193,7 @@ "openmrs_entity_id": "referral_appointment_date", "openmrs_entity_parent": "" }, - "required_status": "true:Please specify the appointment date" + "required_status": "true:Tafadhali chagua tarehe ya miadi" } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_kvp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_kvp_referral_form.json new file mode 100644 index 0000000000..ad377839c2 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_kvp_referral_form.json @@ -0,0 +1,192 @@ +{ + "form": "KVP Services Referral", + "encounter_type": "KVP Services Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/kvp_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "KVP Services Referral", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Reasons for Referral" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "prep_and_pep", + "text": "Dawa kinga PrEP and PEP", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prep_and_pep", + "openmrs_entity_parent": "" + } + }, + { + "name": "harm_reduction", + "text": "Kupunguza madhara yatokanayo na utumiaji wa dawa za kulevya", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "harm_reduction", + "openmrs_entity_parent": "" + } + }, + { + "name": "hepatitis_b_and_c", + "text": "Uchunguzi/upimaji na chanjo ya homa ya ini B na C", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hepatitis_b_and_c", + "openmrs_entity_parent": "" + } + }, + { + "name": "sti_screening_and_management", + "text": "Uchunguzi, upimaji na tiba ya magonjwa ya ngono na via vya uzazi", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sti_screening_and_management", + "openmrs_entity_parent": "" + } + }, + { + "name": "vmmc", + "text": "TOHARA kwa wanaume", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "vmmc", + "openmrs_entity_parent": "" + } + }, + { + "name": "mental_psychosocial_support", + "text": "Afya ya akili na msaada wa kisaikolojia", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "rch", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_reasons", + "text": "Nyinginezo (Taja)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reasons", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify reason for KVP services referral", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "properties": { + "hint": "Sababu nyinginezo", + "type": "name" + }, + "required_status": "true:Please specify other reasons", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua kituo cha rufaa", + "searchable": "Chagua kituo cha rufaa" + }, + "options": [], + "required_status": "yes:Tafadhali chagua kituo cha rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Chagua tarehe ya miadi", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Tafadhali chagua tarehe ya miadi" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/kvp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/female_kvp_referral_form.json similarity index 77% rename from opensrp-chw/src/nacp/assets/json.form/referrals/kvp_referral_form.json rename to opensrp-chw/src/nacp/assets/json.form/referrals/female_kvp_referral_form.json index d5c6153283..16806b784e 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/kvp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/female_kvp_referral_form.json @@ -68,24 +68,6 @@ "openmrs_entity_id": "problem" }, "options": [ - { - "name": "ctc", - "text": "CTC", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "ctc", - "openmrs_entity_parent": "" - } - }, - { - "name": "hiv_testing", - "text": "HIV Testing", - "meta_data": { - "openmrs_entity": "", - "openmrs_entity_id": "hiv_testing", - "openmrs_entity_parent": "" - } - }, { "name": "prep_and_pep", "text": "PrEP and PEP", @@ -113,24 +95,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "tb_screening_and_treatment", - "text": "TB screening and treatment", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "tb_screening_and_treatment", - "openmrs_entity_parent": "" - } - }, - { - "name": "gbv", - "text": "GBV", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "gbv", - "openmrs_entity_parent": "" - } - }, { "name": "sti_screening_and_management", "text": "STI screening and management", @@ -150,20 +114,11 @@ } }, { - "name": "sti_screening_and_management", + "name": "reproductive_health_services", "text": "Reproductive health services", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "sti_screening_and_management", - "openmrs_entity_parent": "" - } - }, - { - "name": "vmmc", - "text": "VMMC", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "vmmc", + "openmrs_entity_id": "reproductive_health_services", "openmrs_entity_parent": "" } }, @@ -176,15 +131,6 @@ "openmrs_entity_parent": "" } }, - { - "name": "rch", - "text": "RCH", - "meta_data": { - "openmrs_entity": "concept", - "openmrs_entity_id": "rch", - "openmrs_entity_parent": "" - } - }, { "name": "other_reasons", "text": "Other reasons (Specify)", diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/male_kvp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/male_kvp_referral_form.json new file mode 100644 index 0000000000..8ab14fd81b --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/male_kvp_referral_form.json @@ -0,0 +1,192 @@ +{ + "form": "KVP Services Referral", + "encounter_type": "KVP Services Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/kvp_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "KVP Services Referral", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Reasons for Referral" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "prep_and_pep", + "text": "PrEP and PEP", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "prep_and_pep", + "openmrs_entity_parent": "" + } + }, + { + "name": "harm_reduction", + "text": "Harm reduction among PWID and non-injecting drug users", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "harm_reduction", + "openmrs_entity_parent": "" + } + }, + { + "name": "hepatitis_b_and_c", + "text": "Hepatitis B & C", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "hepatitis_b_and_c", + "openmrs_entity_parent": "" + } + }, + { + "name": "sti_screening_and_management", + "text": "STI screening and management", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "sti_screening_and_management", + "openmrs_entity_parent": "" + } + }, + { + "name": "vmmc", + "text": "VMMC", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "vmmc", + "openmrs_entity_parent": "" + } + }, + { + "name": "mental_psychosocial_support", + "text": "Mental Health and Psycho-social support", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "rch", + "openmrs_entity_parent": "" + } + }, + { + "name": "other_reasons", + "text": "Other reasons (Specify)", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other_reasons", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please specify reason for KVP services referral", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "properties": { + "hint": "Other reasons", + "type": "name" + }, + "required_status": "true:Please specify other reasons", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Choose referral facility", + "searchable": "Choose referral facility" + }, + "options": [], + "required_status": "yes:Please specify referral facility" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Please select the appointment date", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:Please specify the appointment date" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index ad45aeb192..a127903366 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -257,6 +257,14 @@ Kujaa au maumivu ya matiti, chuchu na kushindwa kunyonyesha Kuona kwa shida Kuchanika msamba + Dawa kinga PrEP and PEP + Kupunguza madhara yatokanayo na utumiaji wa dawa za kulevya + Uchunguzi/upimaji na chanjo ya homa ya ini B na C + Uchunguzi, upimaji na tiba ya magonjwa ya ngono na via vya uzazi + Uchunguzi na upimaji wa kansa ya shingo ya kizazi + Huduma za mama na mtoto + TOHARA kwa wanaume + Afya ya akili na msaada wa kisaikolojia Hali ya ufuatiliaji: diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 11d900ae9f..9168f899ea 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -98,6 +98,14 @@ Care of HIV-exposed infant Immunisation Other reasons + PrEP and PEP + Harm reduction among PWID and non-injecting drug users + Hepatitis B & C + STI screening and management + Cervical Cancer screening and treatment + Reproductive health services + VMMC + Mental Health and Psycho-social support CTC PWID From a9387a2935355623b70ec73d2ed7decce7c0a2f8 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Mon, 24 Oct 2022 14:51:22 +0300 Subject: [PATCH 887/915] Refactor/translating agyw forms (#394) * :hammer: added swahili translations for kvp * :hammer: translated agyw forms and added swahili translations to string resources * :arrow_up: updated chw-core library dependency --- opensrp-chw/build.gradle | 2 +- .../src/main/res/values-sw/strings.xml | 2 +- .../assets/json.form-sw/agyw_screening.json | 110 ++++++++++- .../referrals/female_fp_referral_form.json | 60 +++--- .../referrals/female_kvp_referral_form.json | 6 +- .../referrals/male_fp_referral_form.json | 24 +-- .../referrals/sti_services_referral_form.json | 174 ++++++++++++++++++ .../referrals/female_fp_referral_form.json | 56 +++--- .../src/nacp/res/values-sw/strings.xml | 13 ++ opensrp-chw/src/nacp/res/values/strings.xml | 12 ++ 10 files changed, 380 insertions(+), 79 deletions(-) create mode 100644 opensrp-chw/src/nacp/assets/json.form-sw/referrals/sti_services_referral_form.json diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 1d90849430..5486a3814e 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -348,7 +348,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.36.5-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.36.6-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index 0d963d330a..ac664daad3 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -582,6 +582,6 @@ Elimu ya ukatili wa kijinsia dhidi ya makundi maalum Ujasiriamali na biashara Huduma rafiki kwa makundi maalum - STI Services + Magonjwa ya ngono diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json index 9a6bc7ebfa..b9eb454a47 100755 --- a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json @@ -124,6 +124,9 @@ "openmrs_entity": "concept", "openmrs_entity_id": "household_people", "openmrs_entity_parent": "", + "exclusive": [ + "none" + ], "options": [ { "key": "father", @@ -142,6 +145,12 @@ "text": "Mlezi", "openmrs_entity": "concept", "openmrs_entity_id": "guardian" + }, + { + "key": "none", + "text": "Anaishi mwenyewe", + "openmrs_entity": "concept", + "openmrs_entity_id": "none" } ], "v_required": { @@ -1322,6 +1331,41 @@ } } }, + { + "key": "intervention_enrolled", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "intervention_enrolled", + "label": "Je mteja amesajiliwa kwenye afua za kuzuia maambukizi?", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "yes", + "text": "Ndio", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "yes" + }, + { + "key": "no", + "text": "Hapana", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "no" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + }, + "relevance": { + "step8:intervention_eligibility": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } + }, { "key": "enrollment_date", "openmrs_entity_parent": "", @@ -1389,7 +1433,7 @@ "key": "program_name", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "program_name", + "openmrs_entity_id": "program_name_with_dreams", "label": "Jina la Mradi", "text_color": "#000000", "type": "native_radio", @@ -1428,9 +1472,67 @@ "err": "Tafadhali chagua jibu sahihi" }, "relevance": { - "step8:beneficiary_of_a_program": { - "type": "string", - "ex": "equalTo(., \"yes\")" + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } + } + } + }, + { + "key": "program_name_without_dreams", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "program_name_without_dreams", + "label": "Jina la Mradi", + "text_color": "#000000", + "type": "native_radio", + "options": [ + { + "key": "timiza_malengo", + "text": "Timiza Malengo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "timiza_malengo" + }, + { + "key": "priority_population", + "text": "Kundi la kipaumbele (PP)", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "priority_population" + }, + { + "key": "other", + "text": "Nyinginezo", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "other" + } + ], + "v_required": { + "value": "true", + "err": "Please select an answer" + }, + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } + } + } + }, + { + "key": "program_name", + "type": "hidden", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "program_name", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_calculation.yml" + } } } } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_fp_referral_form.json index 0803eb7169..ec3fe64668 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_fp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_fp_referral_form.json @@ -54,7 +54,7 @@ }, "steps": [ { - "title": "Family Planning Referral", + "title": "Rufaa ya uzazi wa mpango", "fields": [ { "name": "fp_method_accepted_referral", @@ -69,37 +69,37 @@ }, "options": [ { - "name": "Male_condom", + "name": "male_condom", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "male_condom", "openmrs_entity_parent": "" }, "text": "Kondomu ya kiume" }, { - "name": "Female_condom", + "name": "female_condom", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "female_condom", "openmrs_entity_parent": "" }, "text": "Kondomu ya kike" }, { - "name": "COC", + "name": "coc", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "coc", "openmrs_entity_parent": "" }, "text": "Vidonge vya kumeza vyenye vichocheo viwili (COC)" }, { - "name": "POP", + "name": "pop", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "pop", "openmrs_entity_parent": "" }, "text": "Vidonge vya kumeza vyenye vichocheo kimoja (POP)" @@ -108,93 +108,93 @@ "name": "Standard_day_method", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "Standard_day_method", "openmrs_entity_parent": "" }, "text": "Shanga" }, { - "name": "Emergency_contraceptive", + "name": "emergency_contraceptive", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "emergency_contraceptive", "openmrs_entity_parent": "" }, - "text": "Uzazi wa dharura" + "text": "Vidonge vya dharura vya uzazi wa mpango" }, { - "name": "Injectable", + "name": "injectable", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "injectable", "openmrs_entity_parent": "" }, "text": "Sindano" }, { - "name": "IUCD", + "name": "iucd", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "iucd", "openmrs_entity_parent": "" }, "text": "Kitanzi" }, { - "name": "Implanon_NXT", + "name": "implanon_nxt", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "implanon_nxt", "openmrs_entity_parent": "" }, "text": "Kipandikizi cha miaka 3" }, { - "name": "Jadelle", + "name": "jadelle", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "jadelle", "openmrs_entity_parent": "" }, "text": "Kipandikizi cha miaka 5" }, { - "name": "Female_sterilization", + "name": "female_sterilization", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "female_sterilization", "openmrs_entity_parent": "" }, "text": "Kufunga kizazi mwanamke" }, { - "name": "Male_sterilization_fp", + "name": "male_sterilization_fp", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "male_sterilization_fp", "openmrs_entity_parent": "" }, "text": "Kufunga kizazi mwanaume" }, { - "name": "None", + "name": "none", "is_exclusive": true, "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" }, "text": "Hakuna" }, { - "name": "Not_applicable", + "name": "not_applicable", "is_exclusive": true, "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "not_applicable", "openmrs_entity_parent": "" }, - "text": "Si husika" + "text": "Haihusiki" } ], "dependent_calculations": [ diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_kvp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_kvp_referral_form.json index 04884cb3c8..e4f3507225 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_kvp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_kvp_referral_form.json @@ -54,13 +54,13 @@ }, "steps": [ { - "title": "KVP Services Referral", + "title": "Huduma rafiki kwa makundi maalum", "fields": [ { "name": "problem", "type": "multi_choice_checkbox", "properties": { - "text": "Reasons for Referral" + "text": "Sababu za rufaa" }, "meta_data": { "openmrs_entity_parent": "", @@ -118,7 +118,7 @@ "text": "Afya ya akili na msaada wa kisaikolojia", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "rch", + "openmrs_entity_id": "mental_psychosocial_support", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_fp_referral_form.json index dbbabe6afa..900f790bcb 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_fp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_fp_referral_form.json @@ -54,7 +54,7 @@ }, "steps": [ { - "title": "Family Planning Referral", + "title": "Rufaa ya uzazi wa mpango", "fields": [ { "name": "fp_method_accepted_referral", @@ -69,51 +69,51 @@ }, "options": [ { - "name": "Male_condom", + "name": "male_condom", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "male_condom", "openmrs_entity_parent": "" }, "text": "Kondomu ya kiume" }, { - "name": "Female_condom", + "name": "female_condom", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "female_condom", "openmrs_entity_parent": "" }, "text": "Kondomu ya kike" }, { - "name": "Male_sterilization", + "name": "male_sterilization", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "male_sterilization", "openmrs_entity_parent": "" }, "text": "Kufunga kizazi mwanaume" }, { - "name": "None", + "name": "none", "is_exclusive": true, "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" }, "text": "Hakuna" }, { - "name": "Not_applicable", + "name": "not_applicable", "is_exclusive": true, "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "not_applicable", "openmrs_entity_parent": "" }, - "text": "Si husika" + "text": "Haihusiki" } ], "required_status": "yes:Tafadhali chagua njia ya uzazi wa mpango", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/sti_services_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/sti_services_referral_form.json new file mode 100644 index 0000000000..b349a3c330 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/sti_services_referral_form.json @@ -0,0 +1,174 @@ +{ + "form": "STI Services Referral", + "encounter_type": "STI Services Referral", + "entity_id": "", + "relational_id": "", + "rules_file": "rule/sti_referral_form_rules.yml", + "metadata": { + "start": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "start", + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "end": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "end", + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "today": { + "openmrs_entity_parent": "", + "openmrs_entity": "encounter", + "openmrs_entity_id": "encounter_date" + }, + "deviceid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "deviceid", + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "subscriberid": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "subscriberid", + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "simserial": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "simserial", + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "phonenumber": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_data_type": "phonenumber", + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "encounter_location": "", + "look_up": { + "entity_id": "", + "value": "" + } + }, + "steps": [ + { + "title": "Rufaa za magonjwa ya ngono", + "fields": [ + { + "name": "problem", + "type": "multi_choice_checkbox", + "properties": { + "text": "Sababu za rufaa" + }, + "meta_data": { + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "problem" + }, + "options": [ + { + "name": "genital_ulcers", + "text": "Michubuko/vidonda sehemu za siri", + "meta_data": { + "openmrs_entity": "", + "openmrs_entity_id": "genital_ulcers", + "openmrs_entity_parent": "" + } + }, + { + "name": "abnormal_vag_discharge", + "text": "Kutokwa na maji maji yasiokuwa ya kawaida ukeni au kwenye njia ya haja kubwa", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "abnormal_vag_discharge", + "openmrs_entity_parent": "" + } + }, + { + "name": "pain_during_sexual_act", + "text": "Kupata maumivu wakati wa kufanya ngono", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pain_during_sexual_act", + "openmrs_entity_parent": "" + } + }, + { + "name": "low_abdominal_pain", + "text": "Maumivu ya tumbo chini ya kitovu", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "low_abdominal_pain", + "openmrs_entity_parent": "" + } + }, + { + "name": "other", + "text": "Nyinginezo", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "other", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali chagua sababu za rufaa", + "dependent_calculations": [ + "referral_date", + "referral_time", + "referral_type", + "referral_status" + ] + }, + { + "name": "problem_other", + "type": "text_input_edit_text", + "properties": { + "hint": "Sababu nyinginezo", + "type": "name" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "problem_other", + "openmrs_entity_parent": "problem" + }, + "required_status": "true:Tafadhali jaza sababu nyinginezo", + "subjects": "problem:map" + }, + { + "name": "chw_referral_hf", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "chw_referral_hf", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Chagua kituo cha rufaa", + "searchable": "Chagua kituo cha rufaa" + }, + "options": [], + "required_status": "yes:Tafadhali chagua kituo cha rufaa" + }, + { + "name": "referral_appointment_date", + "type": "datetime_picker", + "properties": { + "hint": "Tafadhali chagua tarehe ya miadi", + "type": "date_picker", + "display_format": "dd/MM/yyyy", + "min_date": "today" + }, + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "referral_appointment_date", + "openmrs_entity_parent": "" + }, + "required_status": "true:PTafadhali chagua tarehe ya miadi" + } + ] + } + ] +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/female_fp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/female_fp_referral_form.json index 748a091269..66455d6a54 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/female_fp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/female_fp_referral_form.json @@ -69,129 +69,129 @@ }, "options": [ { - "name": "Male_condom", + "name": "male_condom", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "164813AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "male_condom", "openmrs_entity_parent": "" }, "text": "Male condom" }, { - "name": "Female_condom", + "name": "female_condom", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "164814AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "female_condom", "openmrs_entity_parent": "" }, "text": "Female condom" }, { - "name": "COC", + "name": "coc", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "159783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "coc", "openmrs_entity_parent": "" }, "text": "COC" }, { - "name": "POP", + "name": "pop", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "159784AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "pop", "openmrs_entity_parent": "" }, "text": "POP" }, { - "name": "Standard_day_method", + "name": "standard_day_method", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "5277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "standard_day_method", "openmrs_entity_parent": "" }, "text": "Standard day method" }, { - "name": "Emergency_contraceptive", + "name": "emergency_contraceptive", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "160570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "emergency_contraceptive", "openmrs_entity_parent": "" }, "text": "Emergency contraceptive" }, { - "name": "Injectable", + "name": "injectable", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "5279AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "injectable", "openmrs_entity_parent": "" }, "text": "Injectable" }, { - "name": "IUCD", + "name": "iucd", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "5275AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "iucd", "openmrs_entity_parent": "" }, "text": "IUCD" }, { - "name": "Implanon_NXT", + "name": "implanon_nxt", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "76022AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "implanon_nxt", "openmrs_entity_parent": "" }, "text": "Implanon - NXT" }, { - "name": "Jadelle", + "name": "jadelle", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "1873AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "jadelle", "openmrs_entity_parent": "" }, "text": "Jadelle" }, { - "name": "Female_sterilization", + "name": "female_sterilization", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "5276AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "female_sterilization", "openmrs_entity_parent": "" }, "text": "Female sterilization" }, { - "name": "Male_sterilization_fp", + "name": "male_sterilization_fp", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "1489AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "male_sterilization_fp", "openmrs_entity_parent": "" }, "text": "Male sterilization" }, { - "name": "None", + "name": "none", "is_exclusive": true, "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "164369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "none", "openmrs_entity_parent": "" }, "text": "None" }, { - "name": "Not_applicable", + "name": "not_applicable", "is_exclusive": true, "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_id": "not_applicable", "openmrs_entity_parent": "" }, "text": "Not applicable" diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index a127903366..15b53cd154 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -266,6 +266,19 @@ TOHARA kwa wanaume Afya ya akili na msaada wa kisaikolojia + Kondomu ya kiume + Kondomu ya kike + Vidonge vya COC + Vidonge vya POP + Shanga + Vidonge vya dharura vya uzazi wa mpango + Sindano + Kitanzi + Kipandikizi cha miaka 3 + Kipandikizi cha miaka 5 + Kufunga kizazi mwanamke + Kufunga kizazi mwanaume + Hali ya ufuatiliaji: Mteja Mpya diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 9168f899ea..4af7a11b58 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -106,6 +106,18 @@ Reproductive health services VMMC Mental Health and Psycho-social support + Male condom + Female condom + COC + POP + Standard day method + Emergency contraceptive + Injectable + IUCD + Implanon - NXT + Jadelle + Female sterilization + Male sterilization CTC PWID From 1f5ce1aff10572b0a30bdaec512fc9dd185a61f2 Mon Sep 17 00:00:00 2001 From: Anga <43644443+tbwahacker@users.noreply.github.com> Date: Mon, 24 Oct 2022 16:10:22 +0300 Subject: [PATCH 888/915] Implementing agyw inapp repports (#389) * Implementing inapp report for condom distribution programming * testing detail value in cbhsmonthlyreportobject * delete log and toast used during testing * implementing inapp reports for AGYW * added refactor to manifest in agyw reports * implementing in app reports(cdp receiving reports) * implemeting agyw * modifying cdp-report.js file * completed cdp reports in issuing reports * modifying cdp receiving reports * some changes added in agyw inapp reports * added html files for agyw inapp reports * some changes added to agyw in-app reports * some fixes was added to agwy * added fixes into agyw inapp reporys * cdp and agyw in app reports mixedup * fix changes in agyw inapp reports after merge * implimenting agyw in app reports renewed * fixing some codacy issues * fixes some chsnges in sgyw reports sfter codscy * fix some codacy issues in agyw inapp reports * resolved codacy issue to agyw * fixes some issues in agyw reports codacy Co-authored-by: Chriss Developer <86108630+ChrissDisigale@users.noreply.github.com> --- opensrp-chw/src/main/AndroidManifest.xml | 15 + .../chw/activity/AGYWReportsActivity.java | 22 + .../chw/activity/AGYWReportsViewActivity.java | 19 + .../chw/activity/CdpReportsActivity.java | 142 +++ .../chw/activity/CdpReportsViewActivity.java | 18 + .../chw/activity/InAppReportsActivity.java | 14 + .../org/smartregister/chw/dao/ReportDao.java | 80 ++ .../domain/agyw_reports/AGYWReportObject.java | 50 + .../cbhs_reports/CbhsMonthlyReportObject.java | 2 + .../cdp_reports/CdpIssuingReportObject.java | 86 ++ .../cdp_reports/CdpReceivingReportObject.java | 53 + .../chw/repository/ChwRepository.java | 3 +- .../chw/util/ChwWebAppInterface.java | 28 + .../org/smartregister/chw/util/Constants.java | 14 + .../smartregister/chw/util/ReportUtils.java | 48 +- .../drawable-hdpi/reports_bg_blue_green.xml | 5 + .../main/res/drawable/reports_bg_green.xml | 5 + .../main/res/layout/activity_cdp_reports.xml | 161 +++ .../res/layout/activity_in_app_reports.xml | 367 ++++-- .../src/main/res/values-fr/strings.xml | 2 + .../src/main/res/values-sw/strings.xml | 8 + .../src/main/res/values-sw600dp/strings.xml | 5 + opensrp-chw/src/main/res/values/strings.xml | 7 + .../assets/config/agyw-monthly-report.yml | 1112 +++++++++++++++++ .../nacp/assets/ec_client_classification.json | 18 +- .../src/nacp/assets/ec_client_fields.json | 307 +++++ .../cdp_receive_condom_facility.json | 14 + .../src/nacp/assets/reports/agyw-report.html | 211 ++++ .../nacp/assets/reports/cdp-report-script.js | 36 + .../condom-distribution-issuing-report.html | 33 + .../condom-distribution-receiving-report.html | 33 + .../rule/cdp_receive_condom_calculation.yml | 9 +- .../src/nacp/res/values-sw/strings.xml | 6 +- opensrp-chw/src/nacp/res/values/strings.xml | 5 + 34 files changed, 2818 insertions(+), 120 deletions(-) create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/AGYWReportsActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/AGYWReportsViewActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpReportsActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpReportsViewActivity.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/domain/agyw_reports/AGYWReportObject.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/domain/cdp_reports/CdpIssuingReportObject.java create mode 100644 opensrp-chw/src/main/java/org/smartregister/chw/domain/cdp_reports/CdpReceivingReportObject.java create mode 100644 opensrp-chw/src/main/res/drawable-hdpi/reports_bg_blue_green.xml create mode 100644 opensrp-chw/src/main/res/drawable/reports_bg_green.xml create mode 100644 opensrp-chw/src/main/res/layout/activity_cdp_reports.xml create mode 100644 opensrp-chw/src/main/res/values-sw600dp/strings.xml create mode 100644 opensrp-chw/src/nacp/assets/config/agyw-monthly-report.yml create mode 100644 opensrp-chw/src/nacp/assets/reports/agyw-report.html create mode 100644 opensrp-chw/src/nacp/assets/reports/cdp-report-script.js create mode 100644 opensrp-chw/src/nacp/assets/reports/cdp_reports/condom-distribution-issuing-report.html create mode 100644 opensrp-chw/src/nacp/assets/reports/cdp_reports/condom-distribution-receiving-report.html diff --git a/opensrp-chw/src/main/AndroidManifest.xml b/opensrp-chw/src/main/AndroidManifest.xml index e27b291f21..99897033af 100644 --- a/opensrp-chw/src/main/AndroidManifest.xml +++ b/opensrp-chw/src/main/AndroidManifest.xml @@ -378,6 +378,21 @@ android:name=".activity.CbhsMedicalHistoryActivity" android:theme="@style/ChwTheme.NoActionBar" /> + + + + + + + diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AGYWReportsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AGYWReportsActivity.java new file mode 100644 index 0000000000..1560d122dd --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AGYWReportsActivity.java @@ -0,0 +1,22 @@ +package org.smartregister.chw.activity; +import android.view.View; +import android.widget.TextView; +import org.smartregister.chw.R; + +public class AGYWReportsActivity extends CBHSReportsActivity{ + @Override + public void onClick(View v) { + int id = v.getId(); + if (id == R.id.cbhs_monthly_summary) { + AGYWReportsViewActivity.startMe(this, "agyw-report", reportPeriod); + } + } + + @Override + public void setUpToolbar() { + super.setUpToolbar(); + TextView title = findViewById(R.id.toolbar_title); + title.setText(R.string.agyw_reports); + } + +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AGYWReportsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AGYWReportsViewActivity.java new file mode 100644 index 0000000000..68d539dda7 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AGYWReportsViewActivity.java @@ -0,0 +1,19 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Intent; + +import org.smartregister.chw.R; +import org.smartregister.chw.util.Constants; + + +public class AGYWReportsViewActivity extends ChwReportsViewActivity{ + public static void startMe(Activity activity, String reportPath, String reportDate) { + Intent intent = new Intent(activity, AGYWReportsViewActivity.class); + intent.putExtra(ARG_REPORT_PATH, reportPath); + intent.putExtra(ARG_REPORT_DATE, reportDate); + intent.putExtra(ARG_REPORT_TITLE, R.string.agyw_reports); + intent.putExtra(ARG_REPORT_TYPE, Constants.ReportConstants.ReportTypes.AGYW_REPORT); + activity.startActivity(intent); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpReportsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpReportsActivity.java new file mode 100644 index 0000000000..03340fa034 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpReportsActivity.java @@ -0,0 +1,142 @@ +package org.smartregister.chw.activity; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.Toast; + +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.widget.Toolbar; +import androidx.constraintlayout.widget.ConstraintLayout; + +import com.google.android.material.appbar.AppBarLayout; +import com.whiteelephant.monthpicker.MonthPickerDialog; + +import org.smartregister.chw.R; +import org.smartregister.chw.util.Constants; +import org.smartregister.chw.util.ReportUtils; +import org.smartregister.view.activity.SecuredActivity; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.Locale; + +import timber.log.Timber; + +public class CdpReportsActivity extends SecuredActivity implements View.OnClickListener { + protected ConstraintLayout cdpIssuingReport; + protected ConstraintLayout cdpReceivingReport; + protected AppBarLayout appBarLayout; + Menu menu; + private String reportPeriod = ReportUtils.getDefaultReportPeriod(); + + public void setupViews() { + cdpIssuingReport = findViewById(R.id.cdp_issuing_report); + cdpReceivingReport = findViewById(R.id.cdp_receiving_report); + + + cdpIssuingReport.setOnClickListener(this); + cdpReceivingReport.setOnClickListener(this); + } + + public void setUpToolbar() { + Toolbar toolbar = findViewById(org.smartregister.chw.core.R.id.back_to_nav_toolbar); + setSupportActionBar(toolbar); + + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setDisplayHomeAsUpEnabled(true); + final Drawable upArrow = getResources().getDrawable(org.smartregister.chw.core.R.drawable.ic_arrow_back_white_24dp); + actionBar.setHomeAsUpIndicator(upArrow); + actionBar.setElevation(0); + } + toolbar.setNavigationOnClickListener(v -> finish()); + appBarLayout = findViewById(org.smartregister.chw.core.R.id.app_bar); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + appBarLayout.setOutlineProvider(null); + } + } + + @Override + protected void onResumption() { + //overridden + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(R.menu.reports_menu, menu); + this.menu = menu; + this.menu.findItem(R.id.action_select_month).setTitle(ReportUtils.displayMonthAndYear()); + return true; + } + + @Override + protected void onCreation() { + setContentView(R.layout.activity_cdp_reports); + setUpToolbar(); + setupViews(); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int itemId = item.getItemId(); + if (itemId == R.id.action_select_month) { + showMonthPicker(this, menu); + return true; + } + return super.onOptionsItemSelected(item); + } + + @SuppressLint("NonConstantResourceId") + @Override + public void onClick(View v) { + int id = v.getId(); + switch (id) { + case R.id.cdp_issuing_report: + CdpReportsViewActivity.startMe(this, Constants.ReportConstants.ReportPaths.CONDOM_DISTRIBUTION_ISSUING_REPORT_PATH, R.string.cdp_issuing_report, reportPeriod); + break; + case R.id.cdp_receiving_report: + CdpReportsViewActivity.startMe(this, Constants.ReportConstants.ReportPaths.CONDOM_DISTRIBUTION_RECEIVING_REPORT_PATH, R.string.cdp_receiving_report, reportPeriod); + break; + default: + Toast.makeText(this, "Action Not Defined", Toast.LENGTH_SHORT).show(); + break; + } + } + + private void showMonthPicker(Context context, Menu menu) { + //shows the month picker and returns selected period and updated the menu + MonthPickerDialog.Builder builder = new MonthPickerDialog.Builder(context, (selectedMonth, selectedYear) -> { + int month = selectedMonth + 1; + String monthString = String.valueOf(month); + if (month < 10) { + monthString = "0" + monthString; + } + String yearString = String.valueOf(selectedYear); + reportPeriod = monthString + "-" + yearString; + menu.findItem(R.id.action_select_month).setTitle(ReportUtils.displayMonthAndYear(selectedMonth, selectedYear)); + + }, Calendar.getInstance().get(Calendar.YEAR), Calendar.getInstance().get(Calendar.MONTH)); + try { + Date reportDate = new SimpleDateFormat("MM-yyyy", Locale.getDefault()).parse(reportPeriod); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(reportDate); + builder.setActivatedMonth(calendar.get(Calendar.MONTH)); + builder.setMinYear(2021); + builder.setActivatedYear(calendar.get(Calendar.YEAR)); + builder.setMaxYear(Calendar.getInstance().get(Calendar.YEAR)); + builder.setMinMonth(Calendar.JANUARY); + builder.setMaxMonth(Calendar.DECEMBER); + builder.setTitle("Select Month 0"); + builder.build().show(); + } catch (ParseException e) { + Timber.e(e); + } + } +} \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpReportsViewActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpReportsViewActivity.java new file mode 100644 index 0000000000..29f7e4fccb --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/CdpReportsViewActivity.java @@ -0,0 +1,18 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.content.Intent; + +import org.smartregister.chw.util.Constants; + + +public class CdpReportsViewActivity extends ChwReportsViewActivity{ + public static void startMe(Activity activity, String reportPath, int reportTitle, String reportDate) { + Intent intent = new Intent(activity, CdpReportsViewActivity.class); + intent.putExtra(ARG_REPORT_PATH, reportPath); + intent.putExtra(ARG_REPORT_TITLE, reportTitle); + intent.putExtra(ARG_REPORT_DATE, reportDate); + intent.putExtra(ARG_REPORT_TYPE, Constants.ReportConstants.ReportTypes.CONDOM_DISTRIBUTION_REPORT); + activity.startActivity(intent); + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java index 27d0296ac6..d165ab5da9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/InAppReportsActivity.java @@ -24,6 +24,8 @@ public class InAppReportsActivity extends SecuredActivity implements View.OnClic protected AppBarLayout appBarLayout; protected ConstraintLayout cbhsReportsLayout; protected ConstraintLayout motherChampionReportsLayout; + protected ConstraintLayout condomDistributionReports; + protected ConstraintLayout agyweports; @Override protected void onCreation() { @@ -42,8 +44,12 @@ protected void onResumption() { public void setUpViews() { cbhsReportsLayout = findViewById(R.id.cbhs_summary); motherChampionReportsLayout = findViewById(R.id.mother_champion_reports); + condomDistributionReports = findViewById(R.id.cdp_reports); + agyweports = findViewById(R.id.agyw_reports); motherChampionReportsLayout.setOnClickListener(this); + condomDistributionReports.setOnClickListener(this); cbhsReportsLayout.setOnClickListener(this); + agyweports.setOnClickListener(this); } public void setUpToolbar() { @@ -84,6 +90,14 @@ public void onClick(View v) { Intent intent = new Intent(this, MotherChampionReportsActivity.class); startActivity(intent); } + if (id==R.id.cdp_reports){ + Intent intent = new Intent(this, CdpReportsActivity.class); + startActivity(intent); + } + if (id==R.id.agyw_reports){ + Intent intent = new Intent(this, AGYWReportsActivity.class); + startActivity(intent); + } } } \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java index a5d434a712..8a8c225c36 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/dao/ReportDao.java @@ -230,6 +230,42 @@ private static HashMap> getVaccineSched return VisitVaccineUtil.getSchedule(vaccineGroups, specialVaccines, category); } + public static List> getHfIssuingCdpStockLog(Date reportDate) + { + String sql = "SELECT outlet_name,visit_key,vd.details as details FROM ec_cdp_outlet as eco\n" + + " INNER JOIN visits ON visits.base_entity_id = eco.base_entity_id\n" + + "INNER JOIN visit_details as vd ON visits.visit_id = vd.visit_id\n" + + "WHERE (visit_key = 'restocked_male_condoms' \n" + + "OR visit_key = 'restocked_female_condoms' )\n" + + "AND visit_type = 'CDP Restock'\n" + + "AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) =\n" + + " date(substr(strftime('%Y-%m-%d', datetime(visit_date / 1000, 'unixepoch', 'localtime')), 1, 4) ||\n" + + " '-' ||\n" + + " substr(strftime('%Y-%m-%d', datetime(visit_date / 1000, 'unixepoch', 'localtime')), 6, 2) ||\n" + + " '-' || '01')"; + + String queryDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(reportDate); + + sql = sql.contains("%s") ? sql.replaceAll("%s", queryDate) : sql; + + DataMap> map = cursor -> { + Map data = new HashMap<>(); + data.put("outlet_name", cursor.getString(cursor.getColumnIndex("outlet_name"))); + data.put("visit_key", cursor.getString(cursor.getColumnIndex("visit_key"))); + data.put("details", cursor.getString(cursor.getColumnIndex("details"))); + + return data; + }; + + List> res = readData(sql, map); + + + if (res != null && res.size() > 0) { + return res; + } else + return new ArrayList<>(); + } + public static List> getCHWRegistrationFollowUpClients(Date reportDate) { String sql = "SELECT ecr.cbhs_number as cbhs_number,\n" + " ecr.reasons_for_registration as registration_reason,\n" + @@ -356,6 +392,50 @@ public static List> getCHWRegistrationFollowUpClients(Date r return new ArrayList<>(); } + public static List> getHfCdpStockLog(Date reportDate) + { + String sql = "SELECT location.name,ec_cdp_order_feedback.condom_brand,ec_cdp_order_feedback.quantity_response as number_male_condom, '-' as number_female_condom FROM ec_cdp_order_feedback\n" + + " INNER JOIN task ON ec_cdp_order_feedback.request_reference = task.reason_reference\n" + + " INNER JOIN location ON task.group_id = location.uuid\n" + + " WHERE ec_cdp_order_feedback.condom_type='male_condom' AND\n" + + "\t\t\t task.status='COMPLETED' AND\n" + + " date(substr(strftime('%Y-%m-%d', datetime(response_at / 1000, 'unixepoch', 'localtime')), 1, 4) || '-' ||\n" + + " substr(strftime('%Y-%m-%d', datetime(response_at / 1000, 'unixepoch', 'localtime')), 6, 2) || '-' || '01') =\n" + + " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))\n" + + " UNION ALL\n" + + " SELECT location.name,ec_cdp_order_feedback.condom_brand, '-' as number_male_condom,ec_cdp_order_feedback.quantity_response as number_female_condom FROM ec_cdp_order_feedback\n" + + " INNER JOIN task ON ec_cdp_order_feedback.request_reference = task.reason_reference\n" + + " INNER JOIN location ON task.group_id = location.uuid\n" + + " WHERE ec_cdp_order_feedback.condom_type='female_condom' AND\n" + + "\t\t\t\ttask.status='COMPLETED' AND\n" + + " date(substr(strftime('%Y-%m-%d', datetime(response_at / 1000, 'unixepoch', 'localtime')), 1, 4) || '-' ||\n" + + " substr(strftime('%Y-%m-%d', datetime(response_at / 1000, 'unixepoch', 'localtime')), 6, 2) || '-' || '01') =\n" + + " date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01'))"; + + String queryDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(reportDate); + + sql = sql.contains("%s") ? sql.replaceAll("%s", queryDate) : sql; + + DataMap> map = cursor -> { + Map data = new HashMap<>(); + data.put("number_female_condom", cursor.getString(cursor.getColumnIndex("number_female_condom"))); + data.put("number_male_condom", cursor.getString(cursor.getColumnIndex("number_male_condom"))); + data.put("name", cursor.getString(cursor.getColumnIndex("name"))); + data.put("condom_brand", cursor.getString(cursor.getColumnIndex("condom_brand"))); + + return data; + }; + + List> res = readData(sql, map); + + + if (res != null && res.size() > 0) { + return res; + } else + return new ArrayList<>(); + } + + @NonNull public static List eligibleChildrenReport(ArrayList communityIds, Date dueDate) { String _communityIds = "('" + StringUtils.join(communityIds, "','") + "')"; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/agyw_reports/AGYWReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/agyw_reports/AGYWReportObject.java new file mode 100644 index 0000000000..2cc4cdb395 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/agyw_reports/AGYWReportObject.java @@ -0,0 +1,50 @@ +package org.smartregister.chw.domain.agyw_reports; + +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.dao.ReportDao; +import org.smartregister.chw.domain.ReportObject; + +import java.util.Date; + +public class AGYWReportObject extends ReportObject { + + private final String[] noOfQuestions = new String[]{"1","2","3","4","5","6","7","8","9","10","11","12","13"}; + private final String[] agesGroups = new String[]{"10-14","15-19","20-24"}; + private final Date reportDate; + private JSONObject jsonObject ; + + public AGYWReportObject(Date reportDate) { + super(reportDate); + this.reportDate = reportDate; + } + + @Override + public JSONObject getIndicatorData() throws JSONException { + + + + jsonObject = new JSONObject(); + for (String questions : noOfQuestions){ + for (String ageGroup : agesGroups) { + jsonObject.put("agyw"+"-"+questions+"-"+ageGroup, + ReportDao.getReportPerIndicatorCode("agyw"+"-"+questions+"-"+ageGroup, reportDate)); + } + } + // get total of all + getTotalPerEachIndicator(); + + return jsonObject; + } + + private void getTotalPerEachIndicator() throws JSONException { + int finalTotal = 0; + for (String question: noOfQuestions){ + for (String ageGroup : agesGroups) { + finalTotal += ReportDao.getReportPerIndicatorCode("agyw"+"-"+question+"-"+ageGroup, reportDate); + } + jsonObject.put("agyw"+"-"+question+"-JUMLA",finalTotal); //display the total for specified question + finalTotal=0; + } + } +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java index d96d9f5eb3..5fb74be08e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cbhs_reports/CbhsMonthlyReportObject.java @@ -154,6 +154,7 @@ private String getCbhsClientDetails(Map chwRegistrationFollowupC default: return details; } + } return "-"; } @@ -183,6 +184,7 @@ private String getStringValues(String receivedVal, String resourceKey) { return stringValues; } + int humanReadableValueId = context.getResources().getIdentifier(resourceKey + receivedVal.trim().toLowerCase(), "string", context.getPackageName()); if (humanReadableValueId != 0) { return context.getString(humanReadableValueId); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cdp_reports/CdpIssuingReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cdp_reports/CdpIssuingReportObject.java new file mode 100644 index 0000000000..62bd838ab3 --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cdp_reports/CdpIssuingReportObject.java @@ -0,0 +1,86 @@ +package org.smartregister.chw.domain.cdp_reports; + +import android.util.Log; + +import org.apache.commons.lang3.StringUtils; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.dao.ReportDao; +import org.smartregister.chw.domain.ReportObject; +import java.util.Date; +import java.util.List; +import java.util.Map; + +public class CdpIssuingReportObject extends ReportObject { + private Date reportDate; + + public CdpIssuingReportObject(Date reportDate) { + super(reportDate); + this.reportDate = reportDate; + } + + + @Override + public JSONObject getIndicatorData() throws JSONException { + JSONArray dataArray = new JSONArray(); + List> getHfCdpStockLogList = ReportDao.getHfIssuingCdpStockLog(reportDate); + + int i = 0; + int flag_count_female=0; + int flag_count_male=0; + for (Map getHfCdpStockLog : getHfCdpStockLogList) { + JSONObject reportJsonObject = new JSONObject(); + reportJsonObject.put("id", ++i); + + Log.d("hukuuuu",""+getHfCdpStockLog); + if (getCdpClientDetails(getHfCdpStockLog, "visit_key").equals("restocked_male_condoms")){ + reportJsonObject.put("outlet-name", getCdpClientDetails(getHfCdpStockLog, "outlet_name")); + reportJsonObject.put("male-condoms-offset", getCdpClientDetails(getHfCdpStockLog, "details")); + reportJsonObject.put("female-condoms-offset", getCdpClientDetails(getHfCdpStockLog, "0")); + flag_count_male+=Integer.parseInt(getCdpClientDetails(getHfCdpStockLog, "details")); + } + + if(getCdpClientDetails(getHfCdpStockLog, "visit_key").equals("restocked_female_condoms")){ + reportJsonObject.put("outlet-name", getCdpClientDetails(getHfCdpStockLog, "outlet_name")); + reportJsonObject.put("male-condoms-offset", getCdpClientDetails(getHfCdpStockLog, "0")); + reportJsonObject.put("female-condoms-offset", getCdpClientDetails(getHfCdpStockLog, "details")); + flag_count_female+=Integer.parseInt(getCdpClientDetails(getHfCdpStockLog, "details")); + } + + dataArray.put(reportJsonObject); + } + + //finally go display total of all + if (flag_count_male > 0 || flag_count_female > 0 ){ + JSONObject reportJsonObject = new JSONObject(); + reportJsonObject.put("total-id",i+1); + reportJsonObject.put("total","TOTAL NUMBER OF CONDOMS ISSUED"); + reportJsonObject.put("total-male-condoms",flag_count_male); + reportJsonObject.put("total-female-condoms",flag_count_female); + dataArray.put(reportJsonObject); + } + + + JSONObject resultJsonObject = new JSONObject(); + resultJsonObject.put("reportData", dataArray); + + return resultJsonObject; + } + + private String getCdpClientDetails(Map chwRegistrationFollowupClient, String key) { + String details = chwRegistrationFollowupClient.get(key); //get all details + if (StringUtils.isNotBlank(details)) { + return details; + } + else { + if (key.equals("0")){ + return "0"; + }else { + return "-"; + } + } + + } + +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/cdp_reports/CdpReceivingReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cdp_reports/CdpReceivingReportObject.java new file mode 100644 index 0000000000..f89e97f27b --- /dev/null +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/cdp_reports/CdpReceivingReportObject.java @@ -0,0 +1,53 @@ +package org.smartregister.chw.domain.cdp_reports; +import org.apache.commons.lang3.StringUtils; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.dao.ReportDao; +import org.smartregister.chw.domain.ReportObject; +import java.util.Date; +import java.util.List; +import java.util.Map; + +public class CdpReceivingReportObject extends ReportObject { + private Date reportDate; + + public CdpReceivingReportObject(Date reportDate) { + super(reportDate); + this.reportDate = reportDate; + } + + + @Override + public JSONObject getIndicatorData() throws JSONException { + JSONArray dataArray = new JSONArray(); + List> getHfCdpStockLogList = ReportDao.getHfCdpStockLog(reportDate); + + int i = 0; + for (Map getHfCdpStockLog : getHfCdpStockLogList) { + JSONObject reportJsonObject = new JSONObject(); + reportJsonObject.put("id", ++i); + + reportJsonObject.put("source", getCbhsClientDetails(getHfCdpStockLog, "name")); + reportJsonObject.put("condom-brand", getCbhsClientDetails(getHfCdpStockLog, "condom_brand")); + reportJsonObject.put("number-of-male-condom", getCbhsClientDetails(getHfCdpStockLog, "number_male_condom")); + reportJsonObject.put("number-of-female-condom", getCbhsClientDetails(getHfCdpStockLog, "number_female_condom")); + dataArray.put(reportJsonObject); + } + + JSONObject resultJsonObject = new JSONObject(); + resultJsonObject.put("reportData", dataArray); + + return resultJsonObject; + } + + private String getCbhsClientDetails(Map chwRegistrationFollowupClient, String key) { + String details = chwRegistrationFollowupClient.get(key); + if (StringUtils.isNotBlank(details)) { + return details; + } + return "-"; + } + + +} diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/repository/ChwRepository.java b/opensrp-chw/src/main/java/org/smartregister/chw/repository/ChwRepository.java index 400d3d9aa2..d9e9a7bcf9 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/repository/ChwRepository.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/repository/ChwRepository.java @@ -63,9 +63,10 @@ private static void upgradeToVersion2(SQLiteDatabase db) { if (!indicatorDataInitialised || isUpdated) { String indicatorsConfigFile = "config/indicator-definitions.yml"; + String agywindicatorConfigFile = "config/agyw-monthly-report.yml"; for (String configFile : Collections.unmodifiableList( - Arrays.asList(indicatorsConfigFile))) { + Arrays.asList(indicatorsConfigFile,agywindicatorConfigFile))) { reportingLibraryInstance.readConfigFile(configFile, db); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java index 3e1f136a8c..71dd6a8ef5 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwWebAppInterface.java @@ -27,14 +27,42 @@ public String getDataForReport() { return ReportUtils.MotherChampionReport.computeReport(ReportUtils.getReportDate()); } + + return ""; + } + + @JavascriptInterface + public String getData(String key) { + if (reportType.equalsIgnoreCase(Constants.ReportConstants.ReportTypes.AGYW_REPORT)){ + ReportUtils.setPrintJobName("AGYW_report_ya_mwezi-" + ReportUtils.getReportPeriod() + ".pdf"); + return ReportUtils.AGYWReport.computeReport(ReportUtils.getReportDate()); + } + if (reportType.equalsIgnoreCase(Constants.ReportConstants.ReportTypes.CONDOM_DISTRIBUTION_REPORT)){ + switch (key) { + case Constants.ReportConstants.CDPReportKeys.ISSUING_REPORTS: + ReportUtils.setPrintJobName("CDP_issuing_report_ya_mwezi-" + ReportUtils.getReportPeriod() + ".pdf"); + return ReportUtils.CDPReports.computeIssuingReports(ReportUtils.getReportDate()); + case Constants.ReportConstants.CDPReportKeys.RECEIVING_REPORTS: + ReportUtils.setPrintJobName("CDP_receiving_report_ya_mwezi-" + ReportUtils.getReportPeriod() + ".pdf"); + return ReportUtils.CDPReports.computeReceivingReports(ReportUtils.getReportDate()); + default: + return ""; + } + } return ""; } + @JavascriptInterface public String getDataPeriod() { return ReportUtils.getReportPeriod(); } + @JavascriptInterface + public String getDataPeriod(String reportKey) { + return ReportUtils.getReportPeriod(); + } + @JavascriptInterface public String getReportingFacility() { return getAllSharedPreferences().fetchCurrentLocality(); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java index a394566884..82ef3aa7db 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/Constants.java @@ -149,6 +149,20 @@ public static final class ReportConstants { public interface ReportTypes { String CBHS_REPORT = "cbhs_report"; String MOTHER_CHAMPION_REPORT = "mother_champion_report"; + String CONDOM_DISTRIBUTION_REPORT = "condom_distribution_report"; + String AGYW_REPORT = "agyw_report"; + } + + public interface CDPReportKeys { + String ISSUING_REPORTS = "issuing_reports"; + String RECEIVING_REPORTS = "receiving_reports"; + } + + public interface ReportPaths { + String CBHS_REPORT_PATH = "cbhs-taarifa-ya-mwezi"; + String MOTHER_CHAMPION_REPORT_PATH = "mother-champion-report"; + String CONDOM_DISTRIBUTION_ISSUING_REPORT_PATH = "condom-distribution-issuing-report"; + String CONDOM_DISTRIBUTION_RECEIVING_REPORT_PATH = "condom-distribution-receiving-report"; } } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java index 2f2012262b..888a39ea3a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ReportUtils.java @@ -10,7 +10,11 @@ import android.webkit.WebView; import org.apache.commons.lang3.StringUtils; +import org.json.JSONException; +import org.smartregister.chw.domain.agyw_reports.AGYWReportObject; import org.smartregister.chw.domain.cbhs_reports.CbhsMonthlyReportObject; +import org.smartregister.chw.domain.cdp_reports.CdpIssuingReportObject; +import org.smartregister.chw.domain.cdp_reports.CdpReceivingReportObject; import org.smartregister.chw.domain.mother_champion_report.MotherChampionReportObject; import java.text.ParseException; @@ -105,7 +109,13 @@ public static void loadReportView(String reportPath, WebView mWebView, Context c .build(); mWebView.setWebViewClient(new LocalContentWebViewClient(assetLoader)); mWebView.addJavascriptInterface(new ChwWebAppInterface(context, reportType), "Android"); - mWebView.loadUrl("https://appassets.androidplatform.net/assets/reports/" + reportPath + ".html"); + + if (reportType.equals(Constants.ReportConstants.ReportTypes.CONDOM_DISTRIBUTION_REPORT)){ + mWebView.loadUrl("https://appassets.androidplatform.net/assets/reports/cdp_reports/" + reportPath + ".html"); + }else { + mWebView.loadUrl("https://appassets.androidplatform.net/assets/reports/" + reportPath + ".html"); + } + } @@ -135,5 +145,39 @@ public static String computeReport(Date now) { } } + public static class CDPReports { + public static String computeIssuingReports(Date startDate) { + CdpIssuingReportObject cdpIssuingReportObject = new CdpIssuingReportObject(startDate); + try { + return cdpIssuingReportObject.getIndicatorDataAsGson(cdpIssuingReportObject.getIndicatorData()); + } catch (JSONException e) { + Timber.e(e); + } + return ""; + } -} + public static String computeReceivingReports(Date now) { + String report = ""; + CdpReceivingReportObject cdpReceivingReportObject = new CdpReceivingReportObject(now); + try { + report = cdpReceivingReportObject.getIndicatorDataAsGson(cdpReceivingReportObject.getIndicatorData()); + } catch (Exception e) { + Timber.e(e); + } + return report; + } + } + + public static class AGYWReport { + public static String computeReport(Date now) { + String report = ""; + AGYWReportObject agywReportObject = new AGYWReportObject(now); + try { + report = agywReportObject.getIndicatorDataAsGson(agywReportObject.getIndicatorData()); + } catch (Exception e) { + Timber.e(e); + } + return report; + } + } +} \ No newline at end of file diff --git a/opensrp-chw/src/main/res/drawable-hdpi/reports_bg_blue_green.xml b/opensrp-chw/src/main/res/drawable-hdpi/reports_bg_blue_green.xml new file mode 100644 index 0000000000..b5d7464602 --- /dev/null +++ b/opensrp-chw/src/main/res/drawable-hdpi/reports_bg_blue_green.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/drawable/reports_bg_green.xml b/opensrp-chw/src/main/res/drawable/reports_bg_green.xml new file mode 100644 index 0000000000..822d00c2bc --- /dev/null +++ b/opensrp-chw/src/main/res/drawable/reports_bg_green.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/layout/activity_cdp_reports.xml b/opensrp-chw/src/main/res/layout/activity_cdp_reports.xml new file mode 100644 index 0000000000..3af8f6b6bd --- /dev/null +++ b/opensrp-chw/src/main/res/layout/activity_cdp_reports.xml @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml b/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml index f43966955c..fd4f3cbc01 100644 --- a/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml +++ b/opensrp-chw/src/main/res/layout/activity_in_app_reports.xml @@ -1,9 +1,10 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/values-fr/strings.xml b/opensrp-chw/src/main/res/values-fr/strings.xml index 5028065b25..40528c56eb 100644 --- a/opensrp-chw/src/main/res/values-fr/strings.xml +++ b/opensrp-chw/src/main/res/values-fr/strings.xml @@ -333,6 +333,8 @@ Vous êtes sûr de vouloir annuler ce téléchargement ? Annuler le téléchargement + AGYW Reports + View AGYW Report diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index ac664daad3..e27ffc48ef 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -441,6 +441,14 @@ Ruhusu Ukusanyaji wa Nambari ya Simu Mtoa Huduma wa Afya ngazi ya Jamii hukusanya nambari za simu za wateja zitakazotumika kwa ufuatiliaji, tathmini na uchambuzi wa ziara zinazofanywa katika jamii. + View Condom Distribution Report + Condom Distribution Reports + CDP REPORTS + CDP Issuing Report + CDP Receiving Report + AGYW Reports + View AGYW Report + Rekodi Huduma za Msichana Rika Balehe na Mwanamke Kijana diff --git a/opensrp-chw/src/main/res/values-sw600dp/strings.xml b/opensrp-chw/src/main/res/values-sw600dp/strings.xml new file mode 100644 index 0000000000..bcfba1f2da --- /dev/null +++ b/opensrp-chw/src/main/res/values-sw600dp/strings.xml @@ -0,0 +1,5 @@ + + + AGYW Reports + View AGYW Report + \ No newline at end of file diff --git a/opensrp-chw/src/main/res/values/strings.xml b/opensrp-chw/src/main/res/values/strings.xml index ddc5abf2f7..dd14daf06b 100644 --- a/opensrp-chw/src/main/res/values/strings.xml +++ b/opensrp-chw/src/main/res/values/strings.xml @@ -435,7 +435,14 @@ Allow Phone Number Collection Community Healthcare Worker collect user phone numbers to be used for monitoring, evaluation and analysis of visits conducted at the community. KVP Friendly Services + View Condom Distribution Report + Condom Distribution Reports + CDP REPORTS + CDP Issuing Report + CDP Receiving Report STI Services + AGYW Reports + View AGYW Report diff --git a/opensrp-chw/src/nacp/assets/config/agyw-monthly-report.yml b/opensrp-chw/src/nacp/assets/config/agyw-monthly-report.yml new file mode 100644 index 0000000000..46ecadd9dd --- /dev/null +++ b/opensrp-chw/src/nacp/assets/config/agyw-monthly-report.yml @@ -0,0 +1,1112 @@ +indicators: + # Question 1 + - key: "agyw-1-10-14" + description: "Idadi ya wasichana balehe na wanawake vijana waliotathminiwa kwenye afua za kuzuia maambukizi Umri 10-14" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE intervention_screening = 'yes' + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+14 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + - key: "agyw-1-15-19" + description: "Idadi ya wasichana balehe na wanawake vijana waliotathminiwa kwenye afua za kuzuia maambukizi Umri 10-14" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE intervention_screening = 'yes' + AND (date(efm.dob, '+15 years') <= date('now')) + AND (date(efm.dob, '+19 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + - key: "agyw-1-20-24" + description: "Idadi ya wasichana balehe na wanawake vijana waliotathminiwa kwenye afua za kuzuia maambukizi Umri 10-14" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE intervention_screening = 'yes' + AND (date(efm.dob, '+20 years') <= date('now')) + AND (date(efm.dob, '+24 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + + # Question 2 + - key: "agyw-2-10-14" + description: "Idadi ya wasichana balehe na wanawake vijana waliokidhi vigezo kupata afua za kuzuia maambukizi Umri 10-14" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE intervention_eligibility = 'yes' + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+14 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + - key: "agyw-2-15-19" + description: "Idadi ya wasichana balehe na wanawake vijana waliokidhi vigezo kupata afua za kuzuia maambukizi Umri 10-14" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE intervention_eligibility = 'yes' + AND (date(efm.dob, '+15 years') <= date('now')) + AND (date(efm.dob, '+19 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + - key: "agyw-2-20-24" + description: "Idadi ya wasichana balehe na wanawake vijana waliokidhi vigezo kupata afua za kuzuia maambukizi Umri 10-14" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE intervention_eligibility = 'yes' + AND (date(efm.dob, '+20 years') <= date('now')) + AND (date(efm.dob, '+24 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + # Question 3 + - key: "agyw-3-10-14" + description: "Idadi ya wasichana balehe na wanawake vijana waliosajiliwa kupata afua za kuzuia maambukizi Umri 10-14" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE enrollment_date IS NOT NULL + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+14 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + - key: "agyw-3-15-19" + description: "Idadi ya wasichana balehe na wanawake vijana waliosajiliwa kupata afua za kuzuia maambukizi Umri 15-19" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE enrollment_date IS NOT NULL + AND (date(efm.dob, '+15 years') <= date('now')) + AND (date(efm.dob, '+19 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + - key: "agyw-3-20-24" + description: "Idadi ya wasichana balehe na wanawake vijana waliosajiliwa kupata afua za kuzuia maambukizi Umri 20-24" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE enrollment_date IS NOT NULL + AND (date(efm.dob, '+20 years') <= date('now')) + AND (date(efm.dob, '+24 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + # Question 4 + - key: "agyw-4-10-14" + description: "Idadi ya wasichana balehe wajawazito au waliowahi/kuwa na mtoto Umri 10-14" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE (parity_status = 'pregnant' OR parity_status='Gave birth') + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+14 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + - key: "agyw-4-15-19" + description: "Idadi ya wasichana balehe wajawazito au waliowahi/kuwa na mtoto Umri 10-14" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE (parity_status = 'pregnant' OR parity_status='Gave birth') + AND (date(efm.dob, '+15 years') <= date('now')) + AND (date(efm.dob, '+19 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + - key: "agyw-4-20-24" + description: "Idadi ya wasichana balehe wajawazito au waliowahi/kuwa na mtoto Umri 10-14" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE (parity_status = 'pregnant' OR parity_status='Gave birth') + AND (date(efm.dob, '+20 years') <= date('now')) + AND (date(efm.dob, '+24 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + # Question 5 + - key: "agyw-5-10-14" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE (marital_status = 'Married' OR marital_status='Cohabitation') + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+14 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + - key: "agyw-5-15-19" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE (marital_status = 'Married' OR marital_status='Cohabitation') + AND (date(efm.dob, '+15 years') <= date('now')) + AND (date(efm.dob, '+19 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + - key: "agyw-5-20-24" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE (marital_status = 'Married' OR marital_status='Cohabitation') + AND (date(efm.dob, '+20 years') <= date('now')) + AND (date(efm.dob, '+24 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + # Question 6 + - key: "agyw-6-10-14" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE family_planning_service IS NOT NULL + AND family_planning_service != 'traditional' + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+14 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + - key: "agyw-6-15-19" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE family_planning_service IS NOT NULL + AND family_planning_service != 'traditional' + AND (date(efm.dob, '+15 years') <= date('now')) + AND (date(efm.dob, '+19 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + - key: "agyw-6-20-24" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + WHERE family_planning_service IS NOT NULL + AND family_planning_service != 'traditional' + AND (date(efm.dob, '+20 years') <= date('now')) + AND (date(efm.dob, '+24 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(ear.enrollment_date, 7, 4) || '-' || substr(ear.enrollment_date, 4, 2) || '-' || '01')" + # Question 7 + - key: "agyw-7-10-14" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND (date('now')-date(efm.dob))<=24 + AND + CASE + WHEN ((date(efm.dob, '+10 years') <= date('now'))AND (date(efm.dob, '+14 years') > date('now'))) + THEN ( + + --primary packages + + -- BIO MEdical contains + chw_referral_service='Suspected HIV' + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'prep_education')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + ) + ELSE ( + -- Secondary packages + + -- SBCC Behavioral contains + instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'reproductive_health')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + AND instr(eass1.economic_empowerment_education,'starting_a_business')>0 + AND instr(eass1.economic_empowerment_education,'financial_edu_and_investments')>0 + ) + END + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+14 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01') " + - key: "agyw-7-15-19" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND (date('now')-date(efm.dob))<=24 + AND + CASE + WHEN ((date(efm.dob, '+10 years') <= date('now'))AND (date(efm.dob, '+14 years') > date('now'))) + THEN ( + + --primary packages + + -- BIO MEdical contains + chw_referral_service='Suspected HIV' + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'prep_education')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + ) + ELSE ( + -- Secondary packages + + -- SBCC Behavioral contains + instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'reproductive_health')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + AND instr(eass1.economic_empowerment_education,'starting_a_business')>0 + AND instr(eass1.economic_empowerment_education,'financial_edu_and_investments')>0 + ) + END + AND (date(efm.dob, '+15 years') <= date('now')) + AND (date(efm.dob, '+19 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01') " + - key: "agyw-7-20-24" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND (date('now')-date(efm.dob))<=24 + AND + CASE + WHEN ((date(efm.dob, '+10 years') <= date('now'))AND (date(efm.dob, '+14 years') > date('now'))) + THEN ( + + --primary packages + + -- BIO MEdical contains + chw_referral_service='Suspected HIV' + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'prep_education')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + ) + ELSE ( + -- Secondary packages + + -- SBCC Behavioral contains + instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'reproductive_health')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + AND instr(eass1.economic_empowerment_education,'starting_a_business')>0 + AND instr(eass1.economic_empowerment_education,'financial_edu_and_investments')>0 + ) + END + AND (date(efm.dob, '+20 years') <= date('now')) + AND (date(efm.dob, '+24 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01') " + # Question 8 + - key: "agyw-8-10-14" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND (date('now')-date(efm.dob))<=24 + AND + CASE + WHEN ((date(efm.dob, '+10 years') <= date('now'))AND (date(efm.dob, '+14 years') > date('now'))) + THEN ( + + --primary packages + --must be only dreams + program_name='dreams' + + -- BIO MEdical contains + AND chw_referral_service='Suspected HIV' + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'prep_education')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + ) + ELSE ( + -- Secondary packages + --can be for both drams and non drams + (program_name='dreams' OR program_name != 'dreams') + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'reproductive_health')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + AND instr(eass1.economic_empowerment_education,'starting_a_business')>0 + AND instr(eass1.economic_empowerment_education,'financial_edu_and_investments')>0 + ) + END + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+14 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01') " + - key: "agyw-8-15-19" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND (date('now')-date(efm.dob))<=24 + AND + CASE + WHEN ((date(efm.dob, '+10 years') <= date('now'))AND (date(efm.dob, '+14 years') > date('now'))) + THEN ( + + --primary packages + --must be only dreams + program_name='dreams' + + -- BIO MEdical contains + AND chw_referral_service='Suspected HIV' + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'prep_education')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + ) + ELSE ( + -- Secondary packages + --can be for both drams and non drams + (program_name='dreams' OR program_name != 'dreams') + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'reproductive_health')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + AND instr(eass1.economic_empowerment_education,'starting_a_business')>0 + AND instr(eass1.economic_empowerment_education,'financial_edu_and_investments')>0 + ) + END + AND (date(efm.dob, '+15 years') <= date('now')) + AND (date(efm.dob, '+19 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01') " + - key: "agyw-8-20-24" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND (date('now')-date(efm.dob))<=24 + AND + CASE + WHEN ((date(efm.dob, '+10 years') <= date('now'))AND (date(efm.dob, '+14 years') > date('now'))) + THEN ( + + --primary packages + --must be only dreams + program_name='dreams' + + -- BIO MEdical contains + AND chw_referral_service='Suspected HIV' + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'prep_education')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + ) + ELSE ( + -- Secondary packages + --can be for both drams and non drams + (program_name='dreams' OR program_name != 'dreams') + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'reproductive_health')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + AND instr(eass1.economic_empowerment_education,'starting_a_business')>0 + AND instr(eass1.economic_empowerment_education,'financial_edu_and_investments')>0 + ) + END + AND (date(efm.dob, '+20 years') <= date('now')) + AND (date(efm.dob, '+24 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01') " + # Question 9 + - key: "agyw-9-10-14" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND (date('now')-date(efm.dob))<=24 + AND + CASE + WHEN ((date(efm.dob, '+10 years') <= date('now'))AND (date(efm.dob, '+14 years') > date('now'))) + THEN ( + + --primary packages + --must be only dreams + program_name='dreams' + + -- BIO MEdical contains + AND chw_referral_service='Suspected HIV' + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'prep_education')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + ) + ELSE ( + -- Secondary packages + --can be for both drams and non drams + (program_name='dreams' OR program_name != 'dreams') + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'reproductive_health')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + AND instr(eass1.economic_empowerment_education,'starting_a_business')>0 + AND instr(eass1.economic_empowerment_education,'financial_edu_and_investments')>0 + ) + END + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+14 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01') " + - key: "agyw-9-15-19" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND (date('now')-date(efm.dob))<=24 + AND + CASE + WHEN ((date(efm.dob, '+10 years') <= date('now'))AND (date(efm.dob, '+14 years') > date('now'))) + THEN ( + + --primary packages + --must be only dreams + program_name='dreams' + + -- BIO MEdical contains + AND chw_referral_service='Suspected HIV' + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'prep_education')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + ) + ELSE ( + -- Secondary packages + --can be for both drams and non drams + (program_name='dreams' OR program_name != 'dreams') + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'reproductive_health')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + AND instr(eass1.economic_empowerment_education,'starting_a_business')>0 + AND instr(eass1.economic_empowerment_education,'financial_edu_and_investments')>0 + ) + END + AND (date(efm.dob, '+15 years') <= date('now')) + AND (date(efm.dob, '+19 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01') " + - key: "agyw-9-20-24" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND (date('now')-date(efm.dob))<=24 + AND + CASE + WHEN ((date(efm.dob, '+10 years') <= date('now'))AND (date(efm.dob, '+14 years') > date('now'))) + THEN ( + + --primary packages + --must be only dreams + program_name='dreams' + + -- BIO MEdical contains + AND chw_referral_service='Suspected HIV' + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'prep_education')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + ) + ELSE ( + -- Secondary packages + --can be for both drams and non drams + (program_name='dreams' OR program_name != 'dreams') + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'reproductive_health')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + AND instr(eass1.economic_empowerment_education,'starting_a_business')>0 + AND instr(eass1.economic_empowerment_education,'financial_edu_and_investments')>0 + ) + END + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+24 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01') " + # Question 9 + - key: "agyw-10-10-14" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND (date('now')-date(efm.dob))<=24 + AND + CASE + WHEN ((date(efm.dob, '+10 years') <= date('now'))AND (date(efm.dob, '+14 years') > date('now'))) + THEN ( + + --primary packages + --must be only dreams + program_name='dreams' + + -- BIO MEdical contains + AND chw_referral_service='Suspected HIV' + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'prep_education')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + ) + ELSE ( + -- Secondary packages + --can be for both drams and non drams + (program_name='dreams' OR program_name != 'dreams') + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'reproductive_health')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + AND instr(eass1.economic_empowerment_education,'starting_a_business')>0 + AND instr(eass1.economic_empowerment_education,'financial_edu_and_investments')>0 + ) + END + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+14 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01') " + - key: "agyw-10-15-19" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND (date('now')-date(efm.dob))<=24 + AND + CASE + WHEN ((date(efm.dob, '+10 years') <= date('now'))AND (date(efm.dob, '+14 years') > date('now'))) + THEN ( + + --primary packages + --must be only dreams + program_name='dreams' + + -- BIO MEdical contains + AND chw_referral_service='Suspected HIV' + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'prep_education')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + ) + ELSE ( + -- Secondary packages + --can be for both drams and non drams + (program_name='dreams' OR program_name != 'dreams') + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'reproductive_health')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + AND instr(eass1.economic_empowerment_education,'starting_a_business')>0 + AND instr(eass1.economic_empowerment_education,'financial_edu_and_investments')>0 + ) + END + AND (date(efm.dob, '+15 years') <= date('now')) + AND (date(efm.dob, '+19 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01') " + - key: "agyw-10-20-24" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND (date('now')-date(efm.dob))<=24 + AND + CASE + WHEN ((date(efm.dob, '+10 years') <= date('now'))AND (date(efm.dob, '+14 years') > date('now'))) + THEN ( + + --primary packages + --must be only dreams + program_name='dreams' + + -- BIO MEdical contains + AND chw_referral_service='Suspected HIV' + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'prep_education')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + ) + ELSE ( + -- Secondary packages + --can be for both drams and non drams + (program_name='dreams' OR program_name != 'dreams') + + -- SBCC Behavioral contains + AND instr(eabs1.sbcc_intervention_provided,'gender_based_violence')>0 + AND instr(eabs1.sbcc_intervention_provided,'education_hiv_testing')>0 + AND instr(eabs1.sbcc_intervention_provided,'sti_hiv_aids')>0 + AND instr(eabs1.sbcc_intervention_provided,'reproductive_health')>0 + AND instr(eabs1.sbcc_intervention_provided,'good_relationships')>0 + + -- Structural contains + AND instr(eass1.education_materials,'yes')>0 + AND instr(eass1.given_capital,'yes')>0 + AND instr(eass1.nurturing_and_upb_edu,'yes')>0 + AND instr(eass1.economic_empowerment_education,'starting_a_business')>0 + AND instr(eass1.economic_empowerment_education,'financial_edu_and_investments')>0 + ) + END + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+24 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01') " + # Question 11 + - key: "agyw-11-10-14" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND program_name='dreams' + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+14 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01')" + - key: "agyw-11-15-19" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND program_name='dreams' + AND (date(efm.dob, '+15 years') <= date('now')) + AND (date(efm.dob, '+19 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01')" + - key: "agyw-11-20-24" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabms1 ON eabms1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_structural_services eass1 ON eass1.entity_id = ear.base_entity_id + AND efm.gender='Female' + AND program_name='dreams' + AND (date(efm.dob, '+20 years') <= date('now')) + AND (date(efm.dob, '+24 years') > date('now')) + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01')" + + +# Question 12 + - key: "agyw-12-10-14" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + WHERE chw_referral_service='Suspected HIV' + AND (SELECT count( eabs2.base_entity_id) FROM ec_agyw_behavioral_services eabs2 + INNER JOIN ec_agyw_register ear2 ON ear2.base_entity_id = eabs2.entity_id)>=4 + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+14 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01')" + - key: "agyw-12-15-19" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + WHERE chw_referral_service='Suspected HIV' + AND (SELECT count( eabs2.base_entity_id) FROM ec_agyw_behavioral_services eabs2 + INNER JOIN ec_agyw_register ear2 ON ear2.base_entity_id = eabs2.entity_id)>=4 + AND (date(efm.dob, '+15 years') <= date('now')) + AND (date(efm.dob, '+19 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01')" + - key: "agyw-12-20-24" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_behavioral_services eabs1 ON eabs1.entity_id = ear.base_entity_id + WHERE chw_referral_service='Suspected HIV' + AND (SELECT count( eabs2.base_entity_id) FROM ec_agyw_behavioral_services eabs2 + INNER JOIN ec_agyw_register ear2 ON ear2.base_entity_id = eabs2.entity_id)>=4 + AND (date(efm.dob, '+20 years') <= date('now')) + AND (date(efm.dob, '+24 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01')" + # Question 13 + - key: "agyw-13-10-14" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabs1 ON eabs1.entity_id = ear.base_entity_id + AND (date(efm.dob, '+10 years') <= date('now')) + AND (date(efm.dob, '+14 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01')" + - key: "agyw-13-15-19" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabs1 ON eabs1.entity_id = ear.base_entity_id + AND (date(efm.dob, '+15 years') <= date('now')) + AND (date(efm.dob, '+19 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01')" + - key: "agyw-13-20-24" + description: "Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume" + indicatorQuery: "SELECT count(DISTINCT efm.base_entity_id) as count + FROM ec_agyw_register ear + INNER JOIN ec_family_member efm ON efm.base_entity_id = ear.base_entity_id + INNER JOIN ec_referral er ON er.entity_id = ear.base_entity_id + INNER JOIN ec_agyw_bio_medical_services eabs1 ON eabs1.entity_id = ear.base_entity_id + AND (date(efm.dob, '+20 years') <= date('now')) + AND (date(efm.dob, '+24 years') > date('now')) + AND (efm.gender='Female') + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(eabs1.last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01')" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index 080b33287c..cd75a1c454 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -669,7 +669,23 @@ "field": "eventType", "field_value": "AGYW Behavioral Services", "creates_case": [ - "ec_agyw_register" + "ec_agyw_register", + "ec_agyw_behavioral_services" + ] + }, + { + "field": "eventType", + "field_value": "AGYW Bio Medical Services", + "creates_case": [ + "ec_agyw_register", + "ec_agyw_bio_medical_services" + ] + }, + { + "field": "eventType", + "field_value": "AGYW Structural Services", + "creates_case": [ + "ec_agyw_structural_services" ] }, { diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index e801cb0de6..28fa4cd762 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -4991,6 +4991,313 @@ "concept": "sbcc_intervention_provided" } }, + { + "column_name": "birth_before_18", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "birth_before_18" + } + }, + { + "column_name": "sex_for_money", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "sex_for_money" + } + }, + { + "column_name": "more_than_two_partner", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "more_than_two_partner" + } + }, + { + "column_name": "intervention_screening", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "intervention_screening" + } + }, + { + "column_name": "intervention_eligibility", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "intervention_eligibility" + } + }, + { + "column_name": "enrollment_date", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "enrollment_date" + } + }, + { + "column_name": "parity_status", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "parity_status" + } + }, + { + "column_name": "ever_married", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "ever_married" + } + }, + { + "column_name": "family_planning_service", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "family_planning_service" + } + }, + { + "column_name": "unwillingly_touched", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "unwillingly_touched" + } + }, + { + "column_name": "forced_for_sexual_activity", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "forced_for_sexual_activity" + } + }, + { + "column_name": "scared_of_person", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "scared_of_person" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + }, + { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + } + ] + }, + { + "name": "ec_agyw_behavioral_services", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "sbcc_intervention_provided", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "sbcc_intervention_provided" + } + }, { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + } + ] + }, + { + "name": "ec_agyw_bio_medical_services", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "condom_provided", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "condom_provided" + } + }, + { + "column_name": "provided_male_condoms", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "provided_male_condoms" + } + }, + { + "column_name": "provided_female_condoms", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "provided_female_condoms" + } + }, + { + "column_name": "hivst_kit_needed", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "hivst_kit_needed" + } + }, + { + "column_name": "family_planning_service", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "family_planning_service" + } + }, { + "column_name": "last_interacted_with", + "type": "Event", + "json_mapping": { + "field": "version" + } + } + ] + }, + { + "name": "ec_agyw_structural_services", + "columns": [ + { + "column_name": "base_entity_id", + "type": "Event", + "json_mapping": { + "field": "formSubmissionId" + } + }, + { + "column_name": "relational_id", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "relational_id" + } + }, + { + "column_name": "entity_id", + "type": "Event", + "json_mapping": { + "field": "baseEntityId" + } + }, + { + "column_name": "economic_empowerment_education", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "economic_empowerment_education" + } + }, + { + "column_name": "education_materials", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "education_materials" + } + }, + { + "column_name": "entrepreneurial_tools", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "entrepreneurial_tools" + } + }, + { + "column_name": "given_capital", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "given_capital" + } + }, + { + "column_name": "distribute_sanitary_pads", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "distribute_sanitary_pads" + } + }, + { + "column_name": "nurturing_and_upb_edu", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "nurturing_and_upb_edu" + } + }, + { + "column_name": "nurturing_and_upb_edu_given", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "nurturing_and_upb_edu_given" + } + }, { "column_name": "last_interacted_with", "type": "Event", diff --git a/opensrp-chw/src/nacp/assets/json.form/cdp_receive_condom_facility.json b/opensrp-chw/src/nacp/assets/json.form/cdp_receive_condom_facility.json index 9769bf415a..e20933cdaa 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cdp_receive_condom_facility.json +++ b/opensrp-chw/src/nacp/assets/json.form/cdp_receive_condom_facility.json @@ -179,6 +179,20 @@ } } } + }, + { + "key": "request_reference", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "request_reference", + "type": "hidden", + "calculation": { + "rules-engine": { + "ex-rules": { + "rules-file": "cdp_receive_condom_calculation.yml" + } + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/reports/agyw-report.html b/opensrp-chw/src/nacp/assets/reports/agyw-report.html new file mode 100644 index 0000000000..8ceea447cf --- /dev/null +++ b/opensrp-chw/src/nacp/assets/reports/agyw-report.html @@ -0,0 +1,211 @@ + + + + + + + + + + + + +
    +
    ID Namba ya Mteja Sababu ya kusajiliwa Hali ya maambukizi ya VVUHali ya maambukizi ya TB Namba ya kusajiliwa Kliniki Aina ya Kliniki UmriJinsi(Me/Ke)Jinsia(Me/Ke)Hali ya mteja Huduma zilizotolewa Vifaa/dawa zilizotolewa Rufaa zilizotolewa(jaza zote zinazo husika)Rufaa zilizofanikiwa(jaza zote zinazo husika)Hali ya tiba na matunzo(CTC)Hali ya usajili na ufuatiliaji
    Aina ya Kliniki Umri Jinsia(Me/Ke)Hali ya mteja Huduma zilizotolewa Vifaa/dawa zilizotolewa Rufaa zilizotolewa(jaza zote zinazo husika) Aina ya Kliniki Umri Jinsia(Me/Ke)Hali ya mteja Huduma zilizotolewa Vifaa/dawa zilizotolewa Rufaa zilizotolewa(jaza zote zinazo husika)
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    FOMU YA RIPOTI YA VIJANANA RIKA YA BALEHE
    +
    TAARIFA YA [MWEZI/MWAKA]:
    +
    KITUONI: Kitungwa
    +
    +
    SNVIASHIRIA10-1415-1920-24JUMLA
    1Idadi ya wasichana balehe na wanawake vijana waliotathminiwa kwenye afua za kuzuia maambukizi. +
    2Idadi ya wasichana balehe na wanawake vijana waliokidhi vigezo kupata afua za kuzuia maambukizi.
    3Idadi ya wasichana balehe na wanawake vijana waliosajiliwa kupata afua za kuzuia maambukizi.
    4Idadi ya wasichana balehe wajawazito au waliowahi/kuwa na mtoto
    5Idadi ya wasichana balehe waliolewa au wanaishi na mwanaume kama mke na mume
    6Idadi ya wasichana balehe na wanawake vijana wanaotumia njia za uzazi wa mpango
    7Idadi ya wasichana balehe na wanawake vijana waliomaliza afua za msingi za kuzuia maambukizi ya VVU na huduma kuhusu ukatili wa kingono
    8Idadi ya wanufaika hai waliopata kitita cha huduma za msingi za maambukizi ya VVU
    9Idadi ya wanufaika hai waliokamilisha huduma zote za msingi na angalau moja ya ziada
    10Idadi ya wanufaika hai waliokamilisha angalau huduma moja ya msingi
    11Idadi ya wanufaika hai walioanza kupata huduma lakini hawajamaliza hata kipengele kimojawapo
    12Idadi ya vijana rika balehe waliofikiwa huduma jumuishi za kuzuia maambukizi ya VVU katika kipindi cha ripoti
    13Idadi ya wasichana balehe na wanawake vijana waliopewa rufaa kwa huduma zinginezo
    + + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/reports/cdp-report-script.js b/opensrp-chw/src/nacp/assets/reports/cdp-report-script.js new file mode 100644 index 0000000000..253c1d888a --- /dev/null +++ b/opensrp-chw/src/nacp/assets/reports/cdp-report-script.js @@ -0,0 +1,36 @@ +function loadData(reportKey, reportType) { + const data = JSON.parse(Android.getData(reportKey)); + const tableBody = document.getElementById("table-body"); + const keys = Object.keys(data.nameValuePairs); + const reportPeriod = document.getElementById("report_period"); + const reportingFacility = document.getElementById("reporting_facility"); + keys.forEach((key) => { + let element; + if(reportType!== null && reportType === "pnc"){ + element = document.getElementById(key.replace("pnc-","")); + }else{ + element = document.getElementById(key); + } + if (element !== null && typeof element !== "undefined") { + element.innerHTML = data.nameValuePairs[key]; + } + }); + if(typeof data!== undefined && data !== ""){ + const reportData = data.nameValuePairs.reportData.values; + + reportData.forEach((dataPoint) => { + //append to the table body a row with data + const row = document.createElement("tr"); + const dataPointKeys = Object.keys(dataPoint.nameValuePairs); + dataPointKeys.forEach((key) => { + const cell = document.createElement("td"); + cell.innerHTML = dataPoint.nameValuePairs[key]; + row.appendChild(cell); + } + ); + tableBody.appendChild(row); + }); + } + reportPeriod.innerHTML = Android.getDataPeriod(reportKey); + reportingFacility.innerHTML = Android.getReportingFacility(); +} diff --git a/opensrp-chw/src/nacp/assets/reports/cdp_reports/condom-distribution-issuing-report.html b/opensrp-chw/src/nacp/assets/reports/cdp_reports/condom-distribution-issuing-report.html new file mode 100644 index 0000000000..21c409c349 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/reports/cdp_reports/condom-distribution-issuing-report.html @@ -0,0 +1,33 @@ + + + + + + + + Issuing Report + + + + + +
    +

    TAARIFA YA KUNDI MIEZI 12

    +

    COHORT YA MAMA [MWEZI/MWAKA]:

    +

    KITUO:

    +
    + + + + + + + + + + + +
    IDNAME OF RECEIVING OUTLETMale CondomsFemale Condoms
    + + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/reports/cdp_reports/condom-distribution-receiving-report.html b/opensrp-chw/src/nacp/assets/reports/cdp_reports/condom-distribution-receiving-report.html new file mode 100644 index 0000000000..b65ea09f78 --- /dev/null +++ b/opensrp-chw/src/nacp/assets/reports/cdp_reports/condom-distribution-receiving-report.html @@ -0,0 +1,33 @@ + + + + + + + + Receiving Report + + + + +
    +

    TAARIFA YA KUNDI MIEZI 12

    +

    COHORT YA MAMA [MWEZI/MWAKA]:

    +

    KITUO:

    +
    + + + + + + + + + + + + +
    IDSourceCondom BrandNumber of Male CondomNumber of Female Condom
    + + + \ No newline at end of file diff --git a/opensrp-chw/src/nacp/assets/rule/cdp_receive_condom_calculation.yml b/opensrp-chw/src/nacp/assets/rule/cdp_receive_condom_calculation.yml index 562412d1ad..63955e1bd4 100644 --- a/opensrp-chw/src/nacp/assets/rule/cdp_receive_condom_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/cdp_receive_condom_calculation.yml @@ -39,4 +39,11 @@ description: provided_female_condoms priority: 1 condition: "true" actions: - - "calculation = global_condom_type == 'female_condom' ? global_condom_quantity : 0" \ No newline at end of file + - "calculation = global_condom_type == 'female_condom' ? global_condom_quantity : 0" +--- +name: step1_request_reference +description: request_reference +priority: 1 +condition: "global_request_reference != ''" +actions: + - "calculation = global_request_reference" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 15b53cd154..f2d5ca69aa 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -368,6 +368,10 @@ Amesajiliwa kwenye Kliniki ya Kifua Kikuu Me Ke - + View Condom Distribution Report + Condom Distribution Reports + CDP REPORTS + CDP Issuing Report + CDP Receiving Report Matembeleo ya Msichana Rika Balehe na Mwanamke Kijana \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index 4af7a11b58..dc103bde46 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -272,6 +272,11 @@ Umbilical cord/navel bleeding Unable to breastfeed or swallow Umbilical cord/navel bleeding + View Condom Distribution Report + Condom Distribution Reports + CDP REPORTS + CDP Issuing Report + CDP Receiving Report Followup status: From afac1eea923a3edb919e18b0db8a2f6148a53588 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 24 Oct 2022 19:17:58 +0300 Subject: [PATCH 889/915] fix: showing percentage and total score in swahili agyw screening form --- opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json index b9eb454a47..9a8fda196d 100755 --- a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json @@ -1005,7 +1005,7 @@ { "key": "total_score_prompt", "type": "toaster_notes", - "text": "Jumla ya alama alizopata baada ya kumtathimini ", + "text": "Jumla ya alama alizopata baada ya kumtathimini: {total_agyw_score} ", "openmrs_entity_id": "", "openmrs_entity": "", "openmrs_entity_parent": "", @@ -1036,7 +1036,7 @@ { "key": "percentage_score_prompt", "type": "toaster_notes", - "text": "Jumla ya asilimia alizopata ", + "text": "Jumla ya asilimia alizopata: {total_percentage_score}% ", "openmrs_entity_id": "", "openmrs_entity": "", "openmrs_entity_parent": "", From 8154f1f946c06ad5ef181414e1a7439b51352139 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 24 Oct 2022 21:28:13 +0300 Subject: [PATCH 890/915] update: core version --- opensrp-chw/build.gradle | 2 +- opensrp-chw/src/nacp/assets/ec_client_classification.json | 3 ++- opensrp-chw/src/nacp/assets/ec_client_fields.json | 8 ++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index 5486a3814e..fb6eaf37ec 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -348,7 +348,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.36.6-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.36.7-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/nacp/assets/ec_client_classification.json b/opensrp-chw/src/nacp/assets/ec_client_classification.json index cd75a1c454..17e7341920 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_classification.json +++ b/opensrp-chw/src/nacp/assets/ec_client_classification.json @@ -685,7 +685,8 @@ "field": "eventType", "field_value": "AGYW Structural Services", "creates_case": [ - "ec_agyw_structural_services" + "ec_agyw_structural_services", + "ec_agyw_register" ] }, { diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 28fa4cd762..2c0467a098 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -4991,6 +4991,14 @@ "concept": "sbcc_intervention_provided" } }, + { + "column_name": "economic_empowerment_education", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "economic_empowerment_education" + } + }, { "column_name": "birth_before_18", "type": "Event", From 3de9b0169a38ef4c15d68084926a2e4f5e8d4c93 Mon Sep 17 00:00:00 2001 From: Billy Date: Mon, 24 Oct 2022 21:50:04 +0300 Subject: [PATCH 891/915] fix: added kvp/prep as register type on all clients register --- .../fragment/AllClientsRegisterFragment.java | 7 +- .../chw/util/AllClientsUtils.java | 4 ++ .../chw/util/ChwQueryConstant.java | 64 +++++++++++++++++++ 3 files changed, 73 insertions(+), 2 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java index d240294a55..0a5b7ba70a 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/fragment/AllClientsRegisterFragment.java @@ -3,8 +3,6 @@ import android.os.Bundle; import android.view.View; -import androidx.annotation.NonNull; - import org.smartregister.chw.R; import org.smartregister.chw.core.fragment.CoreAllClientsRegisterFragment; import org.smartregister.chw.core.utils.CoreConstants; @@ -17,6 +15,8 @@ import org.smartregister.family.util.Constants; import org.smartregister.opd.utils.OpdDbConstants; +import androidx.annotation.NonNull; + public class AllClientsRegisterFragment extends CoreAllClientsRegisterFragment { public static final String REGISTER_TYPE = "register_type"; @@ -70,6 +70,9 @@ protected void goToClientDetailActivity(@NonNull CommonPersonObjectClient common case CoreConstants.REGISTER_TYPE.AGYW: AllClientsUtils.goToAgywProfile(this.getActivity(), commonPersonObjectClient); break; + case CoreConstants.REGISTER_TYPE.KVP_PrEP: + AllClientsUtils.goToKvpPrepProfile(this.getActivity(), commonPersonObjectClient); + break; default: AllClientsUtils.goToOtherMemberProfile(this.getActivity(), commonPersonObjectClient, bundle, familyDetailsModel.getFamilyHead(), familyDetailsModel.getPrimaryCareGiver()); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java index 1e0705eec8..ea64f4b5fa 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/AllClientsUtils.java @@ -15,6 +15,7 @@ import org.smartregister.chw.activity.FamilyOtherMemberProfileActivity; import org.smartregister.chw.activity.FamilyPlanningMemberProfileActivity; import org.smartregister.chw.activity.HivProfileActivity; +import org.smartregister.chw.activity.KvpPrEPProfileActivity; import org.smartregister.chw.activity.MalariaProfileActivity; import org.smartregister.chw.activity.PncMemberProfileActivity; import org.smartregister.chw.activity.TbProfileActivity; @@ -89,6 +90,9 @@ public static void goToTbProfile(Activity activity, CommonPersonObjectClient pat public static void goToAgywProfile(Activity activity, CommonPersonObjectClient client){ AgywProfileActivity.startProfile(activity, client.getCaseId()); } + public static void goToKvpPrepProfile(Activity activity, CommonPersonObjectClient client){ + KvpPrEPProfileActivity.startProfileActivity(activity, client.getCaseId()); + } private static Intent initProfileActivityIntent(Activity activity, CommonPersonObjectClient patient, Bundle bundle, Class clazz) { Intent intent = new Intent(activity, clazz); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java index 531ae4566c..2c730e1c65 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/util/ChwQueryConstant.java @@ -26,6 +26,9 @@ public interface ChwQueryConstant { " SELECT ec_agyw_register.base_entity_id AS base_entity_id\n" + " FROM ec_agyw_register where ec_agyw_register.is_closed is 0\n" + " UNION ALL\n" + + " SELECT ec_kvp_prep_register.base_entity_id AS base_entity_id\n" + + " FROM ec_kvp_prep_register where ec_kvp_prep_register.is_closed is 0\n" + + " UNION ALL\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register where ec_anc_register.is_closed is 0\n" + " UNION ALL\n" + @@ -78,6 +81,9 @@ public interface ChwQueryConstant { " SELECT ec_agyw_register.base_entity_id AS base_entity_id\n" + " FROM ec_agyw_register where ec_agyw_register.is_closed is 0\n" + " UNION ALL\n" + + " SELECT ec_kvp_prep_register.base_entity_id AS base_entity_id\n" + + " FROM ec_kvp_prep_register where ec_kvp_prep_register.is_closed is 0\n" + + " UNION ALL\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register\n" + " UNION ALL\n" + @@ -117,6 +123,9 @@ public interface ChwQueryConstant { " SELECT ec_agyw_register.base_entity_id AS base_entity_id\n" + " FROM ec_agyw_register where ec_agyw_register.is_closed is 0\n" + " UNION ALL\n" + + " SELECT ec_kvp_prep_register.base_entity_id AS base_entity_id\n" + + " FROM ec_kvp_prep_register where ec_kvp_prep_register.is_closed is 0\n" + + " UNION ALL\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register where ec_anc_register.is_closed is 0\n" + " UNION ALL\n" + @@ -252,6 +261,9 @@ public interface ChwQueryConstant { " SELECT ec_agyw_register.base_entity_id AS base_entity_id\n" + " FROM ec_agyw_register where ec_agyw_register.is_closed is 0\n" + " UNION ALL\n" + + " SELECT ec_kvp_prep_register.base_entity_id AS base_entity_id\n" + + " FROM ec_kvp_prep_register where ec_kvp_prep_register.is_closed is 0\n" + + " UNION ALL\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register\n" + " UNION ALL\n" + @@ -290,6 +302,9 @@ public interface ChwQueryConstant { " SELECT ec_agyw_register.base_entity_id AS base_entity_id\n" + " FROM ec_agyw_register where ec_agyw_register.is_closed is 0\n" + " UNION ALL\n" + + " SELECT ec_kvp_prep_register.base_entity_id AS base_entity_id\n" + + " FROM ec_kvp_prep_register where ec_kvp_prep_register.is_closed is 0\n" + + " UNION ALL\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register\n" + " UNION ALL\n" + @@ -337,6 +352,9 @@ public interface ChwQueryConstant { " SELECT ec_agyw_register.base_entity_id AS base_entity_id\n" + " FROM ec_agyw_register where ec_agyw_register.is_closed is 0\n" + " UNION ALL\n" + + " SELECT ec_kvp_prep_register.base_entity_id AS base_entity_id\n" + + " FROM ec_kvp_prep_register where ec_kvp_prep_register.is_closed is 0\n" + + " UNION ALL\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register\n" + " UNION ALL\n" + @@ -380,6 +398,52 @@ public interface ChwQueryConstant { " AND ec_agyw_register.is_closed is 0\n" + " AND ec_family_member.base_entity_id IN (%s)\n" + " AND ec_family_member.base_entity_id NOT IN (\n" + + " SELECT ec_kvp_prep_register.base_entity_id AS base_entity_id\n" + + " FROM ec_kvp_prep_register where ec_kvp_prep_register.is_closed is 0\n" + + " UNION ALL\n" + + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + + " FROM ec_anc_register\n" + + " UNION ALL\n" + + " SELECT ec_pregnancy_outcome.base_entity_id AS base_entity_id\n" + + " FROM ec_pregnancy_outcome\n" + + " UNION ALL\n" + + " SELECT ec_child.base_entity_id AS base_entity_id\n" + + " FROM ec_child\n" + + " UNION ALL\n" + + " SELECT ec_malaria_confirmation.base_entity_id AS base_entity_id\n" + + " FROM ec_malaria_confirmation\n" + + " UNION ALL\n" + + " SELECT ec_tb_register.base_entity_id AS base_entity_id\n" + + " FROM ec_tb_register\n" + + " WHERE ec_tb_register.tb_case_closure_date is null\n" + + " UNION ALL\n" + + " SELECT ec_cbhs_register.base_entity_id AS base_entity_id\n" + + " FROM ec_cbhs_register)\n" + + "UNION ALL\n" + + "\n" + + "/*ONLY KVP/PrEP clients*/\n" + + "SELECT ec_family_member.first_name,\n" + + " ec_family_member.middle_name,\n" + + " ec_family_member.last_name,\n" + + " ec_family_member.gender,\n" + + " ec_family_member.dob,\n" + + " ec_family_member.base_entity_id,\n" + + " ec_family_member.id as _id,\n" + + " 'KVP/PrEP' AS register_type,\n" + + " ec_family_member.relational_id as relationalid,\n" + + " ec_family.village_town as home_address,\n" + + " NULL AS mother_first_name,\n" + + " NULL AS mother_last_name,\n" + + " NULL AS mother_middle_name,\n" + + " ec_kvp_prep_register.last_interacted_with AS last_interacted_with\n" + + "FROM ec_family_member\n" + + " inner join ec_family on ec_family.base_entity_id = ec_family_member.relational_id\n" + + " inner join ec_kvp_prep_register\n" + + " on ec_family_member.base_entity_id = ec_kvp_prep_register.base_entity_id\n" + + "where ec_family_member.date_removed is null\n" + + " AND ec_kvp_prep_register.is_closed is 0\n" + + " AND ec_family_member.base_entity_id IN (%s)\n" + + " AND ec_family_member.base_entity_id NOT IN (\n" + " SELECT ec_anc_register.base_entity_id AS base_entity_id\n" + " FROM ec_anc_register\n" + " UNION ALL\n" + From 2ac6b51858fe6cc9152b580155b8c05e36498875 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 25 Oct 2022 12:25:47 +0300 Subject: [PATCH 892/915] fix: showing program name with dreams --- opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json index 9a8fda196d..4694939a0b 100755 --- a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json @@ -1430,7 +1430,7 @@ } }, { - "key": "program_name", + "key": "program_name_with_dreams", "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "program_name_with_dreams", From f0f695a029dc925ff64ace287ddb9dedfb0d3707 Mon Sep 17 00:00:00 2001 From: Billy Date: Tue, 25 Oct 2022 20:41:51 +0300 Subject: [PATCH 893/915] fix: relevance issue in agyw screening swahili form --- opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json index 4694939a0b..60addd8c58 100755 --- a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json @@ -1381,7 +1381,7 @@ "err": "Tafadhali jibu swali hili" }, "relevance": { - "step8:intervention_eligibility": { + "step8:intervention_enrolled": { "type": "string", "ex": "equalTo(., \"yes\")" } From 2aa24a161a61b90028f377c783aa60159cf81ba8 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 26 Oct 2022 09:11:57 +0300 Subject: [PATCH 894/915] :hammer: merged changes from remote --- opensrp-chw/src/nacp/res/values-sw/strings.xml | 4 ++++ opensrp-chw/src/nacp/res/values/strings.xml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index f2d5ca69aa..8c0d6568cd 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -119,6 +119,10 @@ Huduma za kumsaidia mtoto aliyezaliwa na mama mwenye VVU Huduma za chanjo Sababu nyingine + Michubuko/vidonda sehemu za siri + Kutokwa na maji maji yasiokuwa ya kawaida ukeni au kwenye njia ya haja kubwa + Kupata maumivu wakati wa kufanya ngono + Maumivu ya tumbo chini ya kitovu CTC diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index dc103bde46..c517744c28 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -277,6 +277,10 @@ CDP REPORTS CDP Issuing Report CDP Receiving Report + Genital ulcers + Abnormal vaginal discharge(including anal discharge if practicing receptive anal sex) + Pain during the sexual act + Low abdominal pain Followup status: From a357b5d0240d647e0caa2e26b8deff84068915d0 Mon Sep 17 00:00:00 2001 From: Billy <44404782+dev-billy@users.noreply.github.com> Date: Fri, 28 Oct 2022 09:45:01 +0300 Subject: [PATCH 895/915] Fix/kvp uat issues (#422) * update: core version * fix: allow registration to kvp/prep for clients 15 and above only --- opensrp-chw/build.gradle | 2 +- .../chw/activity/AllClientsMemberProfileActivity.java | 4 +++- .../chw/activity/FamilyOtherMemberProfileActivity.java | 5 ++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index fb6eaf37ec..cdf0cd348a 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -348,7 +348,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.36.7-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.36.8-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java index a7c9a0b9e1..a325ee8322 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AllClientsMemberProfileActivity.java @@ -90,7 +90,9 @@ public boolean onCreateOptionsMenu(Menu menu) { } if(ChwApplication.getApplicationFlavor().hasKvp()){ - menu.findItem(R.id.action_kvp_prep_registration).setVisible(!KvpDao.isRegisteredForKvpPrEP(baseEntityId)); + String dob = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.DOB, false); + int age = Utils.getAgeFromDate(dob); + menu.findItem(R.id.action_kvp_prep_registration).setVisible(!KvpDao.isRegisteredForKvpPrEP(baseEntityId) && age >= 15); } return true; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java index 9c652c47f6..5c603d28fe 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivity.java @@ -29,6 +29,7 @@ import org.smartregister.chw.fp.util.FamilyPlanningConstants; import org.smartregister.chw.fragment.FamilyOtherMemberProfileFragment; import org.smartregister.chw.hivst.dao.HivstDao; +import org.smartregister.chw.kvp.dao.KvpDao; import org.smartregister.chw.presenter.FamilyOtherMemberActivityPresenter; import org.smartregister.chw.util.Constants; import org.smartregister.chw.util.Utils; @@ -83,7 +84,9 @@ public boolean onCreateOptionsMenu(Menu menu) { } if(ChwApplication.getApplicationFlavor().hasKvp()){ - menu.findItem(R.id.action_kvp_prep_registration).setVisible(true); + String dob = Utils.getValue(commonPersonObject.getColumnmaps(), DBConstants.KEY.DOB, false); + int age = Utils.getAgeFromDate(dob); + menu.findItem(R.id.action_kvp_prep_registration).setVisible(!KvpDao.isRegisteredForKvpPrEP(baseEntityId) && age >= 15); } if (ChwApplication.getApplicationFlavor().hasAGYW()) { From 9ac9a76d464551a775df8bd81ae3d4f188338065 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 2 Nov 2022 12:33:11 +0300 Subject: [PATCH 896/915] :hammer: refactored getMainCondition in MalariaRegisterFragmentPresenter (#407) --- .../chw/presenter/MalariaRegisterFragmentPresenter.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/MalariaRegisterFragmentPresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/MalariaRegisterFragmentPresenter.java index 58dae574a3..2456eb44be 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/MalariaRegisterFragmentPresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/MalariaRegisterFragmentPresenter.java @@ -10,4 +10,8 @@ public MalariaRegisterFragmentPresenter(MalariaRegisterFragmentContract.View vie super(view, model, viewConfigurationIdentifier); } + public String getMainCondition() { + return " ec_family_member.date_removed is null AND datetime('NOW') <= datetime(ec_malaria_confirmation.last_interacted_with/1000, 'unixepoch', 'localtime','+15 days') AND ec_malaria_confirmation.is_closed = 0"; + } + } From 877d4d290c21f76127f4f36269dd38b6112a43de Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 2 Nov 2022 12:42:27 +0300 Subject: [PATCH 897/915] Refactor/fixing agyw UAT issues (#409) * :hammer: closes #404 * :hammer: refactored AGYW and KVP PreP Issues * :hammer: refactored registration forms * :hammer: refactored kvp sbcc services * :hammer: resolved more uat issues --- opensrp-chw/build.gradle | 2 +- .../chw/activity/AgywProfileActivity.java | 7 +++ .../KvpPrEPMedicalHistoryActivity.java | 2 +- .../src/main/res/values-sw/strings.xml | 16 ++--- .../agyw_bio_medical_services.json | 6 +- .../assets/json.form-sw/agyw_screening.json | 19 +++--- .../agyw_structural_services.json | 6 +- .../all_clients_registration_form.json | 14 ++--- ...clients_update_registration_info_form.json | 8 +-- .../json.form-sw/anc_pregnancy_outcome.json | 8 +-- .../assets/json.form-sw/child_enrollment.json | 8 +-- .../json.form-sw/family_member_register.json | 12 ++-- .../assets/json.form-sw/family_register.json | 16 ++--- .../kvp_prep_preventive_services.json | 18 +++--- .../json.form-sw/kvp_prep_sbcc_services.json | 46 +++++++-------- .../male_partner_registration_form.json | 18 +++--- .../referrals/female_kvp_referral_form.json | 6 +- .../referrals/hts_hivst_referral_form.json | 3 + .../referrals/male_kvp_referral_form.json | 21 +++++-- .../json.form/agyw_bio_medical_services.json | 2 +- .../nacp/assets/json.form/agyw_screening.json | 15 ++--- .../json.form/hivst_mobilization_session.json | 8 ++- .../nacp/assets/json.form/hivst_results.json | 24 +++++++- .../kvp_prep_preventive_services.json | 18 +++--- .../json.form/kvp_prep_sbcc_services.json | 58 +++++++++---------- .../referrals/female_kvp_referral_form.json | 21 +++++-- .../referrals/hts_hivst_referral_form.json | 3 + .../referrals/male_kvp_referral_form.json | 21 +++++-- .../rule/agyw_screening_calculation.yml | 6 +- .../assets/rule/agyw_screening_relevance.yml | 7 +++ .../assets/rule/hivst_results_relevance.yml | 14 +++++ .../src/nacp/res/values-sw/strings.xml | 5 +- opensrp-chw/src/nacp/res/values/strings.xml | 23 ++++---- 33 files changed, 275 insertions(+), 186 deletions(-) diff --git a/opensrp-chw/build.gradle b/opensrp-chw/build.gradle index cdf0cd348a..f3f717c327 100644 --- a/opensrp-chw/build.gradle +++ b/opensrp-chw/build.gradle @@ -348,7 +348,7 @@ android { } dependencies { - implementation('org.smartregister:opensrp-client-chw-core:1.5.36.8-NACP-SNAPSHOT@aar') { + implementation('org.smartregister:opensrp-client-chw-core:1.5.36.9-NACP-SNAPSHOT@aar') { transitive = true exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'androidx.legacy', module: 'legacy-support-v4' diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java index 03fdadb65a..67367b70a7 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/AgywProfileActivity.java @@ -79,4 +79,11 @@ public void openMedicalHistory() { private Visit getVisit(String eventType) { return PmtctLibrary.getInstance().visitRepository().getLatestVisit(memberObject.getBaseEntityId(), eventType); } + + + @Override + protected void onResume() { + super.onResume(); + refreshMedicalHistory(true); + } } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPMedicalHistoryActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPMedicalHistoryActivity.java index c6a1e06875..fbc6144c3b 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPMedicalHistoryActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPMedicalHistoryActivity.java @@ -116,7 +116,7 @@ public void processViewData(List visits, Context context) { String[] structuralServicesParams = {"structural_services_provided", "other_structural_services_provided"}; extractVisitDetails(visits, structuralServicesParams, visitDetails, x, context); - String[] protectiveServicesParams = {"condoms_given", "type_of_issued_condoms", "number_of_male_condoms_issued", "number_of_female_condoms_issued", "number_of_iec_distributed", "number_of_tubes_needles_distributed", "number_of_water_distributed", "number_of_alcohol_swabs_distributed", "number_of_disposable_safety_boxes_distributed", "number_of_plasters_distributed", "number_of_hivst_kits_distributed", "number_of_index_coupons_distributed"}; + String[] protectiveServicesParams = {"condoms_given", "type_of_issued_condoms", "number_of_male_condoms_issued", "number_of_female_condoms_issued", "number_of_iec_distributed", "number_of_needles_and_syringes_distributed", "number_of_sterile_water_for_injection_distributed", "number_of_alcohol_swabs_distributed", "number_of_disposable_safety_boxes_distributed", "number_of_plasters_distributed", "number_of_hivst_kits_distributed", "number_of_coupons_distributed_for_social_network"}; extractVisitDetails(visits, protectiveServicesParams, visitDetails, x, context); String[] referralServicesParams = {"referral_to_structural_services", "other_referral_to_structural_services", "referrals_completed_to_structural_services", "other_referrals_completed_to_structural_services"}; diff --git a/opensrp-chw/src/main/res/values-sw/strings.xml b/opensrp-chw/src/main/res/values-sw/strings.xml index e27ffc48ef..715a44e7c6 100644 --- a/opensrp-chw/src/main/res/values-sw/strings.xml +++ b/opensrp-chw/src/main/res/values-sw/strings.xml @@ -516,7 +516,7 @@ Utamaduni na vyombo vya habari Vidonge Vipandikizi - kijiti cha miaka Milano + kijiti cha miaka Mitano Kitanzi Njia za asili @@ -535,13 +535,13 @@ Idadi ya kondomu za kiume zilizotolewa: Idadi ya kondomu za kike zilitolewa: Idadi ya vipeperushi vilivyotolewa: - Idadi ya vichupa na sindano zilizotolewa: - Idadi ya maji yaliotolewa: + Idadi ya sindano na bomba zilizotolewa: + Idadi ya maji ya sindano yaliotolewa: Idadi ya pamba zilizotolewa(Alcohol swab): Idadi ya mabox yakutupia vitu vyenye ncha kali yaliotolewa: Idadi ya plasta iliyotolewa: Idadi ya vitepe vya JIPIME vilivyotolewa: - Idadi ya Kuponi za huduma za mnyororo na mtandao: + Idadi ya Kuponi za huduma ya mtandao zilizotolewa: Kondomu ya kiume Kondomu ya Kike Rufaa kwenda Huduma za kimuundo zilizotolewa kwa mteja: @@ -564,12 +564,12 @@ Ushawishi wa matumizi ya kondomu Njia za kujikinga na magonjwa ya ngono Matumizi ya pombe kupita kiwango - Elimu ya VVU na Ukimwi + Elimu juu ya kuzuia maambukizi ya VVU Elimu ya matumizi ya dawa za ART - Elimu ya huduma za JIPIME - Elimu ya matumizi ya dawa kinga + Kutengeneza uhitaji wa huduma ya JIPIME + Kutengeneza uhitaji wa huduma ya dawa kinga Elimu ya matumizi ya dawa za PEP - Upunguzaji wa madhara yatokanayo na utumiaji wa dawa za kulevya + Upunguzaji wa madhara yatokanayo na utumiaji wa dawa za kulevya Elimu juu ya vifaa vya wajidunga Elimu ya Overdose management Elimu ya Homa ya Ini B diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_bio_medical_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_bio_medical_services.json index b735e36b67..88f09cdc43 100755 --- a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_bio_medical_services.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_bio_medical_services.json @@ -168,7 +168,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "family_planning_service", "type": "native_radio", - "label": "Chagua huduma ya uzazi wa mpango iliyotolewa kwa mteja", + "label": "Chagua huduma ya uzazi wa mpango anayoitumia mteja kwa sasa", "exclusive": [ "none" ], @@ -193,7 +193,7 @@ }, { "key": "jadelle", - "text": "kijiti cha miaka Milano", + "text": "kijiti cha miaka Mitano", "openmrs_entity": "concept", "openmrs_entity_id": "jadelle" }, @@ -217,7 +217,7 @@ }, { "key": "none", - "text": "Hakuna", + "text": "Hatumii", "openmrs_entity": "concept", "openmrs_entity_id": "none" } diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json index 60addd8c58..2a72722201 100755 --- a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_screening.json @@ -467,11 +467,11 @@ } }, { - "key": "sexual_intercourse_past_6_months", + "key": "sexual_intercourse_past_12_months", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "sexual_intercourse_past_6_months", - "label": "Je umefanya ngono ndani ya miezi 6 iliyopita? ", + "openmrs_entity_id": "sexual_intercourse_past_12_months", + "label": "Je umefanya ngono ndani ya miezi 12 iliyopita? ", "text_color": "#000000", "type": "native_radio", "options": [ @@ -506,7 +506,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "condom_usage", - "label": "Je ulitumia kondomu mara zote na mwenza/ mpenzi wako ndani ya miezi 6 ?", + "label": "Je ulitumia kondomu mara zote na mwenza/mpenzi wako ndani ya miezi 12 ?", "text_color": "#000000", "type": "native_radio", "options": [ @@ -530,9 +530,10 @@ "err": "Tafadhali chagua jibu" }, "relevance": { - "step3:sexual_intercourse": { - "type": "string", - "ex": "equalTo(., \"yes\")" + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } } } }, @@ -682,7 +683,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "unwillingly_touched", - "label": "Je kuna mtu yoyote aliwahi kukushika sehemu zako za siri, kukushika matiti au kukubusu kwa nguvu bila ridhaa yako ? ", + "label": "Je kuna mtu yoyote aliwahi kukushika sehemu zako za siri, kukushika matiti au kukubusu kwa nguvu bila ridhaa yako ?", "text_color": "#000000", "type": "native_radio", "options": [ @@ -711,7 +712,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "forced_for_sexual_activity", - "label": "Je kuna mtu yeyote amewahi kukulazimisha kufanya ngono kwa kukutisha, udanganyifu au kushiriki kwenye vitendo vyovyote vya kingono kwa kukulewesha pombe au dawa za kulevya? ", + "label": "Je kuna mtu yeyote amewahi kukulazimisha kufanya ngono kwa kukutisha, udanganyifu au kushiriki kwenye vitendo vyovyote vya kingono kwa kukulewesha pombe au dawa za kulevya?", "text_color": "#000000", "type": "native_radio", "options": [ diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json index 85ebdeed00..10380a29ab 100755 --- a/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/agyw_structural_services.json @@ -58,7 +58,7 @@ "options": [ { "key": "group_entrepreneurial_skills", - "text": "Ujuzi wa ujasiliamali katika kikundi", + "text": "Ujuzi wa ujasiriamali katika kikundi", "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "group_entrepreneurial_skills" @@ -72,7 +72,7 @@ }, { "key": "entrepreneurship_tools", - "text": "Vifaa vya ujasiliamali", + "text": "Vifaa vya ujasiriamali", "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "entrepreneurship_tools" @@ -354,7 +354,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "nurturing_and_upb_edu_given", "type": "check_box", - "label": "Chagua elimu ya maleza na makuzi iliyotolewa.", + "label": "Chagua elimu ya malezi na makuzi iliyotolewa.", "combine_checkbox_option_values": "true", "label_text_style": "normal", "text_color": "#C0C0C0", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index 29fbad87ac..c79a879a53 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -78,11 +78,11 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la kwanza", + "hint": "Jina la Kwanza", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali andika jina la kwanza" + "err": "Tafadhali andika Jina la Kwanza" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -255,11 +255,11 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la kwanza", + "hint": "Jina la Kwanza", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali andika jina la kwanza" + "err": "Tafadhali andika Jina la Kwanza" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -280,7 +280,7 @@ "openmrs_entity": "person", "openmrs_entity_id": "middle_name", "type": "edit_text", - "hint": "Jina la kati", + "hint": "Jina la Kati", "edit_type": "name", "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -288,7 +288,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali weka jina la kati" + "err": "Tafadhali weka Jina la Kati" }, "read_only": true, "calculation": { @@ -1012,7 +1012,7 @@ "openmrs_entity_id": "Community_Leader", "type": "check_box", "combine_checkbox_option_values": "true", - "label": "Kuna nafasi yoyote ya uongozi katika jamii?", + "label": "Una nafasi yoyote ya uongozi katika jamii?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json index e86f1473e0..a2348900ff 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_update_registration_info_form.json @@ -103,11 +103,11 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la kwanza", + "hint": "Jina la Kwanza", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la kwanza" + "err": "Tafadhali ingiza Jina la Kwanza" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -120,7 +120,7 @@ "openmrs_entity": "person", "openmrs_entity_id": "middle_name", "type": "edit_text", - "hint": "Jina la kati", + "hint": "Jina la Kati", "edit_type": "name", "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -128,7 +128,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la kati" + "err": "Tafadhali ingiza Jina la Kati" } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json index 7ec4ebe2ce..d008ccbf36 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/anc_pregnancy_outcome.json @@ -405,11 +405,11 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la kwanza", + "hint": "Jina la Kwanza", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali weka jina la kwanza" + "err": "Tafadhali weka Jina la Kwanza" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -422,7 +422,7 @@ "openmrs_entity": "person", "openmrs_entity_id": "middle_name", "type": "edit_text", - "hint": "Jina la kati", + "hint": "Jina la Kati", "edit_type": "name", "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -430,7 +430,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali weka jina la kati" + "err": "Tafadhali weka Jina la Kati" } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json index 6d18355aba..618376c7cb 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/child_enrollment.json @@ -145,12 +145,12 @@ "openmrs_entity_id": "first_name", "openmrs_data_type": "text", "type": "edit_text", - "hint": "Jina la kwanza", + "hint": "Jina la Kwanza", "expanded": false, "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la kwanza" + "err": "Tafadhali ingiza Jina la Kwanza" }, "v_regex": { "value": "[A-Za-z\\s\\-\\']*", @@ -164,12 +164,12 @@ "openmrs_entity_id": "middle_name", "openmrs_data_type": "text", "type": "edit_text", - "hint": "Jina la kati", + "hint": "Jina la Kati", "expanded": false, "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la kati" + "err": "Tafadhali ingiza Jina la Kati" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json index 19993e3d9b..e1f7f6fda6 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_member_register.json @@ -144,11 +144,11 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la kwanza", + "hint": "Jina la Kwanza", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali weka jina la kwanza" + "err": "Tafadhali weka Jina la Kwanza" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -161,15 +161,15 @@ "openmrs_entity": "person", "openmrs_entity_id": "middle_name", "type": "edit_text", - "hint": "Jina la kati", + "hint": "Jina la Kati", "edit_type": "name", "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", - "err": "Tafadhali weka jina la kati" + "err": "Tafadhali weka Jina la Kati" }, "v_required": { "value": "true", - "err": "Tafadhali weka jina la kati" + "err": "Tafadhali weka Jina la Kati" } }, { @@ -844,7 +844,7 @@ "openmrs_entity_id": "Community_Leader", "type": "check_box", "combine_checkbox_option_values": "true", - "label": "Kuna nafasi yoyote ya uongozi katika jamii?", + "label": "Una nafasi yoyote ya uongozi katika jamii?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index 7263d05390..64a4c8af1e 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -78,11 +78,11 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la kwanza la Mkuu wa Familia", + "hint": "Jina la Kwanza la Mkuu wa Familia", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali jaza jina la kwanza la mteja" + "err": "Tafadhali jaza Jina la Kwanza la mteja" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -103,7 +103,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali jaza jina la kati" + "err": "Tafadhali jaza Jina la Kati" } }, { @@ -231,11 +231,11 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la kwanza", + "hint": "Jina la Kwanza", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali ingiza jina la kwanza" + "err": "Tafadhali ingiza Jina la Kwanza" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -256,11 +256,11 @@ "openmrs_entity": "person", "openmrs_entity_id": "middle_name", "type": "edit_text", - "hint": "Jina la kati", + "hint": "Jina la Kati", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali jaza jina la kati" + "err": "Tafadhali jaza Jina la Kati" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -942,7 +942,7 @@ "openmrs_entity_id": "Community_Leader", "type": "check_box", "combine_checkbox_option_values": "true", - "label": "Kuna nafasi yoyote ya uongozi katika jamii?", + "label": "Una nafasi yoyote ya uongozi katika jamii?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_preventive_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_preventive_services.json index 593ac16942..c274673648 100755 --- a/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_preventive_services.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_preventive_services.json @@ -202,11 +202,11 @@ "openmrs_entity_id": "" }, { - "key": "number_of_tubes_needles_distributed", + "key": "number_of_needles_and_syringes_distributed", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "number_of_tubes_needles_distributed", - "hint": "Idadi ya vichupa na sindano zilizotolewa", + "openmrs_entity_id": "number_of_needles_and_syringes_distributed", + "hint": "Idadi ya sindano na bomba zilizotolewa", "type": "edit_text", "edit_type": "number", "v_numeric": { @@ -219,11 +219,11 @@ } }, { - "key": "number_of_water_distributed", + "key": "number_of_sterile_water_for_injection_distributed", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "number_of_water_distributed", - "hint": "Idadi ya maji yaliotolewa", + "openmrs_entity_id": "number_of_sterile_water_for_injection_distributed", + "hint": "Idadi ya maji ya sindano yaliotolewa", "type": "edit_text", "edit_type": "number", "v_numeric": { @@ -304,11 +304,11 @@ } }, { - "key": "number_of_index_coupons_distributed", + "key": "number_of_coupons_distributed_for_social_network", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "number_of_index_coupons_distributed", - "hint": "Idadi ya Kuponi za huduma za mnyororo na mtandao", + "openmrs_entity_id": "number_of_coupons_distributed_for_social_network", + "hint": "Idadi ya Kuponi za huduma ya mtandao zilizotolewa", "type": "edit_text", "edit_type": "number", "v_numeric": { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_sbcc_services.json b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_sbcc_services.json index edf6813152..66b7a154c2 100755 --- a/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_sbcc_services.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_sbcc_services.json @@ -77,13 +77,13 @@ } }, { - "key": "influence_on_condom_usage", + "key": "demand_creation_on_condom_use", "text": "Ushawishi wa matumizi ya kondomu", - "openmrs_entity_id": "influence_on_condom_usage", + "openmrs_entity_id": "demand_creation_on_condom_use", "openmrs_entity": "concept", "property": { - "presumed-id": "influence_on_condom_usage", - "confirmed-id": "influence_on_condom_usage" + "presumed-id": "demand_creation_on_condom_use", + "confirmed-id": "demand_creation_on_condom_use" } }, { @@ -107,13 +107,13 @@ } }, { - "key": "education_on_hiv_aids_protection", - "text": "Elimu ya VVU na Ukimwi", - "openmrs_entity_id": "education_on_hiv_aids_protection", + "key": "education_on_hiv_prevention", + "text": "Elimu juu ya kuzuia maambukizi ya VVU", + "openmrs_entity_id": "education_on_hiv_prevention", "openmrs_entity": "concept", "property": { - "presumed-id": "education_on_hiv_aids_protection", - "confirmed-id": "education_on_hiv_aids_protection" + "presumed-id": "education_on_hiv_prevention", + "confirmed-id": "education_on_hiv_prevention" } }, { @@ -127,23 +127,23 @@ } }, { - "key": "education_on_hiv_aids_self_test", - "text": "Elimu ya huduma za JIPIME", - "openmrs_entity_id": "education_on_hiv_aids_self_test", + "key": "demand_creation_for_hiv_self_testing", + "text": "Kutengeneza uhitaji wa huduma ya JIPIME", + "openmrs_entity_id": "demand_creation_for_hiv_self_testing", "openmrs_entity": "concept", "property": { - "presumed-id": "education_on_hiv_aids_self_test", - "confirmed-id": "education_on_hiv_aids_self_test" + "presumed-id": "demand_creation_for_hiv_self_testing", + "confirmed-id": "demand_creation_for_hiv_self_testing" } }, { - "key": "education_on_the_use_of_prep", - "text": "Elimu ya matumizi ya dawa kinga", - "openmrs_entity_id": "education_on_the_use_of_prep", + "key": "demand_creation_for_prep", + "text": "Kutengeneza uhitaji wa huduma ya dawa kinga", + "openmrs_entity_id": "demand_creation_for_prep", "openmrs_entity": "concept", "property": { - "presumed-id": "education_on_the_use_of_prep", - "confirmed-id": "education_on_the_use_of_prep" + "presumed-id": "demand_creation_for_prep", + "confirmed-id": "demand_creation_for_prep" } }, { @@ -157,13 +157,13 @@ } }, { - "key": "reduction_of_effects_of_the_use_of_mat", + "key": "harm_reduction_for_pwud_pwid", "text": "Upunguzaji wa madhara yatokanayo na utumiaji wa dawa za kulevya", - "openmrs_entity_id": "reduction_of_effects_of_the_use_of_mat", + "openmrs_entity_id": "harm_reduction_for_pwud_pwid", "openmrs_entity": "concept", "property": { - "presumed-id": "reduction_of_effects_of_the_use_of_mat", - "confirmed-id": "reduction_of_effects_of_the_use_of_mat" + "presumed-id": "harm_reduction_for_pwud_pwid", + "confirmed-id": "harm_reduction_for_pwud_pwid" } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json index 4b020720ca..b838138508 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/male_partner_registration_form.json @@ -78,11 +78,11 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la kwanza", + "hint": "Jina la Kwanza", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali weka jina la kwanza" + "err": "Tafadhali weka Jina la Kwanza" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -95,7 +95,7 @@ "openmrs_entity": "person", "openmrs_entity_id": "middle_name", "type": "edit_text", - "hint": "Jina la kati", + "hint": "Jina la Kati", "edit_type": "name", "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -103,7 +103,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali weka jina la kati" + "err": "Tafadhali weka Jina la Kati" } }, { @@ -221,11 +221,11 @@ "openmrs_entity": "person", "openmrs_entity_id": "first_name", "type": "edit_text", - "hint": "Jina la kwanza", + "hint": "Jina la Kwanza", "edit_type": "name", "v_required": { "value": "true", - "err": "Tafadhali weka jina la kwanza" + "err": "Tafadhali weka Jina la Kwanza" }, "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -246,7 +246,7 @@ "openmrs_entity": "person", "openmrs_entity_id": "middle_name", "type": "edit_text", - "hint": "Jina la kati", + "hint": "Jina la Kati", "edit_type": "name", "v_regex": { "value": "[A-Za-z\\u00C0-\\u017F\\s\\u00C0-\\u017F\\.\\-\\']*", @@ -254,7 +254,7 @@ }, "v_required": { "value": "true", - "err": "Tafadhali weka jina la kati" + "err": "Tafadhali weka Jina la Kati" }, "read_only": true, "calculation": { @@ -858,7 +858,7 @@ "openmrs_entity_id": "Community_Leader", "type": "check_box", "combine_checkbox_option_values": "true", - "label": "Kuna nafasi yoyote ya uongozi katika jamii?", + "label": "Una nafasi yoyote ya uongozi katika jamii?", "label_text_style": "normal", "text_color": "#C0C0C0", "exclusive": [ diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_kvp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_kvp_referral_form.json index e4f3507225..ebcbf60091 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_kvp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/female_kvp_referral_form.json @@ -78,11 +78,11 @@ } }, { - "name": "harm_reduction", - "text": "Kupunguza madhara yatokanayo na utumiaji wa dawa za kulevya", + "name": "pwid_and_pwud", + "text": "Anatumia ya dawa za kulevya au mjidunga", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "harm_reduction", + "openmrs_entity_id": "pwid_and_pwud", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_hivst_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_hivst_referral_form.json index 110b72e124..b55bc68b38 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_hivst_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_hivst_referral_form.json @@ -75,6 +75,9 @@ "openmrs_entity": "", "openmrs_entity_id": "confirmation_self_test", "openmrs_entity_parent": "" + }, + "properties": { + "checked": true } } ], diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_kvp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_kvp_referral_form.json index ad377839c2..9a672e9545 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_kvp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/male_kvp_referral_form.json @@ -69,20 +69,29 @@ }, "options": [ { - "name": "prep_and_pep", - "text": "Dawa kinga PrEP and PEP", + "name": "prep", + "text": "Dawa kinga PrEP", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "prep_and_pep", + "openmrs_entity_id": "prep", "openmrs_entity_parent": "" } }, { - "name": "harm_reduction", - "text": "Kupunguza madhara yatokanayo na utumiaji wa dawa za kulevya", + "name": "pep", + "text": "Dawa kinga PEP", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "harm_reduction", + "openmrs_entity_id": "pep", + "openmrs_entity_parent": "" + } + }, + { + "name": "pwid_and_pwud", + "text": "Anatumia ya dawa za kulevya au mjidunga", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pwid_and_pwud", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_bio_medical_services.json b/opensrp-chw/src/nacp/assets/json.form/agyw_bio_medical_services.json index ded1eac6af..af8e86a88f 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_bio_medical_services.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_bio_medical_services.json @@ -168,7 +168,7 @@ "openmrs_entity": "concept", "openmrs_entity_id": "family_planning_service", "type": "native_radio", - "label": "Family planning service provided", + "label": "Family planning method currently used by the client", "exclusive": [ "none" ], diff --git a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json index c47d1c291e..909fc2db1b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json +++ b/opensrp-chw/src/nacp/assets/json.form/agyw_screening.json @@ -467,11 +467,11 @@ } }, { - "key": "sexual_intercourse_past_6_months", + "key": "sexual_intercourse_past_12_months", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "sexual_intercourse_past_6_months", - "label": "Have you ever had sex in the past six (6) months?", + "openmrs_entity_id": "sexual_intercourse_past_12_months", + "label": "Have you ever had sex in the past six (12) months?", "text_color": "#000000", "type": "native_radio", "options": [ @@ -506,7 +506,7 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "condom_usage", - "label": "Did you use condoms consistently with the latest partner?", + "label": "Did you use condoms consistently with your partner in the last 12 months?", "text_color": "#000000", "type": "native_radio", "options": [ @@ -530,9 +530,10 @@ "err": "Please select an answer" }, "relevance": { - "step3:sexual_intercourse": { - "type": "string", - "ex": "equalTo(., \"yes\")" + "rules-engine": { + "ex-rules": { + "rules-file": "agyw_screening_relevance.yml" + } } } }, diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_mobilization_session.json b/opensrp-chw/src/nacp/assets/json.form/hivst_mobilization_session.json index 8669e525f9..e112d43163 100644 --- a/opensrp-chw/src/nacp/assets/json.form/hivst_mobilization_session.json +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_mobilization_session.json @@ -183,7 +183,13 @@ "openmrs_entity": "concept", "openmrs_entity_id": "kit_code", "type": "edit_text", - "hint": "Kit code" + "hint": "Kit code", + "relevance": { + "step1:kit_used_in_demonstration": { + "type": "string", + "ex": "equalTo(., \"yes\")" + } + } } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_results.json b/opensrp-chw/src/nacp/assets/json.form/hivst_results.json index e434cd2695..a332bbd9ee 100644 --- a/opensrp-chw/src/nacp/assets/json.form/hivst_results.json +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_results.json @@ -132,11 +132,29 @@ } }, { - "key": "prompt_for_referral", + "key": "prompt_for_referral_for_non_reactive", "type": "toaster_notes", - "text": "The client should be referred to a Hospital", + "text": "The client should be referred to a Hospital for Confirmation for self test", "toaster_info_text": "The client should be referred to the Hospital for HIV testing. Give the client a referral", - "toaster_info_title": "The client should be referred to a Hospital", + "toaster_info_title": "The client should be referred to a Hospital Confirmation for self test", + "openmrs_entity_id": "", + "openmrs_entity": "", + "openmrs_entity_parent": "", + "toaster_type": "warning", + "relevance": { + "rules-engine": { + "ex-rules": { + "rules-file": "hivst_results_relevance.yml" + } + } + } + }, + { + "key": "prompt_for_referral_for_reactive", + "type": "toaster_notes", + "text": "The client should be referred to a Hospital for Confirmation for self test", + "toaster_info_text": "The client should be referred to the Hospital for HIV testing. Give the client a referral", + "toaster_info_title": "The client should be referred to a Hospital Confirmation for self test", "openmrs_entity_id": "", "openmrs_entity": "", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_preventive_services.json b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_preventive_services.json index 5e131f0f20..a6fa9dddb8 100644 --- a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_preventive_services.json +++ b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_preventive_services.json @@ -202,11 +202,11 @@ "openmrs_entity_id": "" }, { - "key": "number_of_tubes_needles_distributed", + "key": "number_of_needles_and_syringes_distributed", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "number_of_tubes_needles_distributed", - "hint": "Number of tubes & needles distributed", + "openmrs_entity_id": "number_of_needles_and_syringes_distributed", + "hint": "Number of needles & syringe distributed", "type": "edit_text", "edit_type": "number", "v_numeric": { @@ -219,11 +219,11 @@ } }, { - "key": "number_of_water_distributed", + "key": "number_of_sterile_water_for_injection_distributed", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "number_of_water_distributed", - "hint": "Number of Water Distributed", + "openmrs_entity_id": "number_of_sterile_water_for_injection_distributed", + "hint": "Number of Sterile Water for injection Distributed", "type": "edit_text", "edit_type": "number", "v_numeric": { @@ -304,11 +304,11 @@ } }, { - "key": "number_of_index_coupons_distributed", + "key": "number_of_coupons_distributed_for_social_network", "openmrs_entity_parent": "", "openmrs_entity": "concept", - "openmrs_entity_id": "number_of_index_coupons_distributed", - "hint": "Number of Index Coupons Distributed", + "openmrs_entity_id": "number_of_coupons_distributed_for_social_network", + "hint": "Number of Coupons Distributed for social network", "type": "edit_text", "edit_type": "number", "v_numeric": { diff --git a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_sbcc_services.json b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_sbcc_services.json index db0c87a721..f6527397eb 100644 --- a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_sbcc_services.json +++ b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_sbcc_services.json @@ -58,7 +58,7 @@ "options": [ { "key": "proper_use_of_male_condom", - "text": "Proper use of Male Condom", + "text": "Education on correct and consistence use of male condom", "openmrs_entity_id": "proper_use_of_male_condom", "openmrs_entity": "concept", "property": { @@ -68,7 +68,7 @@ }, { "key": "proper_use_of_female_condom", - "text": "Proper use of Female Condom", + "text": "Education on correct and consistence use of female condom", "openmrs_entity_id": "proper_use_of_female_condom", "openmrs_entity": "concept", "property": { @@ -77,18 +77,18 @@ } }, { - "key": "influence_on_condom_usage", - "text": "Influence on Condom Usage", - "openmrs_entity_id": "influence_on_condom_usage", + "key": "demand_creation_on_condom_use", + "text": "Demand creation on condom use", + "openmrs_entity_id": "demand_creation_on_condom_use", "openmrs_entity": "concept", "property": { - "presumed-id": "influence_on_condom_usage", - "confirmed-id": "influence_on_condom_usage" + "presumed-id": "demand_creation_on_condom_use", + "confirmed-id": "demand_creation_on_condom_use" } }, { "key": "preventive_methods_against_std", - "text": "Preventive methods against STD", + "text": "STI prevention education", "openmrs_entity_id": "preventive_methods_against_std", "openmrs_entity": "concept", "property": { @@ -98,7 +98,7 @@ }, { "key": "excessive_alcohol_usage", - "text": "Excessive Alcohol Usage", + "text": "Excessive alcohol use", "openmrs_entity_id": "excessive_alcohol_usage", "openmrs_entity": "concept", "property": { @@ -107,13 +107,13 @@ } }, { - "key": "education_on_hiv_aids_protection", - "text": "Education on HIV & AIDS Protection", - "openmrs_entity_id": "education_on_hiv_aids_protection", + "key": "education_on_hiv_prevention", + "text": "Education on HIV Prevention", + "openmrs_entity_id": "education_on_hiv_prevention", "openmrs_entity": "concept", "property": { - "presumed-id": "education_on_hiv_aids_protection", - "confirmed-id": "education_on_hiv_aids_protection" + "presumed-id": "education_on_hiv_prevention", + "confirmed-id": "education_on_hiv_prevention" } }, { @@ -127,23 +127,23 @@ } }, { - "key": "education_on_hiv_aids_self_test", - "text": "Education on HIV & AIDS Self Test", - "openmrs_entity_id": "education_on_hiv_aids_self_test", + "key": "demand_creation_for_hiv_self_testing", + "text": "Demand creation for HIV Self-testing", + "openmrs_entity_id": "demand_creation_for_hiv_self_testing", "openmrs_entity": "concept", "property": { - "presumed-id": "education_on_hiv_aids_self_test", - "confirmed-id": "education_on_hiv_aids_self_test" + "presumed-id": "demand_creation_for_hiv_self_testing", + "confirmed-id": "demand_creation_for_hiv_self_testing" } }, { - "key": "education_on_the_use_of_prep", - "text": "Education on the use of PrEP", - "openmrs_entity_id": "education_on_the_use_of_prep", + "key": "demand_creation_for_prep", + "text": "Demand creation for PrEP", + "openmrs_entity_id": "demand_creation_for_prep", "openmrs_entity": "concept", "property": { - "presumed-id": "education_on_the_use_of_prep", - "confirmed-id": "education_on_the_use_of_prep" + "presumed-id": "demand_creation_for_prep", + "confirmed-id": "demand_creation_for_prep" } }, { @@ -157,13 +157,13 @@ } }, { - "key": "reduction_of_effects_of_the_use_of_mat", - "text": "Reduction of effects of the use of drug MAT", - "openmrs_entity_id": "reduction_of_effects_of_the_use_of_mat", + "key": "harm_reduction_for_pwud_pwid", + "text": "Harm reduction for PWUD/PWID", + "openmrs_entity_id": "harm_reduction_for_pwud_pwid", "openmrs_entity": "concept", "property": { - "presumed-id": "reduction_of_effects_of_the_use_of_mat", - "confirmed-id": "reduction_of_effects_of_the_use_of_mat" + "presumed-id": "harm_reduction_for_pwud_pwid", + "confirmed-id": "harm_reduction_for_pwud_pwid" } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/female_kvp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/female_kvp_referral_form.json index 16806b784e..24d9c0030e 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/female_kvp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/female_kvp_referral_form.json @@ -69,20 +69,29 @@ }, "options": [ { - "name": "prep_and_pep", - "text": "PrEP and PEP", + "name": "prep", + "text": "PrEP", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "prep_and_pep", + "openmrs_entity_id": "prep", "openmrs_entity_parent": "" } }, { - "name": "harm_reduction", - "text": "Harm reduction among PWID and non-injecting drug users", + "name": "pep", + "text": "PEP", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "harm_reduction", + "openmrs_entity_id": "pep", + "openmrs_entity_parent": "" + } + }, + { + "name": "pwid_and_pwud", + "text": "PWID & PWUD", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pwid_and_pwud", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_hivst_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_hivst_referral_form.json index fa7f16cea3..03a1af69bb 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_hivst_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_hivst_referral_form.json @@ -75,6 +75,9 @@ "openmrs_entity": "", "openmrs_entity_id": "confirmation_self_test", "openmrs_entity_parent": "" + }, + "properties": { + "checked": true } } ], diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/male_kvp_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/male_kvp_referral_form.json index 8ab14fd81b..5bf7f2afb0 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/male_kvp_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/male_kvp_referral_form.json @@ -69,20 +69,29 @@ }, "options": [ { - "name": "prep_and_pep", - "text": "PrEP and PEP", + "name": "prep", + "text": "PrEP", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "prep_and_pep", + "openmrs_entity_id": "prep", "openmrs_entity_parent": "" } }, { - "name": "harm_reduction", - "text": "Harm reduction among PWID and non-injecting drug users", + "name": "pep", + "text": "PEP", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "harm_reduction", + "openmrs_entity_id": "pep", + "openmrs_entity_parent": "" + } + }, + { + "name": "pwid_and_pwud", + "text": "PWID & PWUD", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "pwid_and_pwud", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/nacp/assets/rule/agyw_screening_calculation.yml b/opensrp-chw/src/nacp/assets/rule/agyw_screening_calculation.yml index 3d7798ea7e..1ac8b1a983 100644 --- a/opensrp-chw/src/nacp/assets/rule/agyw_screening_calculation.yml +++ b/opensrp-chw/src/nacp/assets/rule/agyw_screening_calculation.yml @@ -5,7 +5,7 @@ priority: 1 condition: "true" actions: - "def getTotalScore(household_people_for_less_than_18, ever_married, ever_pregnant, currently_pregnant, both_parents_alive, - birth_before_18, formal_education, missed_school, sexual_intercourse, sexual_intercourse_past_6_months, condom_usage, + birth_before_18, formal_education, missed_school, sexual_intercourse, sexual_intercourse_past_12_months, condom_usage, sex_for_money, sex_after_substance_abuse, more_than_two_partner, unwillingly_touched, forced_for_sexual_activity, scared_of_person, sti_investigation, sti_symptoms, sti_treatment, more_than_6_drinks, illicit_drug_usage, drug_alcohol_problems) { @@ -31,7 +31,7 @@ actions: if (sexual_intercourse.equals('yes')){ score += 1; } - if (sexual_intercourse_past_6_months.equals('yes')){ + if (sexual_intercourse_past_12_months.equals('yes')){ score += 1; } if (condom_usage.equals('no')){ @@ -65,7 +65,7 @@ actions: }" - "calculation = getTotalScore(step1_household_people_for_less_than_18, step1_ever_married, step1_ever_pregnant, step1_currently_pregnant, step1_both_parents_alive, step1_birth_before_18, - step2_formal_education, step2_missed_school, step3_sexual_intercourse, step3_sexual_intercourse_past_6_months, + step2_formal_education, step2_missed_school, step3_sexual_intercourse, step3_sexual_intercourse_past_12_months, step3_condom_usage, step3_sex_for_money, step3_sex_after_substance_abuse, step3_more_than_two_partner, step4_unwillingly_touched, step4_forced_for_sexual_activity, step4_scared_of_person, step5_sti_investigation, step5_sti_symptoms, step5_sti_treatment, step6_more_than_6_drinks, step6_illicit_drug_usage, step6_drug_alcohol_problems)" diff --git a/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml b/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml index f0e5ed2cb0..db93d34687 100644 --- a/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/agyw_screening_relevance.yml @@ -55,6 +55,13 @@ condition: "step2_formal_education.equals('yes')" actions: - "isRelevant = true" --- +name: step3_condom_usage +description: condom_usage relevance +priority: 1 +condition: "step3_sexual_intercourse.equals('yes')" +actions: + - "isRelevant = true" +--- name: step8_program_name_with_dreams description: show if (age is 10-14 and in school or age 15-24 out of school) and beneficiary_of_a_program is yes priority: 1 diff --git a/opensrp-chw/src/nacp/assets/rule/hivst_results_relevance.yml b/opensrp-chw/src/nacp/assets/rule/hivst_results_relevance.yml index 983d6935e5..ffbc48c1b7 100644 --- a/opensrp-chw/src/nacp/assets/rule/hivst_results_relevance.yml +++ b/opensrp-chw/src/nacp/assets/rule/hivst_results_relevance.yml @@ -31,5 +31,19 @@ name: step1_prompt_for_referral description: prompt_for_referral relevance priority: 1 condition: "step1_client_test_result == 'reactive' || step1_client_test_result == 'non_reactive'" +actions: + - "isRelevant = true" +--- +name: step1_prompt_for_referral_for_non_reactive +description: prompt_for_referral_for_non_reactive relevance +priority: 1 +condition: "step1_client_test_result == 'non_reactive'" +actions: + - "isRelevant = true" +--- +name: step1_prompt_for_referral_for_reactive +description: prompt_for_referral_for_reactive relevance +priority: 1 +condition: "step1_client_test_result == 'reactive'" actions: - "isRelevant = true" \ No newline at end of file diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 8c0d6568cd..9310ed707f 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -261,8 +261,9 @@ Kujaa au maumivu ya matiti, chuchu na kushindwa kunyonyesha Kuona kwa shida Kuchanika msamba - Dawa kinga PrEP and PEP - Kupunguza madhara yatokanayo na utumiaji wa dawa za kulevya + Dawa kinga PrEP + Dawa kinga PEP + Anatumia ya dawa za kulevya au mjidunga Uchunguzi/upimaji na chanjo ya homa ya ini B na C Uchunguzi, upimaji na tiba ya magonjwa ya ngono na via vya uzazi Uchunguzi na upimaji wa kansa ya shingo ya kizazi diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index c517744c28..c882080755 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -98,8 +98,9 @@ Care of HIV-exposed infant Immunisation Other reasons - PrEP and PEP - Harm reduction among PWID and non-injecting drug users + PrEP + PEP + PWID & PWUD Hepatitis B & C STI screening and management Cervical Cancer screening and treatment @@ -462,13 +463,13 @@ Number of Male condoms issued: Number of Female condoms issued: Number of IEC Materials Distributed: - Number of tubes & needles distributed: - Number of Water Distributed: - Number of Alcohol Swabs Distributed: + Number of needles & syringe distributed: + Number of Water Distributed: + Number of Sterile Water for injection Distributed: Number of Disposable Safety Boxes Distributed: Number of Plasters Distributed: Number of HIVST Kits Distributed: - Number of Index Coupons Distributed: + Number of Coupons Distributed for social network: Male Condoms Female Condoms Structural referrals provided: @@ -488,15 +489,15 @@ SBCC Topics Provided Proper use of Male Condom Proper use of Female Condom - Influence on Condom Usage + Demand creation on condom use Preventive methods against STD Excessive Alcohol Usage - Education on HIV & AIDS Protection + Education on HIV Prevention Education on HIV & AIDS ART Usage - Education on HIV & AIDS Self Test - Education on the use of PrEP + Demand creation for HIV Self-testing + Demand creation for PrEP Education on the use of PEP - Reduction of effects of the use of drug MAT + Harm reduction for PWUD/PWID Education on Paraphernalia for PWID Education on Overdose Management Education On Hepatitis B From 7019d45e2cbf5233dc94ed2cc7c2652ec87a76fa Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 2 Nov 2022 12:46:21 +0300 Subject: [PATCH 898/915] :hammer: closes #426, closes #427 (#428) --- .../assets/json.form-sw/cbhs_registration.json | 6 ++++-- .../assets/json.form/cbhs_registration.json | 6 ++++-- .../rule/hiv_registration_form_rules.yml | 18 ++++++++++++++++++ 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json index cd2d029e35..350c641944 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json @@ -640,7 +640,8 @@ "openmrs_entity": "concept", "openmrs_entity_id": "tb_number", "openmrs_entity_parent": "" - } + }, + "subjects": "client_tb_status_during_registration:text" }, { "name": "rch_number", @@ -667,7 +668,8 @@ "openmrs_entity": "concept", "openmrs_entity_id": "mat_number", "openmrs_entity_parent": "" - } + }, + "subjects": "reasons_for_registration_male_15:map, reasons_for_registration_female_15:map, reasons_for_registration_male_under_15:map, reasons_for_registration_female_under_10:map, reasons_for_registration_female_10_to_14:map" } ] } diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json index f4735d15a3..5aa66f1327 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_registration.json @@ -640,7 +640,8 @@ "openmrs_entity": "concept", "openmrs_entity_id": "tb_number", "openmrs_entity_parent": "" - } + }, + "subjects": "client_tb_status_during_registration:text" }, { "name": "rch_number", @@ -667,7 +668,8 @@ "openmrs_entity": "concept", "openmrs_entity_id": "mat_number", "openmrs_entity_parent": "" - } + }, + "subjects": "reasons_for_registration_male_15:map, reasons_for_registration_male_15:map, reasons_for_registration_female_15:map, reasons_for_registration_male_under_15:map, reasons_for_registration_female_under_10:map, reasons_for_registration_female_10_to_14:map" } ] } diff --git a/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml index 07053df996..e58dd96960 100644 --- a/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml @@ -6,6 +6,24 @@ condition: "client_hiv_status_during_registration.value == 'Positive' || client_ actions: - "ctc_number_visibility = true" --- +name: "tb_number_visibility" +description: "tb_number visibility" +priority: 1 +condition: "client_tb_status_during_registration.value == 'Positive' || client_tb_status_during_registration.value == 'Ana maambukizi'" +actions: + - "tb_number_visibility = true" +--- +name: "mat_number_visibility" +description: "mat_number visibility" +priority: 1 +condition: "reasons_for_registration_male_15.containsKey('drug_abuse') || + reasons_for_registration_female_15.containsKey('drug_abuse') || + reasons_for_registration_male_under_15.containsKey('drug_abuse') || + reasons_for_registration_female_under_10.containsKey('drug_abuse') || + reasons_for_registration_female_10_to_14.containsKey('drug_abuse')" +actions: + - "mat_number_visibility = true" +--- name: "hiv_registration_date_calculation" description: "calculating the hiv registration date" priority: 1 From a0c94c9c88cbb396f339dd5068d6536882da5d67 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Sun, 6 Nov 2022 20:26:01 +0300 Subject: [PATCH 899/915] Refactor/fixing agyw tot issues (#433) * :hammer: closes #404 * :hammer: refactored AGYW and KVP PreP Issues * :hammer: refactored registration forms * :hammer: refactored kvp sbcc services * :hammer: resolved more uat issues From cd1ea38c200fb3326fb71f787b19443da1614f98 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Thu, 17 Nov 2022 17:17:32 +0300 Subject: [PATCH 900/915] Fix/condom programming uat issues (#432) * :hammer: closes #426, closes #427 * :hammer: fixed condom UAT issues * :hammer: removed options for saving completed referrals to other services on first visit * :hammer: closes #424 * :hammer: resolved issues with KVP Visit Histories * :hammer: closes #372 * :hammer: Refactored hiv selftesting results form * :hammer: fix autorefresh of CBHS profiles * :hammer: refactored CBHS swahili forms, rephared positive and negative options * :hammer: resolved more uat issues --- ...KvpPrEPPreventiveServicesActionHelper.java | 20 +++++++ .../chw/activity/CdpProfileActivity.java | 14 ++++- .../HivIndexContactProfileActivity.java | 10 ++-- .../chw/activity/HivProfileActivity.java | 9 +++ .../KvpPrEPMedicalHistoryActivity.java | 5 +- .../interactor/KvpPrEPVisitInteractor.java | 3 +- .../src/nacp/assets/ec_client_fields.json | 7 +++ .../json.form-sw/cbhs_followup_form.json | 49 ++++++++++++---- .../json.form-sw/cbhs_registration.json | 8 +-- .../json.form-sw/kvp_prep_registration.json | 57 +++++++++++++++++-- .../referrals/hts_referral_form.json | 4 +- .../assets/json.form-sw/tb_registration.json | 4 +- .../assets/json.form/cbhs_followup_form.json | 45 +++++++++++---- .../assets/json.form/cdp_condom_order.json | 50 ---------------- .../nacp/assets/json.form/hivst_results.json | 12 ++-- .../json.form/kvp_prep_registration.json | 53 ++++++++++++++++- .../referrals/hts_referral_form.json | 6 +- .../assets/rule/cbhs_followup_form_rules.yml | 11 +++- .../rule/hiv_registration_form_rules.yml | 4 +- .../src/nacp/res/values-sw/strings.xml | 4 +- opensrp-chw/src/nacp/res/values/strings.xml | 1 + 21 files changed, 262 insertions(+), 114 deletions(-) diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/actionhelper/KvpPrEPPreventiveServicesActionHelper.java b/opensrp-chw/src/main/java/org/smartregister/chw/actionhelper/KvpPrEPPreventiveServicesActionHelper.java index b7935b7805..9de0aa8e78 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/actionhelper/KvpPrEPPreventiveServicesActionHelper.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/actionhelper/KvpPrEPPreventiveServicesActionHelper.java @@ -1,11 +1,16 @@ package org.smartregister.chw.actionhelper; +import static com.vijay.jsonwizard.utils.FormUtils.fields; +import static com.vijay.jsonwizard.utils.FormUtils.getFieldJSONObject; +import static org.smartregister.util.JsonFormUtils.STEP1; + import android.content.Context; import org.apache.commons.lang3.StringUtils; import org.json.JSONException; import org.json.JSONObject; import org.smartregister.chw.core.utils.CoreJsonFormUtils; +import org.smartregister.chw.kvp.dao.KvpDao; import org.smartregister.chw.kvp.domain.VisitDetail; import org.smartregister.chw.kvp.model.BaseKvpVisitAction; @@ -16,6 +21,12 @@ public class KvpPrEPPreventiveServicesActionHelper implements BaseKvpVisitAction private String condoms_given; private String jsonPayload; + private String baseEntityId; + + public KvpPrEPPreventiveServicesActionHelper(String baseEntityId) { + this.baseEntityId = baseEntityId; + } + @Override public void onJsonFormLoaded(String jsonPayload, Context context, Map> map) { this.jsonPayload = jsonPayload; @@ -25,6 +36,15 @@ public void onJsonFormLoaded(String jsonPayload, Context context, Map= 15); } - if(ChwApplication.getApplicationFlavor().hasKvp()){ + if (ChwApplication.getApplicationFlavor().hasKvp()) { menu.findItem(R.id.action_kvp_prep_registration).setVisible(!KvpDao.isRegisteredForKvpPrEP(getHivIndexContactObject().getBaseEntityId())); } return true; diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java index 1df584eb0b..4945c9cddc 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/HivProfileActivity.java @@ -128,6 +128,13 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity if (registrationOrFollowupStatus != null) { removeField(registrationOrFollowupStatus.getJSONArray("options"), "new_client"); } + } else { //Removing options for completed referrals to other services completed for first visit + for (int i = fields.length() - 1; i >= 0; i--) { + JSONObject jsonObject = fields.getJSONObject(i); + if (jsonObject != null && jsonObject.has("name") && jsonObject.getString("name").equalsIgnoreCase("referrals_to_other_services_completed")) { + fields.remove(i); + } + } } @@ -164,6 +171,7 @@ public static void startHivFollowupActivity(Activity activity, String baseEntity if (ChwCBHSDao.tbStatusAfterTestingDone(baseEntityID)) { + removeField(fields, "was_the_client_tested_for_tb"); removeField(fields, "client_tb_status_after_testing"); } } @@ -336,6 +344,7 @@ protected void onResume() { //Refreshing the hiv Member object with new data just in-case it was updated in the background setHivMemberObject(HivDao.getMember(getHivMemberObject().getBaseEntityId())); onMemberDetailsReloaded(getHivMemberObject()); + setProfileViewDetails(HivDao.getMember(getHivMemberObject().getBaseEntityId())); try { CbhsUtils.removeDeceasedClients(getHivMemberObject(), getContext()); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPMedicalHistoryActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPMedicalHistoryActivity.java index fbc6144c3b..9bb043215e 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPMedicalHistoryActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/KvpPrEPMedicalHistoryActivity.java @@ -71,8 +71,8 @@ public View renderView(List visits) { displayLoadingState(true); flavor.processViewData(visits, this); displayLoadingState(false); - TextView agywVisitTitle = view.findViewById(org.smartregister.chw.core.R.id.customFontTextViewHealthFacilityVisitTitle); - agywVisitTitle.setText(R.string.agyw_visit); + TextView kvpVisitTitle = view.findViewById(org.smartregister.chw.core.R.id.customFontTextViewHealthFacilityVisitTitle); + kvpVisitTitle.setText(R.string.kvp_visit); return view; } @@ -168,6 +168,7 @@ protected void processVisit(List> community_visits int x = 0; for (LinkedHashMap vals : community_visits) { View view = inflater.inflate(R.layout.medical_history_visit, null); + view.findViewById(R.id.title).setVisibility(View.GONE); TextView tvTypeOfService = view.findViewById(R.id.type_of_service); LinearLayout visitDetailsLayout = view.findViewById(R.id.visit_details_layout); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/KvpPrEPVisitInteractor.java b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/KvpPrEPVisitInteractor.java index effe2b3eb2..a5ad814af6 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/interactor/KvpPrEPVisitInteractor.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/interactor/KvpPrEPVisitInteractor.java @@ -64,8 +64,7 @@ private void evaluateSBCCServices(Map> details) throws } private void evaluatePreventiveServices(Map> details) throws BaseKvpVisitAction.ValidationException { - - KvpPrEPPreventiveServicesActionHelper actionHelper = new KvpPrEPPreventiveServicesActionHelper(); + KvpPrEPPreventiveServicesActionHelper actionHelper = new KvpPrEPPreventiveServicesActionHelper(memberObject.getBaseEntityId()); BaseKvpVisitAction action = getBuilder(context.getString(R.string.kvp_prep_preventive_services)) .withOptional(true) .withDetails(details) diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 2c0467a098..543c2bf674 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -4433,6 +4433,13 @@ "field": "attributes.outlet_type" } }, + { + "column_name": "other_outlet_type", + "type": "Client", + "json_mapping": { + "field": "attributes.other_outlet_type" + } + }, { "column_name": "entity_type", "type": "Event", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json index 2fae223a8f..bdf7e1ab27 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_followup_form.json @@ -179,7 +179,7 @@ }, { "name": "positive", - "text": "Ana Maambukizi", + "text": "Ana Maambukizi (+)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "positive", @@ -188,7 +188,7 @@ }, { "name": "negative", - "text": "Hana Maambukizi", + "text": "Hana Maambukizi (-)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "negative", @@ -200,26 +200,51 @@ "subjects": "registration_or_followup_status:text" }, { - "name": "client_tb_status_after_testing", + "name": "was_the_client_tested_for_tb", "type": "spinner", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "client_tb_status_after_testing", + "openmrs_entity_id": "was_the_client_tested_for_tb", "openmrs_entity_parent": "" }, "properties": { - "text": "Hali ya maambukizi ya Kifua Kikuu baada ya kipimo" + "text": "Je Mteja amepimwa Kifua Kikuu?" }, "options": [ { - "name": "na", - "text": "Haitambuliki", + "name": "yes", + "text": "Ndio", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "na", + "openmrs_entity_id": "yes", "openmrs_entity_parent": "" } }, + { + "name": "no", + "text": "Hapana", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Tafadhali jaza jibu sahihi", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_tb_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Hali ya maambukizi ya Kifua Kikuu baada ya kipimo" + }, + "options": [ { "name": "unknown", "text": "Haijulikani", @@ -231,7 +256,7 @@ }, { "name": "positive", - "text": "Ana Maambukizi", + "text": "Ana Maambukizi (+)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "positive", @@ -240,7 +265,7 @@ }, { "name": "negative", - "text": "Hana Maambukizi", + "text": "Hana Maambukizi (-)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "negative", @@ -249,7 +274,7 @@ } ], "required_status": "yes:Tafadhali chagua moja", - "subjects": "registration_or_followup_status:text" + "subjects": "registration_or_followup_status:text, was_the_client_tested_for_tb:text" }, { "name": "ctc_number", @@ -454,7 +479,7 @@ "properties": { "notification_type": "error", "dismissible": "no", - "text": "Mpatie mteja rufaa kwenda kituo cha afya kwa uchunguzi zaidi" + "text": "Mpatie rufaa kwenda kwenye kituo cha kutolea huduma za afya" }, "subjects": "health_problem:map" }, diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json index 350c641944..49927c0256 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/cbhs_registration.json @@ -131,7 +131,7 @@ }, { "name": "positive", - "text": "Ana maambukizi", + "text": "Ana Maambukizi (+)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "positive", @@ -140,7 +140,7 @@ }, { "name": "negative", - "text": "Hana maambukizi", + "text": "Hana Maambukizi (-)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "negative", @@ -200,7 +200,7 @@ }, { "name": "positive", - "text": "Ana maambukizi", + "text": "Ana Maambukizi (+)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "positive", @@ -209,7 +209,7 @@ }, { "name": "negative", - "text": "Hana maambukizi", + "text": "Hana Maambukizi (-)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "negative", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_registration.json index c08efa84f3..057594524d 100755 --- a/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/kvp_prep_registration.json @@ -63,11 +63,11 @@ "openmrs_entity": "concept", "openmrs_entity_id": "facility_name", "type": "multi_select_list", - "buttonText": "Facility Name", + "buttonText": "Jina la Kituo cha Afya", "sort": true, "maxSelectable": 1, "dialogTitle": "Select Facility", - "searchHint": "Type Facility Name", + "searchHint": "Andika Jina la Kituo cha Afya", "options": [], "v_required": { "value": "true", @@ -79,11 +79,58 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "birth_region", - "type": "edit_text", - "hint": "Mkoa aliozaliwa mteja", + "openmrs_data_type": "select one", + "type": "spinner", + "label_info_title": "Mkoa aliozaliwa mteja", + "label_info_text": "", + "hint": "Chagua mkoa aliozaliwa mteja", + "values": [ + "Arusha", + "Geita", + "Simiyu", + "Mtwara", + "Njombe", + "Singida", + "Pwani", + "Dodoma", + "Manyara", + "Mara", + "Shinyanga", + "Tabora", + "Mwanza", + "Songwe", + "Rukwa", + "Mbeya", + "Kagera", + "Dar es Salaam", + "Lindi", + "Katavi" + ], + "keys": [ + "Arusha", + "Geita", + "Simiyu", + "Mtwara", + "Njombe", + "Singida", + "Pwani", + "Dodoma", + "Manyara", + "Mara", + "Shinyanga", + "Tabora", + "Mwanza", + "Songwe", + "Rukwa", + "Mbeya", + "Kagera", + "Dar es Salaam", + "Lindi", + "Katavi" + ], "v_required": { "value": "true", - "err": "Tafadhali jaza mkoa aliozaliwa mteja" + "err": "Tafadhali chagua mkoa" } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json index b50a3f44ac..68419dec0b 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/referrals/hts_referral_form.json @@ -78,11 +78,11 @@ } }, { - "name": "optimistic_infections", + "name": "opportunistic_infections", "text": "Magonjwa nyemelezi (Optimistic infections)", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "optimistic_infections", + "openmrs_entity_id": "opportunistic_infections", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/tb_registration.json b/opensrp-chw/src/nacp/assets/json.form-sw/tb_registration.json index 2376bfbc58..6e7fda190e 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/tb_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/tb_registration.json @@ -93,7 +93,7 @@ }, { "name": "positive", - "text": "Ana maambukizi", + "text": "Ana Maambukizi (+)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "positive", @@ -102,7 +102,7 @@ }, { "name": "negative", - "text": "Hana maambukizi", + "text": "Hana Maambukizi (-)", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "negative", diff --git a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json index 1c4c0a191b..759ad5ad2b 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/cbhs_followup_form.json @@ -170,7 +170,7 @@ "options": [ { "name": "unknown", - "text": "Haijulikani", + "text": "Unknown", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "unknown", @@ -179,7 +179,7 @@ }, { "name": "positive", - "text": "Ana maambukizi", + "text": "Positive", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "positive", @@ -188,7 +188,7 @@ }, { "name": "negative", - "text": "Hana maambukizi", + "text": "Negative", "meta_data": { "openmrs_entity": "concept", "openmrs_entity_id": "negative", @@ -200,26 +200,51 @@ "subjects": "registration_or_followup_status:text" }, { - "name": "client_tb_status_after_testing", + "name": "was_the_client_tested_for_tb", "type": "spinner", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "client_tb_status_after_testing", + "openmrs_entity_id": "was_the_client_tested_for_tb", "openmrs_entity_parent": "" }, "properties": { - "text": "Client's TB status after testing" + "text": "Was the client tested for TB?" }, "options": [ { - "name": "na", - "text": "Not Applicable", + "name": "yes", + "text": "Yes", "meta_data": { "openmrs_entity": "concept", - "openmrs_entity_id": "na", + "openmrs_entity_id": "yes", "openmrs_entity_parent": "" } }, + { + "name": "no", + "text": "No", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "no", + "openmrs_entity_parent": "" + } + } + ], + "required_status": "yes:Please select an answer", + "subjects": "registration_or_followup_status:text" + }, + { + "name": "client_tb_status_after_testing", + "type": "spinner", + "meta_data": { + "openmrs_entity": "concept", + "openmrs_entity_id": "client_tb_status_after_testing", + "openmrs_entity_parent": "" + }, + "properties": { + "text": "Client's TB status after testing" + }, + "options": [ { "name": "unknown", "text": "Unknown", @@ -249,7 +274,7 @@ } ], "required_status": "yes:Please specify client's TB status", - "subjects": "registration_or_followup_status:text" + "subjects": "registration_or_followup_status:text, was_the_client_tested_for_tb:text" }, { "name": "ctc_number", diff --git a/opensrp-chw/src/nacp/assets/json.form/cdp_condom_order.json b/opensrp-chw/src/nacp/assets/json.form/cdp_condom_order.json index d706d09c65..e2f4309d23 100644 --- a/opensrp-chw/src/nacp/assets/json.form/cdp_condom_order.json +++ b/opensrp-chw/src/nacp/assets/json.form/cdp_condom_order.json @@ -73,56 +73,6 @@ "err": "Please select the condom type" } }, - { - "key": "condom_brand", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "condom_brand", - "label": "Select condom brand", - "text_color": "#000000", - "type": "native_radio", - "options": [ - { - "key": "public_sc", - "text": "Public sector condom", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "public_sc" - }, - { - "key": "dume", - "text": "Dume", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "dume" - }, - { - "key": "salama", - "text": "Salama", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "salama" - }, - { - "key": "familia", - "text": "Familia", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "familia" - }, - { - "key": "others", - "text": "Others", - "openmrs_entity_parent": "", - "openmrs_entity": "concept", - "openmrs_entity_id": "others" - } - ], - "v_required": { - "value": "true", - "err": "Please select the condom brand" - } - }, { "key": "requested_condoms", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/hivst_results.json b/opensrp-chw/src/nacp/assets/json.form/hivst_results.json index a332bbd9ee..934b71a1e8 100644 --- a/opensrp-chw/src/nacp/assets/json.form/hivst_results.json +++ b/opensrp-chw/src/nacp/assets/json.form/hivst_results.json @@ -134,9 +134,9 @@ { "key": "prompt_for_referral_for_non_reactive", "type": "toaster_notes", - "text": "The client should be referred to a Hospital for Confirmation for self test", - "toaster_info_text": "The client should be referred to the Hospital for HIV testing. Give the client a referral", - "toaster_info_title": "The client should be referred to a Hospital Confirmation for self test", + "text": "The client should be referred to the health facility for confirmation of self test results", + "toaster_info_text": "The client should be referred to the health facility for confirmation of self test results", + "toaster_info_title": "The client should be referred to the health facility for confirmation of self test results", "openmrs_entity_id": "", "openmrs_entity": "", "openmrs_entity_parent": "", @@ -152,9 +152,9 @@ { "key": "prompt_for_referral_for_reactive", "type": "toaster_notes", - "text": "The client should be referred to a Hospital for Confirmation for self test", - "toaster_info_text": "The client should be referred to the Hospital for HIV testing. Give the client a referral", - "toaster_info_title": "The client should be referred to a Hospital Confirmation for self test", + "text": "The client should be referred to the health facility for confirmation of self test results", + "toaster_info_text": "The client should be referred to the health facility for confirmation of self test results", + "toaster_info_title": "The client should be referred to the health facility for confirmation of self test results", "openmrs_entity_id": "", "openmrs_entity": "", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_registration.json b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_registration.json index 4af9a2c509..c1924da37d 100644 --- a/opensrp-chw/src/nacp/assets/json.form/kvp_prep_registration.json +++ b/opensrp-chw/src/nacp/assets/json.form/kvp_prep_registration.json @@ -79,11 +79,58 @@ "openmrs_entity_parent": "", "openmrs_entity": "concept", "openmrs_entity_id": "birth_region", - "type": "edit_text", - "hint": "Client's Birth Region", + "openmrs_data_type": "select one", + "type": "spinner", + "label_info_title": "Client's Birth Region", + "label_info_text": "", + "hint": "Select Regions of Birth", + "values": [ + "Arusha", + "Geita", + "Simiyu", + "Mtwara", + "Njombe", + "Singida", + "Pwani", + "Dodoma", + "Manyara", + "Mara", + "Shinyanga", + "Tabora", + "Mwanza", + "Songwe", + "Rukwa", + "Mbeya", + "Kagera", + "Dar es Salaam", + "Lindi", + "Katavi" + ], + "keys": [ + "Arusha", + "Geita", + "Simiyu", + "Mtwara", + "Njombe", + "Singida", + "Pwani", + "Dodoma", + "Manyara", + "Mara", + "Shinyanga", + "Tabora", + "Mwanza", + "Songwe", + "Rukwa", + "Mbeya", + "Kagera", + "Dar es Salaam", + "Lindi", + "Katavi" + ], "v_required": { "value": "true", - "err": "Please provide the Client's Birth Region" + "err": "Please select the region" } }, { diff --git a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json index 718774343e..9534e5e4ee 100644 --- a/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/referrals/hts_referral_form.json @@ -78,11 +78,11 @@ } }, { - "name": "optimistic_infections", - "text": "Optimistic infections", + "name": "opportunistic_infections", + "text": "Opportunistic infection", "meta_data": { "openmrs_entity": "", - "openmrs_entity_id": "optimistic_infections", + "openmrs_entity_id": "opportunistic_infections", "openmrs_entity_parent": "" } }, diff --git a/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml index f6635a72a5..c63e407a26 100644 --- a/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/cbhs_followup_form_rules.yml @@ -13,17 +13,24 @@ condition: "registration_or_followup_status.value == 'New Client' || registratio actions: - "client_hiv_status_after_testing_visibility = true" --- +name: "was_the_client_tested_for_tb_visibility" +description: "was_the_client_tested_for_tb visibility" +priority: 1 +condition: "registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" +actions: + - "was_the_client_tested_for_tb_visibility = true" +--- name: "client_tb_status_after_testing_visibility" description: "client_hiv_status_after_testing visibility" priority: 1 -condition: "registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine'" +condition: "(was_the_client_tested_for_tb.value == 'Yes' || was_the_client_tested_for_tb.value == 'Ndio') && (registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine')" actions: - "client_tb_status_after_testing_visibility = true" --- name: "ctc_number_visibility" description: "ctc_number visibility" priority: 1 -condition: "(registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine') && (client_hiv_status_after_testing.value == 'Positive' || client_hiv_status_after_testing.value == 'Ana Maambukizi')" +condition: "(registration_or_followup_status.value == 'New Client' || registration_or_followup_status.value == 'Continuing with services' || registration_or_followup_status.value == 'Mpya' || registration_or_followup_status.value == 'Anaendelea na Huduma.' || registration_or_followup_status.value == 'Client continues with services coming from elsewhere' || registration_or_followup_status.value == 'Anaendelea na huduma akitokea mahali pengine') && (client_hiv_status_after_testing.value == 'Positive' || client_hiv_status_after_testing.value == 'Ana Maambukizi (+)')" actions: - "ctc_number_visibility = true" --- diff --git a/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml index e58dd96960..7e5cbb6da1 100644 --- a/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml +++ b/opensrp-chw/src/nacp/assets/rule/hiv_registration_form_rules.yml @@ -2,14 +2,14 @@ name: "ctc_number_visibility" description: "ctc_number visibility" priority: 1 -condition: "client_hiv_status_during_registration.value == 'Positive' || client_hiv_status_during_registration.value == 'Ana maambukizi'" +condition: "client_hiv_status_during_registration.value == 'Positive' || client_hiv_status_during_registration.value == 'Ana Maambukizi (+)'" actions: - "ctc_number_visibility = true" --- name: "tb_number_visibility" description: "tb_number visibility" priority: 1 -condition: "client_tb_status_during_registration.value == 'Positive' || client_tb_status_during_registration.value == 'Ana maambukizi'" +condition: "client_tb_status_during_registration.value == 'Positive' || client_tb_status_during_registration.value == 'Ana Maambukizi (+)'" actions: - "tb_number_visibility = true" --- diff --git a/opensrp-chw/src/nacp/res/values-sw/strings.xml b/opensrp-chw/src/nacp/res/values-sw/strings.xml index 9310ed707f..472f17bba6 100644 --- a/opensrp-chw/src/nacp/res/values-sw/strings.xml +++ b/opensrp-chw/src/nacp/res/values-sw/strings.xml @@ -300,8 +300,8 @@ Haitambuliki Haijulikani - Ana Maambukizi - Hana Maambukizi + Ana Maambukizi (+) + Hana Maambukizi (-) Matatizo ya kitabibu ya Mteja: Uchovu wa mwili usio wa kawaida diff --git a/opensrp-chw/src/nacp/res/values/strings.xml b/opensrp-chw/src/nacp/res/values/strings.xml index c882080755..59a2f1e760 100644 --- a/opensrp-chw/src/nacp/res/values/strings.xml +++ b/opensrp-chw/src/nacp/res/values/strings.xml @@ -450,6 +450,7 @@ + KVP Visits Visit Type: Kvp PrEP Follow-up Visit Client\'s HIV status: From abd47e19bbdbacad5cef72373248d910a92ad4f9 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Fri, 18 Nov 2022 07:34:09 +0300 Subject: [PATCH 901/915] :hammer: implement recording of Ten Cell Leader Details --- .../src/nacp/assets/ec_client_fields.json | 32 ++++++++++++ .../all_clients_registration_form.json | 26 ++++++++++ .../json.form-sw/family_details_register.json | 52 +++++++++++++++++++ .../assets/json.form-sw/family_register.json | 26 ++++++++++ .../all_clients_registration_form.json | 26 ++++++++++ .../json.form/family_details_register.json | 52 +++++++++++++++++++ .../assets/json.form/family_register.json | 26 ++++++++++ 7 files changed, 240 insertions(+) diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 543c2bf674..3c63e31815 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -31,6 +31,38 @@ "field": "lastName" } }, + { + "column_name": "chairperson_name", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "chairperson_name" + } + }, + { + "column_name": "chairperson_phone", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "chairperson_phone" + } + }, + { + "column_name": "ten_house_cell_leader_name", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "ten_house_cell_leader_name" + } + }, + { + "column_name": "ten_house_cell_leader_phone", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "ten_house_cell_leader_phone" + } + }, { "column_name": "village_town", "type": "Client", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index c79a879a53..13852ced80 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -160,6 +160,32 @@ "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." } }, + { + "key": "ten_house_cell_leader_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_name", + "type": "edit_text", + "hint": "Jina la mjumbe wa nyumba kumi", + "edit_type": "name" + }, + { + "key": "ten_house_cell_leader_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_phone", + "type": "edit_text", + "hint": "Namba ya simu ya mjumbe wa nyumba kumi", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, { "key": "landmark", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json index 4b71654e40..1a89f761bc 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json @@ -86,6 +86,58 @@ "err": "Tafadhali weka kitambulisho halali" } }, + { + "key": "chairperson_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chairperson_name", + "type": "edit_text", + "hint": "Jina la mwenyekiti wa mtaa", + "edit_type": "name" + }, + { + "key": "chairperson_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chairperson_phone", + "type": "edit_text", + "hint": "Namba ya simu ya mwenyekiti wa mtaa", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, + { + "key": "ten_house_cell_leader_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_name", + "type": "edit_text", + "hint": "Jina la mjumbe wa nyumba kumi", + "edit_type": "name" + }, + { + "key": "ten_house_cell_leader_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_phone", + "type": "edit_text", + "hint": "Namba ya simu ya mjumbe wa nyumba kumi", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, { "key": "village_town", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index 64a4c8af1e..abd34612d8 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -160,6 +160,32 @@ "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." } }, + { + "key": "ten_house_cell_leader_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_name", + "type": "edit_text", + "hint": "Jina la mjumbe wa nyumba kumi", + "edit_type": "name" + }, + { + "key": "ten_house_cell_leader_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_phone", + "type": "edit_text", + "hint": "Namba ya simu ya mjumbe wa nyumba kumi", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, { "key": "landmark", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index 416d94152b..103e9d1e9a 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -160,6 +160,32 @@ "err": "Number must be 10 digits and must start with 06 or 07." } }, + { + "key": "ten_house_cell_leader_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_name", + "type": "edit_text", + "hint": "Ten House Cell Leader Name", + "edit_type": "name" + }, + { + "key": "ten_house_cell_leader_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_phone", + "type": "edit_text", + "hint": "Ten House Cell Leader Phone", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, { "key": "landmark", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/family_details_register.json b/opensrp-chw/src/nacp/assets/json.form/family_details_register.json index bb2678cb04..ae024dc3d5 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_details_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_details_register.json @@ -86,6 +86,58 @@ "err": "Please enter a valid ID" } }, + { + "key": "chairperson_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chairperson_name", + "type": "edit_text", + "hint": "Village/Street Chairperson Name", + "edit_type": "name" + }, + { + "key": "chairperson_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chairperson_phone", + "type": "edit_text", + "hint": "Village/Street Chairperson Phone", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, + { + "key": "ten_house_cell_leader_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_name", + "type": "edit_text", + "hint": "Ten House Cell Leader Name", + "edit_type": "name" + }, + { + "key": "ten_house_cell_leader_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_phone", + "type": "edit_text", + "hint": "Ten House Cell Leader Phone", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, { "key": "village_town", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/family_register.json b/opensrp-chw/src/nacp/assets/json.form/family_register.json index 0a3881bf5a..c5b40e6fec 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_register.json @@ -160,6 +160,32 @@ "err": "Number must be 10 digits and must start with 06 or 07." } }, + { + "key": "ten_house_cell_leader_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_name", + "type": "edit_text", + "hint": "Ten House Cell Leader Name", + "edit_type": "name" + }, + { + "key": "ten_house_cell_leader_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_phone", + "type": "edit_text", + "hint": "Ten House Cell Leader Phone", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, { "key": "landmark", "openmrs_entity_parent": "", From 784bfd572e366240e4444f1b8e1e223375b833e9 Mon Sep 17 00:00:00 2001 From: Ilakoze Jumanne Date: Wed, 14 Dec 2022 05:20:31 +0300 Subject: [PATCH 902/915] Fix/pilot issues (#457) * :hammer: implement recording of Ten Cell Leader Details * :hammer: code refactoring * :hammer: refactored mother champion report, added an indicator for number of partners followed up. Refactored Issue Referral not to use custom layouts --- ...ampion-reporting-indicator-definitions.yml | 13 ++++- .../chw/activity/ClientReferralActivity.java | 2 +- .../chw/activity/MalariaProfileActivity.java | 2 +- .../MotherChampionProfileActivity.java | 1 - .../MotherChampionReportObject.java | 2 +- .../presenter/AncMemberProfilePresenter.java | 2 +- .../chw/presenter/ChildProfilePresenter.java | 2 +- .../src/nacp/assets/ec_client_fields.json | 39 ++++++++++++++ .../all_clients_registration_form.json | 26 ++++++++++ .../json.form-sw/family_details_register.json | 52 +++++++++++++++++++ .../assets/json.form-sw/family_register.json | 26 ++++++++++ .../all_clients_registration_form.json | 26 ++++++++++ .../json.form/family_details_register.json | 52 +++++++++++++++++++ .../assets/json.form/family_register.json | 26 ++++++++++ .../reports/mother-champion-report.html | 4 ++ 15 files changed, 268 insertions(+), 7 deletions(-) diff --git a/opensrp-chw/src/main/assets/config/mother_champion-reporting-indicator-definitions.yml b/opensrp-chw/src/main/assets/config/mother_champion-reporting-indicator-definitions.yml index 900565a1c7..8cc489e938 100644 --- a/opensrp-chw/src/main/assets/config/mother_champion-reporting-indicator-definitions.yml +++ b/opensrp-chw/src/main/assets/config/mother_champion-reporting-indicator-definitions.yml @@ -39,4 +39,15 @@ indicators: indicatorQuery: " SELECT SUM(participants_number) as count from ec_sbcc es WHERE date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = - date(substr(es.sbcc_date, 7, 4) || '-' || substr(es.sbcc_date, 4, 2) || '-' || '01')" \ No newline at end of file + date(substr(es.sbcc_date, 7, 4) || '-' || substr(es.sbcc_date, 4, 2) || '-' || '01')" + - key: "b-7" + description: "Idadi ya wenza waliofuatiliwa/kuletwa kituoni kupima" + indicatorQuery: " SELECT COUNT(DISTINCT eapcf.entity_id) as count + from ec_anc_partner_community_feedback eapcf + WHERE + partner_agree_attending_hf = 'yes' + AND date((substr('%s', 1, 4) || '-' || substr('%s', 6, 2) || '-' || '01')) = + date(substr(strftime('%Y-%m-%d', datetime(last_interacted_with / 1000, 'unixepoch', 'localtime')), 1, 4) || + '-' || + substr(strftime('%Y-%m-%d', datetime(last_interacted_with / 1000, 'unixepoch', 'localtime')), 6, 2) || + '-' || '01')" \ No newline at end of file diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java index b241a04317..44e6329e64 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/ClientReferralActivity.java @@ -79,7 +79,7 @@ public void startReferralForm(JSONObject jsonObject, ReferralTypeModel referralT if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { //TODO Define custom layout on referral library for family planning referrals otherwise do not use custom layout for now ReferralRegistrationActivity.startGeneralReferralFormActivityForResults(this, - baseEntityId, jsonObject, !CoreConstants.TASKS_FOCUS.FP_SIDE_EFFECTS.equalsIgnoreCase(referralTypeModel.getFocus())); + baseEntityId, jsonObject, false); } else { startActivityForResult(CoreJsonFormUtils.getJsonIntent(this, jsonObject, Utils.metadata().familyMemberFormActivity), JsonFormUtils.REQUEST_CODE_GET_JSON); diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MalariaProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MalariaProfileActivity.java index 2d1c3cb205..e3ea19811f 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MalariaProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MalariaProfileActivity.java @@ -168,7 +168,7 @@ public void referToFacility() { if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { JSONObject formJson = getFormUtils().getFormJson(Constants.JSON_FORM.getMalariaReferralForm()); formJson.put(Constants.REFERRAL_TASK_FOCUS, referralTypeModels.get(0).getFocus()); - ReferralRegistrationActivity.startGeneralReferralFormActivityForResults(this, baseEntityId, formJson, true); + ReferralRegistrationActivity.startGeneralReferralFormActivityForResults(this, baseEntityId, formJson, false); } else { startFormActivity(getFormUtils().getFormJson(getReferralTypeModels().get(0).getFormName())); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java index f7c1cdf76a..647eb0d301 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/activity/MotherChampionProfileActivity.java @@ -145,7 +145,6 @@ public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.findItem(R.id.action_remove_member).setVisible(false); menu.findItem(R.id.action_issue_pmtct_followup_referral).setVisible(false); - menu.findItem(R.id.action_mark_as_deceased).setVisible(false); return true; } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/domain/mother_champion_report/MotherChampionReportObject.java b/opensrp-chw/src/main/java/org/smartregister/chw/domain/mother_champion_report/MotherChampionReportObject.java index b9fc91823b..f4a4a6f71c 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/domain/mother_champion_report/MotherChampionReportObject.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/domain/mother_champion_report/MotherChampionReportObject.java @@ -8,7 +8,7 @@ import java.util.Date; public class MotherChampionReportObject extends ReportObject { - private final String[] indicatorCodes = new String[]{"b-1", "b-2", "b-3", "b-4", "b-5"}; + private final String[] indicatorCodes = new String[]{"b-1", "b-2", "b-3", "b-4", "b-5", "b-7"}; private final Date reportDate; public MotherChampionReportObject(Date reportDate) { diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AncMemberProfilePresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AncMemberProfilePresenter.java index ce90916ec4..afbbf64332 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AncMemberProfilePresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/AncMemberProfilePresenter.java @@ -68,7 +68,7 @@ public void startAncReferralForm() { JSONObject formJson = (new FormUtils()).getFormJsonFromRepositoryOrAssets(context, Constants.JSON_FORM.getAncUnifiedReferralForm()); formJson.put(Constants.REFERRAL_TASK_FOCUS, referralTypeModels.get(0).getReferralType()); ReferralRegistrationActivity.startGeneralReferralFormActivityForResults(context, - getEntityId(), formJson, true); + getEntityId(), formJson, false); } catch (Exception ex) { Timber.e(ex); } diff --git a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChildProfilePresenter.java b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChildProfilePresenter.java index e05e168ac0..e417fac0ff 100644 --- a/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChildProfilePresenter.java +++ b/opensrp-chw/src/main/java/org/smartregister/chw/presenter/ChildProfilePresenter.java @@ -90,7 +90,7 @@ public void startSickChildReferralForm() { JSONObject formJson = (new FormUtils()).getFormJsonFromRepositoryOrAssets(getView().getContext(), Constants.JSON_FORM.getChildUnifiedReferralForm()); formJson.put(Constants.REFERRAL_TASK_FOCUS, referralTypeModels.get(0).getReferralType()); ReferralRegistrationActivity.startGeneralReferralFormActivityForResults((Activity) getView().getContext(), - getChildBaseEntityId(), formJson, true); + getChildBaseEntityId(), formJson, false); } catch (Exception e) { Timber.e(e); } diff --git a/opensrp-chw/src/nacp/assets/ec_client_fields.json b/opensrp-chw/src/nacp/assets/ec_client_fields.json index 543c2bf674..38d675a44e 100644 --- a/opensrp-chw/src/nacp/assets/ec_client_fields.json +++ b/opensrp-chw/src/nacp/assets/ec_client_fields.json @@ -31,6 +31,38 @@ "field": "lastName" } }, + { + "column_name": "chairperson_name", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "chairperson_name" + } + }, + { + "column_name": "chairperson_phone", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "chairperson_phone" + } + }, + { + "column_name": "ten_house_cell_leader_name", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "ten_house_cell_leader_name" + } + }, + { + "column_name": "ten_house_cell_leader_phone", + "type": "Event", + "json_mapping": { + "field": "obs.fieldCode", + "concept": "ten_house_cell_leader_phone" + } + }, { "column_name": "village_town", "type": "Client", @@ -4701,6 +4733,13 @@ "field": "locationId" } }, + { + "column_name": "receiving_order_facility", + "type": "Event", + "json_mapping": { + "field": "receiving_order_facility" + } + }, { "column_name": "form_submission_id", "type": "Event", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json index c79a879a53..13852ced80 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/all_clients_registration_form.json @@ -160,6 +160,32 @@ "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." } }, + { + "key": "ten_house_cell_leader_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_name", + "type": "edit_text", + "hint": "Jina la mjumbe wa nyumba kumi", + "edit_type": "name" + }, + { + "key": "ten_house_cell_leader_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_phone", + "type": "edit_text", + "hint": "Namba ya simu ya mjumbe wa nyumba kumi", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, { "key": "landmark", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json index 4b71654e40..1a89f761bc 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_details_register.json @@ -86,6 +86,58 @@ "err": "Tafadhali weka kitambulisho halali" } }, + { + "key": "chairperson_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chairperson_name", + "type": "edit_text", + "hint": "Jina la mwenyekiti wa mtaa", + "edit_type": "name" + }, + { + "key": "chairperson_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chairperson_phone", + "type": "edit_text", + "hint": "Namba ya simu ya mwenyekiti wa mtaa", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Namba lazima iwe jumla ya tarakimu 10 kwa urefu" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, + { + "key": "ten_house_cell_leader_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_name", + "type": "edit_text", + "hint": "Jina la mjumbe wa nyumba kumi", + "edit_type": "name" + }, + { + "key": "ten_house_cell_leader_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_phone", + "type": "edit_text", + "hint": "Namba ya simu ya mjumbe wa nyumba kumi", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, { "key": "village_town", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json index 64a4c8af1e..abd34612d8 100644 --- a/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form-sw/family_register.json @@ -160,6 +160,32 @@ "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." } }, + { + "key": "ten_house_cell_leader_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_name", + "type": "edit_text", + "hint": "Jina la mjumbe wa nyumba kumi", + "edit_type": "name" + }, + { + "key": "ten_house_cell_leader_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_phone", + "type": "edit_text", + "hint": "Namba ya simu ya mjumbe wa nyumba kumi", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Namba lazima iwe na tarakimu 10 na lazima ianze na 06 au 07." + } + }, { "key": "landmark", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json index 416d94152b..103e9d1e9a 100644 --- a/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json +++ b/opensrp-chw/src/nacp/assets/json.form/all_clients_registration_form.json @@ -160,6 +160,32 @@ "err": "Number must be 10 digits and must start with 06 or 07." } }, + { + "key": "ten_house_cell_leader_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_name", + "type": "edit_text", + "hint": "Ten House Cell Leader Name", + "edit_type": "name" + }, + { + "key": "ten_house_cell_leader_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_phone", + "type": "edit_text", + "hint": "Ten House Cell Leader Phone", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, { "key": "landmark", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/family_details_register.json b/opensrp-chw/src/nacp/assets/json.form/family_details_register.json index bb2678cb04..ae024dc3d5 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_details_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_details_register.json @@ -86,6 +86,58 @@ "err": "Please enter a valid ID" } }, + { + "key": "chairperson_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chairperson_name", + "type": "edit_text", + "hint": "Village/Street Chairperson Name", + "edit_type": "name" + }, + { + "key": "chairperson_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "chairperson_phone", + "type": "edit_text", + "hint": "Village/Street Chairperson Phone", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, + { + "key": "ten_house_cell_leader_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_name", + "type": "edit_text", + "hint": "Ten House Cell Leader Name", + "edit_type": "name" + }, + { + "key": "ten_house_cell_leader_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_phone", + "type": "edit_text", + "hint": "Ten House Cell Leader Phone", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, { "key": "village_town", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/json.form/family_register.json b/opensrp-chw/src/nacp/assets/json.form/family_register.json index 0a3881bf5a..c5b40e6fec 100644 --- a/opensrp-chw/src/nacp/assets/json.form/family_register.json +++ b/opensrp-chw/src/nacp/assets/json.form/family_register.json @@ -160,6 +160,32 @@ "err": "Number must be 10 digits and must start with 06 or 07." } }, + { + "key": "ten_house_cell_leader_name", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_name", + "type": "edit_text", + "hint": "Ten House Cell Leader Name", + "edit_type": "name" + }, + { + "key": "ten_house_cell_leader_phone", + "openmrs_entity_parent": "", + "openmrs_entity": "concept", + "openmrs_entity_id": "ten_house_cell_leader_phone", + "type": "edit_text", + "hint": "Ten House Cell Leader Phone", + "edit_type": "number", + "v_numeric": { + "value": "true", + "err": "Number must be a total of 10 digits in length" + }, + "v_regex": { + "value": "(0[6-7][1-9][0-9][0-9]{6})|\\s*", + "err": "Number must be 10 digits and must start with 06 or 07." + } + }, { "key": "landmark", "openmrs_entity_parent": "", diff --git a/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html b/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html index 1d8112b245..059f1c85f8 100644 --- a/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html +++ b/opensrp-chw/src/nacp/assets/reports/mother-champion-report.html @@ -94,6 +94,10 @@

    Majumuisho ya kazi ulizofanya

    Idadi ya wateja wa PMTCT walioelimishwa na mama kinara/vinara

    00*jC{wS&M|a&_YXD*2J7;4u<|eNv&R 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

  • +
  • + Idadi ya wenza waliofuatiliwa na kukubali kwenda kituoni kupima na kujua hali za afya zao +
  • raW`!9$i{`RQWb_ z{j&k%^GOx-ch%W6jDZ0LJr;D=i*3tuU5sGf{gcB`rmD%eXe})TM|+n2sGB}@$mu{n z&~hpmSMqMRvfJ;CIf_lxY;<39+dRMym4EGR9n7%oq8bv%pjaCHw3<_Z%w1MeQW5mo z5PZ3dTH;6i-(tQw3klE*iO8PR+SVzhnraS(gbAHG_ggh!p??twmAD@_96hb;>`W3G z^9TwX&~lLmTG&qOi*gUS^f)7iFkLFOljYZ7_!kkGt17#~kqjUTW~b;Ddby5hm5jFEvzLb|E*nEE7}^ER4tL zu_JnYV#0QGYUU{X1F!v(aL3?s^<|vd)nJ_liQPw^`YqI<+#=|X8Yv+kfd>{^h5Ej0 zHK*^VMH_6VA`zM?yeQ&R+1v7C3qzU1m-_RH;AW6TJdNrO=Xv<&K>r|2z?O z7xYppNL3^3$b8q+%b?^Kw6Y-OF9e8%*46#?^-tn*6OqtFn#>EPymzJamOV#%?}J^8&#UJ)1I zdQCiYcl=MaeE7Fo`V0Z*11I3p7sP={BU$Xaz$1DwDEImu+9CstBs~k4^xkNXtW(87 zV_&ASq#I^u^UE`)Gbbr9djUf(POFt6M6n~_wuE<%9DMWmT19=&G@e_;eKF1m9kN<>;pF|S6ty7wjWy-OMiViAqxAgYsboaNFy8irA zIe+!J6nz+(JYt5{{&4kF9w4AwUu2}E?L8;F5WrW%016795FKInG5(GtrGN0^Xok>; zSGE;Wid~+idOsF4eIgz9^Kp)*^X+l*)EB!_#Q!g3e;^8MAbr3FG)jOuc1LY>-vHdc z5R`kB%9X}U(l8mCqw)Pi(CvUyEx>4+b|rfm+37?94hMMMmU#|48+CWqp9**>-cDt3 z=-T9o^62SIwq&*#)~B;of7w)UxsREOrKQw>53z#+KDg@xr(3*C>f)Q1;{d81)x2ym z_Bcn~QnEnI#Mj=32DTWZjA}53@RcU~`SSay9Wa zI#HFT((cor*Gh4`Ps@WAaXS6>o? zw5aA$3*#1O3rcLRD;mc2q$R?&0XI(R*b$F}^#}V*k`HA!V2$`!eIy$LDf-H-rx%8t z_ee9OJ&qpNsXP{x_sCdL(sXpghVbUg?z{)J`z4@ao)wo|^qeO=e>1EV36pC6OMJm2 zs~zDSwHJL?@prz4QIFtIV6J&Ts-r`QuUF-QUQZ+@&Q>K?V~D*fpF2FW%zQ{;awVLR zjEs|wuAT&Eo@iY*AcmGJ70aJ`xKw%=MW3i}LeiHNn^^UE7P=h>-FdM~nNM53cC_Lv zgMFM9I(<|qG%Smm=2agY?KF=|ecFpkXWHt!%~XQaA7$jSq?&R`n8fin)ElvyVBiUlC{m!ZF#xw&VBE~#c$B*k94W) zt{~FjD|k6EE>~AdM+}D|Be_d%#XhGUXfrM;+MUzDZ!wBYs+m^|r^Ixx6 zD?I!eEGUZOMN`R|aLcN8KSJM#Ss|)>o5OsNI{uMNqAN)L@w;`YMji3I%h^SvMX-oe zt-am8HBI%=PK@BtXNvKp%s$iQfPsWalevjbFkhL#IT_z|o}J!P|IgU*$DQUW_Kflb z@OL{s)W)6+Rh|r~-<2v2o4XQh5B{0v@lxjV&zXC;jrVRV8bSS4wzRXd$Qe`(#s;??5*#E;@9DYv zJ(m`Fo#tRL*xX)lI*+s5&NdqC{E_etoBnm&)YY*5BV8cVe-=35Sh?QZ_WI=hM00_1 z#W1^R*NX6&6o!RiV`m56f0mBtKK|RR4FC}&8>tuQmH=UqzKLamoEJQ98gmN~4dl~{m^KQy#fK+IMCa$4I-Q%GG}O@ZcUEX+*I#Dks6cxcIG(FjWVxS%Xo8JIo+! zXf`dgpVh#NKb^Y@w=B5o%JZ7#8D12}>~T;^f>9%Yf=Wm`lRiL~$)$nw3dk4cgNf@k zr{iul#+wQy7+Ik>xump}H|>u+Ce24eb*}d&zPjqRSFpeN zv1J~R{x#dbKgAv??E@yr)zOL`$ly(MAQkX5mWQ708>Z~FPu^_`&c`Jx9LxR{UAwdi zt_ncK*!jYO+mj~U1CDF_;n_~~(NkJ~o$%PCG(C@-O)nL%28MAqQEmPrFO#Wl1eKOk z_^4e0Z`wi;yUB99$-V>;RQ)pHumQBd&6d%HwFk^F9vKsx!{E9@ned&L8Ye-D%5K~D z)e|~yEDot`?TltULT!n@p>lg@anzPx6`b=lKq}5HUK^_APP1EkzrBzMm#LpL-6M6r z0kRae3iR{-f2%|bAS-j5!x<}$T3TDX-S+T**T7E(k3tW8eg#vAtFV@ajXQ4}gtKV3 zL+Bt7P2lQIpU*oxf%VTV@PXjKd3D_H0Xcc}eadzbuyO;A7Y2yELMF+Ec)QGPB+yhq zFBi(7lrecdJdTQ1b!Bfmd}LF1e`6{d;^JUe<{7_`HB6g8%~&-})sItPupb(Zv_(<6 zxV|ec0TTY1{RD6bbwISU2X-r`c2|R23CIcZ;5ZY;d-NxLePgpC-}9<(nyF+aX~ukH zNFY%{HQ#K$seZ6rc1u9=?fUlkVEWiWqtV={s>8|V)bF3Rz3rQDPV~KYa-qc$rksbJRB{Y59t(iUYj~?yE*UUFoY99 zkz?E8qOPLtR&sc$PD`d94Qx5uRIVGZl3KNMHF&s+-2rl}SQk7rFHNi3^UkfTPSKyC zv@skj#T%N617s9C#|}cQH%ZU2>^R1<+M4QwggaP}`@-@e^7D6dGcRxRpYzG~dJ8JL z8t53@4`zw?CK5bOVBq|eqvx^@!<`!$z>~$h`HMig(!pXc9T-o}daSXBPXi$n?uR+x zDAe3_CyJcBN`-Z4_W^`5Gh^&_(5@NgC{$hoAHACTQ%DqP0h&+DRtt-A8Cm1hVcs+nymKzwl3Ob>nP%wfMS}ksxMRUGtm@)ovI%RPv9e|!E=20i_zYE*1 z^~$r~iGsu*C_JKenPcc34 zS^4A@PRntP^myk?Biuj%K&_vhegG0Jj^irmx4V-q4YOX?4;R+a`>5eMOxmUZKIAHJnJ9*Je&}SzAIZG_1YI4I8@< z9;YYHz`vYq=CO_%=tbJQz(V52C$~Rv>lpWhO))0jZ_DeXW#3|yTkOW> z-roRTBTwK7nLJ7TP=hSed)X0y-waY>b348+u~{i0oq_R~-)B)&SUN>by=h}6cL{Ih zmv)5OYto7-LCb){KP=>!$_-4shjg9XuR`?N9}0s5T|0U$H z!oKm1EIzC@AiWrwtzD5c;gbfGyIdbzL8k5N*sWNFSy6Z4u|e|RFJjZNc2DRq+eW7e z76OXRcw%8j>RVV$SVs!xE81-9rGx~uq?b*)B6R{>AIYA^-R*B6x}2KFlw=`Do1w4u zkxWU}Aq&MNnEFNLSKBZ(8hFR`hotuQ>mlykjx`YHj^@9w-~dx zj$i|)8^5^&hjuiFi9!-H!g8W|O^AGWJF!a$AM$Lz&UpW0d;zxpNZ~4nrp+P|=rd4V zA!qJpKyO$jQePkjAJU5xO;)YWK%^Ue`{yIpEx*g*8Lc7AAXljYgpQXx_dbcib*$peVM$o+!4`G9hzP|FB`4u{q-9ab4+v}KME7cT_*5@u~zz-39DFzb0$3$ zeS)BSLs>i1u8gkU&UA4`rW?K|HN0Wt0guZCh6v?_rG9poWo^`!^_z4iC9gL91p!pE zGXH-_({!pHZmJ=5EXRrmTD!)%rd-b*M(ZTY= z*WWSmPC6vlPqrczS(jV#R_DM8X>dx|Ul#fB@x^UeR8=SL^ZD(>4)Dd`19)!@XxO&h zrhuvdFJjQy0WmQOd&2m4e{NPLv#x#vw%~Z&EJk3jymSOxeH-;t)VuGpboe!&KmZ6> zNTH4u8YB?s;uK3sAPRKk|WwmDSzb>)-sD@&aGBzJEkBihMa(oS*pQQk&6_aAJ`T2*6=^-{~XM{mmlgC?_k_Fk@!qk1BMe0AG#)Y?ZcZZ0|grS-47Vo$`#d2Akh?4!Bk zOr600@EQ~QmB>n>_;z+5pAcXS-C@}@y|ywbyJ z4&#TqQJrp2{cx}fZ(V+eHRod%!Wf&5!y+g^7wL!?!0)`NS8s-kL*0Wu-qOwRJ*5x6Q!Nms;7>Gn20@5t&EKC zi^IGbwYXVdhe*jp2Hm%s2G;~?u*zw8i+d6eI9oBDKl~L_=(Lwb50aUba&{*NAvRrm ziH}zz){C+-vJ#QPtAm@J$Y05vuigY*)_z4;=}0(e#KNqli7J4t+&BD0GfJB9C*L#j zZS8(iV8EF?laZZmSIp%jberc|q_(@0&G$;t37`5~Mnc9z#w(hSyFXuM`%Dh6!g7;= z@C*s){##?j;b+uJqPm{yp*P87f zV57mP9yC;G#leea)}1R?s&4Wcze23Om1DCyZ!D@Up2YG zz42BtE7Nsq>y4k-sm!NfYgvH?i>Kf084%Kd1#5Fc)1JE9LTK&Uq<31y<)P06Pr>%T zB)vD;CBB!EnD_$@m7RTqBK5k+nV&zaUB9|~F}KA%Y|;dPWv=`2;p$!7>oLcy?E>KF zWXk%1m4SZZ_GRqk(?kn$^P}An%hgWIOw(727UPk9fFW27n!{#F;iOg+fqW-+Z(!s5 zf_V}*+rquxl;cv1j(;^5z$~O#0}750$;Cxaa~+rDt%s!oh5P3~9ih>ea<8MAtI69$ z6}^@?KU7Sp)4{0ksIH5~XmBA*cYl8RB!%}qU1m`D9fY$y_a~*En=)>n{MEG;lHG-; z`ALNP1HE*w$@x`l27{QU>Z7n{Q;bHKgmG`lw`AgFrZ`abW_9FD?FHy4Mal2q!XqTS zvC^a0c*2fq_9CApFK~%$DmUwG>s+P1)*H=j{n-6zQ>@XsEh!`8Mx777Y#@iluw50` zD(A}au{XD zQt)J8V6f_u=At29FY3@Dfv73day^RKfZgC*Sg!jjEAYW-`~INCv&fd*TrI9^qxY2P z_OkM-CCG;oE=wUhuF5igQ01oifgdbh!s)L^J`X}4tnQAi3+Fpu{S-g2!2HX<5ZfB)_J6XAFi%DrzmR%@ zhJX)qQIzi9mEV5*_HU(k;05$=JuvckF7~9CE#&U4^mn<3i?+JAwY7_CY1KVyDv}Yz zv#b^%x_TY&m&b(5Eegkxwyt!9QaG4Pfe`_R;TJ%{@CUZT;SmKc2L8=`p$((^wQMcR zPZG<%bQTsE_H~dzFemz_;57Q5jFdpr&1qQv+smRsl&i)y%MM((d7(ZqdWseY{mmYh z=awP9p(Wk94)F<7KLse*?gpejkd&Z7_r7&jqe1hAcbYNeo2l`?txjXY@yNx>)7I@% z^W|i`#t?BZ^ z-ft~k#M2YY(&1G@RM?^fbv%ZQt8dRHQZ`)~vw6TxGPEuSF?4IbX%T$Ox%BMLW% zmNA>Qq37CU_ce)3>WnXBR`U&=1)eYG$FTIR=F4F(m1&9lEq}M4+@Tg5ol_M69a**( zYPf6sK_FyTH5RA{O(AQPTz9jeOz-1%Eq6ZLcvA!_-VpZQIQ!$Fql5W`X>jb^#_pm( zJ${^=)A)n;V#ZfF0N3NCD8qvV()Jj1b?g1*tE_qrF5ix}w!iVXk>L<1J1j?Yx&)3r zzUS0!(Bdxk@Q&4vQ1TT=9rs*_WkYgs+K2W^N1L4ywM>Ow@J*)JnFxbVuOH!(anSKN z1VJkGTE9(Y-e&(^tPt9!F7etpXJd8rbPBvuHrIAJr!3iazMc7mUI2)}`xB=pk^OTW zcm9v7zmBSM{l5QUI;25L*yI6`Mx;|hlt$TfBP}W2ol+toASKe>-3`*+EwJfscrHG_ zan9TCGX{>K{-yic_kFE3*PO5Q{Z%W5QDY9y2VLEf2if^Yp=|fc%OM-#K+ov{OpH|aq7n# zz(zO%W&7W6ijhhEzrNH@pipSdVH?KL$&iTk#6E?`ayp5CV}VdHWA=gD@Cu3W7Lk<5 zMy`pj7>MMWlB$>d)SthYE{_n-1+LV!17<|Av7_!|5ps`2aKn<>bdj1YgU^kJZIS5l z=FNnbroJ*Ge_1};{!(0S`n!MD&A6lwb@dW*JNw=wu>Y^s?G$}JwX*7uV`&e@qb1M4 zZkh@Ai*RUVjtPMs2#{8{REs>znNQ1b%^*vja~|RE#`-Y%p|By#wJz@au7Dzb48*v& zxvy>?Ve*?K^#V!*AH4xQv9#w&ng*+MjFGgNy=Uz-&B)16q1n9_OK=T?-bW#A|oT4)gJ@o(F!m~T1GE`x2d)UmFMxd zcy^QXZd?uF#N%nier1J0o0XNIuJoFk9;^JKqBqT+cjO-bUT(p`raSB<^8c0&0u5@+ zfgpiH0={4iFzv?cd2rjwKwtA1oZlv7U--;r3S6^Z?Kx>V?wwt_40bzTrU)D!R4+N4 z=B6{AFWwxEv5QUE7!m8O_0c)+Z{$XJ4$$F;EPs_@ZN*?~Xu+rsK^o34<%?F5URD>pKtxt}B zWuyG5ip`BTRz5THop>8s9UhkXbiE%ADFs%XEYdI!C$&S~^BODEa=DN*D9WoyWa~Je zQIQ6AG5(0H6u)^);$^i7Kj=-ow-e?dbQ_|H0o z3@!W)VP;4`CHV3G6cfq9pQcL$obUfF*G#3d+F)Q%;#t1Cf=v9wN9bG#Ee=nKZj#y` z1qV~`ZubN&@W=KDT{BB(%+Lb{uqm70ca%^-Z<{C;T= z7oZn{bEQKWv73UGsu?sQs@J$Lm5s1%2JaB9^I{&kJ;$g=>4ie#QUz@#8W`FMc{-ICK^SG?6Z#+nY7(R(;|-U(Dxp-T%x$)fSFZ zIQM`J=ep;_4nlDjw{`1I^)4VC!VB;N(aFhsY5|V&Ff#&JFDa}%nZpo87$h#;K_z<$ z%P-!2Ud^oAL=Iv>71mXXQ^oxotIy^BeImxcToUvA+Xc?1gW>E`YXCke-!p(p{+z8a zn$?#)(|{DbF>)9lseX~-amL~{tDetfUwnmaOI zrezPgDUqOf$Frl9|94u2_?!WTLUBJ<2O}NP-6v|IQM{bt5?x}pP&+}iH@{ItG86S& z%~4-O7kKNGd!2i}ZP~z|Ciz1BiL_^cOR;nkBYwN9Rl6+B0s*gQmgB>ulz~V6aorb% z#HbRalDtrME8=3!@ zbBzbHQ#NG6h@M+T-FyFapa|*=p9=#sb4QBXeuz$^>q<#Gc6spzpdom!{(F8BavgtN z+$CA^$)UitY8vLKfZVGr`W{NIPF8ZS;)OPXCqYHQ#ukL@q#VFCmXUvmy3&7}Ql@abadRjk-c-P_+V z>r|qIHQiB^i@2lH_9K;@Jh7d(?Op-V*b4Do_dN7}t1zXtU_JI4kCYqff6uxC9r#wu z^0!o!m0!)j=zNU|@gEX-AP0W^7lVQ)zflmktg6Y1h3^<#AJ!grF9`EJyL+>feXhd1 zKA$ekF0=Zm?9v9m2g_^5RPk;e+QN>K}&}<@ZnZ9V7!zhk*6u|1?pf@e*LJ`llV%*Rz5M)Z&Uh zGA)y_Ul0}D;~gC5+Ypl&A?uozKq8!cRaI5Po+#>w^Q7X>bNUYX<~RNmd!b8K%hj3m zef>x@`DIF_tpUWkk*h&7L|W=JI&>Zc_1SH|jMWTA*ywS`^!@Ga8IGy?^Rt5{B>VhN z9opqkEcm-n&b+B2ftZk9` zZsp;BLm}+W`*S2GqmgeOn3m6DxV|~;Os%E3JXPF zBxSf?-bxtYD~Z#@z0AE>`Cbu^+D_#A8lzR3pw*7RCE;0wKugd)@w$GWT)^de#H91) zBtiwo0}jrDTfK+hG^xoCAMgetO;-%2r1|fWNBm1PgbadGyaafpDi%O4^|`&awT&vY zMjNUQwQ9VguK;%ak?c3T_stqJ@ zzd~>XZA4BFmULNsD!$N%=hily?=-IMOF^NPLQ8cH7Fuq5l@Uz?fTCop1~^W$ISX~B zB;2nkTDUan1sc>HH&&x0T5}ykh}6~gKIp1$@4#SQ zhkAwJRqKQS6y1E&BJk~TAjV#>&q=}kdA>~JvHlg$lcuOCFYJrB9 zHe=BPgw9!1*mSLiOxD*8dIqNWu6G&7YZYTBWu&E@k*&M@(FsayR>bOKo)9aLcx7uF z&AiM@`fj6KcC^6r(EfR-@$0AUsbb36D$AX%nIFo$mmrhv@WuH6Lh-bMIN0)=oXD@j zU)!SpA##llTnvjD{Rw4^Y%uE+=LKTjD8@Oh9UiVV{ zosh7if%K;j0lTz;0ih-63x)`F61M3mm&m{Ak@_c`_sP@BWLGoeF=ahp1Wqs^&9jEI zV~<29&<=OpFel2xy?h@b`=C7Uc2S5+b4NqQX^aVAr6V*+P1{*X!vK5dCX9==3~pm& z+<+`Ma*t|%qfR&^j!&2Dr_<$bc35ZQ*zMDk&*NYjR`MSv&H(F3qN22^+r)6r;I{H= zOL*5|RnX-@ zkKE&QLgTU|5%HTLBtG#6M|8@HfPZIWq*PPY&9b}?0k#5>lh0pr+GeX zW18rB5TVoZx;q2UZ0{>MAglBgk)*;J%C&em5r}^u?-8pM<8i_}@JWB@Y@oy5f=LCg zh)*2L7U-Z0K4?6R&BWjTB2l@c3~SWX>pcKt!dDV`4i!vx?FVD#;#*uFq~8h^uGZyX z<A;>kd8@gxo{TVR(pW6M|1cGP4fXR;7Kd@*OglL#i6Yc99= zo+64-m+D^~B5gV6g+(vmmpm->SJ#x>Z*xPI?L-X78V;{~8qbH}a1x*TFKN7qmGC^O z=RI9!FKPlgq>;S*e2zz*ZN^GRhXRb4zPdlmT3GA;3Fl?|$wIByiO@61+J%Vo zMgIH&Nc=~`;y9H(9K&%pfOcwgd(^#lm#d%$YoWPyGvzqn{_|QdBScSvdw-S~OE&3i zS%f})UNI^&68E#M$<}azB8HZ1r>a&&V%X*JUAE0}?{h=Yrl?h0EzqOT{d?)oa{VnK zd=WTk7*h(F+By5_b}=hm{a8R_i`*W%I$f1cWp|k{6Lcomt*}W!U|Z!(34EWkAO>02 z3xFIJEJ1T#HrW|aV>r%!qmUIhG2T&(9ISGAaBBAbeDTZ2{Mm@1O(4U_KUNhWe-+DZ zpc2<2M7!WHAl#Do9R_V}I;ExsO4J3gdS1hM#jt^{$9Ro695a|%jm zt#>6IVyY<4o0k5elvpPc1;cJEHf9GsD=Tn1X6GM-&Ad=oqaOeLxL|*uPpKG^wN{{U zlRG=FDE)deS}IhzmxHA^q&R&7MPcy2s6=nPC&Kdw%CMkq`TH z^C*i44@9nP{w>_xt);TrB2 z70!Bs|3C(Cd$72ks}}26svZ^Y6wNJc)iq=1+uf+DDm>qNkTk##a_n#85aLv->Hdw!{=wJ>BO+(ivD3SGPkR^V}`Re<7`YD;f1%j`8AxGwU_4W2XCHmC(F%$w^Cq2F%n1FMcmjp$VLc4E>}?VH zRS<{fH+tYfI)XMfj{wlC_oq+lS1f7w$?PDg{IOeIcc8Ud#}i(xKg?@iPA>uWhKQ$Y zi4*?{#)=4MWMp*CFgL8HW<)QhG}EAerW}r5^xPA1 zd;_A~dS*wEpyOkqFa%nGIsKLpJi(V%4EN{N&H4b-7eW2+F$Oy#|23?}PH$>q!Pl>> zd(`xIOS>r|&Vj0O>vVl{bY_5OzvT8nRQ#!tlZ4lX>T#H*efR1gsESG!vX+A2ikg<) zcBOYg;HxARZ6OM^!49Ck_znp_FwO{rVf9ws{?^hDWx_k)tf|1m5m1wYA64)D*9*{` zBqXZV#;#$1qWLE8(9s<~v7~(oOsw?byDxrsdM4kgHP0g=HC!HKbKG85q7S5gB|bwh zP_qPKIv>+Y49gR3)7Z@Rk^<-HhOE@d!>2e2Q-M=^-U6$|TwX6!Cw@9$N%YT_$%f$n!?5kW=dj)hvKr`0IuyG40bb0c?qQX7Yc-uo%OI&yrH5yl@2jU{ZU15NGpS zENxz*N_Dv^?BuBPdlhd}J0&le!`R-PO&J0V!5QYiJ+H*+=3kGjrPKd)TzBVlu1@W* zA4%O0V&}&Hju8xJH@g+(1Ocij8q{Jrg#892!wXYs~VM61Q+Ag zRa9cU^5!#}T7L*`^{+(l@7iWs%f*ey!%eZoWDkebYTIpO2U4Y0wH1-AiyjyZ>d)~o z;a1W_^&>F&5?EtLim;+FOsZa4=CL^^7JSzs_=qYiLxWpM^~+n6xaVvqic9;$q=T}W z)SmFPz5`zIJw>QS$y#NdzleBCY%Zg-z)+FKP%>Sb35N1F1Wu8cM~7p0zi-DSI?FJ> z{T>q23&)Xi=xz0ZaN=<(=PZdTaSZ2XpfIhI*d>)K$2#~ATV7PN8#sG){{a)rwM!vu zR@k4YXCikMxW)H7M)lHlSzLR8crPY`p0*6|oOS!4o=aB&gYO<%fTMTJ-Sg}=*dt(W z@}3{V8pk?(vD=vDy%m+gxH2?e?)&>stp1Bp17`|1+EHi{%t$;WThoi-K}9Sr71W*I zPnP0sfmpT-GQy4p|B3LYCV!u(DnNQU2A5Kgm_E%{Ep}vvLMJ7K-pzwt&1&ps3cQxp z$LqVT$)@QM6IH;!eXj)~UiH^zEdVggVK(|}{RSSf2>g>%;nXta?my?|{lszxa}+ki z#Rg=@q`bVv;SY$3VNV7YfuSQ}q^N#0AVc1{xEZM6#HHUn$4^@RZEGDF@Ma3 z!6m(hG|X2Ts|}qmd(pC*2-}ZSwR5hyFzA{;riJq$Zc?ZPXVk45h{wV^ z#i3hQg`8V*IhT!xznFXYtkMn1j~e!PXk7_H0Aa{Cv&V!?D$A{?l=cNv zpUtI37~ zCq}L8%-zS@6ZHp8VN#SH_VL1~fTaIUMGEj7X{{*jFuX~aEtn9Z5^*v!WjOxqqkb&} zh>Qr2@Ty;^6wYwX_tzG)MEp+pHEWJIxTT5Y+aRoY%#H8kklQK#hhwaasnFsXE(f!{ zMUu~&n-Q%d%vUMJ=U`L)JKq?bJ3>0Uq6WMg2NtOn#6_J|KrLdt4>oH|KaQSf;V>!Q zz+x^fVQ{2ZFk8)>YNh&?I5&2_a@JNt+NRMs0Zdg0f;ET`^a)ra{iiV2*U{=V+_AWt z1jrbQ;dI=%0#U&wyJVf9R@W0=rdw8GtV8tC1x0?AiP!^&QS5?7B(DwSej3+@ZAwBV zB|wPZ!n-s9Zm;SexN_!D?!DA@!uSV700l53OXaowxmIV%3P4qoZ{7%|HMw6&3%)vf z2iH`H#+(20ija5za%|+Fi)k$4HS$#M6#!TcdA^i1d7!*J$T6s3o5W+_8d*=>lFQ4M zcJoj$Fzxwsow+!S&|$5Y%O15xOyVU@Elj@nY{~PuPTSH0Ocx?1{+pxS%l;)z>}CD> zg`@y3Q)8ZHz$lSQ>RxLNL8aU^RTUc{k#9U?6ue({X4a`1Ep=CQ?1nfkKPJ-YhFXBK zdUzMEhF>8MVCARMVdmAo?EL6Yk; zKAzWS{{Ds}RDF0JpMo-KTQ$70KEve6ZJp?9=?gsf%hHgqbUMnnaRHSWFMZyNoLk5H zH3bo^<_x+V*1Yn^B-qeLZ2gX|kQMSpHblPO%#8XH;=^yna>|0eRg3>{+3jNH_7oF^ z1E9ExX8HmBav3Be6q>v)qq9rQJ84Xdb~_}eo#V`=cQDC>ks$mP<(us*>|mfg#Yga8y$N`umARtKV=Bc>WHr&}2~-GKS=qzCucCxcnlfWos+1#DM@G4w*QpPE)f znRb^y$vopQ@V`^ff_aohoUl2*4y0o)m*iP8byQKyA(LB$c5-QVF%{6JEGtj^Hq5G6 zN*!iG4M?z3E!_Cz1 zAVZ?IzaS$H0Z8KF2@?6hh6g|XjaQd%_}q1;@@$~Dyb{#yl`O8q4^SQ3L!|IDiS zPnkI8RuID?-@Dmwtj-AMJ^-SB7hpe@$t3575Ii?nX$v@S=-+6oaeD(qP+ucuYa0C; zGcmfTl~xZNS+U-_Gsh)gUj$4NcDYgh6Hp%{W6A2OWxq%bV;j(9)T{Pw0{ zNT25_%woI%(9aM z5o(_vEb92*l4JQC&xX}CiC$0US^o~~mdmZvSsEjP&H5T0=^})P#+rGl2I~BXthTlc z=h5}-!`@d_QQ=qlpT>~D@jsiwTql@V1Kl=|W%d-L5J&Tm=*1$0>Z=`3Gg&wtchzp* zcx$%;ozn+Y?IJF};&t!6c#pT5;Z@Y7U3R+&Xo&MwSUWx_2&HOWfR6h$z*cGO7UW4E z0q}rbg|0^enH%NLc7~&? zU|p+p^qAt1MDJmL$b41EDO^qtTd+n9gfNH4G;x-Vo^JM!i_Q5;q0PNgz?O$-3WPh} zA+Iv*+pzh|bq$kG(K#hW2%Bx0j0G~zLU8j46PYa*)}4wvdFgg$^uN8yvLWAs2;A0N z4rGLm@9qiUz}!=vRh3v9cc;$*=`(TPiky ziKA17t#KVZe_AdZv8I52EcBk8q^;&CM%kYtv43uTB$F_(f1|tc0#l)iMW=xzhF;DN ze1_Rp8npl$N0k@196J}PI6NC58XN0K&{I`mlz#b*jFNl8`g7}9$9bC)M)VWJY|7LC zCoAi4-R5K;K#L)ML|qrW`L{u-DF4fyR>eoCtm<>t^_}mtvE_k;-onNSH4{@9r5?ef z`-xJxVWxWlFW1IXu5z}`7h&F^TTj5o)KaofRpy_p=W?!3HZ};)8}f=gLC}N$nmZd@ zo6k-*hZM+44N-ll5$8oKa?diV@z86uy^Ffr=L3y8{g&UNJ3MLmil4}8^J$2D-NdED zHh?&hu-LB1cNIp-M8}+h8PEL`yD+<$wk2YAxPDfoSW`SuK|D}Z2ICjTufhBh56eo2 zaZ=UFTqb7ooVDoT1@9r+-R3^8TM>e0mP*_gy`sO`{1$IE^p~*J(K=)$Fqw>&KHA;X zu_}^s0S@T$jDYhAHjo!)4&p*7s*+$9T2W)Yo+<%f&Q>}y2 zEE;Z)m2XeiRN-C%h4x3?=X3-q$O(^@?bQR_)O!W%oC9>K3ZwDOSDRrt9A{Nx_VWV) ziV0>*|CDXFTvnC#F4ujlY&{F~bTfZd!Aw_CWMzdO|BSal6-Br%AIrdE^CuXefqs;d zJpbR33f|tAzpgvW{bZ-bR*+nLRyhM!*Wr*&6<2Svn9*x+p-fh{J(ix2ks5)$duw!P z!UI6X%AAvXOyO2o%^{8!OiP5?d{%zTM^7q&8LR@f+zL9Wn5FpQkPtOV9cCjL_w|#C#{@YTW$D z{DK*(zkpqU$e5oTk6NG$s&OX{5<(s20^7A73iat`LwW=y0`t$g@VDbpjWPrbIAmy= zC|bf8$c0FDpW#RZ4mVl7O(n!Q7dttmE^TJbyks;BQalgA0vZ7o3vAfUG}y7>_REwx zki+nx+Uf19@1l!>{jbIg-vjv)d?4B%FWA`Fy1|G_W1ZxF7eK&-8}4B;&f9;)PIvbu zO*3lG6oPZE_{Uv-ipiCKYfBk!QC_Of-Ty$g%PnLp_2lDT1v1YdZ(L?Yev$)1CWk$P z-AcQX<#2up5`eO_0>JVfNyL9Qok{!uWIM|bz;^<6BUqf$%gD$a-B(=fT_wIvsDOpV zDH(nND<<+8!wiPG9%|I%wF32Rbi;Dw3+}3m#yBE?CI9B__j38 zPk7>n1p2nX5LgL%wN5pH9Stwzv+v88K2sH$D*Q#7bdCEr6<3KI(fAq)=p*@&5&?@` zaren|8y$&%b`Cm3z4e}G=fg4;-ZK)BwpcmL{A`p~uFZ!X zqo6SY$m&Bc6~V(Vi2)-)W~=JH%bQEroQqPzHY6==q>4#|;7m&vkLE->UIaAd#Gc-X z!|N7<(|ywR$6XZw^3^pG|GzV9`}@pv-H(t#3UH3z(yq<#g8Err;IPmU3MUNh@ckMf zg0x_3-jg=oU+-K39!89m<7Q5)joXPnDKz)RW><8ch9d(_5-^N zyKo%VVu_BIxWV5YGtWof?L; zH?ArVZ1sxqwLloytiP|Xj~$qZfd4ri)P7qd89_o{^%F@%?)AA))2|W*>nc(Y@!A}w zmQ0tBK0MAJqRLY2Ir$y~435aRn)3Z!l_ndaD9o>5;}fcdS{?yf-jgbDR-(^Bq+wC# zG1$Af{1qP^9GGn9e1&G@7>8L`J$9v7azd|RnOQV$FiAKn@s{!+l$HD&$p82HjC^)o zD1D`ku99fuhMaPs8~ot{dyVqp67|nu@{Zbnu?tg^*1wMsG<+XpcrL*5M8l3?ftZ7- zxNlTXpYUBPtqC6Y(0bLKs6nAds;b2!^%uRoC%Y$9g=HvTeKp@~>C`XX;RuHINjRJV zGMIo^&A>YkZXhMwD7Q8Lc}a}TrxT>kSp6re>P0mEbrHI!3=75Z(~u{!&p?a>-?0EFq6d%Z0IR99ii#w*X%#IFg#pt?NwS#KBsg)-$upN zI9Hip21BX5m44HJql*aXs=*YY`gaOAGZRRDuOAJITPeB`^=uZ%O!Ro6pXdu&pP}Vu zmvC+ zcEKB|jB6`-E%JTIf#18i>hb5oypB9~HP1{jl#|Y#yri4O$fq)&nEbFs@w{9??PmYC zLXi+a{44E|q+a$B{r+a@!D`|Uh0Cr|!}%&Fn(C*PUnVI|%-LNxfcdxgWYLQr)`bS` ztnT_=9|(8&T0>JcLIYXbONSSANccv&tPq5zdw&16Kec3iY=W8|?r$naW-EwD9P?3w zrR(vpb)m2Ign_G1g)Ye zE}w4u98@ej!KQPeqhommQ^3BxcoWP0!VS5+JYEou>Nf9#)2?LoeYfv;i=O^;Hs0oG18&Yop0lXnzu#qmC5X4 zmjTBYh(MKOgeX+~5o;2{JR=wHqG4ikIU5&^ALHM6d=N(QWPv0*&Ee9k$ zu@$=@d4vG~zvleNe?bycslUwmmYmk06-4l9QL)}Hv$)RC9J=GU%A6wa&oRrAO*qcx z`wRjSV1M2Fg=GDspA`%zP_dqU`;jWVX6Sypf_Z}yS4b`AaJ&F26U&~S;K;{q95*3^ z%FSRe%W5ZaN@s@Zp9~8V95JXSrHU%GUB9fdC=YT$T1hciql0uy!=FFIP>4wMYt`c3 z7fRtmIvExddZ+;%TuJ*G)y@eR4GvMq+m$dzC;NQ**esv^}-Al2${tmNH5bUK^ zvuur_K9qeBt2i&{1fqz4U!U~7I!J{wHIr#$+#S|d zFQgtQ2b}48UUiN%alVH?0Q-Sv+;p_Gg7Ml>XEJkGpsTgL%4xg=BAy}`Lyd>U>r^2B zChq9y7?zv~RuJj|%A%QN5XG;x(foN)iMDC=y!>|gxV8=aqn0{)J+(N<)}(}G=CSjo z)?{E8o;6Mv^C|2{NL8UAyMF7i>~D1~U~(wSkDT+`p2Xj=Ht>zZ4=&z*ZXTamMR)N! zX8T6f1k-d|-`Q=U!&dDm*n-BMRiE@(+XVlU&-11+n{R$skiWjJP-US=nRw-sLyB`? zQHPwWKr_bn6@DgJdV+sI|QftAq5pSECPm0jtd_$5H z6T7gvGzq8OQfY^qmnM2S#s^+DgBOeZWot!&QGeV@oTgQ)rOBV=Q-YWJ%1LKI715rw zy;*81a#Y%3L46MTszTLm2sFB4>(cedE^?;Y1JnAS3B^<&&=Q;rv9e@xXO=W_Q{d7U zHIGugCRoR>&6CXMs0Xln`oDWK;0}i-^F;Cb?YwN9bzLw7In<*iAJKpS6+Q%OpweFT zQQCshSo^FxMX~6=@6~$2zia_>eE{siZZb%oaxlQ_a3F^HU}179QbmiBI!@Yn!6=~< zXfejb<@fd}_maRar>n!XAs}q2E=9{V;YTO3a1LoSf9+9`xpZ#fTR^@mcKIlTXfrUGoWg3!TIVBjl00jTE%nJ|KetQ zTYvY9s~M5P(*7Me)Tjq>VNIwNul2J~JtHF)>^yisHydCI=VAdZd_bJzn&^iP&r}S5 zzQC+uCVo}zf7-$BWIK#)m(MXKmU0GVFCx$*&Us#=qmU+~vn^<}1jCr7EiL9cAn2#z zV4_f)T5I+wO~ckV1%9Ve@vYw9<_jKgNwc%Q*7NHswU_xFP(*rrZ0~(Rj)Ur7zQvTh zqBPu!$|ny4gG0ozSCBo;9WW7Yv+ah&lW*LkQuyinr*GdE@{{y4NbOWDfE?%)y(V~z z8G*$vQzLGwXCT&~HyEF)HyT@*W`gFQ$6^xfCgVBu&*(mWG*>wO5nO#=S`a*ELDMJi zI1JN5Wkn$+Qf=ggXy?kPAG=;c)3IX~c?Gn5jsvR7^l@|0*@<(^mORgQp75KffxgCUGQE8d2mfX2JuLOz-3S7Mt1QX>5tA8I?2?3h_l|eb30qyz? zz?dR9l4QF|ab>gp3_%GL_7V)n)Z~>>+aosSLt>{QMFgxu1w!Z6sg2t{iKbxNiols1 zGAt_?Ed8Nd!d93CyLbLSEEMh#qMx%Ba_4$t$3Cxhx*}vyNY{cnoyXTJ|H7 z;3jytAe|kl0<0U5S63w&(KMgV0~Mich)=8MCA4_s;`K+^lb{c8CWY$MO_3- zus~;=q3uJw;vKjvNYGr2VbDrR4c6mU?o6;~6-{u`&8G9+{6ZPsyD%eMT8sSw+0&3V z)gFIp9e3_DEvyrd%$Y~6Tu3dVD#g?+KoL+lvpIegP{1iKIBqRQ&s0@EkFPT%|4dDl zhf?|7$0}FiAjql$Ml{o7_#9XgchyWR%n}2A5K-x+u69q@j#_W55opSN*pK4gGpVlq zNh%fxkN&O$bAKC<0ut{?9N%CNvvvTLCB&9^bH!Un7>S8_bLc4UhZponYhgDHVJ(Dl zyA3f!;Hm89VsleO&)oOd421W~^S1LoYRdEo1jI4@6q*w9kT4#3^;z7uhUB_65 zj{IWHiI)`KJWy|KQS0K@##Bv(t`YCXPu2rJR-Rq^?wnQR>UkE7N~Erpv7h@20{t4U z++@h{Q`mnEsnlO0LM1PuT9SyDu)-<*QzMsQ?kU8vGW@Go(U_IFC0Z^$-mL#b?EeUo z!M2RN?{@5nPCnU{-W{L=-43Jcfvhq^S(lO&MIZ+27Flu8{#$tN2oT1#x&I{i(3anO zrhLc+wxM+nM&v!!t?oO;Qmre!Nars|o1Yb*wc35M6H-$BB<(o{eYOfyal+K-Qhr+A zQvOOBg{MEGwoNU3zvc1`-E05Hx>$+qaQuDNbzb4rm+)CdSG${B%dYI0x!7j-?MYt;7G?s9HUxx&vuPkNl}thTyLgdOiWEa%1-gtJaBVYkl+ zsh?IR1-?dPt7>1*1xxjU^YZeHMHrw)ci#;o-ZgnGw|4KnoH5AHD?l9m(h@&{V%Uu- zR|Uc^CeC2<61m4iYU7D_d`8~I<-w1HJvTSG`d>~|KDg2hqb~M}R0yM)v`EZU*NPpR zh!WqjykBAEc)y3zP)QRE!$sq}in%s=9K^lY^cYMiD;IDRXGgD%zjz4T7#vIia;f8> ztT4~giNHf@)aw0I(>d2JS8LZ*kV@;|ZBQ?aaayZ}z^I1o@@uV)XB**EX2~L=6iqd} z4)T@*b5vB3*r<%ZgRTlO8neI$Dqgdl-*^*}wi-xu1t!|H+MaR5dhbvc3$BiD10z`M zDH;aJH7Ipd*?q*S17sqKT2}yeN1sw8*k?N=;WdPTK&Cjl>)NxJ%hhw1@8zmw*r~JrwsP;3J5R9= z)(M6kAb4hN*kT`jAHbIG z+41ucSls$3cQNG_=0>ml#GvV`s6a8SD{1&>j!KMIrp%Vv3A0BKt z9!0`GX_jMAa?~11zNniZF4%Xcd>+b%6!Uw58`=M}N>kBS3EeWS*BUrg>LHm3!#|cf z$Xp`aBlO<_nlOnff@cU4Wz>**t!Z(DHiMaV-2z_ni`QPb3c+yta1&6k_L@>;a=RX{ zSobQ>70&}nJl&ETRrld~>Q3YS{9=>CdQlgygUPjx%!66ldvNuzJ+kdJ>fTOqJfgyr z0I{6g2V&3bu~dWB{D&3=`Fzw>@++|!VX`a&_yx4tFO=k_dq}vS#D&A0k#tEkBa8R>5wiCLF{Lc0z9dUc8hjK-fO25* zJAJ$ePp_>d9Wk}{PD#Iy&OHR!pv;G>^dR!!I~-ne+{Pq^)4uQ+=e4EcZ@=HpE+;GzqDgHL~dB~N+%gxh`rPlKt^H+M%TnORMQO*{Kqo9b*{_f5$chQ9q2 zcZ%sZ1K(R9r9yL=>HJ0Mr5YD^s?EYGb(AhEapS!|5{Sq@*~HF9yk;rrKlxZx&0*Ch z#QQMM7J$=NTrhMV0X{g^I)tGsi9Pa6W^A*GV{Cq?Ito=HZu!2r?iZG zuX4+?SfYA0dlHBO$0bT{w)n|8D$&cctCxQzh}+Jxw%c5TUw?|)p)@xgaZe3gH*_&5 z9H;fu9sGPiBZ~v_u}$W=S+-h^Go5;Z*lq-46A(^zUrJpkPT4VKi`m&(o4yy>{?b;g zkJ~}O7JF2>O1U2`HiHRxX$th8aQcdSUO(A!Rl2SE#G}Cb{nP%tjRJ-^x8}}s|3TTs zu5-h$Bx8x9s?VkJX4|BgPShIsgG`a=3|vEg72%H{9`j@DmNSzIF(k+TN^=wA^W9^T zlg62({jlD+wzoGvtVXER22M82myvBQvbmAr-S_H7N!7ggcV~VYYEJE?wRc2W@;ZJq z<&i8`pFsCnvsX1IHunj;>1x3Gy0YPLmC5-sT?$SGag+HWn|)dZ)p)-_B;sl`+7kjY z7H33w2dMmD*$v+Lj~<)Wl?euW^%XZ&WS9C=PU>#I%iKRO0~4)~^{S*IRz+EHCxfvB z{8>wk5?3t`?eo`NxRwZN5?N^&YGp)Sx0Zfo^{FMS8xCwr3vy86Ha8Ru6DO;-x;?ro z8M6fhXC_3MKC^!WuRLfY>;1!JG>0xUraj{SY4T9UVg(CK9_@?itN*>5zKd8^LK5Zb}4-ZLWxN5y8mdSw4#NneQzvzR|Qt{Xaix5c-!(P7!q6 zM96|oiw~bnLcUF@ZwvR&wKKAy8hx(0t7;RL`%q(cEXvxhqzieit)beD%WwR2$9Thm z@C@o;5tVu})N6eq`6kWb@{adn_YOC*TSmAZ3{Zw2Z%*S6GZw{-CBQj&RjG9mlcb-( zXCqV^f@+xi_Mo4w9r0!Xb8g^lu=wXmD-X;qFs$euH=ge8z2R_A0Aj9V*r@}18vtMFrdjdK(6ON!AQpd}CEn{OrQNTo7H;63Bo zZZEq&iSHv`>vrwFolx32DwB}u|#}Z9X&*O^QQC{YhUOT z&;04(a2d~AKMWhzC^j{cC8F+cO6VV5U&R*OufWKKbv}qPb}`ki$-m^s`ISu@)iAh_ zi{;G0myA3%rLI0Iz*JQ@-L*=EUn@_ME*q<|H()xP5J>HS=d{%Jf)aO`l+Ch)$Gels zdbX;WO-|#19}&f+t*!%5magkbIFH4(>{oi}QXk20Jd4hTrbz>>k9#Voj)6UMB}7C7 ziAwwRv-?+X1?tEMvUhWA%f z9sH9j@U^BPevVsph(}+5xM6_gQ*0JCk9l%_hrOm%K0lgYEUK)_()hed#sID*-m>i< z>8<@>Qr-;Xc@6`ZaK`)j1g2unm1?jLb8qm)Z}?>KkIBCrDlueo>Lh*qcsN}6TDgBc zWn-jtMz&2ZwX*9P|5_q?z?g?& z3m^MEuZ$#Du6q4Jqx+OMgh}yP<1T73%4+s-W zA0DHnHD^IfZ9Gk`f=%w@)YFC+>eT5rU?q{X8rx>jQn+s>sVwd3$g+4{MqLc%pw{MC z#X^Rjq>`3W({Bl?f%$imlU#v9*_qMGenKR5H<%6Ao+ycf;~4O-g&0y$GmmW&>yqjQ z{dN%gU;99OmP&5EHXh!j@XHTu2YT%B8)$Wx1fo63f=EYQU|0D@=D}jRlXyPDnmL2% z@T1=st--JzmCZe?Mc1N&Y^T!&(km-7*MmP&vQhSw@jUv0*B47R&@Qd~n~xcqn@3oF+;+cd zx3F6`P8+mw8aB3*#%OHYPGj3?*x0sh+eTyCZ*1p09cO&w?7hG9uOmO3mG#_f-g92l z$hIB)tetwn++fgh=V9W{T+_?d=p~S-3m8TI*I`ih|Lx5(7&aSYV)wmfx|=*Ui@UXdhyG8C(VAs*OGJKj%7jfmnN->{K^TP>7t_! z0wKy9UgLLp;_$q*g@M2&I2A?{F!mKhSWt(kHmQBBZi@{c;UtDd9g9%)^)Biad!S(0 zR(NF1!%ri`5H^7>ky{Y_r^Aj|EYz9T?{R0f)1goe&a^nz?jq`m6o=!ESS=iw^A*!m z>KNTqPem!OSvh%lamS;}tFYTof~;^6eqxlW^&>M1E&M2xN)~!}JKn+6afVQngQA$(+)mkJ*P8yAG_K znoXQn#tTurCp-m^c1@G~&7O5?K0@uD=qxt-3*F$upbHRu1lslVV!V$PTTjb!q)nl+ zECuL;xxTJg0j&+elk>zYwBk47@_Pm8kUMtYYsAWdSv}H7l27U@1hTzt0X9Z7f2EwfG41dVt*#hXe~b0u5k-dJbP2ta4Ulv9hiuf z$DIBWKm&Qz5MuJ4{$sr=8&q~9uiIbesN5lA&HXv}kdkywO!Izv?yGo!8?WcubC~<< z^idzvKmmg}KY|mMLcnX`9Ql$aWS^@{n953syj;6#qoSQ9s$}+bj;r7|JQK9%2VEh& zQn?S)_0C&kOm}ijypWHNlin4^ii@i_z}yXZxe9bZO7HgVW4$mdNpNluuo8$V6q`Mv zw1OHdHcC~kt=NBa#_!k&cEGp$qTJdOuJAOr2dtGi>b$O}al6a?F&%{UC6bXiMqd8F z?8B&p^}g)_zWc?m6^@GmLI@U9;IAUH_#pFnP&s6;rjR{dntlrr-IlXxLiYwt8QrQA z#V54}&(aQg@z=w4OG)X2Htd$OOE-8eeUTkJKSWuWk0pnGizQQG`IV>tuX;1-;}+DD zfQywQ-rdnjnSenRRrSiM@;1BL@6(PP9o`l+Zx@>oF2G>IZ}d;G16JSs$A6wd{i;>E z-98-6L?9G^=7AMjdBO~tiybp^A9Hm&6v$?LKILZ~ff=cm%lkZgSyB}El!rJ|qjgmO zGv`Woq$ahkqVGm`x&&j9`sJINhz%8rdOr17(q*^t@ffgD|S#ED{*#I&!KMB>}u;*4%Zba95uj2`04Z0^3 zoa?CaFQhzK8ikuZypkQPyW}aK=FS!kl5%WeQ_2@Hop}a55d`DH#Y6w?N$@4~R0!)f zvz>hnsa3lm-$d=It{pyNtd9MWt<@v@j0;P5CRoV%_`;HBkn3eTS>S=BZ=gEvPSD_7 z#f%d8IqmpXIthCp;Y5f5*MfDbp}^WjX>^Hht|}=#DvW2 zZYDFQvhs5Pzg{ig6tGR)rF%b;@$L?#;g9d4wd{9D_>vJ_68`6r!KmJom@#HIN8pD*wq7Br%& zWdAY2aMfMomT!`>`aOisIMjxA{+t*14>Co|zsvd4@)v};**M3Gg`@q6?RHvl(C zC8%K|hMAbC#53^Jq>Yj(9IZAzoj0fHq|!jBlvP!`iNw!lAc{tHb8b8dXjLkbg~z7`eZf~}lTu|5H)L|F})oZ1}&Ksl&z|6VY1uyBza+O`=(?&7h?5` zPNG=tu5g5#sHB8AO18M^Y7jE*wRqlc?zjow7o>mt0p&HMSb9kgj`)5Q<*obro`Rj;4A-+9Ue%T!g`qD~T~ex5sU>Un|=E zI0+KjtxrsI9--|;ITLw+rM#{UhAMGZj&!hAzBwHVIsEJAM3eaCQU8=bU3Iu(+}58U zTg-Khn9iYcE1$i8qIy=0;tw(mhDq<2Ec7KqRSp z-_EJ%;8Jodnp#^AR(ijhGtb+!wa)7t1xDq5I=_k)KP%$h4c#$jET#%uwg5$9*V^i}x1z%dtvlNgdk1 z&Z5WuPk`0&cz;;;FEKbZ6)4Tz_I^9?jv6;^d}=P261*sX71pybK-N+d_-LdlRv2+{ znvXe3eDb7-nv0F{@En9Yl$se%!3b|yy8CdFI=co+_TYs{{i=JnF_$qfD~-IJd}|DEvqaDOt6a95 zR&xr(dusrntrM20vYKiw;?JUadN)-ZSAn>Kti=4B=h3!B=?$>G{91JS1@&9rdt=56 zUbvzCGoVV=g2-?t!Qxyp;>r!6){gf*>## zY%DCNp0>_5RXYcw7<5F;?CxXLK&A7sL3ltV)b%&rYH@vhApgc0WwJBH zj8LrjDU#=@i1PhUPCwhBj~0W&gCT4yodu*fmVba~+1K%K3a$tDLNE4BV?ckwWVhQr z*iV%xoLK}i02kAK`As+TtQX57P}JJ`y2FgXH%6xmbdE-Uo)7PJYe-k&+60$4dD_!U zcQCbr+n={@cEVnO7$j-hb<=oKV`2fF8mbVbG!~0vP_WRkWQxcC__=fiDfo z<}@h=Ns^X;(txi8QuF{6vk05Jx z)#k9?F+qkBk_e=6Ig&KDnwB_`WU>L`8@Kx7*O4s^*goB$$ogKar5s2?Q@oTPOW|F$9mf%N41!r>xsWC-0 zZdGru3m2vH9fgWM%_)bx7qyr49YO0f{ zW^df^&IJ&U)_c5)H(LWhc=3WSuKb@KfDP*aZR?32VlG}}=c=y;zJ}k%d#=pzkqiyF z?iOK0T|!scpZY~>eq1Mfh0u_4v0E*y1_XBFQKw7|yMgHWk|eC3w-=o))hl_J4W<#~ zrfVS038p{sJ!>uwTU@)Z9mMbj)3dH+H(!T$e1;e?xvvKLR^0@LYk?^#iJeH!pBDoB zI>3JG);`@=#kTRBiKS_9g&>suu62!Kb`0+7{F}HF2Ab8UJz=-U@Z6JiB~y*1H&MtW zMy}sF-1X4VF^d4;mRDr~`=8f6!^7rH`oGj24L_iS$MW{N#5Qoo887fONGY2WlxN+V zUF3CDGJ#p5&oTCSgzSI305J?w&DuTa^fbQdD`xTJjU*w*IL{H4gR=ytyB1q;E?(2M ziBp>J=6572TX5!tsH-QPCR?{4ceo_LC5+BpK{M>QpcTZQopncVb@DR}V46^RuQ#wN zQO1)=4DLj7|Gr;;mn{z++-W)ts}(T%_4mEibhBN#B{72o*3M~7P{1@x>`-_AHR*oB zZS`dpxvixPrWY_O`@YVm2kDJWF~7C9VK^lldf%BM)kSPowZN!1xP6e&9TU~&gXBA4R60SJpcsL~vfy=sNc@$?~j6Xb&XF!5GvMHRR`PLKO($75!Dc-35PcLf_v; ztk>?RN!y6Gjw~ecE22X?umu_pzk+=87aBV;avOOm%<;`SWdBXfz0va>iCq1JCEe#Z zxPm4a?`yopi474~&Ngg?pS%+_T;5P{;v);pzAnr+<+*$k~c&VN%~{B5q@E)EeS{ELcy zz3+THJ-cG*>9AneQ5m%u%7|cVdmS5r(>Ey=j&Z>q}L76%Wb81 zf7mdJO*h`k=E<7yW=^~CW{+pkro;?3LvHyesiUHp>DJnUC)zEs&9fP4?Q6B(o{C)a zFCsW9yo(UMsKFvlRB>=3j0ZwUTCg&U=o4iKcBIIm*;C`<#yGZXPJ$Z#$m0R;W$_=6 z;CoK9?TjH)L$-Ap*fN(!`0vluz#C|E4+5}OvX*sQE$s`$ed#}}4|UJ1a~zPksExEN za42uR;Zv&oP#3xMiUFbgvf~)#Ydr`31!kTkCH5D+2?!QPphV{l{h@j#9z)lewc| z@Oy+N8Bx}#pfXaNE-MGOX50&`Vj&Nxo*8h~ey^L;-2{}nUI1aV*?6uZXOc_b{^E&rLoG#6%Mn4A$zZ!S4#jotpFg3^tOZ=>NYDlB=Wqo!UJ~QK zDULgcCm=vBy5E9S0x>%8{79x$bM>x@Fk3j;b3S78GhOWGP}e}grD!wvt2JwCYwLJd z>bh#Dz@GO)2tiO>t{0FvUfa~aX8SuT_?UiY#tk0)uGk{lPrU!br^?sRj<&;PS8;ZB zHjepWJf8cZi6~T1@Ooj`_j9|e#CR0a7W@u&EL)XSZ%OAyXlw-A2Y^R*O*YZ>ZKhi! z94kLTYNii>($JbiF93OPxmhbAXdq9I>a^jh;{6KzSGNw=^1~a(3=>aN;L^+?F)JO3 z4yGNLuh;yEZH!{EaIB=B;MwHLZBCV*h`*8Zvo^%+wI7>tyeEOPEqL8ALoxm-B#yWh!=R4?29PEkI`5a09q>(}6RiNJvV#QKWv(}meh zazYGEyUy%KI<>WNms>&i0r7fM^e?y)f{VJzy1Fa|;w~(=n1J`9R&DauBtTLnk+9hC z<$;0iwoU=;PwDQwlt9KPF`lOd9y+zl46n{XrhDLZ`r;NY*X^tV+j-f{W&UYOm6Vod zU<6gQ-P<(Y>dTA#%U-%;k@z8-l^d0G20Q8sVzE49d0T^F&c$eGuW2JjI?9h;dgxjW z|Bg{#ec-ZP+vSEFTRowXW^YP<44H z9tgQrG7U*3UzGXYLdc8a>KKJ3AtRN*fcmwzJ=pT)b_;($`1{ zQ)Ktr5?34FJKA{m=de`~&r+eDmH5;@;|W}FuS%buh7x$Rt#hy%aW}0WJ%dB_LLZQS z0>x{Z5TGpjiXsQ+eZ67JB1_v71vh*Cy@J5JTYbQ^=sD<})6vk7XM5%K_*7#xcc7Xa zPDe-L+L`ECK3PSdO%d{rh1R`s-T^IwXZKATpv-uEW{wx%0$93N8^faN>(Lbv&0g7oUhc#MjFAT^-|k*+f=VwhuuJ2kI?f;5(m3qN8?aN9DZ1BO z4_YIH*w$75gvPHu#&8UV@3CDg;tsK0?eGa}RkHie8wVB$^F^wu&KPCofB&s;XWjRM zsU!Gr%5ki_}Dj-gwc#|n!3ZeUsAC1;-{&pZNuqV z_oTNihEJa{CLiJHt~8GAZuFx0q}to^`|HL#Li|gct_tR%LWGTx<9YXi=3UQeOa?Qp zt{Ql2criaMMmOC7JCnjtH%8A)ZM&fZ>2I+kD~=X%>`4e?=OqhR8{+Gq<$Prmf%H)R zr%qgQjBaD5K^qI{E!pzZYs5|@bt_+7vCmwX7AM5(vr7gHb&;Ugi;CyQaQg@;*Q`g1 z>pG@e?AUZ~7ugItDHlCUfw;@P|L=e9xxe(8Kz#)Lb8hHE*8>6u8hd?aX%^3pf-e|-%I(?vulMQfARNKQyJ=k|+&HP&`lsLf?)<-l!UF}D;5;ImZzmUz&j9fg?v#tAfv0SlkX@Ugq5%$L7brXUjYR8FoKzfTo&`~`v`o%tI$)5)@x4qs;{v)tAr#ah}*;(QnOpa7f`n zXFEUQPOLw&*klu+b?c#+UtEN5^a9`|JW8tKii!cChGwU;6Ic>fd94L)syhN>aKEww zO5Q~~RmYJv1Z>k`Ao!oFrH8Wz#~v;CkVYNBH$7whL5L z7rU*XKXJde`@Ra;tllWkk`kJ2{z8S~-i@hXAgQlBWf5Pd_vDP&=_rDzh~vVHDioKo z&x@4|Sx+IIimi`gqA|Sst_~tfdJS;HX;nd(rVexrjjeLueptCi2aw!;6`X!eTq5Go zdqN>x@rni0Yx687RQoq~~e%hfISaqTo z;?f#yNnk%u9K*NN6r|L5Ih-%O67a?_NupBgW?mvZ91b`CB}n#91A>FFr)RsmcD)(G zS@Qv_UDHR*4IBmhn=PQmCsN=udzX$qV2{a`CHEIcbjqvh$W|z53DmXHF+3Y}{SGKG zteApcq?t!38Zke`NNo=?Yln8B^yT6QD~Rn@_9tY3$xw<-<>MKauJH#Z(2W)u_S%td zLid+)C_)xHSzn^mUWuQLMs6*s>t_ije%(%cZb*l@HJK}cP#WuldnWRV&iMFamXT2? zmV%h7L_wPq)F?fznKp79StP_2p)q~;F^t`6>V6QedAjG!9|lhodSW8i`vFu3+7saQya@R6_%| ztPhb*M)(u;dpm`QbTjFQ=5RPwbwlGKUmocp*Zv#Q)*+25B|G~_^Rl%TVb1a}E05|L zT_YIX)N9(0L) zYjBhP8D)XV=dlBXm_Pw4(1G%$9e-?)AQt;_J4br;<^-8qJF_2vhdQN!J9RsjDj?!TD5#WtwfSWnA<*Z3E&v=RmTpjiBtX5a8hkf1;VFr28 zRuhX1cgp9ocU!fQID+3Dd?_ta6dpB9{^LyIEJRI9?Pft{E_r?8=sGe5?Pv4fS;f*p z(Q{uyMy{>&AJrlLki(5;{b*()j}nLz-$5gumVM%&L#M!)kRV4nqv{kCd(Nw(o%}lE zE4YeuzDGlg4CCK_(F!BAdanysihgwX$`(+6PKtCSn%i9@Y}tY3VTsj#u0rr`i^k(6 zGnn4_-FD-(0NLRd%tIn7#x@6!?b5|}K=o+si`|{y{rrs{zXI}{tyVg1@0s^h5Fp6# zr;loh%;}#>d@knElGf0`{@bqTeTwT0+;7Hcm>cjEpaRK8>CI_t?aj)+kO|&-~qXHA!N10>8nz}JrDZB%&4m(S(AOF?0h3pb7)LZ&a*be zCvJG5#_fWLBcb_X-((wJd3x=-Qvb&ae3LXsp@xfMv}}^2Z-d zS8a6V3xYnxDhHx2zYGmWTD0}h1FsYoC#ezkKz@_osH_d9i^vgEqr2Mg*Rhx5{;3Xs z}if!daKf9@p{-5X?i*mYTA3ue;6+%1UwH< zmXd9bzj87TbG2N)v-5!@%M`&ZC0JfA)?0fH28c0#VIvHe4UtnmXb3!qcg878A7U6X z3v`A0aTo48HMW<0jigLsEgbWLkj=Ii!lJ1@GA>o_P?U&B#Ky`pTVz(FvTo~!jk6gG6RA%#I8aCW-3rAw(HJ>um_R(W#AZ~k_0oHugG;khr`5cz2H_qaGF4le zV-cAd6or_JqkexzT1e(B`f)dhD>AEl%Zt|ySoV-8fhxfR0`$=0J;17j0ThLZu#5P` z0$4sn2`f3TK_9|TxawZuC6RT&`zhm4OW>(KX zU$tV(V|UkWnQ~n;;_#?i5uiEGOwBb1(3QK}H8WL+krvzUx+k%s=Rf$Mn#CXpnnMxR zgEw?*{#o;MrKwIgX(X%V%tWhXswa+}+Y4qbC2ygkSaYH^CT(QFWk_EzpWqfop|sS} zUKU?nXsf%uFr~T@%j9%PH1GJUvtPMH3Gj<}xZaxf){ZSsh$ zJu@Rkv?=`I3Dsuu{j$J{%NV9y_*YA%!!h(($Xt;#?&Efm`9RL-z33JWUbD!}b8*&oaRxLbyD{mun zjI}LSzM-@4>O0o&tjCbhd_aO68rXn8wCZs^-Z8{(G$M$@`V7f;b65DoOC0&ZZOM2!qLNKgu5OcPoX_CobjW#I0}^! zN@95F6=^P=`Snqv=ja$C?dy-6gzl3SHZWU0J-9vt_!QbM7Hn6ABGm1yO`3q64!`i9 z{yT@U1_+hz1p2#NuF8O2bLWZXk4cG(+;Na>v*IR`*kDYk37z7%qB% zO2hs@7rXZBMI1h-U!2x*y!5o-kaXI`uACGVsvP88L8df$d+wup`LudR`#Ka}|G zXWo*ZnmYys$E&zh4e*U67XX3XPBzTP6#is%jQT@}IviOVIeklu!xuS``K}Efn={aD zF}d(O34IA|M1i8}I{lSs$=vRla)66N~*@9r1Wx*?b4R zsLYwvaAbSaGg3aQwQqgUQG#xwtfp$R;Uj(osL~*VEG7D`kIv5{q$n`D+9}7(A=T!$NRt@ zt*vxUG0<_xPWy<7E??GG*~v0uJjJ>~87&;lX;j~Cc2?ZKqcNpZ8=bcQT8i|MUaA%L ze87l3=r2#2sIrlQHfM^TnadaS0*2Xoi=_xd(){ZdLsX^}Gyc8N{6))aj@1M(? zFZ^o1gf8>|N=J6URhW>?LVD+q0@mF5*@cCjDWXXK^iz4eoP?5rr@c_y6EPD#GYOpQ zb+w?+3%7cc47U%{H_D2G%s0E`vg3QiIXG}CMpY%$Yu+mqID`0w0ypsdYHK8TfaRLV zd=%A2169b*<&7Ak21)|~hh1M8K^QS4$KDaXCn~xp;&6hBv@EpBM-8~a7YC?FJC_FB zaKl-!uGA2@N1}#T4#!udHK;}VV*XC|v#p@&9L`GPyeRKoPx*Bjk$JMIwBH0J zwj>p!D(tQ^J!b}Hwg+>GfL@|a@puEUdF~T|_{N6IOEoVYJ>oICy1bt^T{i`_Q=@BKWeU1)8?|V2{q5 z5+C6{Ne-M2j!I55dAeEN)VLnns@%7nT?Pa_#y)Jw92UDM|J8(6#}?CLr|R%^xA(8- zWEG>Gg0Kf9X?@Nlqos-DVtyiVzH>kUNnDAj0>PUX;C@?B;^d{UY}Zs5d6XJt4}Waq z%hB$wu9X*8JwH17Xes!M1^I=A~4o(jiVgrheopwl&(o z^lJ4JYf##{U&R={f8ic4#5^*|2OozE-QCN7m%5>TXnqmd~3Ou;RJIGr>P1Dzj68W*rAkm+eJjoKoqg1`B3;gvA23X#OuUMfr0#?F6~#9jtEkz(V> zKk(H!uX`MJEDcdW_3-d}wyAFqIcZd)#14rcYftemrPv~}C>eWTz3|k+;J5arj<$e~ zG$<`#JQ4JuyEc~KrHUUF=y7k(o9G!H%Cy0zAjldh>Hg5{cbbNRIJ*FhA!sg#kyDL3%1_3UT~5mDhjwWeE56Z?Y&A_V)RF#{yZu>f-o zR`#`4I+s`RI7bW_brau?{xmiCuGugMfzsThsk9ye?@5EpPuNOg%5ejh`@E1(-M z*Vcp^s?}kTS6!7`YuVX)IA%+UE!($YF|D-%P_(rDA(R^fX70oU3{`d_IL~0?3I6$v z45s<`Utw>n7JYv3J4rnJnSVrWP9<%xqEe6jUf=yMGFH928)ZX;(dfxMLo3e8^|lb) zm6B@E_t(OhNK;9DVL)$_)EI7&?kRm{irO@z8kKB%|F{b;@p1QSucCenHE#)luRsCw z)^_{K#VLgF&I|W)96kOF`@GSor02@`CeYsA;Yf<;;BQlqbgPyLP1M70KDRQ-=<~4@ zz))j&hzU&yAjFJA+8$3w_rE1zg6mmFfW$|yvGN(@5-L;q?6g??^xHVm|#j($W#>7^c^yz~} zwuRP05m!y*Z^5BQ7AJHLP;6qtteY2+OP%g=)DRnxn8yqjRu#KyqAUI+Qg;JoucEIq z+IG_3D&3GxnXmU#0rC+?h0#O!BdFmRCd@jk!Yd)!8NR#0@{sKOy*6BpRwgp>pk$~7 z`G33s$~M^QeSrhMgPHWzZfH}jguZNqYz}S^X2?kK#ODODuM2nR^zS>`c`0z4^{yve zQiBaMEQ?ECeG6c}TQc{c3Qm=}Fz#ji-%NKNBRMY4(YPs1Jv|3x7m~TG0TsNDAy54` z$TqAfoCpXh)}7sQQ9LXZ=KLI{8Tee;Qj@n1q)P{Ny!Ov0clr-9p?B(y?A1NoaJXAP zx1PR1;W#b+c)R;se#F#uWbY%cS{ZDU=eQqoWCfUUBG^6ST0Ny5NxD~!Of=Ys_||_l zVrTIC2{AZpqqnPNpNTZ|>%tXeG&_CU)8vk&iSTIUG!ybKWQsZhg&6yasu%S+7G&&b zh8!noNottb9M`UKq&+1+pET-WSXA-3t~lLikGb3f0(TWGMCqSz%+}CQt>i`aE3aRp z=9}Fu<0iR$yTVZ4o^6u-D5jQ6wr)IUntXQ z<~v?FZq4T^RZz>vDETWkfw>Ll1534m*}5y@-|nI8_k)eudxZrJ*enzEM1@%t_1`}t z6iEpxwzQBH!qLsmd57e1oh`TZpsjC~0O+l_XY+HWsd%QTl!$FO1CZ_X7{S8?SZ;MK z)%a-MS>~H3!&`d|b}_k#KPNbsy^zaR%5enV`Rrs;Z5xk5*Uixk6;6NGP9V0Gk15A5 zc!03rLlnWLxli3X+>q+h{!^^$Yyj|c+%Mp|AO85cW=wtJ0j=KlX_DvdTgAgs`QcDX zQG}4qbXfLZxyO3FXQ1i$$~-D$!rUE!tCKvfg6H7>swvioxj%$@WK?0U7?o7x#Fxlp zD=k@%SktFJB#&4v{XGBP&4P~J@JFVHVwrW)Cdxf^8PI^$~RLAOx+!To&iz1>GZ75>o* zv9-&?TeB&*!=Ea4H15{0lvU#sRRrvHzwW7@0@yNGPiFr-$*}qo zed(-_?=W%xqETXqXFG#k2ICw>>t|wzU|K1$?dpS$@8dBLWT9PiCYD}v zC5KnYQYpx;$(mD=+&DdCqHksiAHBm5SEQycmob$h$N?*$(Nxod)a0@rMq0Kwx0iF+ zR2(r+{y;OM>JFD6t~81Lec5b>&2vGI&G;ET9-Vro#ryJwk?VHdjhIL?U)Wt6uZe6N zV{f^sLeEGAFFo*VG!Y^hc<{q~=DvyA=((QYMkp>J095e8ZVq`vH&AL!vdq+mfyJ?<=u?z)Djgao0@E=6cY56O_93T;GJS7ZDrwT4duiqL54Tt zan`-*V64r4vHJKS%c^yK!VMB4&sUfOh#`7Gaukk;zZ``fBUsv@s8yGPQqWPNDIr=X zrv9+$Um(WF-q-U4nm!-c+;kLA@mjZal)-Sb!-c@A)GAYh#ti;Em9^-MEKw(2B|;IV z4M{@oL%Q&K< z=cQ5dl)!Sv zWk_m}#NKDKJkV>h==}3=2bRlFTMo_5j_o=M9YhrkgRJ6tq)AUwe$H9}wt&w7_RdoL zQNUckNJhA7A&J96A(PJ;Fr2ec%y1hs~1bhNFNDM2B36lFoJD~MgSLW^}0MvjlqR7773 zA3Xpr{lF+9(8g@!X<6WNKX3SDhQ)E+u*ahtS#>FPFz1ds!Fg{=#b!c5WS(!LPTb#& zo$aTnBkI%d#*3AWw|O02_dAO)Oa^`$XGh1K^^F&8tryLe8*gnSV`W6^ZXoFCV_(Pv z^_i@ti{i%$?`e-TOHWDmUGh4S!&Ts%ooL5 zagg7%+i-Ekg@x_t&=0qmnL8Db;^^b37QF1ZUr44~6X{M#O5Bi2kKdh&wP-b)$4en9+6Me%H)&V6s!0NBO%Mhf z1ZGO^2G=!1Id#-4ASILYBKUgh%LGP_frJX2@(oZfD2;ica|?vgZ4T0%pUx*au2J)5 z#;eLDi%z_S!L8dLvCh0V^}Indk-X5Cg5Z*o+ruJfz{2A_7CAj~B^!-KN$zIZ(A(cifHah&z2WZciqkZ~VvH?#2^drM_f)tLIM{RaWdhrow|yXh@QH(OpUV#Gj0h zbU#tlA4p=uB_2eTu_Bc+(0ghi+>ZMw!JZn~5XhL(^=1U^+8&N679CwDIuR+*zk+dH z1!)3my*U#!dZS5o9aCro4@#S4LBc{ooNHlZQIF-q>j$8>Q64mNR2MVPZPj{;XXusy zL5;QiUicot?my@IipYlPe%hSc`BcdJYFc!tD>&mIGIfWz;0gJA^8`*?=ND%e#6<6? zMAto(V-=qc-5tH!SQVu3Y=6~j74zF;LBL=JO%`WwRIsfh0^2mlegCBg*{|q$h)~Kj zMdwa2R--lQre8yX43=6=qZPvE>!1AJ@1bwkZ89#kds-;Z-%w%4$_PaohE1H6W|shE z{WCGJ2IdftnNM!S!9$Vd`hwnZKctX&UPJFHjw*7R)_1$0gHI{&Z(+nwyffn8SGiQ6 zlBn{Uykb8~*%?JqB1+cSZ;B(Umgcw~!ydD4yO@M{vjReS2(<&Nn9|s|vyl^Rbq>ho zXZWN9J_(NB05d86*lOg7Yh071okIb%rF$$S&A68j`{OK6tB zhH>z2Cno7TZNQck67MYr?9w_(P3ikrk>PuJ+U!vT zPSx7V>V=7c5mUgwp%(1_SYuNroI9(_PaX8b)$FlVm0FnQcg-r14jR@dkg?FWYo~?c|(s3jdSG#Pm$YMC@!mjSZ z!3*69d9D#vbN)nNr@-FBH>UfCJNUYZDNT?^pvcNfUYynF%F`yj#wvr(#g2Es1OJ#6 z3PZG*ZY{2)0?LV^NF(?l6^YPdUDKqzP8^go{-u@@CzG??$0S2N0O-~#v}F0$ji2=M zKTDx?)VG+PmW%elQUnXE5`!68sgXTKo3-E_aWDmab`^dO6X9o%VBAtl4VBju zrY2;qAVpWuY1!;JXxYp-q&234Uft|5%b!19X7oB@I>lkR=$q$?b)=P9tTZ67t~n?u zwg9svIJYNUS8qs2fUz>PMq``L-l#Y7`14plzCd*?oOXLe=WFJ>zm@<=T3yrU!3mK3 z@ME-Ovpa)QaBP3wFQruBs^Rp2(u$T(R4NsUgPOJP{DE*2j$r5Y4GrhtkbhshMl0g@ zX%L9VXNj#Q9PNEfUJl;O*$Mhm9UeALeY;?mAo;!V<_bNfF&pL2UR}QS9}_oRiW!Zr z)vvU7nXvBxKny_ypgaBU%(Nej8$IKYl^ z98D3y(cPQFuAG|xJX9)R$=LEkvruff8I8fc4o~-o4q_@^3mgz}YS+{UzyaeFpbeeC zF1lY!C{Z=E_v-zog_(gUGA_={_aL2jx0RS@tVf{!`1PB3Z6Z?IpGD3As6t2(^L8G>3@wdOwo=Z_#U1uji!5 zXZ+iXkpjNopo9+5UswW`iRE`khqLwuWA-H3K?s2_%=psMO$U-|3(aB@B5^geAsjhJ z&n+%iU(#*B(_3lxLxKWiBMS&S$s+HuZRi)EM_bJV2$j}Mkrw*7IKvLu#g$F$cp^C` zs~RM7q|`Bja+N>Y_H8rs*jb=&09Bj!kM`mJT<9mg{AZFmxeoSGCrDZO-g{>U0fI4? zmyC}|`!Zr!#27g}5-q746g`GU=&2HHvoeAQEy9g^Rbps=lxjLmJqz9zy{V+yDs6Be zZUv`wV@6z*OCq?I*C-(2EHCvrIl(QwX=1O35RE6cCR%364x-*iz`qfXwGj@VtqNa@ z9fpM$eN&R~)LI*-%cSBF8>kJ?oyOk>(7<{J6X|v>wY3l!S~s?iWj$4vOWY!g;&`K0 zO=z6X2t)Ou{e(O&$6_`$LNCV|nVT6fZ^5rmb`P6BUW=Z5B@MjVQK!FWtSS!luF$Lk z)nlsdZY;vW!YT6|PvRK;$?)BW*l&!n;Bwp%5I48=Cvd!VFc#bIf~Z_ z_kXMtM3Ea(`o{_^k0$$A<}cWfGu%Qzi6rv|%GYjEnMbdJ{Orh?BydG2*@MVgsjv3y z%+{LfyN(Oc;!61S-}opovf7BCR-A1X{VY(&(x^j4k?9t|E$}Zl_XYkBVQ&=_R~vQf zCXfKZ3BiJeV8Pwp9fG^NYvU5!-K8P8ySuvu2->*QNaHT2|6R4K{(Sr5RCN^>ebE=J z_g!<2Ip#CYlVU|s8#Y}SG47vJNN^3)+QPQVy3+%VYX4j}>Mg4dj<=UF2lK2(esH0> z^7KDxa9Ue@)vwTPSDWg-9HYrMeSKb{UcI|&@2QC4q<=y|hg1Cp*o3^E)z66gK8)*c zLm4J(#b}!5Zp2o;VL#6GbZ9y{QNr5HEcJB?wjxzr;@#i+Viccm2ZeZ_!RXm5T0AAa6ya0k}50w0P1E zXWocmARhfNT`MS;2xybiu$R^j%^;rKnM6@Yz_tV)ujzS-Ln-IyLeFPz-PSz5|J%p< zfhqn!Pj3fRhvui_?~W~LO-zkxDNYx)&h2s28YS@5)v5@Y!rb}-KNI_EB{kIo@LZUw zIo|JHG$akSAaD)#lu#ZZJ=p#Rk6#}Y6}ZxMBKhl(6=jIt{DhGHb>g|^7q(MTCG99b z;xr{>eo!TomjO*B7?#V0gN^(&Q%6mf;q?iAZpgUblMG8vLO+2xhXS{jT=Y3k=c`SM z_rQ7ws6(ZBe#b;)WKAZOK3W%4j+CE%@9LN@W>XXnKunM!Svq?&$xWz>@%K`*o!4~mJ2X&PA3tjC>t3CmCL z3T&D@$wUyCg?ntnqow>{PU4yj!>H|pzffTo18Xl&B9ZvUWhU&AC>V2Va=Acu-Gq~I zw@8ssIe4dL>C<64EGbJ|zG~bxBxEDffKyl|S$$AP+H?3TGQE>(;!LieSY&9b1zB6- zD{cvU96j9Oky#pBpctX~I`xQk$wJRy>SX^Y<=NtOr6`cE9q?r^iWKA+-_}{Y-FA3R zwi38g47v|}bEV^*?#~S+icps4BG=l77w8a+c{SilZ@Rg|^$;o93cAaQGLGe=*7DL< z=sG)tNUR~P@YFJ9cYMgz1$b0D)5^#Tbaw{8FQ6Lig(RGa?my(N#>6d)0aU-fmu4dd ziGy)VKVB~P%#sp@dF3A-{Ecs{wa|id_GET9#T>?*{%FDaPTj@qoEEuC&JaY3_t$ON zVb<#UBT=#_AY@zt&7g2#Qkw&Tm!$Y=pgxFeI4YFBX$u}4B%1*aH~;1C1K5s80+{Hk z!aeA^M0k>wWH#Isj1b8jUnYN<(-+Y~!zYj+O6!w|8Q;?0cvJ&j{99s&{}&!K`+cC{ zqp)<&Vz@Hu;b3d1LjRz|bWd?CFqkGLGkChoi=E%;UWIca!H8?|vfP>pS=EQGlIB9W z)s#0rq{_r8F@t_!C<151#MYv-YWCceyTWC(pqU5^_?*YR$ZUc;oto!4LaNCZH2|P% zKlTZUBFSm0H7p77dmJ2h_jJ}AySI|MVQBcPC)w_9rTnS6a+P||737^GnSujShA6X( z6cTN2rG{Pzye+;#C#PxGl&zBFetXI4yDkzE7&$M;GL7ep7TT@~io(ut0{V^&P^=7I zt1CrfFD1VdHm#ZA5j6DoWk`H1Fl7gnE>2y&9Q3Ydg8Gn&qv zV|2Ac^IW`M$4+T>$K}SAYPBFQv%$sebsH$F*!=nE=%*hR$2NEUXNacJ%53R0wmr3T zgTNKPwC&;%gs#r>iq$?lhci~|Sfr>BgsjRS+KT-hh=QSFqY^?(z|0UCWj)G1WD|LO zBW50XN{SN2>dmQ1>};l)#xxIOwUagQME#ww8^$Ce)?jN@sKu`AD3Z6mkrp&6QiQ|U zm?peZYnq9F7|*PyV4H;hz6emn2)OsqalSd&?SPh7)Q`{WId6yxd=E9a`i3y{mLZHk zNP(x&1VVj+$PsjO*5d&)-;9MOhG zpS>P#9ATYO4EfyUAp1ZG`8Gk$O!`nS3nHhJD-dDm z4Ue-_o)_RJ3u1ZFQ6$@kotqK|J!xN^zffe#xxffQ{AkN7MxUK0i**$ zb}Vy(rC4R`o9!hJLQV%Qy)i4{Yiz2PKrA%hk_2_lr0)|2f7vx|YC2UGElWo2@s7+C z6UsF7CD#G^;SgaPWEg{n++gSl5J3X325p1Yzoq<{lMeeEz|HaLR60pCFUm+*GMSG{ z-R{l0TQhWCJE-BT?B=&ACtV*73p;a6;pZg`&HEL#`R;V-bU#b=k9_0C#x-1bY-ix){UEhzZarH|kI$GIuRA=B zmkIm?Jk>}jj`W@K&FU`n8Uh-_r!>vm<@#?F@|;^ApnKZ#(nV6-Jh)Z&4K#&Yn{@jq zkyp0T#3H#pn`XjM3$Qk8dn8ze70vL)u@cs^p4Ta2JKsc!Yj&L~kI6q?ns2%ngL81t0@Cp z*EFw9bknowS2h==^>8v7=3!_vGKPD`p3WKGE*Usa8|F-A+kVejY=)RNNAkKd4%=z_ zO=EZw^akfVb7IqH5uffrxo=baUQuS#+0pTB3=$ZIbU1FTEB@kHkeJEy-J;LgORNDE z)+9TOA4nwn(c)#6IbFoxQ__NanVfkX&#z(3TnpozD@))5TDpQZ*V6$%B|(QHEhELW z9>kMHv=hgZ-%3F4w}a@~ZcbEVk-xmFr)qXak(*wr0w2ExCht34BN(=8vrD*Iz1w#R z@}W9-Fq0=Dc4ya8vH@WI0|-D$l^5Sk8h%Xm0C8?l;D$0%Zx8n{wwyh7vxyh zmME*uA$6>!<>p?uWl7G=3;rS8$b|3p@!4vXt?V|Xf+C`QcHB)oIba-;W z3)|J$lL=+fka^Gh_qJgRSjN8w{87mO2_`-Ym8$9~H@<~D{`?l=d=hrgD`xrwzs{v4DTGsPvUsd4ax^C6`FN@V}^nnzc`3WFRACwai> z^B;+hk>=nspE*CPdKTzPHZ;b1^DcrlQRX^F3+rK+Ajku?@lfSco)Jsjh% zp*v<9ylG1b%G>zAUI3iUl4YR#=1{dUG)SQ3cE#G1hrH!tXm6=iE($r`O55HZ;RP;B zg}AEqam?aW+rAU)c(Hne5-k~hVbDiAYdoRI`de4i-oq3wJIdm&2DDEy z=7YpY_6%MqVgQ-K?tpK}aI~Shb@PKM0;WvYdF5l|WH)dkZKR@hRwdlN78kq;6O*KY zT)`T7${A_I_wi9v(IVL=9YZR8ybYW5iOWc(oaB7VaMDb`;Q&u1lf|6T8x35B*cKhR z!&A@fI1pYHe}35i@Hn6u?{+*f|32p!|9Q?ksA@VHony1-{LzTH#SmA&lcw{smav-iS>uvtmR~!Qr;2143u}Bi z0t+jtGjpcSu_e|_McGV!W^VKRxQYN4#0{wprxaCBWn zm#CNn0o*a32N&N#?#TUi(-;T8HroovF~UZ?-#txdMkdO0p)gc`?n1P zhCePeX-^s9DL#Le>Lg_&7VtE}e|;T)i;86E((q+xWetM(-nGje7tQsssdIe~c%!32 z2}St^GB#Y04f%74QTGntjrGqt*NN!ibsE*aRBI+j*7Xlw)%|AI$573* zxm01T0{Lcy1=-k&Z`@bNDLyUB=!Ap>%8#_aU)AR4-*3V6-<+q*;9>6~$>n@fe0)7{ z8+{Viffd$jn#plvs-}!=UBi>5iQsNDO>p}w^~1jfEo@p|XEn0=Ew;Rnx65HmxV2{r zN;nsaS&i!-(AnDFTs$w8nHtXGs^86WYK^M)y(zbqIYZiY;&RVDb5A;qnqk%QFLj2i zSZ1e=O+7UE#vKO$L+?VoQ(!fHH@P&}V2;9mp^*bdAJ*!H2s+V#oB+7A)y6A8~> zU2IPwRz1y8c;Ch1*IduY-N$ZpQSSkmn8PPkLfPW4*Awe!)May7`_5-W&_zg*V_=so zd#bgUYN-Ql{p9;;mX);3+2e9BdgLjU77V#7OYdZhi^``b5NO_EemZs(;0C{f#VCNG7rKnX_6p&9lJ;KE^Vc@>>)5&09kB^ zPMFWF&OcoMg}{G;2ka5Os4IwBD}S+|o}?Q6mi#IAnLK~oLu)m`spTFPN5qebd~Vda z3Pk|f_!IKjU75SIC_MV;p)`?l>0w@haKhE|&*B`?&ws?UtVIyb!F*`OTfCBz7P(Z! z=1#sPcc!z8s$kEOgr!M0BZ>>4VFS@`%7g7INP3`cA@}P`b9LUz<{{?n*8`1O&(LQg zh}IwS?yjVJyrisZa&IP?FbIAK^KSh2M0+${$~np4;> zV0NAkhqOP_ac;6%to{|WhtnfhcmX8V359*EI~*-UKW9vd(C$#4uNIvAa&)`>!Z&@= zBj)$w;eFGrHvS6eN^odN*ESpNrDKp#`F}^28BSIZA-^N=j zUw2W_)hFuq^~K3v*6JJD${;B0XCaKZrqYmHX14Y5Rlu%qXK~sM zV%)8ztSCM9>X$;gy1$97l2BJyzh0ijxBJ-lnbyllX#qn`@gytIx~l7Y#?21#8!kS( zjfJ*LU7~#PmdRxuX7b>+yt!m{S5$8kT@<_U3GIUum*X^0$;Alr8qF{d&|-RO`>~RZT-iVE9?9J=;?aZHQBDT>0e*{10M@^$%Dq% zDy=>^ka{CU*KENn{XCv(KXq!CSBXA2mz0i8N#w^1Ev6I0)T8G|zY^18cAuz>Y_ zn*BD#WkYS|X3j(%^R)1O@XZN z0ZdD^y`O2=z}yY{7aCgm@R1{{3$Fd>N_JV+th+LLvR`!NzaF$SmfJOL)XQ5->Ka z%W>OBXH|O?T7jp_xK~lu=}Ge-r7@2rC;oMs&x@KevnNBw;_BzN?+mC9_GMo5I3i#~E@F_MGR3 zsNIWqV7(s)o#sWs1_z#;-xKhApqXcpP+}2|0pV$lYp3VA|DuabsO%k<<6a#F!WFhO<7Lh1{H;ZHX`jd*t2jj9xt`X0|V z&^{0ie)`9lc}V_&%homQ;{^u<7^pzV0^2UmXG2t)&$6?bMBaIS(tfasL^;tPuud>` z^Nm`WtTNO{1?D%8c|Pfmfdj5P!1W#X<^$7hEl_~2qL zBz;p{E0wf9XjAC-*&FXn2^-H@{D*4s_$|Sqk1~{@rGi%tL=QqmCH0~!ZSf0qq_va@ zi^D4^Kgtio<~BKBMrcv9&Ww*{3vGuJ{6EW8kmJTSX6yxy*h64q1xbosta z?^hdSoNQT8f<3YUtc!&fI!U{YL^&lvV!ZPx!ESuBuh`)%PZ^V@DO$KC^PWB`&q_7= zlcAjClb^Q-f*OQC2g>)b1#m8Fv^tR!K^@g4Do`gLNt*5lG;zv;f{CfVE9sV_ePXez zs+a3wLoWKRt2M~h(gSd$$i_n!x4x%h=_fnztBHGOl@*CDBGqNQ9NY7iz?<`2R|1P`YPl{2sds#SqNQ?)^)l-I2rcJ^zaU*5Xw}TUpM5}A=++pvpo{CX%p3rsk7XWE zlG)QGIhSkla)cj9hu9=TDz(0^`6Ez((+H?fsJBTJDn?`qhw2YJZ zmfJ}*W0(?lGDUAwAY}4lOtS-z{%uK%bM*ZuuMN^>>`nID)lWt1qM+{z+B88sFs)Hv z!?!D=I@HS9QN8rB%)2<|Za0X^n^R2tnys~!4mX&x4pioTeVwa|$* zaFZ;feK^X6;DcXnhgjoijj#bfi`P@>t>?7A!0*$Ih`+W z-=?gI8@t}e$>L_qrV-_-59;cS)QHN6Nu3U_tm^USx&_*b3i+Q49l4{fr zv_RG>xbcJ?xm#{|3>4FGTLUaLSkCbSs{UCxN+kZzo(4zoPwj*zTVp*1>{LPys0PG@ zVovlob`JHhe>BqT;w*SAZ6h&x)|GFw`t+KDR5thr#Q;MUG6RVZPgAhYSPV91U+z+o zafNZ3i)+kJ`{6KCUxW|-((G8(f(W}hXrL<&1HO#oC$5vC1)>1D=f zA3R!#@>Gxt(ilwsW=!whVfPi_1X!2dqjs8>C%MCg6~{{Ebc8183!i>O7)FvRzY zhWEKxK%#z%Yv&8^)ggqj&X^SYdf#-764O4NzdDa)Qu5f7^;dCI(s`HibPt9E!AwIr zG;Zg~w*Bo`Mt4aQu6yNnMjO$ig*S#2t$t=6^V{Oq*4`w*W_?d6^k?j}hH!HeTfU}k z4yCs`4fbYqT=thyyrDF9KdjhS?keT*_@z)RnN2x}CT(gH91({cCFZL3+=?b`Wo&xQ zR1z7F3hJ)RUx~3=#(GMW*x^$$k;E$+P)OVKUYk+&@w+LIphl>yCOoq;jQ6<+_N7|c zQTM&rZXHDA}h83 zM{2({2{w}nm|a!C3JSpPOxB@KRBXIA^B(vqv#�l6enE?;x_^(s{-o+S{b?SEp#D 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 z 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 z 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

  • yIyH^Gvr&gbv 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 mbiGgO8dTH#UdT)%&$MF_kpE~v|=NF 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 HjDr3TS+MPT literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable-mdpi/ic_launcher.png b/opensrp-chw/src/nacp/res/drawable-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b3e0aa2465d4662a2af965705dcaccc9f22a800b GIT binary patch literal 3226 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 literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable-mdpi/ic_launcher_round.png b/opensrp-chw/src/nacp/res/drawable-mdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..5afd46902d8214422cb03be189909b7c7899342c GIT binary patch literal 3882 zcmV+_57qFAP)=+1xvl*2+^d4JoU8oetX4r$W{a>eqY5p` zQk6bmSeX8#$$iN^|8z$h8~H{Llvvc3%;QxTmh!4pZ9I(%5IpdA7XZIJ5BOzyASlfN zK}j|Uin2ghm5On!8Y3)7VTAd~jAed`&N43< zEOU2)RrU_B%1Asd%1CfDg#x$C-oYUFcB_nd#wsHLMCoxLN{!Q6rNzH!?%BT^{Gj?0SBu)>4qi2a zuT~S_9bDv*Huk~Lp4m$YQRoYXbQf#3+K&%ADov04#m0fx1t;vg1;kp zohUi7U7QpJ;vJD7iVu(a?M^^vHL%!Il0w1P6f(SO6(d3?7B(M)(zYA0@7`T%mA7t! z{|_xNzNQR>#o1;OmIW_C-al8NhHuWCf=awzd*?Q2Z{LQ>8`mN1yJmO^9g^*cV#M*= z7)g9MNMb@$5yHU!IboDM7BxkYEO?|0(#EQ)2o^LSg`*wqaFSuVnd;gVcx7J|Sel8v z7{SjwP)~uIyO!9Vn{BX2TMM#;2u2bUhPDN)!#6}5oaj?xb2WZYZHY@~+PY8b>v2{-WcS@HBVlj z>O8+j^+IRDswj8?*7?v2XCDaQ1X{$;KZ2b)6D;$P^EpZI%x*Q*Ak7|ht={(ExdT)3 z(*eO#2W++mcUT9ln$mlpFy?)Aq1KSFT%CWcuAFkcF8~hUDLu7YWk}e7mJ@vjueb1) zlQ1-9D}oPcw+Rmhn~;D8LJYl(>6tp!g^OvOC$zz8qc4@yo9bczy?cEIFt?$Wf*+~Q zf)dP){yNZzr!c)B6A--4CTu+;-MkiT0=%5fQ%Ubpqe?_OENN0*>in!D4bXJ|exCs> zI@Cbx{M5=KsK0%y-wqJ-KiGgLupXpa)^$ij(Sdb-&5ETT+jKhxy{fb*%bQ2#0qwA+ zP3kpF;KqKOz!wL#v`M{HQw|6FahGQ+?v!{Z}gV!`Au)iPI8QVV0x#yB&LAq%TNH+ww%g_NE zf6v{9T%g#w1|d|Xj7H#XY~+cyF_i~Xu;cdC0TS^E*px(Ru`mfct)`dS-rI1|;&-f>-P0Yka|G*;ii?%q({91T2cPVkm8h zBu3g0RXL&x^-f&{%xTg>tx+QG#@2tJ2VNh;hc0NS12Gk5(I8HWgxQ)>INXl{U~DVv zYd}uGuUCTn8$U+A#t&>foD*qxHj)e|G1UH%n@W$j?W?_`CUeM&5B`>uulzrPLyHfq5R9gwf{2Lz7}_<+>QwVtG` zp$ZLFekI`-XSWbNPlpjsRa&7iTX5_E?7Dgx6Y(x&U226{`)a^Wl>zo>%H|W$z~#l^ z_WQ8?r|)5cIvYeZ@+^39!Zskn>~W-0`nj`kqKnfHvXG`m7!n*nq7U*QA4U=61G1HF zXQUs^lp7p)IB3;FywaQtG-1gkWi*V4&>k+!hcOi@nA=zfIhQX&(uH4OY)Kx-k>}%! zb6{#kAxy%gwI`8J?gTI4z)NDofC#gZ$uTfbQw~wzo`%d{&O$t%O4`{UyPc%5Z8(Gu ztX~Zz@`}J!3>qj_E^oDWbR1!D;E_O|QAnXHH1cE&B*RFNsh*#R4XNzLHN%ZPjvoTU zB!$(6B&^7YHU{u&sy_01-**|q^>Xi}{4Z(_IIj{>kK2i6~GfFVd95_!dH zZw3wItCn9K?(96a^8|cWj7Gp$Xyny6!xmT~w8O&0r0r01{aVl6xV{$bu<|GZyg{K{$)JJ4+wH2o zzLb)$;hrv!@(VLtDQ(m^fOpaJPn71N%r&hdL>^2oEieK9FO&~&9%+R6=g-3IQ%7Ma zCU0lt5qty(o|Ol*!;Xm!hsvwwwGzn}mx@xP4uW5e!2P`#TYoRG^>n#7WYK4%3=T+V z&Xf!C(^}{xMYacBhLJg#xZRoz>h?J`6So~%BMw+E=_ zmmP018=b}b>nZ0Isj={IPO?$LhQUAUG~j;cCPGJZ2OiCxv0b$sT;z2KUT3`e@IG;rb-F2p6udlmH8@w6Vjt+P zv9xV%@Cu#|2ObbSV~5eVUH;V#t7(6q+&S2E%4vx(F`|--e7j-kgmwPk)#W{wxmU1k z{`bUTSa$0MJVdGvChQBl3t>^~IT%5ta97%}qKs-Ad!$gx_urbmZ^V%%!2U#N0|dC8 zw_Cg2%4Hy5{CPF0J0_!mJ`aRz{FYi}C6dVN5WJ3E_r+pWN$pXIZa8%erXzj4nRa-+ zu^y!8fCCQXu5H)h`Qm&-lNS4L-GUdxH|Zk}2waB_=xkRk1=+i^ z2z_{_t9|`=Hfq!(mI;x~M(aLW=jHf4_59Cf9jHN|q?~%(y8|xRsVAs&U~G0WIR1J8 zrti_fu;@@2j2(Ay=sHxDfd=psqP9TxPd{{DtKbaaT2=%@{5)9j-fm#$<=R1`@3gRG zfW7?)^MgG*)LROap57FAdYq1|`$(OaV5ywHw;E5uyd;kK;S79q<`g{zXRQC@vr}Mn zS^~UWRSwf@E8*3u-7s052SYZ0LsjKt_d;CWcT*bAkP{VYfF;GXqk)A8b6HE_YE$T}Xdql&nd{?B9&MJuuXC!1#$qBPzD8N3~ltC71`oq6*Wum!! z2?FYBU~EVb*pXV_9Xw-)yqA9Pb~?dAre4F6w=eHNlHP{)xRsyhE(sB2L?T3P>Y&1m zX!&g+FfuM2W)x(BPeVOqVOJ)SVDHT~+F2Ws76)2H!U1&qV%Rip0Mhqhah!oyfTjf9ygctRJFumn8PhKu|Y6vMP>yx;aN z4a+&=#0atD!u8f0gYL50CRis8{iYp(>$=JVeVv!D_0x}m>@cF2#0Fuug6*(unQW)u zvD(;uz4)$l){J2C%-;vzm`)B30>VSVo3DN-_VsAALBO=bhOX7g$i^%%_><( s9rF1HYtF>n-}vM;bdpm3F&`)RAKEhG$RN3v3IG5A07*qoM6N<$g8sN(YXATM literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable-xhdpi/ic_launcher.png b/opensrp-chw/src/nacp/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..3a8c3277494d3561a9d3bce1ff847a4c7b9c5d2b GIT binary patch literal 7088 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 a>wf{b-_XIX9s-5{0000`=i4U<6FY;gVg3~Z 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 ayp3H?aD(km4*ri71nMf<%4kK)@c#qIQVWp) literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable-xhdpi/ic_launcher_round.png b/opensrp-chw/src/nacp/res/drawable-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..63e9b656e0ec54c4303876227eb3951fa8b47bed GIT binary patch literal 9186 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 literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable-xxhdpi/ic_launcher.png b/opensrp-chw/src/nacp/res/drawable-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..f52744d4a59fda3debdbe22a1535b5b941f34203 GIT binary patch literal 11828 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 literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable-xxhdpi/ic_launcher_foreground.png b/opensrp-chw/src/nacp/res/drawable-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..4a0f55060b10d20503ded1e78659fe0089413259 GIT binary patch literal 27930 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­hoV4_< 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 literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable-xxhdpi/ic_launcher_round.png b/opensrp-chw/src/nacp/res/drawable-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..e57daf4e25715eee3f731441462634274bc785e4 GIT binary patch literal 15383 zcmV+yJm|xTP)d$$dZlo^#%Dj+fWt$K%K2$K%K2$K%K2 z$0Pdyc*1MkxC+!_V!WN2`E}%H9zXtrkRSwa<&KjOqd?pb2;^t&f8S%c{$0RW2G+%E z>#kg>svWVsQvL81HJ^=GR`1!UrA?lRTJ{1l@|=8)e2=__yw)Wo46MgMJ!;UHU5(JA zAR|y(kouA=H|=X#Zt6Jc#*|gkoRke{d!!qaPD(c>UqZVr-H=p_W|XZ@1Y*+liALGF zgkrSYvh4UvvUTw%Wm)liq*)0YWLa^mWSOz!WSMbaOS58LQf9;iiUD=siud^O0HJ|# z6%dko-ubDWz4OzTNb*v*Nb^$vlIErYXDNW-aJC`IY8)^iU5D_jO8{9mv3Sn1h{bW1 z8Otn=nomY7XX!D2$ueR#`=muJ_DzlIEK7~6M^)%COyvz69F*K#iOtsvlU0&}%=aXD z>2oCc={wMFOY+h{iiQALf!UaBL@TDYKFPpYqEWgo!H8EA!h@Dzk`c>}=PZj@oJp1u zYh-4SrK4rU6eBdn2#nDuEgCqBvR+f8ZX-xLe9|K4_@sru=ar1^kN+T_!5*;3j|ZqW zH~^CTjQ@FW$_(-@$T*770A~mdDh--Jl9NhcF-UVLI3_fpCZar2qC9-{u~8nTJ{iPf zK$aduR0oa1WAaIjH2S1O8Sq-{lN@RANr^;=(D3R@EIHz+JUKkbH#xke%^$#HRVw3$ z{mm^(uPG_W8Y$V7v0qY<0n`XMdFduponlE&iUHv}?DtJtGtxIcyr#n+$>T@afP^^0A-&L?5bJ7V|Y z@xz@shZh@2iZYvf7iOnR3JEw2o&p3XpSmib<^T^LAXmzh;6iyE;qkGD$E-YV!NXS` z4jkXOP?J0^v{)Xy8t@A8*ii6|2~C&BhP-Nx^~Oma$49On{Gf76W-afctT6AwEb!*w zF`>IEW^oQPTX-DYmP_Sf@MM=TU>1sbQtaK906d9~@K9hVG^;s_2_Ybv4zWDG@cu1XLdsyqc52F$d;1|EysN)>@8rSvgRrY$@^eAP+k zyDVYl@o`gm9N}5TSv0W_0~)!4Uv$V-MZ}7s76p2&Ms~4|*~mvlt%`?Ds=Dun~xnkq!xGzvnHU+0tQd9_oj3sr#fQFvB+pFVFW4 zTV7jmj_hB*1i>B%%ohmH6$THgPNvBQ9GA-D0-h4h^TZ0ctr(YX%M6c?8}P_W3Qq(d z9tsfntqnFQ!j}~*)&>LG6=lex4wifSuU``3$2&#qrcrQ+ZOSaRP71o~w%muu;=*5p@}QaFK_l>lEj1uOCPnBH@LRbc(QCm1pMPhnZw{8TV)O{k7N$JZWf6G1`S9eq zig`rf*(jtui7w#bD^IMG<%!5rPZGLytL?i`*qOBp~*0O3J^78etU6d?b=LdH}x5NA3yTf~-13rHn zzt(t54ph#|03Q-Kmtda9x$;DMV4jBqNF5gjHBzFXaaIz%nUewU=B1mwWJlV)bIqRxQ3quF4hj5BtoR_%w@&B>xV03R4;)IOmx1SmDWc z4<5hVba)d1nSS;pWM01tJMZ0vg9ZcqYBW+igwJ>1y9fEVZb0P4zhUUH!|>uSIiNx{ z@)4Y2j&*Zk)LE*&)^Tks-qCF-@p;YEXlS=359S;{0&#zzhurJeVEdihum?ZKK78MM z?%suMw{Jnt)hiHv{v6Ew{a0wWX(QAmFrgAzz%j!U%HRoIYyn8QY7s)T=pMN$m(M?^ znE7+#M;juu+bYOtfY4l^G0!Fr9!Uw5r^&WF2s(ep1{injfT0-HUN{eJc5eag`egCt z2?|iO?L^^yu5FpYc_k+urX2khez|oM4wvA)6CI~la7Mq=5uCFuO}8kIw;S;IpnY~=CuF1I95R*+9=`3s zzwVH~&cREYb3j2zIU?`0Oun}FQvtS zib7ZuaRma;6w1MDf=QGSn_HN6pJfYx+*H6(^WnRAIvG>il{A*XCBf2&% zab>F)QMW}cgaNdY0kmQPv3uysK)Gh;_(K?m>1iGuZ(gw`WZ_B4{t1Jg#_Nn7g zV?&Dj%M*!fozC+-o0$MXe;g}uoK{*pfRF~CI0|)QLY=_FnJRexJ=L-~pqxE98ONrA z-B^`7*YyOttI0HAF3KvF2*KlIo=1f#_{s}^miYjXm}(XdxE|e^>r{QM(^d6an0kkv zJN-bwu{Q!y?Z^;8cvM7rg6DCzY;Lh?@hnix7(a{7SeH9j#xgGNO_`sXmnYZ;FmZV7 zwq(e1(xB6?yC2wJ@jm=39)0u>D2NJ)W?RmcrwYQi3gJ2QfZnr^nl3x>J5&l?%HUxD znc-PR;Q`gsxh8T|&YuQ~NuxTJuguI$b7mshL3oj^Z5bRU30=%E*DTrq30E#Y&;i(m z8QR-ha_Mm!^V*iX%M)7s`p`pr9~kh?+*$u^Mc^N@h`}?@9v-wg#0;t>vxzIaq#F3+ zv*jbGwvBu8tqY@>ZUxNzwXLqd?RzML5%>Ui@;Fo|0MbE?g%x-LHx60cl( zXl|hI!QJ4S(#zJ(VEnizU3^vDZc9eX-J9w1#KXGzSywJY)r>fin1^l2h~t!p z%rN)ew}ZNl@&pihKV$c77l6kM&@2j&deJNs1!=|vP!8|^*296wDti^YH)Z|8;3*b{ z$N5e|IR?+;P94L{=;7V`y~X#S!;T`5Cx$!U!yFq5Ph-}Vcl}zqg2!xRO|5Bcn7!Mw zs1L$}HWSoAGmF&=rh#(O=$$x*(g*L#EUqi9zhw_|fqU7O{T}83bYE##FF*8~KM&J- z4LQ4>D87@>53T3!t>qFPv&}lR4=S!$XakSR79O-26e88EiJ%%YWaNWYA#S$$39ry(c zD)CBnnHUDsFKkS=z$1?jwZap}Z3b(Zmrb`}lxKjnkEy3EshbKsnn_>!bB(@2jRo6l`IiFu?BrzbdoWN2ef{$4I_I)S*|)=dI?n5`S& z2kzfh?%^Sphe<(`h!9XYhX*tZrkO}Aq@FUysO;1I0R+^X`>KG@B(f8u#kR_mCVFm5 z=+K`MzrOVRnR0XE2OQW<7e>WSPelE7?vVh9Ea>*ylmi+9kO({k9L;>Rc~gruvnPRS z^x#Z7H&kYB%)Hi>72i@~KC6B|dzd#QgFZJM!Y}?^Zf^YKqrZy6Qx)T%EjMpG5&#iP zIClmrVoGlV&q6zR=1(O6k*i5PX%wh_?D0|AsgPNH^3qeO>&j0vxPr&k(VGASDC*LM za&yz?o;*r7gjwK;wQhiaaeWHig8HZcv=86wi&3k^mB$RvyeZ^r(99z9LIc*9jS87# zpVXL_xDqSGeUb7i%x&ela$CYjZ}d575dKg3QJ|nx$3YnvCU|b^lfs-b-|OS)m~O!4 zeA}33z5qOPiA^?22*(Qcioed5o14Di z4+2mq4<1W(4CuaN^Fv=aEvcXuU>{`;VVHc zt~?w()Fv6V7)+~254qy=b^B-Nn7425?WtMk3X*k+gIHNPgIKmDEk#Yj5yuagn;Sm% z@P6=hIBvWW6nGu7f9FHn_j5n%V;!A0E)mng|GxK{IJIsQdIBM^&h2PpK!? zyogCqVRlgU;nyV0aSWIxZdA#TvGeNE>;&k3Xixc=NJQ(sXB+rh%Bz^qsS|)!!oa;d z9yx$$X1RMisGY%sszXdWYZ3)WJ7YYkhV|cvWA01G{=U}8SnMN7jd-0`4b@bdfZ5@! zIy><9*`D&Tw)7iXo1z@S%zIDLfOIO)!zGX6!Ifbo=^! zszUb_Omo{Fy(JqGXE~~mP^#`;Sve{1xbfRN3d_ZfChF2CGr{7v?CbNi-L$dXZQ*do zimqLSdMg)+!lRkZ;F&prvsn|V8&me}wUnmxrFLUx_tm?%5|!s5r#?>VFbl$y=)67; zTFdPPvv|T(|=~T51;Mu>v$>yiq%S9H@u( z`^~F)bA9REnAv?Lhqq*|OSrs>n{G?2GFa=KMdji~uRQYy_{W7=;vV}d8C7CKq3Fi- zM-HI<#rNRb^%)j;w6iC3@XWG8vg4;vfViF$7PsX* z=1Fv~tXyUsbU(QJp$E|sI5hyBMQV1nE7sN zCJ&zJ^lH#f7zyehx(5*kyvDsHDQ)&8lWa^bqyUlL6D1Cqo!95_!{;+k9e?;Tf9DRg z%*hmh$F{^u&+SEzWG1%Y;6A8`sl1Ky%$z6y&p2k|4Z0~~Ks})Mc4RUFwp0ZGqNyTQ%XyonfogDrpx7LNh za|tF1Wp0+z?R98RxmaHseqgs7W#yKFKYl;x_>o5rpbh_AfSQYDxuHA+o}WQCWh`FD z8MUK_fM1tRJ!v-9zP+rZ@sCuJ89Rppw1M>6au=Qim+<%?JkJ$mL*C7YACzvsbpu{o zm&(Bt?x;L|HdVov!UyQ;9<_A-7YzREES+anpBZAxgYZmcHf^jyJAMSHdUah+H{QD) zNE2Vj$(4^}L*ho#?N7=F$elXOPHGa$@!H~-JV?aa%w0;2Fzoj6pYPG^qOZDxz@^VZyCA$Q=Ll>>1#l zlYEM)j?r}yZ)?{ZU$kdYVHy>#hdOy#@JwDNyil|O+U(j)%c~ULy6N_ZPr7sge%QYg z_TKaS#{0eZ?!xQqQw7}?Q64{@@|bH9Dnl2;2OHAM&8bwk*2M7My}D+FW41+I7E>NR zKo~%y8FiD#f_h-@bMluPS7+&b1$W(-w=^W^1xaqoJ*GOQl4M(2{NCa}Ps8Thw_qa% zof~glgROYON!hs){pH{Qx81f0R4I|Lv<&|07o9u`nka#SmTPU@mVH?{9eyq7*l&*v zKt#n`MTNP5hbhk#2GHcuCUVsb?_aF^^y3z8&q}iZTH+lU@;U2nY;r!&s>xG{HHRF3veQ4aiqs&>CObNAgl&}C}@C~4qqtpINyFk9eR zZCjI&0Hj9yWMc;XU5~=<#7=1mjsde6Jd+WgiK9V3X|z#CW~9IUYARvEEr8gIe5C17 zi>Uh|EwM{k0lxCa6qt%`qNE=<0|V@)IT;RT)s=YtYDWoXdMrrQnXCc;P(a{IpCIZ5ao&Z`%h?`lP+4H#}BXVe#wUorI>&u)lLWO z*={Z5%?p^F#XMH!aj1q00r>q%2lkZf{n7-WA2wuK!Epu;14ut<6xv9Ge*ADy_v}hG z+xsy#+ycl?niap5LbEQxXaUE?!l+owBsG4m6%P8+bEjYnf<%rooA=g`a&yGZZMt~_ zCLBEsPh}^8UvdO!QldbI!LuUKv4}URknw*TQy~~Lx^1^_JKd*qh`Ox15PkkEw9d^2 z9og$6l&U*{N6Ck0rDILPnroNC6ojZOGDS}T)Gucpi+7yEqbKl89L3p$kw*Rak)Y|* zV-GT+Vr)F&DutJL>Gf)9cKojtpllvMHp-LW0-jihPJg~=&*f%7yPcb1;IDgO+_A$j z^2kB>X7^U8zabUm2#!C#rXzlT!Kvf0{Ol>{y>AD1W?i87geoo!UPo6q_`q&h`{x=CL-MK@nRFE@V2^Y@8Bn-qq%3lw9>avzQhbPPqo>hx1=Byg33Qdd8yB2JK%yM+f z#O8!X?gsbZnZ)3kIFbWs0s_>x=TR@EGLTzXb(YF=6Nr+)_8(N1WG9@qQJ_+^#&*`A zR*ugVXnv$327*K2X`GV=VW<@RzhvSX!Vr!c>9L~C+LZV_Abt&0O$>*c$&pYyISQ)d z^GXPqhA58cB%wgIwb~XQN99={TF_F1*V=1>p;Jy4tU7TFaxPz@Fq;RFKcL*%t$VQf z#&voWxh!Y5tpJVX&+`boEh{`|BaGy^_NQLwd|zr@n*!w2jd1`;D}C4LDTL-9=CX`Z zmtAk{8kc0aYFrZGP?NBEel{dKIb=BI@P5#dY|MF&QM>&-A`7Ey`7_J{@UY$!)_{4T zsPd>B3tH0JJeBaZO`}7hZB`2O-%3^LsQ-J#CtQUsI957F`hlc@#SM9*wmz1x*`W#)-a04J&)jmDzN!KS_=Ui8UNm}9_ zqtR~nRhJ_?ujFMz?hWUw++^nWor3kwJN-qvZkgmT!z>aoTin*lg`#zsEoF3rMQRc* zwk_^N>JzGHZ651UW6c82MsC|&rU3Qbm?a30UJ#xUoQ)rDq5uu}@rLHzmd)G-sM3I* zjWB(`&6LMv3s0N_JU-6aM5Z}!)>dbIG9+ER;8umQWv5SI+!N}cJkH@+F21%Unr$r- z4VZ0;0q{Oa_X}4506`(*)odC9FK-M=(Qx@Twiy=Z@?uJo!}op?hQ5`h;6dc}%72 zF)GlwgjWGxkFQB6MQN8cn2`mLbY8SIHorkFZ$FQi+gi0)bdt~!o_S7`hgS`i#5*?d z%yeE}1+6l^KJ3KNGFwc2KVr2t=5eY#BRF`*4Fmt5hnoDy5e4dXTlIE}<`kf2&7>{? zs@(Of1_;eH3Q%U8(PgJUXRWb?D!?N^pZtVx$d12HxVAiZ%4z*Kb z;JNjw(0D@{)W+YX$Je`pM*^M-zUVeUf$cu3Bh8GxzyTC%v{fCum?zCisxH!dA|N#yg3ta@ zYJc8l(?%D{H8>R(rNV?@Rx{(7U%`_`N$Yy!Z}%-skc~cn`n#Wb7JHl^|8O zRi4?-3R((P2IGt!`17AP4W{hgUN$WqZr_4Ni)OnDm~G*qHq=P2+I~GRDqd>Z#5F){ zC!+q%H=mTHN1vjqlR*HoDvys?wpD_bNewroz}DNP-;g!(;2!s49tKaf#Blib&(jFZ zT?)*=TQ^|vom()%a1TZri#fv#sK;ODpvk&44kFgL#8G+X2nNg?JTrx}t%a`Y^Gu<~ zZpM~TD!=KM<(R8aqO;eL$C8zuebZuob6Ifdz%n z9?pmh8$B2_-8=6_CIT57PPer_!Cs`3#fBzPfYM?N?!`R9*_Qp5jOyvJkb0jx3(2DC z3mNeOGtBmV)fdAng*nh@eHth&-HjcWC!R@;hQ3!X*+A5Vw8q5WV*}3;K0G27;B8WM zfsAXeaFq;l=x%t@zPH}2<#Y{&TNf9Pg}7e>W*5{j*= zt5zglrD?QreD%*0|S3Ta^GU@9bMIPC`_rs3O)_ESgNkSdQMvXC8wybT1xL%$h z!E*i7Seu}F1ZHhj*DSYPnsBx}VRl&#Zp$uU7AWqdn>`VR7Ug@~eHCH`R)6j^N4GW3 zF5a<+2V)<+nsoht0Ke9)ejrS^1&~+k)+7s4N&5A86;e1(bqLV zT%ND+s$ah*0&;=^loDYS3Yc9ss1@jXGxFDc9x3Ot_UtK;lR#M@<{^Re4;L?h7Qg3O zd2Hu--r2s{2B4Ok^W20-AlnkChN^Wa?!+B84#2NX-{tv<#4($4Mcft-p0Q?l26OOm z0MQIg+q26VpMZe6lnHJU(dFq>Z?8&~6nL%V6TNypRi5NXgK)qc;j&Gn+}x~?j-#5w*xTX#x547GJx&SD-bJP9gwM zQ6ccHhDy8!NLK~Tr3#cBVG!HT<22^s?_p*wlP3Ru$Rhylx^o+9#)dj%TWVCD-k1M@ z!MATh-Sjxu$`fom&(oqP*9M?BF%xq;=9%X@RoB|rBxHpSs?D1Qv8Oy+z$*LvpU`;z z46#W<9y~ndK?@)NjT&U|AJi8#pMM-eSnz5{nQ*HGLIsp6KRTH>c}!=jKq-+X{+0}P zyBiBNE}7^d1tR;V-^fgKNY$$&yo2xDq-pqzx$8=_s;ZR8uYXD3u4i>E&exvn7s01e{QhuG-BCVju}LHX|6{pcJJ z$Ant|J>m7tGbE7KNZYk;DocvENK^IXaAQeZV+(D7AM@*ej{ro@*>^#;u-yb71dTE1 zC5xmZ4fo*P-CM1Tqe8m~?IsBurNyJ`yJ~^wr>mDikC2H?5{kR6DQ>wfewB=-D}rFR zhYL1zh>Z}RBouI47I;PtG?J^f=eJjU8$A04VS!B|KH(lfBv{hx)%d)cPt=NhsyvBn zjqboBw`&t=zlYgVP20$n|Ad2kxIme}!-C~Ee<`pml6E?I6m%pLv)_h_Q21kN|4e*1 zJQceJo=uE|H!<+;hrpQO8G7dy=f0fw+nVaMh_}|h4)e?jqV;*&CPdLwvz~&d;PNG? zgV~*f@(98+*b2|cf#hoRAKo9-U$-YE?rM+}-rWG&8c5fztHNt#SC@0CkX3BNBCFjo#+2Awcv?|1Do z47_>WW@VnN+JAze2QFVA9P_x-d%|9MW{Fn@Bjx0V7v_4jednz0TcP6k5ha4hpTJ`V zXh3gJwfQiZBvVXGO4K)_f>-0lBohnp9`OCgn4%jPJSKNib$hqP-^1K~bFRlua28&_ z2KD3CSk|^Qs5YPSVwe%d_n-l~C5O`!%xyJDiG`teZI>^4{CO5$*^mKx{Jzu8U?QvP ze0Vg1Zfk;Vm5gcQpc-ai;m17J`g7Zj8}Q!hVDXqo$Zd^e>N8@1iClHPzB4FZd+{q8 zKnDi89YEX1L0Yt0J`pSS(s`cvFr({$IaC-Pc5bUxZWe6wkgq4x{;kPEDa*99tCzs% zzyE3z1i!ayE4QadU{zg%|Nfi+$JD0}W^eTqB0#ffrhD+r6^6&Ql&&-7;m)bQ9I^!R zE?@E(Kx=o5j?q-8u*u@RCq&@U@yp7gb@~87&s2_jNkww?n}|8 z^-41KUe&AXDGMb8h#v=4^zPBQHNtY2fnyS!=i!6HZ`fvrhwWdkkr)nX7d=;)DfzGS zP<`!knrUgsB;w)yb{oWQLgS1?k)t=WK!wsB1 z-C9yE0RJ8P#|aOr&u{P)x<#=W<^XfN;{eY9K;@zCOWUjKJ^70-bRc72n)t^W2NCH~ zsr-o>^Ig4o3k4`H)aWwii3t(xdP9tyRS!AsxpH;C+`I{IBOnAIHLB1Dydc_apB~!B z0klMT8|qtjlZPFS9D;zQ^PI13IqQ03pQ`i9=-O99Z4tJd?pgLo#eGzKYWBQLPFh` zn*p=X(HnXAau~6Hw?~hxj3I3b*rI5Q&H1)_ozVu~yarE3tQ6fz_#C>iQAUI1^@DC* zho{0rEUCIH<#F9UfLDW=S7N0Ss?&^}+dQ^~Bl_4;s6>`6?BgB&5`~cRSk0*K(*qRm zwVFoVSG8*Xlz~#XFRL5lBJhd`((}G+m;LF>bu~6RgU8QadCVK&+5Y8sb29M*dv4By zWMdV{d=I*##+ga<#04K90@R0lwu6>T3JNTY){R?h0}!!h>4_o%vw-r_dZm}?mNX!l zld<-yRH@?qxG&pmj0>cyN-AYxx0Jq!V4a?oyV>wlZ`Y!$2cF4T)zQ}X4B8A5K$4xTBTbxe+howqy_ z`y}CKZ!l}Ji+LVVw*>*ieln4(rrX!|)ndebqob%zXtquS+ zh+Qjqdcsk8gyGSN)?pq4^@C`qx&(t31n4HKh4L(i*oX?kM}qRGN3AG-FKxm8~oM9*uLW|C0IZ4u?E zHD?OU+v}P2zJ>xTTLV}!RR8gx8=73r5##wdy(-VtN{O(bJNXfW9n1$(r=R=$Qy95EEYh;%% z!gEPcHv4&MtXcve?c7R1;;+WPi@&c?TsTwW0s0Bm2VNqw+)l#Q8#Cw;9gl7zzjhUxMy-aYW5QtIjccM1 z{dn-4bUSkr24LV#GCHDK{Sdldf1QKwXa0b$7{7gc z@)&%3;wXG|GFPJLwe8$64tkOEyH3#X@EqaQ!O0vM!Z^V?WPRX~`U@7r7eVSf2qOZQlYN5tQ#v zoq!%^PotfJZ;t&2ZFg;h*RoRJ>5#>sM#Nf-_E7NbY-YNK*HcfuC|^A5EKAXi!u_^fANp&N zndtF$0c2fi=(ZxLj1YA@drA}_bHLp3$gfZ*A_TPdCn$IUvj*cG4Z0v|(}|6%2zHVv5!%xl&(9yC;Y>f!L(oZdu)%8b&2B!e43d|1LVF}E;@$@ zRjS{WOVApjduHtl2q21NzdT`SjXhpGRp-G|9e=h>%vwlB#X9JLg;G+GJ@4W_&~o`A z2;^s6qe|?yAdp&rqyGD@pltcZWV&oo#_D4m3y~#$x%^4I*7Kb@zQ8YZF}kkcVnKLB zD}z~&8`p~sgLNKCYxzd%FTWWd4lib>&=lSoM3!X_jGIUX)*M|^%@sjReVotp5cSa_ zG*#wJgT@i7;Ij>xu;kYRu+xKCCUINuu3BpAw#2q%2)Qh)+amB32Vmf=Y1d{Oj$wVY zC)u_QSy`!%V@4JjSeeWjc)#`fN4`NbZ*kBB8wHgo%taAzw0E5_z}AzFX&0<=ns zhUV+jZT366GFnUM&MoMD;XHIad;mW9WfQ!Wvku-^mqz0ra&4KD4Xumv;q(2wq4&Ad zF!$C?NV|6z_Ig-N<4>M|R~OH9fX87on0TsgfhS<-PsYHZ{V;I;^0vHQopyBIr;IW$ zXDTG6`(!I?YvHx7d_eE1@}+Z0re*YV)jog~v{cxg7}ep|x)$cpvrL|bC>#HJNkQ-C zIOzRcxHDHq+#T8JNH(F3#eYvh*RmRIBWaN5>C$xQ`eKeBh3Dr@x1A^y-OuARU?%Vo z_hr=g>;md{{x^?|otKu5p_+|p1+NG2Fsl%)Bjn}lOG@B3@Et#FgWrmU2+T5rGqo^`B^I8=VENlq$7%3fQh3N3*+jI32uvi}2DH6pR8^I1 z44by45b8`D?_>k~Am?t2uRIi>eg^-3Jwg5HN1Mo)v9Z&$v3wxv;}}qL^7ph?wQ9}f zGsd5x?kN-@5^dHN2^>Z1lb?&lfdBHJP{ z&rqs9hJZnRK-a0=IZ2@QO*&?NepMet;Or`()|g$H@8_R%^_w@<$SKYeqw5Or3j~iF z`{Vb>y4E&~DLg$;huIPU*+#J)ue%r&yLh&TL2}>$chw=;THJ|a@c!yx=CW+(c>+oo z^ALcHB=gdL_m$D_(Xdy)3JL1fwL=DCZ{{s0@cqDS(NwgHq&pxbfP{cgvaCn zPYKSdH&2LwwSS!Oc#2;xd%It|2E#B&w=7Kv%=5UlJYfevNsgvX@s-WlVbw-!>@ zrKV%$&s#8k!s{VDtgeh~K=Sb+Z|phw;65>a3ullb-UgTL16DXcZv0f(G8nkE5DKnc zEtB$Z<)NqhDopuXg)D{2<3`-iejXcm0;%%!BWBR|`VQ0|yq`kGhK*6hhv~Y+T$zgb zRB{xgk?-*Sxqd-2iTW7Cl}DtMu3ZggvJLf(gh&Yb?GR=r_x?5TZ2bE#=#iQLHTbGC zM$Byq#5}`AvMnn>2LImOLH)@Gg*YZn*w|E~WAzYSmyiloU{l~)jO=StAM54yyx*w7 zI~9v&5qOFzFir~{%oQwX$?rX(#p^3EYhdo7eXt1?=~0A+#5wE#IuAc&Btz|~<6NHG zavt+o;R&>fdHRum7yI|^3EFla?<38)>6mb1qvb7EJmFPN9{hMnj{(|KWR_Y|v0`)i zm?1|Li)IpdiYYKc@HlCiB(#UQB0~0J?`N)ZSUPXka_Mb3|OBD zO&8370L!V-A);=}-)*<$FxOKY@KZ0)eBSn$T&H`Tj0M8;6ieA3dfekG9`d8dVYxu9 zzHi;9Tl$S2a$JEi5yDgKthke7>i}mJ;JKDbPon#KH!%vv?f3To#%XD4Qo zD-RujZl5QyX>2L7g)HnY2u(WzsBxI?OXg3mxe2c_n;ph516}a8+1Wvo|`uvDo+^cx}c@lJdayz zTh@TtzfVulv~PQq!DG(20@;{I%QHOoOC8*CAddb9WXpix;66JQb0!l7GNAI91dkgp zcDH?i^WsjV_r#NnW<%qU#n1xXU5B&;7*LP{Gj{KQ)yIxN(%I9n{=(mof8{c4#&~M$ zjq9{1!Sd_wC#CYuoTOo3CDl+>8G}`nfX@dHg6W+P53VZ!Ulz zvQpvWh)`(0YymtwdkRz}Ed^}q61u1iHcI5spH0wgt2}|`V0lPC6BjUd1MR0D@AcK` z-eB<5VHub5K`vEz5+W5X528{%i`Rxysq_VTzn(eDY2%3k5rB*on$q;1nD4r{lh$qn zJXuvIrej4dtIVBBD}&WrG8Y=-!2jQhMes5L_h#sF_$)pOIwVEIr}2@{Ix-YmtPX}| zOXov9j9+Tbngo@}v1HOd3Drd>(muf7ZFmOXN2*RI2~A{chW3*W3h*BPAGz1;o>yXH zAT4h}v%8s@jD3L0>;pBx5BR+N`>wGHy!jNGWpfSGUAfumPx!d88)fC3o){I{hAPw= zdz9-ok>i|HL>)84#XOJuGtA6w8R!giw{Jl6L90Z(w@sZ>122mw8 ziB%szXcPI@9cC-W3^gbb1XLh{+RZx54plPdPI2R`y4~rC>8?*tl%O@XLj`zYc!s*j zwg&NB)<98s0b&_$}=znE?Y>)shOZCdB~YPBuM zJ;ZzY9IIs*z{|ECY2^`9A}O1T@Tc1-mC6QWeTK$G9X_3*8aCjD3I`V+qeC$KEb?6PXH zd#8RFI||DSMCRbypPtF~@u^GxvdCYUM5lX0@%0yLRD*xKrpAF}ZmSs0NZplSl?>-+ z)wKduGB|MT;NfRm6J0BhUNBV`E_C2O%ISU{BR(%C&&k$PUFVM1l&xEZOEA{4sE$ll zkKQZpo|%K?{}enzagm&@5?8iUqvvIf>bLd#rbCKqNWVK2B(6cNK{IQjQDasdH{6!i zt$Ci&_ZRcHoM9d$S{aN~$RN-4KYb6nuAT0vKYl+={`AwI3aCzHcCY0B_IRhHYUIP_ zE&`Yuk=Up)N%yH+Yu2ojZ|5&F)PsM#sm8&gpv<0RLNj2hZsMSE67$&4^GtS}=h3;< zSACeJeSrSwVQ#rCkyPD;N@Jk#kjX$y%XQy&x~XpSex~BN246F98nb)wEK{8Tc8`4i ztE%I!8fln+uR$eSp&*lFO~_4^Jy-8D#h2~YD1Yp6Mva4^K>(QY7!e#|CaN|>eoo%dt*r)kwmmTFEv-RiQBer$}bk_B>iMdE>?%m7jgQOxgXLy{eyj z-Bx3Eqd@?8HF}JwJ_g<7u||XkZInqjkp;^WO1eBD(&>-1h#WoGi2pYFlU`f+Jit8L zY=)-$H@7ukw%e-st?*ogMR!d zBSK@;j~ijR`u{xKs7Lc3I}D!>q2s^ny>7D(@;=yxI?e3RZm8K3Cnd%TaZoo>w&kdxI8LK}VX3;K1uhKunhF2V^rSe`;J!dQ8*4EL*7WRrRnz&4qpEfv=c-z_3Rb+_>?fZp72jh@ z)6`CF8nCsi>g==V9xKj+14+iF?bR$ZslwKRp0>bbRVE8iXs^hguGLol>PvkU@4Y=; z_1Q~j;p(LIH>OQ*%sAjAE&F^v<_9YdTW~UrI-5p)vDE2B9Sy_|5sD?f18!Y49(N* zy;foGUBf<$>@heG79?+$k(gCU!-I*e4b`R-lVtvc44yS^vWMygrVuZZ!S~f_Tl!S5 z^1ffqY9IR5uJJK7d``YbzQ+K0iMUJN&s$+JD-1F6f0Oq>-V67h_|TZ$l$3pz$KX5! zknB~750gJjf2*>;cmh-%n&IHU%5;jxQmyuRsaC-$gjKQl%EdR!_bji+pC!M8{4NR$ z`Q7CI;DD*Y{_jfcz3`#2SDVM+lv9}e*uJWogU>Ce)MwU! zS$zgaT?WY0>}P7T-|-~-ot4@Dp=bZ6ioJ)&&^)3rd9y*2vfxzC=2Vm{elmmQ&s<9& z3ur4b82DC+eJ_x`)}IH8n*B}%`#*fx|0%I^PmiH_#DU^NWd=*e2HckozMQFskeR>l z%YH`21BDOEV_^OxP}##(!45RO3BAVt_x$G`{|{u-^r!-@mf-*Z002ovPDHLkV1g#~ BN)`YB literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable-xxxhdpi/ic_launcher.png b/opensrp-chw/src/nacp/res/drawable-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..9d989b9c1c507965aeea73f8caca643649e9cf49 GIT binary patch literal 17921 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

    yu&NA&62nhn+vt2L3}LOIu<5TuuD0e1Cy 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 bG9jQ6<>O(c=+uTmuj5BfAO3jI_2K^m#+|1- literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java new file mode 100644 index 0000000000..0da49bb1ba --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/AncMedicalHistoryActivityFlv.java @@ -0,0 +1,51 @@ +package org.smartregister.chw.activity; + +import android.content.Context; +import android.view.View; +import android.widget.TextView; + +import org.smartregister.chw.R; +import org.smartregister.chw.core.activity.DefaultAncMedicalHistoryActivityFlv; + +import java.text.MessageFormat; +import java.util.List; +import java.util.Map; + +public class AncMedicalHistoryActivityFlv extends DefaultAncMedicalHistoryActivityFlv { + + @Override + protected void processAncCard(String has_card, Context context) { + // super.processAncCard(has_card, context); + linearLayoutAncCard.setVisibility(View.GONE); + } + + @Override + protected void processHealthFacilityVisit(List> hf_visits, Context context) { + //super.processHealthFacilityVisit(hf_visits, context); + + if (hf_visits != null && hf_visits.size() > 0) { + linearLayoutHealthFacilityVisit.setVisibility(View.VISIBLE); + + int x = 1; + for (Map vals : hf_visits) { + View view = inflater.inflate(R.layout.medial_history_anc_visit, null); + + TextView tvTitle = view.findViewById(R.id.title); + TextView tvTests = view.findViewById(R.id.tests); + tvTests.setVisibility(View.GONE); + + view.findViewById(R.id.weight).setVisibility(View.GONE); + view.findViewById(R.id.bp).setVisibility(View.GONE); + view.findViewById(R.id.hb).setVisibility(View.GONE); + view.findViewById(R.id.ifa_received).setVisibility(View.GONE); + + + tvTitle.setText(MessageFormat.format(context.getString(R.string.anc_visit_date), (x), vals.get("anc_hf_visit_date"))); + + linearLayoutHealthFacilityVisitDetails.addView(view, 0); + + x++; + } + } + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/ChildMedicalHistoryActivityFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/ChildMedicalHistoryActivityFlv.java new file mode 100644 index 0000000000..717789c1b6 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/ChildMedicalHistoryActivityFlv.java @@ -0,0 +1,36 @@ +package org.smartregister.chw.activity; + +import android.content.Context; + +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.core.activity.DefaultChildMedicalHistoryActivityFlv; +import org.smartregister.immunization.domain.ServiceRecord; +import org.smartregister.immunization.domain.Vaccine; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public class ChildMedicalHistoryActivityFlv extends DefaultChildMedicalHistoryActivityFlv { + + @Override + public void processViewData(List visits, Map> vaccineMap, List serviceTypeListMap, Context context) { + this.visits = visits; + this.vaccineMap = vaccineMap; + + for (Visit v : this.visits) { + List type_visits = visitMap.get(v.getVisitType()); + if (type_visits == null) type_visits = new ArrayList<>(); + + type_visits.add(v); + visitMap.put(v.getVisitType(), type_visits); + } + + evaluateLastVisitDate(); + evaluateImmunizations(); + evaluateGrowthAndNutrition(); + evaluateECD(); + evaluateLLITN(); + } + +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/ChildProfileActivityFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/ChildProfileActivityFlv.java new file mode 100644 index 0000000000..119048c9ff --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/ChildProfileActivityFlv.java @@ -0,0 +1,29 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; + +import org.smartregister.chw.R; +import org.smartregister.chw.core.fragment.FamilyCallDialogFragment; +import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.presenter.ChildProfilePresenter; + +public class ChildProfileActivityFlv extends DefaultChildProfileActivityFlv { + + @Override + public OnClickFloatingMenu getOnClickFloatingMenu(final Activity activity, final ChildProfilePresenter presenter) { + return viewId -> { + if (presenter != null) { + switch (viewId) { + case R.id.call_layout: + FamilyCallDialogFragment.launchDialog(activity, presenter.getFamilyId()); + break; + case R.id.refer_to_facility_layout: + presenter.referToFacility(); + break; + default: + break; + } + } + }; + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java new file mode 100644 index 0000000000..4bdc8712ce --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/FamilyOtherMemberProfileActivityFlv.java @@ -0,0 +1,88 @@ +package org.smartregister.chw.activity; + +import android.app.Activity; +import android.view.Menu; +import android.widget.Toast; + +import androidx.annotation.Nullable; + +import org.smartregister.chw.BuildConfig; +import org.smartregister.chw.R; +import org.smartregister.chw.core.fragment.FamilyCallDialogFragment; +import org.smartregister.chw.core.listener.OnClickFloatingMenu; +import org.smartregister.chw.core.utils.Utils; +import org.smartregister.chw.util.UtilsFlv; +import org.smartregister.commonregistry.CommonPersonObjectClient; + +import static org.smartregister.chw.util.Utils.getCommonReferralTypes; +import static org.smartregister.chw.util.Utils.launchClientReferralActivity; + +public class FamilyOtherMemberProfileActivityFlv implements FamilyOtherMemberProfileActivity.Flavor { + + @Override + public OnClickFloatingMenu getOnClickFloatingMenu(final Activity activity, final String familyBaseEntityId, final String baseEntityId) { + return viewId -> { + switch (viewId) { + case R.id.call_layout: + Toast.makeText(activity, "Call client", Toast.LENGTH_SHORT).show(); + FamilyCallDialogFragment.launchDialog(activity, familyBaseEntityId); + break; + case R.id.refer_to_facility_layout: + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) { + launchClientReferralActivity(activity, getCommonReferralTypes(activity,baseEntityId), baseEntityId); + } else { + Toast.makeText(activity, "Refer to facility", Toast.LENGTH_SHORT).show(); + } + break; + default: + break; + } + }; + } + + @Override + public void updateMalariaMenuItems(String baseEntityId, Menu menu) { + // UtilsFlv.updateMalariaMenuItems(baseEntityId, menu); + } + + @Override + public void updateMaleFpMenuItems(String baseEntityId, Menu menu) { + // UtilsFlv.updateFpMenuItems(baseEntityId, menu); + } + + @Override + public void updateHivMenuItems(@Nullable String baseEntityId, @Nullable Menu menu) { + UtilsFlv.updateHivMenuItems(baseEntityId, menu); + } + + @Override + public void updateTbMenuItems(@Nullable String baseEntityId, @Nullable Menu menu) { + // UtilsFlv.updateTbMenuItems(baseEntityId, menu); + } + + @Override + public void updateFpMenuItems(String baseEntityId, Menu menu) { + // UtilsFlv.updateFpMenuItems(baseEntityId, menu); + } + + @Override + public boolean isOfReproductiveAge(CommonPersonObjectClient commonPersonObject, String gender) { + if (gender.equalsIgnoreCase("Female")) { + return Utils.isMemberOfReproductiveAge(commonPersonObject, 10, 49); + } else if (gender.equalsIgnoreCase("Male")) { + return Utils.isMemberOfReproductiveAge(commonPersonObject, 15, 49); + } else { + return false; + } + } + + public boolean isWra(CommonPersonObjectClient commonPersonObject) { + return Utils.isMemberOfReproductiveAge(commonPersonObject, 10, 49); + + } + + @Override + public boolean hasANC() { + return true; + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/HivProfileActivityFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/HivProfileActivityFlv.java new file mode 100644 index 0000000000..c4c2717803 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/HivProfileActivityFlv.java @@ -0,0 +1,12 @@ +package org.smartregister.chw.activity; + +import android.view.Menu; + +import org.smartregister.chw.util.UtilsFlv; + +public class HivProfileActivityFlv extends DefaultHivProfileActivityFlv { +// @Override +// public void updateTbMenuItems(String baseEntityId, Menu menu) { +// UtilsFlv.updateTbMenuItems(baseEntityId, menu); +// } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/PncMedicalHistoryActivityFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/PncMedicalHistoryActivityFlv.java new file mode 100644 index 0000000000..c35709139b --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/PncMedicalHistoryActivityFlv.java @@ -0,0 +1,6 @@ +package org.smartregister.chw.activity; + +import org.smartregister.chw.core.helper.BaMedicalHistoryActivityHelper; + +public class PncMedicalHistoryActivityFlv extends BaMedicalHistoryActivityHelper { +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java new file mode 100644 index 0000000000..878c2544d7 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/PncMemberProfileActivityFlv.java @@ -0,0 +1,23 @@ +package org.smartregister.chw.activity; + +import android.view.Menu; + +import org.smartregister.chw.R; +import org.smartregister.chw.fp.dao.FpDao; +import org.smartregister.chw.util.UtilsFlv; + +public class PncMemberProfileActivityFlv implements PncMemberProfileActivity.Flavor { + + @Override + public Boolean onCreateOptionsMenu(Menu menu, String baseEntityId) { + UtilsFlv.updateMalariaMenuItems(baseEntityId, menu); + if (FpDao.isRegisteredForFp(baseEntityId)) { + menu.findItem(R.id.action_fp_change).setVisible(true); + } else { + menu.findItem(R.id.action_fp_initiation_pnc).setVisible(true); + } + UtilsFlv.updateHivMenuItems(baseEntityId, menu); + UtilsFlv.updateTbMenuItems(baseEntityId, menu); + return true; + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/TbProfileActivityFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/TbProfileActivityFlv.java new file mode 100644 index 0000000000..700e1d3cf3 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/activity/TbProfileActivityFlv.java @@ -0,0 +1,12 @@ +package org.smartregister.chw.activity; + +import android.view.Menu; + +import org.smartregister.chw.util.UtilsFlv; + +public class TbProfileActivityFlv extends DefaultTbProfileActivityFlv { + @Override + public void updateHivMenuItems(String baseEntityId, Menu menu) { + UtilsFlv.updateHivMenuItems(baseEntityId, menu); + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java new file mode 100644 index 0000000000..cd7337442d --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/application/ChwApplicationFlv.java @@ -0,0 +1,139 @@ +package org.smartregister.chw.application; + +import org.smartregister.chw.core.utils.ChildDBConstants; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.util.ChwDBConstants; +import org.smartregister.family.util.DBConstants; + +import java.util.HashMap; +import java.util.Map; + +public class ChwApplicationFlv extends DefaultChwApplicationFlv { + @Override + public boolean hasP2P() { + return false; + } + + @Override + public boolean hasReferrals() { + return true; + } + + @Override + public boolean flvSetFamilyLocation() { + return true; + } + + @Override + public boolean hasANC() { + return true; + } + + @Override + public boolean hasPNC() { + return true; + } + + @Override + public boolean hasChildSickForm() { + return true; + } + + @Override + public boolean hasFamilyPlanning() { + return true; + } + + @Override + public boolean hasWashCheck() { + return false; + } + + @Override + public boolean hasMalaria() { + return false; + } + + @Override + public boolean hasServiceReport() { + return true; + } + + public boolean hasQR() { + return true; + } + + @Override + public boolean hasJobAids() { + return false; + } + + @Override + public boolean hasTasks() { + return true; + } + + @Override + public boolean hasStockUsageReport() { + return true; + } + + @Override + public boolean hasHIV() { + return true; + } + + @Override + public boolean hasFamilyLocationRow() { + return true; + } + + @Override + public boolean hasTB() { + return true; + } + + @Override + public boolean usesPregnancyRiskProfileLayout() { + return true; + } + + public boolean getChildFlavorUtil() { + return true; + } + + @Override + public boolean includeCurrentChild() { + return true; + } + + @Override + public boolean hasMap() { + return true; + } + + @Override + public boolean hasEventDateOnFamilyProfile() { + return true; + } + + @Override + public Map getFTSSearchMap() { + Map map = new HashMap<>(); + map.put(CoreConstants.TABLE_NAME.FAMILY, new String[]{ + DBConstants.KEY.BASE_ENTITY_ID, DBConstants.KEY.VILLAGE_TOWN, DBConstants.KEY.FIRST_NAME, + DBConstants.KEY.LAST_NAME, DBConstants.KEY.UNIQUE_ID, ChwDBConstants.NEAREST_HEALTH_FACILITY + }); + + map.put(CoreConstants.TABLE_NAME.FAMILY_MEMBER, new String[]{ + DBConstants.KEY.BASE_ENTITY_ID, DBConstants.KEY.FIRST_NAME, DBConstants.KEY.MIDDLE_NAME, + DBConstants.KEY.LAST_NAME, DBConstants.KEY.UNIQUE_ID, ChildDBConstants.KEY.ENTRY_POINT, DBConstants.KEY.DOB, DBConstants.KEY.DATE_REMOVED + }); + + map.put(CoreConstants.TABLE_NAME.CHILD, new String[]{ + DBConstants.KEY.BASE_ENTITY_ID, DBConstants.KEY.FIRST_NAME, DBConstants.KEY.MIDDLE_NAME, + DBConstants.KEY.LAST_NAME, DBConstants.KEY.UNIQUE_ID, ChildDBConstants.KEY.ENTRY_POINT, DBConstants.KEY.DOB, DBConstants.KEY.DATE_REMOVED + }); + return map; + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/FamilyMemberFloatingMenuFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/FamilyMemberFloatingMenuFlv.java new file mode 100644 index 0000000000..a78286a7b0 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/FamilyMemberFloatingMenuFlv.java @@ -0,0 +1,27 @@ +package org.smartregister.chw.custom_view; + +import com.google.android.material.floatingactionbutton.FloatingActionButton; + +import org.smartregister.chw.R; + +import static org.smartregister.chw.core.utils.Utils.redrawWithOption; + +public class FamilyMemberFloatingMenuFlv implements FamilyMemberFloatingMenu.Flavor { + + @Override + public void reDraw(FamilyMemberFloatingMenu menu, boolean has_phone) { + redrawWithOption(menu, has_phone); + } + + @Override + public void prepareFab(final FamilyMemberFloatingMenu menu, FloatingActionButton fab) { + fab.setOnClickListener(v -> menu.animateFAB()); + + fab.setImageResource(R.drawable.ic_edit_white); + } + + @Override + public void fabInteraction(FamilyMemberFloatingMenu menu) { + menu.animateFAB(); + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java new file mode 100644 index 0000000000..61ba6450bd --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/custom_view/NavigationMenuFlv.java @@ -0,0 +1,66 @@ +package org.smartregister.chw.custom_view; + +import android.app.Activity; +import android.content.Intent; + +import org.apache.commons.lang3.tuple.Pair; +import org.smartregister.chw.core.activity.CoreStockInventoryReportActivity; +import org.smartregister.chw.core.activity.HIA2ReportsActivity; +import org.smartregister.chw.core.custom_views.NavigationMenu; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.referral.util.Constants; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; + +public class NavigationMenuFlv implements NavigationMenu.Flavour { + + @Override + public List> getSupportedLanguages() { + return Arrays.asList(Pair.of("English", Locale.ENGLISH), Pair.of("Kiswahili", new Locale("sw"))); + } + + @Override + public HashMap getTableMapValues() { + HashMap tableMap = new HashMap<>(); + tableMap.put(CoreConstants.DrawerMenu.REFERRALS, Constants.Tables.REFERRAL); + return tableMap; + } + + @Override + public boolean hasServiceReport() { + return true; + } + + @Override + public boolean hasStockReport() { + return true; + } + + @Override + public boolean hasCommunityResponders() { + return true; + } + + @Override + public Intent getStockReportIntent(Activity activity) { + return new Intent(activity, CoreStockInventoryReportActivity.class); + } + + @Override + public Intent getServiceReportIntent(Activity activity) { + return new Intent(activity, HIA2ReportsActivity.class); + } + + @Override + public String childNavigationMenuCountString() { + return null; + } + + @Override + public Intent getHIA2ReportActivityIntent(Activity activity) { + return new Intent(activity, HIA2ReportsActivity.class); + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/dao/ChwPNCDaoFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/dao/ChwPNCDaoFlv.java new file mode 100644 index 0000000000..f9c724a2da --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/dao/ChwPNCDaoFlv.java @@ -0,0 +1,22 @@ +package org.smartregister.chw.dao; + +import org.smartregister.dao.AbstractDao; + +import java.util.List; + +public class ChwPNCDaoFlv extends DefaultChwPNCDaoFlv { + + public static boolean hasFamilyPlanning(String baseEntityID) { + String sql = "select count(*) records from visit_details vd " + + "inner join visits v on vd.visit_id = v.visit_id COLLATE NOCASE and vd.visit_key = 'fp_method' and vd.human_readable_details <> 'None' " + + "where v.base_entity_id = '" + baseEntityID + "' and v.processed = 1 "; + + AbstractDao.DataMap dataMap = c -> getCursorIntValue(c, "records"); + + List res = readData(sql, dataMap); + if (res == null || res.size() < 1) + return false; + + return res.get(0) > 0; + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/fragment/BaseHomeVisitImmunizationFragmentFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/fragment/BaseHomeVisitImmunizationFragmentFlv.java new file mode 100644 index 0000000000..a4e5ffff18 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/fragment/BaseHomeVisitImmunizationFragmentFlv.java @@ -0,0 +1,35 @@ +package org.smartregister.chw.fragment; + +import org.smartregister.chw.anc.contract.BaseAncHomeVisitContract; +import org.smartregister.chw.anc.domain.VaccineDisplay; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.anc.util.JsonFormUtils; +import org.smartregister.chw.anc.util.NCUtils; + +import java.util.List; +import java.util.Map; + +public class BaseHomeVisitImmunizationFragmentFlv extends DefaultBaseHomeVisitImmunizationFragment { + + public static BaseHomeVisitImmunizationFragmentFlv getInstance(final BaseAncHomeVisitContract.VisitView view, String baseEntityID, Map> details, List vaccineDisplays) { + return getInstance(view, baseEntityID, details, vaccineDisplays, true); + } + + public static BaseHomeVisitImmunizationFragmentFlv getInstance(final BaseAncHomeVisitContract.VisitView view, String baseEntityID, Map> details, List vaccineDisplays, boolean defaultChecked) { + BaseHomeVisitImmunizationFragmentFlv fragment = new BaseHomeVisitImmunizationFragmentFlv(); + fragment.visitView = view; + fragment.baseEntityID = baseEntityID; + fragment.details = details; + fragment.vaccinesDefaultChecked = defaultChecked; + for (VaccineDisplay vaccineDisplay : vaccineDisplays) { + fragment.vaccineDisplays.put(vaccineDisplay.getVaccineWrapper().getName(), vaccineDisplay); + } + + if (details != null && details.size() > 0) { + fragment.jsonObject = NCUtils.getVisitJSONFromVisitDetails(view.getMyContext(), baseEntityID, details, vaccineDisplays); + JsonFormUtils.populateForm(fragment.jsonObject, details); + } + + return fragment; + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/intent/ChwPncCloseDateIntentFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/intent/ChwPncCloseDateIntentFlv.java new file mode 100644 index 0000000000..b04419f0fe --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/intent/ChwPncCloseDateIntentFlv.java @@ -0,0 +1,8 @@ +package org.smartregister.chw.intent; + +public class ChwPncCloseDateIntentFlv extends DefaultChwPncCloseDateIntentFlv { + @Override + public int getNumberOfDays() { + return 43; + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java new file mode 100644 index 0000000000..f021803394 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncHomeVisitInteractorFlv.java @@ -0,0 +1,720 @@ +package org.smartregister.chw.interactor; + +import android.content.Context; + +import org.apache.commons.lang3.StringUtils; +import org.joda.time.DateTime; +import org.joda.time.LocalDate; +import org.joda.time.format.DateTimeFormat; +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.actionhelper.HealthFacilityVisitAction; +import org.smartregister.chw.anc.AncLibrary; +import org.smartregister.chw.anc.contract.BaseAncHomeVisitContract; +import org.smartregister.chw.anc.domain.MemberObject; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.anc.model.BaseAncHomeVisitAction; +import org.smartregister.chw.anc.util.VisitUtils; +import org.smartregister.chw.util.Constants; +import org.smartregister.chw.util.ContactUtil; +import org.smartregister.chw.util.JsonFormUtils; + +import java.text.MessageFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import timber.log.Timber; + +public class AncHomeVisitInteractorFlv implements AncHomeVisitInteractor.Flavor { + @Override + public LinkedHashMap calculateActions(BaseAncHomeVisitContract.View view, MemberObject memberObject, BaseAncHomeVisitContract.InteractorCallBack callBack) throws BaseAncHomeVisitAction.ValidationException { + LinkedHashMap actionList = new LinkedHashMap<>(); + + Context context = view.getContext(); + + Map> details = null; + // get the preloaded data + if (view.getEditMode()) { + Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(memberObject.getBaseEntityId(), Constants.EventType.ANC_HOME_VISIT); + if (lastVisit != null) { + details = VisitUtils.getVisitGroups(AncLibrary.getInstance().visitDetailsRepository().getVisits(lastVisit.getVisitId())); + } + } + + // get contact + LocalDate lastContact = new DateTime(memberObject.getDateCreated()).toLocalDate(); + boolean isFirst = (StringUtils.isBlank(memberObject.getLastContactVisit())); + LocalDate lastMenstrualPeriod = new LocalDate(); + try { + lastMenstrualPeriod = DateTimeFormat.forPattern("dd-MM-yyyy").parseLocalDate(memberObject.getLastMenstrualPeriod()); + } catch (Exception e) { + Timber.e(e); + } + + + if (StringUtils.isNotBlank(memberObject.getLastContactVisit())) { + lastContact = DateTimeFormat.forPattern("dd-MM-yyyy").parseLocalDate(memberObject.getLastContactVisit()); + } + + Map dateMap = new LinkedHashMap<>(); + + // today is the due date for the very first visit + if (isFirst) { + dateMap.put(0, LocalDate.now()); + } + + dateMap.putAll(ContactUtil.getContactWeeks(isFirst, lastContact, lastMenstrualPeriod)); + + evaluateDangerSigns(actionList, details, context); + evaluateHealthFacilityVisit(actionList, details, memberObject, dateMap, context); + evaluateFamilyPlanning(actionList, details, context); + evaluateNutritionStatus(actionList, details, context); + evaluateCounsellingStatus(actionList, details, context); + evaluateMalaria(actionList, details, context); + evaluateObservation(actionList, details, context); + evaluateRemarks(actionList, details, context); + + return actionList; + } + + private void evaluateDangerSigns(LinkedHashMap actionList, + Map> details, + final Context context) throws BaseAncHomeVisitAction.ValidationException { + BaseAncHomeVisitAction danger_signs = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_danger_signs)) + .withOptional(false) + .withDetails(details) + .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getDangerSigns()) + .withHelper(new DangerSignsAction()) + .build(); + actionList.put(context.getString(R.string.anc_home_visit_danger_signs), danger_signs); + } + + private void evaluateHealthFacilityVisit(LinkedHashMap actionList, + Map> details, + final MemberObject memberObject, + Map dateMap, + final Context context) throws BaseAncHomeVisitAction.ValidationException { + String visit_title = MessageFormat.format(context.getString(R.string.anc_home_visit_facility_visit), memberObject.getConfirmedContacts() + 1); + BaseAncHomeVisitAction facility_visit = new BaseAncHomeVisitAction.Builder(context, visit_title) + .withOptional(false) + .withDetails(details) + .withHelper(new HealthFacilityAction(memberObject, dateMap)) + .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getHealthFacilityVisit()) + .build(); + + actionList.put(visit_title, facility_visit); + } + + private void evaluateFamilyPlanning(LinkedHashMap actionList, + Map> details, + final Context context) throws BaseAncHomeVisitAction.ValidationException { + BaseAncHomeVisitAction family_planning_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_family_planning)) + .withOptional(false) + .withDetails(details) + .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getFamilyPlanning()) + .withHelper(new FamilyPlanningAction()) + .build(); + actionList.put(context.getString(R.string.anc_home_visit_family_planning), family_planning_ba); + } + + private void evaluateNutritionStatus(LinkedHashMap actionList, + Map> details, + final Context context) throws BaseAncHomeVisitAction.ValidationException { + BaseAncHomeVisitAction nutrition_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_nutrition_status)) + .withOptional(true) + .withDetails(details) + .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getNutritionStatus()) + .withHelper(new NutritionAction()) + .build(); + actionList.put(context.getString(R.string.anc_home_visit_nutrition_status), nutrition_ba); + } + + private void evaluateCounsellingStatus(LinkedHashMap actionList, + Map> details, + final Context context) throws BaseAncHomeVisitAction.ValidationException { + BaseAncHomeVisitAction counselling_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_counselling_task)) + .withOptional(false) + .withDetails(details) + .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getCOUNSELLING()) + .withHelper(new CounsellingStatusAction()) + .build(); + actionList.put(context.getString(R.string.anc_home_visit_counselling_task), counselling_ba); + } + + private void evaluateMalaria(LinkedHashMap actionList, + Map> details, + final Context context) throws BaseAncHomeVisitAction.ValidationException { + BaseAncHomeVisitAction malaria_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_malaria_prevention)) + .withOptional(false) + .withDetails(details) + .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getMALARIA()) + .withHelper(new MalariaAction()) + .build(); + actionList.put(context.getString(R.string.anc_home_visit_malaria_prevention), malaria_ba); + } + + private void evaluateObservation(LinkedHashMap actionList, + Map> details, + final Context context) throws BaseAncHomeVisitAction.ValidationException { + BaseAncHomeVisitAction remark_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_observations_n_illnes)) + .withOptional(true) + .withDetails(details) + .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getObservationAndIllness()) + .withHelper(new ObservationAction()) + .build(); + actionList.put(context.getString(R.string.anc_home_visit_observations_n_illnes), remark_ba); + } + + private void evaluateRemarks(LinkedHashMap actionList, + Map> details, + final Context context) throws BaseAncHomeVisitAction.ValidationException { + BaseAncHomeVisitAction remark_ba = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_remarks_and_comments)) + .withOptional(true) + .withDetails(details) + .withFormName(Constants.JSON_FORM.ANC_HOME_VISIT.getRemarksAndComments()) + .withHelper(new RemarksAction()) + .build(); + actionList.put(context.getString(R.string.anc_home_visit_remarks_and_comments), remark_ba); + } + + + private class DangerSignsAction implements BaseAncHomeVisitAction.AncHomeVisitActionHelper { + private String danger_signs_counseling; + private String danger_signs_present; + private Context context; + + @Override + public void onJsonFormLoaded(String s, Context context, Map> map) { + this.context = context; + } + + @Override + public String getPreProcessed() { + return null; + } + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + danger_signs_counseling = JsonFormUtils.getValue(jsonObject, "danger_signs_counseling"); + danger_signs_present = JsonFormUtils.getCheckBoxValue(jsonObject, "danger_signs_present"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public BaseAncHomeVisitAction.ScheduleStatus getPreProcessedStatus() { + return null; + } + + @Override + public String getPreProcessedSubTitle() { + return null; + } + + @Override + public String postProcess(String s) { + return null; + } + + @Override + public String evaluateSubTitle() { + return MessageFormat.format(context.getString(R.string.anc_home_visit_danger_signs) + ": " + "{0}", danger_signs_present) + + "\n" + + MessageFormat.format( context.getString(R.string.anc_health_facility_counselling_subtitle) + " " + "{0}", + (danger_signs_counseling.equalsIgnoreCase("Yes") ? context.getString(R.string.done).toLowerCase() : context.getString(R.string.not_done).toLowerCase()) + ); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(danger_signs_counseling)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + if (danger_signs_counseling.equalsIgnoreCase("Yes")) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else if (danger_signs_counseling.equalsIgnoreCase("No")) { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PENDING; + } + } + + @Override + public void onPayloadReceived(BaseAncHomeVisitAction baseAncHomeVisitAction) { + Timber.v("onPayloadReceived"); + } + } + + private class HealthFacilityAction extends HealthFacilityVisitAction { + private Context context; + + private String anc_hf_visit; + private String anc_hf_visit_date; + private Date visitDate; + + + public HealthFacilityAction(MemberObject memberObject, Map dateMap) { + super(memberObject, dateMap); + } + + @Override + public void onJsonFormLoaded(String jsonPayload, Context context, Map> map) { + super.onJsonFormLoaded(jsonPayload, context, map); + this.context = context; + } + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + + anc_hf_visit = JsonFormUtils.getValue(jsonObject, "anc_hf_visit"); + anc_hf_visit_date = JsonFormUtils.getValue(jsonObject, "anc_hf_visit_date"); + visitDate = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).parse(anc_hf_visit_date); + + } catch (Exception e) { + Timber.e(e); + } + } + + @Override + public String getPreProcessed() { + return super.getPreProcessed(); + } + + @Override + public String evaluateSubTitle() { + StringBuilder stringBuilder = new StringBuilder(); + if (anc_hf_visit.equalsIgnoreCase("No")) { + stringBuilder.append(context.getString(R.string.visit_not_done).replace("\n", "")); + } else { + stringBuilder.append(MessageFormat.format("{0}: {1}\n", context.getString(R.string.date), new SimpleDateFormat("dd MMM yyyy", Locale.getDefault()).format(visitDate))); + } + return stringBuilder.toString(); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(anc_hf_visit)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + if (anc_hf_visit.equalsIgnoreCase("Yes")) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } + } + + @Override + public void onPayloadReceived(BaseAncHomeVisitAction baseAncHomeVisitAction) { + Timber.v("onPayloadReceived"); + } + } + + private class FamilyPlanningAction implements BaseAncHomeVisitAction.AncHomeVisitActionHelper { + private Context context; + private String fam_planning; + + @Override + public void onJsonFormLoaded(String s, Context context, Map> map) { + this.context = context; + } + + @Override + public String getPreProcessed() { + return null; + } + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + fam_planning = JsonFormUtils.getValue(jsonObject, "fam_planning").toLowerCase(); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public BaseAncHomeVisitAction.ScheduleStatus getPreProcessedStatus() { + return null; + } + + @Override + public String getPreProcessedSubTitle() { + return null; + } + + @Override + public String postProcess(String s) { + return null; + } + + @Override + public String evaluateSubTitle() { + String subTitle = (fam_planning.equalsIgnoreCase("Yes") ? context.getString(R.string.family_planning_done).toLowerCase() : context.getString(R.string.family_planning_not_done).toLowerCase()); + return StringUtils.capitalize(subTitle); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(fam_planning)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + if (fam_planning.equalsIgnoreCase("Yes")) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } + } + + @Override + public void onPayloadReceived(BaseAncHomeVisitAction baseAncHomeVisitAction) { + Timber.v("onPayloadReceived"); + } + } + + private class NutritionAction implements BaseAncHomeVisitAction.AncHomeVisitActionHelper { + private Context context; + private String nutrition_status; + + @Override + public void onJsonFormLoaded(String s, Context context, Map> map) { + this.context = context; + } + + @Override + public String getPreProcessed() { + return null; + } + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + nutrition_status = JsonFormUtils.getValue(jsonObject, "nutrition_status"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public BaseAncHomeVisitAction.ScheduleStatus getPreProcessedStatus() { + return null; + } + + @Override + public String getPreProcessedSubTitle() { + return null; + } + + @Override + public String postProcess(String s) { + return null; + } + + @Override + public String evaluateSubTitle() { + if (nutrition_status.equalsIgnoreCase("Normal")) + return MessageFormat.format(context.getString(R.string.nutrition_status) + ": " + "{0}", context.getString(R.string.anc_nutrition_status_normal)); + else if (nutrition_status.equalsIgnoreCase("Moderate")) + return MessageFormat.format(context.getString(R.string.nutrition_status) + ": " + "{0}", context.getString(R.string.anc_nutrition_status_normal)); + else + return MessageFormat.format(context.getString(R.string.nutrition_status) + ": " + "{0}", context.getString(R.string.anc_nutrition_status_severe)); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(nutrition_status)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + return BaseAncHomeVisitAction.Status.COMPLETED; + } + + @Override + public void onPayloadReceived(BaseAncHomeVisitAction baseAncHomeVisitAction) { + Timber.v("onPayloadReceived"); + } + } + + private class CounsellingStatusAction implements BaseAncHomeVisitAction.AncHomeVisitActionHelper { + private Context context; + private String counselling_given; + + @Override + public void onJsonFormLoaded(String s, Context context, Map> map) { + this.context = context; + } + + @Override + public String getPreProcessed() { + return null; + } + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + counselling_given = JsonFormUtils.getCheckBoxValue(jsonObject, "counselling_given").toLowerCase(); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public BaseAncHomeVisitAction.ScheduleStatus getPreProcessedStatus() { + return null; + } + + @Override + public String getPreProcessedSubTitle() { + return null; + } + + @Override + public String postProcess(String s) { + return null; + } + + @Override + public String evaluateSubTitle() { + String subTitle = (!counselling_given.contains("none") ? context.getString(R.string.done).toLowerCase() : context.getString(R.string.not_done).toLowerCase()); + return MessageFormat.format("{0} {1}", context.getString(R.string.counselling), subTitle); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(counselling_given)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + return BaseAncHomeVisitAction.Status.COMPLETED; + } + + @Override + public void onPayloadReceived(BaseAncHomeVisitAction baseAncHomeVisitAction) { + Timber.v("onPayloadReceived"); + } + } + + private class MalariaAction implements BaseAncHomeVisitAction.AncHomeVisitActionHelper { + private String fam_llin; + private String llin_2days; + private String llin_condition; + private Context context; + + @Override + public void onJsonFormLoaded(String s, Context context, Map> map) { + this.context = context; + } + + @Override + public String getPreProcessed() { + return null; + } + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + fam_llin = JsonFormUtils.getValue(jsonObject, "fam_llin"); + llin_2days = JsonFormUtils.getValue(jsonObject, "llin_2days"); + llin_condition = JsonFormUtils.getValue(jsonObject, "llin_condition"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public BaseAncHomeVisitAction.ScheduleStatus getPreProcessedStatus() { + return null; + } + + @Override + public String getPreProcessedSubTitle() { + return null; + } + + @Override + public String postProcess(String s) { + return null; + } + + @Override + public String evaluateSubTitle() { + if (fam_llin.equalsIgnoreCase("No")) + return MessageFormat.format(context.getString(R.string.uses_net) + ": " + "{0}", context.getString(R.string.anc_malaria_field_no)); + else + return MessageFormat.format(context.getString(R.string.uses_net) + ": " + "{0}", + (fam_llin.equalsIgnoreCase("Yes") ? context.getString(R.string.anc_malaria_field_yes) : context.getString(R.string.anc_malaria_field_no)) + + "\n" + MessageFormat.format(context.getString(R.string.slept_under_net) + ": " + "{0}", + (llin_2days.equalsIgnoreCase("Yes") ? context.getString(R.string.anc_malaria_field_yes) : context.getString(R.string.anc_malaria_field_no)) + + "\n" + MessageFormat.format(context.getString(R.string.net_condition) + ": " + "{0}", + (llin_condition.equalsIgnoreCase("Good") ? context.getString(R.string.anc_malaria_net_condition_good) : context.getString(R.string.anc_malaria_net_condition_bad))))); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(fam_llin)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + if (fam_llin.equalsIgnoreCase("Yes") && llin_2days.equalsIgnoreCase("Yes") && llin_condition.equalsIgnoreCase("Good")) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } + } + + @Override + public void onPayloadReceived(BaseAncHomeVisitAction baseAncHomeVisitAction) { + Timber.v("onPayloadReceived"); + } + } + + private class ObservationAction implements BaseAncHomeVisitAction.AncHomeVisitActionHelper { + private String date_of_illness; + private String illness_description; + private String action_taken; + private Context context; + private LocalDate illnessDate; + + @Override + public void onJsonFormLoaded(String s, Context context, Map> map) { + this.context = context; + } + + @Override + public String getPreProcessed() { + return null; + } + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + date_of_illness = JsonFormUtils.getValue(jsonObject, "date_of_illness"); + illness_description = JsonFormUtils.getValue(jsonObject, "illness_description"); + action_taken = JsonFormUtils.getCheckBoxValue(jsonObject, "action_taken"); + illnessDate = DateTimeFormat.forPattern("dd-MM-yyyy").parseLocalDate(date_of_illness); + } catch (Exception e) { + Timber.e(e); + } + } + + @Override + public BaseAncHomeVisitAction.ScheduleStatus getPreProcessedStatus() { + return null; + } + + @Override + public String getPreProcessedSubTitle() { + return null; + } + + @Override + public String postProcess(String s) { + return null; + } + + @Override + public String evaluateSubTitle() { + if (illnessDate == null) { + return ""; + } + + return MessageFormat.format("{0}: {1}\n {2}: {3}", + DateTimeFormat.forPattern("dd MMM yyyy").print(illnessDate), + illness_description, context.getString(R.string.action_taken), action_taken + ); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(date_of_illness)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + return BaseAncHomeVisitAction.Status.COMPLETED; + } + + @Override + public void onPayloadReceived(BaseAncHomeVisitAction baseAncHomeVisitAction) { + Timber.v("onPayloadReceived"); + } + } + + private class RemarksAction implements BaseAncHomeVisitAction.AncHomeVisitActionHelper { + private String chw_comment_anc; + private Context context; + + @Override + public void onJsonFormLoaded(String s, Context context, Map> map) { + this.context = context; + } + + @Override + public String getPreProcessed() { + return null; + } + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + chw_comment_anc = JsonFormUtils.getValue(jsonObject, "chw_comment_anc"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public BaseAncHomeVisitAction.ScheduleStatus getPreProcessedStatus() { + return null; + } + + @Override + public String getPreProcessedSubTitle() { + return null; + } + + @Override + public String postProcess(String s) { + return null; + } + + @Override + public String evaluateSubTitle() { + return MessageFormat.format("{0}: {1}", + context.getString(R.string.remarks_and__comments), StringUtils.capitalize(chw_comment_anc)); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(chw_comment_anc)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + return BaseAncHomeVisitAction.Status.COMPLETED; + } + + @Override + public void onPayloadReceived(BaseAncHomeVisitAction baseAncHomeVisitAction) { + Timber.v("onPayloadReceived"); + } + } + +} + diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncUpcomingServicesInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncUpcomingServicesInteractorFlv.java new file mode 100644 index 0000000000..ab399b358c --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/AncUpcomingServicesInteractorFlv.java @@ -0,0 +1,19 @@ +package org.smartregister.chw.interactor; + +import android.content.Context; + +import org.smartregister.chw.anc.domain.MemberObject; +import org.smartregister.chw.anc.model.BaseUpcomingService; + +import java.util.ArrayList; +import java.util.List; + +public class AncUpcomingServicesInteractorFlv extends DefaultAncUpcomingServicesInteractorFlv { + + @Override + public List getMemberServices(Context context, MemberObject memberObject) { + List services = new ArrayList<>(); + evaluateHealthFacility(services, memberObject, context); + return services; + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/ChildHomeVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/ChildHomeVisitInteractorFlv.java new file mode 100644 index 0000000000..b18a2777c5 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/ChildHomeVisitInteractorFlv.java @@ -0,0 +1,270 @@ +package org.smartregister.chw.interactor; + +import android.text.TextUtils; + +import org.apache.commons.lang3.StringUtils; +import org.joda.time.LocalDate; +import org.joda.time.format.DateTimeFormat; +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.anc.actionhelper.HomeVisitActionHelper; +import org.smartregister.chw.anc.model.BaseAncHomeVisitAction; +import org.smartregister.chw.util.Constants; +import org.smartregister.chw.util.JsonFormUtils; +import org.smartregister.immunization.domain.ServiceWrapper; + +import java.text.MessageFormat; +import java.util.Map; + +import timber.log.Timber; + +public class ChildHomeVisitInteractorFlv extends DefaultChildHomeVisitInteractorFlv { + + @Override + protected void bindEvents(Map serviceWrapperMap) throws BaseAncHomeVisitAction.ValidationException { + try { + evaluateImmunization(); + evaluateExclusiveBreastFeeding(serviceWrapperMap); + evaluateVitaminA(serviceWrapperMap); + evaluateDeworming(serviceWrapperMap); + evaluateMalariaPrevention(); + evaluateCounselling(); + evaluateNutritionStatus(); + evaluateObsAndIllness(); + } catch (BaseAncHomeVisitAction.ValidationException e) { + throw (e); + } catch (Exception e) { + Timber.e(e); + } + } + + protected void evaluateImmunization() throws Exception { + setVaccinesDefaultChecked(false); + super.evaluateImmunization(); + } + + private void evaluateMalariaPrevention() throws Exception { + HomeVisitActionHelper malariaPreventionHelper = new HomeVisitActionHelper() { + private String famllin1m5yr; + private String llin2days1m5yr; + private String llinCondition1m5yr; + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + famllin1m5yr = JsonFormUtils.getValue(jsonObject, "fam_llin_1m5yr"); + llin2days1m5yr = JsonFormUtils.getValue(jsonObject, "llin_2days_1m5yr"); + llinCondition1m5yr = JsonFormUtils.getValue(jsonObject, "llin_condition_1m5yr"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + + // Handle translation of drop down values + if (!TextUtils.isEmpty(famllin1m5yr) && !TextUtils.isEmpty(llin2days1m5yr)) { + famllin1m5yr = getYesNoTranslation(famllin1m5yr); + llin2days1m5yr = getYesNoTranslation(llin2days1m5yr); + } + + if (!TextUtils.isEmpty(llinCondition1m5yr)) { + if ("Okay".equals(llinCondition1m5yr)) { + llinCondition1m5yr = context.getString(R.string.okay); + } else if ("Bad".equals(llinCondition1m5yr)) { + llinCondition1m5yr = context.getString(R.string.bad); + } + } + + StringBuilder stringBuilder = new StringBuilder(); + if (famllin1m5yr.equalsIgnoreCase(context.getString(R.string.no))) { + stringBuilder.append(MessageFormat.format("{0}: {1}\n", context.getString(R.string.uses_net), StringUtils.capitalize(famllin1m5yr.trim().toLowerCase()))); + } else { + stringBuilder.append(MessageFormat.format("{0}: {1} · ", context.getString(R.string.uses_net), StringUtils.capitalize(famllin1m5yr.trim().toLowerCase()))); + stringBuilder.append(MessageFormat.format("{0}: {1} · ", context.getString(R.string.slept_under_net), StringUtils.capitalize(llin2days1m5yr.trim().toLowerCase()))); + stringBuilder.append(MessageFormat.format("{0}: {1}", context.getString(R.string.net_condition), StringUtils.capitalize(llinCondition1m5yr.trim().toLowerCase()))); + } + return stringBuilder.toString(); + } + + public String getYesNoTranslation(String subtitleText) { + if ("Yes".equals(subtitleText)) { + return context.getString(R.string.yes); + } else if ("No".equals(subtitleText)) { + return context.getString(R.string.no); + } else { + return subtitleText; + } + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(famllin1m5yr)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + if (famllin1m5yr.equalsIgnoreCase(context.getString(R.string.yes)) && llin2days1m5yr.equalsIgnoreCase(context.getString(R.string.yes)) && llinCondition1m5yr.equalsIgnoreCase(context.getString(R.string.okay))) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } + } + }; + + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.pnc_malaria_prevention)) + .withOptional(false) + .withDetails(details) + .withFormName(Constants.JSON_FORM.CHILD_HOME_VISIT.getMalariaPrevention()) + .withHelper(malariaPreventionHelper) + .build(); + actionList.put(context.getString(R.string.pnc_malaria_prevention), action); + } + + private void evaluateCounselling() throws Exception { + HomeVisitActionHelper counsellingHelper = new HomeVisitActionHelper() { + private String couselling_child; + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + couselling_child = org.smartregister.chw.util.JsonFormUtils.getCheckBoxValue(jsonObject, "pnc_counselling"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + return MessageFormat.format("{0}: {1}", "Counselling", couselling_child); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isNotBlank(couselling_child)) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PENDING; + } + } + }; + + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.pnc_counselling)) + .withOptional(false) + .withDetails(details) + .withFormName(Constants.JSON_FORM.PNC_HOME_VISIT.getCOUNSELLING()) + .withHelper(counsellingHelper) + .build(); + actionList.put(context.getString(R.string.pnc_counselling), action); + } + + @Override + protected int immunizationCeiling() { + return 60; + } + + private void evaluateNutritionStatus() throws BaseAncHomeVisitAction.ValidationException { + HomeVisitActionHelper nutritionStatusHelper = new HomeVisitActionHelper() { + private String nutritionStatus; + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + nutritionStatus = JsonFormUtils.getValue(jsonObject, "nutrition_status_1m5yr").toLowerCase(); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + if (!TextUtils.isEmpty(nutritionStatus)) { + switch (nutritionStatus) { + case "normal": + nutritionStatus = context.getString(R.string.normal); + break; + case "moderate": + nutritionStatus = context.getString(R.string.moderate); + break; + case "severe": + nutritionStatus = context.getString(R.string.severe); + break; + default: + return nutritionStatus; + } + } + return MessageFormat.format("{0}: {1}", context.getString(R.string.nutrition_status), nutritionStatus); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(nutritionStatus)) + return BaseAncHomeVisitAction.Status.PENDING; + + return BaseAncHomeVisitAction.Status.COMPLETED; + } + }; + + BaseAncHomeVisitAction observation = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_nutrition_status)) + .withOptional(false) + .withDetails(details) + .withFormName(Constants.JSON_FORM.CHILD_HOME_VISIT.getNutritionStatus()) + .withHelper(nutritionStatusHelper) + .build(); + actionList.put(context.getString(R.string.anc_home_visit_nutrition_status), observation); + } + + @Override + protected void evaluateObsAndIllness() throws BaseAncHomeVisitAction.ValidationException { + class ObsIllnessBabyHelper extends HomeVisitActionHelper { + private String date_of_illness; + private String illness_description; + private String action_taken; + private LocalDate illnessDate; + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + date_of_illness = JsonFormUtils.getValue(jsonObject, "date_of_illness"); + illness_description = JsonFormUtils.getValue(jsonObject, "illness_description"); + action_taken = JsonFormUtils.getValue(jsonObject, "action_taken_1m5yr"); + illnessDate = DateTimeFormat.forPattern("dd-MM-yyyy").parseLocalDate(date_of_illness); + } catch (Exception e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + if (illnessDate == null) + return ""; + + return MessageFormat.format("{0}: {1}\n {2}: {3}", + DateTimeFormat.forPattern("dd MMM yyyy").print(illnessDate), + illness_description, context.getString(R.string.action_taken), action_taken + ); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(date_of_illness)) + return BaseAncHomeVisitAction.Status.PENDING; + + return BaseAncHomeVisitAction.Status.COMPLETED; + } + } + + BaseAncHomeVisitAction observation = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.anc_home_visit_observations_n_illnes)) + .withOptional(true) + .withDetails(details) + .withFormName(Constants.JSON_FORM.getObsIllness()) + .withHelper(new ObsIllnessBabyHelper()) + .build(); + actionList.put(context.getString(R.string.anc_home_visit_observations_n_illnes), observation); + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/ChildProfileInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/ChildProfileInteractorFlv.java new file mode 100644 index 0000000000..c729db310f --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/ChildProfileInteractorFlv.java @@ -0,0 +1,4 @@ +package org.smartregister.chw.interactor; + +public class ChildProfileInteractorFlv extends DefaultChildProfileInteractor { +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/FamilyChangeContractInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/FamilyChangeContractInteractorFlv.java new file mode 100644 index 0000000000..96a5be0d25 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/FamilyChangeContractInteractorFlv.java @@ -0,0 +1,27 @@ +package org.smartregister.chw.interactor; + +import org.smartregister.chw.core.interactor.CoreFamilyChangeContractInteractor; +import org.smartregister.family.util.DBConstants; + +public class FamilyChangeContractInteractorFlv implements CoreFamilyChangeContractInteractor.Flavor { + @Override + public String getFamilyMembersSql(String familyID) { + String info_columns = DBConstants.KEY.RELATIONAL_ID + " , " + + DBConstants.KEY.BASE_ENTITY_ID + " , " + + DBConstants.KEY.FIRST_NAME + " , " + + DBConstants.KEY.MIDDLE_NAME + " , " + + DBConstants.KEY.LAST_NAME + " , " + + DBConstants.KEY.PHONE_NUMBER + " , " + + DBConstants.KEY.OTHER_PHONE_NUMBER + " , " + + DBConstants.KEY.DOB + " , " + + DBConstants.KEY.DOD + " , " + + DBConstants.KEY.GENDER; + + return info_columns; + } + + @Override + public int getMinimumCareGiverAge() { + return 5; + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/FpFollowUpVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/FpFollowUpVisitInteractorFlv.java new file mode 100644 index 0000000000..c68af9c43c --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/FpFollowUpVisitInteractorFlv.java @@ -0,0 +1,554 @@ +package org.smartregister.chw.interactor; + +import android.content.Context; + +import org.apache.commons.lang3.StringUtils; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.anc.AncLibrary; +import org.smartregister.chw.anc.actionhelper.HomeVisitActionHelper; +import org.smartregister.chw.anc.contract.BaseAncHomeVisitContract; +import org.smartregister.chw.anc.domain.MemberObject; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.anc.model.BaseAncHomeVisitAction; +import org.smartregister.chw.anc.util.VisitUtils; +import org.smartregister.chw.application.ChwApplication; +import org.smartregister.chw.domain.PncBaby; +import org.smartregister.chw.fp.dao.FpDao; +import org.smartregister.chw.fp.domain.FpAlertObject; +import org.smartregister.chw.fp.util.FamilyPlanningConstants; +import org.smartregister.chw.util.Constants; +import org.smartregister.chw.util.JsonFormUtils; +import org.smartregister.util.FormUtils; + +import java.text.SimpleDateFormat; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import timber.log.Timber; + +import static org.smartregister.util.JsonFormUtils.fields; +import static org.smartregister.util.JsonFormUtils.getFieldJSONObject; + +public class FpFollowUpVisitInteractorFlv extends DefaultFpFollowUpVisitInteractorFlv { + protected LinkedHashMap actionList; + protected Context context; + protected Map> details = null; + protected List children; + protected MemberObject memberObject; + protected BaseAncHomeVisitContract.View view; + protected Boolean editMode = false; + protected String familyPlanningMethod; + + @Override + public LinkedHashMap calculateActions(BaseAncHomeVisitContract.View view, MemberObject memberObject, BaseAncHomeVisitContract.InteractorCallBack callBack) throws BaseAncHomeVisitAction.ValidationException { + actionList = new LinkedHashMap<>(); + context = view.getContext(); + this.memberObject = memberObject; + editMode = view.getEditMode(); + this.view = view; + List memberDetails = FpDao.getFpDetails(memberObject.getBaseEntityId()); + if (memberDetails.size() > 0) { + for (FpAlertObject detail : memberDetails) { + familyPlanningMethod = detail.getFpMethod(); + } + } + // get the preloaded data + if (view.getEditMode()) { + Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(memberObject.getBaseEntityId(), FamilyPlanningConstants.EventType.FP_FOLLOW_UP_VISIT); + if (lastVisit != null) { + details = Collections.unmodifiableMap(VisitUtils.getVisitGroups(AncLibrary.getInstance().visitDetailsRepository().getVisits(lastVisit.getVisitId()))); + } + } + try { + Constants.JSON_FORM.setLocaleAndAssetManager(ChwApplication.getCurrentLocale(), ChwApplication.getInstance().getApplicationContext().getAssets()); + evaluateSideEffects(); + evaluateCounselling(); + evaluateResupply(); + } catch (BaseAncHomeVisitAction.ValidationException e) { + throw (e); + } catch (Exception e) { + Timber.e(e); + } + return actionList; + } + + private void evaluateSideEffects() throws Exception { + + Map> details = null; + if (editMode) { + Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(memberObject.getBaseEntityId(), FamilyPlanningConstants.EventType.FP_FOLLOW_UP_VISIT_SIDE_EFFECTS); + if (lastVisit != null) { + details = VisitUtils.getVisitGroups(AncLibrary.getInstance().visitDetailsRepository().getVisits(lastVisit.getVisitId())); + } + } + + JSONObject jsonObject = FormUtils.getInstance(context).getFormJson(Constants.JSON_FORM.FamilyPlanningFollowUpVisitUtils.getFamilyPlanningFollowupSideEffects()); + injectFamilyPlaningMethod(jsonObject); + // jsonObject + if (details != null && details.size() > 0) { + org.smartregister.chw.anc.util.JsonFormUtils.populateForm(jsonObject, details); + } + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.fp_side_effects)) + .withOptional(false) + .withDetails(details) + .withBaseEntityID(memberObject.getBaseEntityId()) + .withHelper(new SideEffectsHelper()) + .withProcessingMode(BaseAncHomeVisitAction.ProcessingMode.SEPARATE) + .withFormName(Constants.JSON_FORM.FamilyPlanningFollowUpVisitUtils.getFamilyPlanningFollowupSideEffects()) + .withJsonPayload(jsonObject.toString()) + .build(); + + actionList.put(context.getString(R.string.fp_side_effects), action); + } + + private void evaluateCounselling() throws Exception { + + Map> details = null; + if (editMode) { + Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(memberObject.getBaseEntityId(), FamilyPlanningConstants.EventType.FP_FOLLOW_UP_VISIT_COUNSELLING); + if (lastVisit != null) { + details = VisitUtils.getVisitGroups(AncLibrary.getInstance().visitDetailsRepository().getVisits(lastVisit.getVisitId())); + } + } + + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.counseling)) + .withOptional(false) + .withDetails(details) + .withBaseEntityID(memberObject.getBaseEntityId()) + .withProcessingMode(BaseAncHomeVisitAction.ProcessingMode.SEPARATE) + .withHelper(new CounsellingHelper()) + .withFormName(Constants.JSON_FORM.FamilyPlanningFollowUpVisitUtils.getFamilyPlanningFollowupCounsel()) + .build(); + + actionList.put(context.getString(R.string.counseling), action); + } + + private void evaluateResupply() throws Exception { + String familyPlanningMethodTranslated = null; + switch (familyPlanningMethod){ + case "COC": + familyPlanningMethodTranslated = context.getString(R.string.coc); + break; + case "POP": + familyPlanningMethodTranslated = context.getString(R.string.pop); + break; + case "Female sterilization": + familyPlanningMethodTranslated = context.getString(R.string.female_sterilization); + break; + case "Injectable": + familyPlanningMethodTranslated = context.getString(R.string.injectable); + break; + case "Male condom": + familyPlanningMethodTranslated = context.getString(R.string.male_condom); + break; + case "Female condom": + familyPlanningMethodTranslated = context.getString(R.string.female_condom); + break; + case "IUCD": + familyPlanningMethodTranslated = context.getString(R.string.iucd); + break; + default: + familyPlanningMethodTranslated = " "; + break; + } + + if (!familyPlanningMethod.equalsIgnoreCase(FamilyPlanningConstants.DBConstants.FP_FEMALE_STERLIZATION) && !familyPlanningMethod.equalsIgnoreCase(FamilyPlanningConstants.DBConstants.FP_IUCD)) { + Map> details = null; + if (editMode) { + Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(memberObject.getBaseEntityId(), FamilyPlanningConstants.EventType.FP_FOLLOW_UP_VISIT_RESUPPLY); + if (lastVisit != null) { + details = VisitUtils.getVisitGroups(AncLibrary.getInstance().visitDetailsRepository().getVisits(lastVisit.getVisitId())); + } + } + + JSONObject jsonObject = FormUtils.getInstance(context).getFormJson(Constants.JSON_FORM.FamilyPlanningFollowUpVisitUtils.getFamilyPlanningFollowupResupply()); + injectFamilyPlaningMethod(jsonObject); + // jsonObject + if (details != null && details.size() > 0) { + org.smartregister.chw.anc.util.JsonFormUtils.populateForm(jsonObject, details); + } + + if (!familyPlanningMethod.equalsIgnoreCase(FamilyPlanningConstants.DBConstants.FP_INJECTABLE)) { + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.resupply, familyPlanningMethodTranslated)) + .withOptional(false) + .withDetails(details) + .withBaseEntityID(memberObject.getBaseEntityId()) + .withHelper(new ResupplyHelper()) + .withProcessingMode(BaseAncHomeVisitAction.ProcessingMode.SEPARATE) + .withFormName(Constants.JSON_FORM.FamilyPlanningFollowUpVisitUtils.getFamilyPlanningFollowupResupply()) + .withJsonPayload(jsonObject.toString()) + .build(); + + actionList.put(context.getString(R.string.resupply, familyPlanningMethodTranslated), action); + } else { + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.next_health_facility_visit)) + .withOptional(false) + .withDetails(details) + .withBaseEntityID(memberObject.getBaseEntityId()) + .withHelper(new ResupplyHelper()) + .withProcessingMode(BaseAncHomeVisitAction.ProcessingMode.SEPARATE) + .withFormName(Constants.JSON_FORM.FamilyPlanningFollowUpVisitUtils.getFamilyPlanningFollowupResupply()) + .withJsonPayload(jsonObject.toString()) + .build(); + + actionList.put(context.getString(R.string.next_health_facility_visit), action); + } + + } + } + + private JSONObject injectFamilyPlaningMethod(JSONObject form) throws Exception { + if (form == null) { + return null; + } else { + JSONArray field = fields(form); + JSONObject datePass = getFieldJSONObject(field, "fp_method"); + datePass.put("value", familyPlanningMethod); + return form; + } + } + + private class ResupplyHelper extends HomeVisitActionHelper { + private String no_condoms; + private String no_pillcycles; + private String last_injection_date; + private String nextInjectionDate; + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + no_condoms = JsonFormUtils.getValue(jsonObject, "no_condoms"); + no_pillcycles = JsonFormUtils.getValue(jsonObject, "no_pillcycles"); + last_injection_date = JsonFormUtils.getValue(jsonObject, "fp_refill_injectable"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + String resupply = getNonBlankString(no_condoms, no_pillcycles, last_injection_date); + + if (StringUtils.isBlank(resupply)) { + return null; + } + try { + DateTimeFormatter formatter = DateTimeFormat.forPattern("dd-MM-yyyy"); + SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()); + nextInjectionDate = sdf.format(((formatter.parseDateTime(last_injection_date).toLocalDate()).plusDays(84)).toDate()); + + } catch (Exception e) { + Timber.v(e.toString()); + } + + StringBuilder builder = new StringBuilder(); + if (resupply.equalsIgnoreCase(no_condoms)) { + builder.append(context.getString(R.string.no_of_condoms)).append(" ").append(resupply); + } else if (resupply.equalsIgnoreCase(no_pillcycles)) { + builder.append(context.getString(R.string.no_of_pill_cycles)).append(" ").append(resupply); + + } else if (resupply.equalsIgnoreCase(last_injection_date)) { + builder.append(context.getString(R.string.date_of_next_injection)).append(" ").append(nextInjectionDate); + + } + + return builder.toString(); + } + + private String getNonBlankString(String... strings) { + if (strings == null || strings.length == 0) + return ""; + + for (String s : strings) { + if (StringUtils.isNotBlank(s)) return s; + } + return ""; + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(no_condoms) && StringUtils.isBlank(no_pillcycles) && StringUtils.isBlank(last_injection_date)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + if("0".equalsIgnoreCase(no_pillcycles) || "0".equalsIgnoreCase(no_condoms)) + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + + if (!StringUtils.isBlank(no_condoms) || !StringUtils.isBlank(no_pillcycles) || !StringUtils.isBlank(last_injection_date)) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } + return BaseAncHomeVisitAction.Status.PENDING; + } + } + + private class SideEffectsHelper extends HomeVisitActionHelper { + private String condom_side_effects; + private String condom_side_effects_other; + private String cocpop_side_effects; + private String cocpop_side_effects_other; + private String inject_side_effects; + private String inject_side_effects_other; + private String IUCD_side_effects; + private String IUCD_side_effects_other; + private String sterilization_side_effects; + private String sterilization_side_effects_other; + private String action_taken; + private String sideEffects; + private String other; + + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + condom_side_effects = JsonFormUtils.getValue(jsonObject, "condom_side_effects"); + condom_side_effects_other = JsonFormUtils.getValue(jsonObject, "condom_side_effects_other"); + cocpop_side_effects = JsonFormUtils.getValue(jsonObject, "cocpop_side_effects"); + cocpop_side_effects_other = JsonFormUtils.getValue(jsonObject, "cocpop_side_effects_other"); + inject_side_effects = JsonFormUtils.getValue(jsonObject, "inject_side_effects"); + inject_side_effects_other = JsonFormUtils.getValue(jsonObject, "inject_side_effects_other"); + IUCD_side_effects = JsonFormUtils.getValue(jsonObject, "IUCD_side_effects"); + IUCD_side_effects_other = JsonFormUtils.getValue(jsonObject, "IUCD_side_effects_other"); + sterilization_side_effects = JsonFormUtils.getValue(jsonObject, "sterilization_side_effects"); + sterilization_side_effects_other = JsonFormUtils.getValue(jsonObject, "sterilization_side_effects_other"); + action_taken = JsonFormUtils.getValue(jsonObject, "action_taken"); + } catch (JSONException e) { + Timber.e(e); + } + } + private String evaluateCondomSideEffects(){ + String condomSideEffects; + + switch (condom_side_effects) { + case "Allergic_reactions": + condomSideEffects = context.getString(R.string.allergic_reactions); + break; + case "Others": + condomSideEffects = context.getString(R.string.others); + break; + case "None": + condomSideEffects = context.getString(R.string.none); + break; + default: + condomSideEffects = ""; + break; + } + return condomSideEffects; + } + + private String evaluateCocPopSideEffects(){ + String cocpopSideEffects; + switch (cocpop_side_effects) { + case "Heavy_bleeding_": + cocpopSideEffects = context.getString(R.string.heavy_bleading); + break; + case "Irregular_periods": + cocpopSideEffects = context.getString(R.string.irregular_period); + break; + case "Others": + cocpopSideEffects = context.getString(R.string.others); + break; + case "None": + cocpopSideEffects = context.getString(R.string.none); + break; + default: + cocpopSideEffects = ""; + break; + } + return cocpopSideEffects; + } + + private String evaluateInjectSideEffects(){ + String injectSideEffects; + switch (inject_side_effects) { + case "Heavy_bleeding_": + injectSideEffects = context.getString(R.string.heavy_bleading); + break; + case "Irregular_periods": + injectSideEffects = context.getString(R.string.irregular_period); + break; + case "Others": + injectSideEffects = context.getString(R.string.others); + break; + case "None": + injectSideEffects = context.getString(R.string.none); + break; + default: + injectSideEffects = ""; + break; + } + return injectSideEffects; + } + + private String evaluateIUCDSideEffects(){ + String iucdSideEffects; + switch (IUCD_side_effects) { + case "Severe_pain_inside_the_vagina_after_IUD_was_put_in": + iucdSideEffects = context.getString(R.string.severe_pain_inside_the_vagina); + break; + case "Cramping_or_backaches_for_a_few_days_after_the_IUD_is_put_in": + iucdSideEffects = context.getString(R.string.cramps_or_back_ache); + break; + case "Spotting_between_periods_and_or_irregular_periods": + iucdSideEffects = context.getString(R.string.spotting); + break; + case "Heavier_periods_and_worse_menstrual_cramps": + iucdSideEffects = context.getString(R.string.heavier_period); + break; + case "IUCD_explusion": + iucdSideEffects = context.getString(R.string.IUCD_explusion); + break; + case "Others": + iucdSideEffects = context.getString(R.string.others); + break; + case "None": + iucdSideEffects = context.getString(R.string.none); + break; + default: + iucdSideEffects =""; + break; + } + return iucdSideEffects; + + } + + private String evaluateSterilizationSideEffects(){ + String sterilizationSideEffects; + switch (sterilization_side_effects) { + case "Incisional_bleeding": + sterilizationSideEffects = context.getString(R.string.incisional_bleeding); + break; + case "Pus_Discharge_from_incision": + sterilizationSideEffects = context.getString(R.string.pus_discharge_from_incision); + break; + case "Swollen_around_the_incision": + sterilizationSideEffects = context.getString(R.string.swollen_around_the_incision); + break; + case "Others": + sterilizationSideEffects = context.getString(R.string.others); + break; + case "None": + sterilizationSideEffects = context.getString(R.string.none); + break; + default: + sterilizationSideEffects = ""; + break; + } + return sterilizationSideEffects; + } + + private String evaluateActionTaken(){ + String actionTaken; + + switch (action_taken) { + case "managed": + actionTaken = context.getString(R.string.managed); + break; + case "referred": + actionTaken = context.getString(R.string.referred); + break; + case "no_action_taken": + actionTaken = context.getString(R.string.no_action_taken); + break; + default: + actionTaken = ""; + break; + } + return actionTaken; + } + + + @Override + public String evaluateSubTitle() { + + sideEffects = getNonBlankString(evaluateCondomSideEffects(), evaluateCocPopSideEffects(), evaluateInjectSideEffects(), evaluateIUCDSideEffects(), evaluateSterilizationSideEffects()); + other = getNonBlankString(condom_side_effects_other, cocpop_side_effects_other, inject_side_effects_other, IUCD_side_effects_other, sterilization_side_effects_other); + + if (StringUtils.isBlank(sideEffects)) { + return null; + } + + + StringBuilder builder = new StringBuilder(context.getString(R.string.side_effects)).append(sideEffects); + if (StringUtils.isNotBlank(other)) builder.append(" ").append(other); + + if (StringUtils.isNotBlank(action_taken)) { + builder.append("\n"); + builder.append(context.getString(R.string.action)).append(evaluateActionTaken()); + } + + return builder.toString(); + } + + private String getNonBlankString(String... strings) { + if (strings == null || strings.length == 0) + return ""; + + for (String s : strings) { + if (StringUtils.isNotBlank(s)) return s; + } + return ""; + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(action_taken) && StringUtils.isBlank(sideEffects) && StringUtils.isBlank(other)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + if (StringUtils.isBlank(action_taken) || !"no_action_taken".equalsIgnoreCase(action_taken)) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } + } + + private class CounsellingHelper extends HomeVisitActionHelper { + private String fp_counselling; + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + fp_counselling = JsonFormUtils.getValue(jsonObject, "fp_counselling"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + if (StringUtils.isBlank(fp_counselling)) { + return null; + } + StringBuilder builder = new StringBuilder(); + if (fp_counselling.equalsIgnoreCase("yes")) + builder.append(context.getString(R.string.counseling)).append(":").append(" ").append(context.getString(R.string.yes)); + else if (fp_counselling.equalsIgnoreCase("no")) { + builder.append(context.getString(R.string.counseling)).append(":").append(" ").append(context.getString(R.string.no)); + } + return builder.toString(); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(fp_counselling)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + if ("yes".equalsIgnoreCase(fp_counselling)) + return BaseAncHomeVisitAction.Status.COMPLETED; + + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } + } + + +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java new file mode 100644 index 0000000000..b54a8cd499 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncHomeVisitInteractorFlv.java @@ -0,0 +1,949 @@ +package org.smartregister.chw.interactor; + +import android.content.Context; + +import com.vijay.jsonwizard.constants.JsonFormConstants; + +import org.apache.commons.lang3.StringUtils; +import org.joda.time.LocalDate; +import org.joda.time.format.DateTimeFormat; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.R; +import org.smartregister.chw.actionhelper.ImmunizationActionHelper; +import org.smartregister.chw.anc.AncLibrary; +import org.smartregister.chw.anc.actionhelper.HomeVisitActionHelper; +import org.smartregister.chw.anc.contract.BaseAncHomeVisitContract; +import org.smartregister.chw.anc.domain.MemberObject; +import org.smartregister.chw.anc.domain.VaccineDisplay; +import org.smartregister.chw.anc.domain.Visit; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.anc.fragment.BaseAncHomeVisitFragment; +import org.smartregister.chw.anc.fragment.BaseHomeVisitImmunizationFragment; +import org.smartregister.chw.anc.model.BaseAncHomeVisitAction; +import org.smartregister.chw.anc.util.VisitUtils; +import org.smartregister.chw.core.domain.Person; +import org.smartregister.chw.core.rule.PNCHealthFacilityVisitRule; +import org.smartregister.chw.core.utils.VaccineScheduleUtil; +import org.smartregister.chw.dao.ChwPNCDao; +import org.smartregister.chw.dao.ChwPNCDaoFlv; +import org.smartregister.chw.dao.PersonDao; +import org.smartregister.chw.domain.PNCHealthFacilityVisitSummary; +import org.smartregister.chw.util.Constants; +import org.smartregister.chw.util.PNCVisitUtil; +import org.smartregister.immunization.domain.VaccineWrapper; +import org.smartregister.util.JsonFormUtils; + +import java.text.MessageFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import timber.log.Timber; + +public class PncHomeVisitInteractorFlv extends DefaultPncHomeVisitInteractorFlv { + protected List children; + protected BaseAncHomeVisitContract.View view; + + @Override + public LinkedHashMap calculateActions(BaseAncHomeVisitContract.View view, MemberObject memberObject, BaseAncHomeVisitContract.InteractorCallBack callBack) throws BaseAncHomeVisitAction.ValidationException { + actionList = new LinkedHashMap<>(); + context = view.getContext(); + this.memberObject = memberObject; + editMode = view.getEditMode(); + this.view = view; + + // get the preloaded data + if (view.getEditMode()) { + Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(memberObject.getBaseEntityId(), Constants.EventType.PNC_HOME_VISIT); + if (lastVisit != null) { + details = VisitUtils.getVisitGroups(AncLibrary.getInstance().visitDetailsRepository().getVisits(lastVisit.getVisitId())); + } + } + + children = PersonDao.getMothersChildren(memberObject.getBaseEntityId()); + if (children == null) { + children = new ArrayList<>(); + } + + try { + evaluateDangerSignsMother(); + evaluatePNCHealthFacilityVisit(); + evaluateFamilyPlanning(); + evaluateCounselling(); + evaluateMalariaPrevention(); + evaluateNutritionStatusMother(); + evaluateObsIllnessMother(); + + for (Person baby : children) { + evaluateDangerSignsBaby(baby); + evaluateImmunization(baby); + evaluateExclusiveBreastFeeding(baby); + evaluateNutritionStatusBaby(baby); + evaluateObsIllnessBaby(baby); + } + } catch (BaseAncHomeVisitAction.ValidationException e) { + throw (e); + } catch (Exception e) { + Timber.e(e); + } + return actionList; + } + + private void evaluateDangerSignsMother() throws Exception { + + HomeVisitActionHelper pncDangerSignsMotherHelper = new HomeVisitActionHelper() { + private String danger_signs_present_mama; + + @Override + public void onPayloadReceived(String s) { + try { + JSONObject jsonObject = new JSONObject(s); + danger_signs_present_mama = org.smartregister.chw.util.JsonFormUtils.getCheckBoxValue(jsonObject, "danger_signs_present_mama"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + return MessageFormat.format("{0}: {1}", context.getString(R.string.pnc_danger_signs_mama), danger_signs_present_mama); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (danger_signs_present_mama == null) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + if (StringUtils.isNotBlank(danger_signs_present_mama)) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } + } + }; + + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.pnc_danger_signs_mother)) + .withOptional(false) + .withDetails(details) + .withFormName(Constants.JSON_FORM.PNC_HOME_VISIT.getDangerSignsMother()) + .withHelper(pncDangerSignsMotherHelper) + .build(); + actionList.put(context.getString(R.string.pnc_danger_signs_mother), action); + } + + private void evaluateDangerSignsBaby(Person baby) throws Exception { + class PNCDangerSignsBabyHelper extends HomeVisitActionHelper { + private String danger_signs_present_child; + + @Override + public void onPayloadReceived(String s) { + try { + JSONObject jsonObject = new JSONObject(s); + danger_signs_present_child = org.smartregister.chw.util.JsonFormUtils.getCheckBoxValue(jsonObject, "danger_signs_present_child"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + return MessageFormat.format("{0}: {1}", context.getString(R.string.pnc_danger_signs_baby_task), danger_signs_present_child); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(danger_signs_present_child)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + if (StringUtils.isNotBlank(danger_signs_present_child)) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } + } + } + + if (getAgeInDays(baby.getDob()) <= 28) { + Map> details = null; + if (editMode) { + Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(baby.getBaseEntityID(), Constants.EventType.DANGER_SIGNS_BABY); + if (lastVisit != null) { + details = VisitUtils.getVisitGroups(AncLibrary.getInstance().visitDetailsRepository().getVisits(lastVisit.getVisitId())); + } + } + + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, MessageFormat.format(context.getString(R.string.pnc_danger_signs_baby), baby.getFullName())) + .withOptional(false) + .withDetails(details) + .withBaseEntityID(baby.getBaseEntityID()) + .withProcessingMode(BaseAncHomeVisitAction.ProcessingMode.SEPARATE) + .withFormName(Constants.JSON_FORM.PNC_HOME_VISIT.getDangerSignsBaby()) + .withHelper(new PNCDangerSignsBabyHelper()) + .build(); + actionList.put(MessageFormat.format(context.getString(R.string.pnc_danger_signs_baby), baby.getFullName()), action); + } + } + + private void evaluateFamilyPlanning() throws Exception { + boolean hasFP = ChwPNCDaoFlv.hasFamilyPlanning(memberObject.getBaseEntityId()); + if (hasFP) + return; + + HomeVisitActionHelper helper = new HomeVisitActionHelper() { + private String fp_counseling; + private String fp_method; + private String fp_start_date; + private Date start_date; + private String fp_period_received; + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + fp_counseling = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "fp_counseling"); + fp_method = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "fp_method"); + fp_start_date = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "fp_start_date"); + fp_period_received = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "fp_period_received"); + + if (StringUtils.isNotBlank(fp_start_date)) { + start_date = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).parse(fp_start_date); + } + } catch (JSONException e) { + Timber.e(e); + } catch (ParseException e) { + Timber.e(e); + } + } + + private String evaluateFpPeriod() { + if (fp_period_received != null) { + List listFpPeriods = Arrays.asList(fp_period_received.replace("\"", "").replace("[", "").replace("]", "").split("\\s*,\\s*")); + if (listFpPeriods.size() > 0) { + StringBuilder builder = new StringBuilder(); + ArrayList builderList = new ArrayList<>(); + String SEPARATOR = ","; + String duringPeriod = ""; + for (String period : listFpPeriods) { + switch (period) { + case "chk_during_anc": + duringPeriod = context.getString(R.string.during_anc); + break; + case "chk_during_labour_and_delivery": + duringPeriod = context.getString(R.string.during_labour_and_delivery); + break; + case "chk_during_pnc": + duringPeriod = context.getString(R.string.during_pnc); + break; + default: + break; + } + builderList.add(duringPeriod); + } + for (String build : builderList) { + builder.append(build); + builder.append(SEPARATOR); + } + fp_period_received = builder.toString(); + fp_period_received = fp_period_received.substring(0, fp_period_received.length() - SEPARATOR.length()); + } + } + return fp_period_received; + + } + + @Override + public String evaluateSubTitle() { + StringBuilder builder = new StringBuilder(); + String subTitleText = MessageFormat.format("{0}: {1}\n", + context.getString(R.string.fp_counseling), + "Yes".equalsIgnoreCase(fp_counseling) ? evaluateFpPeriod() : context.getString(R.string.not_done).toLowerCase()); + builder.append(subTitleText); + + if (StringUtils.isNotBlank(fp_method)) { + String method = ""; + switch (fp_method) { + case "None": + method = context.getString(R.string.none); + break; + case "PPIUCD": + method = context.getString(R.string.ppiucd); + break; + case "Pills": + method = context.getString(R.string.pills); + break; + case "Implant": + method = context.getString(R.string.implant); + break; + case "Condoms": + method = context.getString(R.string.condoms); + break; + case "LAM": + method = context.getString(R.string.lam); + break; + case "Bead Counting": + method = context.getString(R.string.standard_day_method); + break; + case "Permanent (BTL)": + method = context.getString(R.string.permanent_blt); + break; + case "Permanent (Vasectomy)": + method = context.getString(R.string.permanent_vasectomy); + break; + default: + break; + } + if (StringUtils.isBlank(fp_start_date) || fp_method.equals("None")) { + subTitleText = MessageFormat.format("{0}", method); + } else { + subTitleText = MessageFormat.format("{0}: {1}", method, new SimpleDateFormat("dd MMM yyyy", Locale.getDefault()).format(start_date)); + } + builder.append(subTitleText); + } + return builder.toString(); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(fp_counseling)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + if ("Yes".equalsIgnoreCase(fp_counseling)) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } + } + }; + + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.pnc_family_planning)) + .withOptional(false) + .withDetails(details) + .withFormName(Constants.JSON_FORM.PNC_HOME_VISIT.getFamilyPlanning()) + .withHelper(helper) + .build(); + actionList.put(context.getString(R.string.pnc_family_planning), action); + } + + private void evaluateExclusiveBreastFeeding(Person baby) throws Exception { + class ExclusiveBreastFeedingHelper extends HomeVisitActionHelper { + private String exclusive_breast_feeding; + private Date dob; + + public ExclusiveBreastFeedingHelper(Date dob) { + this.dob = dob; + } + + @Override + public String getPreProcessedSubTitle() { + return MessageFormat.format("{0} {1}", context.getString(R.string.due), new SimpleDateFormat("dd MMM yyyy", Locale.getDefault()).format(dob)); + } + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + exclusive_breast_feeding = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "exclusive_breast_feeding"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + if (StringUtils.isBlank(exclusive_breast_feeding)) { + return ""; + } + + return "Yes".equalsIgnoreCase(exclusive_breast_feeding) ? context.getString(R.string.yes) : context.getString(R.string.no); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(exclusive_breast_feeding)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + if (exclusive_breast_feeding.equalsIgnoreCase("Yes")) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else if (exclusive_breast_feeding.equalsIgnoreCase("No")) { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PENDING; + } + } + } + if (getAgeInDays(baby.getDob()) <= 28) { + Map> details = null; + if (editMode) { + Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(baby.getBaseEntityID(), Constants.EventType.EXCLUSIVE_BREASTFEEDING); + if (lastVisit != null) { + details = VisitUtils.getVisitGroups(AncLibrary.getInstance().visitDetailsRepository().getVisits(lastVisit.getVisitId())); + } + } + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, MessageFormat.format(context.getString(R.string.pnc_exclusive_breastfeeding), baby.getFullName())) + .withOptional(false) + .withDetails(details) + .withBaseEntityID(baby.getBaseEntityID()) + .withProcessingMode(BaseAncHomeVisitAction.ProcessingMode.SEPARATE) + .withDestinationFragment(BaseAncHomeVisitFragment.getInstance(view, Constants.JSON_FORM.PNC_HOME_VISIT.getExclusiveBreastFeeding(), null, details, null)) + .withHelper(new ExclusiveBreastFeedingHelper(baby.getDob())) + .build(); + actionList.put(MessageFormat.format(context.getString(R.string.pnc_exclusive_breastfeeding), baby.getFullName()), action); + } + } + + private void evaluateCounselling() throws Exception { + HomeVisitActionHelper counsellingHelper = new HomeVisitActionHelper() { + private String couselling_pnc; + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + couselling_pnc = org.smartregister.chw.util.JsonFormUtils.getCheckBoxValue(jsonObject, "couselling_pnc"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + String counsellingStatus = "None".equals(couselling_pnc) ? context.getString(R.string.subtask_not_done) : context.getString(R.string.subtask_done); + return MessageFormat.format("{0}: {1}", context.getString(R.string.counselling), counsellingStatus); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isNotBlank(couselling_pnc)) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PENDING; + } + } + }; + + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.pnc_counselling)) + .withOptional(false) + .withDetails(details) + .withFormName(Constants.JSON_FORM.PNC_HOME_VISIT.getCOUNSELLING()) + .withHelper(counsellingHelper) + .build(); + actionList.put(context.getString(R.string.pnc_counselling), action); + } + + private void evaluateNutritionStatusMother() throws Exception { + HomeVisitActionHelper nutritionStatusMotherHelper = new HomeVisitActionHelper() { + private String nutrition_status_mama; + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + nutrition_status_mama = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "nutrition_status_mama"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + return MessageFormat.format("{0}: {1}", context.getString(R.string.mother_status), nutrition_status_mama); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(nutrition_status_mama)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + if (StringUtils.isNotBlank(nutrition_status_mama)) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } + } + }; + + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.pnc_nutrition_status)) + .withOptional(true) + .withDetails(details) + .withFormName(Constants.JSON_FORM.PNC_HOME_VISIT.getNutritionStatusMother()) + .withHelper(nutritionStatusMotherHelper) + .build(); + actionList.put(context.getString(R.string.pnc_nutrition_status), action); + } + + private void evaluateNutritionStatusBaby(Person baby) throws Exception { + + class NutritionStatusBabyHelper extends HomeVisitActionHelper { + private String nutrition_status_1m; + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + nutrition_status_1m = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "nutrition_status_1m"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + return MessageFormat.format("{0}: {1}", context.getString(R.string.child_status), nutrition_status_1m); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isNotBlank(nutrition_status_1m)) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PENDING; + } + } + } + + if (getAgeInDays(baby.getDob()) <= 28) { + Map> details = null; + if (editMode) { + Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(baby.getBaseEntityID(), Constants.EventType.NUTRITION_STATUS_BABY); + if (lastVisit != null) { + details = VisitUtils.getVisitGroups(AncLibrary.getInstance().visitDetailsRepository().getVisits(lastVisit.getVisitId())); + } + } + + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, MessageFormat.format(context.getString(R.string.pnc_nutrition_status_baby_name), baby.getFullName())) + .withOptional(true) + .withDetails(details) + .withBaseEntityID(baby.getBaseEntityID()) + .withProcessingMode(BaseAncHomeVisitAction.ProcessingMode.SEPARATE) + .withFormName(Constants.JSON_FORM.PNC_HOME_VISIT.getNutritionStatusInfant()) + .withHelper(new NutritionStatusBabyHelper()) + .build(); + actionList.put(MessageFormat.format(context.getString(R.string.pnc_nutrition_status_baby_name), baby.getFullName()), action); + } + } + + private void evaluateMalariaPrevention() throws Exception { + HomeVisitActionHelper malariaPreventionHelper = new HomeVisitActionHelper() { + private String fam_llin; + private String llin_2days; + private String llin_condition; + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + fam_llin = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "fam_llin"); + llin_2days = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "llin_2days"); + llin_condition = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "llin_condition"); + } catch (JSONException e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + StringBuilder stringBuilder = new StringBuilder(); + if (fam_llin.equalsIgnoreCase("No")) { + stringBuilder.append(MessageFormat.format("{0}: {1}\n", context.getString(R.string.uses_net), StringUtils.capitalize(fam_llin.trim().toLowerCase()))); + } else { + stringBuilder.append(MessageFormat.format("{0}: {1} · ", context.getString(R.string.uses_net), StringUtils.capitalize(fam_llin.trim().toLowerCase()))); + stringBuilder.append(MessageFormat.format("{0}: {1} · ", context.getString(R.string.slept_under_net), StringUtils.capitalize(llin_2days.trim().toLowerCase()))); + stringBuilder.append(MessageFormat.format("{0}: {1}", context.getString(R.string.net_condition), StringUtils.capitalize(llin_condition.trim().toLowerCase()))); + } + return stringBuilder.toString(); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(fam_llin)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + if (fam_llin.equalsIgnoreCase("Yes") && llin_2days.equalsIgnoreCase("Yes") && llin_condition.equalsIgnoreCase("Okay")) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } + } + }; + + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.pnc_malaria_prevention)) + .withOptional(false) + .withDetails(details) + .withFormName(Constants.JSON_FORM.PNC_HOME_VISIT.getMalariaPrevention()) + .withHelper(malariaPreventionHelper) + .build(); + actionList.put(context.getString(R.string.pnc_malaria_prevention), action); + } + + private void evaluateObsIllnessMother() throws Exception { + HomeVisitActionHelper obsIllnessMotherHelper = new HomeVisitActionHelper() { + private String date_of_illness; + private String illness_description; + private String action_taken; + private LocalDate illnessDate; + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + date_of_illness = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "date_of_illness_mama"); + illness_description = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "illness_description_mama"); + action_taken = org.smartregister.chw.util.JsonFormUtils.getCheckBoxValue(jsonObject, "action_taken_mama"); + illnessDate = DateTimeFormat.forPattern("dd-MM-yyyy").parseLocalDate(date_of_illness); + } catch (Exception e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + if (illnessDate == null) { + return ""; + } + + return MessageFormat.format("{0}: {1}\n {2}: {3}", + DateTimeFormat.forPattern("dd MMM yyyy").print(illnessDate), + illness_description, context.getString(R.string.action_taken), action_taken + ); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(date_of_illness)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + return BaseAncHomeVisitAction.Status.COMPLETED; + } + }; + + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, context.getString(R.string.pnc_observation_and_illness_mother)) + .withOptional(true) + .withDetails(details) + .withFormName(Constants.JSON_FORM.PNC_HOME_VISIT.getObservationAndIllnessMother()) + .withHelper(obsIllnessMotherHelper) + .build(); + actionList.put(context.getString(R.string.pnc_observation_and_illness_mother), action); + } + + private void evaluateObsIllnessBaby(Person baby) throws Exception { + class ObsIllnessBabyHelper extends HomeVisitActionHelper { + private String date_of_illness; + private String illness_description; + private String action_taken; + private LocalDate illnessDate; + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + date_of_illness = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "date_of_illness_child"); + illness_description = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "illness_description_child"); + action_taken = org.smartregister.chw.util.JsonFormUtils.getCheckBoxValue(jsonObject, "action_taken_child"); + illnessDate = DateTimeFormat.forPattern("dd-MM-yyyy").parseLocalDate(date_of_illness); + } catch (Exception e) { + Timber.e(e); + } + } + + @Override + public String evaluateSubTitle() { + if (illnessDate == null) { + return ""; + } + + return MessageFormat.format("{0}: {1}\n {2}: {3}", + DateTimeFormat.forPattern("dd MMM yyyy").print(illnessDate), + illness_description, context.getString(R.string.action_taken), action_taken + ); + } + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(date_of_illness)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + return BaseAncHomeVisitAction.Status.COMPLETED; + } + } + if (getAgeInDays(baby.getDob()) <= 28) { + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, MessageFormat.format(context.getString(R.string.pnc_observation_and_illness_baby), baby.getFullName())) + .withOptional(true) + .withDetails(details) + .withFormName(Constants.JSON_FORM.PNC_HOME_VISIT.getObservationAndIllnessInfant()) + .withHelper(new ObsIllnessBabyHelper()) + .build(); + actionList.put(MessageFormat.format(context.getString(R.string.pnc_observation_and_illness_baby), baby.getFullName()), action); + } + } + + @Override + protected void evaluatePNCHealthFacilityVisit() throws Exception { + + PNCHealthFacilityVisitSummary summary = ChwPNCDao.getLastHealthFacilityVisitSummary(memberObject.getBaseEntityId()); + if (summary != null) { + PNCHealthFacilityVisitRule visitRule = PNCVisitUtil.getNextPNCHealthFacilityVisit(summary.getDeliveryDate(), summary.getLastVisitDate()); + + if (visitRule != null && visitRule.getVisitName() != null) { + String title; + int visit_num; + switch (visitRule.getVisitName()) { + case "3": + title = context.getString(R.string.pnc_health_facility_visit_days_three_to_seven); + visit_num = 2; + break; + case "8": + title = context.getString(R.string.pnc_health_facility_visit_days_eight_to_twenty_eight); + visit_num = 3; + break; + case "29": + title = context.getString(R.string.pnc_health_facility_visit_days_twenty_nine_to_forty_two); + visit_num = 4; + break; + default: + title = context.getString(R.string.pnc_health_facility_visit_within_fourty_eight_hours); + visit_num = 1; + break; + } + + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, title) + .withOptional(false) + .withDetails(details) + .withFormName(visit_num == 1 ? Constants.JSON_FORM.PNC_HOME_VISIT.getHealthFacilityVisit() : Constants.JSON_FORM.PNC_HOME_VISIT.getHealthFacilityVisitTwo()) + .withHelper(new PNCHealthFacilityVisitHelper(visitRule, visit_num)) + .build(); + actionList.put(title, action); + } + } + } + + @Override + protected void evaluateImmunization(Person baby) throws Exception { + if (getAgeInDays(baby.getDob()) <= 28) { + List wrappers = VaccineScheduleUtil.getChildDueVaccines(baby.getBaseEntityID(), baby.getDob(), 0); + if (wrappers.size() > 0) { + List displays = new ArrayList<>(); + for (VaccineWrapper vaccineWrapper : wrappers) { + VaccineDisplay display = new VaccineDisplay(); + display.setVaccineWrapper(vaccineWrapper); + display.setStartDate(baby.getDob()); + display.setEndDate(new Date()); + displays.add(display); + } + + Map> details = null; + if (editMode) { + Visit lastVisit = AncLibrary.getInstance().visitRepository().getLatestVisit(baby.getBaseEntityID(), Constants.EventType.IMMUNIZATION_VISIT); + if (lastVisit != null) { + details = VisitUtils.getVisitGroups(AncLibrary.getInstance().visitDetailsRepository().getVisits(lastVisit.getVisitId())); + } + } + + BaseAncHomeVisitAction action = new BaseAncHomeVisitAction.Builder(context, MessageFormat.format(context.getString(R.string.pnc_immunization_at_birth), baby.getFullName())) + .withOptional(false) + .withDetails(details) + .withBaseEntityID(baby.getBaseEntityID()) + .withProcessingMode(BaseAncHomeVisitAction.ProcessingMode.SEPARATE) + .withDestinationFragment(BaseHomeVisitImmunizationFragment.getInstance(view, baby.getBaseEntityID(), details, displays)) + .withHelper(new ImmunizationActionHelper(context, wrappers)) + .build(); + actionList.put(MessageFormat.format(context.getString(R.string.pnc_immunization_at_birth), baby.getFullName()), action); + + } + } + } + + private class PNCHealthFacilityVisitHelper implements BaseAncHomeVisitAction.AncHomeVisitActionHelper { + private Context context; + private String jsonPayload; + + private PNCHealthFacilityVisitRule visitRule; + private int visit_num; + + private String pnc_visit; + private String pnc_hf_visit_date; + private String vit_a_mother; + private String ifa_mother; + + private BaseAncHomeVisitAction.ScheduleStatus scheduleStatus; + private String subTitle; + private Date date; + + public PNCHealthFacilityVisitHelper(PNCHealthFacilityVisitRule visitRule, int visit_num) { + this.visitRule = visitRule; + this.visit_num = visit_num; + } + + @Override + public void onJsonFormLoaded(String jsonPayload, Context context, Map> map) { + this.context = context; + this.jsonPayload = jsonPayload; + } + + @Override + public String getPreProcessed() { + try { + scheduleStatus = (visitRule.getOverDueDate().toLocalDate().isBefore(LocalDate.now())) ? BaseAncHomeVisitAction.ScheduleStatus.OVERDUE : BaseAncHomeVisitAction.ScheduleStatus.DUE; + String due = (visitRule.getOverDueDate().toLocalDate().isBefore(LocalDate.now())) ? context.getString(R.string.overdue) : context.getString(R.string.due); + + subTitle = MessageFormat.format("{0} {1}", due, DateTimeFormat.forPattern("dd MMM yyyy").print(visitRule.getOverDueDate().toLocalDate())); + JSONObject jsonObject = new JSONObject(jsonPayload); + JSONArray fields = JsonFormUtils.fields(jsonObject); + + + String title = jsonObject.getJSONObject(JsonFormConstants.STEP1).getString(JsonFormConstants.STEP_TITLE); + jsonObject.getJSONObject(JsonFormConstants.STEP1).put("title", MessageFormat.format(title, visitRule.getVisitName())); + + JSONObject pnc_visit = JsonFormUtils.getFieldJSONObject(fields, "pnc_visit_{0}"); + pnc_visit.put(JsonFormConstants.KEY, MessageFormat.format("pnc_visit_{0}", visit_num)); + pnc_visit.put("hint", + MessageFormat.format(pnc_visit.getString(JsonFormConstants.HINT), + visit_num, + DateTimeFormat.forPattern("dd MMM yyyy").print(visitRule.getDueDate() + ) + ) + ); + + JSONObject pnc_visit_date = JsonFormUtils.getFieldJSONObject(fields, "pnc_hf_visit{0}_date"); + pnc_visit_date.put(JsonFormConstants.KEY, MessageFormat.format("pnc_hf_visit{0}_date", visit_num)); + pnc_visit_date.put("hint", + MessageFormat.format(pnc_visit_date.getString(JsonFormConstants.HINT), visitRule.getVisitName()) + ); + updateObjectRelevance(pnc_visit_date); + + if (visit_num == 1) { + updateObjectRelevance(JsonFormUtils.getFieldJSONObject(fields, "vit_a_mother")); + updateObjectRelevance(JsonFormUtils.getFieldJSONObject(fields, "ifa_mother")); + } + + return jsonObject.toString(); + } catch (Exception e) { + Timber.e(e); + } + return null; + } + + private void updateObjectRelevance(JSONObject jsonObject) throws JSONException { + JSONObject relevance = jsonObject.getJSONObject(JsonFormConstants.RELEVANCE); + JSONObject step = relevance.getJSONObject("step1:pnc_visit_{0}"); + relevance.put(MessageFormat.format("step1:pnc_visit_{0}", visit_num), step); + relevance.remove("step1:pnc_visit_{0}"); + } + + @Override + public void onPayloadReceived(String jsonPayload) { + try { + JSONObject jsonObject = new JSONObject(jsonPayload); + pnc_visit = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, MessageFormat.format("pnc_visit_{0}", visit_num)); + pnc_hf_visit_date = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, MessageFormat.format("pnc_hf_visit{0}_date", visit_num)); + + if (visit_num == 1) { + vit_a_mother = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "vit_a_mother"); + ifa_mother = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, "ifa_mother"); + } + + if (StringUtils.isNotBlank(pnc_hf_visit_date)) { + date = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).parse(pnc_hf_visit_date); + } + } catch (JSONException e) { + Timber.e(e); + } catch (ParseException e) { + Timber.e(e); + } + } + + @Override + public BaseAncHomeVisitAction.ScheduleStatus getPreProcessedStatus() { + return scheduleStatus; + } + + @Override + public String getPreProcessedSubTitle() { + return subTitle; + } + + @Override + public String postProcess(String s) { + try { + JSONObject jsonObject = new JSONObject(s); + + JSONArray field = JsonFormUtils.fields(jsonObject); + JSONObject confirmed_visits = JsonFormUtils.getFieldJSONObject(field, "confirmed_health_facility_visits"); + JSONObject facility_visit_date = JsonFormUtils.getFieldJSONObject(field, "last_health_facility_visit_date"); + pnc_hf_visit_date = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, MessageFormat.format("pnc_hf_visit{0}_date", visit_num)); + + String count = String.valueOf(visit_num); + String value = org.smartregister.chw.util.JsonFormUtils.getValue(jsonObject, MessageFormat.format("pnc_visit_{0}", visit_num)); + if (value.equalsIgnoreCase("Yes")) { + count = String.valueOf(visit_num + 1); + facility_visit_date.put(JsonFormConstants.VALUE, pnc_hf_visit_date); + } else { + facility_visit_date.remove(JsonFormConstants.VALUE); + } + + if (!confirmed_visits.getString(JsonFormConstants.VALUE).equals(count)) { + confirmed_visits.put(JsonFormConstants.VALUE, count); + return jsonObject.toString(); + } + + } catch (JSONException e) { + Timber.e(e); + } + return null; + } + + @Override + public String evaluateSubTitle() { + if ("No".equals(pnc_visit)) { + return context.getString(R.string.visit_not_done).replace("\n", ""); + } else { + if (date == null) { + return null; + } + + if (visit_num == 1) { + return MessageFormat.format(" {0}: {1} \n {2}: {3} \n {4}: {5}", + context.getString(R.string.date), new SimpleDateFormat("dd MMM yyyy", Locale.getDefault()).format(date), "Vitamin A received", vit_a_mother, "IFA tablets received", ifa_mother); + } else { + return MessageFormat.format("{0}: {1}", context.getString(R.string.date), new SimpleDateFormat("dd MMM yyyy", Locale.getDefault()).format(date)); + } + } + } + + + @Override + public BaseAncHomeVisitAction.Status evaluateStatusOnPayload() { + if (StringUtils.isBlank(pnc_visit)) { + return BaseAncHomeVisitAction.Status.PENDING; + } + + if (pnc_visit.equalsIgnoreCase("Yes")) { + return BaseAncHomeVisitAction.Status.COMPLETED; + } else if (pnc_visit.equalsIgnoreCase("No")) { + return BaseAncHomeVisitAction.Status.PARTIALLY_COMPLETED; + } else { + return BaseAncHomeVisitAction.Status.PENDING; + } + } + + @Override + public void onPayloadReceived(BaseAncHomeVisitAction baseAncHomeVisitAction) { + Timber.d("onPayloadReceived"); + } + } + +} \ No newline at end of file diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncUpcomingServicesInteractorFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncUpcomingServicesInteractorFlv.java new file mode 100644 index 0000000000..645c469e03 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/interactor/PncUpcomingServicesInteractorFlv.java @@ -0,0 +1,101 @@ +package org.smartregister.chw.interactor; + +import android.content.Context; + +import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.NotNull; +import org.joda.time.DateTime; +import org.smartregister.chw.R; +import org.smartregister.chw.anc.domain.MemberObject; +import org.smartregister.chw.anc.domain.VisitDetail; +import org.smartregister.chw.anc.model.BaseUpcomingService; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.VaccineScheduleUtil; +import org.smartregister.chw.dao.ChwPNCDao; +import org.smartregister.chw.domain.PNCHealthFacilityVisitSummary; + +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import timber.log.Timber; + +public class PncUpcomingServicesInteractorFlv extends DefaultPncUpcomingServiceInteractorFlv { + protected MemberObject memberObject; + protected Context context; + + @Override + public List getMemberServices(Context context, MemberObject memberObject) { + this.memberObject = memberObject; + this.context = context; + VaccineScheduleUtil.updateOfflineAlerts(memberObject.getBaseEntityId(), new DateTime(memberObject.getDob()), CoreConstants.SERVICE_GROUPS.CHILD); + List serviceList = new ArrayList<>(); + evaluateHealthFacility(serviceList); + return serviceList; + } + + private Date formattedDate(String sd, int period) { + return (dateTimeFormatter.parseLocalDate(sd).plusDays(period)).toDate(); + } + + private boolean isValid(String deliveryDate, int due, int expiry) { + return ((((dateTimeFormatter).parseLocalDate(deliveryDate).plusDays(due)).isBefore(today)) && + (((dateTimeFormatter).parseLocalDate(deliveryDate).plusDays(expiry)).isAfter(today))); + } + + private String serviceName(String val) { + return MessageFormat.format(context.getString(R.string.pnc_health_facility_visit_num), val); + } + + private void evaluateHealthFacility(List serviceList) { + //Get done Visits + Date serviceDueDate; + Date serviceOverDueDate; + String serviceName; + String details; + List visitDetailList = ChwPNCDao.getLastPNCHealthFacilityVisits(memberObject.getBaseEntityId()); + PNCHealthFacilityVisitSummary summary = ChwPNCDao.getLastHealthFacilityVisitSummary(memberObject.getBaseEntityId()); + + //There are four health facility visits hence the upcoming services is only valid when only 3 visits have been done + if ( summary != null && summary.getDeliveryDate() != null && visitDetailList != null && visitDetailList.size() < 4) { + try { + @NotNull String deliveryDate = simpleDateFormat.format(summary.getDeliveryDate()); + if (visitDetailList.size() == 0 && ((dateTimeFormatter.parseLocalDate(deliveryDate).plusDays(3)).isAfter(today))) { + serviceDueDate = (dateTimeFormatter.parseLocalDate(deliveryDate)).toDate(); + serviceOverDueDate = formattedDate(deliveryDate, 2); + serviceName = serviceName("48 hours"); + } else { + details = String.valueOf(visitDetailList.get(0).getVisitKey()).replaceAll("\\D+", ""); + if (!("4".equals(details)) && ( "3".equals(details) || isValid(deliveryDate, 29, 36) )) { + serviceDueDate = formattedDate(deliveryDate, 29); + serviceOverDueDate = formattedDate(deliveryDate, 36); + serviceName = serviceName("Day 29-42"); + } else if ( "2".equals(details) || isValid(deliveryDate, 8, 28)) { + serviceDueDate = formattedDate(deliveryDate, 8); + serviceOverDueDate = formattedDate(deliveryDate, 18); + serviceName = serviceName("Day 8-28"); + } else if ( "1".equals(details) || isValid(deliveryDate, 3, 8)) { + serviceDueDate = formattedDate(deliveryDate, 3); + serviceOverDueDate = formattedDate(deliveryDate, 5); + serviceName = serviceName("Day 3-7"); + } else { + serviceDueDate = (dateTimeFormatter.parseLocalDate(deliveryDate)).toDate(); + serviceOverDueDate = (dateTimeFormatter.parseLocalDate(deliveryDate)).toDate(); + serviceName = null; + } + } + BaseUpcomingService upcomingService = new BaseUpcomingService(); + if (StringUtils.isNotBlank(serviceName)) { + upcomingService.setServiceDate(serviceDueDate); + upcomingService.setOverDueDate(serviceOverDueDate); + upcomingService.setServiceName(serviceName); + serviceList.add(upcomingService); + } + } catch (Exception e) { + Timber.v(e.toString()); + } + } + + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/AncRegisterFragmentModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/AncRegisterFragmentModelFlv.java new file mode 100644 index 0000000000..a3e387b247 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/AncRegisterFragmentModelFlv.java @@ -0,0 +1,11 @@ +package org.smartregister.chw.model; + +import java.util.HashSet; +import java.util.Set; + +public class AncRegisterFragmentModelFlv implements AncRegisterFragmentModel.Flavor { + @Override + public Set mainColumns(String tableName) { + return new HashSet<>(); + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/FamilyProfileModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/FamilyProfileModelFlv.java new file mode 100644 index 0000000000..81c5c9db9e --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/FamilyProfileModelFlv.java @@ -0,0 +1,11 @@ +package org.smartregister.chw.model; + +import org.smartregister.chw.core.utils.FormUtils; +import org.smartregister.family.domain.FamilyEventClient; + +public class FamilyProfileModelFlv implements FamilyProfileModel.Flavor { + @Override + public void updateWra(FamilyEventClient familyEventClient) { + FormUtils.updateWraForBA(familyEventClient); + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java new file mode 100644 index 0000000000..c2dbd46a7c --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/model/NavigationModelFlv.java @@ -0,0 +1,50 @@ +package org.smartregister.chw.model; + +import org.smartregister.chw.BuildConfig; +import org.smartregister.chw.R; +import org.smartregister.chw.core.model.NavigationModel; +import org.smartregister.chw.core.model.NavigationOption; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.util.Constants; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class NavigationModelFlv implements NavigationModel.Flavor { + + private static List navigationOptions = new ArrayList<>(); + + @Override + public List getNavigationItems() { + + if (navigationOptions.size() == 0) { + NavigationOption op1 = new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_families, Constants.DrawerMenu.ALL_FAMILIES, 0); + NavigationOption op2 = new NavigationOption(R.mipmap.sidemenu_children, R.mipmap.sidemenu_children_active, R.string.menu_child_clients, Constants.DrawerMenu.CHILD_CLIENTS, 0); + + NavigationOption op3 = new NavigationOption(R.mipmap.sidemenu_anc, R.mipmap.sidemenu_anc_active, R.string.menu_anc, Constants.DrawerMenu.ANC, 0); + NavigationOption op5 = new NavigationOption(R.mipmap.sidemenu_pnc, R.mipmap.sidemenu_pnc_active, R.string.menu_pnc, Constants.DrawerMenu.PNC, 0); + NavigationOption op6 = new NavigationOption(R.mipmap.sidemenu_fp, R.mipmap.sidemenu_fp_active, R.string.menu_family_planing, Constants.DrawerMenu.FAMILY_PLANNING, 0); + NavigationOption op7 = new NavigationOption(R.mipmap.sidemenu_malaria, R.mipmap.sidemenu_malaria_active, R.string.menu_malaria, Constants.DrawerMenu.MALARIA, 0); + NavigationOption op8 = new NavigationOption(R.mipmap.sidemenu_referrals, R.mipmap.sidemenu_referrals_active, R.string.menu_referrals, Constants.DrawerMenu.REFERRALS, 0); + NavigationOption op9 = new NavigationOption(R.mipmap.sidemenu_updates, R.mipmap.sidemenu_updates_active, R.string.updates, CoreConstants.DrawerMenu.UPDATES, 0); + NavigationOption op10 = new NavigationOption(R.mipmap.sidemenu_families, R.mipmap.sidemenu_families_active, R.string.menu_all_clients, CoreConstants.DrawerMenu.ALL_CLIENTS, 0); + NavigationOption op11 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv, CoreConstants.DrawerMenu.CBHS_CLIENTS, 0); + NavigationOption op12 = new NavigationOption(R.mipmap.sidemenu_hiv, R.mipmap.sidemenu_hiv_active, R.string.menu_hiv_index_contacts, CoreConstants.DrawerMenu.HIV_INDEX_CLIENTS, 0); + NavigationOption op13 = new NavigationOption(R.mipmap.sidemenu_tb, R.mipmap.sidemenu_tb_active, R.string.menu_tb, CoreConstants.DrawerMenu.TB_CLIENTS, 0); + + + //Reordered the Items as requested by Ministry of Health National AIDS Control Program (NACP) + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH && BuildConfig.BUILD_FOR_BORESHA_AFYA_SOUTH) { + navigationOptions.addAll(Arrays.asList(op10, op1, op11, op12, op3, op5, op6, op8, op2, op7, op13, op9)); + } else { + navigationOptions.addAll(Arrays.asList(op1, op3, op5, op2, op6, op7)); + if (BuildConfig.USE_UNIFIED_REFERRAL_APPROACH) + navigationOptions.add(op8); + navigationOptions.add(op9); + } + } + + return navigationOptions; + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/repository/ChwRepositoryFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/repository/ChwRepositoryFlv.java new file mode 100644 index 0000000000..72a4027868 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/repository/ChwRepositoryFlv.java @@ -0,0 +1,387 @@ +package org.smartregister.chw.repository; + +import android.content.Context; + +import net.sqlcipher.database.SQLiteDatabase; + +import org.smartregister.chw.anc.repository.VisitDetailsRepository; +import org.smartregister.chw.anc.repository.VisitRepository; +import org.smartregister.chw.application.ChwApplication; +import org.smartregister.chw.core.BuildConfig; +import org.smartregister.chw.core.application.CoreChwApplication; +import org.smartregister.chw.core.repository.StockUsageReportRepository; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.util.ChildDBConstants; +import org.smartregister.chw.util.ChwDBConstants; +import org.smartregister.chw.util.RepositoryUtils; +import org.smartregister.chw.util.RepositoryUtilsFlv; +import org.smartregister.domain.db.Column; +import org.smartregister.family.util.DBConstants; +import org.smartregister.immunization.repository.RecurringServiceRecordRepository; +import org.smartregister.immunization.repository.VaccineRepository; +import org.smartregister.immunization.util.IMDatabaseUtils; +import org.smartregister.reporting.ReportingLibrary; +import org.smartregister.repository.AlertRepository; +import org.smartregister.repository.EventClientRepository; +import org.smartregister.util.DatabaseMigrationUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; + +import timber.log.Timber; + +public class ChwRepositoryFlv { + private static String appVersionCodePref = "APP_VERSION_CODE"; + + public static void onUpgrade(Context context, SQLiteDatabase db, int oldVersion, int newVersion) { + Timber.w(ChwRepository.class.getName(), + "Upgrading database from version " + oldVersion + " to " + + newVersion + ", which will destroy all old data"); + int upgradeTo = oldVersion + 1; + while (upgradeTo <= newVersion) { + switch (upgradeTo) { + case 2: + upgradeToVersion2(context, db); + break; + case 3: + upgradeToVersion3(db); + break; + case 4: + upgradeToVersion4(db); + break; + case 5: + upgradeToVersion5(db); + break; + case 7: + upgradeToVersion7(db); + break; + case 8: + upgradeToVersion8(db); + break; + case 9: + upgradeToVersion9(db); + break; + case 10: + upgradeToVersion10(db); + break; + case 12: + upgradeToVersion12(db); + break; + case 13: + upgradeToVersion13(db); + break; + case 14: + upgradeToVersion14(db); + break; + case 15: + upgradeToVersion15(db); + break; + case 16: + upgradeToVersion16(db); + break; + case 17: + upgradeToVersion17(db); + break; + case 18: + upgradeToVersion18(db); + break; + case 19: + upgradeToVersion19(db); + break; + case 20: + upgradeToVersion20(db); + break; + case 21: + upgradeToVersion21(db); + break; + case 22: + upgradeToVersion22(db); + break; + case 23: + upgradeToVersion23(db); + break; + case 24: + upgradeToVersion24(db); + break; + default: + break; + } + upgradeTo++; + } + } + + + private static void upgradeToVersion2(Context context, SQLiteDatabase db) { + try { + db.execSQL(VaccineRepository.UPDATE_TABLE_ADD_EVENT_ID_COL); + db.execSQL(VaccineRepository.EVENT_ID_INDEX); + db.execSQL(VaccineRepository.UPDATE_TABLE_ADD_FORMSUBMISSION_ID_COL); + db.execSQL(VaccineRepository.FORMSUBMISSION_INDEX); + + db.execSQL(VaccineRepository.UPDATE_TABLE_ADD_OUT_OF_AREA_COL); + db.execSQL(VaccineRepository.UPDATE_TABLE_ADD_OUT_OF_AREA_COL_INDEX); + +// EventClientRepository.createTable(db, EventClientRepository.Table.path_reports, EventClientRepository.report_column.values()); + db.execSQL(VaccineRepository.UPDATE_TABLE_ADD_HIA2_STATUS_COL); + + IMDatabaseUtils.accessAssetsAndFillDataBaseForVaccineTypes(context, db); + + } catch (Exception e) { + Timber.e(e, "upgradeToVersion2 "); + } + + } + + private static void upgradeToVersion3(SQLiteDatabase db) { + try { + Column[] columns = {EventClientRepository.event_column.formSubmissionId}; + EventClientRepository.createIndex(db, EventClientRepository.Table.event, columns); + + db.execSQL(VaccineRepository.ALTER_ADD_CREATED_AT_COLUMN); + VaccineRepository.migrateCreatedAt(db); + + db.execSQL(RecurringServiceRecordRepository.ALTER_ADD_CREATED_AT_COLUMN); + RecurringServiceRecordRepository.migrateCreatedAt(db); + } catch (Exception e) { + Timber.e(e, "upgradeToVersion3 "); + } + try { + Column[] columns = {EventClientRepository.event_column.formSubmissionId}; + EventClientRepository.createIndex(db, EventClientRepository.Table.event, columns); + + + } catch (Exception e) { + Timber.e(e, "upgradeToVersion3 " + e.getMessage()); + } + } + + private static void upgradeToVersion4(SQLiteDatabase db) { + try { + db.execSQL(AlertRepository.ALTER_ADD_OFFLINE_COLUMN); + db.execSQL(AlertRepository.OFFLINE_INDEX); + db.execSQL(VaccineRepository.UPDATE_TABLE_ADD_TEAM_COL); + db.execSQL(VaccineRepository.UPDATE_TABLE_ADD_TEAM_ID_COL); + db.execSQL(RecurringServiceRecordRepository.UPDATE_TABLE_ADD_TEAM_COL); + db.execSQL(RecurringServiceRecordRepository.UPDATE_TABLE_ADD_TEAM_ID_COL); + } catch (Exception e) { + Timber.e(e, "upgradeToVersion4 "); + } + + } + + private static void upgradeToVersion5(SQLiteDatabase db) { + try { + db.execSQL(VaccineRepository.UPDATE_TABLE_ADD_CHILD_LOCATION_ID_COL); + db.execSQL(RecurringServiceRecordRepository.UPDATE_TABLE_ADD_CHILD_LOCATION_ID_COL); + } catch (Exception e) { + Timber.e(e, "upgradeToVersion5 "); + } + } + + private static void upgradeToVersion7(SQLiteDatabase db) { + try { + for (String query : RepositoryUtilsFlv.UPGRADE_V8) { + db.execSQL(query); + } + } catch (Exception e) { + Timber.e(e, "upgradeToVersion7 "); + } + } + + private static void upgradeToVersion8(SQLiteDatabase db) { + try { + for (String query : RepositoryUtilsFlv.UPGRADE_V9) { + db.execSQL(query); + } + } catch (Exception e) { + Timber.e(e, "upgradeToVersion8 "); + } + } + + private static void upgradeToVersion9(SQLiteDatabase db) { + try { + VisitRepository.createTable(db); + VisitDetailsRepository.createTable(db); + } catch (Exception e) { + Timber.e(e, "upgradeToVersion9 "); + } + } + + private static void upgradeToVersion10(SQLiteDatabase db) { + try { + for (String query : RepositoryUtils.UPGRADE_V10) { + db.execSQL(query); + } + } catch (Exception e) { + Timber.e(e, "upgradeToVersion10 "); + } + } + + private static void upgradeToVersion12(SQLiteDatabase db) { + try { + // add missing columns + List columns = new ArrayList<>(); + columns.add(ChildDBConstants.KEY.RELATIONAL_ID); + DatabaseMigrationUtils.addFieldsToFTSTable(db, CoreChwApplication.createCommonFtsObject(), CoreConstants.TABLE_NAME.FAMILY_MEMBER, columns); + + // add missing columns + List child_columns = new ArrayList<>(); + child_columns.add(DBConstants.KEY.DOB); + child_columns.add(DBConstants.KEY.DATE_REMOVED); + DatabaseMigrationUtils.addFieldsToFTSTable(db, CoreChwApplication.createCommonFtsObject(), CoreConstants.TABLE_NAME.CHILD, child_columns); + + } catch (Exception e) { + Timber.e(e, "upgradeToVersion12 "); + } + } + + private static void upgradeToVersion13(SQLiteDatabase db) { + try { + // delete possible duplication + db.execSQL(RepositoryUtils.ADD_MISSING_REPORTING_COLUMN); + } catch (Exception e) { + Timber.e(e); + } + } + + private static boolean checkIfAppUpdated() { + String savedAppVersion = ReportingLibrary.getInstance().getContext().allSharedPreferences().getPreference(appVersionCodePref); + if (savedAppVersion.isEmpty()) { + return true; + } else { + int savedVersion = Integer.parseInt(savedAppVersion); + return (BuildConfig.VERSION_CODE > savedVersion); + } + } + + private static void upgradeToVersion14(SQLiteDatabase db) { + try { + StockUsageReportRepository.createTable(db); + } catch (Exception e) { + Timber.e(e); + } + } + + private static void upgradeToVersion15(SQLiteDatabase db) { + try { + String indicatorsConfigFile = "config/indicator-definitions.yml"; + String indicatorDataInitialisedPref = "INDICATOR_DATA_INITIALISED"; + ReportingLibrary reportingLibraryInstance = ReportingLibrary.getInstance(); + + boolean indicatorDataInitialised = Boolean.parseBoolean(reportingLibraryInstance.getContext().allSharedPreferences().getPreference(indicatorDataInitialisedPref)); + boolean isUpdated = checkIfAppUpdated(); + if (!indicatorDataInitialised || isUpdated) { + reportingLibraryInstance.readConfigFile(indicatorsConfigFile, db); + reportingLibraryInstance.initIndicatorData(indicatorsConfigFile, db); // This will persist the data in the DB + reportingLibraryInstance.getContext().allSharedPreferences().savePreference(indicatorDataInitialisedPref, "true"); + reportingLibraryInstance.getContext().allSharedPreferences().savePreference(appVersionCodePref, String.valueOf(BuildConfig.VERSION_CODE)); + } + + for (String query : RepositoryUtilsFlv.UPGRADE_V15) { + db.execSQL(query); + } + } catch (Exception e) { + Timber.e(e); + } + } + + private static void upgradeToVersion16(SQLiteDatabase db) { + try { + db.execSQL(RepositoryUtils.FAMILY_MEMBER_ADD_REASON_FOR_REGISTRATION); + } catch (Exception e) { + Timber.e(e); + } + } + + private static void upgradeToVersion17(SQLiteDatabase db) { + try { + RepositoryUtils.addDetailsColumnToFamilySearchTable(db); + String addMissingColumnsQuery = "ALTER TABLE ec_family_member\n" + + " ADD COLUMN has_primary_caregiver VARCHAR;\n" + + "ALTER TABLE ec_family_member\n" + + " ADD COLUMN primary_caregiver_name VARCHAR;"; + db.execSQL(addMissingColumnsQuery); + } catch (Exception e) { + Timber.e(e, "upgradeToVersion17 "); + } + } + + private static void upgradeToVersion18(SQLiteDatabase db) { + try { + DatabaseMigrationUtils.createAddedECTables(db, + new HashSet<>(Arrays.asList("ec_not_yet_done_referral", "ec_family_planning", "ec_sick_child_followup", "ec_malaria_followup_hf", "ec_pnc_danger_signs_outcome", "ec_anc_danger_signs_outcome", "ec_referral", "ec_family_planning_update")), + ChwApplication.createCommonFtsObject()); + } catch (Exception e) { + Timber.e(e, "upgradeToVersion18"); + } + } + + private static void upgradeToVersion19(SQLiteDatabase db) { + try { + RepositoryUtils.addDetailsColumnToFamilySearchTable(db); + String addMissingColumnsQuery = "ALTER TABLE ec_family_member\n" + + " ADD COLUMN primary_caregiver_name VARCHAR;\n"; + db.execSQL(addMissingColumnsQuery); + } catch (Exception e) { + Timber.e(e, "upgradeToVersion19"); + } + } + + private static void upgradeToVersion20(SQLiteDatabase db) { + try { + db.execSQL(RepositoryUtils.EC_REFERRAL_ADD_FP_METHOD_COLUMN); + } catch (Exception e) { + Timber.e(e, "upgradeToVersion20"); + } + } + + private static void upgradeToVersion21(SQLiteDatabase db) { + try { + db.execSQL("ALTER TABLE ec_family ADD COLUMN event_date VARCHAR; "); + // add missing columns + } catch (Exception e) { + Timber.e(e, "upgradeToVersion21 "); + } + + try { + db.execSQL("UPDATE ec_family SET event_date = (select min(eventDate) from event where event.baseEntityId = ec_family.base_entity_id and event.eventType = 'Family Registration') where event_date is null;"); + } catch (Exception e) { + Timber.e(e, "upgradeToVersion21 "); + } + + } + + private static void upgradeToVersion22(SQLiteDatabase db) { + try { + List columns = new ArrayList<>(); + columns.add(DBConstants.KEY.VILLAGE_TOWN); + columns.add(ChwDBConstants.NEAREST_HEALTH_FACILITY); + DatabaseMigrationUtils.addFieldsToFTSTable(db, CoreChwApplication.createCommonFtsObject(), CoreConstants.TABLE_NAME.FAMILY, columns); + + } catch (Exception e) { + Timber.e(e, "upgradeToVersion22 "); + } + } + + private static void upgradeToVersion23(SQLiteDatabase db) { + try { + db.execSQL(VisitRepository.ADD_VISIT_GROUP_COLUMN); + db.execSQL("ALTER TABLE ec_anc_register ADD COLUMN delivery_kit VARCHAR;"); + } catch (Exception e) { + Timber.e(e, "upgradeToVersion23"); + } + } + + + private static void upgradeToVersion24(SQLiteDatabase db) { + try { + DatabaseMigrationUtils.createAddedECTables(db, + new HashSet<>(Arrays.asList("ec_hiv_register", "ec_hiv_community_followup", "ec_hiv_community_feedback", "ec_tb_register", "ec_tb_community_followup", "ec_tb_community_feedback", "ec_hiv_outcome", "ec_tb_outcome","ec_hiv_index","ec_hiv_index_contact_community_followup")), + ChwApplication.createCommonFtsObject()); + } catch (Exception e) { + Timber.e(e, "upgradeToVersion24"); + } + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/task/ChildHomeVisitSchedulerFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/task/ChildHomeVisitSchedulerFlv.java new file mode 100644 index 0000000000..9abc544eb0 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/task/ChildHomeVisitSchedulerFlv.java @@ -0,0 +1,4 @@ +package org.smartregister.chw.task; + +public class ChildHomeVisitSchedulerFlv extends DefaultChildHomeVisitSchedulerFlv { +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/util/ChildUtilsFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/util/ChildUtilsFlv.java new file mode 100644 index 0000000000..da0345a55b --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/util/ChildUtilsFlv.java @@ -0,0 +1,31 @@ +package org.smartregister.chw.util; + +import org.smartregister.chw.core.utils.ChildDBConstants; + +import java.util.ArrayList; + +public class ChildUtilsFlv implements ChildUtils.Flavor { + + public ArrayList mainColumns(String tableName, String familyTable, String familyMemberTable) { + ArrayList columnList = new ArrayList<>(); + + columnList.add(tableName + "." + ChildDBConstants.KEY.INSURANCE_PROVIDER); + columnList.add(tableName + "." + ChildDBConstants.KEY.INSURANCE_PROVIDER_NUMBER); + columnList.add(tableName + "." + ChildDBConstants.KEY.INSURANCE_PROVIDER_OTHER); + columnList.add(tableName + "." + ChildDBConstants.KEY.TYPE_OF_DISABILITY); + columnList.add(tableName + "." + ChildDBConstants.KEY.RHC_CARD); + columnList.add(tableName + "." + ChildDBConstants.KEY.NUTRITION_STATUS); + + return columnList; + } + + @Override + public String[] getOneYearVaccines() { + return new String[]{"bcg", "opv1", "penta1", "pcv1", "rota1", "opv2", "penta2", "pcv2", "rota2", "opv3", "penta3", "pcv3", "ipv", "mr1"}; + } + + @Override + public String[] getTwoYearVaccines() { + return new String[]{"bcg", "opv1", "penta1", "pcv1", "rota1", "opv2", "penta2", "pcv2", "rota2", "opv3", "penta3", "pcv3", "ipv", "mr1", "mr2"}; + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/util/JsonFormUtilsFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/util/JsonFormUtilsFlv.java new file mode 100644 index 0000000000..ba73b68c8b --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/util/JsonFormUtilsFlv.java @@ -0,0 +1,29 @@ +package org.smartregister.chw.util; + +import android.content.Context; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.smartregister.chw.application.ChwApplication; +import org.smartregister.chw.core.utils.BAJsonFormUtils; +import org.smartregister.clientandeventmodel.Client; +import org.smartregister.clientandeventmodel.Event; +import org.smartregister.commonregistry.CommonPersonObjectClient; + +public class JsonFormUtilsFlv extends BAJsonFormUtils implements JsonFormUtils.Flavor { + + public JsonFormUtilsFlv() { + super(ChwApplication.getInstance()); + } + + @Override + public JSONObject getAutoJsonEditMemberFormString(String title, String formName, Context context, CommonPersonObjectClient client, String eventType, String familyName, boolean isPrimaryCaregiver) { + return super.getAutoJsonEditMemberFormString(title, formName, context, client, eventType, familyName, isPrimaryCaregiver); + } + + @Override + public void processFieldsForMemberEdit(CommonPersonObjectClient client, JSONObject jsonObject, JSONArray jsonArray, String familyName, boolean isPrimaryCaregiver, Event ecEvent, Client ecClient) throws JSONException { + super.processFieldsForMemberEdit(client, jsonObject, jsonArray, familyName, isPrimaryCaregiver, ecEvent, ecClient); + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/util/PhoneNumberFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/util/PhoneNumberFlv.java new file mode 100644 index 0000000000..cc8a4655d4 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/util/PhoneNumberFlv.java @@ -0,0 +1,35 @@ +package org.smartregister.chw.util; + +import android.text.Editable; +import android.widget.EditText; + +import org.apache.commons.lang3.StringUtils; +import org.smartregister.chw.R; +import org.smartregister.chw.core.adapter.MemberAdapter; + +public class PhoneNumberFlv implements MemberAdapter.Flavor { + @Override + public boolean isPhoneNumberLength16Digit() { + return false; + } + + @Override + public boolean isPhoneNumberValid(EditText phoneEditText, EditText alternatePhoneEditText) { + validatePhoneNumber(phoneEditText); + validatePhoneNumber(alternatePhoneEditText); + + return (StringUtils.isBlank(alternatePhoneEditText.getText()) && StringUtils.isNoneBlank(phoneEditText.getText()) && + phoneEditText.getText().length() == 10) || (StringUtils.isNoneBlank(alternatePhoneEditText.getText()) && + StringUtils.isNoneBlank(phoneEditText.getText()) && phoneEditText.getText().length() == 10 && + alternatePhoneEditText.getText().length() == 10); + } + + private void validatePhoneNumber(EditText phoneEditText) { + Editable phoneNumber = phoneEditText.getText(); + if (phoneNumber.length() > 0 && phoneNumber.length() < 10 || phoneNumber.length() > 10) { + phoneEditText.setError(phoneEditText.getContext().getString(R.string.ten_digits_validation)); + } else { + phoneEditText.setError(null); + } + } +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/util/RepositoryUtilsFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/util/RepositoryUtilsFlv.java new file mode 100644 index 0000000000..0a2964b9df --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/util/RepositoryUtilsFlv.java @@ -0,0 +1,33 @@ +package org.smartregister.chw.util; + +public interface RepositoryUtilsFlv { + + String[] UPGRADE_V6 = { + "ALTER TABLE ec_family ADD COLUMN nearest_facility VARCHAR;", + "ALTER TABLE ec_family_member ADD COLUMN voter_id VARCHAR;", + "ALTER TABLE ec_family_member ADD COLUMN driver_license VARCHAR;", + "ALTER TABLE ec_family_member ADD COLUMN passport VARCHAR;", + "ALTER TABLE ec_family_member ADD COLUMN insurance_provider VARCHAR;", + "ALTER TABLE ec_family_member ADD COLUMN insurance_provider_other VARCHAR;", + "ALTER TABLE ec_family_member ADD COLUMN insurance_provider_number VARCHAR;", + "ALTER TABLE ec_family_member ADD COLUMN disabilities VARCHAR;", + "ALTER TABLE ec_family_member ADD COLUMN service_provider VARCHAR;", + "ALTER TABLE ec_family_member ADD COLUMN leader VARCHAR;", + "ALTER TABLE ec_family_member ADD COLUMN leader_other VARCHAR;" + }; + + String[] UPGRADE_V8 = { + "ALTER TABLE ec_family_member ADD COLUMN type_of_disability VARCHAR;" + }; + + String[] UPGRADE_V9 = { + "ALTER TABLE ec_child ADD COLUMN insurance_provider VARCHAR;", + "ALTER TABLE ec_child ADD COLUMN insurance_provider_number VARCHAR;", + "ALTER TABLE ec_child ADD COLUMN insurance_provider_other VARCHAR;", + "ALTER TABLE ec_child ADD COLUMN type_of_disability VARCHAR;" + }; + + String[] UPGRADE_V15 = { + "ALTER TABLE ec_pregnancy_outcome ADD COLUMN delivery_home VARCHAR;" + }; +} diff --git a/opensrp-chw/src/nacp/java/org/smartregister/chw/util/UtilsFlv.java b/opensrp-chw/src/nacp/java/org/smartregister/chw/util/UtilsFlv.java new file mode 100644 index 0000000000..eeb85d7aa6 --- /dev/null +++ b/opensrp-chw/src/nacp/java/org/smartregister/chw/util/UtilsFlv.java @@ -0,0 +1,78 @@ +package org.smartregister.chw.util; + +import android.os.AsyncTask; +import android.view.Menu; + +import org.apache.commons.lang3.StringUtils; +import org.smartregister.chw.R; +import org.smartregister.chw.core.rule.MalariaFollowUpRule; +import org.smartregister.chw.core.utils.CoreConstants; +import org.smartregister.chw.core.utils.MalariaVisitUtil; +import org.smartregister.chw.fp.dao.FpDao; +import org.smartregister.chw.hiv.dao.HivDao; +import org.smartregister.chw.malaria.dao.MalariaDao; +import org.smartregister.chw.tb.dao.TbDao; +import org.smartregister.util.Utils; + +import java.util.Date; + +public class UtilsFlv { + private static class UpdateFollowUpMenuItem extends AsyncTask { + private final String baseEntityId; + private Menu menu; + private MalariaFollowUpRule malariaFollowUpRule; + + public UpdateFollowUpMenuItem(String baseEntityId, Menu menu) { + this.baseEntityId = baseEntityId; + this.menu = menu; + } + + @Override + protected Void doInBackground(Void... voids) { + Date malariaTestDate = MalariaDao.getMalariaTestDate(baseEntityId); + Date followUpDate = MalariaDao.getMalariaFollowUpVisitDate(baseEntityId); + malariaFollowUpRule = MalariaVisitUtil.getMalariaStatus(malariaTestDate,followUpDate); + return null; + } + + @Override + protected void onPostExecute(Void param) { + if (malariaFollowUpRule != null && StringUtils.isNotBlank(malariaFollowUpRule.getButtonStatus()) && + !CoreConstants.VISIT_STATE.EXPIRED.equalsIgnoreCase(malariaFollowUpRule.getButtonStatus())) { + menu.findItem(R.id.action_malaria_followup_visit).setVisible(true); + } + } + } + public static void updateMalariaMenuItems(String baseEntityId, Menu menu) { + if (MalariaDao.isRegisteredForMalaria(baseEntityId)) { + Utils.startAsyncTask(new UpdateFollowUpMenuItem(baseEntityId, menu), null); + } else { + menu.findItem(R.id.action_malaria_registration).setVisible(true); + } + } + + public static void updateFpMenuItems(String baseEntityId, Menu menu) { + if (FpDao.isRegisteredForFp(baseEntityId)) { + menu.findItem(R.id.action_fp_change).setVisible(true); + } else { + menu.findItem(R.id.action_fp_initiation).setVisible(true); + } + } + + public static void updateHivMenuItems(String baseEntityId, Menu menu) { + if (HivDao.isRegisteredForHiv(baseEntityId)) { + menu.findItem(R.id.action_cbhs_registration).setVisible(false); + }else{ + menu.findItem(R.id.action_cbhs_registration).setVisible(true); + } + } + + public static void updateTbMenuItems(String baseEntityId, Menu menu) { + if (TbDao.isRegisteredForTb(baseEntityId)) { + menu.findItem(R.id.action_tb_registration).setVisible(false); + }else{ + menu.findItem(R.id.action_tb_registration).setVisible(true); + } + } + +} diff --git a/opensrp-chw/src/nacp/res/drawable-hdpi/ic_launcher.png b/opensrp-chw/src/nacp/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..dd2da42e577cc14dcc60a98c0addea85d1751698 GIT binary patch literal 4687 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 R&7}YU002ovPDHLkV1m`r$in~t literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable-hdpi/ic_launcher_foreground.png b/opensrp-chw/src/nacp/res/drawable-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..d6a6559a75321c74a6638b5b1240bb26a583459e GIT binary patch literal 7789 zcmb_h_dnbJ6SpN+Q?XaklAwsvicuq|QMGA}j@VT-YSdN{1QokxMU)y*r6{!gU%W_q5H5FreQ5D#FFY8wt zys<2OfAU4F>l0Jw{WYq>hl{P7ss1p&<4yJzr*^umwB?Bg*Sk#8?K!Q-n7H4tJeoj` zx6qCp;Psetrxpy6$wS(Pev8(3z_7;u3D2IH$7}+Fz&EiwPjRmM+0}m%m2;XI?1BLy{T5~9JR(D~ym`}yIGGc;7-s-F8G!U0w%)<|@z_H474M_=~pRkP4 zB~p-HB0yq74G+M?S2E}aTxybl*lMBDIiafXE{#WSQRVsoQUFaZi0G<>w)6$aUVU=| zFzgDlrAVw#7VNFiNROEQ3$o(X zGbbY1^x!t8Kx6n!kpNca&2>3qMW9>BEwtqXXBam<@ zPBHu~^w;bi-#k{1q*l)Y8iWeu<_E^kHNCE7ba9LVKFSJiz$uPw*z)MrSV=7(SrcS< zMKl1DYPB?gS!RMGVC*q5UyqV_%LJM9fdT)8^`jW4s6v2{SwC=*1iwdvmq!gw{uIp1 z-nm0PT2Tut&MU)Cn+cf_u#6(36$k^U34-PtEqaTZ0g1ZHH_Rqlp((N;bb!5_$`kYj zirdSQYTMZ*Gi_f22y!Xq*=FfFLcL~D3G@kch!|p<=?7S%dOF*6#?G1DJAlTAmK>U# zXuBV4Y6|SZLnKi>y?_RZ!g}ys5A*n@50pXA5L7CqFg2^L zL$$^lP?{n8%DNa)zGV}O&YvpCIz;7!zEAeETrCYF1Q0zVA<2-J$Pt&Qg17ML)qv{* zkPj#oAZ+i`T@%pre|-Uem(YqQXts!Gi`aXH22k{1;38`*3W_T4pg}KE6VT>20E;BQ zT9;VS)+hWgs-53zz)i#;W{jO^jyP(fAK4m-yiW{ygw%4I!{58GzDm0Y$LcDW*zF-m zK2#sm>AMa+L6`KoIKlso86j}&?H$CtIQR=VX1@qf>7x@jqwr>U)MZC3}uk7HT}YSCFbB7x9BgaWQ11Ca_xpFMVPsT|K5TNBW$*zGl94D0uF6bm-RLN6E4M8)*12 z?T!3Hq0hJ2unxgQKM}wO1wgQ^YBdZaRoC+8qi2{<=;cl zhX`{(H6!>+U~C7k`H#@qpLAJLkMl1Y(alefGfZJ+6$}k9Obn=l3()zBEUuIxZ|fAj zP-!P0$I(|b=2E07o_83#)Of}1I|LeZI#1M+f%KZxj_CCRJ>emxA8GVJI`=}Q@lJdS zG?&#v@7FluYWn}XD&Wel62Y}^T6P-aN)I{03jxg)*$JiS*2K$iT= z9;rW&A#K1lOwxBKVp0de{+gkm?}tM0hcgYp(2~#SM229*2R)3?fo0QRo?zWVTfW&Y zN1sHIxBy1Fe(uZ?P~0`l(&?W>q&d!>R-$7<2)&gaOZg#H9YByH1k0ria;mRX_I?pu zyV6uEUJhSpM}jP*K2z%B;zar!T>tStb&d|-O}Dq z?3&f<=WOo!I@{RL$zjEnj8Dp$ra#%fS%ZphYD@d7&Uh%6`vG?}Z9WPv#d`p?QA zyS#ss%e5g5U-}c0#iJ)xeetc)vr7#VJbdi+Ctjlx>+v>q@O5_(3!=Gw|0YA8C|abA zsQHqk?=*a{>s`QHBK1^+#VS`qapPSL2F>g*XSZIzmjaygfvkAiZq-E@_#DK~&W_6* zJq;luX>74)0hdX^^-*jX8^4*Uk4k*|pp#(5UwMKiag;+WokV%jfxlJECu#KuJ&kRz zJENnT_+AORDeqRh;07(zd(+gNEkS+kqI(eBQE>P5mp-~BQ6Ces(c!8xn_76PIUBWQ>9*Xtn?W$ka`(XHXfx$}RkD7Qn`zTik zM*R0vK^o3T5OZ&7SyC?~ML7ib^|gngMaaXaLSeA)GCVBtl$PVob~+_<*Tr^GDndAL ziCS&T(in~L_RUQ3XjVN79hwgV)hvIM*o*C|_xqj@6mdIFM-AL=%nBe}U!PGawjH!5 z*gr?c<~6SDGMU&8{^RBFDK(bu&8rJ&AU0!^XesAM)fze98OetUm5?@Z9s0BOhzZZ% zR+Pa(o9OFUO@}^|w@@Qiv}RuJO@4k7HYQPK+$&x7H0m0gy<)3p-Cpn7ta&Pv0;u!X z!>g%-hDqR8pnH8^{PR=Q^Ck5+Kn7FOj0BK3Bg;m__y>CY9#LUj-BM)!P(<42&bNiw z>`JdJFBSZ=56KXucpB&4Lb%3yt-GUj@=6=pEPaPGPB*6yC>O{4Ai;6Ujn|F|lXY(& z>%(7xlxvLzS3!2HF&rtpGpSi6FFp(he|tV(hhcc; zQ3cj2(}~h|OShS7w&wh6E9HLe9^I{l^Zw}1kqH_;wzLsr{FgpxupL^Bcj>Z8iCdi( zhw3jmL-EXrbriG*xL z|JN-cN?Y4d++B!S80;qp_NAb~@>HFmUTeje0QfWraphqDJ^$TuOOdI?_bQZ!7VKgw zA(w8tET!r~SzpcfgY4LmHn6?~{pBFUZ2qH1U+cGd>17<;Rq?Q^XuCk2uVQ#+;v4^W zw8nO`GFK71sP<-q|Zd~E1 z#wQa}^4vLYMd(`UQ#{yw^nB(19DfukZe{yW{WU$h%y6iBNcUwxv-F8V#RqQlnOU3u zTDMC91@yl)xEd?gA3(hnY0ajo3l}h`MC7H&Rc0#lY!xr@IM)RkAJ83t_Pa$*m2l9} zrUc;*F-l>+lE&E*uP3htmC~_?h_1;J8qpxp;@(p1Q-;@t5MoN%ogx)4J)e|YDoK+8 z=XEcxO>fWMf0OVK0es^N_{3<-zQ_RlZdF0zNw)F_R4^pDk^ZRu)A6a8E3w?WS4aaU zJqlDI_aOe4bvOKq8vq?Oa%x9QchaY3nA}I+wI=i4dd9}EI zcOEVbfd9MM^=2dascG<4uhYQWDKPa{wydAugB8C9{Zy-MQvm5Abv}MxsGeT1_|=$v zaTY5{CBjxDbPc=QEkrJJUpV4S;4|qDvMnX2_l{9m`b}oefmWR$uX}bi(>jd`$fTx> zQ5QYuK(CFUmxnw*gdWq*DW`rG)z)pw0*2hf{0qcxrOz)>@)5Xb8I-P516Fkg+2Jq+*S zUr4+h^~?`|v-}Zyn{Mj~y3Gi#yDJ($lDc+r>&dpW33I11x(U$FX$-~r?knm?WeMZF z|FWJjoCgP$i?dqE-Luev-VM35?667;I||sP)5XDTKB7$k)J{>BY?>yOnYKNJuJO80 zc=RW$A0MVwI1d=)vFdGuFOGZe@}WO(%rZB-&e9AVc()wwJ87ylMXJn4waWSUG(5s9 zT7;ZkIJ=;F5c}g*H@-*f)_!EQB@4D>Z@aY!1{XLe<`+x~0NRA9O)VJ>`01}0&=!Cc z8Iw;XVxP?wFnSp3mfeL^nRkRh&6?4FIEhC;X5Ir@9J~Ydy%87)?5$<}50RQi&ll_8 z$3-SceqZ^CmUqbF4ZezFetMLK*ydGP+@uK}>jIkuNxsOx7rTT%c~yHIqV+ScVi7&l zby-_zNHhQ8b^*`uDd)NXXRqq&-xNb9nr2evPwQ{1uO29#2UG9Bb+lb zvFe$z3BMgXTghDGv85DuwiG}0-h4hh4LUd1$KRiab|30ZM9=?LMkn)w==#&`jX`m) zAp^bMFV`P%vn4$|SO2Avz#kmjb!$Zd?=Y}^QB!QEiHIl6gz+3`` z*w?!Fy?e+qINyMA7m$|Rp)q|C$4uO>N#(ftG1@{$fA)D$M=x4(vrS%fd;UQ_ZN^B} zZ0FxYMYSOAbCnp$%*B8X+SqH&s*9+9%q*K%NC*dPgXO1>Xf9&z>NRp9Df}6u|+Jd*0{CA6XZ?QF^tKxuV2Fn%hO6NN(O=7h56C_5ZpY&udLa! zfVCSm^TH7{q?=;sWKED2m*$T(xO7|*`pmrSSoBWF62GdbguXzT#PXXHA1B$r=4GBJ zi~ef?ip)`VO|V1+=KOquVOTKa=Mche$QdfMOu9x+X&#Xjo9)*S{q1Gz`AD>aEri)la!boXHET?Ky&=BQZdYpeG16Vb#*e144>A}D~zN{o?5aND# zk#`vKJsi?|T|y`n2kUJc^gdfuPQa0hu-bV>XKB=@@Z1ZZr5k==>?T!$9$i`Ve8>e% zntDb#V33kj4{4?gHIrF?IfRL{mwIRTZ09i-rGM0wOsb0GDNBGB(vlBbh&e&)>2)2; z5l}@FrQ{*@?u|67*%@26D|>{v(f&2A?|-*e!F*;U`OmHV+`3;pg0x+fgMwD6&>xgv zMdrSg-6bk;#igwoi6K+`9DTg=iDpu~82rk>OW9)^!Mx%p*CA$6Fy{$P0t&hb{s`v0 znMADEFkx+TQR{TZs!XXz-q){AE||K+Yz^k#|ZeVBbxKvk)&{v}pTUWP);I zXpXDkPuYy_kK&FE1qb-WSf6Dyf{ZMAnXF62YF$sa2fjXb3C=6&8c8$r+G3&?q`Nws zcXcW7bFOltcPw4Atp9SG%$BUFyG?lD7t;ljAGa3HNCS8bWZGA>dT`$PZsZpurFbw= zkO2_>F~s=+Xc}1Kj0VLJWsvc}%fVG8XqueYLHlO$WI0wsZ|7L1X+hAeUa)~Sr`-Fr znYQF;z%J_hm4`n91V^}%x|@|))ER!G_mpHWgPINA4u3|IZ2vR1W9hZle`#@uQ00}% zmM`GC=KB?1GJj}*W8?pQUWJeG!@=0tZ^8{1R1f{MWX_{?t6m|6-)rrE>1M2W@p=oy zDM|$hXDhL*V4YB7%CWTs6+lEy0H*e!fTWr9()(!hqMx^^Z52@Q?gM9|Pi`|x-x}v| z@7V^2_uRutqJ;xwqruJK&~bP4jwgeG(22{c;dR_H=tgKC&2KJ&p?nz zY??n*@HW7QJ#>Z5!=tu!zfWWH_{w115^xbuHc4~dc2LJe5b>LAUdeB#Vmfq8k9XHT z5I3MJ>obH5=@BIZv?e?D{eSnIrBWQ@e?S^HouA$fZ(o0aYb~3a91xp}*W0%joV(Bb zonWWg=^LgaQiw;i4{2z&#}53YozUaDYgnPkf#8a{uo>;1kG%BfF~Fg=wfb*}BL!*E z-w^0!i*OZz^8QixGD_V?cDkl))tn+95ThaKM?A|4aGf zSgB!>0&>=^4CY@^qfIB=1lTn-6Wf=}q+lzVRh&~c&j>gdS5C)iLG=$lCA7?=aDDou zi&oglfJ|dk<|BT3lO^S86o}(S0W2 zJI2sjK&XOm@Qdj=reM)7Dv{}^4*uN?x=gF{c7{KtjF@& zB9zTNl_31;EN^?+XEBc>?pjI8wsu525Q31siBR`ynzWTf8=50;( zop);OHW`jq=KO`*mAT&^CJ)Q+gd|E-e?KUz2vWRO>{9hs()KO z=-GXgTX4@TTe;jmY=cT8*Acg);fZ7weTZPf`>2~4A+Ds#2+GZ)mjBf`#-7iviyPg} zk#Mo<5g32kL}7S)Oijn8ip(0;JWGt)VL9NoNk7Q!0%j$|s5Ts!#$_9EBRrA9#t3@M zHaQ-n$LQ!UaRxbTrr%IQP9^<0zTN$G%OH%Q@L-CXHy`bjMyC0%hb^rU3N{8S@q!17 zlnX+dJIBGSlwm8E@lU?7%V>Uw(6H?Si+ z0!ruh4O2Tgn_K=Wqz|+igTb36&$$8zXQ{7r2i1KuFz41%ScqGPk*1#e?f*&JvASgO zqg~AW{O@H{^X7U~O}qfA7&-;{FgUYCH9F(B0GqnTul3rN)!->VBboU_VjR?aeeV$Z z3|-<<;}}EA^14Khg#~!eqKJQY9$8Wr2Fbx<#9uCWC3Ln*LbaRvwCps-1Z%am`jRNQ zbb!bNJ)fHHQJ$5GrFDF$T`jt4r%rISPzqG&3bISvf;JHWEM5ke zFd2k?fzn$^J@Ek21Os&V%9?9^7{A(9S1DP1+dT4id{aaDCuk?*Hi0}|lszAM3qj9^ zDhM(iuiPcWhVs|pbi;H#8M+(Kzs)(<2L1#K{cX7r`lgieb*QPflKq}^`h!qc`94kf zQi>4(AE9n0p>HOnZ^29bC7U&_a=rt3J1SE=>Rfl&+^TD9+>RbX{`EKuXzw4^>h+R8BF|;g{xNC-D zjZ8GuC)2brJ}mF|UK+T#Mvvl-=YUs!PpD6J)lS(m*E3SNI7N4vux z6mj3XQMK0wY0FAXh~BnhZ_^BC1yf@hXVDLDUbGJ^ch!znnpx)zsJom*n$Qbu2aAtjW%Q~Ke-1q`^in&jzVy=8llr( z$Cj{y>Z@ZLn^B5v!k&!IY3J%qzn?Qc3RW_V85lmCVC} zC3!^t1E?@CxDj;X+zZL~Us;Gh3zUf^;crVkySa7!9Y+hjPbz5UCtzP`^3U*=l$(3^ z+J#D&syArt+8Jxo;RY)GRA99kcOAW zAZ94OCa2ogQ(UiB|1t=n!WX**mJ)m!l7`?aV-^}sHjDv-e>he@5m^Xoa8S?h2KsP_ zMz&TkBW6Vs>z+>TTB~%E;MpPZ(Jqyl|JpPSaS1F$qYVJjs0Rf#B|e(IU$dw{vfU3K zW*5r-kO`*a0(MGewx|W-61-gtIk5gBRd+B_;e+FDO0VEKhGY)zoomQ4=S_pxC>FzvyTyILmnr#gM~j1$j3TmYwj3f5012RDg~d-OZ=M)Il z_xnHx1!PJ&ECc@ueRWL%p94Yn3mT67p0WavI0URn6< zS@gm12wOs)^T-zTXN}$?*iB@NUbv9e-++uvLgf5hIqjDMR0~+i)35_Tl2Q2owQy~& bK39!OrMb!8@#~ztMyAl!GSDnTJVX5tj%%yV literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable-hdpi/ic_launcher_round.png b/opensrp-chw/src/nacp/res/drawable-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..9479e7013800eda98f534053618a178176389588 GIT binary patch literal 6338 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⪙VJDQNI-zkma}SWRxFsO$u?irfi*j{NOcivTUyRSYUq zI5Vec*>U3ND|RhgwqezLm9IQ-#N>8iL1`?{VOwo0cUhS3?COC_xFwqkzTc4#VvIS? zsH92v??CU8oh;^%aujR*;1zVOcMG?|PdBf@?_Ptn8c7P78i1Z;18O=xdi*>}eLhhJ&-RCgsf2D~I5y z7R?5?Ld!-^-zUc#D~I5COxBWmRO3fow`twHGh;wg)@o*Bwv;5<2Kj~)m@1pJ4GK@{ zAtzced7w=Ly|a>_bxI6O#uzh0TMi$fYIL=g0*{{@Dq$+>i^-#wGZ%xfYCT-GL@O@@7l-AOg zrKNpvLNutk<=hZXg?h%%;Nbcb*uV4EK;~ZN;*Zho*C1A)Acs}+GDb9?d-I^)u=L_lw2a2|jA228kp6FMbDL&KmI;IMKr zs1Ouo$x5H9aGEV!0DhSJ)HbwC`u!|)@$)eUr$Rj))iY@fh(CB|2wk&Pmo66We06aV zQj5rL`TP`n0%N$n-(WN&!{pENuw@Ba(cL@nFI>XMVbIn=nt+Mn>*)zB=Cq0ofq!9a z8jj`3(6gsu5W4TcBL`r>zFqJ}Vzd#Q2B;=?49rJrQE$n^2heN%>dMth2M1MyaLU!w zCW8FCfiz8RL_K-ScbI+k6~!W{;JvrrvtJ)@w{m;`8gBAn&?ape8wy1h?!-tdy8^w? zEvN9onp4sv_!QOka>!~>kZYk^Iih+R<0{u=^>R?t@@@d90|w=Qqle&VEpUo4i~lTQ z1E?!=9Ucy;$5l&^R6h;BD{SlBlc}fH*kgM8o~fvTaLTwjA_ReeH0C;iRF#jwPyWD@ z#}@4sTyf$k48ovIV04fuCjE5135cFvu6> zLE7buwYpW|t()*oY$P~QQ1&oUj=L+1Jr1s8K-#a*Lb^t)?%nO5WuNOyR&CqT_@kw8 z;p}V?0g2$h`(V;0RpZYK@Kd#9>OdFgd;BmA*i#Jd#Y6K|`bC+pH4#FyQw;;UuV6-)88_;6Wve8PYJ;Be> zYTY4%Oa0oTrO?$NAe&K6IUN-vhMchyiMp_Bvp6tUcl)%9h+5XxJ>Kar_FsILsYmzS z2a~Fts_+Sz(-dMrwnR;oBOTR}X_*~+#?22qF$PZFngy+?jHm+VXAaJ^iI@;h0@aVh z?%8%|`)|4?gd?h(?`ypEmJI)GBK&f|F!8D-TBaWUyAM?w>_N+*TU5UpWluRgIW7_L+X{wP+~!0YpG%iFbD^h9)w;YLC~0bJ7(b+yOj#z zh(CDOm9D|6SuvjIn7Zbndyr5e>t9I?^e?Dko_jcC-Vz23Eq^K5zqm>3O z)mq*|_J(Gwe4y)w)$n1|M))*73I-;}!jSYN7@d<2L-F`!{3hrfwhp=mtpw+#^Fd9s zE1Evc=6lFht8&BDO3Q5O1W*nee8#?go6qT-tr|CWc#&`_A$9CXpTf(y61*vzIw41b z7cL{$@?TQUcCSB0v&(o33O_6N){ldALp{sjxVu)c3>hI&2_gID%dJ*6Hr?2{zF_54 zjY%zA(zl5lqrD>e?>F>Rms{nP)~n3t>?H4MVlVm*mZ2zS2S)^x)d*#f#K9c zo3ynGi&u@>;b}rmG{cZlU6HZM|PW9PJVP(}x_|9AZk&GM~E1T|m zMNS)&Fp1MCh;5i$78FMYxTuOP-)IqaFwS)RSv;sc5-ID9W)TFUW>`y;;(?m#46Sx+kxgmdu@0Dj7S6 zf56R}6}p_FnxfH;tycw(jy*&@-X0+y__>edham~FpGNGIPa5-!a`N~~a<>ULl+z~O zQBIj~NAdHx8%oz7FDb^2{6#)u=uY|IK?%~&`};`W?lwZGRQBN2(w4ary$4rt{)7IL zCBu|}+L)AJa2$<(x~l8M)&D4uH91auMD{V2Zgue_iE6CHvj+t07*qoM6N<$ Ef=;{sP5=M^ literal 0 HcmV?d00001 diff --git a/opensrp-chw/src/nacp/res/drawable-hdpi/ic_logo_ba.png b/opensrp-chw/src/nacp/res/drawable-hdpi/ic_logo_ba.png new file mode 100644 index 0000000000000000000000000000000000000000..c075e49c194be8eda864b7b9a4429dfc225e34d7 GIT binary patch literal 736484 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%0D=NHg~6Xd)b50 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

    00*jC{wS&M|a&_YXD*2J7;4u<|eNv&R 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

    00*jC{wS&M|a&_YXD*2J7;4u<|eNv&R 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

    00*jC{wS&M|a&_YXD*2J7;4u<|eNv&R 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